![任何類型的術語表條目都沒有超連結邊框,但仍然是超引用的](https://rvso.com/image/328836/%E4%BB%BB%E4%BD%95%E9%A1%9E%E5%9E%8B%E7%9A%84%E8%A1%93%E8%AA%9E%E8%A1%A8%E6%A2%9D%E7%9B%AE%E9%83%BD%E6%B2%92%E6%9C%89%E8%B6%85%E9%80%A3%E7%B5%90%E9%82%8A%E6%A1%86%EF%BC%8C%E4%BD%86%E4%BB%8D%E7%84%B6%E6%98%AF%E8%B6%85%E5%BC%95%E7%94%A8%E7%9A%84.png)
我希望除詞彙表中的連結之外的所有連結都具有 hyperref 的預設行為:對於它們來說,它們應該仍然是連結但沒有邊框
我開始使用\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}