german-legal-book: Kommentator-Bearbeiter ├╝ber Bibliographie
[~brodo/biblatex-german-legal.git] / german-legal-book.bbx
1 \ProvidesFile{german-legal-book.bbx}[2020/03/13 v001]
2 %%% license: LPPL 1.3c or later
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 %%% nur Titel und Untertitel mit Punkt.
100 \renewcommand*{\newunitpunct}{\addcomma\addspace}
101 \renewcommand*{\subtitlepunct}{\addperiod\addspace}
102
103 %%% Einige Felder sollen standardm├Ą▀ig nicht abgedruckt werden
104 \AtEveryBibitem{%
105   \clearlist{publisher}%
106   \clearfield{note}%
107 }
108
109 %%% "Hrsg." soll in Klammern abgedruckt werden. Hierzu wird der Texttrenner
110 %%% entfernt und das Makro, dass "Hrsg." ausgibt, durch die Befehle
111 %%% \bibopenparen und \bibopenclose umrandet.
112 \DeclareDelimFormat[bib]{editortypedelim}{}
113 \xpretobibmacro{editorstrg}{\addspace\bibopenparen}{}{}
114 \xapptobibmacro{editorstrg}{\bibcloseparen}{}{}
115
116 %%% ... gleiches f├╝r "Hrsg. u.a."
117 \xpretobibmacro{editor+othersstrg}{\addspace\bibopenparen}{}{}
118 \xapptobibmacro{editor+othersstrg}{\bibcloseparen}{}{}
119
120 %%% ... gleiches f├╝r "▄bers."
121 \DeclareDelimFormat[bib]{translatortypedelim}{}
122 \xpretobibmacro{translatorstrg}{\addspace\bibopenparen}{}{}
123 \xapptobibmacro{translatorstrg}{\bibcloseparen}{}{}
124
125 %%% .. gleiches f├╝r "▄bers. u.a."
126 \xpretobibmacro{translator+othersstrg}{\addspace\bibopenparen}{}{}
127 \xapptobibmacro{translator+othersstrg}{\bibcloseparen}{}{}
128
129 %%% in manchen Versionen wird der Doppelpunkt nicht aufrecht gesetzt...
130 %%% daher wird dieser Befehl hier entsprechend re-implementiert
131 \renewbibmacro*{in:}{%
132   \bibstring{in}%
133   \addcolon%
134   \newunit\newblock%
135 }
136
137 %%% Bei @article und @periodical soll bevorzugt das Feld "shortjournal"
138 %%% statt "journaltitle" oder "journal" verwendet werden.
139 \renewbibmacro*{journal}{%
140   \iffieldundef{shortjournal}%
141    {\printtext[journaltitle]{%
142      \printfield[titlecase]{journaltitle}%
143      \setunit{\subtitlepunct}%
144         \printfield[titlecase]{journalsubtitle}%
145      }%
146    }%
147    {\printfield[journaltitle]{shortjournal}}%
148 }
149
150 %%% Eine URL kann als solche angegeben werden
151 \DeclareFieldFormat{url}{\url{#1}}
152
153
154 %%%%%%%%%%%%%%%
155 %%% article %%%
156 %%%%%%%%%%%%%%%
157
158 %%% Der Zeitschriftentitel soll aufrecht gesetzt werden
159 \DeclareFieldFormat[article]{journaltitle}{\normalfont{#1}}
160
161 %%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
162 %%% f├╝hrendes "S." ausgegeben werden.
163 \DeclareFieldFormat[article]{pages}{#1}
164
165 %%% Der Aufsatztitel soll ohne Anf├╝hrungszeichen gesetzt werden
166 \DeclareFieldFormat[article]{title}{#1}
167
168 %%% Das Jahr soll nicht in Klammern gesetzt werden 
169 \DeclareFieldFormat[article]{issuedate}{#1}
170
171 %%% Bei Angabe einer Heftnummer ist diese mit einem Schr├Ągstrich abzutrennen
172 \renewbibmacro*{issue+date}{%
173   % Gibt nach der Ausgabennummer noch einen Slash dazu...  
174   \iffieldundef{issue}{}{\printfield{issue}\slash}%
175   % Setze das Datum
176   \iffieldundef{volume}{\printdate}{%
177     \printtext[parens]{\printdate}%
178   }%
179 }
180
181
182 %%%%%%%%%%%%%%%%%%
183 %%% periodical %%%
184 %%%%%%%%%%%%%%%%%%
185
186 %%% Der Zeitschriftentitel soll aufrecht gesetzt werden
187 \DeclareFieldFormat[periodical]{journaltitle}{\normalfont{#1}}
188
189 %%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
190 %%% f├╝hrendes "S." ausgegeben werden.
191 \DeclareFieldFormat[periodical]{pages}{#1}
192
193 %%% Das Jahr soll in Klammern gesetzt werden 
194 \DeclareFieldFormat[periodical]{issuedate}{\mkbibparens{#1}}
195
196 %%% Wird wie article definiert; keine ─nderungen!
197 \DeclareBibliographyAlias{periodical}{article}
198
199
200 %%%%%%%%%%%%
201 %%% book %%%
202 %%%%%%%%%%%%
203
204 %%% Der Buchtitel soll aufrecht gesetzt werden
205 \DeclareFieldFormat[book]{citetitle}{\normalfont{#1}}
206
207 %%% Zwischen Ort und Jahr stehe kein Trenner
208 \renewcommand*{\locdatedelim}{\addspace}
209
210
211 %%%%%%%%%%%%%%
212 %%% inbook %%%
213 %%%%%%%%%%%%%%
214
215 %%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
216 \DeclareFieldFormat[inbook]{title}{\normalfont{#1}}
217 \DeclareFieldFormat[inbook]{booktitle}{\normalfont{#1}}
218 \DeclareFieldFormat[inbook]{shorttitle}{\normalfont{#1}}
219
220 %%% Der shortitle des Buchs soll ├╝bernommen werden
221 \DeclareDataInheritance{book}{inbook}{
222   \inherit{shorttitle}{shorttitle}
223 }
224
225 %%% Anders als beim Standardmakro "byeditor+others" soll der Herausgebername
226 %%% zuerst (und mit der Kursivsetzung wieder r├╝ckg├Ąngig gemacht), die Angabe
227 %%% "Hrsg." erst danach ausgegeben werden
228 \xpatchbibmacro{byeditor+others}{%
229   \usebibmacro{byeditor+othersstrg}%
230   \setunit{\addspace}%
231   \printnames[byeditor]{editor}%
232 }{%
233   \setunit{\addspace}%
234   \mkbibemph{\printnames[byeditor]{editor}}%
235   \addspace%
236   \usebibmacro{editor+othersstrg}%
237 }{}{}
238
239 %%% Anders als beim Standardmakro "inbook:parent" aus "ext-standard.bbx"
240 %%% sollen der Buchtitel ("maintitle") und die Herausgeberangabe
241 %%% ("byeditor+others") umgekehrt gereiht ausgegeben werden
242 \xpatchbibmacro{inbook:parent}{%
243   \usebibmacro{maintitle+booktitle}%
244   \newunit\newblock%
245   \usebibmacro{byeditor+others}%
246 }{%
247   \usebibmacro{byeditor+others}%
248   \newunit\newblock
249   \usebibmacro{maintitle+booktitle}%
250 }{}{}
251
252
253 %%%%%%%%%%%%%%%%%%%%
254 %%% incollection %%%
255 %%%%%%%%%%%%%%%%%%%%
256
257 %%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
258 \DeclareFieldFormat[incollection]{title}{\normalfont{#1}}
259 \DeclareFieldFormat[incollection]{booktitle}{\normalfont{#1}}
260
261 %%% Die Festschrift soll sowohl als "book" oder als "collection" definiert
262 %%% werden k├Ânnen, wobei neben title,subtitle und titeladdon auch shorttitle
263 %%% als ebensolcher ├╝bernommen werden soll
264 \DeclareDataInheritance{book,collection}{incollection}{
265   \inherit{title}{booktitle}
266   \inherit{subtitle}{booksubtitle}
267   \inherit{titleaddon}{booktitleaddon}
268   \inherit{shorttitle}{shorttitle}
269 }
270
271 %%% Wird wie inbook definiert; keine ─nderungen!
272 \DeclareBibliographyAlias{incollection}{inbook}
273
274
275 %%%%%%%%%%%%%%%%%%
276 %%% commentary %%%
277 %%%%%%%%%%%%%%%%%%
278
279 %%% Der Titel und Untertitel soll aufrecht gesetzt werden
280 \DeclareFieldFormat[commentary]{subtitle}{\normalfont{#1}}
281
282 %%% Wird wie book definiert; keine ─nderungen!
283 \DeclareBibliographyAlias{commentary}{book}
284
285 %%% F├╝r Kommentatoren
286 \DeclareBibliographyAlias{commentator}{misc}
287 \ExecuteBibliographyOptions[commentator]{skipbib=true}
288
289 \endinput
290