biblatex-apa: Mehrere Zitate in denselben Klammern mit demselben Erstautor, aber verschiedenen Co-Autoren werden zusammengefasst

biblatex-apa: Mehrere Zitate in denselben Klammern mit demselben Erstautor, aber verschiedenen Co-Autoren werden zusammengefasst
@MISC{john_big_1991,
  author = {John, Oliver P. and Donahue, E. M. and Kentle, R. L.},
  title = {The Big Five Inventory--Versions 4a and 54},
  date = {1991},
  langid = {american},
  publisher = {Berkeley, {CA:} University of California, Berkeley, Institute of
    Personality and Social Research}
}

@INCOLLECTION{john_paradigm_2008,
  author = {John, Oliver P. and Naumann, Laura P. and Soto, Christopher J.},
  editor = {John, Oliver P. and Robins, Richard W. and Pervin, Lawrence A.},
  title = {Paradigm Shift to the Integrative Big Five Trait Taxonomy: History,
    Measurement, and Conceptual Issues},
  booktitle = {Handbook of personality: theory and research},
  date = {2008},
  edition = {3},
  publisher = {Guilford Press},
  location = {New York},
  isbn = {9781593858360},
  pages = {114-158},
  langid = {american}
}

Diese beiden BibLaTeX-Einträge werden in denselben Klammern mit ... zitiert.

\parencite{john_big_1991, john_paradigm_2008}

...führt zu folgender Zitatausgabe:

(John, Donahue und Kentle, 1991, 2008)

Da es sich bei den Co-Autoren offensichtlich nicht um dieselben Personen handelt, auch wenn es sich um den Erstautor handelt, sollte dies meiner Ansicht nach nicht passieren.

Meine Babel- und BibLaTeX-Einstellungen sind wie folgt:

\usepackage[american,ngerman]{babel}
\usepackage[
    style=apa,
    sortcites=true,
    sorting=nyt,
    backend=biber,
    autolang=other
    ]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa} % for language switching
\DeclareLanguageMapping{american}{american-apa} % for language switching

Ich unterdrücke auch einige Felder wie die URL und definiere einige Bibliografiezeichenfolgen neu, aber ich gehe davon aus, dass dies nicht die Ursache des gemeldeten Problems sein sollte.

Auch wenn ich das Zitat umkehre ...

\parencite{john_paradigm_2008, john_big_1991}

...und Sortierung deaktivieren, dann ist meine Ausgabe:

(John, Naumann & Soto, 2008, 1991)

Gibt es eine BibLaTeX-Einstellung, die ich übersehen habe und die dieses Problem behebt, oder ist dies das erwartete Verhalten?


BEARBEITEN:Ich würde erwarten, dass die erste Mehrfachzitierung folgendermaßen aussieht:

(John, Donahue & Kentle, 1991; John, Naumann & Soto, 2008)

Ich habe wirklich keine Ahnung, wie mögliche nachfolgende Mehrfachzitate mit denselben Referenzen aussehen sollen. Folgendes würde zumindest seltsam erscheinen, wie von moewe in seiner Antwort unten angegeben:

(John et al., 1991; John et al., 2008)

Antwort1

Wie in meinen Kommentaren oben erläutert, hängt dies mit der Art und Weise zusammen, wie mit biblatex-apanachfolgenden Zitaten verfahren wird.

Im APA-Stil muss die erste Zitierung eine vollständige Autorenliste enthalten, während nachfolgende Zitierungen nur eine sehr kurze gekürzte Bezeichnung haben, die normalerweise aus dem ersten Autor plus „et al.“ besteht. Dies wird in apa.cbxdurch ein sehr spezielles labelnameFormat umgesetzt, das labelnamejedoch beim ersten Vorkommen nicht gedruckt wird. Dieses Verhalten führt dazu, dass der angezeigte Name und der namehash(der auf basiert labelname) in bestimmten Situationen voneinander abweichen.

namehashEine Lösung besteht darin, alle „es“ in apa.cbxfullhashso“ zu ändern .

\makeatletter
\def\cbx@apa@ifnamesaved{%
  \xifinlist{\thefield{fullhash}}{\cbx@apa@names}
    {\@firstoftwo}
    {\@secondoftwo}}

