align 和 alignat 环境之间有什么区别?
答案1
我们发现的第一个区别是在调用两个环境的语法上:
\begin{align}
不想再争论了,而
\begin{alignat}{<number>}
需要它。两种环境都基于对 rl
列;align
将根据环境的内容创建所需数量,同时alignat
要求您提前指定所需的对数。
然而,这两个环境的区别远不止上面描述的那么简单。align
环境将在列对之间添加水平空间
<r col><l col> <space> <r col><l col> <space> <...>
whilealignat
将插入不水平空间。例如,请参阅对齐环境:左侧对齐,其中对齐类型
<l col><l col>
是所需的,这是通过使用空的右对齐列获得的:
\begin{alignat}{2}
&ABC &&= ABC - AB\\
&ABCD &&= ABC - ABCDEFG
\end{alignat}
两种环境{}
在左对齐列的单元格开头都有一个隐式项,以帮助在单元格以关系或操作符号开始时获得良好的间距。
的其他用途alignat
是当我们希望更精细地控制(成对)列之间的水平间距时。这种间距应明确指定,例如
\begin{alignat*}{3}
& m \quad && \text{módulo} \quad && m>0\\
& a \quad && \text{multiplicador} \quad && 0<a<m\\
& c \quad && \text{constante aditiva} \quad && 0\leq c<m\\
& x_0 \quad && \text{valor inicial} \quad && 0\leq x_0 <m
\end{alignat*}
(看使用 alignat 将方程式与文本对齐)。 无法使用 来实现这样的控制align
,因为它会在所有列对之间添加相同的水平空间。
两种环境均具有*
形式并接受\tag
或\notag
在任何行中。
还有遵循相同规则的“内部”版本aligned
和alignedat
,用于数学模式(内联公式、显示公式、数学对齐)。