1 \ProvidesFile{german-legal-book.cbx}[2020/03/06 v000]
3 %%% author-maintainer: Dominik Brodowski, dominik.brodowski@uni-saarland.de
10 %%% Dieser Zitierstil basiert auf ext-authortitle, verwendet aber kein
11 %%% ibidem (Geschmacksfrage!)
12 \RequireCitationStyle{ext-authortitle}%
14 %%% Um die Änderungen so klein wie möglich zu halten, wird das Paket
15 %%% xpatch verwendet, mit dem sich existierende Makros verändern lassen,
16 %%% ohne sie gänzlich neu definieren zu müssen.
17 \RequirePackage{xpatch}%
19 %%% Mit der Option "edsuper" wird angegeben, ob die Auflagennummer bei
20 %%% Büchern und Kommentaren mit abgedruckt werden soll. Der Standard ist
21 %%% "true", d.h. um dies zu unterbinden, muss "edsuper=false" als Option
23 \newbool{book:edition:super}
24 \setboolean{book:edition:super}{true}
25 \DeclareBibliographyOption[boolean]{edsuper}[true]{%
26 \setboolean{book:edition:super}{#1}%
30 %%%%%%%%%%%%%%%%%%%%%%%%
31 %%% Allgemeiner Teil %%%
32 %%%%%%%%%%%%%%%%%%%%%%%%
34 %%% Mehrere Autorennamen werden durch einen Schrägstrich getrennt. Dieser
35 %%% ist -- wie die Autorennamen selbst (siehe bbx) -- kursiv zu setzen.
37 \renewcommand*{\multinamedelim}{\mkbibemph{\addslash}}%
38 \renewcommand*{\finalnamedelim}{\mkbibemph{\addslash}}%
41 %%% cite:title wird normalerweise verwendet, um alles ab dem Beitragstitel
42 %%% (d.h. nach dem Autorennamen) auszugeben. Mit dieser "Weiche" kann
43 %%% hierfür, abhängig vom Beitragstyp, ein eigenes Makro definiert werden.
44 \renewbibmacro*{cite:title}{%
45 \printtext[bibhyperref]{%
46 \ifbibmacroundef{cite:\strfield{entrytype}}%
47 {%%% default, from authortitle.cbx %%%
48 \printfield[citetitle]{labeltitle}%
49 }{%%% use custom override %%%
50 \usebibmacro*{cite:\strfield{entrytype}}%
55 %%% Mit diesem Makro wird standardmäßig die Startseite ausgegeben, wenn
56 %%% es einer genauen Fundstelle ("pinpoint citation") als postnote fehlt.
57 \newbibmacro*{startingpage}{%
58 \iffieldundef{postnote}%
59 {\iffieldundef{pages}{}%
60 {\addcomma\addspace\printfield{pages}}}%
64 %%% Die Formatdefintion "edition:super" und das Makro "printsuperedition"
65 %%% werden genutzt, um -- falls book:edition:super auf "true" gesetzt ist
66 %%% (Option "edsuper", siehe oben) die Auflagennummer (!) hochgestellt
68 \DeclareFieldFormat{edition:super}{%
70 \textsuperscript{\tiny{#1}}%
74 \newbibmacro*{printsuperedition}{%
75 \ifbool{book:edition:super}{\printfield[edition:super]{edition}}{}%
83 %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die
84 %%% Startseite ausgegeben werden.
86 \DeclareFieldFormat[article]{pages}{\mkfirstpage{#1}}%
89 %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote,
90 %%% so soll zunächst die Startseite und danach die genaue Fundstelle in
91 %%% einer Klammer ausgegeben werden.
92 \DeclareFieldFormat[article]{postnote}{\addspace\printfield{pages}\addspace\mkbibparens{#1}}
94 %%% Nachfolgend ist der Fußnoten-Zitierstil für Aufsätze definiert, die
95 %%% in Zeitschriften erschienen sind, welche nach Erscheinungsjahr (und
96 %%% nicht Band, dann @periodical) zitiert werden:
97 \newbibmacro*{cite:article}{%
99 %%% Zeitschriftenname...
100 \usebibmacro{journal}%
103 \setunit*{\addspace}%
105 %%% ggf. Angabe der Ausgabe (wenn Feld "issue" definiert ist)
106 \iffieldundef{issue}{}{\printfield{issue}\slash}%
111 %%% und dann die Startseite bzw. pinpoint citation
112 \usebibmacro{startingpage}%
120 %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die
121 %%% Startseite ausgegeben werden.
123 \DeclareFieldFormat[periodical]{pages}{\mkfirstpage{#1}}%
126 %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote,
127 %%% so soll zunächst die Startseite und danach die genaue Fundstelle in
128 %%% einer Klammer ausgegeben werden.
129 \DeclareFieldFormat[periodical]{postnote}{\printfield{pages} \mkbibparens{#1}}
131 %%% Nachfolgend ist der Fußnoten-Zitierstil für Aufsätze definiert, die
132 %%% in Zeitschriften erschienen sind, welche nach Band (und nicht nach
133 %%% Erscheinungsjahr, dann @article) zitiert werden:
134 \newbibmacro*{cite:periodical}{%
136 %%% Zeitschriftenname...
137 \usebibmacro{journal}%
140 \setunit*{\addspace}%
148 %%% Jahr (in Klammern)...
149 \mkbibparens{\printfield{year}}%
157 %%% und dann die Startseite bzw. pinpoint citation
158 \usebibmacro{startingpage}%
166 %%% In der Fußnoten interessiert uns nur die Auflagenzahl (ohne "Aufl.")
168 \DeclareFieldFormat[book]{edition}{#1}%
171 %%% Nachfolgend ist der Fußnoten-Zitierstil für Bücher definiert:
172 \newbibmacro*{cite:book}{%
173 \printfield[citetitle]{labeltitle}%
174 \usebibmacro{printsuperedition}%
182 %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die
183 %%% Startseite ausgegeben werden.
185 \DeclareFieldFormat[inbook]{pages}{\mkfirstpage{#1}}%
188 %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote,
189 %%% so soll zunächst die Startseite und danach die genaue Fundstelle in
190 %%% einer Klammer ausgegeben werden.
191 \DeclareFieldFormat[inbook]{postnote}{\printfield{pages} \mkbibparens{#1}}
193 %%% Herausgebernamen in der Fußnote dürfen abgekürzt werden
195 \DeclareNameAlias[inbook]{byeditor}{labelname}%
198 %%% Nachfolgend ist der Fußnoten-Zitierstil für Buchbeiträge definiert:
199 \newbibmacro*{cite:inbook}{%
205 \usebibmacro{byeditor+others}%
210 %%% dann der Buchtitel...
211 \iffieldundef{shorttitle}%
212 {\printfield{booktitle}}%
213 {\printfield{shorttitle}}%
214 \usebibmacro{printsuperedition}%
219 %%% und dann die Startseite bzw. pinpoint citation
220 \usebibmacro{startingpage}%
228 %%% In Fußnoten soll nicht die Seitenspanne des Aufsatzes, sondern nur die
229 %%% Startseite ausgegeben werden.
231 \DeclareFieldFormat[incollection]{pages}{\mkfirstpage{#1}}%
234 %%% Gibt es eine genaue Fundstelle ("pinpoint citation") als sog. postnote,
235 %%% so soll zunächst die Startseite und danach die genaue Fundstelle in
236 %%% einer Klammer ausgegeben werden.
237 \DeclareFieldFormat[incollection]{postnote}{\printfield{pages} \mkbibparens{#1}}
239 %%% Nachfolgend ist der Fußnoten-Zitierstil für Festschriftenbeiträge definiert:
240 \newbibmacro*{cite:incollection}{%
245 %%% Festschriftentitel...
246 \iffieldundef{shorttitle}%
247 {\printfield{booktitle}}%
248 {\printfield{shorttitle}}%
256 %%% Der Bearbeiter wird im prenote-Feld angegeben und kursiv gesetzt, danach
258 \DeclareFieldFormat[commentary]{prenote}{\mkbibemph{#1}\addcomma}%
260 %%% Falls bei einem Kommentar "shorthand" angegeben ist, werden die
261 %%% Herausgeber nicht (!) genannt. Hierzu wird der Befehl
262 %%% \printnames{labelname} im allgemeinen Makro "textcite" unter die
263 %%% Bedingung gestellt, dass es sich um einen Kommentar handelt und ein
264 %%% "shorthand" definiert ist.
265 \xpatchbibmacro{textcite}{%
266 \printnames{labelname}%
268 \ifentrytype{commentary}{%
269 \iffieldundef{shorthand}{%
270 \printnames{labelname}%
273 \printnames{labelname}%
277 %%% Falls bei einem Kommentar "shorthand" angegeben ist, muss trotzdem das
278 %%% "in:" vorangestellt und die Auflagennummer nachgeschoben werden. Hierzu
279 %%% wird das allgemeine Makro "cite:shorthand" entsprechend modifiziert.
280 \xpatchbibmacro{cite:shorthand}{%
281 \printfield{shorthand}%
284 \printfield{shorthand}%
285 \usebibmacro{printsuperedition}%
288 %%% Nachfolgend ist der Fußnoten-Zitierstil für Kommentare definiert. Dieser
289 %%% wird indes nur verwendet, falls "shorthand" nicht definiert ist;
290 %%% andernfalls erledigen die oben modifizierten Makros "textcite" und
291 %%% "cite:shorthand" die ganze Arbeit.
292 \newbibmacro*{cite:commentary}{%
294 \iffieldundef{shorttitle}%
295 {\printfield{booktitle}}%
296 {\printfield{shorttitle}}%