![用語集のエントリにハイパーリンクの境界線はありませんが、ハイパー参照されています](https://rvso.com/image/328836/%E7%94%A8%E8%AA%9E%E9%9B%86%E3%81%AE%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA%E3%81%AB%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E5%A2%83%E7%95%8C%E7%B7%9A%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E5%8F%82%E7%85%A7%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99.png)
用語集からのリンクを除くすべてのリンクに、ハイパーリファレンスのデフォルトの動作を適用したいと思います。用語集からのリンクは、境界線のないリンクのままである必要があります。
私はオプションを試し始めました\hypersetup{linkbordercolor = white...
が、\cref も link* オプションの影響を受けることがわかったので、より具体的なコマンドを試しました。
\renewcommand*{\glstextformat}[1]{\hypersetup{linkbordercolor = white}{#1}\hypersetup{linkbordercolor = black}}
または
\renewcommand*{\glsentryfmt}{
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenentryfmt]{\glslabel}\hypersetup{linkbordercolor = black}%
}
しかし、これらの更新コマンドは何もしません
アップデート
私は用語集のエントリに外部ファイルを使用していましたが、実際にはそれらは通常のエントリではなく頭字語でした。そのため、私の解決策と提示された解決策は、頭字語と通常のエントリが混在していたため機能しませんでした。最終的に解決策を見つけました。それが正しいことを願っています。レビューしていただければ幸いです。ありがとうございます。
\usepackage[linkbordercolor={black}]{hyperref}
[...]
\defglsentryfmt{%
\ifglsacronym%
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenacfmt]{\glslabel} %
\else
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenentryfmt]{\glslabel}%
\fi
}
答え1
これは私にとってはすぐに使えます。 のグループ化では、を使用した\glsentryfmt
後にリンク境界の色をリセットする必要はありません。\glslabel
\documentclass{article}
\usepackage{xcolor}
\usepackage[linkbordercolor={black}]{hyperref}
\usepackage{cleveref}
\usepackage{glossaries}
\newglossaryentry{foo}{%
name={Foo},
description={A foobar}
}
\renewcommand*{\glsentryfmt}{%
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenentryfmt]{\glslabel}%
}
\makeglossaries
\begin{document}
\section{Foo} \label{FOO}
In \Cref{FOO} we saw that \gls{foo}
\clearpage
\printglossaries
\end{document}
アップデート\thepagecolor
(まれに白以外のページカラーの場合)を使用するバージョン
\documentclass{article}
\usepackage{xcolor}
\usepackage{pagecolor}
\usepackage[linkbordercolor={black}]{hyperref}
\usepackage{cleveref}
\usepackage{glossaries}
\newglossaryentry{foo}{%
name={Foo},
description={A foobar}
}
\makeatletter
\renewcommand*{\glsentryfmt}{%
\hypersetup{linkbordercolor = \thepagecolor}\glshyperlink[\glsgenentryfmt]{\glslabel}%
}
\makeatother
\makeglossaries
\begin{document}
\pagecolor{yellow}
\section{Foo} \label{FOO}
In \Cref{FOO} we saw that \gls{foo}
\clearpage
\printglossaries
\end{document}