我希望在编译时文档中所有断开的链接都变成紫色,而有效链接则显示为我设置的内部链接所显示的颜色。
例如,在以下文档的输出中
\documentclass{article}
\usepackage{amsthm,hyperref}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}\label{catfish}
\end{theorem}
Theorem \ref{catfish} implies the truth of Conjecture \ref{god}.
\end{document}
我希望工作参考不是紫色的,而损坏的参考则呈现为??,变成紫色。有没有合理的方法来实现?(如果这个问题本身就不好,或者之前没有明确说明,我很抱歉。)
附言:编制一份失效链接列表可能也很有用。我该怎么做呢?
谢谢。
答案1
\documentclass{article}
\usepackage{etoolbox}
\usepackage{xcolor}
\tracingpatches
\usepackage{amsthm,hyperref}
\newtheorem{theorem}{Theorem}
\makeatletter
\patchcmd{\@setref}{\bfseries ??}{\bfseries\color{red} undefined Label}{}{}
\makeatother
\begin{document}
\begin{theorem}\label{catfish}
\end{theorem}
Theorem \ref{catfish} implies the truth of Conjecture \ref{god}.
\end{document}