\begin{align} A && B \end{align}
并\[\begin{aligned} A && B \end{aligned}\]
导致不同的排列。
align
似乎使用所有可用空间来分割两列,但aligned
似乎只使用了尽可能少的空间。
造成这种差异的原因是什么?是否可以告知aligned
要利用整个空间?
梅威瑟:
\documentclass{article}
\usepackage{amsmath}
\usepackage[paperwidth=10cm,paperheight=5cm,margin=1cm,showframe]{geometry}
\pagestyle{empty}
\begin{document}
\begin{align*}
Ax = b, && x = A^{-1}b
\end{align*}
\[
\begin{aligned}
Ax = b, && x = A^{-1}b
\end{aligned}
\]
\end{document}
答案1
align
是一种显示结构,它总是占据文本块的整个宽度并显示完整的方程。aligned
将垂直对齐的子项设置为其自然宽度,以参与更大的方程,通常与其左侧或右侧的其他项一起,因此与大多数框结构一样,内容设置为其自然宽度。
答案2
我认为如果我们添加三列会更清楚align
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{showframe}
\begin{document}
\begin{align*}
Ax &= b, & x &= A^{-1}b
\end{align*}
\begin{align*}
Ax &= b, & x &= A^{-1}b & y &= Cz
\end{align*}
\[
\begin{aligned}
Ax &= b, & x &= A^{-1}b
\end{aligned}
\]
\end{document}
如您所见,空白空间在列和边距之间均匀分布:align
测量列宽,将其相加并设置列之间的空间。公式编号将设置在右侧或左侧边距的空间中;如果您尝试
\begin{align}
Ax &= b, & x &= A^{-1}b & y &= Cz
\end{align}
\begin{align*}
Ax &= b, & x &= A^{-1}b & y &= Cz
\end{align*}
您将看到列彼此对齐。但是,有一个参数表示align
,如果与最右侧(或最左侧列)的距离leqno
小于此值,则列将移动并且间距将减小。
该aligned
环境是一个辅助环境,可用于任何显示(或内联)数学环境。因此,它没有要设置的线宽概念。它的列不参与外部环境的对齐;如果的内容aligned
太大,TeX 无法缩小它,因为aligned
会生成一个框,然后将其插入到请求的位置。
顺便说一下, 中的标准列间距aligned
是\minalignsep
(也是 使用的参数align
),其默认值为 10pt。