ハイパーリファレンスでのlinkcolorオプションの使用

ハイパーリファレンスでのlinkcolorオプションの使用

この質問は、ハイパーリファレンスのリンクの表示オプション、hyperref の奇妙な動作を解消します。

以下のスニペットでは、2つの\usepackageコマンドはどちらも機能しますが、linkcolor=.組み合わせるとエラーが発生します。colorlinks=true (投稿の最後にエラーテキストが表示されます)

\documentclass{article}

\usepackage[colorlinks=true,linkcolor=]{hyperref}
%\usepackage[linkcolor=.]{hyperref}

\begin{document}

See Figure~\ref{fig}

\begin{figure}
        \caption{This is an empty figure \label{fig}}
\end{figure}
\end{document}

このラインを使うと

\usepackage[colorlinks=true,linkcolor=.]{hyperref}

(ドットに注意してください)、エラー テキストが表示されます:

LaTeX エラー: 未定義の色

エラーは閉じ括弧の直後に発生します\ref{}

私が実現したかった効果は、リンクの周りのボックスを削除し、実際の URL 以外のすべてのリンクのテキストの色を残すことでした。そのため、このコマンドを使用するときにurlcolor=blueオプションも設定しましたが、エラーを再現するためにはそれは必要ありませんでした。ただし、次の行は機能し、URL 以外のすべてのリンクは非表示になりました。

\usepackage[colorlinks=true,urlcolor=blue,linkcolor=]{hyperref}

Windows 10 で MiKTeX-pdfTeX 2.9.6959 (1.40.20) (MiKTeX 2.9.6960) を使用する

答え1

linkcolor=.ハイパーリファレンスを発行する\color{.}

生成する

LaTeX Error: Undefined color `.'

colorによってロードされる標準パッケージを使用した場合、その名前の色が存在しないためですhyperref

おそらくxcolorパッケージ構文を考えているのでしょう。ここで、.現在の色を意味します

\usepackage{xcolor}
\usepackage[colorlinks=true,linkcolor=.]{hyperref}

動作しますが、リンクの境界線の幅を 0 に指定するよりも、このように色付きのリンクを指定する方が少し奇妙な選択のように思えます。

答え2

まとめると、上記のように、

\usepackage{xcolor}

ハイパーリファレンス オプションでドットを使用する際の問題を修正しました。エラーをスローせずに、私が望んでいた結果を得る他の方法もあります。他の投稿者に感謝します。

おそらく、hyperref は color ではなく xcolor をロードする必要があるのでしょうか?

関連情報