\hyperref コマンドで * を使用しないと、どのような問題が発生する可能性がありますか?

\hyperref コマンドで * を使用しないと、どのような問題が発生する可能性がありますか?

wikibooks の Latex マニュアルには、\hyperref次のようにコマンドを使用する必要があると記載されています。

We use \hyperref[mainlemma]{lemma \ref*{mainlemma} }.

ここで、「mainlemma」はラベル名です。次のように記述されます。

* ネストされたハイパーリンクを回避するために、 afterに注意してください\ref

私は自分のドキュメントにこの行を実装しました。1 回は を付けて、もう 1 回は を付けずに実行しました*が、違いは見られませんでした。

では、 を使用しないことでどのような害があるのでしょうか*?

答え1

重要な問題は、スター付きバージョンを使用しないと、ドキュメントにネストされたハイパーリンクが作成されることです。PDF ビューアにはネストされたハイパーリンクを処理する一貫した方法がないため、予期しない結果が生じる可能性があります。

これを説明するために、MWE を考えてみましょう。

\documentclass{article}

\usepackage{hyperref}

\begin{document}

\section{Sample}
\label{sample}

\section{Another Sample}

\hyperref[sample]{section~\ref{sample}}

\end{document}

次のようにokular表示されます。

両方のハイパーリンクがボックスで囲まれている

hidelinksまたはを使用するとcolorlinks、この問題を解決できるようです。

\documentclass{article}

\usepackage[colorlinks]{hyperref}

\begin{document}

\section{Sample}
\label{sample}

\section{Another Sample}

\hyperref[sample]{section~\ref{sample}}

\end{document}

これはokular次のようになります:

赤色のリンク

しかし、okularのアクセシビリティ設定を変更してリンクを境界線にすると、次のように表示されます。

リンクテキストは赤、両方のリンクは四角で囲まれている

内部リンクと外部リンクの両方が同じ場所を指しているため、 の実際のハイパーリンクはokular同じ場所に移動しますが、他の PDF ビューアを混乱させる可能性があります。 内部リンクが外部リンクとは異なる場所を指している場合は、さらに混乱が生じます。 これは、\ref目次に表示されるセクション コマンドで が使用されている場合に発生する可能性があります。

例えば:

\documentclass{article}

\usepackage[colorlinks]{hyperref}

\begin{document}

\tableofcontents

\section{Sample}
\label{sample}

\section{Another Sample Following on from section \ref{sample}}

\end{document}

目次付きの文書の画像

目次にはネストされたリンクがありますが、そのリンクがどこに移動するかは、PDF ビューアと、ドキュメントの生成に PDF 形式と DVI 形式のどちらを使用したかによって異なります。 でコンパイルして でpdflatexドキュメントを表示する場合okular、内部リンクをクリックするとセクション 2 に移動しますが、内部リンクでドキュメントを表示するとevinceセクション 1 に移動します。latex+ dvips+を使用してドキュメントをビルドすると、ps2pdf逆のことが起こります。

関連情報