Копировать содержимое среды

Копировать содержимое среды

Я хотел бы скопировать содержимое среды, чтобы использовать его где-то еще. Моя главная цель — напечатать его внутри подсказки.

Моя идея заключалась в использовании 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}}

Связанный контент