LaTeXを始めたばかりの頃、目次を作ろうとしても作れないときがあったので、そのとき自分が調べたことと解決策を備忘録として書いておききます。
環境
- Windows11
- VS Code 1.83.1
- LaTeX Workshop v9.14.1
- TeX Live 2023
- LuaLaTeX
目次の作り方
まずは前提として目次の作り方についてです。
目次の挙動はdocumentclassの指定によって少し異なります。ここでは例として\documentclass[]{ltjsreport}
での仕様を紹介します。
通常の目次
\tableofcontents
目次を作成するコマンド。目次の対象になるのは以下の通りです。
- 部:
\part
- 章:
\chapter
- 節:
\section
- 小節:
\subsection
- 小小節:
\subsubsection
図目次
\listoffigures
図目次を作成するコマンド。
表目次
\listoftables
表目次を作成するコマンド。
トラブル:目次が作成されない
解決策
まずは2回ビルドしてみましょう。
それでダメなら、ディレクトリ内に以下のファイルが存在するか確認してみます。
- .tocファイル(table of contents)
- .lofファイル(list of figures)
- .lotファイル(list of table)
- .auxファイル(auxiiliary)
ない場合は、setting.jsonでコンパイル時に自動消去している恐れがあります。
- VS Codeで「Ctrl」+「,」キーで「設定」を開く。
- 「設定」内の画面右上の「設定(JSON)を開く」からsetting.jsonを開く。
"Latex-workshop.latex.clean.fileTypes"
の項目を探し、その中に"*.aux"
、"*.toc"
、"*.lof"
、"*.lot"
があればそれらのみを削除する(ここに記述しない)。- 目次を作成したいファイルを2回ビルドしてみる。
これで目次が作成されるはずです!
原因と解決法について
原因は、VS Codeの設定でビルド時に生成される不要な中間ファイルを削除する項目の"Latex-workshop.latex.clean.fileTypes"
に、目次関係のデータが保存されているファイル.aux
などが登録されていたためです。この場合、ビルドの度に目次を参照するファイルが消去され、目次を作成できなくなります。
なお、
- 1回目のビルド:目次に参照するデータを
.aux
などのファイルに書き入れる or 新規作成する - 2回目のビルド:
.aux
などのファイルを参照して目次を作成する
という2段階の仕組みになっているようです。BibTeXなど他の機能もこのような仕組みの場合があるため、とりあえず数回ビルドしてみると治ることがあります。