
Ich möchte den Inhalt einer Umgebung kopieren, damit ich ihn woanders verwenden kann. Mein Hauptzweck besteht darin, ihn in einer Tooltip-Notiz auszudrucken.
Meine Idee war, das Paket zu verwenden environ
:
\NewEnviron{foo}
{
\xdef\bidule{\BODY}
%more stuff
}
Aber wenn ich es verwende, \bidule
erhalte ich eine Fehlermeldung:
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.
Wenn ich das richtig verstehe, kann ich nicht verwenden, \def
da \BODY
nicht definiert ist, wann ich verwenden werde \foo
. Gibt es eine Möglichkeit, mein Ziel zu erreichen?
Antwort1
Sie möchten keine vollständige Erweiterung von durchführen \BODY
, sondern nur eine Ebene:
\expandafter\gdef\expandafter\bidule\expandafter{\BODY}
oder
\xdef\bidule{\unexpanded\expandafter{\BODY}}