如何使 hyperref 中的 *ONE* 特定链接/引文褪色?

如何使 hyperref 中的 *ONE* 特定链接/引文褪色?

阅读后hyperref 文档,我已使用以下方式为 hyperref 设置了几种颜色选项:

\usepackage[colorlinks, 
            linkcolor={blue!50!black}, 
            citecolor={blue!50!black}, 
            urlcolor={blue!50!black}]{hyperref} 

现在所有链接、参考资料都按预期着色。

问题是,我也发现一些有颜色的地方不受欢迎。我要么想消除颜色或将其着色成不同颜色。

例如,标题页,其中精心设计的其余颜色被我想要链接的几个电子邮件地址所干扰。

请注意,我想保留链接,但只对其余链接进行着色/褪色。有什么办法吗?

我认为任何能够强制的解决方案都应该有效着色/褪色特定的文本元素,覆盖稍后将在全球范围内应用的格式/颜色。

答案1

从以下网址获取答案hyperref 在目录中本地更改链接颜色禁用本地颜色链接或仅针对目录,这是我本人对原帖者的更具体的回答。

希望它比上面的更容易理解和理解。(尤其是对于以下问题目录-特定,这可能是我一开始没有找到的原因)


主要的是\hypersetup{},用于设置包hyperref外部\usepackage[..]{hyperref}调用的任何选项,不仅可以在标题内全局起作用,而且本地在正文中。因此,用括号括起来,它会将这些选项应用于任何文本块。

因此具体解决办法为着色问题是使用如下所示的内容。

对于脱色:

{\hypersetup{hidelinks}<TEXT-OF-INTEREST>}

对于不同颜色:

{\hypersetup{allcolors=<COLOR-OF-UR-WISH>}<TEXT-OF-INTEREST>}

以下列出一些示例,分别包含电子邮件、带锚点的 URL、URL、引文、参考文献、整个目录或整个部分:

<TEXT-OF-INTEREST>  =  \href{mailto:[email protected]}{[email protected]} 
<TEXT-OF-INTEREST>  =  \href{www.URL.com}{anchor-text} 
<TEXT-OF-INTEREST>  =  \url{www.URL.com} 
<TEXT-OF-INTEREST>  =  \cite{XYZ}
<TEXT-OF-INTEREST>  =  \ref{XYZ}
<TEXT-OF-INTEREST>  =  \tableofcontents
<TEXT-OF-INTEREST>  =  \section{....} ....... block of text .....

感谢@Torbjørn T。


无论是否经常需要,您可能更喜欢将其用作用户命令

对于脱色:

\newcommand{\discolorlinks}[1]{{\hypersetup{hidelinks}#1}}

用法:\discolorlinks{<TEXT-OF-INTEREST>}

对于不同颜色:

最普遍的一种(作为\textcolor)是在强制使用特定颜色的情况下全部文本块内的链接/URL/引文(可以根据需要使用citecolorurlcolor、等选项自定义更多内容linkcolor):

\newcommand{\colorlinks}[2]{{\hypersetup{allcolors=#1}#2}}

使用示例:\colorlinks{red}{<TEXT-OF-INTEREST>}

相关内容