X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tex%2Flilyponddefs.tex;h=0536b3c333679b3e0146c012dd30dfacc40dd2ff;hb=f40100ec7da8bfd4fbf09ae2b072e3e660e1b0d3;hp=08ad2b5190c718321312881761484bf337c65469;hpb=1cf3d59c1559fb9774c4c1c8cae155cfe54a927c;p=lilypond.git diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 08ad2b5190..0536b3c333 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -2,7 +2,7 @@ %% include file for LilyPond %% %% this file defines various macros to accomodate lilypond output -%% +%% %% let's not make par before endinput % % TeXbook ex 7.7 @@ -15,347 +15,69 @@ \def\SkipLilydefs{} \fi \SkipLilydefs -% -\ifundefined{mudelacopyright} - \def\mudelacopyright{\copyright\ \number\year} -\fi -\ifundefined{LilyIdString} - \def\LilyIdString{Lily was here} + +% need to do some stuff to turn pagenumbering off +\ifundefined{documentclass} + \input lilypond-plaintex +\else + \input lilypond-latex \fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% macros to shorten other definitions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\musicmathdef#1#2{\def#1{\musicmathchar{#2}}} -\def\musicmathchar#1{\musicmathfont\char#1} -\def\topalign#1{\vbox to 0pt{#1\vss}} +% \def\botalign#1{\vbox to 0pt{\vss #1}} - -\def\centeralign#1{\hbox to 0pt{\hss#1\hss}} \def\leftalign#1{\hbox to 0pt{#1\hss}} -\def\rightalign#1{\hbox to 0pt{\hss#1}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% set up dimensions -\parindent=0pt -\newdimen\smallspace -\newdimen\interlinedist - -\newdimen\stemthickness -\newcount\n %duh. meaningful identifiers. -\newdimen\staffheight -\newdimen\notewidth -\newdimen\noteheight -\newdimen\staffrulethickness -\newdimen\interstaffrule -\newdimen\dist - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% set fonts and primary dimensions -% ugh -\def\musixtwentydefs{ - \twentyfonts - \musixcalc -} - - \def\cmrtwenty{ - \font\smalltextfont=cmr8 - \font\meterfont=cmbx12 at 15pt - \font\textmusic=cmmi12 -% \font\musicmathfont=cmsy10 %%Not used?? /MB - \ifundefined{documentclass} - \font\normaltextfont=cmr10 %\textfont is a primitive - \font\italicfont=cmti10 scaled \magstep1 - \font\boldfont=cmbx10 - \font\largefont=cmbx12 - \font\typewriterfont=cmtt10 - %\font\Largefont=cmbx14 - \font\Largefont=cmbx12 scaled \magstep 2 - \font\hugefont=cmbx12 scaled \magstep 3 - \else -% \def\settext##1{{\normalfont\normalsize ##1}} - \def\settext##1{{\normalfont ##1}} - \def\setitalic##1{\textit{\normalsize ##1}} - \def\setbold##1{\textbf{\normalsize ##1}} - \def\settypewriter##1{\texttt{\normalsize ##1}} - \def\setlarge##1{\textbf{\large ##1}} - \def\setLarge##1{\textbf{\Large ##1}} - \def\sethuge##1{\textbf{\huge ##1}} - \fi - } - \def\cmrsixteen{ - \font\smalltextfont=cmr6 - \font\meterfont=cmbx12 - \font\textmusic=cmmi10 - \ifundefined{documentclass} - \font\normaltextfont=cmr8 %\textfont is a primitive - \font\italicfont=cmti9 - \font\boldfont=cmbx8 - \font\typewriterfont=cmtt9 - \font\largefont=cmbx10 - \font\Largefont=cmbx12 - \font\hugefont=cmbx12 scaled \magstep 2 - \else - \def\settext##1{{\normalfont\footnotesize ##1}} - \def\setitalic##1{\textit{\small ##1}} - \def\setbold##1{\textbf{\footnotesize ##1}} - \def\settypewriter##1{\texttt{\normalsize ##1}} - \def\setlarge##1{\textbf{\normalsize ##1}} - \def\setLarge##1{\textbf{\large ##1}} - \def\sethuge##1{\textbf{\Large ##1}} - \fi - } - \def\cmrthirteen{ - \font\smalltextfont=cmr6 - \font\meterfont=cmbx9 - \font\textmusic=cmmi9 - \ifundefined{documentclass} - \font\normaltextfont=cmr7 - \font\italicfont=cmti7 - \font\boldfont=cmbx7 - \font\largefont=cmbx9 - \font\typewriterfont=cmtt7 - \font\Largefont=cmbx10 - \font\hugefont=cmbx12 - \else - \def\settext##1{{\normalfont\scriptsize ##1}} - \def\setitalic##1{\textit{\scriptsize ##1}} - \def\setbold##1{\textbf{\scriptsize ##1}} - \def\setlarge##1{\textbf{\small ##1}} - \def\setLarge##1{\textbf{\normalsize ##1}} - \def\sethuge##1{\textbf{\large ##1}} - \fi - } - \def\cmreleven{ - \font\smalltextfont=cmr5 - \font\meterfont=cmbx8 - \font\textmusic=cmmi8 - \ifundefined{documentclass} - \font\normaltextfont=cmr6 - \font\italicfont=cmti6 - \font\boldfont=cmbx6 - \font\typewriterfont=cmtt6 - \font\largefont=cmbx8 - \font\Largefont=cmbx9 - \font\hugefont=cmbx10 - \else - \def\settext##1{{\normalfont\tiny ##1}} - \def\setitalic##1{\textit{\tiny ##1}} - \def\setbold##1{\textbf{\tiny ##1}} - \def\setlarge##1{\textbf{\footnotesize ##1}} - \def\setLarge##1{\textbf{\small ##1}} - \def\sethuge##1{\textbf{\normalsize ##1}} - \fi - } -\def\musixsixteendefs{ - \sixteenfonts - \musixcalc -} -\def\musixtwentysixdefs{ - \twentysixfonts - \musixcalc -} -\def\musixthirteendefs{ - \thirteenfonts - \musixcalc -} -\def\musixelevendefs{ - \elevenfonts - \musixcalc -} - -\def\textsharp{\raise.4ex\hbox{\textmusic\char"5D}} -\def\textnatural{\raise.4ex\hbox{\textmusic\char"5C}} -\def\textflat{\raise.2ex\hbox{\textmusic\char"5B}} - - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% do derivative calcs - -% this has to be synced with the font definition -\def\musixcalc{ - \staffheight=\mudelapaperbarsize pt - \interlinedist=\staffheight - \divide\interlinedist by 4 - \notewidth=\mudelapapernotewidth pt - - \smallspace=.3\interlinedist - \interstaffrule=\staffheight - \divide\interstaffrule by 4 - \staffrulethickness=\mudelapaperrulethickness pt - \stemthickness=\staffrulethickness -} - -% stacked numbers; may be overruled in fetdefs -\def\generalmeter#1#2{\vbox to 0pt{\vss\hbox{\meterfont - #1}\nointerlineskip - \hbox{\meterfont #2}\vss}} -% stacked horizontal lines +\input feta20.tex -\def\interscoreline{\vskip 16pt} -\def\setdynamic#1{\dynfont #1} -\def\setfinger#1{\fingerfont #1} -\def\setnumber#1{\fetanummer #1} -\def\setmark#1{\markfont #1} +% Attempt to keep lilypiecetitle together with the piece: +\def\myfilbreak{\par\vfil\penalty200\vfilneg} -% big fat marks, if errors are detected. -\def\columnerrormark{\placebox{-5pt}{0pt}{\bf C!}} -\def\scorelineerrormark{\placebox{0pt}{-10pt}{\bf L!}} -\def\errormark{{\bf E!}} -\def\unknown{{\bf u}} - -\input dyndefs -\input fetdefs - - - -\def\emptybar{} - -\def\defaultthinbar{\thinbar{\staffheight}} -\def\defaultthickbar{\thickbar{\staffheight}} -%? what-s wrong with rightalign? -\def\repeatstopbar{\rightalign{\repeatcolon\kern2\smallspace\defaultthinbar\kern\smallspace\defaultthickbar}} -\def\repeatstartbar{\hbox{\defaultthickbar\kern\smallspace\defaultthinbar\kern2\smallspace\repeatcolon}} -\def\repeatstopstart{\hbox{\repeatcolon\kern2\smallspace\defaultthickbar\kern\smallspace\defaultthickbar\kern2\smallspace\repeatcolon}} - -%compatibility -%urg -\fetdef\repeatcolon{18} -\def\repeatbar{\repeatstopbar} -\def\startrepeat{\repeatstartbar} -\def\repeatbarstartrepeat{\repeatstopstart} - -\def\vruler#1{{% - \def\wid{\dimen0}% - \def\inc{\dimen1}% - \wid=#1pt - \inc=\wid - \divide\inc by #1 - \divide\wid by 2 - \here=-\wid - \loop\ifdim\here<\wid\advance\here by\inc - \hbox to0pt{\vbox to0pt{\vss\hrule width2pt height 0.05pt\kern\here}\hss}% - \repeat% -}} -\def\hruler#1#2{\hbox{% - \def\wid{\dimen0}% - \def\here{\dimen3}% - \wid=#1pt - \divide\wid by 2 - \here=-\wid - \loop\ifdim\here<\wid\advance\here by #2 - \hbox to0pt{\kern\here\vrule width0.05pt height 1pt depth 1pt\hss}% - \repeat% -}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% parametric symbols -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\doublebar#1{\hbox{\thinbar{#1}\hskip\smallspace\thinbar{#1}}} -\def\thinbar#1{\dimen0=#1% - \vrule height .5\dimen0 depth .5\dimen0 width 1.6\staffrulethickness} % TODO parametric. -\def\thickbar#1{\dimen0=#1% - \vrule height .5\dimen0 depth .5\dimen0 width 2\smallspace} -\def\maatstreep#1{\thinbar{#1}} -\def\startbar#1{\leftalign{\thickbar{#1}\kern\smallspace\thinbar{#1}}} -\def\finishbar#1{\rightalign{\thinbar{#1}\kern\smallspace\thickbar{#1}}} -\def\fatdoublebar#1{\hbox{\phantom{\repeatcolon\kern2\smallspace}\thickbar{#1}\kern\smallspace\thickbar{#1}}} - - -\def\stem#1#2{\hbox{\kern -.5\stemthickness - \vrule width\stemthickness height#2 depth-#1}} +% stacked horizontal lines +\ifundefined{lilypondpaperinterscoreline} + \def\lilypondpaperinterscoreline{16} +\fi +\ifundefined{lilypondpaperinterscorelinefill} + \def\lilypondpaperinterscorelinefill{0} +\fi +\def\interscoreline{\vskip\lilypondpaperinterscoreline pt plus % + \lilypondpaperinterscorelinefill fill\myfilbreak} -% ugh -% see e.g. input/test/beam-pos.ly -% -% something's wrong with the aligment; sometimes all symbols -% look to be placed a bit too high (there's an ugly fix for -% the staccato-dot in script.cc) -% but this varies from line to line: it seems that xdvi -% does some rounding; i can't really check this from screen on i -% 600x600 res. -% -\def\rulesym#1#2{\dimen0=#1% - \vrule height .5\dimen0 depth .5\dimen0 width #2} -\def\shiftedrulesym#1#2{\dimen0=#1% - \vrule height .7\dimen0 depth .3\dimen0 width #2} -\def\tinyrulesym#1#2{\dimen0=#1% - \vrule height .1\dimen0 depth .1\dimen0 width #2} -%would be nice for checking alignment -\def\openrulesym#1#2{\dimen0=#1% - \vbox to \dimen0{\vss% - \hbox{\vrule height .1\dimen0 width #2}% - \hbox{\vrule height .2\dimen0 width 0pt}% - \hbox{\vrule height .4\dimen0 width #2}% - \hbox{\vrule height .2\dimen0 width 0pt}% - \hbox{\vrule height .1\dimen0 width #2}% - \vss}} -%\let\rulesym\shiftedrulesym -%\let\rulesym\tinyrulesym -%\let\rulesym\openrulesym +\def\placebox#1#2#3{% + \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}% -\ifundefined{documentclass} - \def\settext#1{\normaltextfont #1} - \def\setitalic#1{\italicfont #1} - \def\setbold#1{\boldfont #1} - \def\settypewriter#1{\typewriterfont #1} - \def\setlarge#1{\largefont #1} - \def\setLarge#1{\Largefont #1} - \def\sethuge#1{\hugefont #1} +% Are we using PDFTeX? If so, use pdf definitions to translate +% \embeddedps commands to embedded PDF. +\ifx\pdfoutput\undefined + \input lily-ps-defs +\else + \pdfoutput=1 + \input lily-pdf-defs \fi -% the interline symbol. Redefine to remove it. -\def\defaultlineseparator{\vbox{\mussepline\vskip -5pt\mussepline}} -\def\lineseparator{\defaultlineseparator} -\def\beauty{% - \par\vskip 10pt plus 30pt minus 10pt\par - \hskip -5pt\lineseparator - \par\vskip 10pt plus 30pt minus 10pt\par -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\EndLilyPondOutput{% + \vskip 0pt plus \lilypondpaperinterscorelinefill00 fill\csname bye\endcsname +} \def\postheader{} +% need to do some stuff to turn pagenumbering off +% they seriously mess up your fragments. - - -\ifundefined{documentclass}% -% \ifundefined{nolilyfooter} -% Can't nest \ifundefined ?? - \footline={\ifnum\pageno=1\smalltextfont\mudelacopyright\hfil \LilyIdString - \else\hfil\the\pageno\hfil\fi}% - \advance\hoffset by -.6in - % \fi% +\ifx\csname nolilyfooter\endcsname\relax + \message{[footer defined]}% + \csname lilyfooter\texsuffix\endcsname% \else -\let\nopagenumbers\relax - %% FIXME - \def\ps@plain{ - \renewcommand{\@oddhead}{}% - \renewcommand{\@evenfoot}{}% - \renewcommand{\@evenhead}{}% - \renewcommand{\@oddfoot}{% - \ifnum\thepage=1{\hfil \LilyIdString}% - \else{% - foo\hfil\the\pageno\hfil}% - \fi}} - \def\ps@empty{ - \renewcommand{\@oddhead}{}% - \renewcommand{\@evenfoot}{}% - \renewcommand{\@evenhead}{}% - \renewcommand{\@oddfoot}{% - \ifnum\thepage=1{\hfil \LilyIdString}% - \else{foo\hfil\the\pageno\hfil}% - \fi}}% + \message{[footer empty]} + \csname% + nolilyfooter\texsuffix\endcsname \fi -\nopagenumbers -% debugging stuff: -% \vbox to 0pt{\vskip .5cm \hruler{48}{3pt}\vss} +% If we must make titles, do so +\ifx\mustmakelilypondtitle\undefined\else\makelilypondtitle\fi +\ifx\mustmakelilypondpiecetitle\undefined\else\makelilypondpiecetitle\fi + +% fix chord.cc::banter_str before removing these +\input fetdefs + +\endinput