查找未解析的引用

查找未解析的引用

我如何找到未解析的引用?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}}

当然,您至少需要编译两次才能确保确实存在未定义的引用。

相关内容