biblatex: relatedtype={bytranslator} funktioniert nicht wie erwartet mit @article und @incollection

biblatex: relatedtype={bytranslator} funktioniert nicht wie erwartet mit @article und @incollection

Gestern habe ich gefragtwie man die Übersetzung eines Werkes in der Bibliographie in der Form „übersetzt von … als …“ aufnimmt. Mir wurde gesagt, ich solle die Felder related={<key>}und verwenden relatedtype={bytranslator}. Das hat für meine Zwecke zunächst sehr gut funktioniert. Dann wurde mir aber klar, dass es nur für richtig funktioniert @book, nicht für @articleoder @incollection. Nehmen wir zum Beispiel das Folgende @incollectionund seine Übersetzung, die ein ist @article:

Derrida, Jacques (2001). „Eine gewisse Unmöglichkeit, das Ereignis herbeizuführen.“ In:Ist das Ereignis möglich?Paris: L'Harmattan, Seiten 79–112.

Derrida, Jacques (2007). „Eine gewisse unmögliche Möglichkeit, das Ereignis zu sagen“. Übersetzt von Gila Walker. In:Kritische Untersuchung33.2, Seiten 441–461.

Die Kombination aus beiden relatedtype={bytranslator}ergibt den folgenden unvollständigen Eintrag:

Derrida, Jacques (2001). „Eine gewisse Unmöglichkeit, das Ereignis herbeizuführen.“ In:Ist das Ereignis möglich?Paris: L'Harmattan, Seiten 79–112. Übersetzt von Gila Walker als „Eine gewisse unmögliche Möglichkeit, das Ereignis auszudrücken“ (2007).

Es fehlen die Angaben zu Zeitschrift und Nummer, in der die Übersetzung erschienen ist. Das heißt, der Eintrag müsste (glaube ich) lauten:

Derrida, Jacques (2001). „Eine gewisse Unmöglichkeit, das Ereignis herbeizuführen.“ In:Ist das Ereignis möglich?Paris: L'Harmattan, Seiten 79–112. Übersetzt von Gila Walker als „Eine gewisse unmögliche Möglichkeit, das Ereignis zu sagen“. In:Kritische Untersuchung 33.2 (2007), Seiten 441–461.

Hier ist ein Minimalbeispiel:

\documentclass[12pt]{article}

\usepackage{filecontents}

