複製環境的內容

複製環境的內容

我想複製環境的內容,以便我可以在其他地方使用它。我的主要目的是將其列印在工具提示註釋中。

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

相關內容