biblatex-german-legal - comprehensive citation style for German legal texts
[~brodo/biblatex-german-legal.git] / german-legal-book.bbx
1 \ProvidesFile{german-legal-book.bbx}[2020/03/06 v000]
2 %%% license: LPPL
3 %%% author-maintainer: Dominik Brodowski, dominik.brodowski@uni-saarland.de
4
5
6 %%%%%%%%%%%%%%%%
7 %%% Vorspann %%%
8 %%%%%%%%%%%%%%%%
9
10 %%% Dieser Zitierstil basiert auf ext-authortitle, verwendet aber kein
11 %%% ibidem (Geschmacksfrage!)
12 \RequireBibliographyStyle{ext-authortitle}%
13
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}%
18
19 %%% Die nachfolgenden Optionen f├╝r ext-authortitle werden hier
20 %%% standardm├Ą▀ig gesetzt, k├Ânnen aber beim Einbinden dieses Zitierstils
21 %%% ├╝berschrieben werden.
22 \ExecuteBibliographyOptions{%
23   %%%
24   %%% Sortierung nach Name, dann Titel, dann Jahr,
25   sorting   = nty,%
26   %%%
27   %%% Maximale Anzahl der in einer Fu▀noten-Zitation wiedergegebenen Namen
28   maxcitenames = 4,%
29   %%%
30   %%% Anzahl der Namen, die vor "u.a." angegeben werden
31   mincitenames = 4,%
32   %%%
33   %%% Sollen "klickbare" Querverweise gesetzt werden?
34   hyperref = true,%
35   %%%
36   %%% Sollen f├╝r "Ausgabe" und "Herausgeber" Abk├╝rzungen verwendet werden?
37   abbreviate = true,%
38   %%%
39   %%% Siehe oben
40   idemtracker = false,%
41   %%%
42   %%% F├╝ge bei Sammelwerken u.├Ą. ein "in:" vor dem Buchtitel hinzu
43   innamebeforetitle = true,%
44   %%%
45   %%% Bei Artikeln folgt die Zeitschrift unmittelbar und wird nicht durch
46   %%% ein "in:" abgetrennt.
47   articlein = false,%
48   %%%
49   %%% Im Literaturverzeichnis erfolgen vollst├Ąndige Angaben, keine
50   %%% Querverweise auf andere Eintr├Ąge im Literaturverzeichnis.
51   citexref = false,%
52   %%%
53   %%% "van Beethoven" soll unter "B" und nicht unter "v" einsortiert werden.
54   useprefix = false,%
55   %%%
56   %%% im Literaturverzeichnis soll die ISBN nicht ausgegeben werden.
57   isbn      = false,%
58   %%%
59   %%% im Literaturverzeichnis soll allerdings die DOI angegeben werden.
60   doi       = true,%
61   %%%
62   %%% Finden sich im Literaturverzeichnis mehrere Werke desselben Autors
63   %%% bzw. derselben Autorenkombination, wird die wiederholte Angabe des
64   %%% Autors durch einen Gedankenstrich ersetzt.
65   dashed    = true,%
66 }
67
68
69 %%%%%%%%%%%%%%%%%%%%%%%%
70 %%% Allgemeiner Teil %%%
71 %%%%%%%%%%%%%%%%%%%%%%%%
72
73 %%% Autorennamen werden kursiv gesetzt
74 \renewcommand*{\mkbibnamefamily}[1]{\mkbibemph{#1}}
75 \renewcommand*{\mkbibnamegiven}[1]{\mkbibemph{#1}}
76 \renewcommand*{\mkbibnameprefix}[1]{\mkbibemph{#1}}
77 \renewcommand*{\mkbibnamesuffix}[1]{\mkbibemph{#1}}
78
79 %%% Mehrere Autorennamen werden durch einen Schr├Ągstrich getrennt. Dieser
80 %%% ist -- wie die Autorennamen selbst (siehe soeben) -- kursiv zu setzen.
81 %%% Achtung: dieser muss hier als \slash ausgegeben werden (und nicht als
82 %%% \addslash), weil andernfalls \unspace mit aufgerufen wird und das
83 %%% vorherige \addspace r├╝ckg├Ąngig macht...
84 \AtBeginBibliography{
85   \renewcommand*{\multinamedelim}{\addspace\mkbibemph{\slash}\addspace}%
86   \renewcommand*{\finalnamedelim}{\addspace\mkbibemph{\slash}\addspace}%
87 }
88
89 %%% S├Ąmtliche Namen sollen in der Reihenfolge "Nachname, Vorname" ausgegeben
90 %%% werden
91 \DeclareNameAlias{default}{family-given}
92 \DeclareNameAlias{sortname}{family-given}
93
94 %%% Buch- und Beitragstitel usw. sind aufrecht zu setzen
95 \DeclareFieldFormat{title}{\normalfont{#1}}
96 \DeclareFieldFormat{citetitle}{\normalfont{#1}}
97
98 %%% Einzelne Bl├Âcke werden mit Kommata (und nicht mit Punkt) abgetrennt
99 \renewcommand*{\newunitpunct}{\addcomma\addspace}
100
101 %%% Einige Felder sollen standardm├Ą▀ig nicht abgedruckt werden
102 \AtEveryBibitem{%
103   \clearlist{publisher}%
104   \clearfield{note}%
105 }
106
107 %%% "Hrsg." soll in Klammern abgedruckt werden. Hierzu wird der Texttrenner
108 %%% entfernt und das Makro, dass "Hrsg." ausgibt, durch die Befehle
109 %%% \bibopenparen und \bibopenclose umrandet.
110 \DeclareDelimFormat[bib]{editortypedelim}{}
111 \xpretobibmacro{editorstrg}{\addspace\bibopenparen}{}{}
112 \xapptobibmacro{editorstrg}{\bibcloseparen}{}{}
113
114 %%% ... gleiches f├╝r "Hrsg. u.a."
115 \xpretobibmacro{editor+othersstrg}{\addspace\bibopenparen}{}{}
116 \xapptobibmacro{editor+othersstrg}{\bibcloseparen}{}{}
117
118 %%% ... gleiches f├╝r "▄bers."
119 \DeclareDelimFormat[bib]{translatortypedelim}{}
120 \xpretobibmacro{translatorstrg}{\addspace\bibopenparen}{}{}
121 \xapptobibmacro{translatorstrg}{\bibcloseparen}{}{}
122
123 %%% .. gleiches f├╝r "▄bers. u.a."
124 \xpretobibmacro{translator+othersstrg}{\addspace\bibopenparen}{}{}
125 \xapptobibmacro{translator+othersstrg}{\bibcloseparen}{}{}
126
127 %%% Bei @article und @periodical soll bevorzugt das Feld "shortjournal"
128 %%% statt "journaltitle" oder "journal" verwendet werden.
129 \renewbibmacro*{journal}{%
130   \iffieldundef{shortjournal}%
131    {\printtext[journaltitle]{%
132      \printfield[titlecase]{journaltitle}%
133      \setunit{\subtitlepunct}%
134         \printfield[titlecase]{journalsubtitle}%
135      }%
136    }%
137    {\printfield[journaltitle]{shortjournal}}%
138 }
139
140 %%% Eine URL kann als solche angegeben werden
141 \DeclareFieldFormat{url}{\url{#1}}
142
143
144 %%%%%%%%%%%%%%%
145 %%% article %%%
146 %%%%%%%%%%%%%%%
147
148 %%% Der Zeitschriftentitel soll aufrecht gesetzt werden
149 \DeclareFieldFormat[article]{journaltitle}{\normalfont{#1}}
150
151 %%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
152 %%% f├╝hrendes "S." ausgegeben werden.
153 \DeclareFieldFormat[article]{pages}{#1}
154
155 %%% Der Aufsatztitel soll ohne Anf├╝hrungszeichen gesetzt werden
156 \DeclareFieldFormat[article]{title}{#1}
157
158 %%% Das Jahr soll nicht in Klammern gesetzt werden 
159 \DeclareFieldFormat[article]{issuedate}{#1}
160
161 %%% Bei Angabe einer Heftnummer ist diese mit einem Schr├Ągstrich abzutrennen
162 \renewbibmacro*{issue+date}{%
163   % Gibt nach der Ausgabennummer noch einen Slash dazu...  
164   \iffieldundef{issue}{}{\printfield{issue}\slash}%
165   % Setze das Datum
166   \iffieldundef{volume}{\printdate}{%
167     \printtext[parens]{\printdate}%
168   }%
169 }
170
171
172 %%%%%%%%%%%%%%%%%%
173 %%% periodical %%%
174 %%%%%%%%%%%%%%%%%%
175
176 %%% Der Zeitschriftentitel soll aufrecht gesetzt werden
177 \DeclareFieldFormat[periodical]{journaltitle}{\normalfont{#1}}
178
179 %%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
180 %%% f├╝hrendes "S." ausgegeben werden.
181 \DeclareFieldFormat[periodical]{pages}{#1}
182
183 %%% Das Jahr soll in Klammern gesetzt werden 
184 \DeclareFieldFormat[periodical]{issuedate}{\mkbibparens{#1}}
185
186 %%% Wird wie article definiert; keine ─nderungen!
187 \DeclareBibliographyAlias{periodical}{article}
188
189
190 %%%%%%%%%%%%
191 %%% book %%%
192 %%%%%%%%%%%%
193
194 %%% Der Buchtitel soll aufrecht gesetzt werden
195 \DeclareFieldFormat[book]{citetitle}{\normalfont{#1}}
196
197 %%% Zwischen Ort und Jahr stehe kein Trenner
198 \renewcommand*{\locdatedelim}{\addspace}
199
200
201 %%%%%%%%%%%%%%
202 %%% inbook %%%
203 %%%%%%%%%%%%%%
204
205 %%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
206 \DeclareFieldFormat[inbook]{title}{\normalfont{#1}}
207 \DeclareFieldFormat[inbook]{booktitle}{\normalfont{#1}}
208 \DeclareFieldFormat[inbook]{shorttitle}{\normalfont{#1}}
209
210 %%% Der shortitle des Buchs soll ├╝bernommen werden
211 \DeclareDataInheritance{book}{inbook}{
212   \inherit{shorttitle}{shorttitle}
213 }
214
215 %%% Anders als beim Standardmakro "byeditor+others" soll der Herausgebername
216 %%% zuerst (und mit der Kursivsetzung wieder r├╝ckg├Ąngig gemacht), die Angabe
217 %%% "Hrsg." erst danach ausgegeben werden
218 \xpatchbibmacro{byeditor+others}{%
219   \usebibmacro{byeditor+othersstrg}%
220   \setunit{\addspace}%
221   \printnames[byeditor]{editor}%
222 }{%
223   \setunit{\addspace}%
224   \mkbibemph{\printnames[byeditor]{editor}}%
225   \addspace%
226   \usebibmacro{editor+othersstrg}%
227 }{}{}
228
229 %%% Anders als beim Standardmakro "inbook:parent" aus "ext-standard.bbx"
230 %%% sollen der Buchtitel ("maintitle") und die Herausgeberangabe
231 %%% ("byeditor+others") umgekehrt gereiht ausgegeben werden
232 \xpatchbibmacro{inbook:parent}{%
233   \usebibmacro{maintitle+booktitle}%
234   \newunit\newblock%
235   \usebibmacro{byeditor+others}%
236 }{%
237   \usebibmacro{byeditor+others}%
238   \newunit\newblock
239   \usebibmacro{maintitle+booktitle}%
240 }{}{}
241
242
243 %%%%%%%%%%%%%%%%%%%%
244 %%% incollection %%%
245 %%%%%%%%%%%%%%%%%%%%
246
247 %%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
248 \DeclareFieldFormat[incollection]{title}{\normalfont{#1}}
249 \DeclareFieldFormat[incollection]{booktitle}{\normalfont{#1}}
250
251 %%% Die Festschrift soll sowohl als "book" oder als "collection" definiert
252 %%% werden k├Ânnen, wobei neben title,subtitle und titeladdon auch shorttitle
253 %%% als ebensolcher ├╝bernommen werden soll
254 \DeclareDataInheritance{book,collection}{incollection}{
255   \inherit{title}{booktitle}
256   \inherit{subtitle}{booksubtitle}
257   \inherit{titleaddon}{booktitleaddon}
258   \inherit{shorttitle}{shorttitle}
259 }
260
261 %%% Wird wie inbook definiert; keine ─nderungen!
262 \DeclareBibliographyAlias{incollection}{inbook}
263
264
265 %%%%%%%%%%%%%%%%%%
266 %%% commentary %%%
267 %%%%%%%%%%%%%%%%%%
268
269 %%% Der Titel und Untertitel soll aufrecht gesetzt werden
270 \DeclareFieldFormat[commentary]{subtitle}{\normalfont{#1}}
271
272 %%% Wird wie book definiert; keine ─nderungen!
273 \DeclareBibliographyAlias{commentary}{book}
274
275
276 \endinput
277