更新:2024/12/11

【LaTex・VsCode】目次の作成方法とtocloftを利用したカスタマイズについて

はるか
はるか
LaTeXで目次、簡単に作れる?
ふゅか
ふゅか
そうそう!コマンド一つで自動生成できるの。これがすごく便利なんだよ!
はるか
はるか
\tableofcontents?
ふゅか
ふゅか
そう!それを文書に書くだけで、全部まとめて目次が作られるの。手書きで、順番の修正もしなくていいから楽よね!

1. Table of Contents

LaTeXは、科学論文やレポートなどの文書を美しく作成するためのツールとして広く利用されています。目次(Table of Contents, TOC)は、文書を読みやすく整理する重要な要素です。この記事では、LaTeXで目次を作成する方法をわかりやすく説明します。

2. 目次の基本的な作成方法

LaTeXで目次を自動生成するには、\tableofcontents コマンドを使用します。このコマンドを文書内に挿入すると、目次が自動的に生成されます。

2.1. 基本のコード例

以下は簡単な例です。

\documentclass{article} % 文書クラスの指定
\usepackage[T1]{fontenc} % フォントエンコーディング設定
\usepackage{xeCJK}
\setCJKmonofont{IPAGothic}
\begin{document}

% タイトルと目次の追加
\title{LaTeXで目次を作る方法}
\author{著者名}
\date{\today}
\maketitle

\tableofcontents % 目次の生成

\section{はじめに}
本文内容...

\section{LaTeXの基本}
本文内容...

\subsection{目次の基本}
本文内容...

\section{応用編}
本文内容...

\end{document}

2.2. 実行結果

上記のコードをコンパイルすると、タイトルの下に目次が表示されます。目次には、sectionsubsection などの見出しが自動的にリスト化されます。手書きで、目次の番号を書かなくていいのはすごく楽ですね。

3. 目次の表示位置

\tableofcontents コマンドを配置した場所に目次が挿入されます。通常、タイトルの直後や文書の冒頭に配置します。

4. 見出しの階層

LaTeXでは、以下のような見出しコマンドを使って階層を指定できます。

  • \part:文書の大きな区切り
  • \chapter:章(bookreportクラスで使用可能)
  • \section:節
  • \subsection:小節
  • \subsubsection:小小節
はるか
はるか
階層構造は\sectionや\subsectionで設定可能。

4.1. 例

\section{第一章}
\subsection{小節1}
\subsubsection{小小節1-1}

これにより、目次に各階層が反映されます。

4.2. ページ番号の表示

目次には自動的に各項目のページ番号が表示されます。ページ番号を調整したい場合は、\setcounter コマンドを使用して変更できます。

\setcounter{page}{10} % ページ番号を10に設定

5. 目次に含めるレベルの調整

目次に表示する見出しの階層を調整するには、\setcounter{tocdepth} を使用します。たとえば、section まで表示したい場合は以下のように設定します。

\setcounter{tocdepth}{2} % sectionまで表示
\tableofcontents
含まれる見出し
0 part のみ
1 section まで
2 subsection まで
3 subsubsection まで

6. 細かいカスタマイズ(tocloft)

目次のデザインやフォーマットをカスタマイズしたい場合、tocloft パッケージを使用すると便利です。tocloftは、LaTeX文書で目次やリスト(図表目次など)のカスタマイズを行うための便利なパッケージです。このパッケージを使用すると、目次のスタイル、見出しの間隔、フォントサイズ、インデントなどを柔軟に設定できます。

はるか
はるか
tocloft、知ってる?
ふゅか
ふゅか
うん!目次をもっとカスタマイズしたい時に便利なパッケージだよ。たとえば、インデントやフォントを変更したり、項目の間隔を調整したりできるの!

6.1. パッケージの読み込み

\usepackage{tocloft}

これをプリアンブル(\begin{document}の前)に記載します。

6.2. 目次のカスタマイズ

6.2.1. 項目の間隔を調整

目次で各項目の間隔を変更したい場合に使用します。

\setlength{\cftbeforesecskip}{10pt}  % セクション間の間隔を10ptに設定

6.2.2. インデントの設定

目次の各階層のインデント(横の空白)を設定できます。

\setlength{\cftsecindent}{5em}    % セクションのインデント
\setlength{\cftsubsecindent}{3em}  % サブセクションのインデント

6.3. タイトルの変更(renewcommand)

目次や図のキャプション名をカスタマイズできます。

\renewcommand{\contentsname}{目次} % 目次タイトルを「目次」に変更 
\renewcommand{\figurename}{図} % キャプション名をfigureから「図」に変更

6.4. 目次のリーダー(点線)の変更

リーダー(ドットのデザイン)を変更したい場合に使用します。

\renewcommand{\cftdot}{\ensuremath{\ast}}  % ドットをアスタリスクに変更
\renewcommand{\cftsecdotsep}{2}           % ドット間の間隔を調整

6.5. tocloftを利用したカスタマイズした目次例

以下は、tocloftを使って目次をカスタマイズした簡単な例です。

\documentclass{article} % 文書クラスの指定
\usepackage{xeCJK}
\usepackage{graphicx}
\setCJKmonofont{IPAGothic}
\usepackage{tocloft}

% 目次のカスタマイズ
\renewcommand{\contentsname}{目次}         % タイトルを「目次」に変更
\setlength{\cftbeforesecskip}{5pt}         % セクション間の間隔
\setlength{\cftsecindent}{1.5em}           % セクションのインデント

\begin{document}

\tableofcontents  % 目次を出力

\section{はじめに}
ここではイントロダクションを書きます。

\section{本論}
\subsection{背景}
背景情報について述べます。

\subsection{分析}
データ分析について説明します。

\section{結論}
まとめを記載します。

\end{document}

PR