有没有办法在 xdef 中使用 \texttt{} 和引用?例如,我有以下环境:
\NewEnviron{named-environment}{
\xdef\bodycontent{\BODY}
}
我想以这种方式使用:
\begin{named-environment}
This is the \texttt{message}
\end{named-environment}
稍后,我想在概览表中使用 \bodycontent。
看起来括号无法被正确识别。
答案1
您可以展开一次\BODY
:
\NewEnviron{named-environment}{%
\xdef\bodycontent{\unexpanded\expandafter{\BODY}}%
}
或者
\NewEnviron{named-environment}{%
\toks0=\expandafter{\BODY}%
\xdef\bodycontent{\the\toks0 }%
}
不要忘记保护行尾。