* HyperTeX [#la40905a]

HyperTeX は dvi ファイル中に簡単なタグを \special 命令で入れておくとハイパージャンプができるというものです.
詳細は次のリンクをたどってください.

-[[HyperTeX FAQ:http://www.arxiv.org/hypertex/]]

LaTeX2e では [[hyperref]] パッケージを使うのが標準的な方法ですが,このページで
HyperTeX の基本仕様をすべて実現する簡単なマクロを挙げておきます.これを
myhyper.sty のような名前で保存し,スタイルファイル(パッケージ)として取り込んでください.
\href の第1引数(飛び先のURL)には,TeX の特殊文字 ~ や # が入るので,ちょっとトリックを使ってあります.

 \def\href{\leavevmode \begingroup \@sanitize \@href}
 \def\@href#1{\special{html:<a href=&quot;#1&quot;>}\endgroup \@@href}
 \def\@@href#1{#1\special{html:</a>}}
 
 \def\base{\leavevmode \begingroup \@sanitize \@base}
 \def\@base#1{\special{html:<base href=&quot;#1&quot;>}\endgroup}
 
 \def\img{\leavevmode \begingroup \@sanitize \@img}
 \def\@img#1{\special{html:<img src=&quot;#1&quot;>}\endgroup}
 
 \def\name{\leavevmode \begingroup \@sanitize \@name}
 \def\@name#1{\special{html:<a name=&quot;#1&quot;>}\endgroup \@@name}
 \def\@@name#1{#1\special{html:</a>}}

使い方は,

 \href{#foo}{ここ}をクリックすれば
 \name{foo}{ここ}に飛びます.

や

 \href{http://oku.edu.mie-u.ac.jp/~okumura/foo.html#bar}{ここ}

のようにします.

** hyperref を上手に呼んで便利な PDF を作る [#ubbc3ac6]

$TEXMF/doc/latex/hyperref/ や [[hyperref.sty: TeX パッケージ (熊澤さん)>http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/hyperref.html]], [[qa:33459]] などを参考にして,うまく hyperref を呼ぶことで,手間少なく便利な PDF を作ることができます.

下にソース例を示しますが,\@subtitle, \@belongsto, \advisor@prefix, \@advisor, \advisor@suffix, \@keywords は適切に定義されているとします.このとき,注目点は {} の使い方です.
 \author{NANNO Nanibeh}
といった名前の指定をしたとき,
 pdfauthor=\@author
としたのでは,半角空白が詰まってしまいます.
 pdfauthor={\@author}
とすることで半角空白が活きます.
 pdfauthor={\@author{} (\advisor@prefix:{} \@advisor{} \advisor@suffix)}
のように随所に {} を挟んでいるのも,その次の半角空白を活かすためです(このあたりの技術は TeX ユーザのよく知るところですね?).

タイトルには,強制改行の \\ や,ベタ打ちでは消えてほしい半角空白を付け加えていることもあるかもしれません.余分な半角空白を消すだけなら,上記のトリックを逆に利用して,
 pdftitle=\@title
とすればよいわけです.
強制改行の \\ が入っているときには,\usepackage のオプションで指定することは厳しいので,先に hyperref を呼んでから,あとから \hypersetup を加えるとうまくいきます.

 \RequirePackage[dvipdfmx,%
  bookmarks=true, bookmarksnumbered=true, bookmarkstype=toc, bookmarksopen=true,%
  pdfstartview={FitH -32768}, pdfpagelayout=TwoColumnRight, pdfdisplaydoctitle=true,%
 % pdftitle=\@title,
  pdfsubject={\@subtitle{} (\@belongsto)},%
  pdfauthor={\@author{} (\advisor@prefix:{} \@advisor{} \advisor@suffix)},%
  pdfkeywords={\@keywords}%
 ]{hyperref}
 \RequirePackage{pxjahyper}
 
 \newcommand\org@maketitle{}
 \let\org@maketitle\maketitle
 \def\maketitle{%
   \pdfstringdefDisableCommands{\let\\\empty}
   \hypersetup{
     pdftitle={\@title},
   }%
   \org@maketitle
 }


* 関連リンク [#x293be61]

- [[HyperTeX - MyTeXpert:http://mytexpert.sourceforge.jp/index.php?HyperTeX]]
- [[HyperTeX - MyTeXpert:http://mytexpert.osdn.jp/index.php?HyperTeX]]