Latex中改变文献、图表、外部网址等超链接的颜色命令

目录嗨

  • 常规设置
  • 异常显示
  • 结果

常规设置

在导言区(\begin{document}前面)的最后面加入以下代码,正常情况下编译运行即可成功。

\definecolor{mycustompurple}{RGB}{154, 36, 79} % 定义自己的颜色
\usepackage[utf8]{inputenc}
% \usepackage{xcolor} % 引入颜色宏包
\usepackage{hyperref} % 引入超链接宏包

\hypersetup{
    colorlinks=true,            % 激活链接颜色,去掉链接边框
    linkcolor=red,              % 文档内部链接颜色(如图表等引用)
    citecolor=green,            % 文献引用链接颜色
    filecolor=mycustompurple,   % 文件链接颜色
    urlcolor=magenta            % 外部URL链接颜色
}

异常显示

如果没有正常显示或者显示成其他颜色的话,可能是你使用的文档类强制更改了相关设置,例如elsarticle文档类中有如下代码

\AtBeginDocument{\@ifpackageloaded{hyperref}
  {\def\@linkcolor{blue}
   \def\@anchorcolor{blue}
   \def\@citecolor{blue}
   \def\@filecolor{blue}
   \def\@urlcolor{blue}
   \def\@menucolor{blue}
   \def\@pagecolor{blue}
\begingroup
  \@makeother\`%
  \@makeother\=%
  \edef\x{%
    \edef\noexpand\x{%
      \endgroup
      \noexpand\toks@{%
        \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
        \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
      }%
    }%
    \noexpand\x
  }%
\x
\@makeother\`
\@makeother\=
}{}}

2023.11.8 ChatGPT-4解读如下:

elsarticle文档类中,这个\AtBeginDocument命令在文档开始时检查hyperref宏包是否已加载。如果已加载,它将设置所有超链接的颜色为蓝色。
这段代码中的\def命令重新定义了一系列与超链接相关的颜色设置命令(比如\@linkcolor\@citecolor\@urlcolor等),将它们都设置为蓝色。由于这些命令是在\AtBeginDocument中定义的,它们会在文档正文开始前生效,这意味着即使你在导言区通过\hypersetup命令设置了不同的颜色,这些颜色也可能会被这段代码重置为蓝色。
要解决这个问题,你可以在导言区的\hypersetup命令后面再次调用\AtBeginDocument,以确保你的颜色设置能够覆盖elsarticle的默认设置:

\AtBeginDocument{
  \hypersetup{
    linkcolor=red,      % 重新设置内部链接颜色为红色
    citecolor=green,    % 重新设置引用链接颜色为绿色
    filecolor=mycustompurple,  % 重新设置文件链接颜色为品红
    urlcolor=magenta       % 重新设置URL链接颜色为蓝色
  }
}

结果

Latex中改变文献、图表、外部网址等超链接的颜色命令_第1张图片

你可能感兴趣的:(深度学习,Latex)