hyperref が非 e-TeX では動かないという話があるらしい。
やってみた。
% test.tex \documentclass[a4paper]{article} \usepackage[bookmarks=true]{hyperref} \begin{document} \section{Test} \end{document}
これを W32TeX の lplatex
でコンパイルすると……。
This is pTeX, Version 3.1415926-p3.2 (sjis) (TeX Live 2012/dev/W32TeX) restricted \write18 enabled. ……(略)…… (c:/usr/local/share/texmf/tex/generic/oberdiek/gettitlestring.sty)) (./test.out ) (./test.out) [1] (./test.aux) ) (\end occurred inside a group at level 1) Output written on test.dvi (1 page, 728 bytes). Transcript written on test.log.
なんだ、何事もなく動くじゃないか………………ん?
(\end occurred inside a group at level 1)
ああああああああーーー!!
一応、対処療法は可能だけど、原因は本質的には非 e-TeX 対策のコードのバグなので、Oberdiek さんに報告したほうがいいんだろうな。
[2012/06/10 追記] この現象は hopatch というパッケージ(oberdiek バンドルに含まれる)のバグに因るものだが、実はこのバグは既に 2012/05/28(v1.2)に修正されていた。ただこのパッケージの特有の理由があり、このパッケージだけ単純にアップデートしても hyperref の現象は解決しない。oberdiek バンドル全体をアップデートするのが確実だが、最低限の操作で済ませたい場合は次のようにする。
- CTAN の oberdiek ディレクトリから hopatch.dtx を(適当なディレクトリに)ダウンロードする。*1
tex hopatch.dtx
を実行する。hopatch.sty が生成されることを確認。tex hobsub.dtx
を実行する。hobsub.sty、hobsub-generic.sty、hobsub-hyperref.sty が生成されることを確認。- 前項までに挙げた 4 つの sty ファイルについて、元のファイルを生成したファイルで置き換える。*2