若要使用依章節編號的方程式(例如 (2.1)),請載入 amsmath,並在前言區加入 \numberwithin{equation}{section}。本指南協助 Mac 使用者選擇編號方案、設定重設方式,並檢查長篇文件中的參照。LaTeX 方程式編號文件
變更計數器前,先選擇編號方案
先確認文件類別,以及你希望讀者引用的編號。標準 article 類別使用連續的方程式編號。標準 report 和 book 類別會在每章重設方程式編號,並在編號前加上章號。修改現有文件時,這些預設設定很重要。LaTeX 標準文件類別
| 預期結果 | 設定方式 |
|---|---|
標準 article 中使用連續編號 |
保留類別的預設設定 |
| 使用章節編號,例如 (2.1) | 加入 \numberwithin{equation}{section} |
標準 report 或 book 中使用章編號 |
保留類別的預設設定 |
標準 report 或 book 中使用連續編號 |
使用 \counterwithout{equation}{chapter} 移除方程式與章的關聯 |
| 將相關方程式編成一組,例如 (2.3a)、(2.3b) | 將其公式放在 subequations 中 |
這些選項結合了類別預設設定、文件記載的計數器指令,以及 amsmath 分組環境。若使用自訂類別,請先查看其文件,再假設它採用標準預設設定。標準類別定義、計數器關聯指令、子方程式範例
請將編號視為三項獨立決定:儲存的計數器值、列印時呈現的格式,以及觸發重設的事件。例如,只有章節前綴,並不代表計數器會在每節重設。\numberwithin 指令會同時設定階層關係和列印格式;目前的 amsmath 透過核心的 \counterwithin 指令實作此功能。LaTeX 方程式編號實作
在 Mac 上建立完整的章節編號範例
以下完整文件假設你已安裝可正常運作的 LaTeX,且編輯器已設定使用 pdfLaTeX。請將檔案儲存為 numbering-demo.tex。在 TeXShop 中選擇 pdfLaTeX 引擎,並按下 Command-T 進行排版;開發者的版本資訊記載了這個快捷鍵。TeXShop 變更
\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\begin{document}
\section{Algebraic identities}
\begin{equation}
(a+b)^2=a^2+2ab+b^2
\label{eq:square}
\end{equation}
\begin{subequations}\label{eq:pair}
\begin{align}
(a+b)(a-b)&=a^2-b^2 \label{eq:difference}\\
a(b+c)&=ab+ac \label{eq:distribute}
\end{align}
\end{subequations}
\begin{equation}
(a+b)+c=a+(b+c)
\label{eq:associate}
\end{equation}
The group is \eqref{eq:pair}; its first identity is
\eqref{eq:difference}.
\section{Polynomial identities}
\begin{equation}
(x+y)^3=x^3+3x^2y+3xy^2+y^3
\label{eq:cube}
\end{equation}
Compare \eqref{eq:square} and \eqref{eq:cube}.
\appendix
\section{Additional identity}
\begin{equation}
x^2+2xy+y^2=(x+y)^2
\label{eq:appendix-square}
\end{equation}
\end{document}
一開始請排版兩次;若仍有參照變更警告,請繼續排版。LaTeX 會透過輔助檔在不同執行階段傳遞標籤資訊,因此第一份 PDF 可能包含尚未解析的參照。請將標籤放在其所指向的編號公式內。LaTeX 交叉參照實作
以下是根據上述設定推導出的預期編號序列。將它當作小型驗收檢查,再把設定套用到你的手稿;這些是示意性的預期結果,並非實際編譯結果。
| 檢查點 | 預期編號 |
|---|---|
| 第一個恆等式 | (1.1) |
| 成對公式的主編號 | (1.2) |
| 成對公式中的兩個恆等式 | (1.2a)、(1.2b) |
| 成對公式之後的恆等式 | (1.3) |
| 第 2 節中的第一個恆等式 | (2.1) |
| 附錄中的第一個恆等式 | (A.1) |
subequations 包裝會保留一個主編號,結束時再恢復主要編號序列。官方範例展示了如何返回一般編號。附錄中的結果來自標準 article 將 \thesection 改為字母,而方程式格式仍使用該節的表示方式。子方程式範例、標準附錄定義
研究環境中沒有 LaTeX 編譯器,因此本文檔是依據查得的文件檢查,而非實際編譯。
選擇支援所需編號方式的環境
計數器設定不會決定一個公式會得到幾個編號;這取決於公式使用的環境。將長篇推導拆成可個別參照的步驟時,這項區別尤其實用。amsmath 套件使用指南:陳列公式
載入 amsmath 後使用的環境 |
編號行為 |
|---|---|
equation |
一個編號 |
equation* 或 \[ ... \] |
不會自動編號 |
align、gather、alignat、flalign |
每列自動編號 |
| 以上環境的星號形式 | 不會自動編號 |
multline |
多行表示式共用一個編號 |
equation 中的 split |
外層方程式共用一個編號 |
equation 中的 aligned |
外層方程式共用一個編號 |
若各列需要分別參照,請使用 align。若推導內容應共用一個參照,請使用包含 split 的 equation。請勿將 align 放在 equation 中:它本身就是陳列公式結構。以下是適用於載入 amsmath 的文件的本文片段。支援的陳列公式結構
\begin{equation}
\begin{split}
(a+b)^2
&= (a+b)(a+b)\\
&= a^2+2ab+b^2
\end{split}
\label{eq:expanded-square}
\end{equation}
若要略過某個 align 列的編號,請在該列結尾前放入 \notag。若要使用例外的自訂識別碼,\tag{P} 會列印 (P);\tag*{P} 會列印 P,且不會加上括號。請將這類標記放在支援此功能的陳列公式中,而非 split 內。抑制編號與標籤
變更重設關係,不留下隱藏依賴
現代版 LaTeX 已直接提供 \counterwithin 和 \counterwithout。這些指令在 2018 年 4 月的版本中加入核心;較舊的安裝版本則需要使用 chngcntr 套件才能使用。套件手冊記載了它們的星號形式和格式行為。LaTeX 新聞,第 28 期、chngcntr 套件
若要在標準 report 或 book 中使用連續方程式編號,請在載入套件後加入以下前言片段。不帶星號的指令會移除章與方程式計數器的重設關係,並將列印的方程式編號改為阿拉伯數字,但不會改變目前的計數器值。chngcntr 套件
\counterwithout{equation}{chapter}
若要將章節編號改為章編號,請先明確移除原有的節關聯。只新增章關聯,會保留先前的依賴。以下前言片段假設你使用 report 或 book、amsmath,且先前已設定章節編號:
\counterwithout*{equation}{section}
\numberwithin{equation}{chapter}
移除關聯時使用星號形式,可保留既有的列印格式;接下來的指令則會設定預期格式。反之,\counterwithin* 會新增重設關聯,但不會改寫列印格式。若你打算分開管理格式,請使用帶星號的指令。計數器關聯語意
只有文件要求時,才從特定編號重新開始
一次性的重新起算會改變儲存的值。在下一個編號公式之前立即使用 \setcounter{equation}{0},可讓該公式在目前格式下編為 1。若要讓下一個編號為 7,請將計數器設為 6。LaTeX 的計數器文件區分了指定數值與將計數器加一。LaTeX 計數器實作
以下本文片段適用於章節編號範例,會讓下一個陳列公式以 .7 結尾:
\setcounter{equation}{6}
\begin{equation}
a(b+c)=ab+ac
\label{eq:restart-seven}
\end{equation}
若要變更主要編號序列,請在 subequations 包裝之外執行。在該包裝內,方程式計數器用於子編號,離開時會恢復主編號。子方程式實作
手動重新起算前,請記下該節已使用的最後一個編號。在相同前綴下重新從 1 開始,可能會產生重複的可見識別碼,即使標籤名稱不同也一樣。若符合文件結構,請優先在下一節或下一章進行結構性重設。
診斷長篇手稿中的編號錯誤
依照以下順序找出造成意外編號的設定。這能將設定問題與陳列方式及參照更新區分開來。
- 確認支配文件的類別。 變更前言區之前,先將該類別的文件說明與標準類別預設設定比較。
- 在原始碼中搜尋編號指令。 檢查
\numberwithin、\counterwithin、\counterwithout、\theequation和\setcounter的使用位置。記下列印格式及每一項重設關係。 - 檢查陳列公式環境。 帶星號的陳列公式不會自動編號;多行陳列公式只有一個編號也可能完全合理。
- 檢查標籤位置。 每個方程式標籤都應放在其陳列公式內,每列標籤則應放在預定編號的那一列。分組標籤應緊接在
\begin{subequations}之後。 - 重新編譯,直到參照穩定。 若參照仍無法解析,請將其鍵值與相應標籤比對,並檢查日誌中是否有未定義或重複定義的標籤。
環境和分組標籤的檢查方式依據 amsmath 指南;參照檢查則依據 LaTeX 的輔助檔機制。方程式編號與標籤、LaTeX 交叉參照實作
最後,檢查每個結構邊界後的第一個方程式:章節、章、子方程式組,以及附錄。將這些編號與你選定的方案比對,再各檢查一個參照。這樣便能在繼續處理整份文件前,有重點地驗證設定。
資料來源
- amsmath 套件使用指南 — 美國數學學會與 LaTeX 專案。
- amsmath 套件 — LaTeX 專案,經由 CTAN 提供。
- 質數方程式編號與子編號方程式 — AMS-LaTeX 發行套件,經由 CTAN 提供。
- LaTeX 2e 標準文件類別 — LaTeX 專案。
- chngcntr 套件 — Peter Wilson 與 Will Robertson,經由 CTAN 提供。
- LaTeX 新聞,第 28 期 — LaTeX 專案。
- LaTeX 計數器實作:ltcounts.dtx — LaTeX 專案,經由 CTAN 提供。
- LaTeX 交叉參照實作:ltxref.dtx — LaTeX 專案,經由 CTAN 提供。
- TeXShop 變更 — Richard Koch,奧勒岡大學。