diff options
author | Norbert Preining <preining@logic.at> | 2010-11-02 04:55:36 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2010-11-02 04:55:36 +0000 |
commit | 4c1bfaabf5686861bc882455fc3e2da2a4caefa6 (patch) | |
tree | b63c8c700677d794510cd6b1406edb99fe3dfb21 /Master/texmf-dist/tex/generic/musixps | |
parent | 9b5759c9d6ab5f4301b85c95aeb23be9eaae3b75 (diff) |
remove musixps as it is included in musixtex, too
fix collection-music for removed musixlyr and musixps
git-svn-id: svn://tug.org/texlive/trunk@20294 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/musixps')
-rw-r--r-- | Master/texmf-dist/tex/generic/musixps/musixps.tex | 961 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/musixps/slurs.tex | 76 |
2 files changed, 0 insertions, 1037 deletions
diff --git a/Master/texmf-dist/tex/generic/musixps/musixps.tex b/Master/texmf-dist/tex/generic/musixps/musixps.tex deleted file mode 100644 index b981d315b76..00000000000 --- a/Master/texmf-dist/tex/generic/musixps/musixps.tex +++ /dev/null @@ -1,961 +0,0 @@ -%% PostScript slurs, ties and crescendos -% Coded by Stanislav Kneifl - -\ifx\undefined\liftcresc\else\endinput\fi - -\immediate\write10{MusiXPS PostScript slurs, ties and crescendos 0.92 (12.5.2002)}% - -\catcode`\@=11 - - -%%%% remove the next line if you include this file into a format (see endnotes!). - -\special{header=psslurs.pro}% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\font\mxsk=mxsk - -% you can change these values if you want... -% Offsets are in \internotes measured vertically from the center and -% horizontally from the left edge of the notehead. -% see the doc at the end for (short) explanation - -\def\psslurraise{1.6} % vertical offset of the slur beginnings/endings -\def\psbslurraise{2} % vert. offset for slurs on beams - -\def\psLslurskip{-0.2} % horiz. offset of slurs shifted more to the left -\def\pslslurskip{0.4} % horiz. offset of slurs shifted to the left -\def\psislurskip{1.4} % horiz. offset of the slur beginnings -\def\pstslurskip{1.2} % horiz. offset of the slur endings -\def\psrslurskip{2.8} % horiz. offset of slurs shifted to the right - -\def\psfslurhgt{0.7} % height coeficient of the 'f'lat slurs -\def\psslurhgt{1} % height coeficient of normal slurs -\def\pshslurhgt{1.6} % height coeficient of 'h'igh slurs -\def\psHslurhgt{2.2} % height coeficient of 'H'igh slurs -\def\psHHslurhgt{2.8} % height coeficient of 'HH'igh slurs -\def\psslurmaxhgt{40} % maximal height of the slur - % (before multiplication by \...slurhgt !!) - -\def\psslurangul{0.17} % angularity of normal, flat and high slurs -\def\psHslurangul{0.15} % angularity of High slurs -\def\psHHslurangul{0.13} % angularity of HHigh slurs - -\def\pstieraise{1.3} % vertical offset of the ties -\def\psitieskip{2.6} % horiz. offset of the tie beginnings -\def\psttieskip{0.3} % horiz. offset of the tie endings -\def\psltieskip{-0.2} % horiz. offset of ties shifted to the left -\def\psrtieskip{3} % horiz. offset of ties shifted to the right - -\def\pstiehgt{0.7} % height coeficient of the ties -\def\pstiemaxhgt{30} % maximal height if the ties -\def\pstieflathgt{20} % maximal height if the ties between staff lines -\def\pstieangul{0.14} % angularity of the ties - -%%%% - -\def\d@nh{-5} % default altitude of the crescendos in \internote -\def\setcrescheight{\def@it\d@nh} - -\def\sl@space{-3pt} % neg. space before continued slurs, ties and crescs. -\def\h@tielim{15pt} % limit for drawing half continued ties - -\def\nohalfties{\def\h@tielim{\z@}} -\def\halfties{\def\h@tielim{15pt}} -\newif\ifslopebrkslurs -\slopebrkslursfalse - -\def\dotted{\def\d@sh{1}} % the '1' is important! -\def\solid{\def\d@sh{0}} -\def\Dotted{\def\D@sh{1}} -\def\Solid{\def\D@sh{0}} -\Solid\solid - -\def\nosluradjust{\gdef\s@adj{0}} -\def\sluradjust{\gdef\s@adj{1}} -\def\Nosluradjust{\gdef\S@adj{0}\gdef\s@adj{0}} -\def\Sluradjust{\gdef\S@adj{1}\gdef\s@adj{1}} -\Sluradjust - -\def\notieadjust{\gdef\t@adj{0}} -\def\tieadjust{\gdef\t@adj{1}} -\def\Notieadjust{\gdef\T@adj{0}\gdef\t@adj{0}} -\def\Tieadjust{\gdef\T@adj{1}\gdef\t@adj{1}} -\Notieadjust - -\newif\ifdangermessages\dangermessagestrue - -\def\@clr#1{\let#1\empty} -\def\def@it#1#2{\def#1{#2}} -\def\slurtext{\def@it\s@tx} -\let\s@tx\empty -\def\lr@lap#1{\rlap{\hss#1}} - -% how many slurs will be stored into the TeX's registers? -% => how many slurs can go across the page break? -% determines also the needed amount of the following registers. -\let\max@slurs\t@n - -\let\slur@alt=\s@xi \let\slur@hgt=\s@Yv \let\slur@lift=\s@yi -\let\slur@alti=\s@xii \let\slur@hgti=\s@Yvi \let\slur@lifti=\s@yii -\let\slur@altii=\s@xiii \newdimen\slur@hgtii \let\slur@liftii=\s@yiii -\let\slur@altiii=\s@xiv \newdimen\slur@hgtiii \let\slur@liftiii=\s@yiv -\let\slur@altiv=\s@xv \newdimen\slur@hgtiv \let\slur@liftiv=\s@yv -\let\slur@altv=\s@Y \newdimen\slur@hgtv \let\slur@liftv=\s@yvi -\let\slur@altvi=\s@Yi \newdimen\slur@hgtvi \let\slur@liftvi=\s@Ni -\let\slur@altvii=\s@Yii \newdimen\slur@hgtvii \let\slur@liftvii=\s@Nii -\let\slur@altviii=\s@Yiii \newdimen\slur@hgtviii \let\slur@liftviii=\s@Niii -\let\slur@altix=\s@Yiv \newdimen\slur@hgtix \let\slur@liftix=\s@Niv - -% in the 'lift' register is coded the altitude of the ending point of the slur -% at the end of a line (y1) and the relative alt. of the starting point at the -% beginning of a line (y2): y1=(reg div 65536)-16384, y2=(reg mod 65536)-16384 - -\newdimen\tie@alt \newdimen\tie@hgt -\newdimen\tie@alti \newdimen\tie@hgti -\newdimen\tie@altii \newdimen\tie@hgtii -\newdimen\tie@altiii \newdimen\tie@hgtiii -\newdimen\tie@altiv \newdimen\tie@hgtiv -\newdimen\tie@altv \newdimen\tie@hgtv -\newdimen\tie@altvi \newdimen\tie@hgtvi -\newdimen\tie@altvii \newdimen\tie@hgtvii -\newdimen\tie@altviii \newdimen\tie@hgtviii -\newdimen\tie@altix \newdimen\tie@hgtix - -\newdimen\cresc@alt -\newdimen\cresc@alti -\newdimen\cresc@altii -\newdimen\cresc@altiii -\newdimen\cresc@altiv -\newdimen\cresc@altv -\newdimen\cresc@altvi -\newdimen\cresc@altvii -\newdimen\cresc@altviii -\newdimen\cresc@altix - -\newcount\pss@rega \pss@rega=\z@ % PS slurs -\newcount\pss@regb \pss@regb=\z@ -\newcount\pst@rega \pss@rega=\z@ % PS ties -\newcount\pst@regb \pss@regb=\z@ -\newcount\psc@rega \pss@rega=\z@ % PS [de]crescendos -\newcount\psc@regb \pss@regb=\z@ - -\newif\if@up -\newif\if@dash - -% information in these registers is binary coded: -% a: lower bit is set ( 2^2i ): there is a pending slur number i -% upper bit is set ( 2^(2i+1) ): slur number i already went across line break -% b: lower bit is set: slur/tie is dotted -% upper bit is set: slur/tie is lower / decrescendo - -% everything else is stored in PostScript variables. If you run out -% of the PostScript dictionary used for slurs, you can increase its size -% by changing the number 200 in the first line of psslurs.pro to anything -% reasonable. (The number says how many tokens can be defined.) - -%%%%%%% - -% input is i for 2^i and register to extract the bits from -% in reg. n@i will be only the bits 2^2i and 2^(2i+1) -% in n@vi will be these bits shifted to 2^0 and 2^1, -% n@ii will be set to 2^2i -\def\get@bits#1#2{\n@i=#1\relax\n@ii\@ne - \loop\ifnum\n@i>\z@\multiply\n@ii\f@ur\advance\n@i\m@ne\repeat - \n@i=\n@ii\multiply\n@i\f@ur\n@iii #2\relax - \divide\n@iii\n@i\multiply\n@iii\n@i\n@i=#2\relax - \advance\n@i-\n@iii\divide\n@i\n@ii\n@vi\n@i\multiply\n@i\n@ii\relax} - -\def\s@l@slur#1{\xdef\th@salt{\csname slur@alt\romannumeral#1\endcsname}% - \xdef\th@shgt{\csname slur@hgt\romannumeral#1\endcsname}% - \xdef\th@slift{\csname slur@lift\romannumeral#1\endcsname}} - -\def\s@l@tie#1{\xdef\th@salt{\csname tie@alt\romannumeral#1\endcsname}% - \xdef\th@shgt{\csname tie@hgt\romannumeral#1\endcsname}} - -\def\s@l@cresc#1{\xdef\th@salt{\csname cresc@alt\romannumeral#1\endcsname}} - -\def\gt@pssb#1#2{\s@l@ctbeam#1\relax\getcurpos\advance\y@v#2\relax % \y@v = hpos - \advance\y@v-\b@x - \y@ii\b@p\y@v \divide\y@ii\tw@nty \advance\y@ii\b@z - \advance\y@ii-\altportee\n@ii=\internote \divide\n@ii6553 - \n@i=\y@ii\divide\n@i\n@ii\divide\n@i6554\relax} - -\def\t@bslur#1#2#3#4{\n@vii\n@i\ifnum#3<\fiv@t@@n\get@bits{#3}\pss@regb\n@i\n@vii - \ifnum\n@vi>\@ne\gt@pssb{#4}\z@\T@slur{#3}{\psbslurraise}{0}{#1}{#2}% - \else\gt@pssb{#4}{\tw@\qn@width}\T@slur{#3}{\psbslurraise}{2.4}{#1}{#2}\fi - \else\gt@pssb{#4}\z@\T@slur{#3}{1.7}{0}{#1}{#2}\fi} - - -%%%%%% slurs %%%%%%%%%%%%%%%%%%% - -% ID, pitch, voffset, hoffset -% all offsets are in \internote, the slur direction is determined -% by the sign of the vertical offset. - -\def\iSlur#1#2{\inhgetn@i#2\relax\I@slur{#1}} - -% ID, voffset, hoffset; \n@i = pitch -\def\I@slur#1#2#3{\y@i=\n@i\internote - \ifdim#2\internote<\z@\@upfalse\else\@uptrue\fi - \advance\y@i#2\internote\raise\y@i\rlap{\hskip #3\internote - \special{ps: slur@Dict begin CP /S#1y1 ED /S#1x1 ED - /S#1hgt (\the\y@i) GD N /S#1brk S#1hgt (\the\internote) GD - \ifslopebrkslurs 3 \else 1 \fi\if@up 1 \else -1 \fi M M A N /S#1lift 0 N - /S#1alt (\the\altportee) GDAR N /S#1dir \if@up1\else-1\fi\space N - /S#1dash \d@sh\space N /S#1adj \s@adj\space N end}}% - \ifnum#1>\fourt@@n - \ifnum#1=99\relax\else - \ifdangermessages\message{Danger! Slur with ID >14.}\fi\fi - \else\n@iv\n@i\get@bits{#1}\pss@rega - \ifcase\n@i\else\message{Slur #1 was re-opened.}% - \advance\pss@rega-\n@i\fi % clear the bits - \global\advance\pss@rega\n@ii % and set the lower bit - \get@bits{#1}\pss@regb\global\advance\pss@regb-\n@i % clear the bits - \ifnum\d@sh=1\relax\global\advance\pss@regb\n@ii\fi - \if@up\else\multiply\n@ii\tw@\global\advance\pss@regb\n@ii\fi - \ifnum#1<\max@slurs\s@l@slur{#1}% - \global\th@salt\altportee\global\th@shgt\y@i\th@slift\n@iv - \if@up\advance\th@slift\fiv@\else\advance\th@slift-\fiv@\fi - \advance\th@slift 16384\relax\multiply\th@slift65536\relax - \global\advance\th@slift16384\relax - \fi\fi\gdef\d@sh{\D@sh}\gdef\s@adj{\S@adj}} - -% ID, height, voffset, hoffset, curvature, angularity -\def\tSlur#1#2{\inhgetn@i#2\relax\T@slur{#1}} - -\def\T@slur#1#2#3#4#5{\n@vii\n@i\n@ii\@ne - \ifnum#1<\fiv@t@@n - \get@bits{#1}\pss@rega - \global\advance\pss@rega-\n@i - \ifcase\n@i\message{Not opened slur #1 was closed.}\n@ii\z@ - \else - \ifnum\n@vi>\@ne % the slur was breaked - \get@bits{#1}\pss@regb % it's not necessary to clear this register - \ifnum\n@vi>\@ne\@upfalse\else\@uptrue\fi - \ifodd\n@vi\@dashtrue\else\@dashfalse\fi - \y@ii=\lin@pos\advance\y@ii\locx@skip\advance\y@ii#3\internote - \advance\y@ii\sl@space - \y@i=\n@vii\internote\advance\y@i\if@up\else-\fi#2\internote - \ifnum#1<\max@slurs - \s@l@slur{#1}\n@ii\th@slift\divide\n@ii65536\relax - \multiply\n@ii65536\relax\n@iii\th@slift\advance\n@iii-\n@ii - \advance\n@iii-16384\y@iii=\n@iii\internote\advance\y@iii\th@shgt - \raise\y@i\rlap{\hskip #3\internote\special{ps: slur@Dict begin - CP S (\the\y@ii) GDAR SB /S#1x1 ED - (\the\y@i) GD (\the\y@iii) GD SB 4 AR M A /S#1y1 ED - (\the\internote) GD (\the\th@shgt) GD (\the\y@i) GD - S#1x1 S#1y1 CP #4 \if@up\else neg \fi #5 30 - \if@dash1\else0\fi\space \s@adj\space 90 DS end}}% - \else - \raise\y@i\rlap{\hskip #3\internote\special{ps: slur@Dict begin - CP S (\the\y@ii) GDAR SB /S#1x1 ED - S#1hgt S#1lift (\the\internote) GD M A 4 AR M - (\the\y@i) GDAR SB SB /S#1y1 ED - (\the\internote) GD S#1hgt (\the\y@i) GD - S#1x1 S#1y1 CP #4 \if@up\else neg \fi #5 30 - S#1dash \s@adj\space 90 DS end}}% - \fi\n@ii\z@ - \fi - \fi - \fi - \ifcase\n@ii\else\y@ii=#2\internote\setbox\z@=\hbox{\s@tx}% - \y@i=\n@vii\internote\raise\y@i\rlap{\hskip #3\internote - \special{ps: slur@Dict begin (\the\internote) GD S#1hgt (\the\y@i) GD - #2 (\the\internote) GD M S#1dir M A - S#1x1 S#1y1 CP (\the\y@ii) GDAR S#1dir M SB - #4 S#1dir M #5 \psslurmaxhgt\space S#1dash S#1adj 90 DS - /ay1 ay1 (\the\ht\z@) GDAR -10 AR add dir mul add def}% - \lr@lap{\box\z@}\special{ps: end}}% - \fi\@clr\s@tx} - -\def\liftslur#1#2{\special{ps: slur@Dict begin /S#1lift #2 N end}% - \ifnum#1<\t@n\s@l@slur{#1}\divide\th@slift65536\relax - \multiply\th@slift65536 \advance\th@slift16384\relax - \advance\th@slift#2\relax\fi} - -\def\breakslur#1#2{\inhgetn@i#2\relax\y@i=\n@i\internote\special - {ps: slur@Dict begin /S#1brk (\the\y@i) GD N end}% - \ifnum#1<\t@n\s@l@slur{#1}\n@ii\th@slift\divide\n@ii65536\relax - \multiply\n@ii65536 \advance\th@slift-\n@ii\advance\n@i16384\relax - \multiply\n@i65536 \global\advance\th@slift\n@i\fi} - -%%%%% [de]crescendos %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% ID, height, hoffset - -\def\Icresc{\i@cresc0} -\def\Idecresc{\i@cresc2} - -\def\i@cresc#1#2#3#4{\y@i=#3\internote\raise\y@i\rlap - {\hskip#4\internote\advance\y@i\altportee\special{ps: slur@Dict begin - CP /C#2y1 ED /C#2x1 ED /C#2alt (\the\y@i) GD N - /C#2dir #1 N end}}% - \ifnum#2>\fourt@@n - \ifdangermessages\message{Danger! [De]crescendo with ID >14.}\fi - \else\get@bits{#2}\psc@rega - \ifcase\n@i\else\message{[De]crescendo #2 was re-opened.}% - \advance\psc@rega-\n@i\fi - \global\advance\psc@rega\n@ii - \get@bits{#2}\psc@regb\advance\psc@regb-\n@i - \multiply\n@ii#1\relax - \global\advance\psc@regb\n@ii\relax - \ifnum#2<\max@slurs\s@l@cresc{#2}% - \advance\y@i\altportee\global\th@salt\y@i\fi\fi} - -\def\Tcresc#1#2#3{\n@ii\@ne\n@i=#1\relax - \ifnum\n@i<\fiv@t@@n - \get@bits{#1}\psc@rega\global\advance\psc@rega-\n@i - \ifcase\n@i\message{Not opened crescendo #1 was closed.}\n@ii\z@ - \else - \ifnum\n@vi>\@ne % the crescendo was breaked - \get@bits{#1}\psc@regb % it's not necessary to clear this register - \y@ii=\lin@pos\advance\y@ii\locx@skip\advance\y@ii#3\internote - \advance\y@ii\sl@space - \zchar{#2}{\hskip #3\internote\special{ps: slur@Dict begin - CP S (\the\y@ii) GDAR SB S CP 4 \the\n@vi\space R - \the\n@vi\space 0 eq { DHC } { DC } ifelse end}}% - \global\n@ii\z@\fi - \fi\fi - \ifcase\n@ii\else\zchar{#2}{\hskip#3\internote\special{ps: slur@Dict begin - C#1x1 C#1y1 CP 4 C#1dir R DC end}}\fi} - -\def\liftcresc#1#2{\y@i=#2\internote\ifnum#1<\max@slurs\s@l@cresc{#1}% - \global\advance\th@salt\y@i\else\special{ps: slur@Dict begin - /C#1alt (\the\y@i) GDAR C#1alt A N end}\fi} - - -%%%% ties %%%%%%%%%%%%%%%%%%%%%% - -\def\iTieu{\i@tie{1}} -\def\iTied{\i@tie{-1}} - -% 1/-1, ID, height, hoffset -\def\i@tie#1#2#3#4{\inhgetn@i#3\relax\y@i=\pstieraise\internote - \multiply\y@i#1\relax\advance\y@i\n@i\internote\raise\y@i\rlap - {\hskip #4\internote\special{ps: slur@Dict begin - /S#1alt (\the\altportee) GDAR N - CP /T#2y1 ED /T#2x1 ED /T#2hgt (\the\y@i) GD N - /T#2dir #1 N /T#2dash \d@sh\space N - /T#2adj \t@adj\space N end}}% - \ifnum #2>\fourt@@n - \ifnum#2=99\relax\else - \ifdangermessages\message{Danger! Tie with ID >14.}\fi\fi - \else\get@bits{#2}\pst@rega - \ifcase\n@i\else\message{Tie #2 was re-opened.}% - \global\advance\pst@rega-\n@i\fi - \global\advance\pst@rega\n@ii - \get@bits{#2}\pst@regb\global\advance\pst@regb-\n@i % clear the bits - \ifnum\d@sh=1\relax\global\advance\pst@regb\n@ii\fi - \ifnum#1=1\relax\else\multiply\n@ii\tw@\global\advance\pst@regb\n@ii\fi - \ifnum#2<\max@slurs\s@l@tie{#2}% - \global\th@salt\altportee\global\th@shgt\y@i\fi - \fi\gdef\d@sh{\D@sh}\gdef\t@adj{\T@adj}} - -% ID, hoffset -\def\tTie#1#2{\n@ii\@ne - \ifnum#1<\fiv@t@@n - \get@bits{#1}\pst@rega - \global\advance\pst@rega-\n@i - \ifcase\n@i\message{Not opened tie #1 was closed.}\n@ii\z@ - \else - \ifnum\n@vi>\@ne % the tie was breaked - \get@bits{#1}\pst@regb % it's not necessary to clear this register - \ifnum\n@vi>\@ne\@upfalse\else\@uptrue\fi - \ifodd\n@vi\@dashtrue\else\@dashfalse\fi - \y@ii=\lin@pos\advance\y@ii\locx@skip\advance\y@ii#2\internote - \advance\y@ii\sl@space - \ifnum#1<\max@slurs\s@l@tie{#1}% - \ifdim\y@ii<\h@tielim - \raise\th@shgt\rlap{\hskip-0.3\internote - \ifdim\internote>.9\Internote\n@i=\z@\else - \ifdim\internote<.7\Internote \n@i=\@cxxviii - \else\n@i=64\fi\fi\if@up\else\advance\n@i\@ne\fi - \mxsk\char\n@i}% - \else - \rlap{\hskip #2\internote\special{ps: slur@Dict begin - (\the\internote) GD (\the\th@shgt) GD DP - CP S (\the\y@ii) GDAR SB S (\the\th@shgt) - GDAR SB DP CP P S \if@up \pstiehgt\space - \else -\pstiehgt\space \fi \pstieangul\space \pstiemaxhgt\space - \if@dash 1 \else 0 \fi \t@adj\space 40 DS end}}% - \fi - \else - \rlap{\hskip #2\internote\special{ps: slur@Dict begin - (\the\internote) GD T#1hgt GD DP - CP S (\the\y@ii) GDAR SB S T#1hgt GDAR SB DP CP P S - \if@up -\pstiehgt\space \else \pstiehgt\space \fi - \pstieangul\space \pstiemaxhgt\space \if@dash 1 \else 0 \fi - \t@adj\space 40 DS end}}% - \fi - \global\n@ii=\z@ - \fi - \fi - \fi - \ifcase\n@ii\else - \rlap{\hskip#2\internote - \special{ps: slur@Dict begin (\the\internote) GD T#1hgt DP - T#1x1 T#1y1 CP P T#1y1 - \pstiehgt\space T#1dir M \pstieangul\space \pstiemaxhgt\space T#1dash T#1adj 40 DS end}}% - \fi} - - -%%%%%%% simple slurs %%%%%%%%%%%%%%%%% - -% #1 start pitch #2 final pitch #3 sense(u,d) #4 length[noteskip] - -% \s@Y = vert. offset, \y@ii = horiz. offset at the end, \y@iii add to length -% \y@v = length - -\def\C@sl#1#2#3#4{\inhgetn@i#1\relax \n@ii\n@i\inhgetn@i#2\relax - \if d#3 \s@vy-\s@vy \ifx\@ne\nxt \y@ii\z@\fi \fi - \y@v#4\noteskip\advance\y@v\y@iii\advance\y@ii-\y@iii - \rlap{\hskip\y@ii\y@i=\n@ii\internote\advance\y@i\s@vy - \y@ii=\n@i\internote\advance\y@ii\s@vy\setbox\z@=\hbox{\s@tx}% - \ifx\s@tx\empty\def\tx@sp{1}\else\ifdim\y@v<\tw@nty\internote\def\tx@sp{1.5}% - \else\ifdim\y@v<\@l\internote\def\tx@sp{1.2}\else\def\tx@sp{1}\fi\fi\fi - \special{ps: slur@Dict begin (\the\internote) GD - (\the\y@i) GD (\the\y@ii) GD CP (\the\y@i) GDAR swub - CP exch (\the\y@v) GDAR add exch (\the\y@ii) GDAR sub - \if d#3 -1 \else 1 \fi \tx@sp\space mul \psslurangul\space - \psslurmaxhgt\space \d@sh\space \s@adj\space 90 DS - /ax1 ax1 (\the\y@v) GDAR add def /ay1 ay1 (\the\y@ii) GDAR sub - (\the\ht\z@) GDAR dir mul add def}\lr@lap{\unhbox\z@}\special{ps: end}}% - \@clr\s@tx\gdef\d@sh{\D@sh}\gdef\s@adj{\S@adj}} - - -%%%%%%% breaking the line %%%%%%%%%%%%%%%%% - -\def\br@slur{\divide\n@v\tw@ - \ifodd\n@v % the slur was breaked again - \y@i=\lin@pos\advance\y@i\x@skip\advance\y@i-\tw@\p@ - \advance\y@i\sl@space - \ifnum\n@iv<\max@slurs\s@l@slur\n@iv\n@i\th@slift\divide\n@i65536% - \n@ii\n@i\advance\n@ii-16384\y@iii=\n@ii\internote - \multiply\n@i65536 \n@ii\th@slift\advance\n@ii-\n@i - \advance\n@ii-16384\y@ii=\n@ii\internote\advance\y@ii\th@shgt - \ifnum\n@vi>\@ne\@upfalse\else\@uptrue\fi - \raise\th@salt\rlap{\hskip -2pt\special - {ps: slur@Dict begin /in (\the\internote) GD N - in (\the\y@ii) GD (\the\y@iii) GD CP S (\the\y@i) GD - 4 AR M SB S (\the\y@ii) GDAR SB - CP (\the\y@iii) GDAR SB \if@up1\else-1\fi\space - 0.13 30 \ifodd\n@vi 1 \else 0 \fi \s@adj\space 90 DS end}}% - \else - \rlap{\hskip -2pt\special{ps: slur@Dict begin - /in (\the\internote) GD N in S\the\n@iv hgt - S\the\n@iv lift in M A S\the\n@iv brk - CP S (\the\y@i) GDAR SB in 10 AR M A S - S\the\n@iv hgt S\the\n@iv lift in M A 4 AR M SB - S\the\n@iv alt 4 AR M SB CP S\the\n@iv brk - S\the\n@iv alt A 4 AR M SB S\the\n@iv dir - 0.13 30 S\the\n@iv dash S\the\n@iv adj 90 DS end}}% - \fi - \else % the slur was breaked the first time - \rlap{\hskip-2pt\special{ps: slur@Dict begin (\the\internote) GD - S\the\n@iv hgt S\the\n@iv brk S\the\n@iv x1 S\the\n@iv y1 CP P - S\the\n@iv y1 S\the\n@iv hgt S\the\n@iv brk SB 4 AR M A - S\the\n@iv dir 0.17 \psslurmaxhgt\space S\the\n@iv dash S\the\n@iv adj 90 DS end}}% - \get@bits\n@iv\pss@rega - \multiply\n@ii\tw@\global\advance\pss@rega\n@ii\fi} - - -\def\br@cresc{\divide\n@v\tw@ - \ifodd\n@v % the crescendo was breaked again - \y@i=\lin@pos\advance\y@i\x@skip\advance\y@i-\tw@\p@ - \advance\y@i\sl@space - \ifnum\n@iv<\max@slurs\s@l@cresc\n@iv - \rlap{\hskip-2pt\divide\n@vi\tw@\special{ps: slur@Dict begin CP S - (\the\y@i) GDAR SB S (\the\th@salt) GDAR SB DP CP P S - 4 \ifodd\n@vi 2 \else 0 \fi R DHC end}}% - \else - \rlap{\hskip-2pt\divide\n@vi\tw@\special{ps: slur@Dict begin CP S - (\the\y@i) GDAR SB (\the\internote) GD 10 AR M A S - C\the\n@iv alt GDAR SB DP CP P S - 4 C\the\n@iv dir R DHC end}}\fi - \else % the crescendo was breaked the first time - \rlap{\hskip-2pt\special{ps: slur@Dict begin - C\the\n@iv x1 C\the\n@iv y1 DP CP P S - 4 C\the\n@iv dir R C\the\n@iv dir 0 eq - { DC } { DHC } ifelse end}}% - \get@bits\n@iv\psc@rega - \multiply\n@ii\tw@\global\advance\psc@rega\n@ii\fi} - - -\def\br@tie{\divide\n@v\tw@ - \ifodd\n@v % the tie was breaked again - \y@i=\lin@pos\advance\y@i\x@skip\advance\y@i-\tw@\p@ - \advance\y@i\sl@space - \ifnum\n@iv<\max@slurs\s@l@tie\n@iv - \ifnum\n@vi>\@ne\@upfalse\else\@uptrue\fi - \y@ii\th@salt\advance\y@ii\th@shgt - \raise\y@ii\rlap{\hskip-2pt\special{ps: slur@Dict begin - (\the\internote) GD (\the\th@shgt) GD DP CP S (\the\y@i) GDAR SB S - CP \if@up \pstiehgt\space \else -\pstiehgt\space \fi \pstieangul\space - \pstiemaxhgt\space \ifodd\n@vi 1 \else 0 \fi \t@adj\space 40 DS end}}% - \else - \rlap{\hskip-2pt\special{ps: slur@Dict begin - (\the\internote) GD T\the\n@iv hgt DP CP S (\the\y@i) - GDAR SB (\the\internote) GD 10 AR M A S - T\the\n@iv alt T\the\n@iv hgt A 4 AR M SB DP - CP P S \pstiehgt\space T\the\n@iv dir M - \pstieangul\space \pstiemaxhgt\space T\the\n@iv dash T\the\n@iv adj 40 DS end}}\fi - \else % the tie was breaked the first time - \rlap{\hskip-2pt\special{ps: slur@Dict begin - (\the\internote) GD T\the\n@iv hgt DP - T\the\n@iv x1 T\the\n@iv y1 DP CP P S - \pstiehgt\space T\the\n@iv dir M \pstieangul\space \pstiemaxhgt\space - T\the\n@iv dash 40 T\the\n@iv adj DS end}}% - \get@bits\n@iv\pst@rega - \multiply\n@ii\tw@\global\advance\pst@rega\n@ii\fi} - -\let\mxps@oldsuspend=\z@suspend - -\def\z@suspend{% -% cut PostScript slurs - {\n@iv\z@\n@v\pss@rega\n@vi\pss@regb - \loop\ifnum\n@v>\z@ - \ifodd\n@v{\br@slur}\fi\divide\n@v\f@ur - \advance\n@iv\@ne\divide\n@vi\f@ur - \repeat}% -% cut PostScript [de]crescendos - {\n@iv=\z@\n@v=\psc@rega\n@vi\psc@regb - \loop\ifnum\n@v>\z@ - \ifodd\n@v{\br@cresc}\fi\divide\n@v\f@ur - \advance\n@iv\@ne\divide\n@vi\f@ur - \repeat}% -% cut PostScript ties - {\n@iv=\z@\n@v=\pst@rega\n@vi\pst@regb - \loop\ifnum\n@v>\z@ - \ifodd\n@v{\br@tie}\fi\divide\n@v\f@ur - \advance\n@iv\@ne\divide\n@vi\f@ur - \repeat}% - \special{ps: slur@Dict begin /pss@rega \the\pss@rega\space N - /psc@rega \the\psc@rega\space N /pst@rega \the\pst@rega\space N end }% -% do all other mxtex stuff - \mxps@oldsuspend} - -% checking for lost slurs - -\def\checkslurs{ - \ifcase\pss@rega\else\message{Warning! Opened slur(s) at checkpoint!}\fi - \ifcase\psc@rega\else\message{Warning! Opened crescendo(s) at checkpoint!}\fi - \ifcase\pst@rega\else\message{Warning! Opened tie(s) at checkpoint!}\fi} - - -%%%%%% common abbreviations %%%%%%%%%%%%%%%%%%%% - -\def\isluru#1#2{\iSlur{#1}{#2}{\psslurraise}{\psislurskip}} -\def\islurd#1#2{\iSlur{#1}{#2}{-\psslurraise}{\psislurskip}} -\def\irsluru#1#2{\iSlur{#1}{#2}{\psslurraise}{\psrslurskip}} -\def\irslurd#1#2{\iSlur{#1}{#2}{-\psslurraise}{\psrslurskip}} -\def\ilsluru#1#2{\iSlur{#1}{#2}{\psslurraise}{\pslslurskip}} -\def\ilslurd#1#2{\iSlur{#1}{#2}{-\psslurraise}{\pslslurskip}} -\def\iLsluru#1#2{\iSlur{#1}{#2}{\psslurraise}{\psLslurskip}} -\def\iLslurd#1#2{\iSlur{#1}{#2}{-\psslurraise}{\psLslurskip}} - -\def\tfslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pstslurskip}{\psfslurhgt}{\psslurangul}} -\def\tslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pstslurskip}{\psslurhgt}{\psslurangul}} -\def\thslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pstslurskip}{\pshslurhgt}{\psslurangul}} -\def\tHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pstslurskip}{\psHslurhgt}{\psHslurangul}} -\def\tHHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pstslurskip}{\psHHslurhgt}{\psHHslurangul}} - -\def\trfslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psrslurskip}{\psfslurhgt}{\psslurangul}} -\def\trslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psrslurskip}{\psslurhgt}{\psslurangul}} -\def\trhslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psrslurskip}{\pshslurhgt}{\psslurangul}} -\def\trHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psrslurskip}{\psHslurhgt}{\psHslurangul}} -\def\trHHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psrslurskip}{\psHHslurhgt}{\psHHslurangul}} - -\def\tlfslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pslslurskip}{\psfslurhgt}{\psslurangul}} -\def\tlslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pslslurskip}{\psslurhgt}{\psslurangul}} -\def\tlhslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pslslurskip}{\pshslurhgt}{\psslurangul}} -\def\tlHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pslslurskip}{\psHslurhgt}{\psHslurangul}} -\def\tlHHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\pslslurskip}{\psHHslurhgt}{\psHHslurangul}} - -\def\tLfslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psLslurskip}{\psfslurhgt}{\psslurangul}} -\def\tLslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psLslurskip}{\psslurhgt}{\psslurangul}} -\def\tLhslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psLslurskip}{\pshslurhgt}{\psslurangul}} -\def\tLHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psLslurskip}{\psHslurhgt}{\psHslurangul}} -\def\tLHHslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psLslurskip}{\psHHslurhgt}{\psHHslurangul}} - -% slur ID, beam ID -\def\iBsluru#1#2{\gt@pssb{#2}{\tw@\qn@width}\I@slur{#1}{\psbslurraise}{2.4}} -\def\iBslurd#1#2{\gt@pssb{#2}\z@\I@slur{#1}{-\psbslurraise}0} -\def\tBfslur{\t@bslur\psfslurhgt\psslurangul} -\def\tBslur{\t@bslur\psslurhgt\psslurangul} -\def\tBhslur{\t@bslur\pshslurhgt\psslurangul} -\def\tBHslur{\t@bslur\psHslurhgt\psHslurangul} -\def\tBhHslur{\t@bslur\psHHslurhgt\psHHslurangul} - - -\def\itieu#1#2{\iTieu{#1}{#2}{\psitieskip}} -\def\itied#1#2{\iTied{#1}{#2}{\psitieskip}} -\def\iltieu#1#2{\iTieu{#1}{#2}{\pslslurskip}} -\def\iltied#1#2{\iTied{#1}{#2}{\pslslurskip}} -\def\irtieu#1#2{\iTieu{#1}{#2}{\psrslurskip}} -\def\irtied#1#2{\iTied{#1}{#2}{\psrslurskip}} -\def\ttie#1{\tTie{#1}{\psttieskip}} -\def\tltie#1{\tTie{#1}{\psltieskip}} -\def\trtie#1{\tTie{#1}{\psrtieskip}} - -\def\icresc#1{\Icresc{#1}{\d@nh}{0}} -\def\idecresc#1{\Idecresc{#1}{\d@nh}{0}} -\def\tcresc#1{\Tcresc{#1}{\d@nh}{2}} -\let\tdecresc\tcresc - -\def\ilcresc#1{\Icresc{#1}{\d@nh}{-4}} -\def\ildecresc#1{\Idecresc{#1}{\d@nh}{-4}} -\def\tlcresc#1{\Tcresc{#1}{\d@nh}{-2}} -\let\tldecresc\tlcresc - -\def\ircresc#1{\Icresc{#1}{\d@nh}{4}} -\def\irdecresc#1{\Idecresc{#1}{\d@nh}{4}} -\def\trcresc#1{\Tcresc{#1}{\d@nh}{-6}} -\let\trdecresc\trcresc - -% for compatibility with old MusiXTeX slurs ... -\let\Tslur\tslur -\let\Ttie\ttie -\let\issluru\irsluru -\let\isslurd\irslurd -\let\tsslur\tLslur -\def\ibsluru#1#2{\iSlur{#1}{#2}8{\psrslurskip}} -\def\ibslurd#1#2{\iSlur{#1}{#2}{-8}{\psrslurskip}} -\def\tubslur#1#2{\tSlur{#1}{#2}8{\psrslurskip}{\psslurhgt}{\psslurangul}} -\def\tdbslur#1#2{\tSlur{#1}{#2}8{\pslslurskip}{\psslurhgt}{\psslurangul}} -\let\tbsluru=\tubslur -\let\tbslurd=\tdbslur -\let\istieu\irtieu -\let\istied\irtied -\let\itenu\irtieu -\let\itenl\irtied -\let\tstie\tltie -\let\tten\tltie -\let\Itenu\istieu -\let\Itenl\istied -\let\Liftslur\liftslur -% p1 p2 sense len -\def\slur#1#2#3#4{\csname islur#3\endcsname{99}{#1}% - \rlap{\hskip#4\noteskip\tslur{99}{#2}}} -\def\tie#1#2#3{\csname itie#2\endcsname{99}{#1}% - \rlap{\hskip#3\noteskip\ttie{99}}} - -\catcode`\@=\catcodeat - -\endinput - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -USAGE: -~~~~~~ -Basic usage is: - -\isluru0g - starts upper slur with ID 0 above the note 'g' -\tslur0i - terminates slur with ID 0. It will end above or below - the note 'i' with respect to the slur direction - -You can shift the starting or ending point slightly to the left -or right using \ilsluru, \ilslurd, \irsluru, \irslurd, \trslur and \tlslur. - -And finally you can make the slur a bit more flat than default -( \tfslur0f ), higher ( \thslur0f ), more higher ( \tHslur0f ) or -even more higher ( \tHHslur0f ). All combinations with shifting are -allowed (see the abbreviations above). These commands act like -\midslur for standard slurs. - -If this is not sufficient, you can use the \iSlur and \tSlur and adjust the -parameter as you want (see comments above their definitions) or even change -the default parameters. - -NOTE 1: The identification parameter should be a number greater - or equal to 0 and lower than 10. You can use even higher - numbers, but slurs, ties and crescendos with ID >10 - can not go over page break but can go across line break. - Slurs, ties and crescendos with ID >14 can't be breaked at all - (these slurs also can not be exactly positioned at a beam, so - don't use for example \tbslur{16}0; \ibslur{16}0 is safe). - If you know that a line break can not occur inside the slur - (probably inside a bar) you can happily use numbers - up to 2^31-1, which is also the maximal number of - simultaneously opened slurs :-). Such slurs will be also - a bit faster... - -NOTE 2: You can start a slur, tie and crescendo with the same ID, - the ID's are independent. This is not true for crescendos - and decrescendos. That means you can say \isluru0f\icresc0, - but not \icresc0\idecresc0, in which case you'll get a warning - message and the first crescendo will be forgotten. - -There are also macros for slurs begining or ending at a beam: - -\iBsluru{slur ID}{beam ID} -\iBslurd{slur ID}{beam ID} -\tBslur{slur ID}{beam ID} - -They are NOT THE SAME as for the original slurs, but a bit smarter... - -for example: - -\Notes\ibu0i0\iBsluru00\qb0{eh}\tbu0\qb0i\ibu0j0\qb0{jl}\tbu0% - \setslurtext{6}\tBslur00\qb0e\en - -The \slurtext works for PostScript slurs exactly the same way as -for the bitmapped ones. When you say '\slurtext3', a number '3' will -be typeset in the middle of the next closed slur. -The position of the reference point of the box with text will be -exactly in the middle horizontally and adjusted according to the -height of the box in case of upper slur. - -This works only for non-breaked slurs, if the slur is breaked, -the text disappears. - -The placing of the slur text is done with a very dirty PostScript -hack, so I am not really sure that everything you want to typeset -will be placed at the correct position (if you are interested, see -the end of psslurs.pro for details). If you find something that won't -work, let me know. - -There is also an unpleasant side-effect: when you look at the -DVI-file with some standard (non-PostScript) driver, the figure will -be placed at the end of the slur instead of the middle. From obvious -reasons this can't be fixed --- TeX can't know where the middle is, -as the slur shape is defined by a PostScript program. - - -General coding is very simple: - -\i[h.shift]slur[u|d]{slur ID}{note height} -\t[h.shift][slur height]slur{slur ID}{note height} - -\iBslur[u|d]{slur ID}{beam ID} -\tB[slur height]slur{slur ID}{beam ID} - -where h. shift can be 'l', 'r' or nothing -and slur height can be 'f', nothing, 'h', 'H' or 'HH' - -Mnemonics: \tlfslur means 'terminate left flat slur'. - - -There are also simple slurs with same invocation and parameters as the -original ones. - - -Similarly the ties: -~~~~~~~~~~~~~~~~~~~ -\itieu0e -\ttie0 - -\i[h.shift]tie[u|d]{ID}{note height} -\t[h.shift]tie{ID} - - -And crescendos: -~~~~~~~~~~~~~~~ -\icresc0 -\tcresc0 draws a crescendo at a default position (defined with - \setcrescheight) - -NOTE 1: \tcresc is the same as \tdecresc. - -NOTE 2: The coding of crescendos is incompatible with original crescendos. - The difference (as you notices) is in defining the type - (crescendo/decrescendo) at the beginning instead of the end. - This can't be fixed, because the TeX must know this at the end - of the line when the crescendo is breaked. - - -You can shift the starting and ending point horizontally with - -\ilcresc \ildecresc -\ircresc \irdecresc -\tlcresc \tldecresc -\trcresc \trdecresc - -to get some space for \mf, \ff etc. - - -Furthermore, you can say: - -\Icresc0{-6}0 -\Tcresc0{-8}2 - -and you will get crescendo with ending point lower than the begining -one. (The '0' and '2' at the end is horizontal offset in \internote -from the current point.) Due to some implemenational reasons, you must -use numbered height when specifying the altitude of the crescendos. - - - -Dotted slurs and ties -~~~~~~~~~~~~~~~~~~~~~ -The slurs and ties can be dotted, when you say \dotted anywhere before -the begining of the slur or tie. The first slur or tie following this -command will then be drawed with dotted line. - -[dangerous bend] When you say \dotted, then ALL slurs and ties - from this point will be dotted until you say -\Solid. Furthermore, inside the \dotted...\Solid you can make some slur or -tie solid saying \solid before its begining. - -NOTE: These macros are taken into account only at the begining - of the slur or tie. - - -Collisions of slurs/ties and staff lines -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In PostScript it is possible to do some computations, which are very hard -to implement in TeX. One of neat features of the PS slurs and ties is -checking, if the curve passes close the staff line and if so, adjusting -the altitude of the curve to avoid collision ("black triangles" or narrow -white space). You can turn this feature on globally (\Sluradjust, -\Tieadjust) or locally (\sluradjust, \tieadjust), or disable it either -globally (\Nosluradjust, \Notieadjust) or locally (\nosluradjust, -\notieadjust). Default is \Sluradjust and \Notieadjust. "Locally" -means before the next opening command of the slur or tie. - - -Line breaking: -~~~~~~~~~~~~~~ -The slurs, ties and crescendos going across the line breaks are handled -automatically. Of course they can go over more lines than two (this is -true also for ties, though it would be somewhat strange). - -There is the classic \breakslur implemented, which sets the height of the -ending point slur at the end of a line to given number of \internotes. - -There is also a switch, \ifslopebrkslurs, indicating whether the ending point -of the first segment of the breaked slur (at the end of the line) should -be automatically raised by 3 \internote. You can turn this feature on by -the \slopebrkslurstrue and off by \slopebrkslursfalse commands, default -is false. - -You can raise or lower the starting point of the slur at the begining of -the next line with the command \liftslur with ID and the relative offset in -\internotes measured from the slur beginning height. Its usage and behavior -is the same as of the original \liftslur, only it is not necessary to code -it in \atnextstaff{}, just anywhere inside the slur. - -Similar is \liftcresc, but it works only for the middle part of crescendos -broken into three parts. The height of the last part of a broken crescendo -is defined with the height parameter of \Tcresc. - -As said before, anything with ID <10 is breaked fully automatically, but -you should be careful about the slurs, ties and crescendos with 10 <= ID < 15. -These can not go acress PAGE break, otherwise you'll get a PostScript error -like 's11hgt undefined'. Of course the LINE breaking works for them -automatically too. - -When a tie is continuead after breaking at the very beginning of a line, -only a half of the tie is drawn (the 'very beginning' means that the tie -would be less than 15pt long). To forbid this feature, say \nohalfties -(default is \halfties). A font called mxsk is necessary for \halfties. - - -Backwards compatibility -~~~~~~~~~~~~~~~~~~~~~~~ - -There are several "aliases" which allow to use the old, bitmapped slur -commands for PS slurs without any change. There are however a few differences: -- the \invertslur is not implemented yet -- the \curve and \midslur macros have no effect - - - - -Memory requrements -~~~~~~~~~~~~~~~~~~ - -I have tried to make the macros as small and fast as possible. The problem -about them is not in their size, but in their output. Each \i... and \t... -produces a \special command, which must be stored into the TeX's main memory. -Therefore, if too many slur occurs in one page, some memory troubles could -occur. In that case either use BigTeX (but I suppose you already use it) or -use the bitmapped slurs. I will try to reduce the memory requirements, but -do not expect any miracles. There is a lot of things to be passed to the -PostScript part... - - - -About the PS header: -~~~~~~~~~~~~~~~~~~~~ -The slurs need the PS header file psslurs.pro to be included into the -output PostScript file. You have to say this to dvips with command - -\special{header=psslurs.pro} - -placed anywhere inside the piece. As default, this is done when \inputting -the MusiXpss, but if you include the MusiXpss.tex into a format, the first -page of your document will be always empty. If you want the macros included -in your format file, comment the line 13 of this file and don't forget -to copy it into your source file. - -Warning to dvidvi users: If you select a set of pages from your document, -don't forget to include the page in which the \special command was used -(default is first page). Otherwise the dvips won't find this command and -won't include the header file, putting the PostScript device into a serious -problems. You can also use the "-h psslurs.pro" option to tell dvips to add -the header file manually. - - -About the slur shape: -~~~~~~~~~~~~~~~~~~~~~ -The shape is defined via trapezium: - - c - <----> b - <-----------------------------------------> - _ _ _________________________________ _ _ - | /^1 _____/ ^2 ^3 ^4\_____ 5^\ | ^ - / __/ \___ \ | - | /_/ \ \_\ | | - // this is the 'slur' \\ | a - |/ \\| | - |_________________________________________| v - 0 6 - -Points 0 and 6 are the starting and ending points. When the slope is not -zero, the trapezium is simply rotated, NOT slanted. - -'a' is computed as sqrt(b)*2, bounded with <3,\psslurmaxhgt> and multiplied -by the given height coeficient (see \tSlur and \t..slur, defaults to 1) -The units are not equal to anything common, the values were found -after a lot of testing. - -'c' is computed as angularity*b. Default angularity is 0.17, reasonable -values should lie in <0.1, 0.3>. - -Then the shape is corrected when the slur is so steep that its extreme -in horizontal direction lies inside the slur and shifted up or down -if it's top would be too close to nearest staff line (!!!!!!!!). - -The slur then consists of two bezier curves: -from 0 to 3 with control points 1 and 2 and -from 3 to 6 with control points 4 and 5. - -The shading is made according to its length and current \internote. - - - -If you are interested, see a slightly commented PS code in psslurs.pro. - -Bug reports and complainments are welcomed at: - - Stanislav Kneifl, - - standa@hiero.cz - - - -HISTORY -~~~~~~~ - -0.92 (12.5.2002) - added: \nosluradjust, \sluradjust, \notieadjust, \tieadjust - added: \slopebrkslurtrue, \slopebrkslurfalse - fixed: shaded slurs now do not break up to separate curves - at high resolutions - -0.91 (10.1.2002) - First public release, adopted from OpusTeX version. diff --git a/Master/texmf-dist/tex/generic/musixps/slurs.tex b/Master/texmf-dist/tex/generic/musixps/slurs.tex deleted file mode 100644 index 5735166f8c1..00000000000 --- a/Master/texmf-dist/tex/generic/musixps/slurs.tex +++ /dev/null @@ -1,76 +0,0 @@ -\input musixps - -\Nosluradjust -\Notieadjust - -\startmuflex - -\startpiece -\NOtes\qu{cdef}\isluru0k\qu{ghij}\en\bar -\NOtes\idecresc0\qu{cdefghij}\en -\alaligne -\NOtes\qu{cdefghij}\tcresc0\en\bar -\NOtes\tslur0h\qu{cdefghij}\en -\endpiece - -\startextract -\NOtes\islurd0g\qu g\tslur0{'c}\qu c\en -\Notes\isluru0{'e}\ibl0e{-2}\qb0{edc}\tslur0b\tqb0b\en -\bar -\NOtes\islurd0{'a}\qu a\tslur0{`f}\qu f\en -\NOTes\hu g\en -\endextract - -\startextract -\NOTes\isluru0g\hl g\tslur0h\hl h\en -\NOTes\islurd0c\issluru1g\zh{ce}\hu g\tslur0d\tsslur1h\zh{df}\hu h\en -\NOTes\ibsluru0g\islurd1g\hu g\tubslur0h\hu h\en -\NOTes\itieu0k\hl k\ttie0\tdbslur1k\hl k\en -\endextract - -\startextract -\NOTes\itenl0c\itenl1e\itenu2g\itenu3j\zh{ceg}\hu j\enotes -\bar -\NOTes\tten0\tten1\tten2\tten3\zh{ceg}\hu j\enotes -\endextract - -\generalmeter{\meterfrac34} -\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0j\ql j\enotes - \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0n\ql n\enotes\endextract - -\startextract\NOTes\multnoteskip3\isluru0c\ql c\tslur0s\ql s\enotes - \bar\NOTes\multnoteskip3\isluru0c\ql c\tslur0z\ql z\enotes\endextract - -\instrumentnumber{1} -\generalmeter{\meterfrac34} -\startextract\NOTes\isluru0c\ql c\enotes\notes\tslur0j\ql j\enotes - \bar\NOTes\isluru0c\ql c\enotes\notes\tslur0n\ql n\enotes - \NOTes\isluru0c\ql c\enotes\notes\tslur0s\ql s\enotes - \bar\NOTes\isluru0c\ql c\enotes\notes\tslur0z\ql z\enotes - \endextract - -\startextract -\NOtes\dotted\islurd0g\qu g\tslur0{'c}\qu c\en -\Notes\dotted\isluru0{'e}\ibl0e{-2}\qb0{edc}\tslur0b\tqb0b\en\bar -\NOtes\dotted\slur hmd1\qu{hm}\en -\NOTes\hu g\en -\endextract - -\startextract -\NOtes\slur ced1\qu{ce}\en -\NOtes\slur dfd1\qu{df}\en -\NOtes\slur egd1\qu{eg}\en -\NOtes\slur{'e}cu1\ql{ec}\en -\NOtes\slur{'d}bu1\ql{db}\en -\NOtes\slur{'c}au1\ql{ca}\en -\endextract - -\startextract -\NOtes\ibu0g1\iBsluru00\qb0g\en -\NOtes\tBslur00\tbu0\qb0h\en -\NOtes\ibl0k1\iBslurd00\qb0k\en -\NOtes\tBslur00\tbl0\qb0l\en -\endextract - -\endmuflex -\end |