考虑这个例子:
\documentclass{article}
\newcommand{\baz}{}
\newenvironment{foo}[1]{#1}{\makeatletter\g@addto@macro\baz{#1}\makeatother}
\begin{document}
\begin{foo}{bar}
\end{foo}
\end{document}
该示例不起作用。我的目标是连接所有与 一起使用的参数foo
,以便我可以将它们输出到文档末尾。正确的方法是什么?
答案1
将参数存储在环境的开始时而不是结束时会更容易。
\documentclass{article}
\newcommand{\baz}{}
\makeatletter
\newenvironment{foo}[1]{\g@addto@macro\baz{#1}}{}
\makeatother
\begin{document}
\begin{foo}{kidney}
\end{foo}
\begin{foo}{spleen}
\end{foo}
\begin{foo}{liver}
\end{foo}
\baz
\end{document}
如果你需要在最后做这件事,你可能会找到解决方案这个问题有用。