\newbibmacro*{cite:author}{%
  \iffieldequals{fullhash}{\cbx@lasthash}
% Multiple cites in one command
   {\setunit{\compcitedelim}%
    \usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
   {\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
     {\usebibmacro{cite:noname}%
       \savefield{fullhash}{\cbx@lasthash}}
% Normal cite
     {\ifnameundef{shortauthor}
        {\printnames[labelname][-\value{listtotal}]{labelname}}%
        {\cbx@apa@ifnamesaved
          {\printnames{shortauthor}}
          {\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
      \savefield{fullhash}{\cbx@lasthash}}}%
   \setunit{\multicitedelim}}

\newbibmacro*{cite}{%
  \iffieldequals{fullhash}{\cbx@lasthash}
% Multiple cites in one command
   {\setunit{\compcitedelim}%
    \usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
   {\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
     {\usebibmacro{cite:noname}%
       \setunit{\nameyeardelim}%
       \usebibmacro{cite:plabelyear+extrayear}%
       \savefield{fullhash}{\cbx@lasthash}}
% Normal cite
     {\ifnameundef{shortauthor}
        {\printnames[labelname][-\value{listtotal}]{labelname}}%
        {\cbx@apa@ifnamesaved
          {\printnames{shortauthor}}
          {\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
      \setunit{\nameyeardelim}%
      \usebibmacro{cite:plabelyear+extrayear}%
      \savefield{fullhash}{\cbx@lasthash}}}%
   \setunit{\multicitedelim}}

\newbibmacro*{textcite}{%
  \iffieldequals{fullhash}{\cbx@lasthash}
% Compact cite - more than one thing for same author
    {\setunit{\compcitedelim}%
     \usebibmacro{cite:plabelyear+extrayear}}
% New cite
    {%
    \ifbool{cbx:parens}
      {\bibcloseparen\global\boolfalse{cbx:parens}}
      {}%
      \setunit{\compcitedelim}%
      \ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
  % No author/editor or patent
       {\iffieldundef{shorthand}%
    % Cite using title
         {\usebibmacro{cite:noname}%
          \setunit{\ifbool{cbx:np}%
                   {\nameyeardelim}%
                   {\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
          \usebibmacro{cite:plabelyear+extrayear}}
    % Cite using shorthand
         {\usebibmacro{cite:shorthand}}}
  % Normal cite with author/editor
  % Normal full cite
       {\ifnameundef{shortauthor}%
    % Normal full cite
         {\printnames[labelname][-\value{listtotal}]{labelname}}
    % Cite using short author
         {\cbx@apa@ifnamesaved
           {\printnames{shortauthor}}
           {\printnames[labelname][-\value{listtotal}]{author}}}%
  % Year
        \setunit{\ifbool{cbx:np}
                  {\nameyeardelim}
                  {\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
  % Put the shortauthor inside the year brackets if necessary
        \ifnameundef{shortauthor}
         {}
         {\cbx@apa@ifnamesaved
           {}
           {\printnames{shortauthor}\setunit{\nameyeardelim}}}%
  % Actual year printing
        \usebibmacro{cite:plabelyear+extrayear}%
  % Save name hash for checks later
        \savefield{fullhash}{\cbx@lasthash}}}}

\newbibmacro*{citeyear}{%
  \iffieldundef{labelyear}
    {\usebibmacro{cite:init}}
    {\iffieldequals{fullhash}{\cbx@lasthash}
       {\setunit{\compcitedelim}%
        \usebibmacro{cite:plabelyear+extrayear}}
       {\usebibmacro{cite:plabelyear+extrayear}%
        \savefield{fullhash}{\cbx@lasthash}}}%
  \setunit{\multicitedelim}}

\newbibmacro*{cite:post}{%
  \xifinlist{\thefield{fullhash}}{\cbx@apa@names}
    {}
    {\listxadd{\cbx@apa@names}{\thefield{fullhash}}}}
\makeatother

Das MWE

\documentclass{scrartcl}
\usepackage{csquotes}
\usepackage[ngerman]{babel} 
\usepackage[style=apa, backend=biber]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa} % for language switching
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@MISC{john_big_1991,
  author = {John, Oliver P. and Donahue, E. M. and Kentle, R. L.},
  title = {The Big Five Inventory--Versions 4a and 54},
  date = {1991},
  langid = {american},
  publisher = {Berkeley, {CA:} University of California, Berkeley, Institute of
    Personality and Social Research}
}
@MISC{john_big_1992,
  author = {John, Oliver P. and Donahue, E. M. and Kentle, R. L.},
  title = {The Big Five Inventory--Versions 4b and 5},
  date = {1992},
  langid = {american},
  publisher = {Berkeley, {CA:} University of California, Berkeley, Institute of
    Personality and Social Research}
}

@INCOLLECTION{john_paradigm_2008,
  author = {John, Oliver P. and Naumann, Laura P. and Soto, Christopher J.},
  editor = {John, Oliver P. and Robins, Richard W. and Pervin, Lawrence A.},
  title = {Paradigm Shift to the Integrative Big Five Trait Taxonomy: History,
    Measurement, and Conceptual Issues},
  booktitle = {Handbook of personality: theory and research},
  date = {2008},
  edition = {3},
  publisher = {Guilford Press},
  location = {New York},
  isbn = {9781593858360},
  pages = {114-158},
  langid = {american}
}
\end{filecontents*}

\bibliography{\jobname.bib}

\makeatletter
\def\cbx@apa@ifnamesaved{%
  \xifinlist{\thefield{fullhash}}{\cbx@apa@names}
    {\@firstoftwo}
    {\@secondoftwo}}

\newbibmacro*{cite:author}{%
  \iffieldequals{fullhash}{\cbx@lasthash}
% Multiple cites in one command
   {\setunit{\compcitedelim}%
    \usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
   {\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
     {\usebibmacro{cite:noname}%
       \savefield{fullhash}{\cbx@lasthash}}
% Normal cite
     {\ifnameundef{shortauthor}
        {\printnames[labelname][-\value{listtotal}]{labelname}}%
        {\cbx@apa@ifnamesaved
          {\printnames{shortauthor}}
          {\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
      \savefield{fullhash}{\cbx@lasthash}}}%
   \setunit{\multicitedelim}}

\newbibmacro*{cite}{%
  \iffieldequals{fullhash}{\cbx@lasthash}
% Multiple cites in one command
   {\setunit{\compcitedelim}%
    \usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
   {\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
     {\usebibmacro{cite:noname}%
       \setunit{\nameyeardelim}%
       \usebibmacro{cite:plabelyear+extrayear}%
       \savefield{fullhash}{\cbx@lasthash}}
% Normal cite
     {\ifnameundef{shortauthor}
        {\printnames[labelname][-\value{listtotal}]{labelname}}%
        {\cbx@apa@ifnamesaved
          {\printnames{shortauthor}}
          {\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
      \setunit{\nameyeardelim}%
      \usebibmacro{cite:plabelyear+extrayear}%
      \savefield{fullhash}{\cbx@lasthash}}}%
   \setunit{\multicitedelim}}

\newbibmacro*{textcite}{%
  \iffieldequals{fullhash}{\cbx@lasthash}
% Compact cite - more than one thing for same author
    {\setunit{\compcitedelim}%
     \usebibmacro{cite:plabelyear+extrayear}}
% New cite
    {%
    \ifbool{cbx:parens}
      {\bibcloseparen\global\boolfalse{cbx:parens}}
      {}%
      \setunit{\compcitedelim}%
      \ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
  % No author/editor or patent
       {\iffieldundef{shorthand}%
    % Cite using title
         {\usebibmacro{cite:noname}%
          \setunit{\ifbool{cbx:np}%
                   {\nameyeardelim}%
                   {\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
          \usebibmacro{cite:plabelyear+extrayear}}
    % Cite using shorthand
         {\usebibmacro{cite:shorthand}}}
  % Normal cite with author/editor
  % Normal full cite
       {\ifnameundef{shortauthor}%
    % Normal full cite
         {\printnames[labelname][-\value{listtotal}]{labelname}}
    % Cite using short author
         {\cbx@apa@ifnamesaved
           {\printnames{shortauthor}}
           {\printnames[labelname][-\value{listtotal}]{author}}}%
  % Year
        \setunit{\ifbool{cbx:np}
                  {\nameyeardelim}
                  {\global\booltrue{cbx:parens}\addspace\bibopenparen}}%
  % Put the shortauthor inside the year brackets if necessary
        \ifnameundef{shortauthor}
         {}
         {\cbx@apa@ifnamesaved
           {}
           {\printnames{shortauthor}\setunit{\nameyeardelim}}}%
  % Actual year printing
        \usebibmacro{cite:plabelyear+extrayear}%
  % Save name hash for checks later
        \savefield{fullhash}{\cbx@lasthash}}}}

\newbibmacro*{citeyear}{%
  \iffieldundef{labelyear}
    {\usebibmacro{cite:init}}
    {\iffieldequals{fullhash}{\cbx@lasthash}
       {\setunit{\compcitedelim}%
        \usebibmacro{cite:plabelyear+extrayear}}
       {\usebibmacro{cite:plabelyear+extrayear}%
        \savefield{fullhash}{\cbx@lasthash}}}%
  \setunit{\multicitedelim}}

\newbibmacro*{cite:post}{%
  \xifinlist{\thefield{fullhash}}{\cbx@apa@names}
    {}
    {\listxadd{\cbx@apa@names}{\thefield{fullhash}}}}
\makeatother

\begin{document}
\parencite{john_big_1991}
\parencite{john_big_1992}

\parencite{john_big_1991,john_big_1992}
\parencite{john_big_1991,john_paradigm_2008}

\parencite{john_big_1991}

\parencite{john_big_1991}

\parencite{john_paradigm_2008}
\parencite{john_big_1991,john_paradigm_2008}

\printbibliography
\end{document}

ergibt das (wohl) erwartete Ergebnis von

Bildbeschreibung hier eingeben

verwandte Informationen