如何更改引文中的作者顺序

如何更改引文中的作者顺序

我正在尝试制作一个列出多篇文章的引文,并希望它们按照我在 \citep{} 命令中提供的顺序进行排序。但是 latex 似乎将它们更改为按字母顺序排列。

\documentclass[10pt, oneside]{article} 

\usepackage{cite}

\usepackage{natbib}


\citep{zen2001, all2004, chez2007}


\bibliographystyle{agsm}

这将产生如下输出: (All 2004, Chez 2007, Zen 2001) 虽然我希望它按照这样的顺序排列,但我将其放在命令中,如下所示 (Zen 2001, All 2004, Chez 2007)

我只希望引用中的顺序按时间顺序排列,而不是实际参考列表中的顺序,我希望按字母顺序排列。希望有人能帮忙。

答案1

为了获得所需的引用标注格式,您需要编写

(\citealt{zen2001, all2004, chez2007})

由于agsm样式是引用管理包的一部分harvard,您还应该加载该har2nat包以确保与完全兼容natbib

在此处输入图片描述

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{zen2001,
  author  = "Zoe Zen",
  title   = "Thoughts",
  journal = "Circularity Today",
  year    = 2001,
  volume  = 1,
} 
@article{all2004,
  author  = "Anna All",
  title   = "Further Thoughts",
  journal = "Circularity Today",
  year    = 2004,
  volume  = 4,
}
@article{chez2007,
  author  = "Chad Chez",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 2007,
  volume  = 7,
}
\end{filecontents*}
\usepackage[round, authoryear]{natbib}
\setcitestyle{citesep={,}}  % not required, but useful to state anyway
\usepackage{har2nat} % emulate macros of "harvard" package
\bibliographystyle{agsm}

\begin{document}
(\citealt{zen2001, all2004, chez2007})
\bibliography{\jobname}
\end{document}

相关内容