将首字母缩略词列表中全名的首字母缩略词超链接颜色更改为黑色(但保留超链接)

将首字母缩略词列表中全名的首字母缩略词超链接颜色更改为黑色(但保留超链接)

我正在使用缩写包(在 classicthesis 中),并尝试选择性地更改缩写列表中缩写全名的超链接颜色,同时保留 hyperref 中为缩写列表中的缩写以及文本内缩写实例设置的标准超链接颜色。因此,我希望避免在缩写列表中看到整页彩色文本的视觉体验。

类似的问题也曾在 无特殊颜色的首字母缩略词超链接 以及在 classicthesis 中,将首字母缩略词超链接颜色更改为黑色,但将交联保留为蓝色

然而,答案似乎只是删除了文内首字母缩略词超链接的颜色,而保持首字母缩略词列表中的缩写和全名超链接的颜色不变。

我想避免使用缩写选项“nohyperlinks”,因为它会以没有超链接为代价删除颜色。

以下是 MWE:

\documentclass{article}
\usepackage{acronym}
\usepackage[colorlinks=true]{hyperref}

% This solution (see linked questions) only removes hyperlink colour from the
% in-text acronym, but not from the acronyms listed in the acronym environment
\makeatletter
\AtBeginDocument{%
  \renewcommand*{\AC@hyperlink}[2]{%
    \begingroup
      \hypersetup{hidelinks}%
      \hyperlink{#1}{#2}%
    \endgroup
  }%
}
\makeatother

\begin{document}

% in-text acronym
\ac{foo} and \ac{foo}

% acronym list in the acronym environment
\begin{acronym}
\acro{foo}[FB]{FooBar}
\end{acronym}

\end{document}

缩写 MWE 输出

同样,与上述解决方案相反,我只想删除首字母缩写词列表中的超链接颜色,理想情况下只删除全名(首字母缩写词和全名都不着色也可以)。

提前谢谢了!

答案1

我遇到了完全相同的问题。这是我的简单但粗暴的方法:

acronym环境中,您可以定义一个新命令来控制我需要的文本颜色:

...
\begin{acronym}
  % Define a new command `blacro` to print the long form in black
  \newcommand{\blacro}[2]{\acro{#1}{\color{black}#2}}
  
  % Make sure to use the newly defined command
  \blacro{foo}[FB]{FooBar} 
\end{acronym}

这种通过以您想要的颜色渲染第二个参数来修饰原始命令(我正在使用\color{black})。您可以添加另一个参数,以便定义适用于任何颜色的更通用的命令。

我还没有用你的例子测试过它,但它在 Classic Thesis 中对我来说是有效的。

相关内容