biblatex \parencite 中的多个引用键缩写了作者

biblatex \parencite 中的多个引用键缩写了作者

我使用 Emacs/Auctex/Biblatex/Jabr​​ef 并遇到以下问题:如果我有超过四个引用,用逗号分隔,则\parencite引用会突然显示缩写的名字:

引用 4 处后显示如下:

Arnott 和 Rowse 2009;Arnott 和 Inci 2006;Arnott 和 Rowse 1999;Arnott 1998

引用 5 次后结果如下:

RJ Arnott、Palma 和 Lindsey 1991;R. Arnott 和 Rowse 2009;R. Arnott 和 Inci 2006;R. Arnott 和 Rowse 1999;R. Arnott 1998

这是一个错误还是一个功能?

答案1

您所看到的与 biblatex 尝试识别名称是否“唯一”的方式有关。它与引用次数无关。引发这一变化的原因是“RJ Arnott”的出现,加入了“R Arnott”的行列。

您没有说明您使用的是哪种风格,但我将使用标准authordate风格进行演示。假设我们有以下 MWE:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{jones:1,
  author = {Jones, R.},
  title  = {Titular Sees},
  publisher = {PubCo},
  date  = {1900}}
@book{jones:2,
  author = {Jones, R. L.},
  title = {Titles of Nobility},
  publisher = {PubCo},
  date = {1901}}
\end{filecontents}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{jones:1}
\end{document}

我们有一个.bib文件,里面有两件作品,作者叫 Jones,一件作品的首字母是“R”,另一件作品的首字母是“R L”。这些作品可能是也可能不是同一个人创作的。

然而,只要我们只引用其中一个,我们就只会得到姓氏:

琼斯 1900

现在如果我们改变引用方式,引用

\cite{jones:1, jones:2}

我们得到了一些不同的东西:

R.琼斯 1900 年;RL琼斯 1901 年

这完全合理。biblatex 无法“知道”这是同一个人(即使我们通常也无法确定)。

但是,如果我们认为这是错误的,我们可以做两件事。第一是uniquename=false加载 biblatex 时设置选项。在标准 authoryear 样式中设置该选项后,相同的引文现在会给我们

琼斯 1900;琼斯 1901

在作者/年份格式中,biblatex 仍然足够合理,可以添加必要的消歧义。例如,如果我们添加 Dr 的条目琼斯的作品也发表于 1900 年,并且uniquename是错误的,我们就会得到“琼斯 1900a”和“琼斯 1900b”的标签(而如果uniquename是真的,我们不需要也不会得到额外的字母,因为首字母已经消除歧义)。

第二种可能性当然是将我们的bib条目更改为完全相同,此时biblatex将不再尝试区分它们。因此,如果我们将的作者更改jones:1Jones, R. L.,那么即使uniquename=true我们得到

琼斯 1900;琼斯 1901

不过,总的来说,我认为书目编纂者会谨慎对待这种解决方案。严格来说,书目应该准确记录已出版书籍中包含的信息,而“悄悄地”添加或删除首字母是可疑的。不过我敢说你可以侥幸逃脱。

相关内容