X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=tex%2Ftitledefs.tex;h=6793d310975c1d2a7b3d02ff5d0e700c69cb8d30;hb=4e4c2a06c4d3b28d75f96dc5583c4cd1417f9617;hp=698d26b7e6a4fe211c12135eeababb79b14f41b8;hpb=b76d0173a49e115b77120d673f5aa6169f4875aa;p=lilypond.git diff --git a/tex/titledefs.tex b/tex/titledefs.tex index 698d26b7e6..6793d31097 100644 --- a/tex/titledefs.tex +++ b/tex/titledefs.tex @@ -1,69 +1,175 @@ -%% -%% LilyPond titling for LaTeX -%% -%% Note -%% -%% Defining a value, but leaving it empty: -%% \def\lilypondfoo{} -%% makes LaTeX break on the \\ in: -%% \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi -%% -\def\makelilypondtitle -{ +% titledefs.tex +% +% LilyPond titling for LaTeX +% +% Note: +% +% Defining a value, but leaving it empty: +% \def\lilypondfoo{} +% makes LaTeX break on the \\ in: +% \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi +% +\edef\titledefsELC{\the\endlinechar}% +\endlinechar -1\relax + +% The feta characters for use in titles +\input feta20.tex + +\font\fetasixteen=feta16 +\def\fetafont{\fetasixteen} +\def\fetachar#1{\hbox{\fetasixteen#1}} + +\def\makelilypondtitle{ \begin{center} - \bfseries - \ifx\lilypondtitle\undefined\else{\huge\lilypondtitle\\}\fi - \ifx\lilypondsubtitle\undefined\else{\Large\lilypondsubtitle\\}\fi - \ifx\lilypondsubsubtitle\undefined\else{\large\lilypondsubsubtitle\\}\fi + \lilypondifundefined{lilyponddedication} + {} + {\normalfont\lilyponddedication\\} + + \bfseries + + \lilypondifundefined{lilypondtitle} + {} + {\huge\lilypondtitle\\} + + \lilypondifundefined{lilypondsubtitle} + {} + {\Large\lilypondsubtitle\\} + + \lilypondifundefined{lilypondsubsubtitle} + {} + {\large\lilypondsubsubtitle\\} \end{center} + \bigskip - % urg - \edef\saveparskip{\parskip}\parskip-5mm + \begin{minipage}[t]{0.45\textwidth} - \ifx\lilypondpoet\undefined\else{\lilypondpoet\\}\fi - \ifx\lilypondmeter\undefined\else{\lilypondmeter\\}\fi - \end{minipage}\hspace*{\fill} + \lilypondifundefined{lilypondpoet} + {} + {\lilypondpoet\\} + + \lilypondifundefined{lilypondtexttranslator} + {} + {\lilypondtexttranslator\\} + + \lilypondifundefined{lilypondmeter} + {} + {\lilypondmeter\\} + \end{minipage} + + \hspace*{\fill} + \begin{minipage}[t]{0.45\textwidth} - \begin{flushright} - \ifx\lilypondcomposer\undefined\else{\large\normalfont\scshape\lilypondcomposer\\}\fi - \ifx\lilypondopus\undefined\else{\lilypondopus\\}\fi - \ifx\lilypondarranger\undefined\else{\lilypondarranger\\}\fi - \end{flushright}% - \end{minipage}\par - \parskip\saveparskip - \ifx\lilypondinstrument\undefined\else{\center{\large\lilypondinstrument}\par}\fi - \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi -% \leavevmode - \global\let\lilypondopus\relax% - \global\let\lilypondpiece\relax% - \global\let\mustmakelilypondtitle\undefined% + \begin{flushright} + \lilypondifundefined{lilypondcomposer} + {} + {\large\normalfont\scshape\lilypondcomposer\\} + + \lilypondifundefined{lilypondopus} + {} + {\lilypondopus\\} + + \lilypondifundefined{lilypondarranger} + {} + {\lilypondarranger\\} + \end{flushright} + \end{minipage} + + \par + + \lilypondifundefined{lilypondinstrument} + {} + {\centerline{\large\lilypondinstrument}} + + \lilypondifundefined{lilypondpiece} + {} + {\flushleft{\large\normalfont\lilypondpiece} + \par} + +% \leavevmode + + \global\let\lilypondopus\undefined + \global\let\lilypondpiece\undefined + \global\let\mustmakelilypondtitle\undefined } -% -\def\makelilypondpiecetitle -{ + +\def\makelilypondpiecetitle{ \bigskip\myfilbreak - \ifx\lilypondopus\undefined\else{\flushright{\lilypondopus}\par}\fi - \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi - \nopagebreak% - \global\let\lilypondopus\relax% - \global\let\lilypondpiece\relax% - \global\let\mustmakelilypondpiecetitle\undefined% + + \lilypondifundefined{lilypondopus} + {} + {\flushright{\lilypondopus} + \par} + + \lilypondifundefined{lilypondpiece} + {} + {\flushleft{\large\normalfont\lilypondpiece} + \par} + + \nopagebreak + + \global\let\lilypondopus\undefined + \global\let\lilypondpiece\undefined + \global\let\mustmakelilypondpiecetitle\undefined } + % header -- head ? -% these names can't be changed: they're uses in mutopia headers -\def\theheader -{ - \ifx\lilypondhead\undefined\else% - \parbox{\textwidth}{\mbox{}\lilypondhead}\fi +% these names can't be changed: they're used in mutopia headers + +\def\theheader{ + \lilypondifundefined{lilypondhead} + {} + \lilypondhead } -\def\thefooter -{ - \ifx\lilypondfooter\undefined\else% - \parbox{\textwidth}{\mbox{}\lilypondfooter}\fi + +\def\thefooter{ + \lilypondifundefined{lilypondfooter} + {} + \lilypondfooter } -\def\makelilypondtagline -{ - \ifx\lilypondtagline\undefined\else\lilypondtagline\fi + +\def\makelilypondtagline{ + \lilypondifundefined{lilypondtagline} + {} + \lilypondtagline +} + +\def\thecopyright{ + \lilypondifundefined{lilypondcopyright} + \thefooter + \lilypondcopyright +} + +% Moved header and footer definitions here from the lilypond script. +% Separate page styles for first, last and ordinary (plain) pages. + +\makeatletter + +\renewcommand{\ps@plain}{ + \renewcommand{\@oddfoot}{ + \parbox{\textwidth}{\mbox{}\thefooter}} + \renewcommand{\@evenfoot}{ + \@oddfoot} + \renewcommand{\@evenhead}{ + \hbox to \textwidth{\textbf{\thepage}\hfill{\small\theheader}}} + \renewcommand{\@oddhead}{ + \hbox to \textwidth{{\small\theheader}\hfill\textbf{\thepage}}} +} + +\newcommand{\ps@firstpage}{ + \renewcommand{\@oddfoot}{ + \parbox{\textwidth}{\mbox{}\thecopyright}} + \renewcommand{\@evenfoot}{ + \@oddfoot} } -\endinput +\newcommand{\ps@lastpage}{ + \renewcommand{\@oddfoot}{ + \parbox{\textwidth}{\mbox{}\makelilypondtagline}} + \renewcommand{\@evenfoot}{ + \@oddfoot} +} + +\makeatother + +\endlinechar \titledefsELC +\endinput