Ersatz mit "u.a." / "et al." ab dem zweiten Zitat Thema ist als GELÖST markiert

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Ersatz mit "u.a." / "et al." ab dem zweiten Zitat

Beitrag von andré01 »

Liebe Forum-Mitglieder,

eine Frage, die ich so im Internet nicht finde:

Im Zitat bei einer Quelle mehrere Autor*innen wird wird der erste Autor genannt, und der Rest durch "u.a." (oder "et al." je nach Einstellung; die Anzahl der genannten Autoren durch die Optionen maxcitenames und mincitenames einstellbar).

Wenn dieselbe Quelle mehrfach (mindestens zweimal) als Zitat benannt wird: Ist es möglich, bei der ersten Zitatangabe alle Autoren zu benennen, und ab der zweiten Zitatangabe die restlichen Autoren durch "u.a." (entsprechend den Optionen maxcitenames und mincitenames) zu ersetzen?

Mit anderen Worten: Ist es möglich, beim ersten Zitat einer Quelle die Substitution der Autoren durch "u.a." außer Kraft zu setzen (alle Autoren werden das erstemal benannt) und bei den folgenden Zitaten erfolgt die Substitution?

Ein Minimalbeispiel:

\begin{filecontents}{literatur.bib}
@Book{Testbuch,
	author  = {Max Nachname1 and Johanna Nachname2 and Peter Nachname3 and July Nachname4},
	title   = {Testbuch},
	editor  = {Ein Editor},
	address = {Beispielort},
	year    = {2020},
}

\end{filecontents}


\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[style=authoryear, firstinits=true, uniquename=false]{biblatex}
\addbibresource{literatur.bib}
\begin{document}
Zitat 1: \cite{Testbuch} \\
Nochmal dasselbe Zitat: \cite{Testbuch}
%\printbibliography
\end{document}

Klasse, wenn jemand eine Idee hat.

VG, André


Gast.

Beitrag von Gast. »

Versuch eines Lösungsvorschlags:

\documentclass[fontsize=12pt, ngerman, parskip]{scrartcl}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{xpatch}
\usepackage[
  style=authoryear, 
  giveninits, 
  uniquename=false, 
  citetracker,
  autocite=plain
]{biblatex}

\addbibresource{biblatex-examples.bib}

\xpatchbibmacro{cite}
  {\printnames{labelname}}
  {\ifciteseen
     {\printnames{labelname}}
     {\printnames[][-\value{listtotal}]{labelname}}}
  {}
  {}

\begin{document}
Zitat 1: \autocite{murray} \\
Nochmal dasselbe Zitat: \autocite{murray}
\printbibliography
\end{document}

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Ersatz mit "u.a." / "et al." ab dem zweiten Zitat

Beitrag von MoeWe »

Oder ohne Patchen, aber mit dem Nachteil, dass man (wie sonst mit maxnames auch) einen Maximalwert angeben muss

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
  style=authoryear,
  uniquename=false,
  giveninits=true,
  maxbibnames=999,
  citetracker,
]{biblatex}

\AtEveryCitekey{%
  \ifciteseen
    {}
    {\defcounter{maxnames}{999}}}

\addbibresource{biblatex-examples.bib}
\begin{document}
Zitat 1: \autocite{aksin}

Nochmal dasselbe Zitat: \autocite{aksin}

Zitat 2: \autocite{murray}

Nochmal dasselbe Zitat: \autocite{murray}

Zitat 3: \autocite{sigfridsson}

Nochmal dasselbe Zitat: \autocite{sigfridsson}

\printbibliography
\end{document}

andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Ersatz mit "u.a." / "et al." ab dem zweiten Zitat

Beitrag von andré01 »

Herzlichen Dank für die beiden Lösungen.

Es funktioniert. Ein kleiner Haken: Wenn sich die Namen der Autoren wiederholen, dann funktioniert die korrekte Substitution durch "u.a." nicht mehr.

Hier Korrekt - beim zweiten Zitat ab 3 Autoren auf 1 Autor reduziert:

\begin{filecontents}{literatur.bib}
@Book{Testbuch1,
	author  = {Max Nachname1 and Johanna Nachname2 and Peter Nachname3 and July Nachname4},
	title   = {TestbuchEins},
	editor  = {Ein Editor},
	address = {Beispielort},
	year    = {2020},
}
@Book{Testbuch2,
	author  = {Max Nachname5 and Johanna Nachname6 and Peter Nachname7 and July Nachname8 and Bernd Nachname9 and Tilda Nachname10},
	title   = {TestbuchZwei},
	editor  = {Ein Editor},
	address = {Beispielort},
	year    = {2021},
}
\end{filecontents}

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, maxbibnames=999, minbibnames=1, maxcitenames=2, mincitenames=1, firstinits=true, uniquename=false, giveninits=true, citetracker]{biblatex}

\AtEveryCitekey{%
  \ifciteseen
    {}
    {\defcounter{maxnames}{999}}}

\addbibresource{literatur.bib}
\begin{document}
Zitat 1: \autocite{Testbuch1} \\
Nochmal dasselbe Zitat: \autocite{Testbuch1} \\
Zitat 2: \autocite{Testbuch2} \\
Nochmal dasselbe Zitat: \autocite{Testbuch2}
\printbibliography
\end{document}

