复制环境的内容

复制环境的内容

我想复制环境的内容,以便在其他地方使用。我的主要目的是将其打印在工具提示注释中。

我的想法是使用这个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}}

相关内容