自动突出显示未定义的引用

自动突出显示未定义的引用

有没有办法强制 LaTeX 自动更改排版的 格式??来代替未定义的引用?例如,可以让 LaTeX 在 后面绘制黄色“突出显示”背景??,或将 渲染??为红色文本?

我希望在浏览 PDF 输出时更容易发现这些未定义的引用。

MWE 将是

\documentclass{article}
\begin{document}
\ref{undefinedReference}
\end{document}

如果它可以适用于未定义的书目引用以及未定义的交叉引用,那就太好了。

答案1

我想你不会错过这个:

\documentclass{article}
\usepackage{color}
\makeatletter

\def\@setref#1#2#3{%
  \ifx#1\relax
   \protect\G@refundefinedtrue
   \nfss@text{\reset@font\bfseries\huge\textcolor{red}{DEFINE #3 NOW, AND MAKE IT QUICK!}}%
   \@latex@warning{Reference `#3' on page \thepage \space
             undefined}%
  \else
   \expandafter#2#1\null
  \fi}

\makeatother
\begin{document}
\ref{undefinedReference}
\end{document}

答案2

根据 David 的回答,这里有一个将 PDF 注释作为“黄色“突出显示”背景”的解决方案:

\documentclass{article}
\usepackage[rgb]{xcolor}
\usepackage{pdfcomment}
\makeatletter

\def\@setref#1#2#3{%
  \ifx#1\relax
   \protect\G@refundefinedtrue
   \nfss@text{\reset@font\bfseries\pdfmarkupcomment[color=yellow,author={RefCheck Assistant}]{??}{DEFINE #3 NOW, AND MAKE IT QUICK!}}%
   \@latex@warning{Reference `#3' on page \thepage \space
             undefined}%
  \else
   \expandafter#2#1\null
  \fi}

\makeatother
\begin{document}
see \ref{undefinedReference}
\end{document}

在此处输入图片描述

无需单击和鼠标悬停,您就会获得工具提示:

在此处输入图片描述

相关内容