X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tex%2Ftitledefs.tex;h=6793d310975c1d2a7b3d02ff5d0e700c69cb8d30;hb=150ff905539154877da98ae5d59fcf8938dcda97;hp=b6c9c7570bbd5bace73f3dbd4ce4fcbc6f4d0579;hpb=b68d04713126c25772f1c47235ca84320ff11e92;p=lilypond.git diff --git a/tex/titledefs.tex b/tex/titledefs.tex index b6c9c7570b..6793d31097 100644 --- a/tex/titledefs.tex +++ b/tex/titledefs.tex @@ -1,84 +1,175 @@ +% titledefs.tex % -% ideally, we should create a LaTeX/TeX class -% for setting music in different sizes. +% LilyPond titling for LaTeX % -% Version 0.1 +% Note: % -\def\thetitle{} -\def\thesubtitle{} -\def\thecomposer{} -\def\thearranger{} -\def\theinstrument{} -\def\theopus{} -\def\thepiece{} -\def\themeter{} -\def\thepoet{} -\def\theheader{} -\def\thefooter{} -\def\theorchestralinstrument{} +% Defining a value, but leaving it empty: +% \def\lilypondfoo{} +% makes LaTeX break on the \\ in: +% \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi % -% duh. LaTeX has a \title too. -\renewcommand*{\title}[1]{\def\thetitle{#1}} -\newcommand*{\subtitle}[1]{\def\thesubtitle{#1}} -\newcommand*{\composer}[1]{\def\thecomposer{#1}} -\newcommand*{\arranger}[1]{\def\thearranger{#1}} -\newcommand*{\instrument}[1]{\def\theinstrument{#1}} -\newcommand*{\opus}[1]{\def\theopus{#1}} -\newcommand*{\piece}[1]{\def\thepiece{#1}} -\newcommand*{\meter}[1]{\def\themeter{#1}} -\newcommand*{\poet}[1]{\def\thepoet{#1}} -% -\newcommand*{\mudelatitle}[1]{\def\thetitle{#1}} -\newcommand*{\mudelasubtitle}[1]{\def\thesubtitle{#1}} -\newcommand*{\mudelafooter}[1]{\def\thefooter{#1}} -\newcommand*{\mudelahead}[1]{\def\theheader{#1}} -\newcommand*{\mudelacomposer}[1]{\def\thecomposer{#1}} -\newcommand*{\mudelaarranger}[1]{\def\thearranger{#1}} -\newcommand*{\mudelainstrument}[1]{\def\theinstrument{#1}} -\newcommand*{\mudelaopus}[1]{\def\theopus{#1}} -\newcommand*{\mudelapiece}[1]{\def\thepiece{#1}} -\newcommand*{\mudelametre}[1]{\def\themeter{#1}} -\newcommand*{\mudelameter}[1]{\def\themeter{#1}} -\newcommand*{\mudelapoet}[1]{\def\thepoet{#1}} -% -% -\def\mudelanull{}% -% -\def\makelilytitle{% +\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\mudelanull\thetitle\else{\huge\thetitle}\\ \fi - \ifx\mudelanull\thesubtitle\else{\Large\thesubtitle}\\ \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\mudelanull\thepoet\else{\thepoet}\\ \fi - \ifx\mudelanull\themeter\else{\themeter}\\ \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\mudelanull\thecomposer\else{\large\normalfont\scshape\thecomposer}\\ \fi - \ifx\mudelanull\theopus\else{\theopus}\\ \fi - \ifx\mudelanull\thearranger\else{\thearranger}\\ \fi - \end{flushright}% - \end{minipage}\par - \parskip\saveparskip - {\center{\large\theinstrument}\par} - {\flushleft{\large\normalfont\scshape\thepiece}\par} -% \leavevmode - \global\let\theopus\relax% - \global\let\thepiece\relax% + \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\makelilypiecetitle -{ + +\def\makelilypondpiecetitle{ \bigskip\myfilbreak - {\flushright{\theopus}\par} - {\flushleft{\large\normalfont\scshape\thepiece}\par} - \nopagebreak% - \global\let\theopus\relax% - \global\let\thepiece\relax% + + \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 } -\endinput +% header -- head ? +% these names can't be changed: they're used in mutopia headers + +\def\theheader{ + \lilypondifundefined{lilypondhead} + {} + \lilypondhead +} + +\def\thefooter{ + \lilypondifundefined{lilypondfooter} + {} + \lilypondfooter +} + +\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} +} + +\newcommand{\ps@lastpage}{ + \renewcommand{\@oddfoot}{ + \parbox{\textwidth}{\mbox{}\makelilypondtagline}} + \renewcommand{\@evenfoot}{ + \@oddfoot} +} + +\makeatother + +\endlinechar \titledefsELC +\endinput