本文を \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}見出しを細かくしすぎると、かえって読みにくくなります。卒論なら「章」で大きな論点を分け、「節」で読者が追う手順を区切り、「小節」は本当に補助的な説明が必要なときだけ使う、という程度から始めます。\paragraph まで番号を付ける設計は、仕様書や規格文書では有効ですが、普通のレポートでは目次が重くなりがちです。
番号の付き方を制御する
見出しの番号は LaTeX が自動で振ります。どの深さまで番号を付けるかを決めるのが secnumdepth というカウンタです。これは「番号を付ける最下位レベルの level 値」を表し、たとえば secnumdepth が 1 なら \section(level 1)までは番号が付き、\subsection(level 2)以下は番号なしの見出しになります。既定値は article で 3、book・report で 2 で、変更は \setcounter{secnumdepth}{3} のようにプリアンブルで行います(book で小々節にも番号を付けたいときの定番です)。
ひとつの見出しだけ番号を消したいなら、命令の 星付き形式 を使います。\section*{謝辞} のように * を付けると、その見出しは 番号が付かず、しかも目次にも載りません。「はじめに」「謝辞」「結論」など、番号になじまない見出しでよく使われます。番号は消したいが目次には載せたい、という場面では後で説明する \addcontentsline を併用します。
もうひとつ覚えておきたいのが オプション引数 です。\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}} % 図目次に空きを差し込む構造が壊れたときの見方
- 小節番号が
3.0.1のようになったら、report/bookで\chapterの前に\sectionや\subsectionを置いていないか確認します。 - 目次が古い、または空なら、
.tocを作るために少なくとも 2 回コンパイルします。latexmkなら自動で繰り返します。 - 星付き見出しを目次に載せたいときは、見出しの直後に
\addcontentslineを置きます。ページ番号を正しくしたいなら、必要に応じて改ページとの位置関係も見ます。 - 付録番号が期待どおりでなければ、
\appendixを「付録の見出し」ではなく「番号付けを切り替えるスイッチ」として、付録の直前に一度だけ置いているか確認します。