Den Inhalt einer Umgebung kopieren

Den Inhalt einer Umgebung kopieren

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, \biduleerhalte 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, \defda \BODYnicht 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}}

verwandte Informationen