summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-german-legal/german-legal-book.bbx
blob: 78134640e20e6eebde5f309fab4303536dd2b49d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
\ProvidesFile{german-legal-book.bbx}[2020/03/13 v001]
%%% license: LPPL
%%% author-maintainer: Dominik Brodowski, dominik.brodowski@uni-saarland.de


%%%%%%%%%%%%%%%%
%%% Vorspann %%%
%%%%%%%%%%%%%%%%

%%% Dieser Zitierstil basiert auf ext-authortitle, verwendet aber kein
%%% ibidem (Geschmacksfrage!)
\RequireBibliographyStyle{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}%

%%% Die nachfolgenden Optionen für ext-authortitle werden hier
%%% standardmäßig gesetzt, können aber beim Einbinden dieses Zitierstils
%%% überschrieben werden.
\ExecuteBibliographyOptions{%
  %%%
  %%% Sortierung nach Name, dann Titel, dann Jahr,
  sorting   = nty,%
  %%%
  %%% Maximale Anzahl der in einer Fußnoten-Zitation wiedergegebenen Namen
  maxcitenames = 4,%
  %%%
  %%% Anzahl der Namen, die vor "u.a." angegeben werden
  mincitenames = 4,%
  %%%
  %%% Sollen "klickbare" Querverweise gesetzt werden?
  hyperref = true,%
  %%%
  %%% Sollen für "Ausgabe" und "Herausgeber" Abkürzungen verwendet werden?
  abbreviate = true,%
  %%%
  %%% Siehe oben
  idemtracker = false,%
  %%%
  %%% Füge bei Sammelwerken u.ä. ein "in:" vor dem Buchtitel hinzu
  innamebeforetitle = true,%
  %%%
  %%% Bei Artikeln folgt die Zeitschrift unmittelbar und wird nicht durch
  %%% ein "in:" abgetrennt.
  articlein = false,%
  %%%
  %%% Im Literaturverzeichnis erfolgen vollständige Angaben, keine
  %%% Querverweise auf andere Einträge im Literaturverzeichnis.
  citexref = false,%
  %%%
  %%% "van Beethoven" soll unter "B" und nicht unter "v" einsortiert werden.
  useprefix = false,%
  %%%
  %%% im Literaturverzeichnis soll die ISBN nicht ausgegeben werden.
  isbn      = false,%
  %%%
  %%% im Literaturverzeichnis soll allerdings die DOI angegeben werden.
  doi       = true,%
  %%%
  %%% Finden sich im Literaturverzeichnis mehrere Werke desselben Autors
  %%% bzw. derselben Autorenkombination, wird die wiederholte Angabe des
  %%% Autors durch einen Gedankenstrich ersetzt.
  dashed    = true,%
}


%%%%%%%%%%%%%%%%%%%%%%%%
%%% Allgemeiner Teil %%%
%%%%%%%%%%%%%%%%%%%%%%%%

