von MoeWe » Fr 6. Dez 2019, 08:17
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.
Zweiter Vorschlag
[code]\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}[/code]
Jetzt wird ein [tt]editor[/tt] 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 [tt]editortype[/tt] durchaus neue Kreationen angeben (neben den schon vorhandenen wie [tt]compiler[/tt], [tt]redactor[/tt], [tt]reviser[/tt], [tt]founder[/tt], [tt]continuator[/tt], ...), 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.