aa
在 Overleaf 中,引用文档类别中的参考文献时A&A Latex 包装(摘自《天文学和天体物理学》杂志)并使用 TexLive2021 进行编译时,我收到警告Package natbib Warning: Citation 'knuth-acp' multiply defined
。但是,bib 文件仅包含一个条目,因此不应多次定义标签。
文档类和/或使用 TexLive2020 进行编译时不会出现警告article
。但是,我需要 TexLive2021 和另一个项目的文档类aa
(TexLive2021,因为我需要新版本的siunitx
包,而 TexLive2020 中没有这个版本)。
我知道我可以忽略警告,但原则上这可能会掩盖有关实际定义多次的标签的警告。
出现警告的原因是什么?我该如何解决?
最小工作示例(MWE)如下:
MWE(背面): https://www.overleaf.com/read/kqkzzqphzqyv
MWE(直接):
main.tex (tex 文件):
%\documentclass{article}
\documentclass[letter]{aa}
\usepackage{natbib}
\begin{document}
\cite{knuth-acp}
\bibliographystyle{aa}
\bibliography{lit_test}
\end{document}
lit_test.bib(bib 文件):
@book{knuth-acp,
author = "Donald E. Knuth",
publisher = "Addison-Wesley",
title = "The Art of Computer Programming",
series = "Four volumes",
year = "1968",
note = "Seven volumes planned",
keywords = "knuth,programming"
}
AA.BST:A&A Latex 包装(文件太长,无法粘贴)
AA.CLS:A&A Latex 包装(文件太长,无法粘贴)
答案1
正如 OP 指出的那样,TexLive2020
对于不需要的人来说,在 overleaf 配置中切换到 是一种快速的解决方法TexLive2021
。谢谢。
答案2
如果有人遇到这种情况,对我来说,请在 aa.cls 文件中注释掉从上到下\renewcommand*\enddocument{%
的各行,并在删除这些错误之前% \deadcycles\z@\@@end}
加上注释(不会破坏任何明显的内容)。\label{LastPage}
\end{document}