
Я хотел бы скопировать содержимое среды, чтобы использовать его где-то еще. Моя главная цель — напечатать его внутри подсказки.
Моя идея заключалась в использовании environ
пакета:
\NewEnviron{foo}
{
\xdef\bidule{\BODY}
%more stuff
}
Но при использовании \bidule
я получаю ошибку:
Undefined control sequence ....
leading text: \end{foo}
Undefined control sequence \endgroup.
leading text: \end{foo}
Missing { inserted.
leading text: \bidule
main.tex:19: File ended while scanning text of \errhelp.
Если я правильно понимаю, я не могу использовать, \def
потому что \BODY
не будет определено, когда я буду использовать \foo
. Есть ли способ достичь моей цели?
решение1
Вам не нужно делать полное расширение \BODY
, а только один уровень:
\expandafter\gdef\expandafter\bidule\expandafter{\BODY}
или
\xdef\bidule{\unexpanded\expandafter{\BODY}}