]> git.donarmstrong.com Git - lilypond.git/blob - tex/titledefs.tex
* lily/general-scheme.cc: remove my_{isinf,isnan}.
[lilypond.git] / tex / titledefs.tex
1 % titledefs.tex
2 %
3 % LilyPond titling for LaTeX
4 %
5 % Note:
6 %
7 %    Defining a value, but leaving it empty:
8 %        \def\lilypondfoo{}
9 %    makes LaTeX break on the \\ in:
10 %        \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi
11 %
12 \edef\titledefsELC{\the\endlinechar}%
13 \endlinechar -1\relax
14
15 % The feta characters for use in titles
16 \input feta20.tex
17
18 \font\fetasixteen=feta16
19 \def\fetafont{\fetasixteen}
20 \def\fetachar#1{\hbox{\fetasixteen#1}}
21
22 \def\makelilypondtitle{
23   \begin{center}
24     \lilypondifundefined{lilyponddedication}
25     {}
26     {\normalfont\lilyponddedication\\}
27     
28     \bfseries
29     
30     \lilypondifundefined{lilypondtitle}
31     {}
32     {\huge\lilypondtitle\\}
33     
34     \lilypondifundefined{lilypondsubtitle}
35     {}
36     {\Large\lilypondsubtitle\\}
37     
38     \lilypondifundefined{lilypondsubsubtitle}
39     {}
40     {\large\lilypondsubsubtitle\\}
41   \end{center}
42   
43   \bigskip
44   
45   \begin{minipage}[t]{0.45\textwidth}
46     \lilypondifundefined{lilypondpoet}
47     {}
48     {\lilypondpoet\\}
49     
50     \lilypondifundefined{lilypondtexttranslator}
51     {}
52     {\lilypondtexttranslator\\}
53     
54     \lilypondifundefined{lilypondmeter}
55     {}
56     {\lilypondmeter\\}
57   \end{minipage}
58   
59   \hspace*{\fill}
60   
61   \begin{minipage}[t]{0.45\textwidth}
62     \begin{flushright}
63       \lilypondifundefined{lilypondcomposer}
64       {}
65       {\large\normalfont\scshape\lilypondcomposer\\}
66       
67       \lilypondifundefined{lilypondopus}
68       {}
69       {\lilypondopus\\}
70       
71       \lilypondifundefined{lilypondarranger}
72       {}
73       {\lilypondarranger\\}
74     \end{flushright}
75   \end{minipage}
76   
77   \par
78   
79   \lilypondifundefined{lilypondinstrument}
80   {}
81   {\centerline{\large\lilypondinstrument}}
82   
83   \lilypondifundefined{lilypondpiece}
84   {}
85   {\flushleft{\large\normalfont\lilypondpiece}
86     \par}
87   
88 % \leavevmode
89
90   \global\let\lilypondopus\undefined
91   \global\let\lilypondpiece\undefined
92   \global\let\mustmakelilypondtitle\undefined
93 }
94
95 \def\makelilypondpiecetitle{
96   \bigskip\myfilbreak
97
98   \lilypondifundefined{lilypondopus}
99   {}
100   {\flushright{\lilypondopus}
101     \par}
102   
103   \lilypondifundefined{lilypondpiece}
104   {}
105   {\flushleft{\large\normalfont\lilypondpiece}
106     \par}
107   
108   \nopagebreak
109
110   \global\let\lilypondopus\undefined
111   \global\let\lilypondpiece\undefined
112   \global\let\mustmakelilypondpiecetitle\undefined
113 }
114
115 % header -- head ?
116 % these names can't be changed: they're used in mutopia headers
117
118 \def\theheader{
119   \lilypondifundefined{lilypondhead}
120   {}
121   \lilypondhead
122 }
123
124 \def\thefooter{
125   \lilypondifundefined{lilypondfooter}
126   {}
127   \lilypondfooter
128 }
129
130 \def\makelilypondtagline{
131   \lilypondifundefined{lilypondtagline}
132   {}
133   \lilypondtagline
134 }
135
136 \def\thecopyright{
137   \lilypondifundefined{lilypondcopyright}
138   \thefooter
139   \lilypondcopyright
140 }
141
142 % Moved header and footer definitions here from the lilypond script.
143 % Separate page styles for first, last and ordinary (plain) pages.
144
145 \makeatletter
146
147 \renewcommand{\ps@plain}{
148   \renewcommand{\@oddfoot}{
149     \parbox{\textwidth}{\mbox{}\thefooter}}
150   \renewcommand{\@evenfoot}{
151     \@oddfoot}
152   \renewcommand{\@evenhead}{
153     \hbox to \textwidth{\textbf{\thepage}\hfill{\small\theheader}}}
154   \renewcommand{\@oddhead}{
155     \hbox to \textwidth{{\small\theheader}\hfill\textbf{\thepage}}}
156 }
157
158 \newcommand{\ps@firstpage}{
159   \renewcommand{\@oddfoot}{
160     \parbox{\textwidth}{\mbox{}\thecopyright}}
161   \renewcommand{\@evenfoot}{
162     \@oddfoot}
163 }
164
165 \newcommand{\ps@lastpage}{
166   \renewcommand{\@oddfoot}{
167     \parbox{\textwidth}{\mbox{}\makelilypondtagline}}
168   \renewcommand{\@evenfoot}{
169     \@oddfoot}
170 }
171
172 \makeatother
173
174 \endlinechar \titledefsELC
175 \endinput