LaTeX 公式如何換行?split、aligned、align 與 multline 的選擇

部落格EasyLaTeX發布日期

LaTeX 公式換行需要支援多行的數學環境。載入 amsmath 後,一條公式分行並共用一個編號,用 equation 搭配 split;多條公式分別編號,用 align;長公式不需要對齊點,用 multline。在一般 equation 裡加上 \\,無法得到預期的多行排版。

這些寫法適用於本機 TeX Live、MiKTeX 和 EasyLaTeX。範例使用 article 文件類別與 pdfLaTeX,原始碼中的文字採英文,不需要中文字型設定。既有中文論文或期刊範本應保留原文件類別及編譯引擎,只移入需要的公式片段。

可編譯的完整範例

儲存為 main.tex。範例將平方誤差項與兩個正則化項分成兩行,整個目標函數只編號一次。

LaTeX
\documentclass[a4paper,11pt]{article}\usepackage{amsmath}\begin{document}\begin{equation}\begin{split}J(w) &= \frac{1}{n}\sum_{i=1}^{n}(w x_i-y_i)^2 \\     &\quad + \lambda w^2 + \mu(w-w_0)^2.\end{split}\label{eq:objective}\end{equation}See Equation~\eqref{eq:objective}.\end{document}

其中 n 為正整數,w、w_0、x_i、y_i 為實數,\lambda 與 \mu 為非負參數。第二行接續加法。& 標記對齊位置,\\ 分隔行;原始碼中的一般換行不會讓 PDF 裡的公式換行。

依對齊與編號需求選擇環境

排版選擇示意圖:先決定編號數量,再選擇是否對齊。橫線代表公式內容。

需求寫法編號與位置
一條長公式,在指定位置對齊equation + split由外層提供一個編號
放進較大數學式的對齊區塊aligned在數學模式中使用,外層控制編號
多條式子或步驟分別編號align預設每行編號;獨立使用
長公式無共同對齊點multline整體一個編號;獨立使用
所有行都不編號align*、multline* 或 \[...\] 裡的 aligned依對齊需求選擇

此處的 split 每行使用一個 &。aligned 能建立多組對齊欄,也能搭配外層括號;split 適合占據整個展示公式的一條分行式。兩者都不會自動選擇換行點。

split 與 aligned:共用一個編號

完整範例使用 split。同一目標函數改用 aligned 的方式如下。後續片段都放在既有文件的本文中。

LaTeX
\begin{equation}\begin{aligned}J(w) &= \frac{1}{n}\sum_{i=1}^{n}(w x_i-y_i)^2 \\     &\quad + \lambda w^2 + \mu(w-w_0)^2.\end{aligned}\label{eq:aligned}\end{equation}

aligned 本身不編號;放在 equation 中有一個編號,放在 \[...\] 中則沒有。請透過外層環境控制,不使用 aligned* 或 split*。

原始碼與排版的對應示意。D(w) 是資料誤差項,R(w) 是兩個正則化項的總和;標記指出對齊點和換行位置。

\quad 增加縮排。若要保留行首加號的二元運算子間距,可寫 &\quad {}+ ...。數學模式會忽略大部分原始碼空白,不要用連續空格定位。

align:分別引用目標函數與導數

對 w 微分時,將 x_i、y_i、w_0、\lambda、\mu 視為常數。以下兩行各自編號。

LaTeX
\begin{align}J(w) &= \frac{1}{n}\sum_{i=1}^{n}(w x_i-y_i)^2       + \lambda w^2 + \mu(w-w_0)^2       \label{eq:loss} \\J'(w) &= \frac{2}{n}\sum_{i=1}^{n}x_i(w x_i-y_i)        + 2\lambda w + 2\mu(w-w_0).        \label{eq:gradient}\end{align}

使用 \eqref{eq:loss} 與 \eqref{eq:gradient} 引用。兩行各為一個等式;若只是同一加法式的接續行,不要多加等號,以免改變數學意義。

全部不編號可用 align*。只省略部分行的編號,在那些行的換行前加 \notag:

LaTeX
\begin{align}(x+1)^2 &= x^2+2x+1 \notag \\        &= x(x+2)+1. \label{eq:expansion}\end{align}

標籤放在保留編號的行。參照顯示 ?? 時,本機再編譯一次並檢查重複標籤;平台則在目前編譯完成後確認參照結果。

