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