(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 グループ化環境を組み合わせたものです。カスタムクラスを使う場合は、標準の既定設定が当てはまると決めつけず、そのドキュメントを確認してください。標準クラスの定義、カウンターの関連付けコマンド、複数式番号の例
番号付けは、保存されるカウンター値、印字される表記、リセットが起きるタイミングの3つに分けて考えます。たとえば、セクション番号を前置するだけでは、セクションごとのリセットは設定されません。\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}
最初は2回組版し、参照変更の警告が残る場合はさらに繰り返してください。LaTeX は補助ファイルを介して実行間でラベル情報を受け渡すため、最初の PDF では参照が未解決の場合があります。ラベルは、それが示す番号付き表示の中に置いてください。LaTeX の相互参照の実装
次に、上記の設定から導かれる番号の推移を示します。原稿に設定を適用する前の簡単な受け入れ確認として使ってください。これは想定される結果の例であり、実際にコンパイルした結果ではありません。
| 確認箇所 | 想定される番号 |
|---|---|
| 最初の恒等式 | (1.1) |
| 一組の式に対する親番号の参照 | (1.2) |
| 一組の式の中の2つの恒等式 | (1.2a)、(1.2b) |
| 一組の式の後に続く恒等式 | (1.3) |
| セクション2の最初の恒等式 | (2.1) |
| 最初の付録の恒等式 | (A.1) |
subequations のラッパーは親番号を1つ割り当て、終了時に通常の番号列を復元します。公式の例では、通常の番号付けに戻ることが示されています。付録の結果は、標準の article が \thesection を英字に変え、数式の形式では引き続きそのセクション表記を使うことから導かれます。複数式番号の例、標準の付録定義
調査環境には LaTeX コンパイラーがなかったため、この文書はコンパイルせず、取得したドキュメントと照合して確認しました。
必要な番号に対応する環境を選ぶ
カウンターの設定では、1つの表示に何個の番号が付くかは決まりません。それは環境によって異なります。この違いは、長い導出を個別に参照できる手順へ変換するときに特に役立ちます。amsmath パッケージのユーザーガイド、数式表示
amsmath を読み込んだ場合の環境 |
番号付けの動作 |
|---|---|
equation |
番号は1つ |
equation* または \[ ... \] |
自動番号なし |
align、gather、alignat、flalign |
行ごとに自動採番 |
| それらのアスタリスク付き形式 | 自動番号なし |
multline |
複数行の式に番号は1つ |
equation 内の split |
囲んでいる数式の番号は1つ |
equation 内の aligned |
囲んでいる数式の番号は1つ |
行ごとに参照する必要がある場合は align を使います。導出全体を1つの参照番号にする場合は、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 のカウンターに関するドキュメントでは、値の代入と1ずつ増やす操作が区別されています。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の出現箇所を確認します。印字形式と各リセットの関連付けを記録します。 - 表示環境を確認する。 アスタリスク付き表示には自動番号がなく、複数行の表示に番号が1つだけ付くのは正常な場合があります。
- ラベルの位置を確認する。 各数式のラベルはその表示の中に置き、各行のラベルは意図した番号付き行に置きます。グループラベルは
\begin{subequations}の直後に置きます。 - 参照が確定するまで再コンパイルする。 参照が解決しない場合は、キーと対応するラベルを照合し、ログで未定義または重複定義のラベルを確認します。
環境とグループラベルの確認方法は amsmath のガイドに、参照の確認方法は LaTeX の補助ファイルの仕組みに基づいています。数式の番号付けとラベル、LaTeX の相互参照の実装
最後に、セクション、章、複数式番号のグループ、付録など、文書で使う構造上の区切りごとに、最初の数式を確認します。それらの番号が選んだ方式に合っているかを比べ、そのうち1つずつの参照も確認します。これにより、文書全体の作業を続ける前に、設定を重点的に検証できます。
出典
- amsmath パッケージのユーザーガイド — American Mathematical Society および LaTeX Project。
- amsmath パッケージ — LaTeX Project、CTAN 経由。
- 素数付き数式番号と枝番号付き数式 — AMS-LaTeX 配布版、CTAN 経由。
- LaTeX バージョン2eの標準文書クラス — LaTeX Project。
- chngcntr パッケージ — Peter Wilson および Will Robertson、CTAN 経由。
- LaTeX ニュース、第28号 — LaTeX Project。
- LaTeX カウンターの実装: ltcounts.dtx — LaTeX Project、CTAN 経由。
- LaTeX 相互参照の実装: ltxref.dtx — LaTeX Project、CTAN 経由。
- TeXShop の変更履歴 — Richard Koch、University of Oregon。