如何将环境的内容(在 LaTeX2e 中用 \newenvironment 声明)作为参数传递给该环境?

如何将环境的内容(在 LaTeX2e 中用 \newenvironment 声明)作为参数传递给该环境?

我知道有一个选项expl3,但是如何在 LaTeX2e(或 TeX)中执行相同操作?

\newenvironment*{myEnv}[1][]{}{}
\begin{myEnv}
  I first need to pass this to this environment as an argument.
\end{myEnv}

答案1

如今,“收尸”这个概念在xparse

\documentclass{article}
\usepackage{xparse}
\begin{document}
\NewDocumentEnvironment{myEnv}{O{}+b}{The argument was '#2'}{}
\begin{myEnv}
  I first need to pass this to this environment as an argument.
\end{myEnv}
\end{document}

#2是第二个参数(主体)。

正如指出的那样在评论中,这个长期存在的environ包做同样的事情,但提供的结果如下\BODY

相关内容