如何使用哈佛(作者年份)格式来格式化引文标注

如何使用哈佛(作者年份)格式来格式化引文标注

论文需要用哈佛格式(又名作者年份格式)来格式化引用标注,例如:

格式要求

我的 *.tex 文件的内容如下:

 ...
 \usepackage{natbib,stfloats}
 \begin{document}%

 \citet{ananthanarayanan2011scarlett} create more replicas for hot files
 to simplify the scheduling decision-making. EC (erasure
 coding) to alleviate the low storage efficiency of multi-replicas in
 HDFS~\citep{sathiamoorthy2013xoring, subedi2015finger, xia2015tale}. The
 benefits of data prefetching have been widely
 discussed~\citep{prajapati2014locality,chen2012data}.

 \bibliographystyle{agsm}
 % \bibliographystyle{abbrvnat}
 % \setcitestyle{authoryear,open={(},close={)}}
 \bibliography{refs}
 \end{document}

最终结果并不如我所愿。问题在于:

  1. 对于两位作者,格式不是 (A 和 B,年份),而是 (A & B 年份)

  2. 对于三位或更多作者来说,不是 (A et al., year) 而是 ( A et al. year)

  3. 标注组应先按字母顺序列出,然后按时间顺序列出,但格式化的结果是(Zaharia et al. 2008, Magalhães et al. 2015),不是按字母顺序排列,并且标注没有用“;”分隔。

示例显示格式化的结果:

agsm 格式化结果

然后我转而将参考书目样式设置为abbrvnat

  \bibliographystyle{abbrvnat}
  \setcitestyle{authoryear,open={(},close={)}}

格式化的结果变为:

缩写 bst 格式

但是它仍然存在第一个字母顺序问题,并且它引发了另一个问题,即标注不是被“()”包围,而是被“[]”包围。

有人能帮我解决这个问题吗?这是 cite 命令的问题还是 bst 的配置问题?谁能给出一个简短的 cite 和配置示例,以便按要求格式化论文。谢谢!

答案1

对于参考书目样式的方法abbrvnat,请尝试发出指令

\setcitestyle{authoryear,round,semicolon} 

加载后natbib。因此,省略该open={(},close={)}部分。顺便说一句,每当对的参数进行更改时\setcitestyle,都应该完全重新编译文档——LaTeX、BibTeX 和 LaTeX 两次——以传播所有更改。

据我所知,natbib和引文管理包都按照输入(和)harvard中提供的顺序对格式化的引文调用进行排序。因此,恐怕您需要按照所需的顺序列出参数。\citep\citet\citep

相关内容