실제 사례

실제 사례

저는 biblatex-sbl을 사용하고 있습니다. 메모에서 "물건"과 "추수"의 첫 번째 인용은 다음과 같아야 합니다.

Krause, Jens-Uwe: "Die Spätantike (284-565 n. Chr.)" in: Gehrke, Hans-Joachim/ Schneider, Helmuth (eds.): Geschichte der Antike. Ein Studienbuch, 슈투트가르트 52019,429–499.

다음 참고 사항에서는 다음과 같아야 합니다.

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

간단히 말해서, "수집"(및 "기사") 참조의 저자 이름 뒤에 콜론을 표시하기를 원합니다. 다른 모든 메모에서는 쉼표여야 합니다.

내 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

이를 위해 우리는 세 가지 일을 해야 합니다. 이는 제가 생각했던 것만큼 명확하지 않습니다. 따라서 .NET의 상황에 맞는 구분 기호에 다른 문제가 있는지 궁금합니다 biblatex-sbl. (예를 들어, citecommand를 사용하여 컨텍스트를 지정해야 한다고 생각했지만 \printdelim이것이 없으면 작동하지 않습니다.

  1. cite:incollection새 드라이버 의 제목 앞의 구분 기호를 in context 에서 \newunit로 변경합니다 .\nametitledelimcitecommand

    \setunit{\printdelim[citecommand]{nametitledelim}}%
    \usebibmacro{title}%
    
  2. 제목 앞이 아닌 상황에 맞게 사용할 수 있도록 cite:articlecite:book(및 기타) 드라이버를 패치합니다 .\nametitledelimcitecommand\newunit

    \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. 첫 번째 메모에만 콜론을 인쇄하고 후속 메모에는 쉼표를 인쇄하도록 \nametitledelim컨텍스트에서 정의합니다 .citecommand

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

실제 사례

마지막 몇 가지 질문의 모든 요구 사항을 해결하는 업데이트된 작업 예제입니다. 코드 정리 및 수정 사항이 포함되어 있습니다. 나는 작은 대문자가 있는 Linux Libertine O 글꼴로 전환합니다.

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

산출

관련 정보