\ProvidesFile{german-legal-book.cbx}[2023/02/22 v003] %%% license: LPPL 1.3c or later %%% author-maintainer: Dominik Brodowski, dominik.brodowski@uni-saarland.de %%%%%%%%%%%%%%%% %%% Vorspann %%% %%%%%%%%%%%%%%%% %%% Dieser Zitierstil basiert auf ext-authortitle, verwendet aber kein %%% ibidem (Geschmacksfrage!) \RequireCitationStyle{ext-authortitle}% %%% Um die Änderungen so klein wie möglich zu halten, wird das Paket %%% xpatch verwendet, mit dem sich existierende Makros verändern lassen, %%% ohne sie gänzlich neu definieren zu müssen. \RequirePackage{xpatch}% %%% Mit der Option "edsuper" wird angegeben, ob die Auflagennummer bei %%% Büchern und Kommentaren mit abgedruckt werden soll. Der Standard ist %%% "true", d.h. um dies zu unterbinden, muss "edsuper=false" als Option %%% gesetzt werden. \newbool{book:edition:super} \setboolean{book:edition:super}{true} \DeclareBibliographyOption[boolean]{edsuper}[true]{% \setboolean{book:edition:super}{#1}% } %%% Für eine Zitierung nach Randnummern sei ein neuer String namens %%% 'marginnumber' definiert. \NewBibliographyString{marginnumber} \DefineBibliographyStrings{english}{% marginnumber = {mn.} } \DefineBibliographyStrings{german}{% marginnumber = {Rn.} } %%%%%%%%%%%%%%%%%%%%%%%% %%% Allgemeiner Teil %%% %%%%%%%%%%%%%%%%%%%%%%%% %%% Mehrere Autorennamen werden durch einen Schrägstrich getrennt. Dieser %%% ist -- anders als die Autorennamen (siehe bbx) -- recte zu setzen. \AtEveryCite{% \renewcommand*{\multinamedelim}{{\normalfont{\addslash}}}% \renewcommand*{\finalnamedelim}{{\normalfont{\addslash}}}% } %%% cite:title wird normalerweise verwendet, um alles ab dem Beitragstitel %%% (d.h. nach dem Autorennamen) auszugeben. Mit dieser "Weiche" kann %%% hierfür, abhängig vom Beitragstyp, ein eigenes Makro definiert werden. \renewbibmacro*{cite:title}{% \printtext[bibhyperref]{% \ifbibmacroundef{cite:\strfield{entrytype}}% {%%% default, from authortitle.cbx %%% \printfield[citetitle]{labeltitle}% }{%%% use custom override %%% \usebibmacro*{cite:\strfield{entrytype}}% }% }% } %%% Mit diesem Makro wird standardmäßig die Startseite ausgegeben, wenn %%% es einer genauen Fundstelle ("pinpoint citation") als postnote fehlt. \newbibmacro*{startingpage}{% \iffieldundef{postnote}% {\iffieldundef{pages}{}% {\addcomma\addspace\printfield{pages}}}% {}% } %%% Die Formatdefintion "edition:super" und das Makro "printsuperedition" %%% werden genutzt, um -- falls book:edition:super auf "true" gesetzt ist %%% (Option "edsuper", siehe oben) die Auflagennummer (!) hochgestellt %%% auszugeben. \DeclareFieldFormat{edition:super}{% \ifinteger{#1}{% \mkbibsuperscript{\tiny{#1}}% }{}% } \newbibmacro*{printsuperedition}{% \ifbool{book:edition:super}{\printfield[edition:super]{edition}}{}% } %%%%%%%%%%%%%%% %%% article %%% %%%%%%%%%%%%%%% %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die %%% Startseite ausgegeben werden. \AtEveryCite{% \DeclareFieldFormat[article]{pages}{\mkfirstpage{#1}}% } %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote, %%% so soll zunächst die Startseite und danach die genaue Fundstelle in %%% einer Klammer ausgegeben werden. \DeclareFieldFormat[article]{postnote}{\addspace\printfield{pages}\addspace\mkbibparens{#1}} %%% Nachfolgend ist der Fußnoten-Zitierstil für Aufsätze definiert, die %%% in Zeitschriften erschienen sind, welche nach Erscheinungsjahr (und %%% nicht Band, dann @periodical) zitiert werden: \newbibmacro*{cite:article}{% %%% %%% Zeitschriftenname... \usebibmacro{journal}% %%% %%% Leerzeichen... \setunit*{\addspace}% %%% %%% ggf. Angabe der Ausgabe (wenn Feld "issue" definiert ist) \iffieldundef{issue}{}{\printfield{issue}\slash}% %%% %%% Jahr... \printfield{year}% %%% %%% und dann die Startseite bzw. pinpoint citation \usebibmacro{startingpage}% } %%%%%%%%%%%%%%%%%% %%% periodical %%% %%%%%%%%%%%%%%%%%% %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die %%% Startseite ausgegeben werden. \AtEveryCite{% \DeclareFieldFormat[periodical]{pages}{\mkfirstpage{#1}}% } %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote, %%% so soll zunächst die Startseite und danach die genaue Fundstelle in %%% einer Klammer ausgegeben werden. \DeclareFieldFormat[periodical]{postnote}{\printfield{pages} \mkbibparens{#1}} %%% Nachfolgend ist der Fußnoten-Zitierstil für Aufsätze definiert, die %%% in Zeitschriften erschienen sind, welche nach Band (und nicht nach %%% Erscheinungsjahr, dann @article) zitiert werden: \newbibmacro*{cite:periodical}{% %%% %%% Zeitschriftenname... \usebibmacro{journal}% %%% %%% Leerzeichen... \setunit*{\addspace}% %%% %%% Band... \printfield{volume}% %%% %%% Leerzeichen... \addspace% %%% %%% Jahr (in Klammern)... \mkbibparens{\printfield{year}}% %%% %%% Komma... \addcomma% %%% %%% und dann die Startseite bzw. pinpoint citation \usebibmacro{startingpage}% } %%%%%%%%%%%% %%% book %%% %%%%%%%%%%%% %%% In der Fußnoten interessiert uns nur die Auflagenzahl (ohne "Aufl.") \AtEveryCite{% \DeclareFieldFormat[book]{edition}{#1}% } %%% Nachfolgend ist der Fußnoten-Zitierstil für Bücher definiert: \newbibmacro*{cite:book}{% \printfield[citetitle]{labeltitle}% \usebibmacro{printsuperedition}% } %%%%%%%%%%%%%% %%% inbook %%% %%%%%%%%%%%%%% %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die %%% Startseite (mit S. vorneweg) ausgegeben werden. \AtEveryCite{% \DeclareFieldFormat[inbook]{pages}{% \iffieldequalstr{pagination}{section}{% %%% if we cite by margin number, just have the section printed here... \mkfirstpage{#1}% }{% %%% otherwise, print the page prefix and the first page here... \bibstring{page}~\mkfirstpage{#1}% }% }% } %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote, %%% so soll zunächst die Startseite und danach die genaue Fundstelle in %%% einer Klammer ausgegeben werden. Ausnahme: Ist als pagination 'section' %%% angegeben, so erfolgt eine Ausgabe nach Randnummern. \DeclareFieldFormat[inbook]{postnote}{% \printfield{pages}% \addspace% \iffieldequalstr{pagination}{section}{\bibstring{marginnumber}~#1}{\mkbibparens{#1}}% } %%% Herausgebernamen in der Fußnote dürfen abgekürzt werden \AtEveryCite{% \DeclareNameAlias[inbook]{byeditor}{labelname}% } %%% Nachfolgend ist der Fußnoten-Zitierstil für Buchbeiträge definiert: \newbibmacro*{cite:inbook}{% %%% %%% in: \usebibmacro{in:}% \midsentence% nach dem Doppelpunkt soll ein "von" usw. klein gesetzt werden. %%% %%% Hrsg. ... \usebibmacro{byeditor+others}% %%% %%% Leerzeichen... \newunit\newblock% %%% %%% dann der Buchtitel... \iffieldundef{shorttitle}% {\printfield{booktitle}}% {\printfield{shorttitle}}% \usebibmacro{printsuperedition}% %%% %%% Leerzeichen... \newunit\newblock% %%% %%% und dann die Startseite bzw. pinpoint citation \usebibmacro{startingpage}% } %%%%%%%%%%%%%%%%%%%% %%% incollection %%% %%%%%%%%%%%%%%%%%%%% %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die %%% Startseite (mit S. vorneweg) ausgegeben werden. \AtEveryCite{% \DeclareFieldFormat[incollection]{pages}{% \bibstring{page}~\mkfirstpage{#1}% }% } %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote, %%% so soll zunächst die Startseite und danach die genaue Fundstelle in %%% einer Klammer ausgegeben werden. \DeclareFieldFormat[incollection]{postnote}{\printfield{pages} \mkbibparens{#1}} %%% Nachfolgend ist der Fußnoten-Zitierstil für Festschriftenbeiträge definiert: \newbibmacro*{cite:incollection}{% %%% %%% in: \usebibmacro{in:}% %%% %%% Festschriftentitel... \iffieldundef{shorttitle}% {\printfield{booktitle}}% {\printfield{shorttitle}}% %%% %%% Leerzeichen... \newunit\newblock% %%% %%% und dann die Startseite bzw. pinpoint citation \usebibmacro{startingpage}% } %%%%%%%%%%%%%%%%%% %%% commentary %%% %%%%%%%%%%%%%%%%%% %%% Der Bearbeiter wird im prenote-Feld angegeben und kursiv gesetzt, danach %%% folgt ein Komma \DeclareFieldFormat[commentary]{prenote}{\mkbibemph{#1}\addcomma}% %%% Der Bearbeiter kann dabei entweder im Klartext angegeben werden, der %%% dann unverändert ausgegeben wird, oder mit dem Befehl \commentator{citekey}: %%% Dann werden die Autorennamen aus der Bibliographie entnommen und %%% entsprechend formatiert. \DeclareCiteCommand{\commentator} {} {\mkbibemph{\printnames[labelname]{author}}} {} {} %%% Falls bei einem Kommentar "shorthand" angegeben ist, werden die %%% Herausgeber nicht (!) genannt. Hierzu wird der Befehl %%% \printnames{labelname} im allgemeinen Makro "textcite" unter die %%% Bedingung gestellt, dass es sich um einen Kommentar handelt und ein %%% "shorthand" definiert ist. \xpatchbibmacro{textcite}{% \printnames{labelname}% }{% \ifentrytype{commentary}{% \iffieldundef{shorthand}{% \printnames{labelname}% }{}% }{% \printnames{labelname}% }% }{}{} %%% Falls bei einem Kommentar "shorthand" angegeben ist, muss trotzdem das %%% "in:" vorangestellt und die Auflagennummer nachgeschoben werden. Hierzu %%% wird das allgemeine Makro "cite:shorthand" entsprechend modifiziert. \xpatchbibmacro{cite:shorthand}{% \printfield{shorthand}% }{% \usebibmacro{in:}% \printfield{shorthand}% \usebibmacro{printsuperedition}% }{}{} %%% Nachfolgend ist der Fußnoten-Zitierstil für Kommentare definiert. Dieser %%% wird indes nur verwendet, falls "shorthand" nicht definiert ist; %%% andernfalls erledigen die oben modifizierten Makros "textcite" und %%% "cite:shorthand" die ganze Arbeit. \newbibmacro*{cite:commentary}{% \usebibmacro{in:}% \iffieldundef{shorttitle}% {\printfield{booktitle}}% {\printfield{shorttitle}}% } \endinput