読者です 読者をやめる 読者になる 読者になる

粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

【Tex】卒論修論には是非ハイパーリンク機能をつけよう

メモ メモ-tex

Texの小ネタです。

念のために解説しておくとハイパーリンクとはクリックした時に該当ページとかに飛ぶあれです。

論文の式や図,参照文献へのアクセスを簡単にする為にハイパーリンクをつけるのはとても有用です。
特に長い文章,そう,卒論や修論においてこれはとっても有用なんです。

導入準備

まずは,hyperref.sty と pxjahyper.sty が入っていることを確認してください。

確認方法は,コマンドプロンプトを開いて,

kpsewhich hyperref.sty

と打つとファイルが存在する場合その場所を教えてくれます。
W32texを使っている人ならみな入っていると思われますが,もし入っていなければ以下の記事など参考にして,styファイルをダウンロードして導入してくください。

ossyaritoori.hatenablog.com

プリアンブルの記述方法

ポイントは2つあって,hyperref.styの定義場所とpxjahyper.styの詳細設定です。
dvipdfmxの後ろに[hyperref]の記述を追加するのを忘れないように。

\usepackage[dvipdfmx]{hyperref,graphicx}
% for hyperref
\usepackage{pxjahyper}
\hypersetup{
	colorlinks=false, % リンクに色をつけない設定
	bookmarks=true, % 以下ブックマークに関する設定
	bookmarksnumbered=true,
	pdfborder={0 0 0},
	bookmarkstype=toc
}

至極簡単なこの動作で,CitationとCaptionへのハイパーリンクを付けられます。

設定の中身については以下のところが実用的にわかりやすく説明してくれてます。
ハイパーリンク付きLaTeX文書

記述方法その2 ー 2017年1月追記 ー

上記のやり方は図の変換を扱うdvipdfmxに書き加える形になるのが気に食わないですね。1つの機能は1つの箇所に記述したいものです。
LyX-2.1.4 から生成する PDF のリンクのバグ対応 - stattotto’s blog
上記のブログを参考にした所,下のように書いても良さそうです。

% for hyperref
\usepackage[dvipdfmx, bookmarkstype=toc, colorlinks=false, pdfborder={0 0 0}, bookmarks=true, bookmarksnumbered=true]{hyperref}
\usepackage{pxjahyper}

hyperrefは前述のdvipdfmxと別に宣言しても大丈夫でした。また,初期設定を宣言時に行うことができるようですね。
こちらの方が機能を分けられるのでこちらを採用することにしました。(2017年1月現在)

卒論や修論のためのTips:空の章番号へのジャンプ

卒論や修論ではChapter単位でコンパイルをしていくことかと思います。

謝辞などの空の章,すなわち\chapter*{}などで数字のない章を付ける場合,リンクがズレてしまう仕様があるらしいです。
この場合,仮想的なSectionを作成することでこの問題を回避します。

例えば,

\chapter*{謝辞}

と書く代わりに以下のように書きます。

\newpage
\phantomsection
\addcontentsline{toc}{chapter}{謝辞}
\include{Thanks/Thanks}

URLや単語へのハイパーリンク

当然,ハイパーリンクの関係はつけ放題です。
や,結局これも参考文献を見たほうが詳しいですね。

\url{url} :文字列urlにURLを関連付ける(tildeやunderbar文字も処理する)
\href{url}{text} :textをリンク文字列としてパイパーリンクURLを関連付ける
\hypertarget{name}{text} :textにPDFファイル内のリンクポイント名nameを付与する
\hyperlink{name}{text} :textにPDFファイル内のラベル名nameを関連付ける

エラーについて

少なくとも古いclsファイルなどと一緒に使った場合変なエラーが出る事がわかっています。
誰か教えて~~。