blob: 16b887ab95c94130cd8d2ab90d5061330dc014a2 (
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
|
\@ifclassloaded{cnltx-doc}{}{%
\GenericError
{(cnltx.bbx)\@spaces\@spaces\@spaces\@spaces}
{cnltx bibliography style error: invalid class}
{See the cnltx bundle documentation for explanation.}
{%
The `cnltx' bibliography style can only be used with the `cnltx-doc'
document class%
}%
}
\ProvidesFile{cnltx.bbx}[\cnltx@@date\space \cnltx@@version\space \cnltx@@info]
\RequireBibliographyStyle{alphabetic}
\ExecuteBibliographyOptions{block=ragged}
\DeclareBibliographyDriver{latex}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\usebibmacro{maintainer}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title+subtitle}%
\printfield{version}%
\setunit{\addcomma\addspace}%
\usebibmacro{date}%
\newunit\newblock
\usebibmacro{url+urldate}%
\newunit\newblock
\usebibmacro{finentry}%
}
\DeclareBibliographyAlias{package}{latex}
\DeclareBibliographyAlias{class}{latex}
\DeclareBibliographyAlias{bundle}{latex}
\newbibmacro{title+subtitle}{%
\iffieldundef{title}{}{%
\printfield{title}%
\ifbibindex{\indexfield{title}}{}%
\setunit{\adddot\addspace}%
\iffieldundef{subtitle}{}{%
\printfield{subtitle}%
\setunit{\adddot\addspace}%
}%
}%
}
\newbibmacro*{maintainer}{%
\printtext{%
\ifnameundef{maintainer}
{}
{%
\addcomma\addspace
\ifnumgreater{\value{maintainer}}{1}
{\GetTranslation{cnltx-maintainers}}
{\GetTranslation{cnltx-maintainer}}%
\addcolon\addspace
\printnames{maintainer}%
}%
}%
}
\DeclareNameAlias[package]{maintainer}{default}
\DeclareNameAlias[class]{maintainer}{default}
\DeclareNameAlias[bundle]{maintainer}{default}
\DeclareIndexNameAlias[package]{maintainer}{default}
\DeclareIndexNameAlias[class]{maintainer}{default}
\DeclareIndexNameAlias[bundle]{maintainer}{default}
\DeclareFieldFormat[package]{title}{\pkg*{#1}}
\DeclareFieldFormat[class]{title}{\cls*{#1}}
\DeclareFieldFormat[bundle]{title}{\bnd*{#1}}
\DeclareIndexFieldFormat[package]{title}{%
\ifstrequal{#1}{\KOMAScript}
{\pkgidx[KOMA-Script]{\KOMAScript}}
{\pkgidx{#1}}%
}
\DeclareIndexFieldFormat[class]{title}{%
\ifstrequal{#1}{\KOMAScript}
{\clsidx[KOMA-Script]{\KOMAScript}}
{\clsidx{#1}}%
}
\DeclareIndexFieldFormat[bundle]{title}{%
\ifstrequal{#1}{\KOMAScript}
{\bndidx[KOMA-Script]{\KOMAScript}}
{\bndidx{#1}}%
}
\DeclareIndexFieldFormat[package]{indextitle}{%
\ifstrequal{#1}{\KOMAScript}
{\pkgidx[KOMA-Script]{\KOMAScript}}
{\pkgidx{#1}}%
}
\DeclareIndexFieldFormat[class]{indextitle}{%
\ifstrequal{#1}{\KOMAScript}
{\clsidx[KOMA-Script]{\KOMAScript}}
{\clsidx{#1}}%
}
\DeclareIndexFieldFormat[bundle]{indextitle}{%
\ifstrequal{#1}{\KOMAScript}
{\bndidx[KOMA-Script]{\KOMAScript}}
{\bndidx{#1}}%
}
\DeclareFieldFormat[package]{subtitle}{\mkbibemph{#1}}
\DeclareFieldFormat[class]{subtitle}{\mkbibemph{#1}}
\DeclareFieldFormat[bundle]{subtitle}{\mkbibemph{#1}}
\DeclareLabelname[package,class,bundle]{%
\field{shortauthor}
\field{author}
\field{maintainer}
\field{shorteditor}
\field{editor}
\field{translator}
}
\DeclareDriverSourcemap[datatype=bibtex]{
\map{
\step[fieldsource=info, fieldtarget=subtitle]
}
}
\endinput
HISTORY:
2013/10/04 v0.7a - added drivers `@class' and `@bundle'
|