%%% Autorennamen werden kursiv gesetzt
\renewcommand*{\mkbibnamefamily}[1]{\mkbibemph{#1}}
\renewcommand*{\mkbibnamegiven}[1]{\mkbibemph{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\mkbibemph{#1}}
\renewcommand*{\mkbibnamesuffix}[1]{\mkbibemph{#1}}

%%% Mehrere Autorennamen werden durch einen Schrägstrich getrennt. Dieser
%%% ist -- wie die Autorennamen selbst (siehe soeben) -- kursiv zu setzen.
%%% Achtung: dieser muss hier als \slash ausgegeben werden (und nicht als
%%% \addslash), weil andernfalls \unspace mit aufgerufen wird und das
%%% vorherige \addspace rückgängig macht...
\AtBeginBibliography{
  \renewcommand*{\multinamedelim}{\addspace\mkbibemph{\slash}\addspace}%
  \renewcommand*{\finalnamedelim}{\addspace\mkbibemph{\slash}\addspace}%
}

%%% Sämtliche Namen sollen in der Reihenfolge "Nachname, Vorname" ausgegeben
%%% werden
\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{family-given}

%%% Buch- und Beitragstitel usw. sind aufrecht zu setzen
\DeclareFieldFormat{title}{\normalfont{#1}}
\DeclareFieldFormat{citetitle}{\normalfont{#1}}

%%% Einzelne Blöcke werden mit Kommata (und nicht mit Punkt) abgetrennt,
%%% nur Titel und Untertitel mit Punkt.
\renewcommand*{\newunitpunct}{\addcomma\addspace}
\renewcommand*{\subtitlepunct}{\addperiod\addspace}

%%% Einige Felder sollen standardmäßig nicht abgedruckt werden
\AtEveryBibitem{%
  \clearlist{publisher}%
  \clearfield{note}%
}

%%% "Hrsg." soll in Klammern abgedruckt werden. Hierzu wird der Texttrenner
%%% entfernt und das Makro, dass "Hrsg." ausgibt, durch die Befehle
%%% \bibopenparen und \bibopenclose umrandet.
\DeclareDelimFormat[bib]{editortypedelim}{}
\xpretobibmacro{editorstrg}{\addspace\bibopenparen}{}{}
\xapptobibmacro{editorstrg}{\bibcloseparen}{}{}

%%% ... gleiches für "Hrsg. u.a."
\xpretobibmacro{editor+othersstrg}{\addspace\bibopenparen}{}{}
\xapptobibmacro{editor+othersstrg}{\bibcloseparen}{}{}

%%% ... gleiches für "Übers."
\DeclareDelimFormat[bib]{translatortypedelim}{}
\xpretobibmacro{translatorstrg}{\addspace\bibopenparen}{}{}
\xapptobibmacro{translatorstrg}{\bibcloseparen}{}{}

%%% .. gleiches für "Übers. u.a."
\xpretobibmacro{translator+othersstrg}{\addspace\bibopenparen}{}{}
\xapptobibmacro{translator+othersstrg}{\bibcloseparen}{}{}

%%% Bei @article und @periodical soll bevorzugt das Feld "shortjournal"
%%% statt "journaltitle" oder "journal" verwendet werden.
\renewbibmacro*{journal}{%
  \iffieldundef{shortjournal}%
   {\printtext[journaltitle]{%
     \printfield[titlecase]{journaltitle}%
     \setunit{\subtitlepunct}%
        \printfield[titlecase]{journalsubtitle}%
     }%
   }%
   {\printfield[journaltitle]{shortjournal}}%
}

%%% Eine URL kann als solche angegeben werden
\DeclareFieldFormat{url}{\url{#1}}


%%%%%%%%%%%%%%%
%%% article %%%
%%%%%%%%%%%%%%%

%%% Der Zeitschriftentitel soll aufrecht gesetzt werden
\DeclareFieldFormat[article]{journaltitle}{\normalfont{#1}}

%%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
%%% führendes "S." ausgegeben werden.
\DeclareFieldFormat[article]{pages}{#1}

%%% Der Aufsatztitel soll ohne Anführungszeichen gesetzt werden
\DeclareFieldFormat[article]{title}{#1}

%%% Das Jahr soll nicht in Klammern gesetzt werden 
\DeclareFieldFormat[article]{issuedate}{#1}

%%% Bei Angabe einer Heftnummer ist diese mit einem Schrägstrich abzutrennen
\renewbibmacro*{issue+date}{%
  % Gibt nach der Ausgabennummer noch einen Slash dazu...  
  \iffieldundef{issue}{}{\printfield{issue}\slash}%
  % Setze das Datum
  \iffieldundef{volume}{\printdate}{%
    \printtext[parens]{\printdate}%
  }%
}


%%%%%%%%%%%%%%%%%%
%%% periodical %%%
%%%%%%%%%%%%%%%%%%

%%% Der Zeitschriftentitel soll aufrecht gesetzt werden
\DeclareFieldFormat[periodical]{journaltitle}{\normalfont{#1}}

%%% Die Seitenspanne soll (im Literaturverzeichnis) komplett und ohne
%%% führendes "S." ausgegeben werden.
\DeclareFieldFormat[periodical]{pages}{#1}

%%% Das Jahr soll in Klammern gesetzt werden 
\DeclareFieldFormat[periodical]{issuedate}{\mkbibparens{#1}}

%%% Wird wie article definiert; keine Änderungen!
\DeclareBibliographyAlias{periodical}{article}


%%%%%%%%%%%%
%%% book %%%
%%%%%%%%%%%%

%%% Der Buchtitel soll aufrecht gesetzt werden
\DeclareFieldFormat[book]{citetitle}{\normalfont{#1}}

%%% Zwischen Ort und Jahr stehe kein Trenner
\renewcommand*{\locdatedelim}{\addspace}


%%%%%%%%%%%%%%
%%% inbook %%%
%%%%%%%%%%%%%%

%%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
\DeclareFieldFormat[inbook]{title}{\normalfont{#1}}
\DeclareFieldFormat[inbook]{booktitle}{\normalfont{#1}}
\DeclareFieldFormat[inbook]{shorttitle}{\normalfont{#1}}

%%% Der shortitle des Buchs soll übernommen werden
\DeclareDataInheritance{book}{inbook}{
  \inherit{shorttitle}{shorttitle}
}

%%% Anders als beim Standardmakro "byeditor+others" soll der Herausgebername
%%% zuerst (und mit der Kursivsetzung wieder rückgängig gemacht), die Angabe
%%% "Hrsg." erst danach ausgegeben werden
\xpatchbibmacro{byeditor+others}{%
  \usebibmacro{byeditor+othersstrg}%
  \setunit{\addspace}%
  \printnames[byeditor]{editor}%
}{%
  \setunit{\addspace}%
  \mkbibemph{\printnames[byeditor]{editor}}%
  \addspace%
  \usebibmacro{editor+othersstrg}%
}{}{}

%%% Anders als beim Standardmakro "inbook:parent" aus "ext-standard.bbx"
%%% sollen der Buchtitel ("maintitle") und die Herausgeberangabe
%%% ("byeditor+others") umgekehrt gereiht ausgegeben werden
\xpatchbibmacro{inbook:parent}{%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock%
  \usebibmacro{byeditor+others}%
}{%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
}{}{}


%%%%%%%%%%%%%%%%%%%%
%%% incollection %%%
%%%%%%%%%%%%%%%%%%%%

%%% Der Beitrags- und Buchtitel soll aufrecht gesetzt werden
\DeclareFieldFormat[incollection]{title}{\normalfont{#1}}
\DeclareFieldFormat[incollection]{booktitle}{\normalfont{#1}}

%%% Die Festschrift soll sowohl als "book" oder als "collection" definiert
%%% werden können, wobei neben title,subtitle und titeladdon auch shorttitle
%%% als ebensolcher übernommen werden soll
\DeclareDataInheritance{book,collection}{incollection}{
  \inherit{title}{booktitle}
  \inherit{subtitle}{booksubtitle}
  \inherit{titleaddon}{booktitleaddon}
  \inherit{shorttitle}{shorttitle}
}

%%% Wird wie inbook definiert; keine Änderungen!
\DeclareBibliographyAlias{incollection}{inbook}


%%%%%%%%%%%%%%%%%%
%%% commentary %%%
%%%%%%%%%%%%%%%%%%

%%% Der Titel und Untertitel soll aufrecht gesetzt werden
\DeclareFieldFormat[commentary]{subtitle}{\normalfont{#1}}

%%% Wird wie book definiert; keine Änderungen!
\DeclareBibliographyAlias{commentary}{book}


\endinput