Agregue una coma entre el autor y el año con et al.

Agregue una coma entre el autor y el año con et al.

Estoy usando biblatexcon style=authoryeary maxcitenames=2. Para una referencia con más de dos autores el comando \cite produce

Erkus et al. 2010

y el comando \textcite produce

Erkus et al. (2010)

Me gustaría agregar una coma entre et al.y el año solo para el \citecomando (pero no para el \textcitecomando), es decir,

Erkus et al., 2010

Erkus et al. (2010)

\renewcommand*{\nameyeardelim}{\addcomma\space}

Funciona solo para referencias de un solo autor (ver esta pregunta), pero no funciona con el uso abreviado de et al.para referencias con más de dos autores. No quiero usar \DefineBibliographyStringspara redefinir andothersy agregar una coma después, et al.ya que también agrega una coma a \textcitela cita, lo cual no quiero.

Intenté lo siguiente (ver esta pregunta) pero no funcionó:

\renewcommand*{\nameyeardelim}{%
     \ifnumgreater{\value{listcount}}{2}{\nameyeardelim}{\addcomma\space}%
     \ifnumequal{\value{listcount}}{1}{\nameyeardelim}{\addcomma\space}%
}

Respuesta1

Puede lograr esto configurando la natbib=trueopción en \usepackagefor biblatex.

MWE:

\begin{filecontents*}{database.bib}
@inproceedings{erkus_2010,
  title = {Title},
  booktitle = {Book Title},
  date = {2010},
  author = {Erkus, Firstname and Lastname, Firstname and Lastname Anotherfirstname}
}
\end{filecontents*}

\documentclass[]{article}

\usepackage{filecontents}

\usepackage[style=authoryear, maxcitenames=2, backend=biber, natbib=true] {biblatex}

\addbibresource{database.bib}

\begin{document}

Cite: \cite{erkus_2010}

Textcite: \textcite{erkus_2010}

\end{document}

Que produce:

Citar con coma entre 'et al.' y año, y textcite sin dicha coma.

Respuesta2

\renewcommand*{\nameyeardelim}{\addcomma\space}debería funcionar independientemente de si cita uno o más autores. En versiones recientes de biblatex nameyeardelimes un delimitador sensible al contexto, lo que significa que debes usarlo \DeclareDelimFormatpara modificarlo.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, maxcitenames=2, backend=biber]{biblatex}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson,aksin,herrmann,nussbaum}

\textcite{sigfridsson,aksin,herrmann,nussbaum}

\printbibliography
\end{document}

Sigfridsson y Ryde, 1998; Aksın et al., 2006; Herrmann et al., 2006; Nussbaum, 1978//Sigfridsson y Ryde (1998), Aksın et al. (2006), Herrmann et al. (2006) y Nussbaum (1978)

Si echas un vistazo ablx-natbib.def, verá que utiliza exactamente el mismo comando que se sugiere aquí. Por eso natbib=true(como se sugiere enAlex'respuesta) también produce la coma deseada.

información relacionada