Biblatex: 同じ「解説」タイプの引用スタイルが 2 つある

Biblatex: 同じ「解説」タイプの引用スタイルが 2 つある

私はドイツの法律解説の引用スキームを実装しようとしています。

からの手がかりを追ってBiblatex 形式のラベル名私は2つの引用スタイルをうまく実装しました。解説:中そして解説:前(MWE を参照)。

ここで参考文献について触れる必要があります。ここで問題となるのは、参考文献には 2 つの基本的なスタイルがあるということです。

一つは、私が「commentary:editorname」と呼んでいるもので、MWEに実装されています。例えば、

パランド、オットー(Begr.): 潜在的権利を含む公共の法律書。 79. アウフルミュンヘン、2019年(出典:パランド/ベアバイター)。

2つ目は「解説:タイトル」と呼んでいますが、タイトルを使って引用された解説を識別します。例:

ミュンヘンの公共政策書に関するコメント、時間単位。フォン・ゼッカー、フランツ、Bd. 1: 一般部分。 7. Aufl.、ミュンヘン 2015、(出典:MüKoBGB/ベアバイター)。

私の質問は、同じタイプに 2 つの参考文献スタイルを実装するにはどうしたらよいかということです。どの参考文献を使用するかは各解説ごとに個別に決定されるため、別のオプションを使用する必要がありますか。それとも、たとえば「commentary:title」などの 2 番目の (サブ) タイプを定義し、その declarationbibliographydriver を自分のニーズに合わせて作り直すだけでよいのでしょうか。

助けてくれてありがとう。

MWE は次のとおりです。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{filecontents}
\begin{filecontents}{jobname.bib}

@COMMENTARY{palandt,
    editor = {Palandt, Otto},
    editortype = {founder},
    YEAR = {2019},
    TITLE = {Bürgerliches Gesetzbuch mit Nebengesetzen},
    EDITION = {79},
    ISBN = {978-3-406-73800-5},
    PUBLISHER = {C.H. Beck},
    ADDRESS = {München},
    shorthand = {Palandt},
    OPTIONS = {howcited},
}

@COMMENTARY{muekobgb,
  maintitle  = {Münchener Kommentar zum Bürgerlichen Gesetzbuch},
  editor     = {Säcker, Franz},
  volume     = {1},
  title      = {Allgemeiner Teil},
  edition    = {7},
  address    = {München},
  year       = {2015},
  shorthand  = {MüKoBGB},
  OPTIONS    = {howcited},
}

@COMMENTARY{hdbversr,
  maintitle  = {Ver\-sicherungs\-rechts-Hand\-buch},
  editor     = {Beckmann, Roland Michael and Matusche-Beckmann, Annemarie},
  edition    = {3},
  address    = {München},
  year       = {2015},
  shorthand  = {VersRHdb},   
  %OPTIONS    = {howcited},
  addendum = {(zit. als \emph{Bearbeiter} in: VersRHdb)},
}

@COMMENTARY{maunzduerig,
  maintitle  = {Grundgesetz},
  editor     = {Maunz,  Theodor  and  Dürig,  Günter},
  editortype = {founder},
  edition    = {80. Lieferung, Juni 2017},
  address    = {München},
  %year       = {2015},
  shorthand  = {Maunz/Dürig},   
  %OPTIONS    = {howcited},
  addendum = {(zit. als \emph{Bearbeiter} in: Maunz/Dürig)},  
}

@COMMENTARY{erfk,
  maintitle  = {Erfurter Kommentar zum Arbeitsrecht},
  editor     = {Müller-Glöge, Rudi and Preis, Ulrich and Schmidt, Ingrid},
  edition    = {16},
  address    = {München},
  year       = {2016},
  shorthand  = {ErfK},   
  OPTIONS    = {howcited},
}

@COMMENTARY{blah,
  maintitle  = {Zivilprozessordnung. Mit FamFG, GVG und anderen Nebengesetzen},
  editor     = {Baumbach, Adolf and Lauterbach, Wolfgang and Albers, Jan and Hartmann, Peter},
  edition    = {74},
  address    = {München},
  year       = {2016},
  shorthand  = {BLAH},   
  OPTIONS    = {howcited},
}

@COMMENTARY{blah2,
  maintitle  = {Zivilprozessordnung mit verschiedenen Editor-Typen},
  editor     = {Baumbach, Adolf},
  editortype = {founder},
  editora    = {Lauterbach, Wolfgang}, 
  editoratype = {continuator},
  editorb    = {Albers, Jan and Hartmann, Peter},
  editorbtype = {editor},
  edition    = {74},
  address    = {München},
  year       = {2016},
  shorthand  = {BLAH2},   
  OPTIONS    = {howcited},
}
\end{filecontents}

