1

I am using biblatex-sbl. In the notes, the first quotation of an "article" and "incollection" should be this:

Krause,Jens-Uwe: “Die Spätantike (284-565 n. Chr.),” in: Gehrke, Hans-Joachim/ Schneider,Helmuth (eds.): Geschichte der Antike. Ein Studienbuch, Stuttgart 52019,429–499.

In the following notes, it should be:

Krause,Jens-Uwe, “Die Spätantike (284-565 n. Chr.),” 429–499.

In short: I want that after the author name of a reference of an "incollection" (and also of an "article") a colon should be shoen; in all other notes it should be a comma.

Here is my MWE:

\RequirePackage[patch]{kvoptions} 
\documentclass[openany]{book} %headsepline

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@mvbook{Gehrke.19,
  author = {Gehrke, Hans-Joachim},
  title = {Geschichte der Antike. Ein Studienbuch},
  location = {Stuttgart},
  edition = {2},
  date = {2019}
}
@incollection{Krause.19,
  author={Krause, Jens-Uwe},
  gender = {sm},
  title={Die Spätantike (284-565 n. Chr.)},
  editor = {Gehrke, Hans-Joachim and Schneider, Helmuth},
  date = {2019},
  booktitle = {Geschichte der Antike. Ein Studienbuch},
  location = {Stuttgart},
  keywords = {sekundaer},
  pages={429--499},
  edition={5},
}
@article{Krug.19,
  author = {Krug, Alex},
  date = {2019},
  title = {The Time},
  journaltitle = {Revue Today},
  shortjournal = {RT},
  volume = {18,1},
  pages = {9--38},
}
@review{Wellhausen.1906,
  author={Wellhausen, Julius},
  revdauthor = {Ban, Paul},
  revdtitle={Selection, Paris/ Leipzig 1905},
  journaltitle = {Göttingische gelehrte Anzeigen},
  shortjournal = {GGA},
  volume={16,2},
  keywords = {sekundaer},
  date={1910},
  pages={16--18},
}
@thesis{Witz.2001,
  author = {Witz, John},
  title = {Narratives},
  type = {phdthesis},
  institution = {Princeton University},
  date = {2001},
  keywords = {sekundaer},
}
\end{filecontents}

\usepackage{babel} %Kommentar 


\usepackage[autostyle=true,german=quotes]{csquotes}
%\usepackage[german=guillement]{csquotes} 
\usepackage[style=sbl,backend=biber,sblfootnotes=false,ibidpage=true,sorting=nyvt,url=false,isbn=false,doi=false,clearlang=false,uniquename=false]{biblatex} 
\addbibresource{\jobname.bib}

\usepackage{xpatch}

\newbibmacro*{bookeditor}{%
  \printnames{bookeditor}}

