Biblatex: Autor/Jahr für Text, Autor/Titel für Bibliographie

Biblatex: Autor/Jahr für Text, Autor/Titel für Bibliographie

Ich befinde mich in der misslichen Lage, die im Titel beschriebenen Ausführungen zitieren zu müssen.

Das ist kein Problem, solange es nicht zwei verschiedene Bibliographieeinträge mit demselben Autor und demselben Jahr gibt. In diesem Fall erhalte ich im Text Einträge wie (Author 2012a)und, (Author 2012b)aber in den Referenzen sollte ein Eintrag angehängt werden, der wie aussieht (cited as: 2012a).

Ich bin nicht gut genug darin, Dinge in Biblatex neu zu definieren, um damit umzugehen. Idealerweise wäre die folgende Lösung erforderlich:

If there are multiple citations of the same author and year, then append "(cited as: <year><year_label>)", if not, do whatever you would normally do.

Derzeit ist dies mein minimales Arbeitsbeispiel:

\documentclass{article}
\usepackage[maxcitenames=3,style=authortitle,citestyle=authoryear,dashed=false,backend=biber]{biblatex}
\DeclareNameAlias{sortname}{last-first}
\newbibmacro*{publisher+location+date}{%
      \printlist{publisher}%
      \iflistundef{location}
        {\setunit*{\addcomma\space}}
        {\setunit*{\addcolon\space}}%
      \printlist{location}%
      \setunit*{\space}%
      \usebibmacro{date}%
      \newunit
    }

\begin{filecontents}{\jobname.bib}
  @article{JoeDoe2012,
    Author = {Joe Doe},
    Title = {My article's title},
    Journal = {My journal's title},
    Editor = {Ben Editor},
    URL = {http://webpage.com},
    Year = {2012},
  }

  @article{JoeDoe20121,
    Author = {Joe Doe},
    Title = {Same author same year},
    Journal = {My journal's title},
    Editor = {Ben Editor},
    URL = {http://webpage.com},
    Year = {2012},
  }
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
  We cite \autocite{JoeDoe2012} and \autocite{JoeDoe20121}
  \printbibliography
\end{document}

Aktuell sieht das so aus:

Bildbeschreibung hier eingeben

Während ich gezwungen bin, es so zu machen:

Bildbeschreibung hier eingeben

(Im Screenshot habe ich das Problem umgangen, indem ich manuell " addendum = {(cited as: 2012a)})" eingefügt habe.

Ich hoffe, dass mir jemand helfen kann, dies auf die beschriebene bedingte Weise zu erreichen.

Antwort1

Benennen Sie de um bibmacro{finentry}. Der Teil „a“ ist in extrayeardas Feld und das 2012in das labelyearFeld. Fügen Sie dann eine Logik hinzu, die, wenn extrayearsie nicht definiert ist, nichts ausgibt. Wenn sie hingegen definiert ist, geben Sie die Felder labelyearund entrayearzwischen den Klammern aus.

MWE:

\documentclass{article}
\usepackage[maxcitenames=3,style=authortitle,citestyle=authoryear,dashed=false,backend=biber]{biblatex}
\DeclareNameAlias{sortname}{last-first}
\newbibmacro*{publisher+location+date}{%
      \printlist{publisher}%
      \iflistundef{location}
        {\setunit*{\addcomma\space}}
        {\setunit*{\addcolon\space}}%
      \printlist{location}%
      \setunit*{\space}%
      \usebibmacro{date}%
      \newunit
    }

\renewbibmacro{finentry}{%
\usebibmacro{citeas}%
\finentry}

\newbibmacro*{citeas}{%
\iffieldundef{extrayear}
  {}
  {\setunit{\adddot\space}
  \newunit\newblock
  \printtext[citeas]{%
  \printfield{labelyear}%
  \printfield{extrayear}}}}

\DeclareFieldFormat{citeas}{\mkbibparens{Cite as:\space#1}}

\begin{filecontents}{\jobname.bib}
  @article{JoeDoe2012,
    Author = {Joe Doe},
    Title = {My article's title},
    Journal = {My journal's title},
    Editor = {Ben Editor},
    URL = {http://webpage.com},
    Year = {2012},
  }

  @article{JoeDoe20121,
    Author = {Joe Doe},
    Title = {Same author same year},
    Journal = {My journal's title},
    Editor = {Ben Editor},
    URL = {http://webpage.com},
    Year = {2012},
  }

    @article{Moe2013,
      Author = {Moe Doe},
      Title = {Other author},
      Journal = {My journal's title},
      Editor = {Ben Editor},
      URL = {http://webpage.com},
      Year = {2010},
    }
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
  We cite \parencite{JoeDoe2012} and \parencite{JoeDoe20121}.

  Other author \parencite{Moe2013}
  \printbibliography
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen