我正在寻找一种方法,在 \ref 未定义/缺失的地方,除了两个问号之外,还可以添加待办事项注释。
目前,我正在为任何我打算稍后完成的 \ref 手动编写 \todo。例如,我还没有实际图像。我希望看到这个自动完成。
答案1
修补\@setref
宏。
\documentclass{article}
\usepackage{todonotes}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@setref}{\ifx#1\relax}{\ifx#1\relax \todo{MISSING REFERENCE}}{}{}
\makeatother
\begin{document}
This is a missing reference: \ref{somefig}.
\end{document}
可能无法与每个使用 ref 机制执行某些操作的包一起使用。
更新:
对于包\autoref
中的hyperref
,添加(也在\makeatletter
和之间\makeatother
):
\ifdefined\HyRef@autosetref \patchcmd{\HyRef@autosetref}
{\else}{\else\todo{MISSING REFERENCE}}{}{}\fi