如何去除LaTeX模板中\ref和\cite链接的着色效果?
问题
在Overleaf平台使用学校提供的LaTeX模板时,生成的PDF查看器中\ref和\cite链接带有颜色标记,此前编写的LaTeX文档从未出现这种情况,请问是哪些设置导致了这些颜色标记?

以下是文档开头的设置代码:
\usepackage[english]{babel} \selectlanguage{english} %----------------------------------------------------------------- % Activating style packages %----------------------------------------------------------------- \usepackage[T1]{fontenc} \usepackage{textcomp} \usepackage{microtype} %----------------------------------------------------------------- % Settings for referencing (via Natbib) %----------------------------------------------------------------- \usepackage[backend=biber, style=apa]{biblatex} \addbibresource{ThesisExample.bib} %----------------------------------------------------------------- % Graphicx package and hyper referencing %----------------------------------------------------------------- \usepackage{graphicx} % Handles import graphics \usepackage{hyperref} % Hyper referencing \usepackage{lscape} % Landscape positioning pages \usepackage{url} % Include url codes \usepackage{booktabs} % Book quality tables %----------------------------------------------------------------- % Font selection %----------------------------------------------------------------- \usepackage{palatino} % Set palatino font \usepackage{mathpazo} % Idem, but for math environment %----------------------------------------------------------------- % Graphics settings %----------------------------------------------------------------- \DeclareGraphicsRule{.jpg}{bmp}{}{} \graphicspath{{./}} %----------------------------------------------------------------- % Removing indentation, include french (non US) spacing %----------------------------------------------------------------- %\setlength{\parindent}{0pt} % \newcommand{\mySkip}{0pt} \setlength{\parskip}{\mySkip} \frenchspacing %----------------------------------------------------------------- % Activate tikz and include some specific packages %----------------------------------------------------------------- \usepackage{tikz} \usetikzlibrary{snakes, calc, positioning} %----------------------------------------------------------------- % Latex logo (unclear what you need it for) %----------------------------------------------------------------- \usepackage{doc} %----------------------------------------------------------------- % Blank page %----------------------------------------------------------------- \newcommand*{\blankpage}{% \vspace*{\fill} \thispagestyle{empty} \clearpage } % end new command %----------------------------------------------------------------- % Hyper setup %----------------------------------------------------------------- \hypersetup{ pdftitle = {My thesis}, pdfauthor = {My name}, pdfsubject = {My topic}, hidelinks }
原因及解决办法
- 你已经在
\hypersetup里添加了hidelinks来隐藏链接的颜色和边框,但问题出在包的加载顺序:hyperref包需要尽量放在所有其他包的最后加载(除了少数特殊包如cleveref),而你的代码里hyperref是在tikz、doc等包之前加载的,这会导致hidelinks无法正常生效,甚至被后续包的设置覆盖,因此出现了颜色标记。 - 解决方法:把
\usepackage{hyperref}移到所有其他包的最后,保持\hypersetup在它之后即可。
调整后的核心代码片段示例:
% 先加载所有其他包... \usepackage{tikz} \usetikzlibrary{snakes, calc, positioning} \usepackage{doc} % 最后加载hyperref \usepackage{hyperref} % Hyper referencing \hypersetup{ pdftitle = {My thesis}, pdfauthor = {My name}, pdfsubject = {My topic}, hidelinks }
你也可以直接在加载hyperref时传入hidelinks选项,效果完全相同:
\usepackage[hidelinks]{hyperref}
内容的提问来源于stack exchange,提问作者Hans.nl
相关产品推荐
相关产品推荐

