LaTeX 多行公式对齐的写法
amsmath 宏包提供的 align、align* 和 aligned 这几个对齐环境,会把一组公式逐行排列,并在你选定的位置上下对齐(几乎总是等号)。对齐点用 & 符号标记,每行末尾用 \\ 结束。
LaTeX 命令
\begin{aligned} a &= b \\ &= c \end{aligned}不是你要找的符号?画出来查命令 →
把对齐标记 & 放在你想对齐的符号前面,通常就是 =。从第 2 行开始,每行一般以 &= 开头,这样所有等号排成一列,只有右边在变化。这是展示多步推导或证明的标准写法,不用在每一行重复写左边。
align 和 align* 是 amsmath 中完整的行间公式环境,在正式文档里单独使用;它们默认给每一行自动编号,除非改用 align* 或加上 \nonumber。aligned 是更适合嵌入使用的“近亲”:它从不编号,可以放进单个行间公式、cases 或 equation 环境里,所以把公式嵌进其他内容时,它是更稳妥的默认选择。
除最后一行外,每一行末尾都要有换行符(\\)。多出一个后面什么都没有的 \\,或者其他行都有 & 而某一行漏了,都会让整块公式对不齐。如果某一行确实没有合适的对齐点,那一行不写 & 就行。
其他写法
\begin{align}...\end{align}带编号,行间公式\begin{align*}...\end{align*}不带编号示例
$$\begin{aligned} (a+b)^2 &= a^2 + 2ab + b^2 \\ &= a^2 + b^2 + 2ab \end{aligned}$$按 = 对齐的逐步展开
$$\begin{aligned} f(x) &= x^2 - 4x + 4 \\ &= (x-2)^2 \end{aligned}$$逐步写出因式分解过程
$$\begin{aligned} x + y &= 5 \\ x - y &= 1 \end{aligned}$$按 = 对齐的简单方程组
$$\begin{aligned} P &\implies Q \\ Q &\implies R \end{aligned}$$对齐一串蕴含关系
使用技巧与常见错误
- & 要紧挨着放在你想竖向对齐的符号前面,而不是后面:写 &=,不要写 = &。
- align 默认给每一行编号;想去掉编号,就用 align*(或在某一行加上
\nonumber)。 - 如果要放在其他环境里,比如网页上只有一个公式框,或者放在 cases 里面,就用 aligned 而不是 align,因为 aligned 不会自己另起一个行间公式。
- 除最后一行外,每行都以 \\ 结尾;最后一行后面不要再加 \\,否则可能出现间距异常或 missing argument(缺少参数)报错。
- 每一行的 & 要放在相同的相对位置;只要有一行漏了 & 或放错位置,整块公式的列就会错开。
手上是手写笔记?
LatexNotes 能把手写数学的照片或 PDF 转换成干净、可编译的 LaTeX,连手绘图形也一并转换。免费试用,无需注册。
把你的数学笔记转成 LaTeX →常见问题
align 和 aligned 有什么区别?
align 是独立的行间公式环境,会自己开启一组带编号的公式;aligned 是子环境,要放在别的行间公式里使用,比如单个公式块、cases 或 equation,它本身从不给各行编号。
怎么让 align 不给每一行编号?
改用带星号的 align*;或者继续用 align,在不想编号的那一行末尾、紧挨着 \\ 之前加上 \nonumber。
为什么我的公式没有对齐?
检查每一行的 & 是否都在相同的相对位置,比如一律紧挨在 = 前面;只要有一行漏了 & 或位置偏了,整块公式的列就会对不齐。
可以按等号以外的符号对齐吗?
可以。& 可以放在任何符号前面:不等号、\implies 这样的箭头,甚至是 \text{} 里的文字,只要是你希望读者视线往下追踪的位置都行。