X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tex%2Ftitledefs.tex;h=6793d310975c1d2a7b3d02ff5d0e700c69cb8d30;hb=01c7f176c310496ba9f19d43ee3e80440a6128a9;hp=9cd871e4d90b3129eff7e9996cf0b25257ae386e;hpb=abe92e217f0a3aab91fa2db330eea89680c2ebad;p=lilypond.git diff --git a/tex/titledefs.tex b/tex/titledefs.tex index 9cd871e4d9..6793d31097 100644 --- a/tex/titledefs.tex +++ b/tex/titledefs.tex @@ -1,36 +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: % -\input lilyponddefs -\def\EndLilyPondOutput{\endinput} +% Defining a value, but leaving it empty: +% \def\lilypondfoo{} +% makes LaTeX break on the \\ in: +% \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi % -\def\thetitle{} -\def\thesubtitle{} -\def\thecomposer{} -\def\thearranger{} -\def\theinstrument{} -% -\newcommand*{\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*{\mudelatitle}[1]{\def\thetitle{#1\\}} -\newcommand*{\mudelasubtitle}[1]{\def\thesubtitle{#1\\}} -\newcommand*{\mudelacomposer}[1]{\def\thecomposer{#1\\}} -\newcommand*{\mudelaarranger}[1]{\def\thearranger{#1}} -\newcommand*{\mudelainstrument}[1]{\def\theinstrument{#1}} -% -\def\makelilytitle -{ - {\center\bfseries\huge\center\thetitle} - \par - {\center\bfseries\large\thesubtitle} - %\bigskip - {\flushleft\theinstrument\hfill\scshape\thecomposer}{\hfill\thearranger} +\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} + \lilypondifundefined{lilyponddedication} + {} + {\normalfont\lilyponddedication\\} + + \bfseries + + \lilypondifundefined{lilypondtitle} + {} + {\huge\lilypondtitle\\} + + \lilypondifundefined{lilypondsubtitle} + {} + {\Large\lilypondsubtitle\\} + + \lilypondifundefined{lilypondsubsubtitle} + {} + {\large\lilypondsubsubtitle\\} + \end{center} + + \bigskip + + \begin{minipage}[t]{0.45\textwidth} + \lilypondifundefined{lilypondpoet} + {} + {\lilypondpoet\\} + + \lilypondifundefined{lilypondtexttranslator} + {} + {\lilypondtexttranslator\\} + + \lilypondifundefined{lilypondmeter} + {} + {\lilypondmeter\\} + \end{minipage} + + \hspace*{\fill} + + \begin{minipage}[t]{0.45\textwidth} + \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{ + \bigskip\myfilbreak + + \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 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