目前,我的references
(不是引用)在最后一位作者姓名之间没有逗号,例如
Author, AB, CD Author 2012
Author, AB, CD Author et al. 2012
我想要的是:
Author, AB, CD Author, 2012
Author, AB, CD Author et al., 2012
根据要求,以下是我向 biblatex 提供的选项:
\usepackage[bibstyle=authoryear-icomp,
citestyle=authoryear-icomp,
uniquename=false,
uniquelist=false,
firstinits=true,
maxbibnames=5,
minbibnames=5,
maxcitenames=2,
mincitenames=1,
sorting=ynt,
url=false,
isbn=false,
eprint=false,
doi=false,
dashed=false,
natbib=true,
ibidtracker=false,
backend=biber]{biblatex}
%Remove comma in (Beadle and Tautum, 1941) This applies to citation only
\renewcommand*{\nameyeardelim}{\addspace}
答案1
一个可能的解决方案是使用该xpatch
包来修补date+extrayear
bibmacro,如下所示:
\usepackage{xpatch}
\xpretobibmacro{date+extrayear}{\unspace\addcomma\addspace}{}{}
编辑:这是补丁的说明。biblatex
文档包含一个bib latex.def
文件,其中有许多 bibmacro 和其他方面的定义,其中包括打印哪些 bib 字段以及何时打印 bib 字段以及打印它们的格式化说明。然后biblatex
包括standards.blx
。此文件中有驱动程序的定义。驱动程序的定义指定了各种元素的顺序。日期/年份不会直接出现在主驱动程序中,但它会出现在 biblatex 宏中。例如,对于样式,authoryear
它出现在生成作者/编辑者的宏中(并且调用authoryear-icomp
样式authoryear
(用于参考)。
答案2
以防 2018 年仍有人对此感兴趣。
现在可以使用biblatex
上下文敏感分隔符轻松实现这一点
\DeclareDelimFormat[bib,biblist]{nameyeardelim}{\addcomma\space}