Wenn jedoch sich Autoren in einem anderen Werk wiederholen, dann funktioniert die Reduktion beim zweiten Zitat ab 3 Autoren auf 1 Autor nicht mehr korrekt:

\begin{filecontents}{literatur.bib}
@Book{Testbuch1,
	author  = {Max Nachname1 and Johanna Nachname2 and Peter Nachname3 and July Nachname4},
	title   = {TestbuchEins},
	editor  = {Ein Editor},
	address = {Beispielort},
	year    = {2020},
}
@Book{Testbuch2,
	author  = {Max Nachname1 and Johanna Nachname2 and Peter Nachname7 and July Nachname8 and Bernd Nachname9 and Tilda Nachname10},
	title   = {TestbuchZwei},
	editor  = {Ein Editor},
	address = {Beispielort},
	year    = {2021},
}
\end{filecontents}

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, maxbibnames=999, minbibnames=1, maxcitenames=2, mincitenames=1, firstinits=true, uniquename=false, giveninits=true, citetracker]{biblatex}

\AtEveryCitekey{%
  \ifciteseen
    {}
    {\defcounter{maxnames}{999}}}

\addbibresource{literatur.bib}
\begin{document}
Zitat 1: \autocite{Testbuch1} \\
Nochmal dasselbe Zitat: \autocite{Testbuch1} \\
Zitat 2: \autocite{Testbuch2} \\
Nochmal dasselbe Zitat: \autocite{Testbuch2}
\printbibliography
\end{document}

Das ist nun sehr speziell - ich nehme an, mit einer einfachen Programmierung ist das nicht mehr machbar. Oder gibt es dafür eine Lösung?

Jedenfalls herzlichen Dank für die Hilfe soweit schonmal.

André


Gast.

Beitrag von Gast. »

Was passiert, wenn Du uniquelist=false der Optionenliste hinzufügst?


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Ersatz mit "u.a." / "et al." ab dem zweiten Zitat

Beitrag von MoeWe »

Du wirst feststellen, dass dieses Verhalten vollkommen unabhängig davon auftritt, ob wir für das Erstzitat alle Namen erzwingen oder nicht.

Und in der Tat hängt das Verhalten mit der Option uniquelist zusammen, die gestern schon von Gast genannt wurde. Standardmäßig versucht biblatex uneindeutige Verkürzungen zu "Nachname1 et al." zu vermeiden, wenn es im Dokument mehrere Quellen mit "Nachname1" als Erstautorin gibt. Stattdessen werden so viele Namen ausgegeben, dass die Namensliste eindeutig verkürzt wird. Das verhindert den falschen Eindruck, dass bestimmte Werke von der gleichen Liste an Autorinnen ist. (Ein solches Vorgehen wird zum Beispiel vom APA-Stil gefordert: https://apastyle.apa.org/style-grammar- ... rst-author, wobei da explizit gefordert wird, dass das nur bei Quellen aus demselben Jahr passieren soll.) Dieses Verhalten von biblatex ist aber konfigurierbar, Du kannst es mit uniquelist=false, ganz ausschalten oder mit minyear auf das von der APA gewünschte Verhalten setzen.

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[
  style=authoryear,
  maxbibnames=999, minbibnames=1,
  maxcitenames=3, mincitenames=1,
  giveninits=true,
  uniquename=false,
  uniquelist=false,
  citetracker,
]{biblatex}

\AtEveryCitekey{%
  \ifciteseen
    {}
    {\defcounter{maxnames}{999}}}

\begin{filecontents}{\jobname.bib}
@book{Testbuch1,
  author  = {Max Nachname1 and Johanna Nachname2
             and Peter Nachname3 and July Nachname4},
  title   = {TestbuchEins},
  editor  = {Ein Editor},
  address = {Beispielort},
  year    = {2020},
}
@book{Testbuch2,
  author  = {Max Nachname1 and Johanna Nachname2
             and Peter Nachname7 and July Nachname8
             and Bernd Nachname9 and Tilda Nachname10},
  title   = {TestbuchZwei},
  editor  = {Ein Editor},
  address = {Beispielort},
  year    = {2021},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Zitat 1: \autocite{Testbuch1}

Nochmal dasselbe Zitat: \autocite{Testbuch1}

Zitat 2: \autocite{Testbuch2}

Nochmal dasselbe Zitat: \autocite{Testbuch2}

\printbibliography
\end{document}

(Da ich mit der APA auch was die Tatsache, dass "et al." plural sein sollte übereinstimme, habe ich maxcitesnames auf 3 gesetzt. Außerdem habe ich firstinits entfernt, denn die Option heißt jetzt giveninits und die ist schon vorhanden.)


andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Ersatz mit "u.a." / "et al." ab dem zweiten Zitat

Beitrag von andré01 »

Herzlich danke ich - es funktioniert!

Danke auch für den Hinweis, dass firstinits durch giveninits ersetzt wurde.

Ein kleiner Hinweis: Damit "et al." als plural wirkt, reicht es ja, maxcitenames=2 zu setzen. (2 Autoren werden noch genannt, ab 3 Autoren wird der erste genannt und die restlichen - mindestens 2 - durch "et al." angeführt.)

Vielen Dank!


Antworten