我正在使用 Elsevier 的文章文檔類別。
我的书目出现以下错误(输出.aux):
Package natbib Error: Bibliography not compatible with author-year citations.
(natbib) Press <return> to continue in numerical citation style.
重现该错误的最小代码是:
\documentclass[times,twocolumn,final,authoryear]{elsarticle}
\usepackage{prletters}
\usepackage{framed,multirow}
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{amsmath}
\usepackage{url}
\usepackage{xcolor}
\definecolor{newcolor}{rgb}{.8,.349,.1}
\journal{Pattern Recognition Letters}
\begin{document}
\cite{Brodatz1966}
\bibliographystyle{elsarticle-num}
\bibliography{refs}
\end{document}
每当我改变\bibliographystyle{elsarticle-num}行至\bibliographystyle{elsarticle-harv}或者\bibliographystyle{elsarticle-num-names}错误消失,它正常工作,但引用的格式不是我想要的。我试图把它放在方括号里,比如[23],但 elsarticle-harv 的结果类似布罗达兹 (1966)。
refs.bib 文件包含 Brodatz1966 引用:
@BOOK{Brodatz1966,
title = {Textures: a photographic album for artists and designers},
publisher = {Dover Publications},
year = {1966},
author = {Brodatz, P.},
series = {Dover pictorial archives},
lccn = {66024124}
}
任何帮助都将不胜感激。提前致谢。
答案1
由于您要创建数字样式的引用标注,因此您不应该authoryear
在此\documentclass
阶段指定该选项。
该authoryear
选项被传递给natbib
引文管理包。由于elsarticle-num
参考书目样式(毫不奇怪……)旨在创建数字样式而不是作者年份样式的引文标注,因此会生成错误消息。
完整的 MWE:
\RequirePackage{filecontents}
\begin{filecontents}{refs.bib}
@BOOK{Brodatz1966,
title = {Textures: a photographic album for artists and designers},
publisher = {Dover Publications},
year = {1966},
author = {Brodatz, P.},
series = {Dover pictorial archives},
lccn = {66024124}
}
\end{filecontents}
\documentclass[times,twocolumn]{elsarticle}
\bibliographystyle{elsarticle-num}
%%%\usepackage{prletters} % I don't seem to have this package
\usepackage{amssymb}
%%%\usepackage{latexsym} % <-- don't load latexsym if you load amssymb
\journal{Pattern Recognition Letters}
\begin{document}
\cite{Brodatz1966}
\bibliography{refs}
\end{document}