禁止 natbib 警告

禁止 natbib 警告

pdflatex 的输出中充满了如下行:

Package natbib Warning: Citation `lee2004calder' on page 15 undefined on input
line 207.

我知道引用未定义,将来我会发现警告很有用,但它目前使 pdflatex 输出混乱。我想要一个no-warn选项,可以在我对 natbib 问题不感兴趣时​​启用,并在以后禁用。natbib 文档似乎没有任何类似的东西。

我怎样才能消除这些警告?

A类似问题没有有用的答案。

答案1

有一种可能性是xpatch软件包用于修补内部命令\NAT@citexnum\NAT@citex\nocite抑制它们针对未定义引用生成的警告。使用\NoWarnNat抑制警告;注释掉命令以激活警告:

\documentclass{article}
\usepackage{natbib}
\usepackage{xpatch}

\makeatletter
\newcommand\NoWarnNat{
\xpatchcmd{\NAT@citexnum}{\PackageWarning}{\let\PackageWarning\@gobbletwo\PackageWarning}{}{}
\xpatchcmd{\NAT@citex}{\PackageWarning}{\let\PackageWarning\@gobbletwo\PackageWarning}{}{}
\xpatchcmd{\nocite}{\PackageWarning}{\let\PackageWarning\@gobbletwo\PackageWarning}{}{}
}
\makeatother

\NoWarnNat% comment-out this line to activate the warnings

\begin{document}

\nocite{bbbb}
\cite{aaaa}

\bibliographystyle{plainnat}
\bibliography{biblio}
\end{document}

相关内容