]> git.donarmstrong.com Git - lilypond.git/blob - tex/titledefs.tex
fd680ff7e47c0eb8420d93633ab35549f0467d8c
[lilypond.git] / tex / titledefs.tex
1 %%
2 %% LilyPond titling for LaTeX
3 %%
4 %% Note
5 %%
6 %%    Defining a value, but leaving it empty:
7 %%        \def\lilypondfoo{}
8 %%    makes LaTeX break on the \\ in:
9 %%        \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi
10 %%
11 \def\makelilypondtitle
12 {
13   \begin{center}
14         \ifx\lilyponddedication\undefined\else{\normalfont\lilyponddedication\\}\fi
15         \bfseries
16         \ifx\lilypondtitle\undefined\else{\huge\lilypondtitle\\}\fi
17         \ifx\lilypondsubtitle\undefined\else{\Large\lilypondsubtitle\\}\fi
18         \ifx\lilypondsubsubtitle\undefined\else{\large\lilypondsubsubtitle\\}\fi
19   \end{center}
20   \bigskip
21   % urg
22   \edef\saveparskip{\parskip}\parskip-5mm
23   \begin{minipage}[t]{0.45\textwidth}
24         \ifx\lilypondpoet\undefined\else{\lilypondpoet\\}\fi
25         \ifx\lilypondtexttranslator\undefined\else{\lilypondtexttranslator\\}\fi
26         \ifx\lilypondmeter\undefined\else{\lilypondmeter\\}\fi
27   \end{minipage}\hspace*{\fill}
28   \begin{minipage}[t]{0.45\textwidth}
29       \begin{flushright}
30           \ifx\lilypondcomposer\undefined\else{\large\normalfont\scshape\lilypondcomposer\\}\fi
31           \ifx\lilypondopus\undefined\else{\lilypondopus\\}\fi
32           \ifx\lilypondarranger\undefined\else{\lilypondarranger\\}\fi
33         \end{flushright}%
34   \end{minipage}\par
35   \parskip\saveparskip
36   \ifx\lilypondinstrument\undefined\else{\center{\large\lilypondinstrument}\par}\fi
37   \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi
38 %  \leavevmode
39   \global\let\lilypondopus\relax%
40   \global\let\lilypondpiece\relax%
41   \global\let\mustmakelilypondtitle\undefined%
42 }
43 %
44 \def\makelilypondpiecetitle
45 {
46   \bigskip\myfilbreak
47   \ifx\lilypondopus\undefined\else{\flushright{\lilypondopus}\par}\fi
48   \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi
49   \nopagebreak%
50   \global\let\lilypondopus\relax%
51   \global\let\lilypondpiece\relax%
52   \global\let\mustmakelilypondpiecetitle\undefined%
53 }
54 % header -- head ?
55 % these names can't be changed: they're uses in mutopia headers
56 \def\theheader
57 {
58   \ifx\lilypondhead\undefined\relax\else%
59     \lilypondhead\fi
60 }
61 \def\thefooter
62 {
63   \ifx\lilypondfooter\undefined\relax\else%
64     \lilypondfooter\fi
65 }
66 \def\makelilypondtagline
67 {
68   \ifx\undefined\lilypondtagline\relax\else\lilypondtagline\fi
69 }
70 \def\thecopyright
71 {
72   \ifx\lilypondcopyright\undefined\thefooter\else%
73     \lilypondcopyright\fi
74 }
75 %
76 % Moved header and footer definitions here from the ly2dvi script.
77 % Separate page styles for first, last and ordinary (plain) pages.
78 \makeatletter
79 \renewcommand{\ps@plain}{
80   \renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\thefooter}}%
81   \renewcommand{\@evenfoot}{\@oddfoot}%
82   \renewcommand{\@evenhead}{\hbox to\textwidth{\textbf{\thepage}\hfill{\small\theheader}}}
83   \renewcommand{\@oddhead}{\hbox to
84   \textwidth{{\small\theheader}\hfill\textbf{\thepage}}}}
85 \newcommand{\ps@firstpage}{
86   \renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\thecopyright}}%
87   \renewcommand{\@evenfoot}{\@oddfoot}}
88 \newcommand{\ps@lastpage}{
89   \renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\makelilypondtagline}}%
90   \renewcommand{\@evenfoot}{\@oddfoot}}
91 \makeatother
92 \endinput
93