Вероятно, самый простой способ - это использовать e-TeX и \ scantokens
\newcommand*\mycommand[1]{%
\begingroup
\everyeof{\noexpand}%
\endlinechar=-1\relax
\catcode`\[=1\relax
\catcode`\]=2\relax
\edef\temp{\scantokens{#1}}%
\expandafter\endgroup
\expandafter\def\expandafter\temp\expandafter{\temp}%
}
Это будет определять \ temp с материалом в # 1, но с каждой парой "[" ... "]", превращенной в группу скоб TeX ("{" ... "}"). Затем вы можете использовать \ temp, чтобы делать все, что вы хотите. Как я уже сказал, для этого требуется e-TeX, который доступен во всех современных системах TeX.