我有一个参考书目,其中某位作者在同一年写了两篇论文。 Bibtex 按标题字母顺序对它们进行排序,但我希望按时间顺序列出它们。 (因此在下面的例子中,“通用语法”应该在“英语作为形式语言”之前。)翻转顺序的适当方法是什么?
梅威瑟:
\documentclass{article}
\usepackage{natbib}
\begin{document}
... formal semantics in the Montagovian tradition \citep{montague1970aug,montague1970befl,montague1973ptq}.
\bibliographystyle{harvard}
\bibliography{test}
\end{document}
这生成了文本“蒙塔戈维亚传统中的形式语义学(Montague,1970b,a,1973)”,而我实际上想要的是“1970a,b,1973”。
MWE 的 test.bib 文件:
@incollection{montague1973ptq,
title={The proper treatment of quantification in ordinary {English}},
author={Montague, Richard},
booktitle={Approaches to natural language},
editor={Hintikka, K. Jaakko J. and Moravcsik, Julius M.E. and Suppes, Patrick},
pages={221--242},
year={1973},
publisher={Dordrecht}
}
@article{montague1970aug,
title={Universal grammar},
author={Montague, Richard},
journal={Theoria},
volume={36},
number={3},
pages={373--398},
year={1970},
publisher={Blackwell Synergy}
}
@incollection{montague1970befl,
title={English as a formal language},
author={Montague, Richard},
booktitle={Linguaggi nella Societa e nella Tecnica},
editor={Visentini, Bruno and others},
publisher={Edizioni di Comunità},
pages={189--224},
year={1970}
}
答案1
由于排序顺序为 1. 年份,2. 按标题按字典顺序排列,因此您可以为标题提供一个模拟参数:将其写入您的 LaTeX 文档中
\newcommand{\mockalph}[1]{}
并分别插入标题为
title={{\mockalph{bbbbb}}Universal grammar},
title={{\mockalph{ccccc}}English as a formal language},
这样排序将相对于bbbbb
和ccccc
,无论如何都不会被打印。
为什么不是aaaaa
第一次?好吧,如果你发现一本由 Montague 写的书在《通用语法》之前出版过,……
答案2
使用sort
选项
\usepackage[sort]{natbib}