[Tex/LaTex] Comma after first author name in authoryear biblatex style with two authors

biblatexpunctuation

I am using the following:

\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}

However this gives:
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).

But I want:

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).

How can i add the comma?

Best Answer

Add to your preamble either:

\renewcommand*{\finalnamedelim}{%
%  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% DELETED
  \finalandcomma% ADDED
  \addspace\bibstring{and}\space}

or in case you don't want the additional comma in citations:

\AtBeginBibliography{%
  \renewcommand*{\finalnamedelim}{%
%    \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% DELETED
    \finalandcomma% ADDED
    \addspace\bibstring{and}\space}%
}

Output for the second variant:

enter image description here