我想对一些标准 AMS 环境进行小幅修改,并将其实现为新环境。问题是并非所有环境都允许此过程。比如说,即使是简单的复制
\newenvironment{myEnv}{\begin{gather}}{\end{gather}}
不起作用。TeX 系统会产生类似以下错误
! LaTeX Error: \begin{gather} on input line 126 ended by \end{myEnv}.
但是,替换上面的gather
->equation
或其他一些(好的)环境就可以了。我在 MiKTeX 2.3 和 2.9 中遇到了这个问题。这是一个错误还是一个功能?理想情况下,我想构建类似
\newenvironment{myGather}{\begin{gather} ... my tuning ...}{\end{gather}}
内部调查对amsmath.sty
我没有帮助。谁能?gather
在这种情况下我应该修复内置环境吗?
答案1
在 LaTeX 中,\begin{foo}
和\end{foo}
实际上调用命令\foo
和,因此如果该方法不起作用,\endfoo
您可以尝试直接修改它们。\newenviornment
对于特定的环境情况gather
,我相信它改变了某些字符的处理方式,我认为这是导致问题的原因。可以通过以下方法阻止\gather
执行来解决:\expandafter
\def\mygather{
\expandafter\gather
some tuning
}
\def\endmygather{\endgather}
% Or, basically equivalently:
\newenvironment{mygather}{
\expandafter\gather
some tuning
}{\endgather}
如果不知道您想要进行哪些调整,我无法真正告诉您这是否能解决您的问题。