multline:不需要對齊點的長公式

同一公式可以不用 &,改採:

LaTeX
\begin{multline}J(w) = \frac{1}{n}\sum_{i=1}^{n}(w x_i-y_i)^2 \\       + \lambda w^2 + \mu(w-w_0)^2.\label{eq:multline}\end{multline}

在此處預設右側編號下,首行靠左、末行靠右,兩端留有環境設定的間距;中間行預設置中,編號位於末行右側。文件類別與 amsmath 選項可能改變位置及編號方向。無編號使用 multline*,不要將它放進 equation 或 \[...\]。

換行失敗時的檢查項目

現象或紀錄修正方式
Environment align undefined在主檔導言區載入 amsmath,本機另確認套件已安裝
equation 中加 \\ 無法換行加入 split、aligned,或改用獨立的 align、multline
Erroneous nesting of equation structures檢查是否將 align 放進 equation
Misplaced alignment tab character &將 & 放在對齊環境中,multline 不使用它
括號或 Missing \right. 錯誤檢查 \left、\right 是否跨越行邊界
成功產生 PDF 但公式超寬調整斷行與分組,查看 Overfull \hbox 並核對 PDF

錯誤的巢狀用法:

LaTeX
% Incorrect nesting\begin{equation}\begin{align}a &= b \\  &= c\end{align}\end{equation}

需要整體一個編號時改為:

LaTeX
\begin{equation}\begin{split}a &= b \\  &= c\end{split}\end{equation}

\left( 與 \right) 不能跨越對齊環境的行邊界配對。可改用固定尺寸括號:

LaTeX
\[\begin{aligned}F(x) &= \Bigl(a+b+c \\     &\qquad +d+e\Bigr).\end{aligned}\]

a 到 e 是相加的項。數學環境中不要插入空白段落,最後一行通常也不需要額外的 \\。

雙欄論文:縮短每一行

雙欄範本的可用寬度是一欄。先定義資料項和正則化項,可保留原函數並縮短各行:

LaTeX
\begin{equation}\begin{split}J(w) &= D(w)+R(w), \\D(w) &= \frac{1}{n}\sum_{i=1}^{n}(w x_i-y_i)^2, \\R(w) &= \lambda w^2+\mu(w-w_0)^2.\end{split}\label{eq:compact}\end{equation}

放入投稿範本後檢查欄寬、編號與括號。優先依數學結構分行,避免用 \resizebox 將整式縮成難讀的小字。跨欄公式依出版社規定處理。

在本機與 EasyLaTeX 中驗證

兩種編譯流程示意。兩條路徑都需要檢查最新 PDF 的邊界和編號。

本機將完整範例存為 main.tex,在所在目錄執行以下指令兩次,以更新交叉參照。使用編輯器建置按鈕時,也確認根檔案與編譯器設定。

Shell
pdflatex -interaction=nonstopmode -halt-on-error main.tex

先修正 main.log 的第一個錯誤,再查看超寬警告。開啟最新 main.pdf,檢查兩行內容、一個編號,以及不含 ?? 的括號參照。本機與線上輸出不同時,比較文件類別、引擎、套件版本及欄寬。

EasyLaTeX 的空白測試專案中,建立 main.tex,在頂部主檔下拉選單選取它,於編輯器設定選 pdfLaTeX,再編譯。既有論文保留原主檔、引擎與範本,只替換公式區塊。編譯器設定依專案中的使用者儲存,協作者也應各自確認。

等待目前工作完成,再看 PDF 預覽的換行、對齊與編號。發生錯誤時開啟 Bug 的 Original Log,或用 AI Fix 請 Agent 排錯。在 Chat & Agent 中可提出:

將目前目標函數拆成兩行,保留一個編號與原標籤。保留所有項、係數、括號及正負號,先確認主檔和既有套件,只修改相關公式區塊,編譯後說明剩餘錯誤或超寬情形。

核對 Agent 的原始碼變更與本次編譯結果。仍看得到舊 PDF 不代表最新建置成功。逐項比對原式後,再下載 PDF 或 LaTeX 專案,用於投稿或回到本機編輯。

延伸閱讀:多行公式與對齊、編號與參照、EasyLaTeX 入門、編譯錯誤排查。

參考文件

LaTeX 公式換行:split、aligned、align、multline 教學 | EasyLaTeX