在我的参考书目中,有同一位作者使用不同名字发表的条目。Biber(自然)无法识别出作者是否相同,因此会按姓名字母顺序对条目进行排序。有没有办法告诉 Biber 这些名字相同,以便按年份排序?
在以下示例中,2000 年的条目出现在 1990 年的条目之前,因为“Richard”出现在“Richie”之前。我想要的是按年份对条目进行排序:
\documentclass{article}
\usepackage{filecontents}
\usepackage[style=authoryear,sorting=nyt]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{smith1990,
author = "Smith, Richie",
title = "First Entry",
year = "1990"}
@book{smith2000,
author = "Smith, Richard",
title = "Second Entry",
year = "2000"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{smith1990,smith2000}
\printbibliography
\end{document}
我知道我可以添加key
:
@book{smith1990,
key = "Smith, Richard, 1990",
@book{smith2000,
key = "Smith, Richard, 2000",
但是,我不知道 Biber 通常如何计算key
,所以我不知道lastname, givenname, year
当参考书目中有其他条目时,我的格式是否能正确排序。此外,我理想情况下希望有一个解决方案,仅有的需要在smith1990
条目中指定一些内容。
答案1
Alan Munn 链接的问题很相关,但我认为,只需使用 即可获得所需的排序sortname
。这样做的好处是,它只会在排序时覆盖author
或editor
。因此,如果您切换到不同的引用或参考书目样式,则不会有来自参考书目的硬编码排序扭曲结果。 的值只会在或 的sortname
值产生影响时产生影响。author
editor
\begin{filecontents}[overwrite]{\jobname.bib}
@book{smith1990,
author = "Smith, Richie",
sortname = {Smith, Richard},
title = "First Entry",
year = "1990"}
@book{smith2000,
author = "Smith, Richard",
title = "Second Entry",
year = "2000"}
\end{filecontents}
\documentclass{article}
\usepackage[style=authoryear,sorting=nyt]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{smith1990,smith2000}
\printbibliography
\end{document}