-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmusicography.sty
88 lines (78 loc) · 1.87 KB
/
musicography.sty
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
\ProvidesPackage{musicography}[2021/03/07 musicography]
\DeclareLanguageMapping{english}{english-musicography}
\DeclareLanguageMapping{greek}{greek-musicography}
\DeclareFieldFormat{title}{\emph{#1}}
\DeclareNameFormat{composer}{
\ifthenelse{\value{listcount}=1}
{\bibopenbracket}{}%
\namepartfamily%
\ifdefvoid{\namepartgiven}{}
{\addcomma\space\namepartgiveni}%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma}{}%
\ifthenelse{\value{listcount}=\value{liststop}}
{\bibclosebracket}{}%
}%
\newbibmacro*{mainartist}{%
\ifnameundef{conductor}{%
\ifnameundef{director}{%
\ifnameundef{artist}{%
\ifnameundef{soloist}{}{%
\printnames{soloist}}}{%
\printnames{artist}}}{%
\printnames{director}}}{%
\printnames{conductor}%
}%
}
\newbibmacro*{titleWithComposer}{%
\ifnameundef{composer}{}{%
\printnames{composer}%
\setunit{\addspace}}%
\printfield{title}%
}%
\newbibmacro*{maindate}{%
\iffieldundef{recordingyear}{%
\printfield{releaseyear}%
}{%
\printfield{recordingyear}%
}%
}
\newbibmacro*{labelanddate}{%
% \bibopenparen%
\printfield{label}%
\printtext{:}%
\setunit{\addspace}%
\usebibmacro{maindate}%
% \bibcloseparen%
}
\newbibmacro*{artistandensemble}{%
\usebibmacro{mainartist}%
\iffieldundef{ensemble}{}{%
\setunit{\addspace}%
\bibstring{with}%
\setunit{\addspace}%
\printfield{ensemble}%
}%
}
\DeclareBibliographyDriver{disc}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{artistandensemble}%
\newunit\newblock
\usebibmacro{titleWithComposer}%
\newunit\newblock
\usebibmacro{labelanddate}%
\newunit\newblock
\usebibmacro{finentry}%
}
\DeclareLabeldate{%
\field{recordingyear}
\field{releaseyear}
\literal{nodate}
}
\DeclareLabelname{%
\field{conductor}
\field{ensemble}
\field{artist}
\field{director}
}