对齐与方程

对齐与方程

align在文档中总是使用 ,并避免使用equation。这样做有什么问题吗?我这样做的理由是:对齐 > 方程式,那么为什么不使用它呢?

答案1

虽然从原则上来说这并不是一个坏主意,但不幸的是,在实践中,这是一个坏主意,因为它不具备与在段落末尾结束的段落后显示小方程时添加较少垂直空间的align功能。例如,考虑equation

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\begin{document}
hello
\[
a+b=c
\]

hello
\begin{align}
a+b&=c
\end{align}
\end{document}

您应该能够轻松地看到第二个“hello”后面的额外空格。

答案2

equation“挤压”数学运算(即在符号之间使用更少的空白)以避免出现坏箱,但align事实并非如此。

\documentclass[11pt,draft]{article}
\usepackage{amsmath}
\begin{document}
 Using ``equation'':
 \begin{equation*}
  1+2+3+4+5+6+7+8+9+10
  = 11+12+13+14+15+16+17+18+19+20+21
 \end{equation*}

 Using ``align'':
 \begin{align*}
  1+2+3+4+5+6+7+8+9+10
  = 11+12+13+14+15+16+17+18+19+20+21\\
 \end{align*}
\end{document}

在此处输入图片描述

答案3

我对 Will Robertson 表示应有的敬意,实际上我认为从原则上来说这不是一个好主意,因为它们的含义不同,并且标记(无论是 *TeX、HTML 还是……)都应该尽可能合乎逻辑。

如果您正在排版方程式,则使用equation,如果您希望对齐,则可以使用aligned方程式内的块。

通过思考如何引用方程式,您可以轻松决定是否要排版方程式。如果您只希望显示一个方程式编号,并发现自己手动隐藏了任何其他方程式编号(例如使用\notag),那么您就是在排版方程式,您的标记应该反映这一点。

答案4

如果你同时使用amsmathamsthm,你用一行方程结束证明,并想将 qed 框移动到包含方程的行上,align则会很乐意将框套印在数学末尾。 equation表现如此。也是如此\[ ... \]

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\begin{document}
\begin{proof}
one-line display with \verb+align*+
\begin{align*}
 a + b = c \qedhere
\end{align*}
\end{proof}
\begin{proof}
one-line display with \verb+equation*+
\begin{equation*}
 a + b = c \qedhere
\end{equation*}
\end{proof}
\begin{proof}
one-line display with \verb+\[+ \dots\verb+\]+
\[
 a + b = c \qedhere
\]
\end{proof}
\end{document}

在此处输入图片描述

编辑: 这应该在答案的原始表述中说明,但却被忽略了。

这种用法的真正问题alignalign期望和需要奇数个&s 才能正常工作。

简而言之, 的目的align是设置相邻的方程,使得每个方程中的指定点(标记为&)位于多行显示的所有行中的相同水平位置。由于每行可能出现多个分量方程,这些分量依次由 分隔&,因此要求它们的数量为奇数。此外,align不应用于单行显示;这就是equation(或\[ ... \]无编号的种类)的用途。amsmath有关详细信息,请参阅用户指南(texdoc amsldoc)。

相关内容