Undefinierte Referenzen automatisch hervorheben

Undefinierte Referenzen automatisch hervorheben

Gibt es eine Möglichkeit, LaTeX dazu zu zwingen, die Formatierung von automatisch zu ändern, ??die anstelle einer undefinierten Referenz gesetzt wird? Kann man LaTeX beispielsweise dazu bringen, einen gelben „Highlight“-Hintergrund hinter das zu zeichnen ??oder das ??in rotem Text darzustellen?

Ich möchte, dass diese undefinierten Referenzen beim flüchtigen Lesen der PDF-Ausgabe leichter zu erkennen sind.

Ein MWE wäre

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

Besonders schön wäre es, wenn dies auch für undefinierte bibliografische Zitate sowie undefinierte Querverweise funktionieren würde.

Antwort1

Ich glaube nicht, dass Sie das vermissen werden:

\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}

Antwort2

Basierend auf Davids Antwort ist hier eine Lösung mit PDF-Anmerkungen als „gelber „Highlight“-Hintergrund“:

\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}

Bildbeschreibung hier eingeben

ohne Klick und Mouseover erhältst du einen Tooltip:

Bildbeschreibung hier eingeben

verwandte Informationen