![复制环境的内容](https://linux22.com/image/390876/%E5%A4%8D%E5%88%B6%E7%8E%AF%E5%A2%83%E7%9A%84%E5%86%85%E5%AE%B9.png)
我想复制环境的内容,以便在其他地方使用。我的主要目的是将其打印在工具提示注释中。
我的想法是使用这个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}}