\DeclareBibliographyDriver{cite:incollection}{%
  \ifentrytype{seminarpaper}
    {}
    {\toggletrue{inentrytype}}%
  \usebibmacro{citeindex}%
  \usebibmacro{begentry}%
  \iftoggle{blx@usefullcite}
    {}
    {\let\ifciteseen\@firstoftwo}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{title}%
  \ifciteseen
    {}
    {\usebibmacro{byauthor/byeditor+others/bytranslator+others}%
     \newunit
     \usebibmacro{in:}%
     \iffieldundef{booktitle}
       {}
       {\usebibmacro{bookeditor}%
        \usebibmacro{booktitle}%
        \newunit
        \usebibmacro{event+venue+date}%
        \newunit
        \usebibmacro{bybookauthor/bybookeditor+others/bybooktranslator+others}%
        \newunit}%
     \usebibmacro{volume+partof}%
     \iffieldundef{maintitle}
       {}
       {\usebibmacro{maineditor}%
        \usebibmacro{maintitle}%
        \newunit
        \usebibmacro{event+venue+date}%
        \newunit
        \usebibmacro{bymainauthor/bymaineditor+others/bymaintranslator+others}}%
     \newunit
     \printfield{volumes}%
     \newunit
     \usebibmacro{shortseries+number}%
     \newunit
     \printfield{note}%
     \usebibmacro{parens+publisher+location+date}%
     \newunit
     \usebibmacro{ebook}%
     \newunit
     \printfield{addendum}%
     \newunit
     \usebibmacro{volume+part+pages}%
     \newunit
     \usebibmacro{isbn}%
     \newunit
     \usebibmacro{doi+eprint+url}}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{incollection}{%
  \toggletrue{inentrytype}%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{title}%
  \newunit
  \ifentrytype{classictext}
    {\usebibmacro{byauthor}%
     \newunit
     \usebibmacro{bytranslator+others}}
    {\usebibmacro{byauthor/byeditor+others/bytranslator+others}}%
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \iffieldundef{booktitle}
    {}
    {\usebibmacro{bookeditor}%
     \usebibmacro{booktitle}%
     \newunit
     \usebibmacro{event+venue+date}%
     \newunit
     \usebibmacro{bybookauthor/bybookeditor+others/bybooktranslator+others}%
     \newunit}%
  \usebibmacro{volume+partof}%
  \iffieldundef{maintitle}
    {}
    {\usebibmacro{maineditor}%
     \usebibmacro{maintitle}%
     \newunit
     \usebibmacro{event+venue+date}%
     \newunit
     \usebibmacro{bymainauthor/bymaineditor+others/bymaintranslator+others}}%
  \newunit
  \printfield{edition}%
  \newunit
  \printfield{volumes}%
  \newunit
  \usebibmacro{shortseries+number}%
  \newunit
  \printfield{note}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit
  \usebibmacro{ebook}%
  \newunit
  \printfield{addendum}%
  \setunit{\addcomma\space}%
  \usebibmacro{volume+part+pages}%
  \newunit
  \usebibmacro{isbn}%
  \newunit
  \usebibmacro{doi+eprint+url}%
  \ifboolexpr{
    togl {relatedseen}
    or
    not togl {bbx:related}
  }
    {}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}%
  \usebibmacro{finentry}%
}


\xpatchbibdriver{book}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}


\renewcommand*{\subtitlepunct}{\addperiod\space} % Punkt zw Titel und Subtitel in Bibliogr.
\renewcommand*{\sqspace}{} % kein Abstand bei Seitenzahl mit "f." 