\begin{filecontents}{biblio.bib}
@incollection{Derrida2001,
author = {Derrida, Jacques},
title = {Une certaine possibilit\'{e} impossible de dire l'\'{e}v\'{e}nement},
location = {Paris},
publisher = {L'Harmattan},
year = {2001},
pages = {79-112},
booktitle = {Dire l'\'{e}v\'{e}nement, est-ce possible?},
related = {Derrida2007},
relatedtype = {bytranslator},
}
@article{Derrida2007,
author = {Derrida, Jacques},
translator = {Walker, Gila},
title = {A certain impossible possibility of saying the event},
journaltitle = {Critical Inquiry},
volume = {33},
number = {2},
year = {2007},
pages = {441-461},
}

\end{filecontents}

\usepackage[style=authoryear,abbreviate=false]{biblatex}
\addbibresource{biblio.bib}

\begin{document}

Citing a text by \textcite{Derrida2001}.

\printbibliography

\end{document}

translatorWenn ich die Felder , related, und relatedtype(fälschlicherweise) vertausche und @incollectiondie Übersetzung von vornehme @article, kommt es zu einer ähnlichen Kürzung. Statt

Derrida, Jacques (2007). „Eine gewisse unmögliche Möglichkeit, das Ereignis zu sagen“. In:Kritische Untersuchung33.2, Seiten 441–461. Übersetzt von Gila Walker als „Eine gewisse Unmöglichkeit, das Ereignis zu verhindern“. In:Ist das Ereignis möglich?(Paris: L'Harmattan, 2001).

Ich bekomme

Derrida, Jacques (2007). „Eine gewisse unmögliche Möglichkeit, das Ereignis zu sagen“. In:Kritische Untersuchung33.2, Seiten 441–461. Übersetzt von Gila Walker als „Une Certaine Possibilité Impossible De Dire L'événement“ (Paris: L'Harmattan, 2001).

Das heißt, der Titel des Buches, in dem es @incollectionerschienen ist, fehlt.

Handelt es sich hier um einen Fehler? Wenn ja, gibt es eine Möglichkeit, ihn zu umgehen?

Vielen Dank im Voraus für Ihre Hilfe!

Antwort1

Das Standardmakro related:bytranslatorfunktioniert (glaube ich) nur für @books und ähnliche Eintragstypen. Damit es für @in...Typen funktioniert, müssen wir das Makro ein wenig ändern.

Für jeden dieser Eintragstypen, der mehr Ausgabe benötigt, prüfen wir diesen Typ und drucken die gewünschten Informationen aus (der Code hierfür stammt von standard.bbx).

\makeatletter
\newbibmacro*{related:bytranslator}[1]{%
  \entrydata{#1}{%
    \renewbibmacro*{name:hook}[1]{%
      \ifnumequal{\value{listcount}}{1}
        {\begingroup
         \mkrelatedstring%
         \lbx@initnamehook{#1}%
         \endgroup}
        {}}%
    \printnames[bytranslator]{translator}%
    \clearname{translator}%
    \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}%
    \usebibmacro{title}%
    \ifentrytype{article}
      {\usebibmacro{in:}%
       \usebibmacro{journal+issuetitle}}
      {}
    \ifentrytype{inbook}
      {\usebibmacro{in:}%
       \usebibmacro{bybookauthor}%
       \newunit\newblock
       \usebibmacro{maintitle+booktitle}%
       \newunit\newblock
       \usebibmacro{byeditor+others}%
       \newunit\newblock
       \printfield{edition}}
      {}
    \ifentrytype{incollection}
      {\usebibmacro{in:}%
       \usebibmacro{maintitle+booktitle}%
       \newunit\newblock
       \usebibmacro{byeditor+others}%
       \newunit\newblock
       \printfield{edition}%
       \newunit
       \iffieldundef{maintitle}
         {\printfield{volume}%
          \printfield{part}}
         {}}
      {}
    \ifentrytype{inproceedings}
      {\usebibmacro{in:}%
       \usebibmacro{maintitle+booktitle}%
       \newunit\newblock
       \usebibmacro{event+venue+date}%
       \newunit\newblock
       \usebibmacro{byeditor+others}%
       \newunit\newblock
       \iffieldundef{maintitle}
         {\printfield{volume}%
          \printfield{part}}
         {}}
      {}
    \setunit{\addspace}%
    \printtext[parens]{%
      \printlist{location}%
      \iflistundef{publisher}
        {\setunit*{\addcomma\space}}
        {\setunit*{\addcolon\space}}%
      \printlist{publisher}%
      \setunit*{\addcomma\space}%
      \printdate}
      \newunit\newblock
      \printfield{note}%
      \newunit\newblock
      \printfield{chapter}%
      \setunit{\bibpagespunct}%
      \printfield{pages}}}
\makeatother

MWE

\documentclass[12pt]{article}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@incollection{Derrida2001,
author = {Derrida, Jacques},
title = {Une certaine possibilit\'{e} impossible de dire l'\'{e}v\'{e}nement},
location = {Paris},
publisher = {L'Harmattan},
year = {2001},
pages = {79-112},
booktitle = {Dire l'\'{e}v\'{e}nement, est-ce possible?},
related = {Derrida2007},
relatedtype = {bytranslator},
}
@article{Derrida2007,
author = {Derrida, Jacques},
title = {A certain impossible possibility of saying the event},
journaltitle = {Critical Inquiry},
translator = {Walker, Gila},
volume = {33},
number = {2},
year = {2007},
pages = {441-461},
}

\end{filecontents}

\usepackage[style=authoryear,abbreviate=false]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter
\newbibmacro*{related:bytranslator}[1]{%
  \entrydata{#1}{%
    \renewbibmacro*{name:hook}[1]{%
      \ifnumequal{\value{listcount}}{1}
        {\begingroup
         \mkrelatedstring%
         \lbx@initnamehook{#1}%
         \endgroup}
        {}}%
    \printnames[bytranslator]{translator}%
    \clearname{translator}%
    \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}%
    \usebibmacro{title}%
    \ifentrytype{article}
      {\usebibmacro{in:}%
       \usebibmacro{journal+issuetitle}}
      {}
    \ifentrytype{inbook}
      {\usebibmacro{in:}%
       \usebibmacro{bybookauthor}%
       \newunit\newblock
       \usebibmacro{maintitle+booktitle}%
       \newunit\newblock
       \usebibmacro{byeditor+others}%
       \newunit\newblock
       \printfield{edition}}
      {}
    \ifentrytype{incollection}
      {\usebibmacro{in:}%
       \usebibmacro{maintitle+booktitle}%
       \newunit\newblock
       \usebibmacro{byeditor+others}%
       \newunit\newblock
       \printfield{edition}%
       \newunit
       \iffieldundef{maintitle}
         {\printfield{volume}%
          \printfield{part}}
         {}}
      {}
    \ifentrytype{inproceedings}
      {\usebibmacro{in:}%
       \usebibmacro{maintitle+booktitle}%
       \newunit\newblock
       \usebibmacro{event+venue+date}%
       \newunit\newblock
       \usebibmacro{byeditor+others}%
       \newunit\newblock
       \iffieldundef{maintitle}
         {\printfield{volume}%
          \printfield{part}}
         {}}
      {}
    \setunit{\addspace}%
    \printtext[parens]{%
      \printlist{location}%
      \iflistundef{publisher}
        {\setunit*{\addcomma\space}}
        {\setunit*{\addcolon\space}}%
      \printlist{publisher}%
      \setunit*{\addcomma\space}%
      \printdate}
      \newunit\newblock
      \printfield{note}%
      \newunit\newblock
      \printfield{chapter}%
      \setunit{\bibpagespunct}%
      \printfield{pages}}}
\makeatother
\begin{document}

Citing a text by \textcite{Derrida2001}.

\printbibliography

\end{document}

Bildbeschreibung hier eingeben

Dies funktioniert möglicherweise nicht in allen Fällen. In Sonderfällen müssen daher möglicherweise einige Änderungen vorgenommen werden.

verwandte Informationen