Re: pdfの「しおり」に「目次」や「索引」を表示させたい

名前: misc
日時: 2004-02-12 18:41:56
IPアドレス: 211.4.123.*

>>25894 hyperref パッケージが再定義した \addcontentsline は オリジナルの \addcontentsline が書き出す目次情報に“リンク先”の 情報を添えて書き出すだけです. リンクターゲットの設定は(やはり hyperref パッケージが 再定義した方の)\refstepcounter や \section* などの際に“ダミーの リンクターゲット”を設定する \phantomsection といった マクロによって行われます. 索引や目次などのリンク先がずれる,というのはこの \phantomsection を 実行する箇所の問題ですので,(hyperref パッケージ以外に \@ssect を 再定義するパッケージを用いないとわかっている場合には) 次のように \@sect を再定義すると(私の環境で実験した限りでは) 意図どおりのリンク結果(?)が得られるようです. %%% definition in pdfmark.def %\def\@ssect#1#2#3#4#5{% % \H@old@ssect{#1}{#2}{#3}{#4}{#5}%%% オリジナルの \@ssect % \phantomsection}%%% ダミーのリンクターゲットの設定 \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{\@hangfrom{\hskip #1}\interlinepenalty \@M #5% \phantomsection%%% added \@@par}% \endgroup \else \def\@svsechd{#4{\hskip #1\relax #5% \phantomsection%%% added }}% \fi \@xsect{#3}} # なお,\section*{...\addcontentsline...} のような記述を行うと, # (リンク先に関して)不都合があります. # そもそも,\addcontentsline のようなものは“見出し”の一部でありません…

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)