我正在使用 natbib 包和 plainnat 样式。我需要创建“Author et al. (2000)”的引文标注。
在序言中,我已经\usepackage[authoryear]{natbib}
。
在文本中,我使用了\citet{ref}
。这应该会生成“Author et al. (2000)”。
问题是 natbib 拒绝显示这样的引用;相反,它只显示(1)
。但是,如果我写的话\citeauthor{ref} \citeyearpar{ref}
就可以了:“Author et al. (2000)”。
问题是什么?natbib 似乎忽略了命令 \citet
答案1
(评论太长,因此作为答案发布)
书目样式plainnat
与引文管理包结合使用时natbib
,绝对能够生成作者年份样式的引文标注。您的代码中一定发生了一些事情,导致引文标注样式从作者年份变为数字。以下假设并不相互排斥:
您和/或您使用的文档类是否可能多次加载 natbib 包,且选项有冲突?具体来说,是否
numbers
在任何重复的natbib
加载操作中指定了该选项?包裹装好
\setcitestyle
后有什么指示吗?natbib
包裹装好
\bibpunct
后有什么指示吗?natbib
\bibliographystyle
文档中是否有多条指令?
一个快速而粗略的修复方法是重新安装作者年份样式的引用标注,插入指令
\setcitestyle{authoryear}
紧接在之前\begin{document}
。