von MoeWe » Di 8. Okt 2024, 21:52
Das benötigt zunächst einige Redefinitionen der bibmacros, die
\bibnamedash ausgeben, damit der
punctuation buffer zum Einsatz kommen kann und dann der Doppelpunkt auch ausgegeben wird. (Das wäre auch bei den Standardstilen so zu tun, obwohl die exakten Definitionen etwas abweichen würden.)
Dann müssen wir aber zusätzlich eine Eigenart von
biblatex-dw bedenken: Der
\bibnamedash wird von den Stilen in
\bibnamedashOrig zwischengespeichert und dann wird
\bibnamedash umdefiniert. Ich schlage vor, das analog zum Code von
biblatex-dw zu regeln, obwohl es vielleicht auch kompakter ginge.
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=authortitle-dw,backend=biber,idembibformat=dash]{biblatex}
\makeatletter
\renewcommand*{\bibnamedash}{\textendash}
\let\bibnamedashOrig\bibnamedash
\renewbibmacro*{editor}{%
\ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{editor}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{editor}%
\global\undef\bbx@lasthash}%
\usebibmacro{editorstringpunct}%
\usebibmacro{editorstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{editor}}
{}}
\renewbibmacro*{editor+others}{%
\ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{editor}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{editor}}%
\usebibmacro{editorstringpunct}%
\usebibmacro{editor+othersstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{editor}}
{\global\undef\bbx@lasthash}}
\renewbibmacro*{translator}{%
\ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{translator}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{translator}}%
\usebibmacro{editorstringpunct}%
\usebibmacro{translatorstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{translator}}
{\global\undef\bbx@lasthash}}
\renewbibmacro*{translator+others}{%
\ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{translator}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{translator}}%
\usebibmacro{editorstringpunct}%
\usebibmacro{translator+othersstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{translator}}
{\global\undef\bbx@lasthash}}
\renewbibmacro*{author:output}{%
\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{author}%
\savefield{fullhash}{\bbx@lasthash}}}
{\printnames{author}%
\global\undef\bbx@lasthash}%
\iffieldundef{authortype}
{}
{\setunit{\addcomma\space}%
\usebibmacro{authorstrg}}}
{}}
\makeatother
\begin{filecontents}{\jobname.bib}
@book{Frey.2015,
author = {Frey, Jörg},
date = {2015},
title = {Der Philipperbrief des Paulus in der hellenistisch-römischen Welt},
address = {Tübingen},
publisher = {Mohr Siebeck},
number = {353},
series = {WUNT},
}
@article{Frey.2022,
author = {Frey, Jörg},
date = {2022},
title = {Perspectives on the Qumran Community: From the Essenes to the Yaḥad, and Beyond},
pages = {1--16},
volume = {13},
issn = {1868-7032},
journal = {EC},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Hier werden die Beispielwerke zitiert.\footcites{Frey.2015}{Frey.2022}
\printbibliography
\end{document}
Das benötigt zunächst einige Redefinitionen der bibmacros, die [tt]\bibnamedash[/tt] ausgeben, damit der [i]punctuation buffer[/i] zum Einsatz kommen kann und dann der Doppelpunkt auch ausgegeben wird. (Das wäre auch bei den Standardstilen so zu tun, obwohl die exakten Definitionen etwas abweichen würden.)
Dann müssen wir aber zusätzlich eine Eigenart von [tt]biblatex-dw[/tt] bedenken: Der [tt]\bibnamedash[/tt] wird von den Stilen in [tt]\bibnamedashOrig[/tt] zwischengespeichert und dann wird [tt]\bibnamedash[/tt] umdefiniert. Ich schlage vor, das analog zum Code von [tt]biblatex-dw[/tt] zu regeln, obwohl es vielleicht auch kompakter ginge.
[code]\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=authortitle-dw,backend=biber,idembibformat=dash]{biblatex}
\makeatletter
\renewcommand*{\bibnamedash}{\textendash}
\let\bibnamedashOrig\bibnamedash
\renewbibmacro*{editor}{%
\ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{editor}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{editor}%
\global\undef\bbx@lasthash}%
\usebibmacro{editorstringpunct}%
\usebibmacro{editorstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{editor}}
{}}
\renewbibmacro*{editor+others}{%
\ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{editor}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{editor}}%
\usebibmacro{editorstringpunct}%
\usebibmacro{editor+othersstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{editor}}
{\global\undef\bbx@lasthash}}
\renewbibmacro*{translator}{%
\ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{translator}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{translator}}%
\usebibmacro{editorstringpunct}%
\usebibmacro{translatorstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{translator}}
{\global\undef\bbx@lasthash}}
\renewbibmacro*{translator+others}{%
\ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{translator}%
\savefield{fullhash}{\bbx@lasthash}}}%
{\printnames{translator}}%
\usebibmacro{editorstringpunct}%
\usebibmacro{translator+othersstrg}%
\ifbool{bbx:idembib}
{}
{\labelnamepunct}%
\clearname{translator}}
{\global\undef\bbx@lasthash}}
\renewbibmacro*{author:output}{%
\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}
{\ifbool{bbx:idembib}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
\NOT\iffirstonpage}
{\printtext{\bibnamedash}}
{\printnames{author}%
\savefield{fullhash}{\bbx@lasthash}}}
{\printnames{author}%
\global\undef\bbx@lasthash}%
\iffieldundef{authortype}
{}
{\setunit{\addcomma\space}%
\usebibmacro{authorstrg}}}
{}}
\makeatother
\begin{filecontents}{\jobname.bib}
@book{Frey.2015,
author = {Frey, Jörg},
date = {2015},
title = {Der Philipperbrief des Paulus in der hellenistisch-römischen Welt},
address = {Tübingen},
publisher = {Mohr Siebeck},
number = {353},
series = {WUNT},
}
@article{Frey.2022,
author = {Frey, Jörg},
date = {2022},
title = {Perspectives on the Qumran Community: From the Essenes to the Yaḥad, and Beyond},
pages = {1--16},
volume = {13},
issn = {1868-7032},
journal = {EC},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Hier werden die Beispielwerke zitiert.\footcites{Frey.2015}{Frey.2022}
\printbibliography
\end{document}[/code]