texでの細かい話1。参照について(labelとref)、そしてpdfにリンクを貼るhyperref

texには図表等の番号を割り振る\label{}, \ref{}コマンドがある。

処理の流れの都合によりコンパイルは2回行う必要がある。

例えば表を挿入し表の上に表題を書く場合、\label{}コマンドの位置は大きく分けて以下の4つに分けられる。

\begin{table}[ht]

  \label{tab:length}

  \caption{\label{tab:length}表の題名\label{tab:length}}

  \label{tab:length}

  \begin{tabular}{|c|c|}

    \hline

    1 & 2\\

    \hline

    3 & 4\\

    \hline

  \end{tabular}

\end{table}

赤文字の場合\label{}コマンドが指すものは、直後にある\caption{}ではなく、赤文字の前にあるラベリング可能なものになる(例えば節番号)ため注意。

 

ここまでで、\label{}と\ref{}が正しく参照しあうことが確認できた。

ここで、hyperref環境において\ref{}がどこを参照するかを見ると、表の題名の0文字目となる。つまり表上部にある「表1: 表の題名」の「表1: ここ表の題名」が左上に来る表示としようとする。

そのため十分拡大していると、開いているウィンドウの左上がここに合わされることになる(拡大率によってはページ端などの制限をうける)。

 

上のような表の場合、あまりこの問題は深刻ではないが、表や図のキャプションが表や図の下にあった場合、左上が\ref{}の位置となるように移動すると、肝心の表や図本体が見えなくなる。