Fügen Sie zwischen Autor und Jahr ein Komma hinzu mit et al.

Fügen Sie zwischen Autor und Jahr ein Komma hinzu mit et al.

Ich verwende biblatexmit style=authoryearund maxcitenames=2. Für eine Referenz mit mehr als zwei Autoren erzeugt der \cite-Befehl

Erkus et al. 2010

und \textcite Befehl erzeugt

Erkus et al. (2010)

Ich möchte et al.nur für den \citeBefehl (aber nicht für den \textciteBefehl) ein Komma zwischen und dem Jahr hinzufügen, d. h.

Erkus et al., 2010

Erkus et al. (2010)

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

Funktioniert nur für Einzelautorenverweise (siehe diese Frage), funktioniert aber nicht mit der Kurzform von et al.für Referenzen mit mehr als zwei Autoren. Ich möchte to nicht \DefineBibliographyStringsneu definieren andothersund danach ein Komma hinzufügen, et al.da es auch dem Zitat ein Komma hinzufügt \textcite, was ich nicht möchte.

Ich habe Folgendes versucht (siehe diese Frage), hat aber nicht funktioniert:

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

Antwort1

Dies erreichen Sie durch Setzen der natbib=trueOption im \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}

Das Ergebnis:

Zitieren Sie mit einem Komma zwischen „et al.“ und dem Jahr und verwenden Sie die Textzitation ohne das besagte Komma.

Antwort2

\renewcommand*{\nameyeardelim}{\addcomma\space}sollte für funktionieren, unabhängig davon, ob Sie einen oder mehrere Autoren zitieren. In neueren Versionen von biblatex nameyeardelimist ein kontextsensitives Trennzeichen, was bedeutet, dass Sie \DeclareDelimFormates mit ändern sollten

\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 und Ryde, 1998; Aksın et al., 2006; Herrmann et al., 2006; Nussbaum, 1978//Sigfridsson und Ryde (1998), Aksın et al. (2006), Herrmann et al. (2006) und Nussbaum (1978)

Wenn Sie einen Blick aufblx-natbib.def, werden Sie sehen, dass es genau den gleichen Befehl verwendet, wie hier vorgeschlagen. Deshalb natbib=true(wie in vorgeschlagen)Alex'Antwort) ergibt ebenfalls das gewünschte Komma.

verwandte Informationen