\usepackage[%
  backend=biber,%
  sorting=nty,%
  sortcites=true,%
  maxnames=4,%
  minnames=4,%
  style=ext-authortitle-ibid,%
  articlein=false,%
  %innamebeforetitle=true,
  useprefix=true,%
  isbn=false,%
]{biblatex}
\usepackage[babel, german=quotes]{csquotes}
\usepackage{xpatch}
\addbibresource{jobname.bib}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Globale Änderungen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Namen kursiv
\renewcommand*{\mkbibnamefamily}[1]{\mkbibemph{#1}}
\renewcommand*{\mkbibnamegiven}[1]{\mkbibemph{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\mkbibemph{#1}}
\renewcommand*{\mkbibnamesuffix}[1]{\mkbibemph{#1}}

%Im Literaturverzeichnis Doppelpunkt nach Namen, kein Punkt
\renewcommand*{\labelnamepunct}{\addcolon\space} 

%  Schrägstriche zwischen den Autoren
\renewcommand*{\multinamedelim}{\addslash} 
\renewcommand*{\finalnamedelim}{\multinamedelim}

% ebd. kursiv
\renewcommand*{\mkibid}{\mkbibemph}

% Keine Ausgabe des Verlags
\AtEveryCitekey{\clearlist{publisher}}
\AtEveryBibitem{\clearlist{publisher}}

% Keine Ausgabe des Ortes
%\AtEveryCitekey{\clearlist{location}}
%\AtEveryBibitem{\clearlist{location}}

% Namen sortiert als Nachname, Vorname
\DeclareNameAlias{sortname}{family-given}

% Kein Punkt am Ende des Eintrags im LitVZ
%\renewcommand{\finentrypunct}{}

% kein Punkt nach Addendum
\renewcommand*{\finentrypunct}{%
  \iffieldundef{addendum}%
    {\addperiod}%
    {}%
  }

% 'Auflage' statt 'Aufl.'
%\DefineBibliographyStrings{german}{%
%  edition = {\ifbibliography{Auflage}{Aufl\adddot}},%
%}%

% Erkennt Satzzeichen & setzt kein Komma ausser bei Abkurzungen
%\DefineBibliographyExtras{german}{\DeclarePunctuationPairs{comma}{*}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Definition von 'commentary'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\DeclareBibliographyDriver{commentary}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}%
  \newblock
  \usebibmacro{maintitle+title}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}
  \newunit
  \usebibmacro{location+date}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}%
  \newblock
  \usebibmacro{finentry}}

\let\oldpostnotedelim\postnotedelim
\renewcommand*{\postnotedelim}{\ifentrytype{commentary}{}{\oldpostnotedelim}}
\DeclareFieldFormat{postnote:stem}{\oldpostnotedelim\mkpageprefix[pagination][\mknormrange]{#1}}
\DeclareFieldFormat{postnote:prefix}{\addslash\mkbibemph{#1}}
\DeclareFieldFormat{postnote}{\mkpostnote{#1}}

\makeatletter
\newrobustcmd*{\mkpostnote}[1]{\mkpostnote@i#1&}

\def\mkpostnote@i{%
  \@ifnextchar(%)
    {\mkpostnote@ii}
    {\mkpostnote@ii()}}

\def\mkpostnote@ii(#1)#2&{%
  \ifblank{#1}{}{%
    \blx@getformat\cbx@postnote@prefix@fmt{ffd}{}{postnote:prefix}%
    \cbx@postnote@prefix@fmt{#1}}%
  \ifblank{#2}{}{%
    \blx@getformat\cbx@postnote@stem@fmt{ffd}{}{postnote:stem}%
    \cbx@postnote@stem@fmt{#2}}%
  }
\def\cbx@postnote@stem@fmt{}
\def\cbx@postnote@prefix@fmt{}
\makeatother

% 'editortype' in Klammern
\DeclareFieldFormat[commentary]{editortype}{\mkbibparens{#1}}

% Doppelpunkt nach 'editortype'
\renewcommand*{\editortypedelim}{
  \ifentrytype{commentary}
    {}
    {\addcolon\addspace}}%

% Titel nicht kursiv
\DeclareFieldFormat[commentary]{title}{\normalfont{#1}}
\DeclareFieldFormat[commentary]{citetitle}{\normalfont{#1}}
\DeclareFieldFormat[commentary]{maintitle}{\normalfont{#1}}

% Kursive Schrift für Bearbeiter von Kommentaren
\DeclareFieldFormat[commentary]{prenote}{\mkbibemph{#1}\addspace in \addcolon}%


% ==========================================================
% === Kommentare: zitiert als Option ===
% https://tex.stackexchange.com/questions/443837/biblatex-format-labelname
\newtoggle{tnbcbx@howcited}
\DeclareEntryOption[boolean]{howcited}[true]{\settoggle{tnbcbx@howcited}{#1}}
\DeclareBibliographyOption[boolean]{howcited}[true]{\settoggle{tnbcbx@howcited}{#1}}
\DeclareTypeOption[boolean]{howcited}[true]{\settoggle{tnbcbx@howcited}{#1}}

\newbibmacro{howcited}{%
  \iftoggle{tnbcbx@howcited}
    {\iffieldundef{shorthand}
       {}
       {\setunit{\addspace}%
        \printtext[parens]{%
          \bibstring{citedas}%
          \setunit{\addcolon\space}%
          \printfield{shorthand}%
          \setunit{\addslash}%
          \bibstring[\emph]{bearbeiter}}}}
    {}}

\newtoggle{tnbcbx@fshowcited}
\DeclareEntryOption[boolean]{fshowcited}[true]{\settoggle{tnbcbx@fshowcited}{#1}}
\DeclareBibliographyOption[boolean]{fshowcited}[true]{\settoggle{tnbcbx@fshowcited}{#1}}
\DeclareTypeOption[boolean]{fshowcited}[true]{\settoggle{tnbcbx@fshowcited}{#1}}

\newbibmacro{fshowcited}{%
  \iftoggle{tnbcbx@fshowcited}
    {\iffieldundef{shorttitle}
       {}
       {\setunit{\addspace}%
        \printtext[parens]{%
          \bibstring{citedas}%
          \setunit{\space}%
          \begingroup
          \csuse{blx@hook@cite}%
          \csuse{blx@hook@citekey}%
          \DeclareFieldFormat{bibhyperref}{##1}%
          \printnames{labelname}%
          \setunit{\addcomma\space}%
          \printfield{shorttitle}%
          \endgroup
          }}}
    {}}

\renewbibmacro{finentry}{\usebibmacro{howcited}\usebibmacro{fshowcited}\finentry}

\NewBibliographyString{bearbeiter}
\DefineBibliographyStrings{ngerman}{
  citedas    = {zit. als},
  bearbeiter = {Bearbeiter},
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Mustertext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\section*{Beispiele juristischer Kommentare}

\subsection*{Kommentare mit Zitierschema \texttt{commentator:mid}}
\cite[(Ellenberger)§ 134 Rn. 14]{palandt}.\footcite[(Ellenberger)§ 134 Rn. 14]{palandt}\\
\cite[(Armbrüster)§~138 Rn.~9]{muekobgb}.\footcite[(Armbrüster)§ 138 Rn. 9]{muekobgb} \\
\cite[(Hartmann)§ 287 Rn. 5]{blah} \footcite[(Hartmann)§ 287 Rn. 5]{blah} \\
\cite[(Hartmann)§ 286 Rn. 13]{blah2} \footcite[(Hartmann)§ 286 Rn. 13]{blah2}\\
\cite[(Bearbeiter)§ 1 KSchG Rn. 2]{erfk}.\footcite[(Bearbeiter)§ 1 KSchG Rn. 2]{erfk}\\

\subsection*{Kommentare mit Zitierschema \texttt{commentator:pre}}

\cite[Bearbeiter][§ 3 Rn. 15]{hdbversr}.\footcite[Bearbeiter][§ 3 Rn. 15]{hdbversr}\\
\cite[Bearbeiter][Art.~20 Rn.~3]{maunzduerig}.\footcite[Bearbeiter][Art. 20 Rn. 3]{maunzduerig}

\printbibliography[type=commentary,title={Literatur (nur \texttt{commentary})}]

\subsection*{Implementiert ist das Zitierschema  \texttt{commentary:editorname}}

\subsection*{Implentiert werden soll das Zitierschema \texttt{commentary:titlename} wie folgt:}
\leftskip=15pt \parindent=-\leftskip
\emph{Erfurter Kommentar zum Arbeitsrecht}, hrsg. von Müller-Glöge, Rudi/Preis, Ulrich/Schmidt, Ingrid, 16. Aufl., München 2016 (zit. als: ErfK/\emph{Bearbeiter}). 

\emph{Versicherungsrechts-Handbuch}, hrsg. von Beckmann, Roland Michael/Matusche-Beckmann, Annemarie, 3. Aufl., München 2015 (zit. als: \emph{Bearbeiter} in: VersRHdb).

\emph{Münchener Kommentar zum Bürgerlichen Gesetzbuch}, hrsg. von Säcker, Franz, Bd. 1: Allgemeiner Teil. 7. Aufl., München 2015,  (zit. als: MüKoBGB/\emph{Bearbeiter}).\\

Siehe auch \emph{https://help.citavi.com/knowledge-base/article/byrd-lehmann-zitierfibel}

\end{document}

関連情報