X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tex%2Flilyponddefs.tex;h=78efb4bc8b39421a5abdbffa08b1109a57d6532d;hb=7004386a70ef3b090d2bfbb587383232d6bb5dab;hp=7b5fbabcc88d48208f1cbfcbfdebe017bc971572;hpb=9788f60c9ffae07c05386539b424fe1961d7075c;p=lilypond.git diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 7b5fbabcc8..78efb4bc8b 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -2,11 +2,22 @@ %% include file for LilyPond %% %% this file defines various macros to accomodate lilypond output -%% +%% %% let's not make par before endinput -% + % TeXbook ex 7.7 \def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax} + +% The feta characters +\input feta20.tex + +\font\fetasixteen=feta16 +\def\fetafont{\fetasixteen} +\def\fetachar#1{\hbox{\fetasixteen#1}} + +% If we must make titles, do so, before we're Skipped. +\ifx\mustmakelilypondtitle\undefined\else\makelilypondtitle\fi +\ifx\mustmakelilypondpiecetitle\undefined\else\makelilypondpiecetitle\fi % % skip if included already \def\SkipLilydefs{\endinput} @@ -15,232 +26,50 @@ \def\SkipLilydefs{} \fi \SkipLilydefs -% -\ifundefined{mudelacopyright} - \def\mudelacopyright{\copyright\ \number\year} -\fi -\ifundefined{LilyIdString} - \def\LilyIdString{Lily was here} -\fi + +% 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\cmrtwenty{ - \font\smalltextfont=cmr8 - \font\textmusic=cmmi12 -} - -\def\cmrsixteen{ - \font\smalltextfont=cmr6 - \font\textmusic=cmmi10 - } -\def\cmrthirteen{ - \font\smalltextfont=cmr6 - \font\textmusic=cmmi9 - } -\def\cmreleven{ - \font\smalltextfont=cmr5 - \font\textmusic=cmmi8 - } - -%%%%%%% -% -\def\musixtwentydefs{ - \twentyfonts - \csname cmrtwenty\texsuffix\endcsname - \musixcalc -} - -\def\musixsixteendefs{ - \sixteenfonts - \csname cmrsixteen\texsuffix\endcsname - \musixcalc - } -\def\musixtwentysixdefs{ - \csname cmrtwentysix\texsuffix\endcsname - \twentysixfonts - \musixcalc - } -\def\musixthirteendefs{ - \thirteenfonts - \csname cmrthirteen\texsuffix\endcsname - \musixcalc -} -\def\musixelevendefs{ - \csname cmreleven\texsuffix\endcsname - \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 - % ugh. Can extract ex dim from TFM - \interlinedist=\staffheight - \divide\interlinedist by 4 - \notewidth=\mudelapapernotewidth pt +% Attempt to keep lilypiecetitle together with the piece: +\def\myfilbreak{\par\vfil\penalty200\vfilneg} - \smallspace=.3\interlinedist - \interstaffrule=\staffheight - \divide\interstaffrule by 4 - \staffrulethickness=\mudelapaperrulethickness pt - \stemthickness=\staffrulethickness -} - - - -% stacked horizontal lines -\def\interscoreline{\vskip 16pt} -\def\setdynamic#1{\dynfont #1} -\def\setfinger#1{\fingerfont #1} -\def\setnumber#1{\fetanummer #1} -\def\setmark#1{\markfont #1} - -% 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} %FIXME -} - -\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{20} -\def\repeatbar#1{\repeatstopbar} -\def\startrepeat#1{\repeatstartbar} -\def\repeatbarstartrepeat#1{\repeatstopstart} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 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}}} +% stacked horizontal lines +\ifundefined{lilypondpaperinterscoreline} + \def\lilypondpaperinterscoreline{16} +\fi +\ifundefined{lilypondpaperinterscorelinefill} + \def\lilypondpaperinterscorelinefill{0} +\fi +\def\interscoreline{\vskip\lilypondpaperinterscoreline pt plus % + \lilypondpaperinterscorelinefill fill} +\def\placebox#1#2#3{% + \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}% -% 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 +% Are we using PDFTeX? If so, use pdf definitions. +\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{} -% -% macros suck. \ifundefined{nolilyfooter} gives wierd errors from time -% to time. -% +% need to do some stuff to turn pagenumbering off +% they seriously mess up your fragments. -% -% Warning: the order is conceptually weird. It says: - -% if not defined (``nolilyfooter''): -% do_footer () -% else -% dont_do_footer () -% \ifx\csname nolilyfooter\endcsname\relax \message{[footer defined]}% \csname lilyfooter\texsuffix\endcsname% @@ -249,3 +78,5 @@ \csname% nolilyfooter\texsuffix\endcsname \fi + +\endinput