I have a list like
l = {2 - 3, 12 - 4, Times, aab}
I want to end up with
{"2-3", "12-4", "Times", "aab"}
I have tried
lh = Map[ToString, HoldForm[l], {2}]
Which gives the promising result
{ToString[2-3],ToString[12-4],ToString[Times],ToString[aab]}
However when I add ReleaseHold
the numerical values get evaluated (then converted to strings).
ReleaseHold@lh
{"-1", "8", "Times", "aab"}
How can I achieve the fully unevaluated string form?
This question may be a duplicate. If so, I apologise.