使用自定义环境时出现“\begin{align}ended by \end{eq}”错误

使用自定义环境时出现“\begin{align}ended by \end{eq}”错误

为什么此代码会出错?我怀疑这是环境的一些怪癖,有一个简单的解决方案,但我无法在线找到解决方案。可能我只是不知道要使用什么搜索词。

代码

请注意,我的真实定义eq包含更多内容;这是最小限度的复制。还请注意,用 替换align会使equation代码编译,但当然,它不允许使用&

\documentclass{article}

\usepackage{amsmath}

\newenvironment{eq}
  {\begin{align}}
  {\end{align}}

\begin{document}

\begin{eq}
x + 1 = 2
\end{eq}

\end{document}

错误

! LaTeX Error: \begin{align} on input line 11 ended by \end{eq}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.13 \end{eq}

我也尝试过使用

\documentclass{article}

\usepackage{amsmath}

\newenvironment{eq}
  {\begin{equation}\begin{aligned}}
  {\end{aligned}\end{equation}\ignorespacesafterend}

\begin{document}

Begin
\begin{eq}
x + 1 = 2
\end{eq}
End1 \\
End2

\end{document}

但我想知道为什么平原align不起作用。

答案1

尝试这样做:

\documentclass{article}

\usepackage{amsmath}

\newenvironment{eq}
  {\align}
  {\endalign}

\begin{document}

\begin{eq}
x + 1 = 2
\end{eq}

\end{document}

大多数情况下,命令或环境定义中的环境必须像我上述的方式一样进行定义。

相关内容