Arbeitsbeispiel

Arbeitsbeispiel

Ich verwende biblatex-sbl. In den Anmerkungen sollte das erste Zitat eines „Artikels“ und einer „Sammlung“ wie folgt lauten:

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

In den folgenden Hinweisen sollte es heißen:

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

Kurz gesagt: Ich möchte, dass nach dem Autorennamen bei der Bezugnahme auf eine „Sammlung“ (und auch auf einen „Artikel“) ein Doppelpunkt angezeigt wird; in allen anderen Fußnoten soll ein Komma stehen.

Hier ist mein 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}

Antwort1

Dazu müssen wir drei Dinge tun. Das ist nicht ganz so offensichtlich, wie ich vermutet hätte, was mich fragen lässt, ob es noch andere Probleme mit kontextsensitiven Trennzeichen in gibt . (Ich hätte beispielsweise gedacht, dass ich angeben muss, dass ich einen Kontext mit biblatex-sblmöchte , aber ohne das funktioniert es nicht.citecommand\printdelim

  1. cite:incollectionÄndern Sie in Ihrem neuen Treiber das Trennzeichen vor dem Titel von \newunitin \nametitledelimKontext citecommand.

    \setunit{\printdelim[citecommand]{nametitledelim}}%
    \usebibmacro{title}%
    
  2. Patchen Sie den cite:articleund cite:book(und jeden anderen) Treiber, um ihn \nametitledelimim Kontext citecommandstatt \newunitvor dem Titel zu verwenden.

    \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. Definieren Sie es \nametitledelimim Kontext citecommand, sodass nur für die erste Notiz ein Doppelpunkt und für alle nachfolgenden Notizen ein Komma gedruckt wird.

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

Arbeitsbeispiel

Aktualisiertes Arbeitsbeispiel, das hoffentlich alle Ihre Anforderungen aus den letzten Fragen erfüllt. Enthält Codebereinigungen und -korrekturen. Ich wechsle zur Schriftart Linux Libertine O, die Kapitälchen hat.

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

Ausgabe

verwandte Informationen