Skip to content

reference

matsub.rk edited this page Feb 9, 2016 · 2 revisions

ラベルと参照

.auxファイルの説明のときにも少し触れましたが、TeXには参照(reference)という機能があります。 百聞は一見に如かずということでやってみましょう。

\documentclass{jsarticle}
\usepackage{here}
\begin{document}
\section{\TeX /\LaTeX の発音}
\TeX\LaTeX の発音を簡単にまとめると表\ref{tab:test}のようになる。

\begin{table}[H]
  \centering
  \caption{\TeX /\LaTeX の発音}
  \label{tab:test}
  \begin{tabular}{l|l|l}
    \hline
    & 日本語 & 英語 \\
    \hline
    \TeX & テック、テックス、テフ & teck, tecks \\
    \LaTeX & ラテック、レイテック、ラテフ & la-teck, lei-tecks \\
    \hline
  \end{tabular}
\end{table}
\end{document}

table

TeXでは表、画像、ソースリストなどには自動的に番号が振られ、 目印(label)を用いて、その番号を参照することができるのです。 この際、どの表や画像にどの番号が振られているのを記録するのが.auxファイルの役割です。

上の画像では表番号の参照がうまくいっていません。 あなたの画面上でも同様の表示となっていると思われますが、 これはdviの生成時に、参照するべき.auxファイルが存在しないためです。

一度コンパイルするともう.auxファイルは生成されていますから、 もう一度コンパイルして表示してみましょう。

refer

今度はうまく番号が参照されました。

参照はファイルをまたぐことができます。 それが.auxの役割です。 texは一つのファイルに長々と記述するだけでなく \input\includeコマンドを用いてファイル分割ができるのですが、 この場合、別の場所で定義される表や図などに対しても参照はちゃんと機能するようになっています。

最後に、ラベルには型がありません。 ラベルは表、数式、図やリストなどあらゆる環境に埋め込んで参照を行うことができますが、 表のラベル\label{data}に対して「図\ref{data}によると...」という文章を許すのです。 これを不便に感じるために、ラベル名の頭になんのラベルなのかを示唆する習慣があります。 この習慣は、例えば以下のような書き方をします。

環境 ラベル
table tab:hoge
figure fig:hoge
equation eq:hoge
lstlisting lst:hoge
chapter ch:hoge
section sec:hoge
subsection subsec:hoge
enumerate itm:hoge
appendix app:hoge
algorithm alg:hoge

測定結果の表に対してそれをまとめたグラフを作成するなんていうことはザラにあると思いますが、 これを「表\ref{tab:somedata}の結果を\ref{fig:somedata}にまとめた」と命名することができます。 これはイケています。

next >>

Clone this wiki locally