- 追加された行はこの色です。
- 削除された行はこの色です。
// LaTeX 入門に加える予定です。ヘッダー部分は後日作業します。(2015-06-11)
// 「図表」の次、「文献引用」の前に入れようと思います。
* 相互参照とリンク [#aa45fcc2]
さきほどの「図表」では,図や表の番号を本文中で参照するという作業を行いました。
LaTeX ではほかにも,数式番号や引用文献の番号などを参照することができます。
ここで,そのような相互参照とリンクについて説明します。
#contents
** 相互参照とは [#db0ce011]
// 大友さんによる「文献リストと相互参照,および索引の作り方」(インターネットアーカイブ)
// http://web.archive.org/web/20081231221606/http://www.klavis.info/bib.html
// をもとに,一部変更を施して移植しました。
// パブリックドメインにしていただいたことに感謝いたします。
例えば,○○の絵のつもりで「図38にあるように」などと書きたいときに,本当に○○の図の番号は38でいいのか不安になることもあるでしょう。
また,ついでにその図が置かれているページも示したいというときにも,いちいちページ番号を確認するのは面倒です。
文献の引用でも「××第2巻によると・・・」と書いていて,文献リストの番号を一緒に示したいとき,いちいち文献リストを確認しにいくのは面倒ですね。
こんなとき,次のように思うことがあるはずです。
参照先の番号やページが変わったら,自動的に参照もとの番号やページの記述も変わってくれたらなぁ。
そうした願いをかなえるのが「相互参照」です。
** ラベル参照の例 [#h84e81eb]
table の表番号,figure の図番号,equation の式番号等をそれぞれ参照したいときは,\label{目印名} という命令で目印(ラベル)を付けておきます。
そして,後で \ref{目印名} で表・図・式番号を,\pageref{目印名} で \label のあるページ数を出力することが出来ます。
たとえば,
\begin{equation} \label{WinnersEQ}
W = A + E + 100M
\end{equation}
と書いたものが,式番号(2),12ページに出力されたとすると
クラーウィスの勝利の方程式(式\ref{WinnersEQ} ,\pageref{WinnersEQ} ページ)によると,…
の出力結果は,
クラーウィスの勝利の方程式(式2,12ページ)によると,…
となります。
** ラベルの付け方の工夫 [#b692d432]
相互参照はたしかに便利な機能ではありますが,「どこがどのラベルか」が分かりにくくなってしまうのは事実です。
そこで,ラベル名を覚えやすくするとよいでしょう。
たとえば数式なら
\label{fig:理想気体の状態方程式}
などと「参照先の種類」がわかる言葉をラベル名の頭につけることで,"fig:"(FIGure,つまり図)だから式の「理想気体の状態方程式」ではなく,図を参照するんだな,と分かりやすくすることができます。
例えば,以下のような例をあげておきます。
|参照先の種類|ラベル名の付け方|参照のしかた|
|図|\label{fig:名前}|\ref{fig:名前}|
|表|\label{tab:名前}|\ref{tab:名前}|
|数式|\label{eq:名前}|\ref{eq:名前}|
|章・節|\label{sec:名前}|\ref{sec:名前}|
** リンクの付け方 [#ocae7881]
ウェブサイトなどの URL をソース中に書き込みたいときは,プリアンブルに
\usepackage{url}
と書いておき,URL を挙げたい場所で例えば
\url{http://oku.edu.mie-u.ac.jp/~okumura/texwiki/}
のように書きます。
こうすれば,リンク無しではありますが URL をタイプライタ体で出力することができます。
しかし,さらに HTML と同じようにハイパーリンクを付けたい場合もあるでしょう。
そういう場合には [[hyperref]] パッケージを使います。
hyperref パッケージを使うと,いま説明した相互参照の「式2」や「図38」のような番号からも,同じ文書中の該当する箇所へリンクを飛ばすことができます。
** hyperref パッケージによるハイパーリンク [#e8c0eb2e]
プリアンブルに
\usepackage[dvipdfmx]{hyperref}
と書くと hyperref パッケージが読み込まれます。
この「ハイパーリンクを付ける」という作業は,先ほどの「図の取り込み」と同様に ''LaTeX 自身の機能ではありません''。
実際には,“dvi ファイルの中に書き込まれたハイパーリンクの取り扱いに関する指示”を,[[dvipdfmx]] などのソフトウェアが解釈します。
そこで,hyperref パッケージにも graphicx パッケージ同様,(u)pLaTeX + dvipdfmx でタイプセット(あるいは ptex2pdf でタイプセット)している場合は忘れずに dvipdfmx オプションを付けましょう。