在我的参考书目中,当只有两位作者时,我希望在第一作者后加一个逗号(即,我希望在最后一位(=第一位)作者前加一个逗号)。之前已经讨论过当只有两位作者时在第一作者后加一个逗号的问题:作者年份 biblatex 样式中第一作者姓名后的逗号表示有两个作者或者Biblatex --- 如何在两个名字之前和之间添加逗号
虽然建议的解决方案不能完全解决我的问题(因为当作者超过两个时我不想要那个逗号),但这些解决方案对我来说无论如何都不起作用 - 在我看来,这是因为我使用了 ngerman-babel。我从来没有在“und”之前看到逗号。
有人可以帮忙吗?
梅威瑟:
\documentclass{article}
\usepackage[style=authoryear, citestyle=authoryear-comp]{biblatex}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{lennon1971,
AUTHOR = "John Lennon and Second Author",
TITLE = "My really long book on my life",
YEAR = "1971",
LOCATION = "Liverpool",
PUBLISHER = "Penny Lane Press"}}
@BOOK{mccartney1979,
AUTHOR = "Paul McCartney and Second Author and Third Author",
TITLE = "Penny Lane is still in my ears",
YEAR = "1979",
LOCATION = "New York",
PUBLISHER = "Peter Alden"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
答案1
您可以\finalnamedelim
使用内部计数器重新定义listtotal
:
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\ifnumequal{\value{listtotal}}{2}{\addcomma\space}{\addspace\bibstring{and}\space}%
}