我正在使用以下内容:
\documentclass{article}
\usepackage[american]{babel}
\usepackage{filecontents}
\usepackage[style=authoryear,%
natbib=true, % enable natbib macros
%firstinits=true, % use initials as first names
dashed=false, % do not use a dash instead of author name in case of several publications
useprefix=true,
maxnames=100, % in the bibliography show all names
maxcitenames=2, % in the text use et al. for more than 2
backref=true, % have backrefs in the bibliography
]{biblatex}
\setlength\bibitemsep{1mm}
\setlength\bibhang{1cm}
%print authors in smallcaps everywhere
\renewcommand*{\mkbibnamelast}[1]{%
\ifmknamesc{\textsc{#1}}{#1}}
\renewcommand*{\mkbibnameprefix}[1]{%
\ifboolexpr{ test {\ifmknamesc} and test {\ifuseprefix} }
{\textsc{#1}}
{#1}}
\def\ifmknamesc{%
\ifboolexpr{ test {\ifcurrentname{labelname}}
or test {\ifcurrentname{author}}
or ( test {\ifnameundef{author}} and test {\ifcurrentname{editor}} ) }}
\begin{filecontents}{\jobname.bib}
@Article{gillies,
author = {Gillies, Alexander and Mister Miller},
title = {Herder and the Preparation of Goethe's Idea of World Literature},
journaltitle = {Publications of the English Goethe Society},
volume = {9},
date = {1933},
pages = {46--67}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\citep{gillies}
\printbibliography
\end{document}
然而这给出了:
GILLIES, Alexander and Mister MILLER (1933). “Herder and the Preparation of Goethe’s Idea of World Literature.” In: Publications of the English Goethe Society 9, pp. 46–67 (cit. on p. 1).
但我想要:
GILLIES, Alexander, and Mister MILLER (1933). “Herder and the Preparation of Goethe’s Idea of World Literature.” In: Publications of the English Goethe Society 9, pp. 46–67 (cit. on p. 1).
我如何添加逗号?
答案1
在您的序言中添加:
\renewcommand*{\finalnamedelim}{%
% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% DELETED
\finalandcomma% ADDED
\addspace\bibstring{and}\space}
或者如果您不想在引用中添加逗号:
\AtBeginBibliography{%
\renewcommand*{\finalnamedelim}{%
% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% DELETED
\finalandcomma% ADDED
\addspace\bibstring{and}\space}%
}
第二种变体的输出: