Yamamoto's Laboratory
 
 
表紙
目次
図
 
公開情報
 
 
古い情報
 
 

はじめに

目次は,文書の構成を読者に伝えるための一覧です.章,節,小節のタイトルとページ番号を並べることで,読者は必要な場所へすぐ移動できます.執筆者にとっても,章立てを確認する手がかりになります.

LaTeX では,目次,表目次,図目次を自動で作れます.見出しやキャプションから補助ファイルを作り,次回のコンパイルでそれを読み込む仕組みです.そのため,目次を正しく更新するには,少なくとも 2 回コンパイルします.

目次 章,節,小節などの見出しとページ番号の一覧です.
表目次 表番号,表のキャプション,ページ番号の一覧です.
図目次 図番号,図のキャプション,ページ番号の一覧です.

短い文書では目次だけで十分です.表や図が多い報告書,論文,仕様書では,表目次や図目次もあると親切です.

目次

基本

目次は,\tableofcontents を書いた場所に出力されます.目次には,番号付きの \chapter,\section,\subsection などが入ります.

\documentclass[10pt,a4paper]{jsarticle}

\begin{document}

\tableofcontents
\clearpage

\section{はじめに}
\subsection{目的}
本文を書く.

\end{document}

目次は *.toc ファイルを使って作られます.見出しを変更した直後は,古い目次が表示されることがあります.その場合は,もう一度コンパイルします.

目次の深さ

目次にどの階層まで表示するかは,tocdepth カウンターで指定します.たとえば \setcounter{tocdepth}{3} とすると,小々節 (\subsubsection) まで目次に表示されます.

\setcounter{tocdepth}{3}
\tableofcontents
値 目次に表示する範囲
-1 部 (\part) までです.主に book や report で使います.
0 章 (\chapter) までです.article や jsarticle では章がないため,通常は 1 以上を使います.
1 節 (\section) までです.
2 小節 (\subsection) までです.
3 小々節 (\subsubsection) までです.
4 段落見出し (\paragraph) までです.目次が細かくなりすぎるため,通常は使いません.

目次に表示する深さと,見出し番号を付ける深さは別です.見出し番号をどこまで付けるかは secnumdepth で指定します.

\setcounter{tocdepth}{3}    % 目次は \subsubsection まで
\setcounter{secnumdepth}{2} % 番号は \subsection まで

番号なし見出しを目次に入れる

\section* のような星付き見出しは,標準では目次に入りません.番号なし見出しを目次に入れたい場合は,見出しの直後に \addcontentsline を書きます.

\section*{謝辞}
\addcontentsline{toc}{section}{謝辞}

目次に入れる見出しレベルは,第 2 引数で指定します.主な値は chapter,section,subsection です.

表目次と図目次

表目次と図目次は,表や図のキャプションから作られます.表には \caption を付け,図にも \caption を付けます.キャプションがない表や図は,通常,表目次や図目次に入りません.

表目次

表目次は,\listoftables を書いた場所に出力されます.表番号,キャプション,ページ番号が並びます.

\listoftables
\clearpage

\begin{table}[tb]
  \centering
  \caption{測定条件}
  \begin{tabular}{cc}
    条件 & 値 \\
  \end{tabular}
\end{table}

図目次

図目次は,\listoffigures を書いた場所に出力されます.図番号,キャプション,ページ番号が並びます.画像を読み込む場合は,プリアンブルで graphicx を読み込みます.

\listoffigures
\clearpage

\begin{figure}[tb]
  \centering
  \includegraphics[width=0.6\linewidth]{sample.pdf}
  \caption{測定装置}
\end{figure}

表目次と図目次も,目次と同じように補助ファイルを使います.表目次は *.lot,図目次は *.lof を使います.キャプションを変更したときは,複数回コンパイルします.

目次の調整

タイトル名の変更

目次,表目次,図目次のタイトル名は,以下のコマンドで変更できます.日本語クラスを使っている場合でも,表記を統一したいときに便利です.

\renewcommand{\contentsname}{目次}
\renewcommand{\listtablename}{表目次}
\renewcommand{\listfigurename}{図目次}

tocloft による調整

tocloft は,目次,表目次,図目次の字下げ,番号幅,点線,タイトルの前後の空きなどを調整するパッケージです.番号が長くなり,見出し文字と重なる場合にも役立ちます.

\usepackage{tocloft}

% 節番号の表示幅を広げる
\setlength{\cftsecnumwidth}{1.8em}
\setlength{\cftsubsecnumwidth}{2.8em}

% 節にもページ番号までの点線を付ける
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}

tocloft を使うと,目次,表目次,図目次が自動で改ページしない場合があります.それぞれを別ページにしたいときは,\clearpage を明示します.

titletoc による調整

titletoc は,目次の各項目を細かく整形するパッケージです.tocloft より自由度が高く,項目ごとの字下げ,番号の幅,点線,ページ番号の位置などをまとめて指定できます.

\usepackage{titletoc}

\titlecontents{section}
  [1.5em]
  {\addvspace{2pt}}
  {\contentslabel{1.5em}}
  {}
  {\titlerule*[0.5pc]{.}\contentspage}

通常は,tocloft と titletoc のどちらか一方で調整します.単純に幅や点線を直すだけなら tocloft,目次項目の形を大きく変えるなら titletoc が向いています.

目次部分のページ番号

目次,表目次,図目次を本文とは別のページ番号にしたい場合は,目次部分をローマ数字にし,本文の前でアラビア数字に戻します.標準の \tableofcontents,\listoftables,\listoffigures は,それ自体ではページ番号を 1 に戻しません.ページ番号を戻すのは,\pagenumbering を実行したときです.

\pagenumbering{roman}
\tableofcontents
\clearpage
\listoftables
\clearpage
\listoffigures
\clearpage

\pagenumbering{arabic}
\section{はじめに}

図や表が目次より前に未出力で残っていると,ページ番号がずれることがあります.目次,表目次,図目次の前後では,\clearpage を使うと,未出力の図表を出してから改ページできます.

筆者の目次の書き方

私が目次を書くときは,\begin{document} の直後に以下を記述しています.

\setlength{\cftsecnumwidth}{1.5em}
\maketitle
\pagenumbering{roman}
\setcounter{tocdepth}{3}
\tableofcontents
\newpage
\listoftables
% \newpage   % ページ分割する場合はコメントを取る
\vspace{20mm}
\listoffigures
\clearpage
\pagenumbering{arabic}

この例では,目次の深さを 3 にしています.そのため,目次には小々節 (\subsubsection) まで表示されます.表目次と図目次は同じページに置き,本文の前でページ番号をアラビア数字に戻しています.

付録の見出しを目次に正しく出す場合は,ページ設定: 付録 の説明も参照してください.

ページ作成情報

参考資料

  1. Standard Document Classes for LaTeX version 2e, The LaTeX Project, 2025-01-22.
  2. The tocloft package, Peter Wilson, Will Robertson, 2020-01-10.
  3. The titlesec, titleps and titletoc Packages, Javier Bezos, 2025-01-04.

更新履歴

2018年09月22日 ページの新規作成
2026年05月16日 説明を整理し,目次の深さ,表目次,図目次,tocloft,titletoc,ページ番号の説明を追加


no counter