]> git.donarmstrong.com Git - lilypond.git/blobdiff - tex/titledefs.tex
release: 1.3.140
[lilypond.git] / tex / titledefs.tex
index 70069f75c49f2594f7b0b9e58ac94b849cbc025e..92e3747de496574ef465dca179be9c87836a4da2 100644 (file)
@@ -1,86 +1,53 @@
-%
-% ideally, we should create a LaTeX/TeX class
-% for setting music in different sizes.
-%
-% Version 0.1
-%
-\input lilyponddefs
-\def\EndLilyPondOutput{\endinput}
-%
-\def\thetitle{}
-\def\thesubtitle{}
-\def\thecomposer{}
-\def\thearranger{}
-\def\theinstrument{}
-\def\theopus{}
-\def\thepiece{}
-\def\themeter{}
-\def\thepoet{}
-\def\theheader{}
-\def\thefooter{}
-\def\theorchestralinstrument{}
-%
-% 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{%
+%%
+%% 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
+{
   \begin{center}
         \bfseries
-        \ifx\mudelanull\thetitle\else{\huge\thetitle}\\ \fi
-        \ifx\mudelanull\thesubtitle\else{\Large\thesubtitle}\\ \fi
+        \ifx\lilypondtitle\undefined\else{\huge\lilypondtitle\\}\fi
+        \ifx\lilypondsubtitle\undefined\else{\Large\lilypondsubtitle\\}\fi
+        \ifx\lilypondsubsubtitle\undefined\else{\large\lilypondsubsubtitle\\}\fi
   \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
+        \ifx\lilypondpoet\undefined\else{\lilypondpoet\\}\fi
+        \ifx\lilypondmeter\undefined\else{\lilypondmeter\\}\fi
   \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
+          \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
-  {\center{\large\theinstrument}\par}
-  {\flushleft{\large\normalfont\scshape\thepiece}\par}
+  \ifx\lilypondinstrument\undefined\else{\center{\large\lilypondinstrument}\par}\fi
+  \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi
 %  \leavevmode
-  \global\let\theopus\relax%
-  \global\let\thepiece\relax%
+  \global\let\lilypondopus\relax%
+  \global\let\lilypondpiece\relax%
+  \global\let\mustmakelilypondtitle\undefined%
 }
-\def\makelilypiecetitle
+%
+\def\makelilypondpiecetitle
 {
-  \bigskip
-  {\flushright{\theopus}\par}
-  {\flushleft{\large\normalfont\scshape\thepiece}\par}
-  \global\let\theopus\relax%
-  \global\let\thepiece\relax%
+  \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%
 }
 \endinput