若要使用依章節編號的方程式(例如 (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 開始,可能會產生重複的可見識別碼,即使標籤名稱不同也一樣。若符合文件結構,請優先在下一節或下一章進行結構性重設。

診斷長篇手稿中的編號錯誤

依照以下順序找出造成意外編號的設定。這能將設定問題與陳列方式及參照更新區分開來。

  1. 確認支配文件的類別。 變更前言區之前,先將該類別的文件說明與標準類別預設設定比較。
  2. 在原始碼中搜尋編號指令。 檢查 \numberwithin、\counterwithin、\counterwithout、\theequation 和 \setcounter 的使用位置。記下列印格式及每一項重設關係。
  3. 檢查陳列公式環境。 帶星號的陳列公式不會自動編號;多行陳列公式只有一個編號也可能完全合理。
  4. 檢查標籤位置。 每個方程式標籤都應放在其陳列公式內,每列標籤則應放在預定編號的那一列。分組標籤應緊接在 \begin{subequations} 之後。
  5. 重新編譯,直到參照穩定。 若參照仍無法解析,請將其鍵值與相應標籤比對,並檢查日誌中是否有未定義或重複定義的標籤。

環境和分組標籤的檢查方式依據 amsmath 指南;參照檢查則依據 LaTeX 的輔助檔機制。方程式編號與標籤、LaTeX 交叉參照實作

最後,檢查每個結構邊界後的第一個方程式:章節、章、子方程式組,以及附錄。將這些編號與你選定的方案比對,再各檢查一個參照。這樣便能在繼續處理整份文件前,有重點地驗證設定。

資料來源