我想复制环境的内容,以便在其他地方使用。我的主要目的是将其打印在工具提示注释中。
我的想法是使用这个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}}