\DeclareFieldFormat*{citetitle}{#1}
\DeclareFieldFormat[book]{title}{#1} % Buchtitel nur normal - ohne Formatierung
\DeclareFieldFormat[thesis]{title}{#1} % Buchtitel nur normal - ohne Formatierung
\DeclareFieldFormat[review]{title}{#1} % Buchtitel nur normal - ohne Formatierung
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}

\DeclareFieldFormat{shorttitle}{#1} 
\DeclareFieldFormat{shortbooktitle}{#1} 
\DeclareFieldFormat{shortmaintitle}{#1} 

\DeclareNameAlias{sortname}{family-given} % vorher last-first in Klammern
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}



\DeclareDelimFormat{multinamedelim}{\addslash\space} 
\DeclareDelimAlias{finalnamedelim}{multinamedelim} 

\renewcommand*{\mkbibnamefamily}{\textsc} 
\renewcommand*{\mkbibnameprefix}{\textsc} 
\renewcommand*{\mkbibnamegiven}{\textsc} 
\renewcommand*{\mkbibnamesuffix}{\textsc} 

%%%%%% Verursacher nr. 1 %%%%%%%%%%%%%%%%
%\DeclareFieldFormat{editortype}{\mkbibparens{#1}} 
%\DeclareDelimFormat{editortypedelim}{\addspace} 
%%%%%% Verursacher %%%%%%%%%%%%%%%%

\DeclareDelimFormat{multinamedelim}{\addslash\space} 
\DeclareDelimAlias{finalnamedelim}{multinamedelim} 

\renewcommand*{\mkbibnamefamily}{\textsc} 
\renewcommand*{\mkbibnameprefix}{\textsc} 
\renewcommand*{\mkbibnamegiven}{\textsc} 
\renewcommand*{\mkbibnamesuffix}{\textsc} 


%%\renewbibmacro*{editor+others}{% 
  %%\ifboolexpr{ 
   %% test \ifuseeditor 
   %% and 
   %% not test {\ifnameundef{editor}} 
  %%} 
    %%{\ifciteseen{% 
      %% \usebibmacro{ifidemused} 
       %%  {} 
        %% {\printnames[labelname]{editor}}% 
    %% }{\renewcommand*{\namedashpunct}{\addcomma\space}% 
      %% \usebibmacro{dashcheck} 
        %% {\bibnamedash} 
        %% {\usebibmacro{ifidemused} 
         %%   {} 
           %% {\printnames{editor}% 
             %%\usebibmacro{savehash}}}% 
      %% \setunit{\printdelim{editortypedelim}}% 
       %%\usebibmacro{editor+othersstrg}% 
      %% \usebibmacro{withname}{editor}% 
     %%}% 
     %%\clearname{editor}} 
    %%{}} 


\DefineBibliographyStrings{ngerman}{%
  reprint = {ND:}
}

  % Put reprint information in parentheses and change beginning punctuation to a
% space
\newcommand*{\begrelateddelimreprint}{\addspace}
\DeclareFieldFormat{related:reprint}{\mkbibparens{#1}}

% Set \newunitpunct to comma and remove parentheses around publication info
\renewbibmacro*{related:reprint}[1]{%
  \entrydata*{#1}{%
    \usedriver
      {\renewbibmacro*{related:init}{}%
       \renewcommand*{\newunitpunct}{\addcomma\space}%
       \renewbibmacro*{parens+publisher+location+date}{%
         \newunit
         \usebibmacro{publisher+location+date}}}
      {\ifbibliography
         {\thefield{entrytype}}
         {cite:\thefield{entrytype}}}}}

% use family, given and change \newunitpunct to a point just for related
% entries (I have serious misgivings about this as it seems very
% inconsistent.)
\usepackage{xpatch}
\xpretobibmacro{cite}
  {\iffieldequalstr{relatedtype}{reprint}
     {\DeclareNameAlias{default}{family-given}%
      \renewcommand*{\newunitpunct}{\addperiod\space}}
     {}}
  {}
  {}



\DefineBibliographyStrings{german}{ 
  editors = {Hgg\adddot}, 
} 


\renewbibmacro*{parens+publisher+location+date}{% 
\newunit
  \usebibmacro{publisher+location+date}% 
  \iffieldequalstr{relatedtype}{reprint} 
    {\renewcommand*{\newunitpunct}{\addsemicolon\space}% 
     \newunit 
     \usebibmacro{related:init}% 
     \usebibmacro{related}% 
     \global\toggletrue{relatedseen}} 
    {}} 

\renewbibmacro*{origpublisher+location+date}{% 
  \printlist{origlocation}% 
  \setunit*{\addspace}% 
  \usebibmacro{origdate}% 
  \newunit} 

\newbibmacro*{real+publisher+location+date}{% 
  \printlist{location}% 
  \iffieldundef{howpublished} 
    {} 
    {\setunit*{\addcolon\space}% 
     \printfield{howpublished}}% 
  \setunit*{\addspace}% 
  \usebibmacro{date}% 
  \newunit} 


\renewbibmacro*{publisher+location+date}{% 
  \ifboolexpr{ 
    not test {\iffieldundef{origpublisher}} 
    or 
    not test {\iffieldundef{origlocation}} 
    or 
    not test {\iffieldundef{origyear}} 
  } 
    {\usebibmacro{origpublisher+location+date}% 
     \setunit{\addspace}% 
     \printtext[parens]{% 
       \bibstring{reprint}% 
       \setunit{\addspace}% 
       \usebibmacro{real+publisher+location+date}}} 
    {\usebibmacro{real+publisher+location+date}}} 

\ExecuteBibliographyOptions[inlexicon]{% 
  skipbib=false, 
} 

\DeclareBibliographyDriver{inlexicon}{% 
  \usebibmacro{begentry}% 
  \usebibmacro{author/translator+others}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \printfield{note}% 
  \newunit 
  \usebibmacro{xrefshortmaintitle+xrefshortbooktitle}% 
  \newunit 
  \usebibmacro{volume+pages}% 
  \newunit 
  \printfield{addendum}% 
  \usebibmacro{finentry}% 
}

\xpatchbibdriver{cite:book}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{cite:commentary}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{cite:suppbook}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{cite:incollection}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{book}
  {\newunit\printfield{edition}}
  {}{}{}
  \xpatchbibdriver{suppbook}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{incollection}
  {\newunit\printfield{edition}}
  {}{}{}
\DeclareFieldFormat{edition}{\textsuperscript{#1}}
\renewbibmacro*{date}{%
  \printfield{edition}%
  \printdate
  \setunit{\addcomma\addspace}%
  \printfield{pubstate}}

\begin{document}
  \null\vfill
  Filler text \autocite{Gehrke.19}.
  Filler text \autocite{Gehrke.19}.
  Filler text \autocite{Krause.19}.
  Filler text \autocite{Krause.19}.

  Filler text \autocite{Wellhausen.1906}.
  Filler text \autocite{Wellhausen.1906}.
  Filler text \autocite{Witz.2001}.
  Filler text \autocite{Witz.2001}.
  Filler text \autocite{Krug.19}.
  Filler text \autocite{Krug.19}.
  \printbibliography
\end{document}
  • 1
    Unfortunately, this is not as easy as it should be for biblatex-sbl. I have not yet supported \nametitledelim. See github.com/dcpurton/biblatex-sbl/issues/99. You have to patch every driver that should have the colon. Should it remain as a dot in the bibliography or should that also be a colon for article and incollection? – David Purton Aug 16 at 2:36
  • In the bibliography it should remain as it is. I am wondering also if also "book" can be adapted in the same way: the first note should be e.g.: Gehrke, Hans: Spätantike, Stuttgart 52019, 14. - and the following notes: Gehrke, Spätantike, 14. The bibliography should remain without changes – noname Aug 16 at 9:48
1

To do this we need to do three things. This isn't quite as obvious as I would have suspected, which makes me wonder if there are some other issues with context sensitive delimiters in biblatex-sbl. (e.g., I would have thought that I should have to specify I want context citecommand with \printdelim, but it doesn't work without this.

  1. Change the delimiter before the title in your new cite:incollection driver from \newunit to \nametitledelim in context citecommand.

    \setunit{\printdelim[citecommand]{nametitledelim}}%
    \usebibmacro{title}%
    
  2. Patch the cite:article and cite:book (and any other) driver to use \nametitledelim in context citecommand instead of \newunit before the title.

    \xpatchbibdriver{cite:article}
      {\newunit
       \usebibmacro{title}}
      {\setunit{\printdelim[citecommand]{nametitledelim}}%
       \usebibmacro{title}}
      {}
      {}
    \xpatchbibdriver{cite:book}
      {\newunit
       \usebibmacro{title}}
      {\setunit{\printdelim[citecommand]{nametitledelim}}%
       \usebibmacro{title}}
      {}
      {}
    
  3. Define \nametitledelim in context citecommand so that it prints a colon only for the first note and a comma for subsequent notes.

    \DeclareDelimFormat[citecommand]{nametitledelim}{%
      \ifciteseen
        {\addcomma\space}
        {\addcolon\space}}
    

Working Example

Updated Working Example which hopefully addresses all your requirements from last few questions. Includes code tidy up and fixes. I switch to the font Linux Libertine O which has small caps.

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@mvbook{Gehrke.19,
  author = {Gehrke, Hans-Joachim},
  title = {Geschichte der Antike. Ein Studienbuch},
  location = {Stuttgart},
  edition = {2},
  date = {2019}
}
@incollection{Krause.19,
  author={Krause, Jens-Uwe},
  gender = {sm},
  title={Die Spätantike (284-565 n.~Chr\adddot)},
  editor = {Gehrke, Hans-Joachim and Schneider, Helmuth},
  date = {2019},
  booktitle = {Geschichte der Antike. Ein Studienbuch},
  location = {Stuttgart},
  keywords = {sekundaer},
  pages={429--499},
  edition={5},
}
@article{Krug.19,
  author = {Krug, Alex},
  date = {2019},
  title = {The Time},
  journaltitle = {Revue Today},
  shortjournal = {RT},
  volume = {18,1},
  pages = {9--38},
}
@review{Wellhausen.1906,
  author={Wellhausen, Julius},
  revdauthor = {Ban, Paul},
  revdtitle={Selection, Paris/ Leipzig 1905},
  journaltitle = {Göttingische gelehrte Anzeigen},
  shortjournal = {GGA},
  volume={16,2},
  date={1910},
  pages={16--18},
}
@thesis{Witz.2001,
  author = {Witz, John},
  title = {Narratives},
  type = {phdthesis},
  institution = {Princeton University},
  date = {2001},
}
\end{filecontents}

\usepackage[style=sbl,sblfootnotes=false,ibidpage=true,sorting=nyvt,url=false,isbn=false,doi=false,clearlang=false,uniquename=false]{biblatex} 
\addbibresource{\jobname.bib}

\usepackage{xpatch}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Font and language set up %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage[ngerman]{babel}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Bibliography option modifications %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ExecuteBibliographyOptions[inlexicon]{% 
  skipbib=false, 
} 


%%%%%%%%%%%%%%%%%%%%%%%%
% Driver modifications %
%%%%%%%%%%%%%%%%%%%%%%%%

% New cite:incollection, incollection,and inlexicon drivers

\makeatletter
\DeclareBibliographyDriver{cite:incollection}{%
  \ifentrytype{seminarpaper}
    {}
    {\toggletrue{inentrytype}}%
  \usebibmacro{citeindex}%
  \usebibmacro{begentry}%
  \iftoggle{blx@usefullcite}
    {}
    {\let\ifciteseen\@firstoftwo}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim[citecommand]{nametitledelim}}%
  \usebibmacro{title}%
  \ifciteseen
    {}
    {\usebibmacro{byauthor/byeditor+others/bytranslator+others}%
     \newunit
     \usebibmacro{in:}%
     \iffieldundef{booktitle}
       {}
       {\usebibmacro{bookeditor}%
        \setunit{\printdelim[citecommand]{nametitledelim}}%
        \usebibmacro{booktitle}%
        \newunit
        \usebibmacro{event+venue+date}%
        \newunit
        \usebibmacro{bybookauthor/bybookeditor+others/bybooktranslator+others}%
        \newunit}%
     \usebibmacro{volume+partof}%
     \iffieldundef{maintitle}
       {}
       {\usebibmacro{maineditor}%
        \setunit{\printdelim[citecommand]{nametitledelim}}%
        \usebibmacro{maintitle}%
        \newunit
        \usebibmacro{event+venue+date}%
        \newunit
        \usebibmacro{bymainauthor/bymaineditor+others/bymaintranslator+others}}%
     \newunit
     \printfield{volumes}%
     \newunit
     \usebibmacro{shortseries+number}%
     \newunit
     \printfield{note}%
     \usebibmacro{parens+publisher+location+date}%
     \newunit
     \usebibmacro{ebook}%
     \newunit
     \printfield{addendum}%
     \newunit
     \usebibmacro{volume+part+pages}%
     \newunit
     \usebibmacro{isbn}%
     \newunit
     \usebibmacro{doi+eprint+url}}%
  \usebibmacro{finentry}}
\makeatother

\DeclareBibliographyDriver{incollection}{%
  \toggletrue{inentrytype}%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim[bib]{nametitledelim}}%
  \usebibmacro{title}%
  \newunit
  \ifentrytype{classictext}
    {\usebibmacro{byauthor}%
     \newunit
     \usebibmacro{bytranslator+others}}
    {\usebibmacro{byauthor/byeditor+others/bytranslator+others}}%
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \iffieldundef{booktitle}
    {}
    {\usebibmacro{bookeditor}%
     \setunit{\printdelim{nametitledelim}}%
     \usebibmacro{booktitle}%
     \newunit
     \usebibmacro{event+venue+date}%
     \newunit
     \usebibmacro{bybookauthor/bybookeditor+others/bybooktranslator+others}%
     \newunit}%
  \usebibmacro{volume+partof}%
  \iffieldundef{maintitle}
    {}
    {\usebibmacro{maineditor}%
     \setunit{\printdelim{nametitledelim}}%
     \usebibmacro{maintitle}%
     \newunit
     \usebibmacro{event+venue+date}%
     \newunit
     \usebibmacro{bymainauthor/bymaineditor+others/bymaintranslator+others}}%
  \newunit
  \printfield{edition}%
  \newunit
  \printfield{volumes}%
  \newunit
  \usebibmacro{shortseries+number}%
  \newunit
  \printfield{note}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit
  \usebibmacro{ebook}%
  \newunit
  \printfield{addendum}%
  \setunit{\addcomma\space}%
  \usebibmacro{volume+part+pages}%
  \newunit
  \usebibmacro{isbn}%
  \newunit
  \usebibmacro{doi+eprint+url}%
  \ifboolexpr{
    togl {relatedseen}
    or
    not togl {bbx:related}
  }
    {}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{inlexicon}{% 
  \usebibmacro{begentry}% 
  \usebibmacro{author/translator+others}% 
  \newunit 
  \usebibmacro{title}% 
  \newunit 
  \printfield{note}% 
  \newunit 
  \usebibmacro{xrefshortmaintitle+xrefshortbooktitle}% 
  \newunit 
  \usebibmacro{volume+pages}% 
  \newunit 
  \printfield{addendum}% 
  \usebibmacro{finentry}}

% Various driver patches
%   - use nametitledelim in cite:article and cite:book
%   - remove edition

\xpatchbibdriver{cite:article}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim[citecommand]{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}
\xpatchbibdriver{cite:book}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim[citecommand]{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}
\xpatchbibdriver{cite:review}
  {\usebibmacro{author/translator+others}%
   \newunit}
  {\usebibmacro{author/translator+others}%
   \setunit{\printdelim[citecommand]{nametitledelim}}}
  {}
  {}
\xpatchbibdriver{cite:thesis}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim[citecommand]{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}
\xpatchbibdriver{cite:book}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{cite:commentary}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{cite:suppbook}
  {\newunit\printfield{edition}}
  {}{}{}
\xpatchbibdriver{book}
  {\newunit\printfield{edition}}
  {}{}{}
  \xpatchbibdriver{suppbook}
  {\newunit\printfield{edition}}
  {}{}{}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Punctuation and delimiter modifications %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\renewcommand*{\subtitlepunct}{\addperiod\space} % Punkt zw Titel und Subtitel in Bibliogr.
\renewcommand*{\sqspace}{} % kein Abstand bei Seitenzahl mit "f." 

\DeclareDelimFormat{multinamedelim}{\addslash\space} 
\DeclareDelimAlias{finalnamedelim}{multinamedelim} 
\DeclareDelimFormat[citecommand]{nametitledelim}{%
  \ifciteseen
    {\addcomma\space}
    {\addcolon\space}}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{%
  \addperiod\space}

% Change reprint beginning punctuation to a space
\newcommand*{\begrelateddelimreprint}{\addspace}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Field format modifications %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\DeclareFieldFormat*{citetitle}{#1}
\DeclareFieldFormat[book]{title}{#1} % Buchtitel nur normal - ohne Formatierung
\DeclareFieldFormat[thesis]{title}{#1} % Buchtitel nur normal - ohne Formatierung
\DeclareFieldFormat[review]{title}{#1} % Buchtitel nur normal - ohne Formatierung
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat{shorttitle}{#1} 
\DeclareFieldFormat{shortbooktitle}{#1} 
\DeclareFieldFormat{shortmaintitle}{#1} 
\DeclareFieldFormat{edition}{\textsuperscript{#1}}

% put reprint information in parentheses
\DeclareFieldFormat{related:reprint}{\mkbibparens{#1}}

\DeclareNameAlias{sortname}{family-given} % vorher last-first in Klammern
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}

\renewcommand*{\mkbibnamefamily}{\textsc} 
\renewcommand*{\mkbibnameprefix}{\textsc} 
\renewcommand*{\mkbibnamegiven}{\textsc} 
\renewcommand*{\mkbibnamesuffix}{\textsc} 


%%%%%%%%%%%%%%%%%%%%%%%%
% String modifications %
%%%%%%%%%%%%%%%%%%%%%%%%

\DefineBibliographyStrings{ngerman}{%
  editors = {Hgg\adddot}, 
  reprint = {ND:},
}


%%%%%%%%%%%%%%%%%%%%%%%%%%
% bibmacro modifications %
%%%%%%%%%%%%%%%%%%%%%%%%%%

\newbibmacro*{bookeditor}{%
  \ifnameundef{bookeditor}
    {\ifnameundef{editor}
       {}
       {\printnames{editor}%
        \setunit{\addspace}%
        \printtext[parens]{\usebibmacro{editor+othersstrg}}%
        \clearname{editor}}}%
    {\printnames{bookeditor}%
     \setunit{\addspace}%
     \printtext[parens]{\usebibmacro{editor+othersstrg}}%
     \clearname{bookeditor}}}%

\newbibmacro*{maineditor}{%
  \ifnameundef{maineditor}
    {\ifnameundef{editor}
       {}
       {\printnames{editor}%
        \setunit{\addspace}%
        \printtext[parens]{\usebibmacro{editor+othersstrg}}%
        \clearname{editor}}}%
    {\printnames{maineditor}%
     \setunit{\addspace}%
     \printtext[parens]{\usebibmacro{editor+othersstrg}}%
     \clearname{maineditor}}}

\renewbibmacro*{date}{%
  \printfield{edition}%
  \printdate
  \setunit{\addcomma\addspace}%
  \printfield{pubstate}}

% Set \newunitpunct to comma and remove parentheses around publication info
\renewbibmacro*{related:reprint}[1]{%
  \entrydata*{#1}{%
    \usedriver
      {\renewbibmacro*{related:init}{}%
       \renewcommand*{\newunitpunct}{\addcomma\space}%
       \renewbibmacro*{parens+publisher+location+date}{%
         \newunit
         \usebibmacro{publisher+location+date}}}
      {\ifbibliography
         {\thefield{entrytype}}
         {cite:\thefield{entrytype}}}}}

% use family, given and change \newunitpunct to a point just for related
% entries (I have serious misgivings about this as it seems very
% inconsistent.)
\xpretobibmacro{cite}
  {\iffieldequalstr{relatedtype}{reprint}
     {\DeclareNameAlias{default}{family-given}%
      \renewcommand*{\newunitpunct}{\addperiod\space}}
     {}}
  {}
  {}

\renewbibmacro*{parens+publisher+location+date}{% 
  \newunit
  \usebibmacro{publisher+location+date}% 
  \iffieldequalstr{relatedtype}{reprint} 
    {\renewcommand*{\newunitpunct}{\addsemicolon\space}% 
     \newunit 
     \usebibmacro{related:init}% 
     \usebibmacro{related}% 
     \global\toggletrue{relatedseen}} 
    {}} 

\renewbibmacro*{origpublisher+location+date}{% 
  \printlist{origlocation}% 
  \setunit*{\addspace}% 
  \usebibmacro{origdate}% 
  \newunit} 

\newbibmacro*{real+publisher+location+date}{% 
  \printlist{location}% 
  \iffieldundef{howpublished} 
    {} 
    {\setunit*{\addcolon\space}% 
     \printfield{howpublished}}% 
  \setunit*{\addspace}% 
  \usebibmacro{date}% 
  \newunit} 

\renewbibmacro*{publisher+location+date}{% 
  \ifboolexpr{ 
    not test {\iffieldundef{origpublisher}} 
    or 
    not test {\iffieldundef{origlocation}} 
    or 
    not test {\iffieldundef{origyear}} 
  } 
    {\usebibmacro{origpublisher+location+date}% 
     \setunit{\addspace}% 
     \printtext[parens]{% 
       \bibstring{reprint}% 
       \setunit{\addspace}% 
       \usebibmacro{real+publisher+location+date}}} 
    {\usebibmacro{real+publisher+location+date}}} 


\begin{document}
\null\vfill
Filler text \autocite{Gehrke.19}.
Filler text \autocite{Gehrke.19}.
Filler text \autocite{Krause.19}.
Filler text \autocite{Krause.19}.
Filler text \autocite{Krug.19}.
Filler text \autocite{Krug.19}.
Filler text \autocite{Wellhausen.1906}.
Filler text \autocite{Wellhausen.1906}.
Filler text \autocite{Witz.2001}.
Filler text \autocite{Witz.2001}.
\printbibliography
\end{document}

output

  • In theory you would almost never have to use the optional argument of \printdelim. The code is quite long, so I'm not keen on going through it just now, but maybe the argument-less version didn't work because the nametitledelim has a generic definition and a definition for bib. – moewe Aug 16 at 15:04
  • @moewe, yes. I plan to investigate further. – David Purton Aug 16 at 15:07
  • 1
    @anonym, Well, your MWE in the question doesn't give that either… And it it still contains errors that I mentioned in my previous answer (missing \makeatletter\makeatother and wrong babel set up). I will try and go through all your questions and fix everything up. – David Purton Aug 17 at 2:28
  • 1
    @anonym, or do you mean all entry types in the notes? You just have to patch every cite:… driver like I did in point 2 above. – David Purton Aug 18 at 6:04
  • 1
    @anonym, I've added the patches for @thesis and @review. You should be able to add any other entry types you need yourself. It's probably best to mark this question as solved and ask new and more specific questions for other changes you need. This site isn't well suited to continually updating questions and answers. And in general questions should be specific, rather than a more general "how do I implement this entire style in biblatex. – David Purton Aug 18 at 6:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.