Biblatex: dos estilos de cita para el mismo tipo de 'comentario'

Biblatex: dos estilos de cita para el mismo tipo de 'comentario'

Estoy intentando implementar un sistema de citas para comentarios legales alemanes.

Siguiendo una pista deNombre de etiqueta en formato BiblatexHe implementado con éxito dos estilos de citas a los que llamocomentario:mediadosycomentario:pre(ver MWE).

Ahora necesito abordar la bibliografía. Aquí, el problema es que existen dos estilos de bibliografía básicos:

Uno, al que llamo 'comentario: nombre del editor', está implementado en MWE, por ejemplo

Palandt, Otto(Begr.): Bürgerliches Gesetzbuch mit Nebengesetzen. 79. Aufl. Múnich, 2019 (zit. als: Palandt/beiter).

El segundo, al que llamo 'comentario:título', utiliza el título para identificar el comentario citado, por ejemplo

Münchener Kommentar zum Bürgerlichen Gesetzbuch, hrsg. von Säcker, Franz, Bd. 1: Allgemeiner Teil. 7. Aufl., Múnich 2015, (zit. als: MüKoBGB/beiter).

Mi pregunta es: ¿Cómo implemento dos estilos de bibliografía para el mismo tipo? ¿Debo usar otra OPCIÓN, ya que la decisión de qué bibliografía usar se toma para cada comentario individualmente? ¿O debería simplemente definir un segundo (sub)tipo, por ejemplo, 'comentario:título' y reelaborar ese controlador de declaración de bibliografía para que se ajuste a mis necesidades?

Gracias por su ayuda.

Aquí está el 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}

información relacionada