
??
未定義の参照の代わりにタイプセットされる の書式を 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}
クリックせずにマウスオーバーするとツールヒントが表示されます: