biblatex-german-legal - v001
[~brodo/biblatex-german-legal.git] / german-legal-book.bbx
1 \ProvidesFile{german-legal-book.bbx}[2020/03/13 v001]
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 %%% 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 %%% Bei @article und @periodical soll bevorzugt das Feld "shortjournal"
130 %%% statt "journaltitle" oder "journal" verwendet werden.
131 \renewbibmacro*{journal}{%
132   \iffieldundef{shortjournal}%
133    {\printtext[journaltitle]{%
134      \printfield[titlecase]{journaltitle}%
135      \setunit{\subtitlepunct}%
136         \printfield[titlecase]{journalsubtitle}%
137      }%
138    }%
139    {\printfield[journaltitle]{shortjournal}}%
140 }
141
142 %%% Eine URL kann als solche angegeben werden
143 \DeclareFieldFormat{url}{\url{#1}}
144
145
146 %%%%%%%%%%%%%%%
147 %%% article %%%
148 %%%%%%%%%%%%%%%
149
150 %%% Der Zeitschriftentitel soll aufrecht gesetzt werden
151 \DeclareFieldFormat[article]{journaltitle}{\normalfont{#1}}
152
153 %%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
154 %%% f├╝hrendes "S." ausgegeben werden.
155 \DeclareFieldFormat[article]{pages}{#1}
156
157 %%% Der Aufsatztitel soll ohne Anf├╝hrungszeichen gesetzt werden
158 \DeclareFieldFormat[article]{title}{#1}
159
160 %%% Das Jahr soll nicht in Klammern gesetzt werden 
161 \DeclareFieldFormat[article]{issuedate}{#1}
162
163 %%% Bei Angabe einer Heftnummer ist diese mit einem Schr├Ągstrich abzutrennen
164 \renewbibmacro*{issue+date}{%
165   % Gibt nach der Ausgabennummer noch einen Slash dazu...  
166   \iffieldundef{issue}{}{\printfield{issue}\slash}%
167   % Setze das Datum
168   \iffieldundef{volume}{\printdate}{%
169     \printtext[parens]{\printdate}%
170   }%
171 }
172
173
174 %%%%%%%%%%%%%%%%%%
175 %%% periodical %%%
176 %%%%%%%%%%%%%%%%%%
177
178 %%% Der Zeitschriftentitel soll aufrecht gesetzt werden
179 \DeclareFieldFormat[periodical]{journaltitle}{\normalfont{#1}}
180
181 %%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
182 %%% f├╝hrendes "S." ausgegeben werden.
183 \DeclareFieldFormat[periodical]{pages}{#1}
184
185 %%% Das Jahr soll in Klammern gesetzt werden 
186 \DeclareFieldFormat[periodical]{issuedate}{\mkbibparens{#1}}
187
188 %%% Wird wie article definiert; keine ─nderungen!
189 \DeclareBibliographyAlias{periodical}{article}
190
191
192 %%%%%%%%%%%%
193 %%% book %%%
194 %%%%%%%%%%%%
195
196 %%% Der Buchtitel soll aufrecht gesetzt werden
197 \DeclareFieldFormat[book]{citetitle}{\normalfont{#1}}
198
199 %%% Zwischen Ort und Jahr stehe kein Trenner
200 \renewcommand*{\locdatedelim}{\addspace}
201
202
203 %%%%%%%%%%%%%%
204 %%% inbook %%%
205 %%%%%%%%%%%%%%
206
207 %%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
208 \DeclareFieldFormat[inbook]{title}{\normalfont{#1}}
209 \DeclareFieldFormat[inbook]{booktitle}{\normalfont{#1}}
210 \DeclareFieldFormat[inbook]{shorttitle}{\normalfont{#1}}
211
212 %%% Der shortitle des Buchs soll ├╝bernommen werden
213 \DeclareDataInheritance{book}{inbook}{
214   \inherit{shorttitle}{shorttitle}
215 }
216
217 %%% Anders als beim Standardmakro "byeditor+others" soll der Herausgebername
218 %%% zuerst (und mit der Kursivsetzung wieder r├╝ckg├Ąngig gemacht), die Angabe
219 %%% "Hrsg." erst danach ausgegeben werden
220 \xpatchbibmacro{byeditor+others}{%
221   \usebibmacro{byeditor+othersstrg}%
222   \setunit{\addspace}%
223   \printnames[byeditor]{editor}%
224 }{%
225   \setunit{\addspace}%
226   \mkbibemph{\printnames[byeditor]{editor}}%
227   \addspace%
228   \usebibmacro{editor+othersstrg}%
229 }{}{}
230
231 %%% Anders als beim Standardmakro "inbook:parent" aus "ext-standard.bbx"
232 %%% sollen der Buchtitel ("maintitle") und die Herausgeberangabe
233 %%% ("byeditor+others") umgekehrt gereiht ausgegeben werden
234 \xpatchbibmacro{inbook:parent}{%
235   \usebibmacro{maintitle+booktitle}%
236   \newunit\newblock%
237   \usebibmacro{byeditor+others}%
238 }{%
239   \usebibmacro{byeditor+others}%
240   \newunit\newblock
241   \usebibmacro{maintitle+booktitle}%
242 }{}{}
243
244
245 %%%%%%%%%%%%%%%%%%%%
246 %%% incollection %%%
247 %%%%%%%%%%%%%%%%%%%%
248
249 %%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
250 \DeclareFieldFormat[incollection]{title}{\normalfont{#1}}
251 \DeclareFieldFormat[incollection]{booktitle}{\normalfont{#1}}
252
253 %%% Die Festschrift soll sowohl als "book" oder als "collection" definiert
254 %%% werden k├Ânnen, wobei neben title,subtitle und titeladdon auch shorttitle
255 %%% als ebensolcher ├╝bernommen werden soll
256 \DeclareDataInheritance{book,collection}{incollection}{
257   \inherit{title}{booktitle}
258   \inherit{subtitle}{booksubtitle}
259   \inherit{titleaddon}{booktitleaddon}
260   \inherit{shorttitle}{shorttitle}
261 }
262
263 %%% Wird wie inbook definiert; keine ─nderungen!
264 \DeclareBibliographyAlias{incollection}{inbook}
265
266
267 %%%%%%%%%%%%%%%%%%
268 %%% commentary %%%
269 %%%%%%%%%%%%%%%%%%
270
271 %%% Der Titel und Untertitel soll aufrecht gesetzt werden
272 \DeclareFieldFormat[commentary]{subtitle}{\normalfont{#1}}
273
274 %%% Wird wie book definiert; keine ─nderungen!
275 \DeclareBibliographyAlias{commentary}{book}
276
277
278 \endinput
279