LaTeX 公式对齐:align、gather、cases
单个带编号的公式用 equation 环境,在 & 处对齐的多行公式用 align。在其中写 \label{eq:name},正文中的 \eqref{eq:name} 就会输出带括号的编号。
带编号的公式
equation 环境把一个公式单独排成一行,并在右侧加上编号。在其中加上 \label,再用 \eqref(带括号的编号)或 \ref(只有编号)引用它。
带编号的公式及其引用
The energy of a body at rest is
\begin{equation}
E = mc^2 . \label{eq:energy}
\end{equation}
Equation~\eqref{eq:energy} links mass and energy;
\ref{eq:energy} is its number.equation* 和 \[ ... \] 给出同样的版式,但没有编号。带星号的环境来自 amsmath 宏包;在每个含有数学内容的文档中都请加载它。
对齐多行
align 把多行在 & 处对齐,& 通常放在 = 之前。除最后一行外,每行都以 \\ 结尾。
在等号处对齐的多行
\begin{align*}
(a+b)^2 &= (a+b)(a+b) \\
&= a^2 + ab + ba + b^2 \\
&= a^2 + 2ab + b^2
\end{align*}这里的编号规则
Scissor LaTeX 对公式的编号与 TeX 发行版相同:align 或 gather 的每一行都有自己的编号。
| 你写的 | TeX 发行版 | Scissor LaTeX |
|---|---|---|
equation | 一个编号 | 一个编号 |
三行的 align、gather | 三个编号 | 三个编号 |
部分行上有 \nonumber 或 \notag | 这些行不编号 | 这些行不编号 |
每行都有 \nonumber | 没有编号 | 没有编号 |
align*, gather*, equation* | 没有编号 | 没有编号 |
一个块中有两个 \label | 两个标签 | 两个标签 |
\tag{A} | 用标记“A”代替编号 | 用标记“A”代替编号 |
\numberwithin{equation}{section} | (1.1), (1.2) | (1.1), (1.2) |
align 公式块:每行一个编号
\begin{align}
f(x) &= (x+1)^2 \label{eq:square} \\
&= x^2 + 2x + 1
\end{align}
By \eqref{eq:square}, $f(1) = 4$.每个带编号的行使用一个 equation 环境
\begin{equation}
a + b = 44 \label{eq:sum}
\end{equation}
\begin{equation}
a - b = 2 \label{eq:diff}
\end{equation}
Adding \eqref{eq:sum} and \eqref{eq:diff} gives $a = 23$.gather:居中的多行
gather 把多行居中排列,但不对齐。
用 gather* 居中多行
\begin{gather*}
a^2 + b^2 = c^2 \\
e^{i\pi} + 1 = 0 \\
\sin^2 x + \cos^2 x = 1
\end{gather*}split:把一个长公式分成多行
在 equation 中,split 把一个长公式拆成若干对齐的行,这些行共用一个编号。
拆成两行的长公式
\begin{equation}
\begin{split}
(x+y)^3 &= (x+y)(x+y)^2 \\
&= x^3 + 3x^2y + 3xy^2 + y^3
\end{split}
\end{equation}multline 也能拆分长公式而不对齐:它的第一行排在左边,最后一行排在右边。
cases:分情况定义
cases 环境在多行前面加上一个大花括号。值和条件之间用 & 分隔。
分情况定义的函数
\begin{equation*}
\operatorname{sign}(x) =
\begin{cases}
-1 & \text{if } x < 0, \\
0 & \text{if } x = 0, \\
1 & \text{if } x > 0.
\end{cases}
\end{equation*}在其他数学环境中使用 aligned 和 gathered
aligned 和 gathered 的作用和 align*、gather* 一样,但用在公式内部,例如在 \[ ... \] 中或花括号旁边。
行间公式中的 aligned
\[
\left.
\begin{aligned}
x + y &= 44 \\
x - y &= 4
\end{aligned}
\right\}
\quad \Rightarrow \quad x = 24,\ y = 20
\]其他环境
| 环境 | 在 Scissor LaTeX 中 |
|---|---|
equation, equation* | 可用 |
align, align* | 可用,每行一个编号 |
gather, gather* | 可用,每行一个编号 |
multline, multline* | 可用 |
split(在 equation 内) | 可用 |
cases, aligned, gathered | 可用 |
alignat, flalign | 可用 |
eqnarray | 可用 |
一行 align 中有多组 & 列对 | 可用 |
\intertext{...} | 可用 |
与 TeX 发行版的区别
关于这个宏包的更多内容,请参阅 amsmath 页面和 mathtools 页面。宏包的完整手册位于 ctan.org/pkg/amsmath。
要快速试写单个公式并实时预览,请使用 LaTeX 公式编辑器。
常见问题
如何让公式在等号处对齐?
使用 \begin{align*} ... \end{align*},并在每个 = 之前紧接着放一个 &。除最后一行外,每行都以 \\ 结尾。
如何去掉某个公式的编号?
不带编号的公式请使用 equation*、align* 或 \[ ... \]。要去掉 align 中某一行的编号,请在该行的 \\ 之前写 \nonumber(或 \notag)。
如何为 align 的每一行编号?
align 会为每一行单独编号;在想引用的每一行上加 \label。
本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07