我如何找到未解析的引用?LaTeX 会在某处告诉我这个吗?是在日志文件中吗?LaTeX 输出只是说我有未解析的引用,但它没有告诉我它们是什么,还是有?谢谢
答案1
是的。如果您编译了以下包含未标记引用的文档:
\documentclass{article}
\begin{document}
\ref{abc}
\end{document}
您的.log
遗嘱包含(除其他事项外):
LaTeX 警告:第 1 页上的引用“abc”在输入第 3 行未定义。
最后(几乎像一个总结)也将是这样结束的:
LaTeX 警告:存在未定义的引用。
通知您有些不对劲。您还可以通过??
在文档中搜索来了解这些内容的位置 - 未定义(或未解析)引用的默认定义 - 如以下定义所示\ref
(来自latex.ltx
):
\def\@setref#1#2#3{%
\ifx#1\relax
\protect\G@refundefinedtrue
\nfss@text{\reset@font\bfseries ??}%
\@latex@warning{Reference `#3' on page \thepage \space
undefined}%
\else
\expandafter#2#1\null
\fi}
\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
\@secondoftwo{#1}}
当然,您至少需要编译两次才能确保确实存在未定义的引用。