跳到主要內容

LaTeX 方程式對齊:align、gather、cases

單一個編號公式用 equation 環境,多行在 & 處對齊則用 align。在環境裡放 \label{eq:name},正文中的 \eqref{eq:name} 就會印出帶括號的編號。

編號方程式

equation 環境會把一個公式單獨排成一行,並在右側加上編號。在環境裡加上 \label,再用 \eqref(帶括號的編號)或 \ref(只有編號)參照它。

一個編號方程式和對它的參照

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
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.
由 Scissor LaTeX 排版: 一個編號方程式和對它的參照

equation* 和 \[ ... \] 會產生相同的版面,但沒有編號。帶星號的環境來自 amsmath 套件;每份含有數學式的文件都應該載入它。

對齊多行

align 會讓多行在 & 符號處對齊,通常放在 = 前面。除了最後一行之外,每一行都以 \\ 結尾。

在等號處對齊的多行

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\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 區塊:每一行一個編號

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\begin{align}
  f(x) &= (x+1)^2 \label{eq:square} \\
       &= x^2 + 2x + 1
\end{align}
By \eqref{eq:square}, $f(1) = 4$.

每個編號行用一個 equation 環境

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\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* 置中的多行

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\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 會把一個很長的公式拆成多個對齊的行,並共用一個編號。

拆成兩行的長方程式

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\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 環境會在多行前面加上一個大括號。用 & 分隔值和條件。

分段定義的函數

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\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

LaTeX導言區: \usepackage{amsmath}在編輯器中開啟 (在新分頁中開啟)
\[
  \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