存储环境参数

存储环境参数

考虑这个例子:

\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}

如果你需要在最后做这件事,你可能会找到解决方案这个问题有用。

相关内容