Trennzeichen auch nach bibnamedash

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Trennzeichen auch nach bibnamedash

Re: Trennzeichen auch nach bibnamedash

von NetteNette » Fr 11. Okt 2024, 19:25

Wow, ich hätte nicht gedacht, dass es so aufwendig ist.
Vielen Dank für die Mühe!

Re: Trennzeichen auch nach bibnamedash

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}

Trennzeichen auch nach bibnamedash

von NetteNette » Do 3. Okt 2024, 15:35

Mein Verlag möchte, dass im Literaturverzeichnis bei mehreren Werken eines Autors der Name ab dem zweiten Mal durch Halbgeviertstrich ersetzt wird. Danach soll trotzdem das Trennzeichen (:) stehen.

Also z.B.
Frey, Jörg: Der Philipperbrief des Paulus ...
–: Perspectives on the Qumran Community ...

Den Halbgeviertstrich bekomme ich durch die Option idembibformat=dash hin, aber wie kann ich danach noch den Doppelpunkt erzeugen?

Probiert habe ich
\renewcommand*{\bibnamedash}{\textemdash{}:}
\renewcommand*{\bibnamedash}{\textemdash$\colon$}
beides hat keine Wirkung gezeigt.

\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}

\begin{filecontents}[force]{\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}

Nach oben