
問題
ファイル間のハイパーリンクは常に別のファイルの最初のページに移動しますが、リンクはターゲット ファイル内の正確なラベル位置 (またはテキスト) に移動するものと期待しています。
再生手順
環境:
- TeX バージョン: バージョン 3.141592653 (TeX Live 2022/Debian)
- オペレーティング システム: Linux ディストリビューション、Debian 12 bookworm x86_64。
始める:
one.tex
ハイパーリンク ラベル/ターゲットを含むファイルがあるとします。
Links to label
{\catcode`\#=11
\special{html:<a href="#one">}one\special{html:</a>}}
{\catcode`\#=11
\special{html:<a href="#two">}two\special{html:</a>}}
{\catcode`\#=11
\special{html:<a href="#three">}three\special{html:</a>}}
Label
{\catcode`\#=11
\special{html:<a name="one">}one\special{html:</a>}}
\vfil \break
Label
{\catcode`\#=11
\special{html:<a name="two">}two\special{html:</a>}}
\vfil \break
Label
{\catcode`\#=11
\special{html:<a name="three">}three\special{html:</a>}}
\bye
$ tex one.tex; dvipdfm one.dvi
またはでコンパイルした後$ xetex one.tex
、 で開きますmupdf one.pdf
。上部のファイル内リンクは正常に機能します。
ここで、別のファイルからこれらのラベルにリンクしたいとしますtwo.tex
。
Link to label
{\catcode`\#=11
\special{html:<a href="one.pdf#one">}one\special{html:</a>}}
{\catcode`\#=11
\special{html:<a href="one.pdf#two">}two\special{html:</a>}}
{\catcode`\#=11
\special{html:<a href="one.pdf#three">}three\special{html:</a>}}
\bye
上記と同じ手順でコンパイルし、 で開いた後mupdf
、リンクをクリックすると常に の最初のページに移動しますone.pdf
。リンク 2 をクリックすると、 のページ 2/ラベル 2 に移動すると予想されますone.pdf
。リンク 3 についても同様です。(ファイル間リンクが失敗します)
Plain TeX で目的を達成する方法はありますか? それとも、特定の PDF 拡張機能に頼らなければなりませんか? よろしくお願いします!
非解決策
これらを読みましたが、これらはこの問題の解決策ではありません:
ラテックス: