-
Notifications
You must be signed in to change notification settings - Fork 5
/
baarticle.cbx
69 lines (64 loc) · 1.86 KB
/
baarticle.cbx
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
% Citation style implementing the BA Dresden Styleguide
\ProvidesFile{baarticle.cbx}[2021/09/24 v1.0.0 BA Dresden citation style]
% style is based on authoryear-ibid
\RequireCitationStyle{authoryear-ibid}
% use the BA localization
\DeclareLanguageMapping{ngerman}{ngerman-ba}
% add global biblatex options
\ExecuteBibliographyOptions{
minnames=1,
maxnames=3,
dashed=false,
giveninits=true,
uniquename=false,
uniquelist=false
}
\renewbibmacro*{textcite:postnote}{%
\iffieldundef{postnote}
{\ifbool{cbx:parens}
{\bibcloseparen}
{}}%iffieldundef
{\ifbool{cbx:parens}
{\setunit{\postnotedelim}}
{\setunit{\extpostnotedelim\bibopenparen}}%
\bibcloseparen\printfield{postnote}}}
\providecommand*{\mkibid}[1]{#1}
% force ebenda to lowercase
\renewbibmacro*{cite:ibid}{%
\printtext{\MakeLowercase{\bibstring{ibidem}}}}
% Define cite format
\newbibmacro*{cite:fullpartcite}{%
\printnames{labelname}%
\space%
\bibopenparen%
\printdateextra%
\bibcloseparen}
% Custom cite commands
\DeclareCiteCommand{\bacite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\bibhyperref[#3]{%
\usebibmacro{citeindex}%
\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\usebibmacro{cite:fullpartcite}}%
}}
{\addsemicolon\space}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\vglcite}[\mkbibfootnote]
{Vgl. \usebibmacro{prenote}}
{\bibhyperref[#3]{%
\usebibmacro{citeindex}%
\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\usebibmacro{cite:fullpartcite}}%
}}
{\addsemicolon\space}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\captioncite}
{\usebibmacro{prenote}}
{\bibhyperref[#3]{%
\usebibmacro{citeindex}%
\usebibmacro{cite:fullpartcite}%
}}
{\addsemicolon\space}
{\usebibmacro{postnote}}