相互参照したい(\ref
)
文書内で相互参照するためには、以下のコマンドを使います。
\label{ラベル名}
\ref{ラベル名}
\pageref{ラベル名}
ラベルをつける(label
)
まず、相互参照の元にラベルをつけます。
参照したい番号を出力するコマンドの直後に\label{ラベル名}
コマンドを追加してください。
\section{相互参照したい}
\label{sec:ref}
\subsubsection{ラベルをつける}
\label{sec:label}
章・節番号を参照したい(ref
)
\ref{sec:ref}章に書きました。
\ref{sec:label}節にも書きました。
ページ番号を参照したい (pageref
)
\pageref{sec:ref}ページに書きました。
\pageref{sec:label}ページに書きました。
相互参照で自動生成されるファイル
ラベルをきちんと参照をするために、複数回(最低2回)はコンパイルする必要があります。 そうしないと、相互参照した箇所が「??」などになってしまいます。 なぜ複数回のコンパイルが必要なのか、しくみを理解しておくとよいと思います。
- 1回目のコンパイル
すべてのラベルのデータを含む
.aux
ファイルが自動で作成される- 2回目のコンパイル
.aux
ファイルのデータを.tex
ファイルと組み合わせて、ラベルの参照番号を取得する- n回目のコンパイル
「??」がなくなるまでコンパイルを繰り返す
このようなめんどくさい手順は、パソコンに任せるのが一番です。
TeXLiveにはlatexmk
というコンパイルツールが付属しています。
レポートの提出直前などで急いでいるときほど、こういったうっかりミスをしがちなので、あらかじめlatexmk
を設定して常用しておきましょう。
簡単な設定方法は「タイプセットしたい(latexmk)」にまとめました。