重新定义标准数学环境 \[ ... \]?

重新定义标准数学环境 \[ ... \]?

是否可以重新定义\[ ... \]为等同于\begin{align} ... \end{align}

(除了环境之外,我很少使用任何东西align,而且\[ ... \]更快,看起来更干净。)

答案1

环境align的特殊之处在于它需要结束标记\end{align}存在,而不是隐藏在宏中。环境在内部捕获环境的内容。然后它可以在设置方程之前测量宽度。因此,以下重新定义仅重新定义\[和使用\]内容来限制参数并将其传递给\begin{align}\end{align}

\def\[#1\]{%
  \begin{align}#1\end{align}%
}

\long\def当参数中可能存在空行时,需要( #1。但是,环境align不喜欢长参数,因此这里没有的定义\long更好,请参阅用户 66081 的评论

示例文件:

\documentclass{article}
\usepackage{amsmath}
\def\[#1\]{\begin{align}#1\end{align}}
\begin{document}
\[
  a &= b\\
  c &= d
\]
\end{document}

结果

相关内容