Biblatex:有两位作者时第一作者后有逗号

Biblatex:有两位作者时第一作者后有逗号

在我的参考书目中,当只有两位作者时,我希望在第一作者后加一个逗号(即,我希望在最后一位(=第一位)作者前加一个逗号)。之前已经讨论过当只有两位作者时在第一作者后加一个逗号的问题:作者年份 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}%
  }

相关内容