我正在尝试制作一个列出多篇文章的引文,并希望它们按照我在 \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}