本文を \section や \chapter といった命令で区切ると、LaTeX が見出しの体裁・番号・目次を自動でそろえてくれます。このページでは、見出しの階層、番号の付き方とその制御、付録や前付け・後付けの切り替え、そして目次の作り方までを通して見ます。
見出しの階層
見出しは命令ひとつで作ります。たとえば \section{はじめに} と書けば、「1 はじめに」のように番号付きの節見出しが、クラスで定めた書体・前後の空きで組まれます。見出しには 階層(レベル) があり、上位から下位へ \part・\chapter・\section・\subsection・\subsubsection・\paragraph・\subparagraph の 7 段です。各レベルには整数の level 値 が割り当てられ、この数値が後で見る番号付けや目次の深さ制御の基準になります。
重要な注意がひとつ。\chapter は **book・report クラスにしかありません**。article クラスには章という単位がないため、article での最上位の見出しはふつう \section です。\part はどのクラスでも使えますが、article では level 0、book・report では \chapter の上の level −1 になります。
| 命令 | level 値 | 区分 | 使えるクラス |
|---|---|---|---|
\part | −1(book/report), 0(article) | 部 | すべて |
\chapter | 0 | 章 | book / report のみ |
\section | 1 | 節 | すべて |
\subsection | 2 | 小節 | すべて |
\subsubsection | 3 | 小々節 | すべて |
\paragraph | 4 | 段落見出し(本文に続けて組まれる) | すべて |
\subparagraph | 5 | 小段落見出し(本文に続けて組まれる) | すべて |
\part から \subsubsection までは独立した行の見出しになりますが、\paragraph と \subparagraph は性格が違い、見出しのあとに改行を入れず そのまま本文が続く 「行内見出し(run-in heading)」です。短い小見出しを段落の頭に置きたいときに使います。
\documentclass{report} % \chapter が使える
\begin{document}
\chapter{序論}
\section{背景}
\subsection{先行研究}
\paragraph{要点}\ ここから本文が続きます。
\end{document}番号の付き方を制御する
見出しの番号は LaTeX が自動で振ります。どの深さまで番号を付けるかを決めるのが **secnumdepth** というカウンタです。これは「番号を付ける最下位レベルの level 値」を表し、たとえば secnumdepth が 1 なら \section(level 1)までは番号が付き、\subsection(level 2)以下は番号なしの見出しになります。既定値は **article で 3、book・report で 2** で、変更は \setcounter{secnumdepth}{3} のようにプリアンブルで行います(book で小々節にも番号を付けたいときの定番です)。
ひとつの見出しだけ番号を消したいなら、命令の 星付き形式 を使います。\section*{謝辞} のように * を付けると、その見出しは 番号が付かず、しかも目次にも載りません。「はじめに」「謝辞」「結論」など、番号になじまない見出しでよく使われます。
もうひとつ覚えておきたいのが オプション引数 です。\section[目次用の短い題]{本文に出る長い題} と書くと、本文の見出しには長いほうが、目次やヘッダには [ ] 内の短いほうが使われます。長い見出しを目次でコンパクトに見せたいときに便利です。
\setcounter{secnumdepth}{3} % 小々節まで番号を付ける
\section{結果と考察} % 番号付き:例「3 結果と考察」
\section*{謝辞} % 番号なし・目次にも出ない
\section[手法]{提案手法の詳細な定式化} % 目次には「手法」と出る付録と前付け・本文・後付け
本文のあとに付録を置くときは、付録に入る位置で **\appendix と一度書きます。これは見出しを作る命令ではなく 番号付けの切り替えスイッチ** で、これ以降の章・節番号がリセットされ、表示が A・B・C … という英字に変わります。\appendix のあとは、これまでどおり \chapter や \section で付録の見出しを書くだけです。
book クラスには、本を三つの部分に分ける専用の命令があります。**\frontmatter は前付け(序文・目次など)で、ページ番号を小文字ローマ数字(i, ii, …)にし、章には番号を付けません(章の題は目次には載ります)。\mainmatter で本文に入り、ページ番号をアラビア数字に戻して 1 から振り直し、章番号も復活します。\backmatter** は後付け(参考文献・索引など)で、ページ番号はそのまま続け、章には再び番号を付けません。
\documentclass{book}
\begin{document}
\frontmatter % i, ii, … 章は番号なし
\tableofcontents
\mainmatter % 1, 2, … 章を番号付きで
\chapter{序論}
\appendix % 以降の章は A, B, …
\chapter{記号一覧}
\backmatter % 参考文献・索引など
\end{document}目次を作る
目次は **\tableofcontents** を置くだけで生成されます。仕組みはこうです。LaTeX は処理中に各見出しの情報を補助ファイル .toc に書き出し、次回の処理でそれを読み込んで目次を組みます。そのため 正しい目次を得るには最低 2 回コンパイルする 必要があります(1 回目では目次がまだ空、もしくは古い状態です)。latexmk のようなビルドツールは必要な回数を自動で繰り返してくれます。
どの深さまで目次に載せるかは **tocdepth** カウンタが決めます。意味は secnumdepth と同じで、「目次に載せる最下位レベルの level 値」です。たとえば \setcounter{tocdepth}{1} とすると、\section(level 1)までは目次に並びますが \subsection(level 2)以下は省かれます。既定値はやはり **article で 3、book・report で 2** です。番号付けの secnumdepth と目次の tocdepth は別々に設定できる点に注意してください。
図と表の一覧も同じ流れで作れます。**\listoffigures は図目次を、\listoftables** は表目次を生成し、それぞれ .lof・.lot という補助ファイルを使います(やはり複数回のコンパイルが必要)。
星付き見出しのように自動では載らない項目を 手動で目次に足す には、**\addcontentsline{ext}{unit}{text}** を使います。第 1 引数 ext は対象ファイルの拡張子(目次なら toc、図目次なら lof、表目次なら lot)、第 2 引数 unit は項目の種類(section・chapter・figure など)、第 3 引数 text は載せる文字列です。さらに、行ではない任意の素材(空きなど)を差し込みたいときは **\addtocontents{ext}{text}** を使います。
\tableofcontents
\setcounter{tocdepth}{2} % 小節まで目次に載せる
\section*{はじめに} % 星付きは自動では載らない
\addcontentsline{toc}{section}{はじめに} % 手動で目次に追加
\listoffigures % 図目次
\addtocontents{lof}{\protect\vspace{2ex}} % 図目次に空きを差し込む