
Me gustaría copiar el contenido de un entorno para poder usarlo en otro lugar. Mi objetivo principal es imprimirlo dentro de una nota de información sobre herramientas.
Mi idea era utilizar el environ
paquete:
\NewEnviron{foo}
{
\xdef\bidule{\BODY}
%more stuff
}
Pero cuando lo uso \bidule
me sale un error:
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.
Si lo entiendo correctamente, no puedo usarlo \def
porque \BODY
no se definirá cuándo lo usaré \foo
. ¿Hay alguna manera de lograr mi objetivo?
Respuesta1
No deseas hacer una expansión completa de \BODY
, sino solo un nivel:
\expandafter\gdef\expandafter\bidule\expandafter{\BODY}
o
\xdef\bidule{\unexpanded\expandafter{\BODY}}