Seite 1 von 1

crossref + review mit Paket biblatex-dw

Verfasst: Do 5. Dez 2019, 10:53
von tutebatti
Hallo,

ich habe folgendes Problem mit dem speziellen bibref-Eintrag @review bei Verwendung des Pakets/Zitierstils biblatex-dw: Normalerweise lässt sich durch den key "crossref" auf das rezensierte Buch verweisen. Anscheinend steht aber der key "editor" der Referenz (z.B. eines Sammelbands oder einer Textedition) im Konflikt mit dem "editor" der Zeitschrift, in der die Rezension erschienen ist (der aber i.d.R. völlig unerheblich ist, da Hrsg. von Zeitschriften normalerweise nicht angegeben werden).

Ein Minimalbeispiel (tex + bib) ist angehängt.

Ganz herzlichen Dank!

Florian

Verfasst: Do 5. Dez 2019, 18:05
von MoeWe
Man kann das Problem dadurch umgehen, dass man die Vererbung des Herausgebers explizit unterdrückt.
\documentclass[10pt,a4paper]{article}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage[
  namefont=smallcaps,
  style=footnote-dw,
  backend=biber,
]
{biblatex}
\usepackage[babel, german=quotes]{csquotes}

\DeclareDataInheritance{mvbook,book}{review}{%
  \noinherit{editor}
}

\begin{filecontents}{\jobname.bib}
@book{rezensiert,
  author     = {Aristoteles},
  title      = {Eine Textedition},
  date       = {2003},
  location   = {Buxtehude},
  editor     = {Max Mustermann},
  translator = {Max Mustermann},
}
@review{rezension,
  author   = {Eva Musterfrau},
  date     = {2004},
  journal  = {Aristoteles-Zeitschrift},
  pages    = {230-231},
  crossref = {rezensiert},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Das Werk wurde publiziert.\cite{rezensiert}
Eine Rezension dazu wurde auch veröffentlicht.\cite{rezension}
\printbibliography
\end{document}
Wenn Du stattdessen den Herausgeber des Buchs auch in der Rezension erwähnt haben möchtest, dann müsste man entweder den editor für @review-Einträge umbiegen oder man müsste gleich zu einem etwas sauberer trennenden Verfahren für die besprochenen Werke übergehen (weg von corssref hin zu related wie biblatex-apa es glaube ich regelt).

Verfasst: Do 5. Dez 2019, 18:54
von tutebatti
Ganz herzlichen Dank für diesen Ansatz! In der Tat müsste aber der Hrsg. des Buches auch in der Rezension auftauchen, das gilt besonders für Sammelbände, aber i.d.R. auch für Texteditionen.

Mit "related" taucht die Zeitschrift nicht auf bei der Rezension.

Noch besser wäre es sogar, wenn man zwischen der Aufgabe des Hrsg. und des Edierens unterscheiden könnte (im Englischen ist das meine ich begrifflich nicht unterschieden), aber das wäre wirklich nur ein i-Tüpfelchen.

Nochmals lieben Dank!

Edit: Mit xref scheint zwar das grundsätzliche Problem gelöst, aber dann wird der key shorthand benutzt. Auch das ist unschön, wenn es sich bei Texteditionen nur um ein Kürzel handelt, da sich die Rezension ja auf eine bestimmte Ausgabe bezieht...

Verfasst: Fr 6. Dez 2019, 08:17
von MoeWe
Zweiter Vorschlag
\documentclass[10pt,a4paper]{article}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage[
  namefont=smallcaps,
  style=footnote-dw,
  backend=biber,
]
{biblatex}
\usepackage[babel, german=quotes]{csquotes}


\DeclareBibliographyDriver{review}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \ifbool{cbx:idemfull}
    {}
    {\usebibmacro{author}%
     \ifnameundef{labelname}
       {}
       {\setunit{\labelnamepunct}\newblock}}%
	\iffieldundef{xref}
	  {% Code, wenn kein xref vorhanden
      \usebibmacro{title}%
      \newunit
      \printlist{language}%
      \newunit\newblock
      \usebibmacro{byauthor}%
      \newunit\newblock
      \usebibmacro{byeditor+others}%
      \newunit\newblock
      \printfield{version}}
	  {% Code, wenn xref vorhanden
      \savefield{xref}{\bbx@reviewparent}%
      \printtext[review]{\bbx@review{\thefield{xref}}}}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{journal+issuetitle}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \usebibmacro{note+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \newunit\newblock
  \usebibmacro{pageref}
  \usebibmacro{finentry}}


\begin{filecontents}{\jobname.bib}
@book{rezensiert,
  author     = {Aristoteles},
  title      = {Eine Textedition},
  date       = {2003},
  location   = {Buxtehude},
  editor     = {Max Mustermann},
  translator = {Max Mustermann},
}
@review{rezension,
  author   = {Eva Musterfrau},
  date     = {2004},
  journal  = {Aristoteles-Zeitschrift},
  pages    = {230-231},
  crossref = {rezensiert},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Das Werk wurde publiziert.\cite{rezensiert}
Eine Rezension dazu wurde auch veröffentlicht.\cite{rezension}
Eine Rezension dazu wurde auch veröffentlicht.\cite{rezension}
Das Werk wurde publiziert.\cite{rezensiert}
\printbibliography
\end{document}
Jetzt wird ein editor immer als Herausgeber des rezensierten Werkes betrachtet und nicht als Herausgeber der Zeitschrift, in der die Rezension erschienen ist. Wenn Du letzteren auch angeben können möchtest, dann muss man das eigentlich über zwei verschiedene Felder lösen. Das ist durchaus möglich und prinzipiell auch nicht kompliziert (zumindest, wenn ich gerade keinen Denkfehler mache), aber man muss dafür einige recht lange Makros anpassen oder kopieren und die Arbeit wollte ich mir erstmal sparen.

Prinzipiell kann man in dem Feld editortype durchaus neue Kreationen angeben (neben den schon vorhandenen wie compiler, redactor, reviser, founder, continuator, ...), die dann Herausgeber und Editor unterscheiden. Dafür muss man nur die neuen Strings anmelden und definieren. Allerdings muss man auch hier eventuell recht lange Markos anpassen und viele zusätzliche neue Strings definieren, wenn man von der Funktion, die Rollen als z.B. "hrsg. und übers. von ..." zusammenfasst, Gebrauch machen möchte.