Tag 6
This commit is contained in:
parent
c1d3b34851
commit
200080fe9d
241 changed files with 62140 additions and 10 deletions
30
musixtex/tex/musixadd.tex
Normal file
30
musixtex/tex/musixadd.tex
Normal file
|
@ -0,0 +1,30 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
% musixadd.tex : allocate registers for additional instruments
|
||||
%
|
||||
\immediate\write16{MusiXADDitional instruments T.115 <19 Nov 2010>}%
|
||||
%
|
||||
%
|
||||
% setup the maximum element numbers
|
||||
\setmaxinstruments{9}%
|
||||
\setmaxgroups{4}%
|
||||
\setmaxslurs\maxinstruments
|
||||
%
|
||||
\endinput
|
138
musixtex/tex/musixadf.tex
Normal file
138
musixtex/tex/musixadf.tex
Normal file
|
@ -0,0 +1,138 @@
|
|||
%
|
||||
% musixadf.tex - some additional accents for MusiXTeX
|
||||
%
|
||||
%% Author:
|
||||
%% Hiroaki MORIMOTO <CQX05646\atmark nifty.com>
|
||||
%% Tokyo, Japan
|
||||
%% URL: http://homepage1.nifty.com/kuuku/pub/musixtex/index-e.html
|
||||
%
|
||||
\immediate\write16{MusiXTeX Additional Accents <2015-02-15> )}%
|
||||
%
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
%
|
||||
\font\musixadfeleven=xadf11
|
||||
\font\musixadfthirteen=xadf13
|
||||
\font\musixadfsixteen=xadf16
|
||||
\font\musixadftwenty=xadf20
|
||||
\font\musixadftwentyfour=xadf24
|
||||
\font\musixadftwentynine=xadf29
|
||||
%
|
||||
\let\comput@fonts@org=\comput@fonts\relax
|
||||
\def\comput@fonts{%
|
||||
\comput@fonts@org
|
||||
\ifnum\musicsize=\sixt@@n
|
||||
\let\musixadfLargefont\musixadftwentyfour
|
||||
\let\musixadflargefont\musixadftwenty
|
||||
\let\musixadfnorfont\musixadfsixteen
|
||||
\let\musixadfsmallfont\musixadfthirteen
|
||||
\let\musixadftinyfont\musixadfeleven
|
||||
\else\ifnum\musicsize=\@xxiv
|
||||
\let\musixadfLargefont\musixadftwentynine
|
||||
\let\musixadflargefont\musixadftwentynine
|
||||
\let\musixadfnorfont\musixadftwentyfour
|
||||
\let\musixadfsmallfont\musixadftwenty
|
||||
\let\musixadftinyfont\musixadfsixteen
|
||||
\else\ifnum\musicsize=\@xxix
|
||||
\let\musixadfLargefont\musixadftwentynine
|
||||
\let\musixadflargefont\musixadftwentynine
|
||||
\let\musixadfnorfont\musixadftwentynine
|
||||
\let\musixadfsmallfont\musixadftwentyfour
|
||||
\let\musixadftinyfont\musixadftwenty
|
||||
\else
|
||||
\musicsize\tw@nty
|
||||
\let\musixadfLargefont\musixadftwentynine
|
||||
\let\musixadflargefont\musixadftwentyfour
|
||||
\let\musixadfnorfont\musixadftwenty
|
||||
\let\musixadfsmallfont\musixadfsixteen
|
||||
\let\musixadftinyfont\musixadfthirteen
|
||||
\fi\fi\fi
|
||||
}%
|
||||
%
|
||||
\let\set@Largenotesize@org=\set@Largenotesize\relax
|
||||
\let\set@largenotesize@org=\set@largenotesize\relax
|
||||
\let\set@normalnotesize@org=\set@normalnotesize\relax
|
||||
\let\set@smallnotesize@org=\set@smallnotesize\relax
|
||||
\let\set@tinynotesize@org=\set@tinynotesize\relax
|
||||
%
|
||||
\def\set@Largenotesize{%
|
||||
\set@Largenotesize@org\let\musixadfont\musixadfLargefont}%
|
||||
\def\set@largenotesize{%
|
||||
\set@largenotesize@org\let\musixadfont\musixadflargefont}%
|
||||
\def\set@normalnotesize{%
|
||||
\set@normalnotesize@org\let\musixadfont\musixadfnorfont}%
|
||||
\def\set@smallnotesize{%
|
||||
\set@smallnotesize@org\let\musixadfont\musixadfsmallfont}%
|
||||
\def\set@tinynotesize{%
|
||||
\set@tinynotesize@org\let\musixadfont\musixadftinyfont}%
|
||||
%
|
||||
\def\musixadfchar{\musixadfont\char}%
|
||||
%
|
||||
\def\uacc@Char@adf#1{\check@staff
|
||||
\inhgetn@i#1\relax \relax
|
||||
\ifnum\n@i<\@ight \ifodd\n@i \else\advance\n@i\@ne \fi \fi
|
||||
\zchar\n@i\C@ChaR@adf
|
||||
\fi}%
|
||||
%
|
||||
\def\lacc@Char@adf#1{\check@staff
|
||||
\inhgetn@i#1\relax \relax
|
||||
\ifnum\n@i>\@ne \ifodd\n@i \else\advance\n@i\m@ne \fi \fi
|
||||
\zchar\n@i\C@ChaR@adf
|
||||
\fi}%
|
||||
\def\C@ChaR@adf{\musixadfont\char\n@iv}%
|
||||
%
|
||||
\def\@Char@adf#1{\zcharnote{#1}\C@ChaR@adf}%
|
||||
%
|
||||
% coda sign with serif
|
||||
%
|
||||
% ___
|
||||
% |
|
||||
% /~|~\
|
||||
% |-+--+--+-|
|
||||
% \_|_/
|
||||
% |
|
||||
% ~~~
|
||||
%
|
||||
%\def\scoda{\musixadfchar85\relax}%
|
||||
\def\adfC@coda#1{\llap{\@Char@adf{#1}\kern\afterruleskip}}%
|
||||
\def\scoda{\n@iv85\adfC@coda}%
|
||||
\def\replacecoda{\let\coda=\scoda}%
|
||||
%
|
||||
%
|
||||
%
|
||||
% upright segno
|
||||
%
|
||||
%\def\upsegno{\musixadfchar86\relax}%
|
||||
\def\upsegno{\n@iv86\@Char@adf}%
|
||||
\def\replacesegno{\let\segno=\upsegno}%
|
||||
%
|
||||
%
|
||||
% little swell ...something like <>
|
||||
%
|
||||
% lower
|
||||
\def\llsw{\n@iv31\lacc@Char@adf}
|
||||
% upper
|
||||
\def\ulsw{\n@iv30\uacc@Char@adf}%
|
||||
%
|
||||
%
|
||||
% a little larger sforzato
|
||||
%
|
||||
\def\uSfz{\n@iv\tw@nty \uacc@Char@adf}
|
||||
\def\lSfz{\n@iv21\lacc@Char@adf}
|
||||
\def\dSfz{\lSfz}
|
||||
\def\replacesforzato{%
|
||||
\let\usfz=\uSfz\relax
|
||||
\let\lsfz=\lSfz\relax
|
||||
}%
|
||||
%
|
||||
%
|
||||
% v-breath
|
||||
%
|
||||
\def\zuBreath{\check@staff\raise\@ight\internote\rlap{\n@iv33\C@ChaR@adf}\fi}%
|
||||
\def\cuBreath{\check@staff\adv@box{\raise\@ight\internote
|
||||
\hbox\@to\noteskip{\hss\n@iv33\C@ChaR@adf\hss}}\fi}%
|
||||
\def\zlBreath{\check@staff\raise0\internote\rlap{\n@iv34\C@ChaR@adf}\fi}%
|
||||
\def\clBreath{\check@staff\adv@box{\raise0\internote
|
||||
\hbox\@to\noteskip{\hss\n@iv34\C@ChaR@adf\hss}}\fi}%
|
||||
%
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
148
musixtex/tex/musixbar.tex
Normal file
148
musixtex/tex/musixbar.tex
Normal file
|
@ -0,0 +1,148 @@
|
|||
%%%%%%%%%% Hiding/printing bar lines individually %%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% Here comes a bunch of rather general macros which enable printing or
|
||||
% hiding barlines for each staff and inter-staff space individually:
|
||||
%
|
||||
% Mthimkhulu Molekwa <MMolekwa@rrs.co.za>
|
||||
|
||||
\ifx\indivbarrules\undefined\else\endinput\fi
|
||||
|
||||
\immediate\write16{MusiXBAR printing or hiding seperate bar lines 1.01\space<23 Februar 2000>}%
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
%\makeatletter
|
||||
|
||||
\newdimen\barline@depth
|
||||
|
||||
\def\rul@indiv#1{%
|
||||
\n@loop
|
||||
\Comp@High
|
||||
\expandafter\ifx\csname s@b\romannumeral\noinstrum@nt\endcsname\relax
|
||||
\multiply\barline@depth -1\relax
|
||||
\advance\barline@depth\altitude
|
||||
\else
|
||||
\barline@depth=0pt\relax
|
||||
\fi
|
||||
{\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname 1%
|
||||
\y@v=0pt\relax
|
||||
\fi
|
||||
\raise\altitude\rlap{\vrule\@depth\barline@depth\@width#1\@height\y@v}}%
|
||||
\barline@depth\altitude
|
||||
\advance\barline@depth\y@v
|
||||
\repeat
|
||||
\addspace#1}
|
||||
|
||||
\def\rul@indiv@#1{\n@loop{\prul@indiv@#1}\repeat\addspace#1}
|
||||
|
||||
\def\prul@indiv@#1{%
|
||||
\y@v\interportee \C@Inter\advance\y@v-\stem@skip
|
||||
\expandafter\ifx\csname s@b\romannumeral\noinstrum@nt\endcsname\relax
|
||||
\multiply\barline@depth -1\relax
|
||||
\advance\barline@depth\altitude
|
||||
\else
|
||||
\barline@depth=0pt\relax
|
||||
\fi
|
||||
{\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname 1%
|
||||
\y@v=0pt\relax
|
||||
\fi
|
||||
\p@loop
|
||||
\raise\altportee\rlap{%
|
||||
\vrule\@depth\barline@depth\@width#1\@height\y@v}%
|
||||
\count@portee
|
||||
\repeat}%
|
||||
\barline@depth\altitude
|
||||
\advance\barline@depth\y@v}
|
||||
|
||||
%== Required to use the following macros
|
||||
\def\indivbarrules{%
|
||||
\let\writ@rule\rul@indiv
|
||||
\sepbarrule 1}
|
||||
|
||||
\def\Indivbarrules{%
|
||||
\let\writ@rule\rul@indiv@
|
||||
\sepbarrule 1}
|
||||
|
||||
%== separates bar line of specified instrument from one of previous instrument
|
||||
\def\sepbarrule#1{\expandafter\let\csname s@b\romannumeral#1\endcsname 1}
|
||||
|
||||
%== connects bar line of specified instrument to one of previous instrument
|
||||
\def\conbarrule#1{%
|
||||
\if 1#1\else\expandafter\let\csname s@b\romannumeral#1\endcsname\relax\fi}
|
||||
|
||||
%== hides bar line for specified instrument
|
||||
\def\hidebarrule#1{\expandafter\let\csname h@bl\romannumeral#1\endcsname 1}
|
||||
|
||||
%== shows bar line for specified instrument
|
||||
\def\showbarrule#1{\expandafter\let\csname h@bl\romannumeral#1\endcsname\relax}
|
||||
|
||||
%== separates barlines in multistaff instruments
|
||||
\def\rul@sep@#1{\n@loop{\prul@sep#1}\repeat\addspace#1}
|
||||
|
||||
\def\prul@sep#1{%
|
||||
\y@v\interportee \C@Inter\advance\y@v-\stem@skip
|
||||
\p@loop
|
||||
\hbox{\raise\altportee\rlap{%
|
||||
\vrule\@depth\hlthick\@width#1\@height\y@v}}%
|
||||
\count@portee\repeat}
|
||||
|
||||
\def\Sepbarrules{\let\writ@rule\rul@sep@ }
|
||||
|
||||
%-\makeatother
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Here comes an example of how to use these macros
|
||||
|
||||
%%%%% Pre-amble
|
||||
\input musixtex
|
||||
\input musixbar
|
||||
|
||||
\instrumentnumber3
|
||||
\setmeter3{{\meterfrac{3}{4}}}
|
||||
\setmeter2{{\meterfrac{2}{4}}}
|
||||
\setmeter1{{\meterfrac{3}{8}}}
|
||||
\nobarnumbers
|
||||
\indivbarrules
|
||||
\sepbarrule2
|
||||
\sepbarrule3
|
||||
|
||||
%%%%% Spacing
|
||||
\beforeruleskip=0.5\afterruleskip
|
||||
\interinstrument=4\Interligne
|
||||
|
||||
%%%%% Macros
|
||||
\let\ni\nextinstrument
|
||||
|
||||
%%%%% Music
|
||||
\linegoal2
|
||||
\startpiece\addspace\afterruleskip
|
||||
\NOtes\pt f\qa f\ni\qa f\ni\qa f\en
|
||||
\hidebarrule2\hidebarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff\ni\qa f\ni\qa f\en
|
||||
\showbarrule2\bar
|
||||
\NOtes\pt f\qa f\ni\qa f\ni\qa f\en
|
||||
\hidebarrule2\showbarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff\ni\qa f\ni\qa f\en
|
||||
\showbarrule2\hidebarrule3\bar
|
||||
\NOtes\pt f\qa f\ni\qa f\ni\qa f\en
|
||||
\hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff\ni\qa f\ni\qa f\en
|
||||
\showbarrule2\showbarrule3\bar
|
||||
\NOtes\pt f\qa f\ni\qa f\ni\qa f\en
|
||||
\hidebarrule2\hidebarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff\ni\qa f\ni\qa f\en
|
||||
\showbarrule2\bar
|
||||
\NOtes\pt f\qa f\ni\qa f\ni\qa f\en
|
||||
\hidebarrule2\showbarrule3\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff\ni\qa f\ni\qa f\en
|
||||
\showbarrule2\hidebarrule3\bar
|
||||
\NOtes\pt f\qa f\ni\qa f\ni\qa f\en
|
||||
\hidebarrule2\bar
|
||||
\NOtes\multnoteskip{.333}\Tqbu fff\ni\qa f\ni\qa f\en
|
||||
\showbarrule2\showbarrule3\stoppiece
|
||||
\bye
|
||||
|
69
musixtex/tex/musixbbm.tex
Normal file
69
musixtex/tex/musixbbm.tex
Normal file
|
@ -0,0 +1,69 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
% musixbbm.tex : allocate registers and define macros for 256th beam
|
||||
%
|
||||
\immediate\write16{MusiXBBeaM T.115 <19 Nov 2010>}%
|
||||
%
|
||||
\ifx\undefined\ibbbbbbu \else \endinput \fi
|
||||
%
|
||||
% setup the maximum element numbers
|
||||
\setmaxcclvibeams{6}%
|
||||
%
|
||||
%
|
||||
% definitions for 256th beams
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
%
|
||||
\def\s@l@ctg{\edef\g@x{\csname g@x\romannumeral\n@i\endcsname}%
|
||||
\edef\g@z{\csname g@z\romannumeral\n@i\endcsname}\s@l@ctf}
|
||||
|
||||
\def\ibbbbbbu#1{\s@l@ctbeam#1\relax \s@l@ctg \i@bbbbbbu}
|
||||
\def\ibbbbbbl#1{\s@l@ctbeam#1\relax \s@l@ctg \i@bbbbbbl}
|
||||
|
||||
\def\i@bbbbbbu#1#2{%
|
||||
\ifnum\b@n=\z@ \i@bbbbbu{#1}{#2}\C@ba\b@z\@ne \C@ba\c@z\@ne
|
||||
\C@ba\d@z\@ne \C@ba\e@z\@ne \C@ba\f@z\@ne \fi \n@bbbbbbu}
|
||||
\def\i@bbbbbbl#1#2{%
|
||||
\ifnum\b@n=\z@ \i@bbbbbl{#1}{#2}\C@ba\b@z\m@ne \C@ba\c@z\m@ne
|
||||
\C@ba\d@z\m@ne \C@ba\e@z\m@ne \C@ba\f@z\m@ne \fi \n@bbbbbbl}
|
||||
|
||||
\def\nbbbbbbu#1{\s@l@ctbeam#1\relax \s@l@ctg \Dec@b\@ne\n@bbu
|
||||
\Dec@b\tw@\n@bbbu \Dec@b\thr@@\n@bbbbu \Dec@b\f@ur\n@bbbbbu
|
||||
\Dec@b\fiv@\n@bbbbbbu}
|
||||
\def\nbbbbbbl#1{\s@l@ctbeam#1\relax \s@l@ctg \Dec@b\@ne\n@bbl
|
||||
\Dec@b\tw@\n@bbbl \Dec@b\thr@@\n@bbbbl \Dec@b\f@ur\n@bbbbbl
|
||||
\Dec@b\fiv@\n@bbbbbbl}
|
||||
|
||||
\def\n@bbbbbbu{\C@nb\g@z\g@x\fiv@\qd@skip}
|
||||
\def\n@bbbbbbl{\C@nb\g@z\g@x\fiv@\z@}
|
||||
|
||||
\def\tbbbbbbu#1{\s@l@ctbeam#1\relax \s@l@ctg \t@bbbbbbu}
|
||||
\def\tbbbbbbl#1{\s@l@ctbeam#1\relax \s@l@ctg \t@bbbbbbl}
|
||||
|
||||
\def\t@bbbbbu{\n@v\fiv@ \C@b\t@bbbbbbu\n@bbbbbu\y@i\f@z \beam@pos\f@x \t@xbu}
|
||||
\def\t@bbbbbl{\n@v\fiv@ \C@b\t@bbbbbbl\n@bbbbbl\y@i\f@z \beam@pos\f@x \t@xbl}
|
||||
|
||||
\def\t@bbbbbbu{\n@v\si@ \C@b\empty\n@bbbbbu\y@i\g@z \beam@pos\g@x \t@xbu}
|
||||
\def\t@bbbbbbl{\n@v\si@ \C@b\empty\n@bbbbbl\y@i\g@z \beam@pos\g@x \t@xbl}
|
||||
|
||||
\def\Ibbbbbbu#1{\s@l@ctbeam#1\relax \s@l@ctg \I@bu\i@bbbbbbu}
|
||||
\def\Ibbbbbbl#1{\s@l@ctbeam#1\relax \s@l@ctg \I@bl\i@bbbbbbl}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
44
musixtex/tex/musixblx.tex
Normal file
44
musixtex/tex/musixblx.tex
Normal file
|
@ -0,0 +1,44 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
% (Nicolas Brouard)
|
||||
|
||||
\immediate\write16{MusiXBigLateX 0.36\space<1 March 1995>}%
|
||||
|
||||
\ifx\undefined\largevaugment \else \endinput \fi
|
||||
|
||||
\newenvironment{music}{\catcodesmusic\parskip0pt\resetlayout}{}%
|
||||
|
||||
\newdimen\largevaugment \newdimen\largehaugment
|
||||
|
||||
\newenvironment{largemusic}{\vfill\eject\catcodesmusic\parskip0pt
|
||||
\resetlayout
|
||||
\edef\theoldtextwidth{\the\textwidth}%
|
||||
\edef\theoldtextheight{\the\textheight}%
|
||||
\def\Fullwidth{185mm}\def\Fullheight{260mm}%
|
||||
\largevaugment\Fullheight \advance\largevaugment-\theoldtextheight
|
||||
\largehaugment\Fullwidth \advance\largehaugment-\theoldtextwidth
|
||||
\divide\largevaugment2 \divide\largehaugment2
|
||||
\advance\voffset\largevaugment \advance\hoffset-\largehaugment
|
||||
\xdef\thelargehoffset{\the\hoffset}%
|
||||
\hsize\Fullwidth \textwidth\Fullwidth
|
||||
|
||||
\bgroup\textwidth\Fullwidth\hsize\Fullwidth\vsize\Fullheight}%
|
||||
{\egroup\advance\voffset.5\largevaugment
|
||||
\clearpage\advance\voffset-.5\largevaugment}
|
||||
\endinput
|
25
musixtex/tex/musixbm.tex
Normal file
25
musixtex/tex/musixbm.tex
Normal file
|
@ -0,0 +1,25 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
\immediate\write16{MusiXEXTra \space<7 June 2015>}%
|
||||
%
|
||||
%
|
||||
% (nothing to do. - T.118 or later provide \slide and \raggedstoppiece by default.)
|
||||
%
|
||||
\endinput
|
68
musixtex/tex/musixcho.tex
Normal file
68
musixtex/tex/musixcho.tex
Normal file
|
@ -0,0 +1,68 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\immediate\write16{MusiXCHOir T.89\space<24 March 1998>}%
|
||||
|
||||
\ifx\undefined\braceheight \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
\catcodesmusic
|
||||
|
||||
% big parentheses for e.g. multiline text
|
||||
|
||||
\newskip\braceheight \braceheight=4\Interligne\relax
|
||||
\def\ChoirStrut{\vphantom{\^Wgjpqy}}
|
||||
|
||||
\def\biglbrace{\let\@Ti\llap \let\@Tii\{\relax \C@br}
|
||||
\def\bigrbrace{\let\@Ti\rlap \let\@Tii\}\relax \C@br}
|
||||
\def\C@br{\C@tx{\@Ti{$\left\@Tii\vbox\@to\braceheight{}\right.\n@space$}\vss}}
|
||||
|
||||
% multiline text
|
||||
|
||||
\def\@kti{\kern\thr@@\Internote\strut}
|
||||
\def\@kmi{\kernm\Internote\strut}
|
||||
|
||||
\def\Dtx#1|#2*{\C@tx{\lrlap{\@kti#1\ChoirStrut}\lrlap{\@kti#2\ChoirStrut}\vss}}
|
||||
\def\Drtx#1|#2*{\C@tx{\rlap{\@kmi#1\ChoirStrut}\rlap{\@kmi#2\ChoirStrut}\vss}}
|
||||
|
||||
\def\Ttx#1|#2|#3*{\C@tx{\lrlap{\@kti#1\ChoirStrut}\lrlap{\@kti#2\ChoirStrut}\lrlap{\@kti#3\ChoirStrut}\vss}}
|
||||
\def\Trtx#1|#2|#3*{\C@tx{\rlap{\@kmi#1\ChoirStrut}\rlap{\@kmi#2\ChoirStrut}\rlap{\@kmi#3\ChoirStrut}\vss}}
|
||||
|
||||
\def\Qtx#1|#2|#3|#4*{\C@tx{\lrlap{\@kti#1\ChoirStrut}\lrlap{\@kti#2\ChoirStrut}%
|
||||
\lrlap{\@kti#3\ChoirStrut}\lrlap{\@kti#4\ChoirStrut}\vss}}
|
||||
\def\Qrtx#1|#2|#3|#4*{\C@tx{\rlap{\@kmi#1\ChoirStrut}\rlap{\@kmi#2\ChoirStrut}\rlap{\@kmi#3\ChoirStrut}%
|
||||
\rlap{\@kmi#4\ChoirStrut}\vss}}
|
||||
|
||||
\def\tx#1*{\C@tx{\lrlap{\@kti#1\ChoirStrut}\vss}}
|
||||
\def\rtx#1*{\C@tx{\rlap{\@kmi#1\ChoirStrut}\vss}}
|
||||
|
||||
% longation rule
|
||||
|
||||
\newskip\@ihf
|
||||
\def\thf{\getcurpos\advance\y@v-\@ihf \advance\y@v-\tw@\Interligne
|
||||
\llap{\vrule\@width\y@v\@height\lthick\kern\Interligne}}%
|
||||
|
||||
\def\ixhf#1{\setbox\ch@box\hbox{#1}\getcurpos \advance\y@v\h@lf\wd\ch@box
|
||||
\advance\y@v\Interligne \global\@ihf\y@v \box\ch@box}
|
||||
|
||||
\def\ihf#1{\setbox\ch@box\hbox{#1}\getcurpos \advance\y@v\wd\ch@box
|
||||
\global\@ihf\y@v \box\ch@box}
|
||||
|
||||
\endcatcodesmusic
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
826
musixtex/tex/musixcpt.tex
Normal file
826
musixtex/tex/musixcpt.tex
Normal file
|
@ -0,0 +1,826 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%%% for those who want compatibility, input it !after! musixtex and all
|
||||
%%% other \input files, means: at very last
|
||||
|
||||
\ifx\undefined\DIMin \else \endinput \fi
|
||||
|
||||
\immediate\write16{MusiXComPaTible T.109\space<8 May 2018>}%
|
||||
|
||||
\ifx\undefined\mxversion \errmessage{MusiXcpt input before MusiXTeX !}\fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
\catcodesmusic
|
||||
|
||||
\voffset=-15.4mm
|
||||
\parindent=10mm
|
||||
|
||||
\def\z@suspend@autoflag{\ifx\auto@flag\empty
|
||||
\fil@autolines\fi \let\auto@flag\empty}
|
||||
|
||||
|
||||
\let\fil@autolines\empty
|
||||
\let\auto@flag\empty
|
||||
|
||||
\def\updatecontext{%
|
||||
\T@bil \writ@newclefs\wbarno@x\Writ@newsigns
|
||||
\Writ@meters\addspace\afterruleskip
|
||||
\else\fil@autolines\let\auto@flag\@ne
|
||||
\writ@newclefs\Writ@newsigns\z@suspend\@NewPage\fi}
|
||||
|
||||
\def\changecontext{\n@wbar\updatecontext}
|
||||
\def\zchangecontext{\advance\n@skip\beforeruleskip \widthtyp@\@ne \t@rmskip
|
||||
\zn@wbar\updatecontext}
|
||||
|
||||
\def\@breakpassInoauto{\def\T@bil{\getcurpos \ifdim\y@v<\h@lf\line@width}}
|
||||
\def\ori@passIzbarre{\zn@wbar\fil@{z \the\barno}}
|
||||
|
||||
\def\ori@passIendsection{\fil@{*\space\the\mulooseness}\mulooseness\z@}
|
||||
|
||||
\def\@breakpassIauto{\advance\barsinlin@\@ne \ifnum\barsinlin@<\maxbarsinline}%
|
||||
|
||||
\def\@xbarrepassIauto{\T@bil \else\advance\barsinlin@\m@ne \fi\@bar}
|
||||
\let\@xbarrepassIIauto\barre
|
||||
|
||||
\def\@zbarpassIauto{\T@bil \zn@wbar\else\zstoppiec@\@NewPage\fi}
|
||||
|
||||
%!!! Attention: If you use \autolines, take care for the number of lines.
|
||||
% If they exceed 127, trouble will be ahead. (adjust MAX_SECTIONS in
|
||||
% musixflx.c or insert a \suspmorceau..\debutmorceau) !!!
|
||||
|
||||
\def\autolines#1#2#3{% #1 nombre d'elemskip par mesure,
|
||||
% #2 nombre de mesures par ligne,
|
||||
% #3 nb lignes par page
|
||||
\ifstartmuflex@done\else\startmuflex\fi
|
||||
\global\maxbarsinline=#2\relax
|
||||
\global\maxlinesinpage=#3\relax
|
||||
\let\count@lines\count@lines@auto
|
||||
\ifx\ragg@d\empty % ---> pass 1
|
||||
\message{/autolines pass I }%
|
||||
\let\xbar=\@xbarrepassIauto
|
||||
\let\zbar=\@zbarpassIauto
|
||||
\let\@nds@ction=\empty
|
||||
\def\fil@autolines{\fil@{a}}%
|
||||
\let\barsinline=\barsinlin@
|
||||
\let\T@bil=\@breakpassIauto
|
||||
\else %---> pass 2
|
||||
\message{/autolines pass II }%
|
||||
\let\xbar=\@xbarrepassIIauto
|
||||
\let\@nds@ction=\empty
|
||||
\fi}
|
||||
|
||||
\def\noautolines{\let\fil@autolines\empty
|
||||
\ifstartmuflex@done\else\startmuflex\fi
|
||||
\let\xbar\ori@xbarre % original X handling
|
||||
\let\count@lines\count@lines@empty
|
||||
\ifx\ragg@d\empty %---> pass 1
|
||||
\message{/noautolines pass I }%
|
||||
\let\zbar\ori@zbarre % original X handling
|
||||
\let\barsinline=\barsinline@ori
|
||||
\let\T@bil\ori@T@bil
|
||||
\let\@nds@ction=\ori@passIendsection
|
||||
\else
|
||||
\message{/noautolines pass II }%
|
||||
\let\@nds@ction=\empty
|
||||
\fi}
|
||||
%
|
||||
|
||||
\def\count@lines@auto{\global\advance\linesinpage\@ne
|
||||
\ifnum\linesinpage<\maxlinesinpage
|
||||
\else \eject \global\linesinpage\z@ \fi}
|
||||
\def\count@lines@empty{\global\advance\linesinpage\@ne}
|
||||
\let\count@lines\count@lines@empty
|
||||
|
||||
\def\@NewPage{\count@lines \contpiece}
|
||||
\def\@LeftRp{\stoppiec@\@NewPage\addspace{\h@lf\afterruleskip}%
|
||||
\kernm\afterruleskip\l@eftrepeat\kern\afterruleskip}
|
||||
|
||||
\def\T@bil{\advance\barsinlin@\@ne \ifnum\barsinlin@<\maxbarsinlin@}
|
||||
\def\ori@T@bil{\advance\barsinlin@\@ne \ifnum\barsinlin@<\maxbarsinlin@}
|
||||
|
||||
\def\barre{\T@bil \@bar\else\stoppiec@\@NewPage\fi}
|
||||
|
||||
\def\xbar{\@bar\global\advance\barsinpi@c@\m@ne }
|
||||
\def\ori@xbarre{\@bar\global\advance\barsinpi@c@\m@ne }
|
||||
|
||||
\def\zbar{\T@bil \zn@wbar\else\zstoppiece\@NewPage\fi}
|
||||
\def\ori@zbarre{\T@bil \zn@wbar\else\zstoppiece\@NewPage\fi}
|
||||
|
||||
\def\alaligne{\stoppiece\@NewPage}
|
||||
\def\Suspmorceau{\Stoppiece\count@lines}
|
||||
\def\suspmorceau{\stoppiece\count@lines}
|
||||
\def\zalaligne{\zstoppiece\@NewPage}
|
||||
\def\leftrepeat{\leftrepeat@II}
|
||||
\def\leftrepeat@II{\T@bil \setleftrepeat\@bar\else\@LeftRp\fi}
|
||||
\def\leftrightrepeat{\leftrightrepeat@II}
|
||||
\def\leftrightrepeat@II{\T@bil \setleftrightrepeat\@bar
|
||||
\else\setrightrepeat\@LeftRp\fi}
|
||||
|
||||
\def\finrightrepeat{\setrightrepeat\stoppiec@}
|
||||
|
||||
|
||||
\let\nbporteesi\n@pi
|
||||
\let\nbporteesii\n@pii
|
||||
\let\nbporteesiii\n@piii
|
||||
\let\nbporteesiv\n@piv
|
||||
\let\nbporteesv\n@pv
|
||||
\let\nbporteesvi\n@pvi
|
||||
\def\nbporteesvii{\n@pvii}%
|
||||
\def\nbporteesviii{\n@pviii}%
|
||||
\def\nbporteesix{\n@pvix}%
|
||||
|
||||
\def\nbstaffsi{\n@pi}%
|
||||
\def\nbstaffsii{\n@pii}%
|
||||
\def\nbstaffsiii{\n@piii}%
|
||||
\def\nbstaffsiv{\n@piv}%
|
||||
\def\nbstaffsv{\n@pv}%
|
||||
\def\nbstaffsvi{\n@pvi}%
|
||||
\def\nbstaffsvii{\n@pvii}%
|
||||
\def\nbstaffsviii{\n@pviii}%
|
||||
\def\nbstaffsix{\n@pvix}%
|
||||
|
||||
\def\resetlayout{\nullthick\f@ur\Interligne \let\interfacteur\nin@
|
||||
\stafftopmarg\thr@@\Interligne \staffbotmarg\thr@@\Interligne
|
||||
\let\stafflinesnbi\fiv@ \let\stafflinesnbii\fiv@ \let\stafflinesnbiii\fiv@
|
||||
\let\stafflinesnbiv\fiv@ \let\stafflinesnbv\fiv@ \let\stafflinesnbvi\fiv@
|
||||
\let\clefdesoli\trebleclef \let\clefdesolii\trebleclef
|
||||
\let\clefdesoliii\trebleclef \let\clefdesoliv\trebleclef
|
||||
\let\clefdesolv\trebleclef \let\clefdesolvi\trebleclef
|
||||
\let\clefduti\altoclef \let\clefdutii\altoclef
|
||||
\let\clefdutiii\altoclef \let\clefdutiv\altoclef
|
||||
\let\clefdutv\altoclef \let\clefdutvi\altoclef
|
||||
\let\clefdefai\bassclef \let\clefdefaii\bassclef
|
||||
\let\clefdefaiii\bassclef \let\clefdefaiv\bassclef
|
||||
\let\clefdefav\bassclef \let\clefdefavi\bassclef
|
||||
\elemskip\f@ur\Internote}
|
||||
|
||||
% These definition depends on the assumption, that \elemskip is equal 10pt
|
||||
|
||||
\def\hqsk{\off{.3\@l@mskip}}
|
||||
\def\qsk{\hqsk\hqsk}
|
||||
|
||||
% ============================
|
||||
% will change
|
||||
|
||||
\chardef\@li=51
|
||||
\chardef\@liii=53
|
||||
\newif\ifcautionacc
|
||||
|
||||
\def\@acc#1{\check@staff
|
||||
\inhgetn@i#1\relax\@BigAcc
|
||||
\fi}
|
||||
\def\@BigAcc{\pl@base\raise\y@i\llap{\musixchar\n@v\kern\accshift}}
|
||||
|
||||
\def\bigfl{\n@v\@l \@acc}
|
||||
\def\bigdfl{\n@v\@li \@acc}
|
||||
\def\bigsh{\n@v\@lii \@acc}
|
||||
\def\bigdsh{\n@v\@liii \@acc}
|
||||
\def\bigna{\n@v\@liv \@acc}
|
||||
|
||||
\def\@smallacc#1{\check@staff
|
||||
\inhgetn@i#1\relax\n@iv\fiv@ \@SmallACC
|
||||
\fi}
|
||||
\def\@SmallACC{\check@staff
|
||||
\pl@base\raise\y@i\llap{\@SmallAcc\kern\accshift}\fi}
|
||||
\def\@SmallAcc{\check@staff
|
||||
\ifcautionacc\C@ChaR \fi \musixchar\n@v
|
||||
\ifcautionacc\kern.3\qn@width \fi
|
||||
\fi\global\cautionaccfalse}
|
||||
|
||||
\def\smallna{\n@v94\@smallacc}
|
||||
\def\smallfl{\n@v90\@smallacc}
|
||||
\def\smallsh{\n@v92\@smallacc}
|
||||
\def\smalldsh{\n@v93\@smallacc}
|
||||
\def\smalldfl#1{\check@staff
|
||||
\n@v91\inhgetn@i#1\relax\n@iv\si@ \@SmallACC
|
||||
\fi}
|
||||
|
||||
\def\csh{\cautionacctrue\smallsh}
|
||||
\def\cdsh{\cautionacctrue\smalldsh}
|
||||
\def\cna{\cautionacctrue\smallna}
|
||||
\def\cfl{\cautionacctrue\smallfl}
|
||||
\def\cdfl{\cautionacctrue\smalldfl}
|
||||
|
||||
\def\@UpperAcc#1{\inhgetn@i#1\relax\@UpAcc}
|
||||
\def\@UpAcc{\advance\n@i\thr@@ \zchar\n@i{\kern\qu@rt\qn@width\@SmallAcc}}
|
||||
|
||||
\def\upperna{\n@v94\@UpperAcc}
|
||||
\def\upperfl{\n@v90\@UpperAcc}
|
||||
\def\uppersh{\n@v92\@UpperAcc}
|
||||
|
||||
% analysis of accidentals within collective note coding
|
||||
|
||||
\def\absoluteaccidentals{%
|
||||
\let\Xna\na \let\Xsh\sh \let\Xfl\fl \let\Xdsh\dsh \let\Xdfl\dfl}
|
||||
\absoluteaccidentals
|
||||
|
||||
\def\Na#1{\small@test\bigNa{#1}\else\smallNa{#1}\fi}
|
||||
\def\Fl#1{\small@test\bigFl{#1}\else\smallFl{#1}\fi}
|
||||
\def\Sh#1{\small@test\bigSh{#1}\else\smallSh{#1}\fi}
|
||||
\def\dFl#1{\small@test\bigdFl{#1}\else\smalldFl{#1}\fi}
|
||||
\def\dSh#1{\small@test\bigdSh{#1}\else\smalldSh{#1}\fi}
|
||||
|
||||
\def\cNa{\cautionacctrue\smallNa}
|
||||
\def\cFl{\cautionacctrue\smallFl}
|
||||
\def\cSh{\cautionacctrue\smallSh}
|
||||
\def\cdFl{\cautionacctrue\smalldFl}
|
||||
\def\cdSh{\cautionacctrue\smalldSh}
|
||||
|
||||
\def\lNa#1{\shiftaccwidth{\Na{#1}}}
|
||||
\def\lFl#1{\shiftaccwidth{\Fl{#1}}}
|
||||
\def\lSh#1{\shiftaccwidth{\Sh{#1}}}
|
||||
\def\ldFl#1{\shiftaccwidth{\dFl{#1}}}
|
||||
\def\ldSh#1{\shiftaccwidth{\dSh{#1}}}
|
||||
\def\shiftaccwidth{\loffset\smallvalue}
|
||||
|
||||
\def\sign@diff#1\relax{\getn@i#1\relax\n@iii\n@i
|
||||
\advance\n@iii-\ut@ref \advance\n@iii-\ut@ref
|
||||
\loop\ifnum\n@iii>\si@ \advance\n@iii-\s@v@n \repeat
|
||||
\loop\ifnum\n@iii<\z@ \advance\n@iii\s@v@n \repeat
|
||||
\ifcase\n@iii
|
||||
\n@ii\si@ % mi
|
||||
\or\n@ii\@ne % fa
|
||||
\or\n@ii\thr@@ % sol
|
||||
\or\n@ii\fiv@ % la
|
||||
\or\n@ii\s@v@n % si
|
||||
\or\n@ii\tw@ % do
|
||||
\or\n@ii\f@ur % re
|
||||
\fi
|
||||
% \n@ii positive signature limit, \n@ii-8 negative signature limit
|
||||
\advance\n@ii-\a@s \advance\n@ii\si@ \divide\n@ii\s@v@n \n@iv\fiv@}
|
||||
|
||||
\def\C@aacc{\check@staff
|
||||
\advance\n@v\n@vi \@Ti
|
||||
\fi }
|
||||
|
||||
\def\@Flat#1{\sign@diff#1\relax
|
||||
\ifcase\n@ii \n@v\@liv \or\n@v\@l \or\n@v\@li \fi \C@aacc}
|
||||
|
||||
\def\set@bigaccid{\n@vi\z@ \let\@Ti\@BigAcc}
|
||||
\def\set@smallaccid{\n@vi\@xl \let\@Ti\@SmallACC}
|
||||
\def\set@UpAcc{\n@vi\@xl \let\@Ti\@UpAcc}
|
||||
|
||||
\def\bigFl{\set@bigaccid\@Flat}
|
||||
\def\smallFl{\set@smallaccid\@Flat}
|
||||
\def\upperFl{\set@UpAcc\@Flat}
|
||||
|
||||
\def\@Natural#1{\sign@diff#1\relax
|
||||
\ifcase\n@ii \n@v\@lii \or\n@v\@liv \or\n@v\@l \fi \C@aacc}
|
||||
|
||||
\def\bigNa{\set@bigaccid\@Natural}
|
||||
\def\smallNa{\set@smallaccid\@Natural}
|
||||
\def\upperNa{\set@UpAcc\@Natural}
|
||||
|
||||
\def\@Sharp#1{\sign@diff#1\relax
|
||||
\ifcase\n@ii \n@v\@liii \or\n@v\@lii \or\n@v\@liv \fi \C@aacc}
|
||||
|
||||
\def\bigSh{\set@bigaccid\@Sharp}
|
||||
\def\smallSh{\set@smallaccid\@Sharp}
|
||||
\def\upperSh{\set@UpAcc\@Sharp}
|
||||
|
||||
\def\@nod{Can't double }
|
||||
|
||||
\def\@dSharp#1{\sign@diff#1\relax
|
||||
\ifcase\n@ii \message{\@nod sharpen !\noexpand\dSh #1}%
|
||||
\or\n@v\@liii \C@aacc\or\n@v\@lii \C@aacc \fi}
|
||||
|
||||
\def\bigdSh{\set@bigaccid\@dSharp}
|
||||
\def\smalldSh{\set@smallaccid\@dSharp}
|
||||
%\def\upperdSh{\set@UpAcc\@dSharp}
|
||||
|
||||
\def\@dFlat#1{\sign@diff#1\relax
|
||||
\ifcase\n@ii \n@v\@l \C@aacc\or\n@v\@li \C@aacc
|
||||
\or\message{\@nod flatten !\noexpand\dFl #1}\fi}
|
||||
|
||||
\def\bigdFl{\set@bigaccid\@dFlat}
|
||||
\def\smalldFl{\n@vi\@xl \n@iv\si@ \let\@Ti\@SmallACC \@dFlat}
|
||||
%\def\upperdFl{\set@UpAcc\@dFlat}
|
||||
|
||||
\def\relativeaccidentals{%
|
||||
\let\Xna\Na \let\Xsh\Sh \let\Xfl\Fl \let\Xdsh\dSh \let\Xdfl\dFl}
|
||||
|
||||
%\def\writ@names{\n@loop
|
||||
% \setbox\n@otebox\llap{\vbox{\hbox\@to\parindent{%
|
||||
% \hss\csname instrument\romannumeral\noinstrum@nt\endcsname\hss}}~~}%
|
||||
% \altportee\altitude \Comp@High\advance\y@v-\ht\n@otebox
|
||||
% \advance\altportee\h@lf\y@v \raise\altportee\box\n@otebox \repeat}
|
||||
%\let\Writ@names\writ@names
|
||||
|
||||
%\let\instrumenti\empty \let\instrumentii\empty \let\instrumentiii\empty
|
||||
%\let\instrumentiv\empty \let\instrumentv\empty \let\instrumentvi\empty
|
||||
|
||||
% ============================
|
||||
|
||||
\def\dimin{\decrescendo{4\qn@width}}
|
||||
\def\Dimin{\decrescendo{8\qn@width}}
|
||||
\def\DImin{\decrescendo{12\qn@width}}
|
||||
\def\DIMin{\decrescendo{16\qn@width}}
|
||||
\def\DIMIn{\decrescendo{24\qn@width}}
|
||||
\def\DIMIN{\decrescendo{36\qn@width}}
|
||||
\def\cresc{\crescendo{4\qn@width}}
|
||||
\def\Cresc{\crescendo{8\qn@width}}
|
||||
\def\CResc{\crescendo{12\qn@width}}
|
||||
\def\CREsc{\crescendo{16\qn@width}}
|
||||
\def\CRESc{\crescendo{24\qn@width}}
|
||||
\def\CRESC{\crescendo{36\qn@width}}
|
||||
|
||||
\let\interligne\Interligne
|
||||
\def\debutmorceau{\ifstartmuflex@done\else\startmuflex\fi
|
||||
\startpiece
|
||||
\let\debutmorceau\startpiece}
|
||||
\let\finmorceau\Stoppiece
|
||||
\let\zfinmorceau\zstoppiece
|
||||
\let\finpartition\stoppiece
|
||||
\let\debutextrait\startextract
|
||||
\let\finextrait\endextract
|
||||
\let\zfinextrait\zendextract
|
||||
\let\reprmorceau\contpiece
|
||||
\let\lreprmorceau\contpiece
|
||||
\def\preprmorceau{\eject \global\linesinpage\z@ \contpiece}
|
||||
\def\resetsignatures{\generalsignature0\savesignature}
|
||||
\def\alapage{\stoppiece\eject \global\linesinpage\z@ \contpiece}
|
||||
\def\zalapage{\zstoppiece\eject \global\linesinpage\z@ \contpiece}
|
||||
\def\pchangecontext{\n@wbar\writ@newclefs\writ@newsigns
|
||||
\z@suspend \eject \global\linesinpage\z@ \contpiece}
|
||||
\def\lchangecontext{\n@wbar\writ@newclefs\writ@newsigns
|
||||
\z@suspend \count@lines \contpiece}
|
||||
\let\xbeambarre\bar
|
||||
\def\xbarre{\xbar}
|
||||
\def\zbarre{\zbar}
|
||||
\let\temps\empty
|
||||
\let\zglue\empty
|
||||
\let\zglu\empty
|
||||
\let\doublebarre\doublebar
|
||||
|
||||
\def\leftrightrepeatsymbol{\C@rep\l@eftrightrepeat}
|
||||
\def\leftrepeatsymbol{\C@rep\l@eftrepeat}
|
||||
\def\rightrepeatsymbol{\C@rep\r@ightrepeat}
|
||||
\def\C@rep#1{\advance\n@skip\beforeruleskip \widthtyp@\@ne \t@rmskip
|
||||
#1\widthtyp@\z@ \t@rmskip\addspace\afterruleskip}
|
||||
|
||||
%\let\suspmorceau\stoppiece
|
||||
%\let\Suspmorceau\Stoppiece
|
||||
\let\computewidths\empty
|
||||
\let\computespecifics\empty
|
||||
\let\zsuspmorceau\zstoppiece
|
||||
\let\signaturegenerale\generalsignature
|
||||
\let\pointdorgue\fermataup
|
||||
\let\pointdurgue\fermatadown
|
||||
\let\zbv\zbreve
|
||||
\let\zsb\zmaxima
|
||||
\let\ha\hu
|
||||
\let\resetfacteurs\resetlayout
|
||||
\let\savesignature\empty
|
||||
\let\savemeter\empty
|
||||
\let\savemeters\empty
|
||||
\let\saveclefs\empty
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\let\ITenu\istieu
|
||||
\let\ITenl\istied
|
||||
%%%%%%%%%%%%%%%%%%
|
||||
\let\ilegu\isluru
|
||||
\let\ilegl\islurd
|
||||
\let\Ilegu\isluru
|
||||
\let\Ilegl\islurd
|
||||
%\let\tleg\tslur
|
||||
%\def\Tleg#1{\roff{\ttie#1}}
|
||||
\let\Invertslur\invertslur
|
||||
\let\qh\qb
|
||||
\let\qhp\qbp
|
||||
\let\qhpp\qbpp
|
||||
\let\zqh\zqb
|
||||
\let\zqhp\zqbp
|
||||
\let\zqhpp\zqbpp
|
||||
\let\hh\hb
|
||||
\let\soupir\qp
|
||||
\let\dsoupir\ds
|
||||
\let\demisoupir\ds
|
||||
\let\qsoupir\qs
|
||||
\let\quartsoupir\qs
|
||||
\let\hsoupir\hs
|
||||
\let\huitsoupir\hs
|
||||
\let\seizsoupir\qqs
|
||||
\let\Pince\Shake
|
||||
\let\pince\shake
|
||||
\let\Lpince\Shakel
|
||||
\let\Pincesw\Shakesw
|
||||
\let\Pincene\Shakene
|
||||
\let\Pincenw\Shakenw
|
||||
\let\mordant\mordent
|
||||
\let\nblines\z@
|
||||
\let\wd@skip\wn@width
|
||||
\let\musicnfont\musixfont
|
||||
|
||||
\let\clefdesolsymbol\trebleclef
|
||||
\let\clefdefasymbol\altoclef
|
||||
\let\clefdutsymbol\bassclef
|
||||
\let\gclefdut\gregorianCclef
|
||||
\let\drumclefsymbol\drumclef
|
||||
\let\smallclefdesol\smalltrebleclef
|
||||
\let\smallclefdefa\smallaltoclef
|
||||
\let\smallclefdut\smallbassclef
|
||||
|
||||
\let\cmbxmicro\sevenbf
|
||||
\let\cmbxtiny\eightbf
|
||||
\let\cmbxsmall\tenbf
|
||||
\let\cmbx\twelvebf
|
||||
\let\cmbxbig\bigfont
|
||||
\let\moyen\bigfont
|
||||
\let\gros\Bigfont
|
||||
\let\enorme\BIGfont
|
||||
|
||||
\def\setprimavolta{\setvolta1}
|
||||
\def\setsecondavolta{\setvolta2}
|
||||
|
||||
\def\advancebottom#1{}
|
||||
\newif\ifraggedlines
|
||||
\newcount\linesinpage
|
||||
\newcount\barsinline@ori
|
||||
\let\barsinline\barsinline@ori
|
||||
\newcount\maxbarsinline
|
||||
\newcount\maxlinesinpage \maxlinesinpage\maxdimen
|
||||
\newskip\zglueskip
|
||||
\newskip\tempsskip
|
||||
|
||||
%%% definitions for holding up compatibility, not supported in musixtex
|
||||
|
||||
\let\endinstrument\@ndstaff
|
||||
\def\huslur#1#2{\errmessage{No more need for \noexpand\huslur!}}
|
||||
\def\hdslur#1#2{\errmessage{No more need for \noexpand\hdslur!}}
|
||||
\def\liftslur#1#2{\errmessage{\noexpand\liftslur is not supported in MusiXTeX}}
|
||||
|
||||
\def\expause#1{\charnote{#1}{\musicnorfont\char 11\hss}}
|
||||
\def\zexpause#1{\zcharnote{#1}{\musicnorfont\char 11\hss}}
|
||||
\def\exhpause#1{\charnote{#1}{\musicnorfont\char 10\hss}}
|
||||
\def\zexhpause#1{\zcharnote{#1}{\musicnorfont\char 10\hss}}
|
||||
|
||||
\def\vdlthick{\vrule depth \hlthick}
|
||||
\let\resettens\empty
|
||||
\let\resetstem\resetst@m
|
||||
\let\setstem\setst@m
|
||||
\let\resetlegs\empty
|
||||
\let\savepenalties\empty
|
||||
\let\currenthyphenpenalty\empty
|
||||
\let\setnohyphenpenalty\empty
|
||||
\let\sethyphenpenalty\empty
|
||||
\let\setnormalhyphen\empty
|
||||
\let\glueaftersymbol\empty
|
||||
\def\zgluearule{\addspace\afterruleskip}%
|
||||
\let\gluearule\zgluearule
|
||||
\let\ygluearule\zgluearule
|
||||
\let\Writesignatures\writ@signs
|
||||
\let\changecontexte\changecontext
|
||||
\let\Changecontexte\Changecontext
|
||||
\let\Changeclefs\changeclefs
|
||||
\let\Changeclef\Changeclefs
|
||||
\def\shortstems{\stemlength4}%
|
||||
\def\normalstems{\stemlength{4.66}}%
|
||||
\normalstems
|
||||
|
||||
\def\phpause{\hbox to \noteskip{\vrule width
|
||||
1.2\qn@width height \internote\hss}}%
|
||||
%\def\pause{\hbox{\raise 5\internote\phpause}}%
|
||||
%\def\hpause{\hbox{\raise 4\internote\phpause}}%
|
||||
\let\zha\zhu
|
||||
\def\minternote{-\internote}%
|
||||
\def\ffff{{\ppff {f}\kern -0.1ex{f}\kern -0.1ex{f}\kern -0.1ex{f}}}
|
||||
\def\testseq{}%
|
||||
|
||||
\def\rtenl#1#2{\roff{\islurd{#1}{#2}}}
|
||||
\def\rtenu#1#2{\roff{\isluru{#1}{#2}}}
|
||||
|
||||
\def\diamg{\ynq}
|
||||
\def\diamw{\dnq}
|
||||
|
||||
\def\zdiamg{\yznq}
|
||||
\def\zdiamw{\dznq}
|
||||
|
||||
\def\carrg{\squ}
|
||||
\def\zcarrg{\zsqu}
|
||||
\def\carpg{\lsqu}
|
||||
\def\zcarpg{\zlsqu}
|
||||
\def\carqg{\rsqu}
|
||||
\def\zcarqg{\zrsqu}
|
||||
|
||||
\def\yu{\yqu}
|
||||
\def\yup{\yqup}
|
||||
\def\yupp{\yqupp}
|
||||
\def\yuppp{\yquppp}
|
||||
\def\yl{\yql}
|
||||
\def\ylp{\yqlp}
|
||||
\def\ylpp{\yqlpp}
|
||||
\def\ylppp{\yqlppp}
|
||||
|
||||
\def\yh{\yqb}
|
||||
\def\yb{\yqb}
|
||||
|
||||
\def\zy{\yzq}
|
||||
\def\zyp{\yzqp}
|
||||
\def\zypp{\yzqpp}
|
||||
\def\zyppp{\yzqppp}
|
||||
|
||||
\def\du{\dqu}
|
||||
\def\dup{\dqup}
|
||||
\def\dupp{\dqupp}
|
||||
\def\duppp{\dquppp}
|
||||
|
||||
\def\dl{\dql}
|
||||
\def\dlp{\dqlp}
|
||||
\def\dlpp{\dqlpp}
|
||||
\def\dlppp{\dqlppp}
|
||||
|
||||
\def\dh{\dqb}
|
||||
\def\db{\dqb}
|
||||
|
||||
\def\zd{\dzq}
|
||||
\def\zdp{\dzqp}
|
||||
\def\zdpp{\dzqpp}
|
||||
\def\zdppp{\dzqppp}
|
||||
|
||||
\def\xu{\xqu}
|
||||
\def\xup{\x@symbol\@qup}
|
||||
\def\xupp{\x@symbol\@qupp}
|
||||
\def\xl{\xql}
|
||||
\def\xlp{\x@symbol\@qlp}
|
||||
\def\xlpp{\x@symbol\@qlpp}
|
||||
|
||||
\let\xb\xqb
|
||||
\let\xh\xqb
|
||||
|
||||
\def\zx{\xzq}
|
||||
\def\zxp{\x@symbol\@zqp}
|
||||
\def\zxpp{\x@symbol\@zqpp}
|
||||
|
||||
\def\xcccu{\x@symbol\@cccu}
|
||||
\def\xccccu{\x@symbol\@ccccu}
|
||||
\def\xcccl{\x@symbol\@cccl}
|
||||
\def\xccccl{\x@symbol\@ccccl}
|
||||
|
||||
\def\xclp{\x@symbol\@clp}
|
||||
\def\xcup{\x@symbol\@cup}
|
||||
\def\xclpp{\x@symbol\@clpp}
|
||||
\def\xcupp{\x@symbol\@cupp}
|
||||
|
||||
\def\oxu{\oxqu}
|
||||
\def\oxup{\ox@symbol\@qup}
|
||||
\def\oxupp{\ox@symbol\@qupp}
|
||||
\def\oxl{\oxql}
|
||||
\def\oxlp{\ox@symbol\@qlp}
|
||||
\def\oxlpp{\ox@symbol\@qlpp}
|
||||
|
||||
\def\oxb\oxqb
|
||||
\let\oxh\oxqb
|
||||
|
||||
\def\ozx{\oxzq}
|
||||
\def\ozxp{\ox@symbol\@zqp}
|
||||
\def\ozxpp{\ox@symbol\@zqpp}
|
||||
|
||||
\def\oxcccu{\ox@symbol\@cccu}
|
||||
\def\oxccccu{\ox@symbol\@ccccu}
|
||||
\def\oxcccl{\ox@symbol\@cccl}
|
||||
\def\oxccccl{\ox@symbol\@ccccl}
|
||||
|
||||
\def\oxclp{\ox@symbol\@clp}
|
||||
\def\oxcup{\ox@symbol\@cup}
|
||||
\def\oxclpp{\ox@symbol\@clpp}
|
||||
\def\oxcupp{\ox@symbol\@cupp}
|
||||
|
||||
\def\ku{\kqu}
|
||||
\def\kup{\k@symbol\@qup}
|
||||
\def\kupp{\k@symbol\@qupp}
|
||||
\def\kl{\kql}
|
||||
\def\klp{\k@symbol\@qlp}
|
||||
\def\klpp{\k@symbol\@qlpp}
|
||||
|
||||
\let\kb\kqb
|
||||
\let\kh\kqb
|
||||
|
||||
\def\zk{\kzq}
|
||||
\def\zkp{\k@symbol\@zqp}
|
||||
\def\zkpp{\k@symbol\@zqpp}
|
||||
|
||||
\def\kcccu{\k@symbol\@cccu}
|
||||
\def\kccccu{\k@symbol\@ccccu}
|
||||
\def\kcccl{\k@symbol\@cccl}
|
||||
\def\kccccl{\k@symbol\@ccccl}
|
||||
|
||||
\def\kclp{\k@symbol\@clp}
|
||||
\def\kcup{\k@symbol\@cup}
|
||||
\def\kclpp{\k@symbol\@clpp}
|
||||
\def\kcupp{\k@symbol\@cupp}
|
||||
|
||||
%%% text, lyrics
|
||||
|
||||
\def\midtwotext{\let\@Ti\hss \let\@Tii\hss \C@midcpt}
|
||||
\def\rmidtwotext{\let\@Ti\empty \let\@Tii\hss \C@midcpt}
|
||||
\def\zmidtwotext{\zmidstaff}
|
||||
\def\lmidtwotext{\let\@Ti\hss \let\@Tii\empty \C@midcpt}
|
||||
|
||||
\def\C@midcpt#1{\check@staff
|
||||
\y@v\interportee \advance\y@v\f@ur\Interligne \divide\y@v\tw@
|
||||
\raise\y@v\uplap{\hbox\@to\noteskip{\@Ti\strut#1\@Tii}\vss}%
|
||||
\advance\locx@skip\noteskip
|
||||
\fi}
|
||||
|
||||
% for what ?
|
||||
|
||||
\def\sforz#1{{\advance\transpose by -2\usf{#1}}}
|
||||
\def\pz#1{{\advance\transpose by -2\upz{#1}}}
|
||||
\def\ppz{\uppz}
|
||||
\def\st#1{{\advance\transpose by -2\ust{#1}}}
|
||||
|
||||
% octlines
|
||||
|
||||
\def\barfill{\leaders\hbox{ --}\hfill}%
|
||||
\def\octnvrule{\vrule width \z@ height 3\p@ depth 3\p@}%
|
||||
\def\octvrule{\vrule width \lthick height 3\p@ depth 3\p@}%
|
||||
\def\octsup#1#2{\zcharnote{#1}{\hbox to #2\noteskip
|
||||
{\llap{\rm 8}\barfill\octnvrule}}}%
|
||||
\def\Octsup#1#2{\zcharnote{#1}{\hbox to #2{\rm 8\barfill\octnvrule}}}%
|
||||
%\check
|
||||
%\def\octfin#1#2{\zcharnote{#1}{\hbox to #2\noteskip{\llap{\rm 8}\barfill
|
||||
%--\octvrule}}}%
|
||||
\let\octfin\octfinup
|
||||
\def\Octfin#1#2{\zcharnote{#1}{\hbox to #2{\rm 8\barfill
|
||||
--\octvrule}}}%
|
||||
\def\octline#1{\zcharnote{#1}{\hbox to \line@width{\llap{\rm 8}\barfill
|
||||
\octnvrule\hskip 12\Internote}}}%
|
||||
\def\Octline#1{\zcharnote{#1}{\hbox to \line@width{\rm 8\barfill
|
||||
\octnvrule\hskip 8\Internote}}}%
|
||||
%\check
|
||||
|
||||
\def\octlineup{\n@v\@xxiii\C@ol}
|
||||
\def\octlinedown{\n@v\@xxv \C@ol}
|
||||
\def\C@ol#1{\zcharnote{#1}{\getcurpos\y@eol\advance\y@-\y@v
|
||||
\hbox\@to\y@{\octnumber\mxsps\xleaders\hbox{\char\n@v}\hfill}}}
|
||||
|
||||
% now different meaning !!!
|
||||
|
||||
\def\trilleC#1{\hbox to #1{\leaders\hbox{\musixchar69}\hfill}}%
|
||||
\let\trille\trilleC
|
||||
\def\TrilleC#1{\hbox to #1{\it tr\leaders\hbox{\musixchar69}\hfill}}%
|
||||
\let\Trille\TrilleC
|
||||
|
||||
\def\ntrille#1#2{\zcharnote{#1}{\trille{#2\elemskip}}}%
|
||||
\def\nTrille#1#2{\zcharnote{#1}{\Trille{#2\elemskip}}}%
|
||||
\def\xtrille#1#2{\zcharnote{#1}{\trille{#2}}}%
|
||||
\def\xTrille#1#2{\zcharnote{#1}{\Trille{#2}}}%
|
||||
|
||||
% finding which class of fonts is normally used (cmxxx, dmxxx, dcxxx,...)
|
||||
|
||||
\def\@wsa#1#2+{#1}
|
||||
\def\@wsb#1#2#3+{#2}
|
||||
\rm
|
||||
\edef\fonthdg{\expandafter\@wsa\fontname\the\font+}
|
||||
\edef\fonthdge{\expandafter\@wsb\fontname\the\font+}
|
||||
|
||||
% new coda is centered above a barrule
|
||||
|
||||
\def\coda{\n@iv85\@Char}
|
||||
|
||||
% special wish
|
||||
|
||||
\let\octline\octlineup
|
||||
|
||||
% old spacings
|
||||
|
||||
\def\normal{\elemskip=4\Internote \def\scalenoteskip{1.00}%
|
||||
\def\notes{\vnotes1.0\elemskip}% double croches
|
||||
\def\notesp{\vnotes1.18\elemskip}% double croches
|
||||
\def\Notes{\vnotes1.4\elemskip}% croches
|
||||
\def\Notesp{\vnotes1.66\elemskip}% croches
|
||||
\def\NOtes{\vnotes2.0\elemskip}% croches pointees
|
||||
\def\NOtesp{\vnotes2.36\elemskip}% croches pointees
|
||||
\def\NOTes{\vnotes2.8\elemskip}% noires
|
||||
\def\NOTesp{\vnotes3.32\elemskip}% noires
|
||||
\def\NOTEs{\vnotes4.0\elemskip}%
|
||||
\def\NOTEsp{\vnotes4.72\elemskip}%
|
||||
\def\NOTES{\vnotes5.6\elemskip}}
|
||||
|
||||
% \large could cause trouble, if user changes \scalenoteskip on his own,
|
||||
% but this is *HIS* problem
|
||||
|
||||
\ifx\large\undefined \def\large{\normal\def\scalenoteskip{1.2}}\fi
|
||||
|
||||
\def\etroit{\normal
|
||||
\def\Notes{\vnotes1.3\elemskip}%
|
||||
\def\NOtes{\vnotes1.8\elemskip}%
|
||||
\def\NOTes{\vnotes2.6\elemskip}%
|
||||
\def\NOTEs{\vnotes3.6\elemskip}%
|
||||
\def\NOTES{\vnotes5.2\elemskip}}
|
||||
|
||||
% correct the shifting of arpeggio to musictex's appearance,
|
||||
% a little bit tricky, but works
|
||||
|
||||
\let\arpeggio@X\arpeggio
|
||||
\def\arpeggio#1#2{\roffset{.2}{\arpeggio@X{#1}{#2}}}
|
||||
\def\larpeggio#1#2{\loffset{.6}{\arpeggio@X{#1}{#2}}} % .6=\smallvalue - 0.2
|
||||
|
||||
% correct (nearly) the distance between note and accidental
|
||||
|
||||
\accshift=-.1\qn@width
|
||||
|
||||
% 'translate' old metertoks (works only if they are used as
|
||||
% \metertoksi={...}, not for \metertoksi{...}
|
||||
|
||||
\def\metertoksi#1#2{\if =#1\else\C@warn \fi
|
||||
\let\Writ@meters\writ@meters \m@ti={#2}}
|
||||
\def\metertoksii#1#2{\if =#1\else\C@warn \fi
|
||||
\let\Writ@meters\writ@meters \m@tii={#2}}
|
||||
\def\metertoksiii#1#2{\if =#1\else\C@warn \fi
|
||||
\let\Writ@meters\writ@meters \m@tiii={#2}}
|
||||
\def\metertoksiv#1#2{\if =#1\else\C@warn \fi
|
||||
\let\Writ@meters\writ@meters \m@tiv={#2}}
|
||||
\def\metertoksv#1#2{\if =#1\else\C@warn \fi
|
||||
\let\Writ@meters\writ@meters \m@tv={#2}}
|
||||
\def\metertoksvi#1#2{\if =#1\else\C@warn \fi
|
||||
\let\Writ@meters\writ@meters \m@tvi={#2}}
|
||||
|
||||
\def\C@warn{\errmessage{You MUST use '=' behind \noexpand\metertoks}\end}
|
||||
|
||||
\let\signi\a@si
|
||||
\let\signii\a@sii
|
||||
\let\signiii\a@siii
|
||||
\let\signiv\a@siv
|
||||
\let\signv\a@sv
|
||||
\let\signvi\a@svi
|
||||
|
||||
\let\cleftoksi\a@ci
|
||||
\let\cleftoksii\a@cii
|
||||
\let\cleftoksiii\a@ciii
|
||||
\let\cleftoksiv\a@civ
|
||||
\let\cleftoksv\a@cv
|
||||
\let\cleftoksvi\a@cvi
|
||||
|
||||
% to be used to make heavy bars at staff left
|
||||
|
||||
\newskip\nullthick
|
||||
\let\lowersonginstrum\maxdimen
|
||||
\let\uppersonginstrum\z@
|
||||
\newdimen\Interportee % distance between staffs of the same instrument (excl)
|
||||
|
||||
\def\xgetn@i#1\relax{\n@viii\z@ \n@i\maxdimen % par defaut
|
||||
\edef\t@ruc{\f@tok #1\relax\af@tok}%
|
||||
\edef\s@uite{\s@tok #1\empty\af@tok}%
|
||||
%% pas lettre
|
||||
\ifcat a\t@ruc \n@i\expandafter`\t@ruc\relax
|
||||
%% ramener au E (position zero en clef de sol, ut@ref=0)
|
||||
\ifnum\n@i>96\advance\n@i-101%
|
||||
\else\advance\n@i-\@lxxxiii % ramener au S= E + 14
|
||||
\fi
|
||||
\advance\n@i\ut@ref \advance\n@i\ut@ref \advance\n@i\transpose
|
||||
\edef\ss@uite{\noexpand\n@fon{\s@uite}}%
|
||||
%% cas active character dont chiffre
|
||||
\else
|
||||
\let\ss@uite\empty
|
||||
\let\alt@suite\empty
|
||||
\ifcat 1\t@ruc
|
||||
\if =\t@ruc \let\@TI\Xna \C@GET \fi
|
||||
\if *\t@ruc \sk \C@Get \fi
|
||||
\if .\t@ruc \let\@TI\pt \C@GET \fi
|
||||
\if >\t@ruc \let\@TI\Xdsh \C@GET \fi
|
||||
\if <\t@ruc \let\@TI\Xdfl \C@GET \fi
|
||||
\if !\t@ruc \transpose\normaltranspose \C@Get \fi
|
||||
\if '\t@ruc \advance\transpose\s@v@n \C@Get \fi
|
||||
\if `\t@ruc \advance\transpose-\s@v@n \C@Get \fi
|
||||
\ifnum\n@viii<\maxdimen \n@i#1\fi
|
||||
\else
|
||||
\if ^\t@ruc \let\@TI\Xsh \C@GET \fi
|
||||
\if _\t@ruc \let\@TI\Xfl \C@GET \fi
|
||||
\fi\alt@suite
|
||||
\fi}
|
||||
|
||||
% MusicTeX's settings
|
||||
|
||||
\afterruleskip=10pt % plus glue
|
||||
\beforeruleskip=2pt % plus glue
|
||||
\nostemcut
|
||||
|
||||
\let\nbinstruments\maxinstruments
|
||||
\normalnotesize
|
||||
\normal % to get \notes correctly defined
|
||||
\resetlayout
|
||||
\let\nbinstruments\@ne
|
||||
|
||||
\def\breath{\errmessage{\noexpand\breath\space not implemented in MusiXTeX,
|
||||
use \noexpand\zbreath\space or \noexpand\cbreath!}}
|
||||
|
||||
\endcatcodesmusic
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
272
musixtex/tex/musixcrd.tex
Normal file
272
musixtex/tex/musixcrd.tex
Normal file
|
@ -0,0 +1,272 @@
|
|||
%%
|
||||
%% This is file `musixcrd.tex',
|
||||
%% generated with the docstrip utility.
|
||||
%%
|
||||
%% The original source files were:
|
||||
%%
|
||||
%% musixcrd.dtx
|
||||
%%
|
||||
%% IMPORTANT NOTICE:
|
||||
%%
|
||||
%% For the copyright see the source file.
|
||||
%%
|
||||
%% Any modified versions of this file must be renamed
|
||||
%% with new filenames distinct from musixcrd.tex.
|
||||
%%
|
||||
%% For distribution of the original source see the terms
|
||||
%% for copying and modification in the file musixcrd.dtx.
|
||||
%%
|
||||
%% This generated file may be distributed as long as the
|
||||
%% original source files, as listed above, are part of the
|
||||
%% same distribution. (The sources need not necessarily be
|
||||
%% in the same archive or directory.)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% musixcrd - typsetting chord symbols with %%
|
||||
%% musixtex %%
|
||||
%% main source file contains code, doc, and examples %%
|
||||
%% $Id: musixcrd.dtx,v 1.7 2004/11/02 13:13:41 hennig Exp $ %%
|
||||
%% copyright 2004 , Robert Hennig %%
|
||||
%% this code is licensed in terms of the %%
|
||||
%% GNU Public License %%
|
||||
%% %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\ifx\makeatletter\undefined\def\makeatletter{\catcode`\@=11\relax}\fi
|
||||
\ifx\makeatother\undefined\def\makeatother{\catcode`\@=12\relax}\fi
|
||||
|
||||
\makeatletter% ^^A allows to use @ as ordinary letter
|
||||
\def\crddefaultheight{10}
|
||||
\def\crdtranspose{0}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\def\crd@append#1\to#2{%
|
||||
\toks0=\expandafter{#1}\toks2=\expandafter{#2}%
|
||||
\edef#2{\the\toks2 \the\toks0}}
|
||||
\def\crd@prepend#1\by#2{%
|
||||
\toks0=\expandafter{#1}\toks2=\expandafter{#2}%
|
||||
\edef#1{\the\toks2 \the\toks0}}
|
||||
\def\crd@movetoken#1\to#2{%
|
||||
\ifx#1\empty\else\expandafter\crd@moveoff#1\crd@moveoff#1#2\fi}%
|
||||
\def\crd@moveoff#1#2\crd@moveoff#3#4{\def#3{#2}\crd@prepend#4\by#1}
|
||||
\newif\ifcrd@parsematched% true if parse matched
|
||||
\newcount\crd@parsedepth% internal register
|
||||
|
||||
\def\crd@parse#1\for#2{% parse tokens #1 for occurence of items of table #2
|
||||
\crd@parsedepth=1 % default if not defined
|
||||
\expandafter\ifx\csname#2depth\endcsname\relax\else%
|
||||
\crd@parsedepth=\csname#2depth\endcsname%
|
||||
\fi%
|
||||
\def\stack{}%\def\crd@parseresult{}
|
||||
\crd@parsematchedfalse% initialisation
|
||||
\crd@parser#1\for#2% call the recursive part
|
||||
}
|
||||
\def\crd@parser#1\for#2{% recursive part of parser
|
||||
\ifx#1\empty\else% is list filled ?
|
||||
\ifnum\crd@parsedepth>0 % and do we have to read more chars into stack
|
||||
\advance\crd@parsedepth by-1 %
|
||||
\crd@movetoken#1\to\stack%
|
||||
\crd@parser#1\for#2% recursive call
|
||||
\ifcrd@parsematched\else% if still not matched
|
||||
\expandafter\ifx\csname#2\stack\endcsname\relax% does item match
|
||||
\crd@movetoken\stack\to#1% no match, put char back to source
|
||||
\else% match
|
||||
\csname#2\stack\endcsname%
|
||||
\crd@parsematchedtrue% signal success
|
||||
\fi%
|
||||
\fi%
|
||||
\fi%
|
||||
\fi%
|
||||
}
|
||||
\newcount\crd@vshift%
|
||||
\newcount\crd@hshift%
|
||||
\def\crd@number{crd@number}%
|
||||
\def\crd@numberdepth{2}%
|
||||
\expandafter\def\csname\crd@number0\endcsname{\crd@numberval=0 }%
|
||||
\expandafter\def\csname\crd@number1\endcsname{\crd@numberval=1 }%
|
||||
\expandafter\def\csname\crd@number2\endcsname{\crd@numberval=2 }%
|
||||
\expandafter\def\csname\crd@number3\endcsname{\crd@numberval=3 }%
|
||||
\expandafter\def\csname\crd@number4\endcsname{\crd@numberval=4 }%
|
||||
\expandafter\def\csname\crd@number5\endcsname{\crd@numberval=5 }%
|
||||
\expandafter\def\csname\crd@number6\endcsname{\crd@numberval=6 }%
|
||||
\expandafter\def\csname\crd@number7\endcsname{\crd@numberval=7 }%
|
||||
\expandafter\def\csname\crd@number8\endcsname{\crd@numberval=8 }%
|
||||
\expandafter\def\csname\crd@number9\endcsname{\crd@numberval=9 }%
|
||||
\expandafter\def\csname\crd@number1-\endcsname{\crd@numberval=-1 }%
|
||||
\expandafter\def\csname\crd@number2-\endcsname{\crd@numberval=-2 }%
|
||||
\expandafter\def\csname\crd@number3-\endcsname{\crd@numberval=-3 }%
|
||||
\expandafter\def\csname\crd@number4-\endcsname{\crd@numberval=-4 }%
|
||||
\expandafter\def\csname\crd@number5-\endcsname{\crd@numberval=-5 }%
|
||||
\expandafter\def\csname\crd@number6-\endcsname{\crd@numberval=-6 }%
|
||||
\expandafter\def\csname\crd@number7-\endcsname{\crd@numberval=-7 }%
|
||||
\expandafter\def\csname\crd@number8-\endcsname{\crd@numberval=-8 }%
|
||||
\expandafter\def\csname\crd@number9-\endcsname{\crd@numberval=-9 }%
|
||||
\newcount\crd@quint% register used to represent notes in the circle of
|
||||
\def\crd@quintval{crd@quintval}%
|
||||
\def\crd@quintvalA{\crd@quint=3 }% A
|
||||
\def\crd@quintvalB{\crd@quint=5 }% B
|
||||
\def\crd@quintvalC{\crd@quint=0 }% C
|
||||
\def\crd@quintvalD{\crd@quint=2 }% D
|
||||
\def\crd@quintvalE{\crd@quint=4 }% E
|
||||
\def\crd@quintvalF{\crd@quint=-1 }% F
|
||||
\def\crd@quintvalG{\crd@quint=1 }% G
|
||||
\def\crd@quintmod{crd@quintmod}
|
||||
\def\crd@quintmoddepth{2}
|
||||
\def\crd@quintmods{\advance\crd@quint by7 }% sharp
|
||||
\def\crd@quintmodf{\advance\crd@quint by-7 }% flat
|
||||
\def\crd@quintmodsd{\advance\crd@quint by14 }% double sharp
|
||||
\def\crd@quintmodfd{\advance\crd@quint by-14 }% double flat
|
||||
\def\crd@note{crd@note}
|
||||
\expandafter\def\csname\crd@note3\endcsname{A}
|
||||
\expandafter\def\csname\crd@note5\endcsname{B}
|
||||
\expandafter\def\csname\crd@note0\endcsname{C}
|
||||
\expandafter\def\csname\crd@note2\endcsname{D}
|
||||
\expandafter\def\csname\crd@note4\endcsname{E}
|
||||
\expandafter\def\csname\crd@note-1\endcsname{F}
|
||||
\expandafter\def\csname\crd@note1\endcsname{G}
|
||||
\def\crd@notelow{-1} % lowest quint without accidental
|
||||
\def\crd@notehigh{5} % highest quint without accidental
|
||||
\def\crd@sharp{\sharp}
|
||||
\def\crd@flat{\flat}
|
||||
\def\crd@doublesharp{\sharp\sharp}
|
||||
\def\crd@doubleflat{\flat\flat}
|
||||
\def\crd@parsenote#1#2{% parse input results: #1
|
||||
\def#1{}\def#2{}%
|
||||
\crd@parse\crd@input\for\crd@quintval%
|
||||
\ifcrd@parsematched% we got an valid note
|
||||
\crd@parse\crd@input\for\crd@quintmod%
|
||||
\advance\crd@quint by\crdtranspose \relax% transposition, space is needed!
|
||||
\crd@enharmonic%
|
||||
\ifnum\crd@quint>\crd@notehigh % sharps ?
|
||||
\advance\crd@quint by-7 %
|
||||
\ifnum\crd@quint>\crd@notehigh % double sharp ?
|
||||
\advance\crd@quint by-7 %
|
||||
\ifnum\crd@quint>\crd@notehigh % too much sharps !
|
||||
\relax ERROR:too much sharps%
|
||||
\else\edef#2{\crd@doublesharp}\fi%
|
||||
\else\edef#2{\crd@sharp}\fi%
|
||||
\fi%
|
||||
\ifnum\crd@quint<\crd@notelow % flats ?
|
||||
\advance\crd@quint by7 %
|
||||
\ifnum\crd@quint<\crd@notelow % double flat ?
|
||||
\advance\crd@quint by7 %
|
||||
\ifnum\crd@quint<\crd@notelow % too much flats !
|
||||
\relax ERROR:too much flats%
|
||||
\else\edef#2{\crd@doubleflat}\fi%
|
||||
\else\edef#2{\crd@flat}\fi%
|
||||
\fi%
|
||||
\expandafter\ifx\csname\crd@note\number\crd@quint\endcsname\relax%
|
||||
ERROR:notename for (\number\crd@quint) is not defined.
|
||||
\fi%
|
||||
\edef#1{\csname\crd@note\number\crd@quint\endcsname}% set note
|
||||
\fi%
|
||||
}
|
||||
\def\crd@enharmonic{}%
|
||||
\def\crd@qualinit{%
|
||||
\def\crd@lo{}% lower extensions
|
||||
\def\crd@up{}% upper extensioins
|
||||
\def\crd@alt{}% alterations
|
||||
}
|
||||
\def\crd@qual{crd@qual}%
|
||||
\def\crd@qualdepth{2}
|
||||
\def\crd@qualm{\crd@append{\crd@smalltype m}\to\crd@lo}% minor
|
||||
\def\crd@qualM{\crd@append{\crd@capitaltype M}\to\crd@lo}% major7
|
||||
\expandafter\def\csname\crd@qual5+\endcsname% aug. 5
|
||||
{\crd@append{+}\to\crd@lo}
|
||||
\expandafter\def\csname\crd@qual6\endcsname% 6
|
||||
{\crd@append{\crd@numbertype6}\to\crd@up}
|
||||
\expandafter\def\csname\crd@qual7\endcsname% dominant 7
|
||||
{\crd@append{\crd@numbertype7}\to\crd@up}
|
||||
\def\crd@quald{\crd@append{\crd@dim}\to\crd@up}% diminished
|
||||
\def\crd@qualh{\crd@append{\crd@hdim}\to\crd@up}% half diminished
|
||||
\expandafter\def\csname\crd@qual9-\endcsname% -9
|
||||
{\crd@append{\crd@numbertype\crd@numberflat9}\to\crd@alt}
|
||||
\expandafter\def\csname\crd@qual9+\endcsname% +9
|
||||
{\crd@append{\crd@numbertype\crd@numbersharp9}\to\crd@alt}
|
||||
\def\crd@skipcrdnote{crd@skipcrdnote}
|
||||
\expandafter\def\csname\crd@skipcrdnote/\endcsname{}
|
||||
\def\crd@parsecrd{%
|
||||
\crd@vshift=0 %
|
||||
\let\crd@numberval=\crd@vshift%
|
||||
\crd@parse\crd@input\for\crd@number%
|
||||
\crd@hshift=0 %
|
||||
\let\crd@numberval=\crd@hshift%
|
||||
\crd@parse\crd@input\for\crd@number%
|
||||
\def\crd@crdnote{}% chord note
|
||||
\def\crd@crdacc{}% chord note accidental
|
||||
\def\crd@bassnote{}% bass note
|
||||
\def\crd@bassacc{}% bass note accidental
|
||||
\crd@qualinit% initialize qualifiers
|
||||
\let\crd@flat=\crd@noteflat%
|
||||
\let\crd@doubleflat=\crd@notedoubleflat%
|
||||
\let\crd@sharp=\crd@notesharp%
|
||||
\let\crd@doublesharp=\crd@notedoublesharp%
|
||||
\crd@parsenote\crd@crdnote\crd@crdacc% read chord note
|
||||
\loop\crd@parse\crd@input\for\crd@qual% read qualifiers
|
||||
\ifcrd@parsematched\repeat%
|
||||
\crd@parse\crd@input\for\crd@skipcrdnote% skip eventually
|
||||
\let\crd@flat=\crd@bassflat%
|
||||
\let\crd@doubleflat=\crd@bassdoubleflat%
|
||||
\let\crd@sharp=\crd@basssharp%
|
||||
\let\crd@doublesharp=\crd@bassdoublesharp%
|
||||
\crd@parsenote\crd@bassnote\crd@bassacc% read bass note
|
||||
\crd@formatcrd\hfil% call rendering
|
||||
}
|
||||
\def\crd@crddelim{crd@crddelim}%
|
||||
\expandafter\def\csname\crd@crddelim,\endcsname{}%
|
||||
\def\crd@parsecrds{%
|
||||
\crd@parsecrd%
|
||||
\crd@parse\crd@input\for\crd@crddelim%
|
||||
\ifcrd@parsematched\crd@parsecrds\fi%
|
||||
}
|
||||
\def\c#1 {\def\crd@input{#1}\crd@output\crd@parsecrds}
|
||||
\def\crd@fontstylea{%
|
||||
\font\crd@eightrm=cmr8
|
||||
\font\crd@eightit=cmmi8
|
||||
\font\crd@seventeenrm=cmr17
|
||||
\font\crd@fourteenrm=cmr14
|
||||
\font\crd@twelverm=cmr12
|
||||
\font\crd@ninerm=cmr9
|
||||
\font\crd@smallninerm=cmr9 scaled 900
|
||||
\font\crd@bigninerm=cmr9 scaled 1100
|
||||
\let\crd@notetype=\crd@seventeenrm
|
||||
\def\crd@noteflat{\raise0.6ex\hbox{\kern-0.085em\musictwenty2}}
|
||||
\def\crd@notedoubleflat{\raise0.6ex\hbox{\kern-0.085em\musictwenty3}}
|
||||
\def\crd@notesharp{\raise0.8ex\hbox{\musictwenty4}}
|
||||
\def\crd@notedoublesharp{\raise0.8ex\hbox{\musictwenty5}}
|
||||
\let\crd@basstype=\crd@fourteenrm
|
||||
\def\crd@bassflat{\raise.5ex\hbox{\musicsixteen2}}
|
||||
\def\crd@bassdoubleflat{\raise0.6ex\hbox{\kern-0.085em\musicsixteen3}}
|
||||
\def\crd@basssharp{\raise1ex\hbox{\musicsixteen4}}
|
||||
\def\crd@bassdoublesharp{\raise0.8ex\hbox{\musicsixteen5}}
|
||||
\let\crd@numbertype=\crd@ninerm
|
||||
\def\crd@numberflat{\raise.5ex\hbox{\musiceleven2}}
|
||||
\def\crd@numbersharp{\raise1ex\hbox{\musiceleven4}}
|
||||
\def\crd@numberminus{\crd@ninerm-}
|
||||
\def\crd@numberplus{\crd@ninerm+}
|
||||
\let\crd@capitaltype=\crd@smallninerm % capitals
|
||||
\let\crd@smalltype=\crd@bigninerm % small
|
||||
\def\crd@hdim{\crd@eightit$\circ$\kern-4.4pt\raise.9pt\hbox{\crd@eightrm/}}
|
||||
\def\crd@dim{\crd@eightit$\circ$}
|
||||
}
|
||||
\def\crd@formatcrda{%
|
||||
\hbox{\kern\crd@hshift\elemskip\raise\crd@vshift\internote\hbox{%
|
||||
{\crd@notetype\crd@crdnote\crd@crdacc}%
|
||||
\vbox{%
|
||||
\hbox{%
|
||||
\crd@up%
|
||||
\ifx\crd@alt\empty\else\crd@numbertype(\crd@alt\crd@numbertype)\fi%
|
||||
}%
|
||||
\nointerlineskip\vskip1pt%
|
||||
\hbox{\vphantom{\crd@capitaltype M}\crd@lo}}%
|
||||
\ifx\crd@bassnote\empty\else%
|
||||
{\crd@basstype/%
|
||||
\lower0.5ex\hbox{\kern-0.17em \crd@bassnote\crd@bassacc}}%
|
||||
\fi%\
|
||||
}}
|
||||
}
|
||||
\let\crd@formatcrd=\crd@formatcrda
|
||||
\crd@fontstylea
|
||||
\def\crd@musixOutput#1{\hbox{\zchar{\crddefaultheight}{\hbox to\elemskip{#1\hss}}}}
|
||||
\let\crd@output=\crd@musixOutput
|
||||
\makeatother
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `musixcrd.tex'.
|
59
musixtex/tex/musixdat.tex
Normal file
59
musixtex/tex/musixdat.tex
Normal file
|
@ -0,0 +1,59 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\immediate\write16{MusiXDATes 0.36\space<1 March 1995>}%
|
||||
|
||||
\ifx\undefined\dategerman \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
%% This is 'stolen' from GERMAN.TEX or GERMAN.STY, Vers. 2.4a, 12 Apr 1991
|
||||
|
||||
% Dates
|
||||
% -----
|
||||
|
||||
\def\month@german{\ifcase\month \or
|
||||
Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
|
||||
Juli\or August\or September\or Oktober\or November\or Dezember\fi}
|
||||
\def\dategerman{\def\today{\number\day.~\month@german
|
||||
\space\number\year}}
|
||||
\def\dateaustrian{\def\today{\number\day.~\ifnum 1=\month
|
||||
J\"anner\else \month@german\fi \space\number\year}}
|
||||
\def\month@english{\ifcase\month \or
|
||||
January\or February\or March\or April\or May\or June\or
|
||||
July\or August\or September\or October\or November\or December\fi}
|
||||
\def\dateUSenglish{\def\today{\month@english
|
||||
\space\number\day, \number\year}}
|
||||
\def\dateenglish{\def\today{\number\day \ifcase\day \or
|
||||
st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or % 1..10
|
||||
th\or th\or th\or th\or th\or th\or th\or th\or th\or th\or % 11..20
|
||||
st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or % 21..30
|
||||
st\fi
|
||||
~\month@english \space\number\year}}
|
||||
\def\datefrench{\def\today{\number\day \ifnum1=\day \/$^{\rm er}$\fi
|
||||
\space\ifcase\month \or
|
||||
janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
|
||||
juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi
|
||||
\space\number\year}}
|
||||
|
||||
\def\aujourdhui{\datefrench\today}
|
||||
|
||||
\dateUSenglish% or whatever you prefer
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
250
musixtex/tex/musixdbr.tex
Normal file
250
musixtex/tex/musixdbr.tex
Normal file
|
@ -0,0 +1,250 @@
|
|||
\ifx\indivbarrules\undefined\else\endinput\fi
|
||||
|
||||
\immediate\write10{MusiXDashed and Dotted BaRlines 1.0\space<23 February 2002>}%
|
||||
% by Rainer Dunker
|
||||
% Ideas and code based on musixbar.tex
|
||||
% by Mthimkhulu Molekwa <MMolekwa@rrs.co.za>
|
||||
|
||||
\makeatletter
|
||||
|
||||
\newdimen\barline@depth
|
||||
|
||||
\def\barlinedash#1{\vskip.5\Internote
|
||||
\hrule\@width#1\@height\Internote
|
||||
\vskip.5\Internote}
|
||||
\def\barlinedots#1{\vskip.5\Internote
|
||||
\hbox to #1{\hss\tenrm.\hss}
|
||||
\vskip.5\Internote}
|
||||
|
||||
\def\rul@indiv#1{%
|
||||
\n@loop
|
||||
\Comp@High
|
||||
\multiply\barline@depth -1\relax
|
||||
\advance\barline@depth\altitude
|
||||
\expandafter\ifx\csname s@b\romannumeral\noinstrum@nt\endcsname\relax
|
||||
% normal barline below instrument
|
||||
\raise\altitude\rlap{\vrule\@depth\barline@depth\@width#1\@height0pt }%
|
||||
\else
|
||||
\expandafter\ifx\csname s@b\romannumeral\noinstrum@nt\endcsname 2%
|
||||
% dashed barline below instrument
|
||||
\raise\altitude\hbox{%
|
||||
\lower\barline@depth\rlap{%
|
||||
\vbox to \barline@depth{%
|
||||
\xleaders\vbox{\barlinedash{#1}}\vfill}}}%
|
||||
\else
|
||||
\expandafter\ifx\csname s@b\romannumeral\noinstrum@nt\endcsname 3%
|
||||
% dotted barline below instrument
|
||||
\raise\altitude\hbox{%
|
||||
\lower\barline@depth\rlap{%
|
||||
\vbox to \barline@depth{%
|
||||
\xleaders\vbox{\barlinedots{#1}}\vfill}}}%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\ifnum\st@ffs>1 % multi-staff instrument
|
||||
\multi@instrum@bars{#1}%
|
||||
\else % single-staff instrument
|
||||
\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname\relax
|
||||
% normal barline through instrument
|
||||
\raise\altitude\rlap{\vrule\@depth0pt \@width#1\@height\y@v}%
|
||||
\else
|
||||
\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname 2%
|
||||
% dashed barline through instrument
|
||||
\raise\altitude\rlap{%
|
||||
\vbox to \y@v{%
|
||||
\cleaders\vbox to 2\internote{\vss
|
||||
\hrule\@width#1\@height\internote
|
||||
\vss}%
|
||||
\vfill}}%
|
||||
\else
|
||||
\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname 3%
|
||||
% dotted barline through instrument
|
||||
\raise\altitude\rlap{%
|
||||
\vbox to \y@v{%
|
||||
\cleaders\vbox to 2\internote{\vss
|
||||
\hbox to #1{\hss\tenrm.\hss}%
|
||||
\vss}%
|
||||
\vfill}}%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\barline@depth\altitude
|
||||
\advance\barline@depth\y@v
|
||||
\repeat
|
||||
\addspace#1}
|
||||
|
||||
\def\multi@instrum@bars#1{%
|
||||
\begingroup
|
||||
% retrieve staff height
|
||||
\count@=\nblines \advance\count@ -1 \multiply\count@ 2
|
||||
\dimen@=\count@\internote
|
||||
\p@loop
|
||||
% barline within staff
|
||||
\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname\relax
|
||||
% normal barline through staff
|
||||
\raise\altportee\rlap{\vrule\@depth0pt \@width#1\@height\dimen@}%
|
||||
\else
|
||||
\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname 2%
|
||||
% dashed barline through staff
|
||||
\raise\altportee\rlap{%
|
||||
\vbox to \dimen@{%
|
||||
\cleaders\vbox to 2\internote{\vss
|
||||
\hrule\@width#1\@height\internote
|
||||
\vss}%
|
||||
\vfill}}%
|
||||
\else
|
||||
\expandafter\ifx\csname h@bl\romannumeral\noinstrum@nt\endcsname 3%
|
||||
% dotted barline through staff
|
||||
\raise\altportee\rlap{%
|
||||
\vbox to \dimen@{%
|
||||
\cleaders\vbox to 2\internote{\vss
|
||||
\hbox to #1{\hss\tenrm.\hss}%
|
||||
\vss}%
|
||||
\vfill}}%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\count@portee
|
||||
% barline above staff
|
||||
\ifnum\noport@@<\st@ffs % not for topmost staff
|
||||
\barline@depth\interportee
|
||||
\advance\barline@depth -\dimen@
|
||||
\raise\altportee\hbox{\raise\dimen@\rlap{%
|
||||
\expandafter\ifx\csname s@mb\romannumeral\noinstrum@nt\endcsname
|
||||
\relax
|
||||
% normal barline
|
||||
\vrule\@height\barline@depth\@width#1\relax
|
||||
\else
|
||||
\expandafter\ifx\csname s@mb\romannumeral\noinstrum@nt\endcsname 2%
|
||||
% dashed barline
|
||||
\vbox to \barline@depth{%
|
||||
\xleaders\vbox{\barlinedash{#1}}\vfill}%
|
||||
\else
|
||||
\expandafter\ifx\csname s@mb\romannumeral\noinstrum@nt\endcsname
|
||||
3% dotted barline
|
||||
\vbox to \barline@depth{%
|
||||
\xleaders\vbox{\barlinedots{#1}}\vfill}%
|
||||
\fi
|
||||
\fi
|
||||
\fi}}%
|
||||
\fi
|
||||
\repeat
|
||||
\endgroup}
|
||||
|
||||
|
||||
% Activate individual barline processing
|
||||
\def\indivbarrules{%
|
||||
\let\writ@rule\rul@indiv
|
||||
\sepbarrule 1}
|
||||
|
||||
%== separates bar line of specified instrument from one of previous instrument
|
||||
\def\sepbarrule#1{\expandafter\let\csname s@b\romannumeral#1\endcsname 1}
|
||||
|
||||
%== connects bar line of specified instrument to one of previous instrument
|
||||
% with dashed line
|
||||
\def\condashbarrule#1{%
|
||||
\ifnum#1>1 \expandafter\let\csname s@b\romannumeral#1\endcsname 2\fi}
|
||||
|
||||
%== connects bar line of specified instrument to one of previous instrument
|
||||
% with dotted line
|
||||
\def\condotbarrule#1{%
|
||||
\ifnum#1>1 \expandafter\let\csname s@b\romannumeral#1\endcsname 3\fi}
|
||||
|
||||
%== connects bar line of specified instrument to one of previous instrument
|
||||
\def\conbarrule#1{%
|
||||
\ifnum#1>1 \expandafter\let\csname s@b\romannumeral#1\endcsname\relax\fi}
|
||||
|
||||
%== hides bar line for specified instrument
|
||||
\def\hidebarrule#1{\expandafter\let\csname h@bl\romannumeral#1\endcsname 1}
|
||||
|
||||
%== dashes bar line for specified instrument
|
||||
\def\showdashbarrule#1{\expandafter\let\csname h@bl\romannumeral#1\endcsname 2}
|
||||
|
||||
%== dots bar line for specified instrument
|
||||
\def\showdotbarrule#1{\expandafter\let\csname h@bl\romannumeral#1\endcsname 3}
|
||||
|
||||
%== shows bar line for specified instrument
|
||||
\def\showbarrule#1{\expandafter\let\csname h@bl\romannumeral#1\endcsname\relax}
|
||||
|
||||
%== separates bar line within multistaff instrument
|
||||
\def\sepmultibarrule#1{\expandafter\let\csname s@mb\romannumeral#1\endcsname 1}
|
||||
|
||||
%== dashes bar line between staves of multistaff instrument
|
||||
\def\condashmultibarrule#1{%
|
||||
\expandafter\let\csname s@mb\romannumeral#1\endcsname 2}
|
||||
|
||||
%== dots bar line between staves of multistaff instrument
|
||||
\def\condotmultibarrule#1{%
|
||||
\expandafter\let\csname s@mb\romannumeral#1\endcsname 3}
|
||||
|
||||
%== shows bar line between staves of multistaff instrument
|
||||
\def\conmultibarrule#1{%
|
||||
\expandafter\let\csname s@mb\romannumeral#1\endcsname\relax}
|
||||
|
||||
% set barlines for all instruments together
|
||||
\def\allbarrules#1{\n@loop#1\noinstrum@nt\repeat}
|
||||
|
||||
|
||||
\makeatother
|
||||
\endinput
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Here comes an example of how to use these macros
|
||||
|
||||
\input musixtex
|
||||
\input musixdbr
|
||||
|
||||
\instrumentnumber4
|
||||
\setstaffs23
|
||||
\setstaffs32
|
||||
\setlines14
|
||||
\setsize2\tinyvalue
|
||||
|
||||
\indivbarrules
|
||||
|
||||
\startpiece
|
||||
% normal barlines
|
||||
\bar
|
||||
% barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showbarrule
|
||||
\bar
|
||||
% barlines between staves
|
||||
\allbarrules\conbarrule
|
||||
\allbarrules\conmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\bar
|
||||
% dashed barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showdashbarrule
|
||||
\bar
|
||||
% dashed barlines between staves
|
||||
\allbarrules\condashbarrule
|
||||
\allbarrules\condashmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\bar
|
||||
% dotted barlines on staves
|
||||
\allbarrules\sepbarrule
|
||||
\allbarrules\sepmultibarrule
|
||||
\allbarrules\showdotbarrule
|
||||
\bar
|
||||
% dotted barlines between staves
|
||||
\allbarrules\condotbarrule
|
||||
\allbarrules\condotmultibarrule
|
||||
\allbarrules\hidebarrule
|
||||
\bar
|
||||
% a wild mixture of all
|
||||
\showdotbarrule1\hidebarrule2\showdashbarrule3\showbarrule4%
|
||||
\condashbarrule2\conbarrule3\condotbarrule4%
|
||||
\condashmultibarrule2\sepmultibarrule3%
|
||||
\bar
|
||||
% conventional ending
|
||||
\allbarrules\showbarrule
|
||||
\allbarrules\conbarrule
|
||||
\allbarrules\conmultibarrule
|
||||
\Endpiece
|
||||
\bye
|
110
musixtex/tex/musixdia.tex
Normal file
110
musixtex/tex/musixdia.tex
Normal file
|
@ -0,0 +1,110 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
\immediate\write16{MusiXDIAmond T.40\space<12 September 1995>}%
|
||||
|
||||
\ifx\undefined\dqu \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
%%% notes with a unfilled diamond head, for gregorian and flagolet notes ...
|
||||
|
||||
\def\d@symbol{\def\q@u{\musixfont\&}}
|
||||
|
||||
\def\dnq{\d@symbol\@nq}
|
||||
\def\dznq{\advancefalse\dnq}
|
||||
|
||||
\def\dqu{\d@symbol\@qu}
|
||||
\def\dqup{\d@symbol\@qup}
|
||||
\def\dqupp{\d@symbol\@qupp}
|
||||
%\def\dquppp{\d@symbol\@quppp}
|
||||
|
||||
\def\dql{\d@symbol\@ql}
|
||||
\def\dqlp{\d@symbol\@qlp}
|
||||
\def\dqlpp{\d@symbol\@qlpp}
|
||||
%\def\dqlppp{\d@symbol\@qlppp}
|
||||
|
||||
\def\dqb{\d@symbol\@qb}
|
||||
|
||||
\def\dzq{\d@symbol\@zq}
|
||||
\def\dzqp{\d@symbol\@zqp}
|
||||
\def\dzqpp{\d@symbol\@zqpp}
|
||||
%\def\dzqppp{\d@symbol\@zqppp}
|
||||
|
||||
\def\dcu{\d@symbol\@cu}
|
||||
\def\dccu{\d@symbol\@ccu}
|
||||
\def\dcccu{\d@symbol\@cccu}
|
||||
\def\dccccu{\d@symbol\@ccccu}
|
||||
\def\dcl{\d@symbol\@cl}
|
||||
\def\dccl{\d@symbol\@ccl}
|
||||
\def\dcccl{\d@symbol\@cccl}
|
||||
\def\dccccl{\d@symbol\@ccccl}
|
||||
|
||||
\def\dcup{\d@symbol\@cup}
|
||||
\def\dcupp{\d@symbol\@cupp}
|
||||
%\def\dcuppp{\d@symbol\@cuppp}
|
||||
|
||||
\def\dclp{\d@symbol\@clp}
|
||||
\def\dclpp{\d@symbol\@clpp}
|
||||
%\def\dclppp{\d@symbol\@clppp}
|
||||
|
||||
%%% notes with a filled diamond head, for gregorian notes ...
|
||||
|
||||
\def\y@symbol{\def\q@u{\musixfont\%}}
|
||||
|
||||
\def\ynq{\y@symbol\@nq}
|
||||
\def\yznq{\advancefalse\ynq}
|
||||
\def\zynq{\advancefalse\ynq}
|
||||
|
||||
\def\yqu{\y@symbol\@qu}
|
||||
\def\yqup{\y@symbol\@qup}
|
||||
\def\yqupp{\y@symbol\@qupp}
|
||||
%\def\yquppp{\y@symbol\@quppp}
|
||||
|
||||
\def\yql{\y@symbol\@ql}
|
||||
\def\yqlp{\y@symbol\@qlp}
|
||||
\def\yqlpp{\y@symbol\@qlpp}
|
||||
%\def\yqlppp{\y@symbol\@qlppp}
|
||||
|
||||
\def\yqb{\y@symbol\@qb}
|
||||
|
||||
\def\yzq{\y@symbol\@zq}
|
||||
\def\yzqp{\y@symbol\@zqp}
|
||||
\def\yzqpp{\y@symbol\@zqpp}
|
||||
%\def\yzqppp{\y@symbol\@zqppp}
|
||||
|
||||
\def\ycu{\y@symbol\@cu}
|
||||
\def\yccu{\y@symbol\@ccu}
|
||||
\def\ycccu{\y@symbol\@cccu}
|
||||
\def\yccccu{\y@symbol\@ccccu}
|
||||
\def\ycl{\y@symbol\@cl}
|
||||
\def\yccl{\y@symbol\@ccl}
|
||||
\def\ycccl{\y@symbol\@cccl}
|
||||
\def\yccccl{\y@symbol\@ccccl}
|
||||
|
||||
\def\ycup{\y@symbol\@cup}
|
||||
\def\ycupp{\y@symbol\@cupp}
|
||||
%\def\ycuppp{\y@symbol\@cuppp}
|
||||
|
||||
\def\yclp{\y@symbol\@clp}
|
||||
\def\yclpp{\y@symbol\@clpp}
|
||||
%\def\yclppp{\y@symbol\@clppp}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
169
musixtex/tex/musixec.tex
Normal file
169
musixtex/tex/musixec.tex
Normal file
|
@ -0,0 +1,169 @@
|
|||
% musixec.tex : EC font definitions for MusiXTeX
|
||||
%
|
||||
% usage:
|
||||
%
|
||||
% \input musixtex
|
||||
% \input musixec
|
||||
% ...
|
||||
%
|
||||
% MusiXec.tex is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXppl.tex is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
% Copyright 2015-2017 Bob Tennent rdt@cs.queensu.ca
|
||||
%
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixec.tex}\fi
|
||||
\immediate\write16{MusiXec\space<2017/02/10>}
|
||||
%
|
||||
|
||||
\longECfontnamestrue
|
||||
\def\fontid{ec}
|
||||
|
||||
% 7pt
|
||||
\font\sevenrm=ecrm0700
|
||||
\font\sevenbf=ecbx0700
|
||||
\font\sevenit=ecti0800 at 7pt
|
||||
\font\sevenbi=ecbi0700
|
||||
\font\sevensc=ecsc0700
|
||||
%
|
||||
% 8pt
|
||||
\font\eightrm=ecrm0800
|
||||
\font\eightbf=ecbx0800
|
||||
\font\eightit=ecti0800
|
||||
\font\eightbi=ecbi0800
|
||||
\font\eightsc=ecsc0800
|
||||
%
|
||||
% 9pt
|
||||
\font\ninerm=ecrm0900
|
||||
\font\ninebf=ecbx0900
|
||||
\font\nineit=ecti0900
|
||||
\font\ninebi=ecbi0900
|
||||
\font\ninesc=ecsc0900
|
||||
%
|
||||
% 10pt
|
||||
\font\tenrm=ecrm1000
|
||||
\font\tenbf=ecbx1000
|
||||
\font\tenit=ecti1000
|
||||
\font\tenbi=ecbi1000
|
||||
\font\tensc=ecsc1000
|
||||
%
|
||||
% 11pt
|
||||
\font\elevenrm=ecrm1095
|
||||
\font\elevenbf=ecbx1095
|
||||
\font\elevenit=ecti1095
|
||||
\font\elevenbi=ecbi1095
|
||||
\font\elevensc=ecsc1095
|
||||
%
|
||||
% 12pt
|
||||
\font\twelverm=ecrm1200
|
||||
\font\twelvebf=ecbx1200
|
||||
\font\twelveit=ecti1200
|
||||
\font\twelvebi=ecbi1200
|
||||
\font\twelvesc=ecsc1200
|
||||
%
|
||||
% 14pt
|
||||
\font\frtrm=ecrm1440
|
||||
\font\frtbf=ecbx1440
|
||||
\font\frtit=ecti1440
|
||||
\font\frtbi=ecbi1440
|
||||
\font\frtsc=ecsc1440
|
||||
%
|
||||
% 17pt
|
||||
\font\svtrm=ecrm1728
|
||||
\font\svtbf=ecbx1728
|
||||
\font\svtit=ecti1728
|
||||
\font\svtbi=ecbi1728
|
||||
\font\svtsc=ecsc1728
|
||||
%
|
||||
% 20pt
|
||||
\font\twtyrm=ecrm2074
|
||||
\font\twtybf=ecbx2074
|
||||
\font\twtyit=ecti2074
|
||||
\font\twtybi=ecbi2074
|
||||
\font\twtysc=ecsc2074
|
||||
%
|
||||
% 25pt
|
||||
\font\twfvrm=ecrm2488
|
||||
\font\twfvbf=ecbx2488
|
||||
\font\twfvit=ecti2488
|
||||
\font\twfvbi=ecbi2488
|
||||
\font\twfvsc=ecsc2488
|
||||
%
|
||||
%
|
||||
%
|
||||
\font\ppfftwelve=ecbi0800
|
||||
\font\ppffsixteen=ecbi1000
|
||||
\font\ppfftwenty=ecbi1200
|
||||
\font\ppfftwentyfour=ecbi1440
|
||||
\font\ppfftwentynine=ecbi1728
|
||||
%
|
||||
%
|
||||
% tt fonts needed by musixsty
|
||||
%
|
||||
\font\eighttt=ectt0800
|
||||
\font\ninett=ectt0900
|
||||
\font\tentt=ectt1000
|
||||
\font\twelvett=ectt1200
|
||||
\font\frttt=ectt1440
|
||||
\font\svttt=ectt1728
|
||||
\font\twtytt=ectt2074
|
||||
\font\twfvtt=ectt2488
|
||||
%
|
||||
% sl fonts needed by musixsty
|
||||
%
|
||||
\font\eightsl=ecsl0800
|
||||
\font\ninesl=ecsl0900
|
||||
\font\tensl=ecsl1000
|
||||
\font\twelvesl=ecsl1200
|
||||
\font\frtsl=ecsl1440
|
||||
\font\svtsl=ecsl1728
|
||||
\font\twtysl=ecsl2074
|
||||
\font\twfvsl=ecsl2488
|
||||
|
||||
%
|
||||
% Redefine accented characters for 8-bit font
|
||||
%
|
||||
|
||||
\ifx\documentclass\undefined
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
\def\ProvidesFile#1[#2]{}
|
||||
\def\DeclareFontEncoding#1#2#3{}
|
||||
\def\DeclareTextAccent#1#2#3{%
|
||||
\def#1##1{%
|
||||
\expandafter\ifx\csname T1\string#1-\string##1\endcsname\relax
|
||||
{\accent#1 ##1}%
|
||||
\else
|
||||
\csname T1\string#1-\string##1\expandafter\endcsname
|
||||
\fi}}
|
||||
\def\DeclareTextCommand#1#2{\xdtcmd}%not today
|
||||
\def\xdtcmd#1#{\xxdtcmd}%not today
|
||||
\def\xxdtcmd#1{}%not today
|
||||
\def\DeclareTextCompositeCommand#1#2#3#4{}%not today
|
||||
\def\DeclareTextSymbol#1#2#3{%
|
||||
\def#1{\char#3\relax}}
|
||||
\def\DeclareTextComposite#1#2#3#4{%
|
||||
\expandafter\def\csname T1\string#1-\string#3\endcsname{\char#4\relax}}
|
||||
|
||||
\input t1enc.def
|
||||
|
||||
% \c requires special treatment
|
||||
\def\c#1{\leavevmode\ifx c#1\char231 \else\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1%
|
||||
\else{\ooalign{\unhbox\z@\crcr
|
||||
\hidewidth\char11\hidewidth}}\fi\fi}
|
||||
\catcode`\@=\catcodeat
|
||||
\fi
|
||||
|
||||
|
||||
\normtype
|
||||
\endinput
|
42
musixtex/tex/musixeng.tex
Normal file
42
musixtex/tex/musixeng.tex
Normal file
|
@ -0,0 +1,42 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
% suggested by Ross Mitchell
|
||||
|
||||
\immediate\write16{MusiX ENGlish rests T.404\space<08 May 2018>}%
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\let\Qwr\PAUSe
|
||||
\let\Dwr\PAuse
|
||||
\let\liftwr\liftpause
|
||||
\let\wrp\pausep
|
||||
\let\wr@\pause
|
||||
\let\lifthr\lifthpause
|
||||
\let\hrp\hpausep
|
||||
\let\hr\hpause
|
||||
\let\qr\qp
|
||||
\let\er\ds % \ds\oup no longer available
|
||||
\let\eer\qs
|
||||
\let\eeer\hs
|
||||
\let\eeeer\qqs
|
||||
\def\wr{\pause}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
79
musixtex/tex/musixesf.tex
Normal file
79
musixtex/tex/musixesf.tex
Normal file
|
@ -0,0 +1,79 @@
|
|||
%%
|
||||
%% musixesf.tex : efont-serif series fonts definition for MusiXTeX
|
||||
%%
|
||||
%% usage:
|
||||
%% \input musixtex
|
||||
%% \input musixesf
|
||||
%% ...
|
||||
%%
|
||||
%% This file is public domain.
|
||||
%%
|
||||
%% Author:
|
||||
%% Hiroaki MORIMOTO <CQX05646 at nifty dot com>
|
||||
%% Tokyo, Japan
|
||||
%% URL(en): http://homepage1.nifty.com/kuuku/pub/musixtex/index-e.html
|
||||
%% (jp): http://homepage1.nifty.com/kuuku/pub/musixtex/index.html
|
||||
%%
|
||||
%% reference: musixtex.tex (T.99) 268-508
|
||||
%% MusiXTeX: (c) Daniel Taupin, et al.
|
||||
%%
|
||||
%% efont-serif:
|
||||
%% (c) /efont/ <efont\atmark ring.gr.jp>
|
||||
%% The Electronic Font Open Laboratory
|
||||
%% http://openlab.ring.gr.jp/efont/dist/serif/efont-serif-tex-20010312-p3.tar.gz
|
||||
%% http://openlab.ring.gr.jp/efont/serif/index.html.en
|
||||
%% http://openlab.ring.gr.jp/efont/index.html.en
|
||||
%%
|
||||
%% History: see trailer.
|
||||
%
|
||||
\immediate\write16{MusiXTeX efont-serif\space<2009/10/15>}
|
||||
%
|
||||
% 8pt roman, bold, and italic
|
||||
\font\eightrm=esfr7t at 8pt
|
||||
\font\eightbf=esfb7t at 8pt
|
||||
\font\eightit=esfri7t at 8pt
|
||||
%
|
||||
% 9pt
|
||||
\font\ninerm=esfr7t at 9pt
|
||||
\font\ninebf=esfb7t at 9pt
|
||||
\font\nineit=esfri7t at 9pt
|
||||
%
|
||||
% 10pt
|
||||
\font\tenrm=esfr7t
|
||||
\font\tenbf=esfb7t
|
||||
\font\tenit=esfri7t
|
||||
%
|
||||
% 12pt
|
||||
\font\twelverm=esfr7t scaled \magstep 1
|
||||
\font\twelvebf=esfb7t scaled \magstep 1
|
||||
\font\twelveit=esfri7t scaled \magstep 1
|
||||
%
|
||||
% Large fonts for titles
|
||||
% (If you prefer efont-serif-bold, use esfb7t instead of esfr7t)
|
||||
\font\bigfont=esfr7t scaled \magstep2 % 14pt
|
||||
\font\Bigfont=esfr7t scaled \magstep3 % 17pt
|
||||
\font\BIgfont=esfr7t scaled \magstep4 % 20pt
|
||||
\font\BIGfont=esfr7t scaled \magstep5 % 25pt
|
||||
%
|
||||
% PMX changes font assignment in pmx.tex
|
||||
% \BIGfont=\fontid bx10 scaled\magstep4
|
||||
% \Bigfont=\fontid bx10 scaled\magstep2
|
||||
\ifx\pmxversion\undefined\relax\else
|
||||
\font\Bigfont=esfr7t scaled \magstep2 % 14pt
|
||||
\font\BIGfont=esfr7t scaled \magstep4 % 20pt
|
||||
\fi
|
||||
%
|
||||
\normtype
|
||||
\endinput
|
||||
%%
|
||||
%% History
|
||||
%%
|
||||
%% 2006/05/13
|
||||
%% first publish
|
||||
%% 2007/06/11
|
||||
%% no functional change. (email protection, real address change, URL change)
|
||||
%% 2008/08/01
|
||||
%% Font assignment change on PMX.
|
||||
%% 2009/10/15
|
||||
%% small update for MusiXTeX T.114 final release.
|
||||
%%
|
19
musixtex/tex/musixevo.tex
Normal file
19
musixtex/tex/musixevo.tex
Normal file
|
@ -0,0 +1,19 @@
|
|||
\immediate\write16{MusiXEVenOdd T.53\space<1 April 1996>}%
|
||||
|
||||
% enables
|
||||
|
||||
\makeatletter
|
||||
\def\outmorceau{\shipout\hbox{\null\ifodd\pageno\kern 2.5mm
|
||||
\else\kern -2.5mm
|
||||
\fi
|
||||
\vbox{\vbox to \vsize{\vss\pagecontents\vss}\line{%
|
||||
\ifodd\pageno\sl \titremorceau\ (\s@hortauthor)
|
||||
\ifcopyright\rm$\copyright$\fi\hss \number\pageno
|
||||
\else\rm\number\pageno\hss\sl \titremorceau\ (\s@hortauthor)
|
||||
\ifcopyright\rm$\copyright$\fi\fi}}}%
|
||||
\global\advance\count0 by 1\relax
|
||||
\ifnum\outputpenalty>-20000 \else\dosupereject\fi}%
|
||||
|
||||
\output{\outmorceau}
|
||||
\makeatother
|
||||
\endinput
|
26
musixtex/tex/musixext.tex
Normal file
26
musixtex/tex/musixext.tex
Normal file
|
@ -0,0 +1,26 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
% musixext.tex
|
||||
%
|
||||
\immediate\write16{MusiXext T.118 <2015-07-25>}%
|
||||
%
|
||||
% (nothing to do. - T.118 or later provides \slide and \raggedstoppiece
|
||||
%
|
||||
\endinput
|
44
musixtex/tex/musixfll.tex
Normal file
44
musixtex/tex/musixfll.tex
Normal file
|
@ -0,0 +1,44 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
\ifx\undefined\longledgerlines \else \endinput \fi
|
||||
|
||||
\immediate\write16{MusiXFormerLedgerLines T.74\space<06 April 1997>}%
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\let\h@lineick\h@linei
|
||||
\def\h@lineidt{%
|
||||
\y@ii\n@v\internote
|
||||
\y@iii\y@ii
|
||||
\advance\y@ii\hlthick
|
||||
\advance\y@iii-\hlthick
|
||||
\y@iv\y@v
|
||||
\advance\y@iv\h@lf\qn@width
|
||||
\kernm.25\qn@width
|
||||
\vrule\@height\y@ii\@depth-\y@iii\@width\y@iv
|
||||
\kernm\y@iv\kern.25\qn@width}
|
||||
\def\longledgerlines{\global\let\h@linei\h@lineidt}
|
||||
\def\autoledgerlines{\global\let\h@linei\h@lineick}
|
||||
\longledgerlines
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
|
||||
\endinput
|
||||
|
148
musixtex/tex/musixftab.tex
Normal file
148
musixtex/tex/musixftab.tex
Normal file
|
@ -0,0 +1,148 @@
|
|||
|
||||
% musixftab.tex : french tablature definitions for MusiXTeX
|
||||
%
|
||||
% usage:
|
||||
%
|
||||
% \input musixtex
|
||||
% \input musixftab
|
||||
% ...
|
||||
%
|
||||
% musixftab.tex is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% musixftab.tex is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
% Copyright 2021 Bob Tennent rdt@cs.queensu.ca
|
||||
%
|
||||
\immediate\write16{musixftab\space<2017/02/10>}
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixftab.tex}\fi
|
||||
|
||||
\font\tabfntthirteen=frenchtab at 4pt
|
||||
\font\tabfntsixteen=frenchtab at 5pt
|
||||
\font\tabfnttwenty=frenchtab at 6pt
|
||||
\font\tabfnttwentyfour=frenchtab at 7pt
|
||||
\font\tabfnttwentynine=frenchtab at 9pt
|
||||
|
||||
\makeatletter
|
||||
|
||||
% need to raise note boxes 0.25ex for frenchtab.pfb
|
||||
|
||||
\def\tabbox#1#2{%
|
||||
\setbox0=\hbox{\tabfnt #2}%
|
||||
\stringraise\nblines
|
||||
\advance\stringraise by -#1
|
||||
\multiply\stringraise by 2
|
||||
\advancefalse\def\q@u{}\loffset{0.45}{\@nq{\the\stringraise}}%
|
||||
\iftabstylespace\else\advance\stringraise-1\fi
|
||||
\special{ps: 1 setgray}%
|
||||
\ccharnote{\the\stringraise}{\vrule height \ht0 width \wd0 depth \dp0}%
|
||||
\special{ps: 0 setgray}%
|
||||
\ccharnote{\the\stringraise}{\raise 0.25ex\box0}%
|
||||
}
|
||||
% \ltabbox does the same as \tabbox, except that it produces
|
||||
% left-outlined symbols
|
||||
\def\ltabbox#1#2{\setbox0=\hbox{\tabfnt #2}%
|
||||
\stringraise\nblines
|
||||
\advance\stringraise by -#1
|
||||
\multiply\stringraise by 2
|
||||
\advancefalse\def\q@u{}\loffset{0.2}{\@nq{\the\stringraise}}%
|
||||
\iftabstylespace\else\advance\stringraise-1\fi
|
||||
\special{ps: 1 setgray}%
|
||||
\zcharnote{\the\stringraise}{\vrule height \ht0 width \wd0 depth \dp0}%
|
||||
\special{ps: 0 setgray}%
|
||||
\zcharnote{\the\stringraise}{\raise 0.25ex\box0}%
|
||||
}
|
||||
% \rtabbox does the same as \tabbox, except that it produces
|
||||
% right-outlined symbols
|
||||
\def\rtabbox#1#2{\setbox0=\hbox{\tabfnt #2}%
|
||||
\stringraise\nblines
|
||||
\advance\stringraise by -#1
|
||||
\multiply\stringraise by 2
|
||||
\advancefalse\def\q@u{}\loffset{0.75}{\@nq{\the\stringraise}}%
|
||||
\iftabstylespace\else\advance\stringraise-1\fi
|
||||
\special{ps: 1 setgray}%
|
||||
\lcharnote{\the\stringraise}{\vrule height \ht0 width \wd0 depth \dp0}%
|
||||
\special{ps: 0 setgray}%
|
||||
\lcharnote{\the\stringraise}{\raise 0.25ex\box0}%
|
||||
}
|
||||
|
||||
\makeatother
|
||||
|
||||
|
||||
\def\tab#1#2{%
|
||||
\stringnum=#1
|
||||
\ifnum\stringnum>\nblines
|
||||
\nslashes=\stringnum
|
||||
\advance\nslashes by -\nblines
|
||||
\iftabstylespace\advance\nslashes by -1\fi
|
||||
\def\numslashes{\the\nslashes}
|
||||
\ifcase\numslashes\tabbox{#1}{#2}\or\zcn{-3}{\tabfnt V0}\or\zcn{-3}{\tabfnt W0}\or\zcn{-3}{\tabfnt X0}\or\zcn{-3}{\tabstringfnt\bf 4}\or\zcn{-3}{\tabstringfnt\bf 5}\or\zcn{-3}{\tabstringfnt\bf 6}\or\zcn{-3}{\tabstringfnt\bf 7}\fi%
|
||||
\else\tabbox{#1}{#2}\fi\sk}
|
||||
|
||||
% left spilling \tab
|
||||
\def\ltab#1#2{%
|
||||
\stringnum=#1
|
||||
\ifnum\stringnum>\nblines
|
||||
\nslashes=\stringnum
|
||||
\advance\nslashes by -\nblines
|
||||
\iftabstylespace\advance\nslashes by -1\fi
|
||||
\def\numslashes{\the\nslashes}
|
||||
\ifcase\numslashes\ltabbox{#1}{#2}\or\zcn{-3}{\tabfnt V0}\or\zcn{-3}{\tabfnt W0}\or\zcn{-3}{\tabfnt X0}\or\zcn{-3}{\tabstringfnt\bf 4}\or\zcn{-3}{\tabstringfnt\bf 5}\or\zcn{-3}{\tabstringfnt\bf 6}\or\zcn{-3}{\tabstringfnt\bf 7}\fi%
|
||||
\else\ltabbox{#1}{#2}\fi\sk}
|
||||
|
||||
% right spilling \tab
|
||||
\def\rtab#1#2{%
|
||||
\stringnum=#1
|
||||
\ifnum\stringnum>\nblines
|
||||
\nslashes=\stringnum
|
||||
\advance\nslashes by -\nblines
|
||||
\iftabstylespace\advance\nslashes by -1\fi
|
||||
\def\numslashes{\the\nslashes}
|
||||
\ifcase\numslashes\rtabbox{#1}{#2}\or\zcn{-3}{\tabfnt V0}\or\zcn{-3}{\tabfnt W0}\or\zcn{-3}{\tabfnt X0}\or\zcn{-3}{\tabstringfnt\bf 4}\or\zcn{-3}{\tabstringfnt\bf 5}\or\zcn{-3}{\tabstringfnt\bf 6}\or\zcn{-3}{\tabstringfnt\bf 7}\fi%
|
||||
\else\rtabbox{#1}{#2}\fi\sk}
|
||||
|
||||
% \chord-tab symbol. Same as \tab, but no \sk is given, so multiple
|
||||
% symbols can be placed above one another
|
||||
\def\ztab#1#2{%
|
||||
\stringnum=#1
|
||||
\ifnum\stringnum>\nblines
|
||||
\nslashes=\stringnum
|
||||
\advance\nslashes by -\nblines
|
||||
\iftabstylespace\advance\nslashes by -1\fi
|
||||
\def\numslashes{\the\nslashes}
|
||||
\ifcase\numslashes\tabbox{#1}{#2}\or\zcn{-3}{\tabfnt V0}\or\zcn{-3}{\tabfnt W0}\or\zcn{-3}{\tabfnt X0}\or\zcn{-3}{\tabstringfnt\bf 4}\or\zcn{-3}{\tabstringfnt\bf 5}\or\zcn{-3}{\tabstringfnt\bf 6}\or\zcn{-3}{\tabstringfnt\bf 7}\fi%
|
||||
\else\tabbox{#1}{#2}\fi}
|
||||
|
||||
% left spilling \ztab
|
||||
\def\zltab#1#2{%
|
||||
\stringnum=#1
|
||||
\ifnum\stringnum>\nblines
|
||||
\nslashes=\stringnum
|
||||
\advance\nslashes by -\nblines
|
||||
\iftabstylespace\advance\nslashes by -1\fi
|
||||
\def\numslashes{\the\nslashes}
|
||||
\ifcase\numslashes\ltabbox{#1}{#2}\or\zcn{-3}{\tabfnt V0}\or\zcn{-3}{\tabfnt W0}\or\zcn{-3}{\tabfnt X0}\or\zcn{-3}{\tabstringfnt\bf 4}\or\zcn{-3}{\tabstringfnt\bf 5}\or\zcn{-3}{\tabstringfnt\bf 6}\or\zcn{-3}{\tabstringfnt\bf 7}\fi%
|
||||
\else\ltabbox{#1}{#2}\fi}
|
||||
|
||||
% right spilling \ztab
|
||||
\def\zrtab#1#2{%
|
||||
\stringnum=#1
|
||||
\ifnum\stringnum>\nblines
|
||||
\nslashes=\stringnum
|
||||
\advance\nslashes by -\nblines
|
||||
\iftabstylespace\advance\nslashes by -1\fi
|
||||
\def\numslashes{\the\nslashes}
|
||||
\ifcase\numslashes\rtabbox{#1}{#2}\or\zcn{-3}{\tabfnt V0}\or\zcn{-3}{\tabfnt W0}\or\zcn{-3}{\tabfnt X0}\or\zcn{-3}{\tabstringfnt\bf 4}\or\zcn{-3}{\tabstringfnt\bf 5}\or\zcn{-3}{\tabstringfnt\bf 6}\or\zcn{-3}{\tabstringfnt\bf 7}\fi%
|
||||
\else\rtabbox{#1}{#2}\fi}
|
||||
|
||||
\endinput
|
351
musixtex/tex/musixgre.tex
Normal file
351
musixtex/tex/musixgre.tex
Normal file
|
@ -0,0 +1,351 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\immediate\write16{MusiXGREgorian T.67\space<3 January 1997>}%
|
||||
|
||||
\ifx\undefined\gregorianCclef \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
\catcodesmusic
|
||||
|
||||
\font\xgregeleven=xgreg11
|
||||
\font\xgregthirteen=xgreg13
|
||||
\font\xgregsixteen=xgreg16
|
||||
\font\xgregtwenty=xgreg20
|
||||
\font\xgregtwentyfour=xgreg24
|
||||
\font\xgregtwentynine=xgreg29
|
||||
|
||||
\let\xgregnorfont\xgregtwenty
|
||||
|
||||
\def\xgregkeyfont{%
|
||||
\ifdim\internote<\p@seven6\Internote \xgregtinyfont
|
||||
\else
|
||||
\ifdim\internote<.95\Internote \xgregsmallfont
|
||||
\else
|
||||
\ifdim\internote<1.19\Internote \xgregnorfont
|
||||
\else
|
||||
\ifdim\internote<1.43\Internote \xgreglargefont
|
||||
\else
|
||||
\xgregLargefont
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi}
|
||||
|
||||
\def\xgregchar{\xgregfont\char}
|
||||
\def\xgregkeychar{\xgregkeyfont\char}
|
||||
|
||||
|
||||
% \[z]carrg=\[z]squ, \[z]carpg=\[z]lsqu, \[z]carqg=\[z]rsqu
|
||||
|
||||
\def\gregorianCclef{\xgregkeychar98}
|
||||
\def\gregorianFclef{\xgregkeychar122}
|
||||
|
||||
\def\squ#1{\getn@i#1\relax\let\n@fon\squ \def\n@sym{\xgregchar5}\g@diamg}
|
||||
\def\r@small@squ#1{\getn@i#1\relax\let\n@fon\r@small@squ
|
||||
\def\n@sym{\xgregchar0\llap{\xgregchar12\xgregchar18}}\g@diamg}
|
||||
\def\punctumauctup#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar9}\g@diamg}
|
||||
\def\punctumauctdown#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar8}\g@diamg}
|
||||
\def\punctumdeminutum#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar4}\g@diamg}
|
||||
\def\shavedsqu#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar17}\g@diamg}
|
||||
\let\punctum\squ
|
||||
\def\diapunc#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar1}\g@diamg}
|
||||
\def\diapuncauctdown#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar2}\g@diamg}
|
||||
\def\apostropha#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar3}\g@diamg}
|
||||
\def\apostrophaaucta#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar11}\g@diamg}
|
||||
\def\oriscus#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar10}\g@diamg}
|
||||
\def\usqu#1{\getn@i#1\relax\let\n@fon\squ
|
||||
\def\n@sym{\xgregchar13}\g@diamg}
|
||||
\def\lsqu#1{\getn@i#1\relax\let\n@fon\lsqu
|
||||
\def\n@sym{\xgregchar6}\g@diamg}
|
||||
\def\rsqu#1{\getn@i#1\relax\let\n@fon\rsqu
|
||||
\def\n@sym{\xgregchar7}\g@diamg}
|
||||
\let\virga\rsqu
|
||||
\def\quilisma#1{\getn@i#1\relax\let\n@fon\quilisma
|
||||
\def\n@sym{\xgregchar125}\g@diamg}
|
||||
\def\shavedquilisma#1{\getn@i#1\relax\let\n@fon\shavedquilisma
|
||||
\def\n@sym{\xgregchar126}\g@diamg}
|
||||
|
||||
|
||||
|
||||
\def\zsqu{\advancefalse\squ}
|
||||
\let\zpunctum\zsqu
|
||||
\def\zusqu{\advancefalse\usqu}
|
||||
\def\zlsqu{\advancefalse\lsqu}
|
||||
\def\zrsqu{\advancefalse\rsqu}
|
||||
\let\zvirga\zrsqu
|
||||
\def\zoriscus{\advancefalse\oriscus}
|
||||
\def\zdiapunc{\advancefalse\diapunc}
|
||||
\def\zapostropha{\advancefalse\apostropha}
|
||||
\def\zquilisma{\advancefalse\quilisma}
|
||||
\def\zshavedquilisma{\advancefalse\shavedquilisma}
|
||||
|
||||
\def\g@diamg{\y@v.71\qn@width \let\st@m\resetst@m \writ@note}
|
||||
|
||||
\def\groff{\roffset{.71}}
|
||||
\def\dgroff{\roffset{1.42}}
|
||||
|
||||
\def\getthen@one@two#1#2{\getn@i{#1}\relax\edef\then@one{\the\n@i}%
|
||||
\getn@i{#2}\relax\edef\then@two{\the\n@i}%
|
||||
\n@ii=\then@one\relax
|
||||
\advance\n@i -\n@ii\relax
|
||||
\edef\the@two@minus@one{\the\n@i}%
|
||||
\n@i=-\n@i
|
||||
\edef\the@one@minus@two{\the\n@i}%
|
||||
}%
|
||||
\def\getthen@one@three#1#2#3{\getthen@one@two{#1}{#2}\relax
|
||||
\getn@i{#3}\relax\edef\then@three{\the\n@i}%
|
||||
\n@ii=\then@two\relax
|
||||
\advance\n@i -\n@ii\relax
|
||||
\edef\the@three@minus@two{\the\n@i}%
|
||||
\n@i=-\n@i
|
||||
\edef\the@two@minus@three{\the\n@i}%
|
||||
}%
|
||||
|
||||
\def\bivirga#1#2{\zrsqu{#1}\roff{\rsqu{#2}}}
|
||||
|
||||
\def\trivirga#1#2#3{\zrsqu{#1}\roff{\zrsqu{#2}}\roffset2{\rsqu{#3}}}
|
||||
|
||||
\def\bistropha#1#2{\zsqu{#1}\roff{\squ{#2}}}
|
||||
|
||||
\def\tristropha#1#2#3{\zsqu{#1}\roff{\zsqu{#2}}\roffset2{\squ{#3}}}
|
||||
|
||||
\def\trigonus#1#2#3{\zdiapunc{#1}\groff{\zdiapunc{#2}}\dgroff{\diapunc{#3}}}
|
||||
|
||||
\def\clivis#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zlsqu{#1}{\xgregchar0}\zcharnote{#2}{\vrule\@depth\z@ \@height \the@one@minus@two\internote}\squ{#2}}
|
||||
|
||||
\def\clivisdeminut#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zlsqu{#1}\zcharnote{#2}{\xgregchar0\vrule\@depth\z@ \@height
|
||||
\the@one@minus@two\internote}\r@small@squ{#2}}
|
||||
|
||||
\def\clivisauctup#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zlsqu{#1}{\xgregchar0}\zcharnote{#2}{\vrule\@depth\z@ \@height \the@one@minus@two\internote}\punctumauctup{#2}}
|
||||
|
||||
\def\clivisauctdown#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zlsqu{#1}{\xgregchar0}\zcharnote{#2}{\vrule\@depth\z@ \@height \the@one@minus@two\internote}\punctumauctdown{#2}}
|
||||
|
||||
\def\lclivis#1#2{\zsqu{#1}\groff{\lsqu{#2}}}
|
||||
|
||||
\def\podatus#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zcharnote{#1}{\ifnum\the@two@minus@one<2\relax
|
||||
\xgregchar16%
|
||||
\else
|
||||
\xgregchar15%
|
||||
\fi
|
||||
\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\ifnum\the@two@minus@one<2\relax
|
||||
\shavedsqu{#2}%
|
||||
\else
|
||||
\squ{#2}%
|
||||
\fi
|
||||
}
|
||||
|
||||
\def\podatusdeminut#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zcharnote{#1}{\ifnum\the@two@minus@one<2\relax
|
||||
\xgregchar16%
|
||||
\else
|
||||
\xgregchar15%
|
||||
\fi
|
||||
\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\r@small@squ{#2}%
|
||||
}
|
||||
|
||||
\def\lpodatus#1#2{\zusqu{#1}\groff{\rsqu{#2}}}
|
||||
|
||||
\def\podatusinitiodebilis#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zcharnote{#1}{\xgregchar12\xgregchar18%
|
||||
\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
{\xgregchar18}\squ{#2}%
|
||||
}
|
||||
|
||||
\def\podatusauctup#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zcharnote{#1}{\xgregchar5\xgregchar0%
|
||||
\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
{\xgregchar0}\punctumauctup{#2}%
|
||||
}
|
||||
|
||||
\def\podatusauctdown#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zcharnote{#1}{\xgregchar5\xgregchar0%
|
||||
\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
{\xgregchar0}\punctumauctdown{#2}%
|
||||
}
|
||||
|
||||
\def\scandicus#1#2#3{\getthen@one@three{#1}{#2}{#3}\relax
|
||||
\advancefalse\podatus{#1}{#2}{\xgregchar0}%
|
||||
% \zcharnote{#2}{\vrule\@depth\z@ \@height\the@three@minus@two\internote}%
|
||||
\rsqu{#3}}
|
||||
|
||||
\def\scandicusdeminut#1#2#3{\getthen@one@two{#1}{#2}%
|
||||
\zsqu{#1}{\xgregchar0}%
|
||||
% \zcharnote{#1}{\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\podatusdeminut{#2}{#3}}
|
||||
|
||||
\def\scandicusauctdown#1#2#3{\getthen@one@three{#1}{#2}{#3}\relax
|
||||
\zsqu{#1}{\xgregchar0}%
|
||||
\zcharnote{#1}{\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\zsqu{#2}{\xgregchar0}%
|
||||
\zcharnote{#2}{\vrule\@depth\z@ \@height\the@three@minus@two\internote}%
|
||||
\punctumauctdown{#3}}
|
||||
|
||||
\def\torculus#1#2#3{\getthen@one@three{#1}{#2}{#3}\zsqu{#1}{\xgregchar0}%
|
||||
\zcharnote{#1}{\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\zsqu{#2}{\xgregchar0}%
|
||||
\zcharnote{#3}{\vrule\@depth\z@ \@height\the@two@minus@three\internote}%
|
||||
\squ{#3}}
|
||||
|
||||
\def\torculusdeminut#1#2#3{\getthen@one@three{#1}{#2}{#3}\zsqu{#1}{\xgregchar0}%
|
||||
\zcharnote{#1}{\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\zsqu{#2}%
|
||||
\zcharnote{#3}{\xgregchar0\vrule\@depth\z@ \@height\the@two@minus@three\internote}%
|
||||
\r@small@squ{#3}}
|
||||
|
||||
\def\torculusauctdown#1#2#3{\getthen@one@three{#1}{#2}{#3}\zsqu{#1}{\xgregchar0}%
|
||||
\zcharnote{#1}{\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
\zsqu{#2}{\xgregchar0}%
|
||||
\zcharnote{#3}{\vrule\@depth\z@ \@height\the@two@minus@three\internote}%
|
||||
\punctumauctdown{#3}}
|
||||
|
||||
\def\torculusinitiodebilis#1#2#3{\getthen@one@three{#1}{#2}{#3}%
|
||||
\zcharnote{#1}{\xgregchar12\xgregchar18\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
{\xgregchar18}\zsqu{#2}{\xgregchar0}%
|
||||
\zcharnote{#3}{\vrule\@depth\z@ \@height\the@two@minus@three\internote}%
|
||||
\squ{#3}}
|
||||
|
||||
\def\torculusdebilis#1#2#3{\getthen@one@three{#1}{#2}{#3}%
|
||||
\zcharnote{#1}{\xgregchar12\xgregchar18\vrule\@depth\z@ \@height\the@two@minus@one\internote}%
|
||||
{\xgregchar18}\zsqu{#2}%
|
||||
\zcharnote{#3}{\xgregchar0\vrule\@depth\z@ \@height\the@two@minus@three\internote}%
|
||||
\r@small@squ{#3}}
|
||||
|
||||
\def\climacus#1#2#3{\zrsqu{#1}\groff{\zdiapunc{#2}{\xgregchar0}\diapunc{#3}}}
|
||||
|
||||
\def\climacusresupinus#1#2#3#4{\zrsqu{#1}\groff{\zdiapunc{#2}{\xgregchar0}\zdiapunc{#3}{\xgregchar0}\squ{#4}}}
|
||||
|
||||
\def\climacusdeminut#1#2#3{\zrsqu{#1}\groff{\zdiapunc{#2}{\xgregchar0}\punctumdeminutum{#3}}}
|
||||
|
||||
\def\climacusauctdown#1#2#3{\zrsqu{#1}\groff{\zdiapunc{#2}{\xgregchar0}\diapuncauctdown{#3}}}
|
||||
|
||||
\def\lclimacus#1#2#3{\zlsqu{#1}\groff{\zdiapunc{#2}{\xgregchar0}\diapunc{#3}}}
|
||||
|
||||
\def\pesquassus#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zoriscus{#1}{\xgregchar0}\zcharnote{#1}{\vrule\@depth\z@ \@height \the@two@minus@one\internote}\rsqu{#2}}
|
||||
|
||||
\def\pesquassusauctdown#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zoriscus{#1}{\xgregchar0}\zcharnote{#1}{\vrule\@depth\z@ \@height \the@two@minus@one\internote}\punctumauctdown{#2}}
|
||||
|
||||
\def\quilismapes#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\ifnum\the@two@minus@one<2\relax
|
||||
\zshavedquilisma{#1}% \message{ zshavedqui OK}%
|
||||
\else
|
||||
\zquilisma{#1}% \message{ zquilisma OK}%
|
||||
\fi %\message{zqui OK}%
|
||||
\zcharnote{#1}{\xgregchar0\vrule\@depth\z@ \@height \the@two@minus@one\internote}%
|
||||
\ifnum\the@two@minus@one<2\relax
|
||||
\shavedsqu{#2}%
|
||||
\else
|
||||
\squ{#2}%
|
||||
\fi
|
||||
}
|
||||
\def\quilismapesauctdown#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\zquilisma{#1}% \message{ zquilisma OK}%
|
||||
\zcharnote{#1}{\xgregchar0\vrule\@depth\z@ \@height \the@two@minus@one\internote}%
|
||||
{\xgregchar0}\punctumauctdown{#2}%
|
||||
}
|
||||
|
||||
%\check
|
||||
\def\hporrectus#1{\errmessage{\noexpand\hporrectus\space does not exist
|
||||
anymore, use \bporrectus with two args}}
|
||||
|
||||
\def\porrectus#1#2{\errmessage{\noexpand\porrectus does not exist anymore, use
|
||||
\noexpand\Porrectus}}
|
||||
|
||||
\def\porrectusflexus#1#2{\errmessage{\noexpand\porrectusflexus does not exist anymore, use
|
||||
\noexpand\Porrectusflexus}}
|
||||
|
||||
%\check
|
||||
\def\bporrectus#1#2{\getthen@one@two{#1}{#2}\relax
|
||||
\ifnum\the@one@minus@two=1\relax
|
||||
\def\n@sym{\xgregchar121}\relax
|
||||
\else\ifnum\the@one@minus@two=2\relax
|
||||
\def\n@sym{\xgregchar120}\relax
|
||||
\else\ifnum\the@one@minus@two=3\relax
|
||||
\def\n@sym{\xgregchar119}\relax
|
||||
\else\ifnum\the@one@minus@two=4\relax
|
||||
\def\n@sym{\xgregchar118}\relax
|
||||
\else\errmessage{Porrectus 2nd arg must be 1st minus 1 to 4}\relax
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\getn@i#1\relax\let\n@fon\squ \g@diamg
|
||||
}
|
||||
|
||||
%\check
|
||||
|
||||
\def\Porrectusflexus#1#2#3#4{%
|
||||
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0\xgregchar0}%
|
||||
\getthen@one@three{#2}{#3}{#4}%
|
||||
\zcharnote{#2}{\vrule \@height\the@two@minus@one\internote\@depth\z@}%
|
||||
\zsqu{#3}%
|
||||
{\xgregchar0}\zcharnote{#4}{\vrule\@depth\z@ \@height \the@two@minus@three\internote}\squ{#4}}
|
||||
|
||||
%\check
|
||||
|
||||
\def\Porrectus#1#2#3{\getthen@one@three{#1}{#2}{#3}\relax
|
||||
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0}%
|
||||
\zcharnote{#2}{\xgregchar0\vrule\@height\the@three@minus@two\internote\@depth\z@}%
|
||||
\ifnum\the@three@minus@two<2\relax
|
||||
\shavedsqu{#3}%
|
||||
\else
|
||||
\squ{#3}%
|
||||
\fi
|
||||
}
|
||||
|
||||
\def\Porrectusdeminut#1#2#3{\getthen@one@three{#1}{#2}{#3}\relax
|
||||
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0}%
|
||||
\zcharnote{#2}{\xgregchar0\vrule\@height\the@three@minus@two\internote\@depth\z@}\r@small@squ{#3}%
|
||||
}
|
||||
|
||||
\def\Porrectusauctdown#1#2#3{\getthen@one@three{#1}{#2}{#3}\relax
|
||||
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0\xgregchar0}%
|
||||
\zcharnote{#2}{\vrule\@height\the@three@minus@two\internote\@depth\z@}\punctumauctdown{#3}%
|
||||
}
|
||||
|
||||
\def\salicus#1#2#3{\zsqu{#1}\groff{\pesquassus{#2}{#3}}}
|
||||
%\check
|
||||
|
||||
\def\salicusflexus#1#2#3#4{\zsqu{#1}{\xgregchar0}\torculus{#2}{#3}{#4}}
|
||||
|
||||
\def\salicusauctdown#1#2#3{\zsqu{#1}\groff{\pesquassusauctdown{#2}{#3}}}
|
||||
%\check
|
||||
|
||||
\let\xgregfont\xgregnorfont
|
||||
|
||||
\endcatcodesmusic
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
41
musixtex/tex/musixgui.tex
Normal file
41
musixtex/tex/musixgui.tex
Normal file
|
@ -0,0 +1,41 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\immediate\write16{MusiXGUItar 0.36\space<1 March 1995>}%
|
||||
|
||||
\ifx\undefined\guitar \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\newskip\guitar@dim \guitar@dim=-.6\qn@width\relax
|
||||
|
||||
% to raise the chords (steps of internote)
|
||||
\def\raiseguitar#1{\edef\r@gu{#1}}
|
||||
\let\r@gu\z@
|
||||
|
||||
\def\d@c#1{\if x#1\tw@nty \else\if o#1\char19\else\char28\fi\fi}
|
||||
\def\guitar#1#2#3#4#5#6#7#8{\zchar\r@gu{\raise\Interligne\lrlap{#1}%
|
||||
\mxsps\lrlap\sixt@@n\lrlap{\d@c#3\d@c#4\d@c#5\d@c#6\d@c#7\d@c#8}%
|
||||
\lower\Internote\lrlap{\eightbf#2\kern\s@v@n\guitar@dim}}}
|
||||
\def\gbarre#1{\zchar\r@gu{\n@v#1\advance\n@v\m@ne
|
||||
\raise\n@v\guitar@dim\lrlap{\mxsps\char18}}}
|
||||
\def\gdot#1#2{\zchar\r@gu{\n@v#2\advance\n@v\m@ne\kern\si@\guitar@dim
|
||||
\kernm#1\guitar@dim\raise\n@v\guitar@dim\rlap{\mxsps\char17}}}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
41
musixtex/tex/musixhor.tex
Normal file
41
musixtex/tex/musixhor.tex
Normal file
|
@ -0,0 +1,41 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
\ifx\undefined\Tenpoint
|
||||
\input musixsty.tex
|
||||
\fi
|
||||
|
||||
\immediate\write16{MusiXtextSTYle-horizontal T.98\space<21 October 1999>}%
|
||||
|
||||
\vsize=185mm
|
||||
\hsize=275mm
|
||||
\hoffset=297mm
|
||||
\advance\hoffset -\hsize
|
||||
\divide\hoffset 2\relax
|
||||
\advance\hoffset -2.54cm
|
||||
\voffset -3mm
|
||||
\tenpoint
|
||||
\def\horizontalscore{\relax}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%% local adjust to be tuned %%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\advance\voffset -5mm
|
||||
\hoffset=-1.54cm
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%% local adjust to be tuned %%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\endinput
|
||||
|
58
musixtex/tex/musixhou.tex
Normal file
58
musixtex/tex/musixhou.tex
Normal file
|
@ -0,0 +1,58 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
\immediate\write16{MusiXHOUsestyles T.64\space<8 October 1996>}%
|
||||
|
||||
\ifx\undefined\Metron \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
% match the mid of lower chars (only for \tenrm)
|
||||
|
||||
\def\writ@names{\n@loop
|
||||
\setbox\toks@box\llap{\vbox{\hbox\@to\parindent{%
|
||||
\hss\csname instrument\romannumeral\noinstrum@nt\endcsname
|
||||
\hss}\kern\h@lf ex}~~}%
|
||||
\altportee\altitude \Comp@High\advance\y@v-\ht\toks@box
|
||||
\advance\altportee\h@lf\y@v \writ@box \repeat}
|
||||
|
||||
% smaller metron
|
||||
|
||||
\def\Metron#1{{\tinynotesize\stemlength\thr@@\eightrm (\zqu 0~~~= #1)}}
|
||||
|
||||
%%% dynamics
|
||||
\iflongDCfontnames
|
||||
\font\frtnbxit=\fontid bi1440
|
||||
\else\iflongECfontnames
|
||||
\font\frtnbxit=\fontid bi1440
|
||||
\else
|
||||
\font\frtnbxit=\fontid bxti10 scaled \magstep2
|
||||
\fi
|
||||
\fi
|
||||
\def\f{\frtnbxit f}
|
||||
\def\ff{\f\f@kern f}
|
||||
\def\fff{\ff\f@kern f}
|
||||
\def\mf{\twelveit m\p@kern\f@kern\f}
|
||||
\def\mp@{\twelveit m\p@kern\p}
|
||||
\def\p{\frtnbxit p}
|
||||
\def\pp{\p\p@kern p}
|
||||
\def\ppp{\pp\p@kern p}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
180
musixtex/tex/musixhv.tex
Normal file
180
musixtex/tex/musixhv.tex
Normal file
|
@ -0,0 +1,180 @@
|
|||
% musixhv.tex : Helvetica font definitions for MusiXTeX
|
||||
%
|
||||
% usage:
|
||||
%
|
||||
% \input musixtex
|
||||
% \input musixhv
|
||||
% ...
|
||||
%
|
||||
% MusiXhv.tex is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXhv.tex is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
% Copyright 2015-2017 Bob Tennent rdt@cs.queensu.ca
|
||||
%
|
||||
\immediate\write16{MusiXhv\space<2017/02/10>}
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixhv.tex}\fi
|
||||
%
|
||||
% 7pt "Roman" (sans serif), bold, "italic" (oblique), "bold-italic" (bold-oblique), and small-cap
|
||||
\font\sevenrm=phvr8t at 7pt
|
||||
\font\sevenbf=phvb8t at 7pt
|
||||
\font\sevenit=phvro8t at 7pt
|
||||
\font\sevenbi=phvbo8t at 7pt
|
||||
\font\sevensc=phvrc8t at 7pt
|
||||
%
|
||||
% 8pt
|
||||
\font\eightrm=phvr8t at 8pt
|
||||
\font\eightbf=phvb8t at 8pt
|
||||
\font\eightbi=phvbo8t at 8pt
|
||||
\font\eightsc=phvrc8t at 8pt
|
||||
\font\eightit=phvro8t at 8pt
|
||||
%
|
||||
% 9pt
|
||||
\font\ninerm=phvr8t at 9pt
|
||||
\font\ninebf=phvb8t at 9pt
|
||||
\font\nineit=phvro8t at 9pt
|
||||
\font\ninebi=phvbo8t at 9pt
|
||||
\font\ninesc=phvrc8t at 9pt
|
||||
%
|
||||
% 10pt
|
||||
\font\tenrm=phvr8t at 10pt
|
||||
\font\tenbf=phvb8t at 10pt
|
||||
\font\tenit=phvro8t at 10pt
|
||||
\font\tenbi=phvbo8t at 10pt
|
||||
\font\tensc=phvrc8t at 10pt
|
||||
%
|
||||
% 11pt
|
||||
\font\elevenrm=phvr8t at 11pt
|
||||
\font\elevenbf=phvb8t at 11pt
|
||||
\font\elevenit=phvro8t at 11pt
|
||||
\font\elevenbi=phvbo8t at 11pt
|
||||
\font\elevensc=phvrc8t at 11pt
|
||||
%
|
||||
% 12pt
|
||||
\font\twelverm=phvr8t scaled \magstep1
|
||||
\font\twelvebf=phvb8t scaled \magstep1
|
||||
\font\twelveit=phvro8t scaled \magstep1
|
||||
\font\twelvebi=phvbo8t scaled \magstep1
|
||||
\font\twelvesc=phvrc8t scaled \magstep1
|
||||
%
|
||||
% 14pt
|
||||
\font\frtrm=phvr8t scaled \magstep2
|
||||
\font\frtbf=phvb8t scaled \magstep2
|
||||
\font\frtit=phvro8t scaled \magstep2
|
||||
\font\frtbi=phvbo8t scaled \magstep2
|
||||
\font\frtsc=phvrc8t scaled \magstep2
|
||||
%
|
||||
% 17pt
|
||||
\font\svtrm=phvr8t scaled \magstep3
|
||||
\font\svtbf=phvb8t scaled \magstep3
|
||||
\font\svtit=phvro8t scaled \magstep3
|
||||
\font\svtbi=phvbo8t scaled \magstep3
|
||||
\font\svtsc=phvrc8t scaled \magstep3
|
||||
%
|
||||
% 20pt
|
||||
\font\twtyrm=phvr8t scaled \magstep4
|
||||
\font\twtybf=phvb8t scaled \magstep4
|
||||
\font\twtyit=phvro8t scaled \magstep4
|
||||
\font\twtybi=phvbo8t scaled \magstep4
|
||||
\font\twtysc=phvrc8t scaled \magstep4
|
||||
%
|
||||
% 25pt
|
||||
\font\twfvrm=phvr8t scaled \magstep5
|
||||
\font\twfvbf=phvb8t scaled \magstep5
|
||||
\font\twfvit=phvro8t scaled \magstep5
|
||||
\font\twfvbi=phvbo8t scaled \magstep5
|
||||
\font\twfvsc=phvrc8t scaled \magstep5
|
||||
%
|
||||
% large fonts for titles
|
||||
% (If you prefer bold, use \bf)
|
||||
%
|
||||
\def\bigtype{\bigfont\rm}
|
||||
\def\Bigtype{\Bigfont\rm}
|
||||
\def\BIgtype{\BIgfont\rm}
|
||||
\def\BIGtype{\BIGfont\rm}
|
||||
%
|
||||
%
|
||||
\font\ppfftwelve=phvbo8t at 8pt
|
||||
\font\ppffsixteen=phvbo8t at 10pt
|
||||
\font\ppfftwenty=phvbo8t at 12pt
|
||||
\font\ppfftwentyfour=phvbo8t at 14pt
|
||||
\font\ppfftwentynine=phvbo8t at 17pt
|
||||
%
|
||||
\def\f{{\ppff f}}
|
||||
\def\ff{{\ppff ff}}
|
||||
\def\fp{{\ppff fp}}
|
||||
\def\fff{{\ppff fff}}
|
||||
\def\ffff{{\ppff ffff}}
|
||||
\def\mf{{\ppff mf}}
|
||||
\def\p{{\ppff p}}
|
||||
\def\pp{{\ppff pp}}
|
||||
\def\ppp{{\ppff ppp}}
|
||||
\def\pppp{{\ppff pppp}}
|
||||
|
||||
% sl fonts needed by musixsty
|
||||
%
|
||||
\font\eightsl=phvro8t at 8pt
|
||||
\font\ninesl=phvro8t at 9pt
|
||||
\font\tensl=phvro8t at 10pt
|
||||
\font\twelvesl=phvro8t scaled \magstep1
|
||||
\font\frtsl=phvro8t scaled \magstep2
|
||||
\font\svtsl=phvro8t scaled \magstep3
|
||||
\font\twtysl=phvro8t scaled \magstep4
|
||||
\font\twfvsl=phvro8t scaled \magstep5
|
||||
%
|
||||
%
|
||||
\edef\catcodeat{\the\catcode`\@}
|
||||
\catcode`\@=11
|
||||
%
|
||||
\def\sF{{\ppff s\p@kern f}}
|
||||
\def\sfz{{\ppff s\p@kern f\f@kern z}}
|
||||
\def\sfzp{{\ppff s\p@kern f\f@kern z\p@kern p}}
|
||||
|
||||
\def\mp@{{\ppff mp}}
|
||||
\let\mezzopiano\mp@
|
||||
\catcode`\@=\catcodeat
|
||||
|
||||
%
|
||||
% Redefine accented characters for etex, suggested by David Carlisle:
|
||||
%
|
||||
\ifx\documentclass\undefined
|
||||
\catcode`\@=11
|
||||
\def\ProvidesFile#1[#2]{}
|
||||
\def\DeclareFontEncoding#1#2#3{}
|
||||
\def\DeclareTextAccent#1#2#3{%
|
||||
\def#1##1{%
|
||||
\expandafter\ifx\csname T1\string#1-\string##1\endcsname\relax
|
||||
{\accent#1 ##1}%
|
||||
\else
|
||||
\csname T1\string#1-\string##1\expandafter\endcsname
|
||||
\fi}}
|
||||
\def\DeclareTextCommand#1#2{\xdtcmd}%not today
|
||||
\def\xdtcmd#1#{\xxdtcmd}%not today
|
||||
\def\xxdtcmd#1{}%not today
|
||||
\def\DeclareTextCompositeCommand#1#2#3#4{}%not today
|
||||
\def\DeclareTextSymbol#1#2#3{%
|
||||
\def#1{\char#3\relax}}
|
||||
\def\DeclareTextComposite#1#2#3#4{%
|
||||
\expandafter\def\csname T1\string#1-\string#3\endcsname{\char#4\relax}}
|
||||
|
||||
\input t1enc.def
|
||||
|
||||
\def\c#1{\leavevmode\ifx c#1\char231 \else\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1%
|
||||
\else{\ooalign{\unhbox\z@\crcr
|
||||
\hidewidth\char11\hidewidth}}\fi\fi}
|
||||
\catcode`\@=\catcodeat
|
||||
\fi
|
||||
|
||||
\normtype
|
||||
\endinput
|
2
musixtex/tex/musixinv.tex
Normal file
2
musixtex/tex/musixinv.tex
Normal file
|
@ -0,0 +1,2 @@
|
|||
% still a dummy
|
||||
\endinput
|
87
musixtex/tex/musixlit.tex
Normal file
87
musixtex/tex/musixlit.tex
Normal file
|
@ -0,0 +1,87 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
\immediate\write16{MusiXLITurgical 0.38\space<17 Dec 2016>}%
|
||||
|
||||
\ifx\undefined\oldGclef \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\def\oldGclef{\keychar103}
|
||||
|
||||
\def\cqu{\def\q@u{\musixchar99}\@qu}
|
||||
\def\cql{\def\q@u{\musixfont\@c}\@ql}
|
||||
\def\chu{\def\q@u{\musixchar101}\@qu}
|
||||
\def\chl{\def\q@u{\musixchar102}\@ql}
|
||||
|
||||
\def\cnqu{\def\q@u{\musixchar99}\@nq}
|
||||
\def\cnql{\def\q@u{\musixfont\@c}\@nq}
|
||||
\def\cnhu{\def\q@u{\musixchar101}\@nq}
|
||||
\def\cnhl{\def\q@u{\musixchar102}\@nq}
|
||||
\def\cqb{\def\q@u{\musixchar99}\@qb} % RDT 2016-12-17
|
||||
\def\zcqb{\advancefalse\cqb} % RDT 2016-12-17
|
||||
|
||||
|
||||
% Moved to musixtex.tex. RDT 2015-12-23
|
||||
%\def\Hpause#1#2{\zcharnote{#1}{\def\s@r{%
|
||||
% \vrule\@width.6\p@\@height1\h@lf\internote\@depth1\h@lf\internote}%
|
||||
% \s@r
|
||||
% \vrule\@width#2\noteskip\@height\h@lf\internote\@depth\h@lf\internote
|
||||
% \s@r}}
|
||||
|
||||
\def\Hlonga#1#2{\zcharnote{#1}{\def\s@r{%
|
||||
\vrule\@width.6\p@\@height1\h@lf\internote\@depth1\h@lf\internote}%
|
||||
\s@r
|
||||
\raise\h@lf\internote\rlap{\vrule\@width#2\noteskip
|
||||
\@height 0.3pt\@depth 0.3pt}%
|
||||
\raise-\h@lf\internote\hbox{\vrule\@width#2\noteskip
|
||||
\@height 0.3pt\@depth 0.3pt}%
|
||||
\s@r}}
|
||||
|
||||
% separated short vrules over every staff (fits only for 1,2,3,5 Lines)
|
||||
|
||||
\def\rul@SEP#1{\n@loop\short@rule\repeat\addspace#1}
|
||||
\def\short@rule{{\p@loop\y@\altportee\advance\y@\tw@\internote\raise\y@%
|
||||
\rlap{\vrule\@width\lthick\@height\f@ur\internote}\count@portee\repeat}}
|
||||
\def\shortbarrules{\let\writ@rule\rul@SEP }
|
||||
|
||||
% separated short vrules between every staff (fits only for 1,2,3,5 Lines)
|
||||
|
||||
\def\rul@int#1{\n@loop\inter@rule\repeat\addspace#1}
|
||||
\def\inter@rule{{%
|
||||
\y@iv\altitude \y@v\y@iv
|
||||
\ifnum\st@ffs>\@ne \@ri \Comp@High\advance\y@v\altitude
|
||||
\else \ifnum\st@ffs>\z@ \advance\y@v\@ight\internote \fi\fi
|
||||
\advance\noinstrum@nt\@ne \s@l@ctinstr
|
||||
\ifnum\st@ffs=\z@ \advance\noinstrum@nt\@ne\s@l@ctinstr \fi
|
||||
\ifnum\nbinstruments<\noinstrum@nt
|
||||
\y@iii\y@iv \y@ii\y@iii \advance\y@ii-\y@v \Put@inter@rule
|
||||
\else
|
||||
\y@iii\altitude \y@ii\y@iii \advance\y@ii-\y@v \Put@inter@rule
|
||||
\fi}}
|
||||
\def\@ri{\n@ii\st@ffs \advance\st@ffs\m@ne
|
||||
\C@Inter \y@ii\stem@skip
|
||||
\p@loop \y@iii\altportee \advance\y@iii\interportee
|
||||
\Put@inter@rule \advance\noport@@\@ne \repeat
|
||||
\st@ffs\n@ii}
|
||||
\def\Put@inter@rule{\raise\y@iii\rlap{\vrule\@width\lthick\@depth\y@ii}}
|
||||
\def\interbarrules{\let\writ@rule\rul@int }
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
1162
musixtex/tex/musixlyr.tex
Normal file
1162
musixtex/tex/musixlyr.tex
Normal file
File diff suppressed because it is too large
Load diff
30
musixtex/tex/musixmad.tex
Normal file
30
musixtex/tex/musixmad.tex
Normal file
|
@ -0,0 +1,30 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
% musixmad.tex : allocate registers for more additional instruments
|
||||
%
|
||||
\immediate\write16{MusiXMore ADditional instruments T.115 <19 Nov 2010>}%
|
||||
%
|
||||
%
|
||||
% setup the maximum element numbers
|
||||
\setmaxinstruments{12}%
|
||||
\setmaxgroups{4}%
|
||||
\setmaxslurs\maxinstruments
|
||||
%
|
||||
\endinput
|
195
musixtex/tex/musixper.tex
Normal file
195
musixtex/tex/musixper.tex
Normal file
|
@ -0,0 +1,195 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\ifx\undefined\drumclef \else \endinput \fi
|
||||
|
||||
\immediate\write16{MusiXPERcussion T.60\space<27 September 2010>}%
|
||||
|
||||
\ifx\undefined\dqb
|
||||
\input musixdia
|
||||
\fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
% if you need pointed percussion notes, say '\p[p][p]t n\xqu n' or '\xqu{.n}'
|
||||
% if you need them more often define them by your one
|
||||
|
||||
\def\drumclef{\raise2\internote\hbox{\keychar77}}
|
||||
|
||||
%%% notes with a circled diagonal cross head, for closed hihat ...
|
||||
|
||||
\def\dc@symbol{\def\q@u{\musixchar113}}
|
||||
|
||||
\def\dcqu{\dc@symbol\@qu}
|
||||
\def\dcql{\dc@symbol\@ql}
|
||||
|
||||
\def\dcqb{\dc@symbol\@qb}
|
||||
|
||||
\def\dczq{\dc@symbol\@zq}
|
||||
|
||||
\def\dccu{\dc@symbol\@cu}
|
||||
\def\dcccu{\dc@symbol\@ccu}
|
||||
%\def\dccccu{\dc@symbol\@cccu}
|
||||
%\def\dcccccu{\dc@symbol\@ccccu}
|
||||
\def\dccl{\dc@symbol\@cl}
|
||||
\def\dcccl{\dc@symbol\@ccl}
|
||||
%\def\dccccl{\dc@symbol\@cccl}
|
||||
%\def\dcccccl{\dc@symbol\@ccccl}
|
||||
|
||||
%%% notes with a diagonal cross half circle head, for half open hihat ...
|
||||
|
||||
\def\dh@symbol{\def\q@u{\musixchar112}}
|
||||
|
||||
\def\dhqu{\dh@symbol\@qu}
|
||||
\def\dhql{\dh@symbol\@ql}
|
||||
|
||||
\def\dhqb{\dh@symbol\@qb}
|
||||
|
||||
\def\dhzq{\dh@symbol\@zq}
|
||||
|
||||
\def\dhcu{\dh@symbol\@cu}
|
||||
\def\dhccu{\dh@symbol\@ccu}
|
||||
%\def\dhcccu{\dh@symbol\@cccu}
|
||||
%\def\dhccccu{\dh@symbol\@ccccu}
|
||||
\def\dhcl{\dh@symbol\@cl}
|
||||
\def\dhccl{\dh@symbol\@ccl}
|
||||
%\def\dhcccl{\dh@symbol\@cccl}
|
||||
%\def\dhccccl{\dh@symbol\@ccccl}
|
||||
|
||||
%%% notes with a diagonal cross head, for open hihat ...
|
||||
|
||||
\def\do@symbol{\def\q@u{\musixchar111}}
|
||||
|
||||
\def\doqu{\do@symbol\@qu}
|
||||
\def\doql{\do@symbol\@ql}
|
||||
|
||||
\def\doqb{\do@symbol\@qb}
|
||||
|
||||
\def\dozq{\do@symbol\@zq}
|
||||
|
||||
\def\docu{\do@symbol\@cu}
|
||||
\def\doccu{\do@symbol\@ccu}
|
||||
%\def\docccu{\do@symbol\@cccu}
|
||||
%\def\doccccu{\do@symbol\@ccccu}
|
||||
\def\docl{\do@symbol\@cl}
|
||||
\def\doccl{\do@symbol\@ccl}
|
||||
%\def\docccl{\do@symbol\@cccl}
|
||||
%\def\doccccl{\do@symbol\@ccccl}
|
||||
|
||||
%%% notes with a doublesharp-head
|
||||
|
||||
\def\x@symbol{\def\q@u{\musixchar114}}
|
||||
|
||||
\def\xqu{\x@symbol\@qu}
|
||||
\def\xql{\x@symbol\@ql}
|
||||
|
||||
\def\xqb{\x@symbol\@qb}
|
||||
|
||||
\def\xzq{\x@symbol\@zq}
|
||||
|
||||
\def\xcu{\x@symbol\@cu}
|
||||
\def\xccu{\x@symbol\@ccu}
|
||||
%\def\xcccu{\x@symbol\@cccu}
|
||||
%\def\xccccu{\x@symbol\@ccccu}
|
||||
\def\xcl{\x@symbol\@cl}
|
||||
\def\xccl{\x@symbol\@ccl}
|
||||
%\def\xcccl{\x@symbol\@cccl}
|
||||
%\def\xccccl{\x@symbol\@ccccl}
|
||||
|
||||
%%% notes with a circled doublesharp-head
|
||||
|
||||
\def\ox@symbol{\def\q@u{\musixfont\@cxv}}
|
||||
|
||||
\def\oxqu{\ox@symbol\@qu}
|
||||
\def\oxql{\ox@symbol\@ql}
|
||||
|
||||
\def\oxqb{\ox@symbol\@qb}
|
||||
|
||||
\def\oxzq{\ox@symbol\@zq}
|
||||
|
||||
\def\oxcu{\ox@symbol\@cu}
|
||||
\def\oxccu{\ox@symbol\@ccu}
|
||||
%\def\oxcccu{\ox@symbol\@cccu}
|
||||
%\def\oxccccu{\ox@symbol\@ccccu}
|
||||
\def\oxcl{\ox@symbol\@cl}
|
||||
\def\oxccl{\ox@symbol\@ccl}
|
||||
%\def\oxcccl{\ox@symbol\@cccl}
|
||||
%\def\oxccccl{\ox@symbol\@ccccl}
|
||||
|
||||
%%% notes with a RhOmbus head, for shaker ...
|
||||
|
||||
\def\r@symbol{\def\q@u{\musixchar118}}
|
||||
|
||||
\def\roqu{\r@symbol\@qu}
|
||||
\def\roql{\r@symbol\@ql}
|
||||
|
||||
\def\roqb{\r@symbol\@qb}
|
||||
|
||||
\def\rozq{\r@symbol\@zq}
|
||||
|
||||
\def\rocu{\r@symbol\@cu}
|
||||
\def\roccu{\r@symbol\@ccu}
|
||||
%\def\rocccu{\r@symbol\@cccu}
|
||||
%\def\roccccu{\r@symbol\@ccccu}
|
||||
\def\rocl{\r@symbol\@cl}
|
||||
\def\roccl{\r@symbol\@ccl}
|
||||
%\def\rocccl{\r@symbol\@cccl}
|
||||
%\def\roccccl{\r@symbol\@ccccl}
|
||||
|
||||
%%% notes with a TrianGle head, for rattle ...
|
||||
|
||||
\def\t@symbol{\def\q@u{\musixchar116}}
|
||||
|
||||
\def\tgqu{\t@symbol\@qu}
|
||||
\def\tgql{\t@symbol\@ql}
|
||||
|
||||
\def\tgqb{\t@symbol\@qb}
|
||||
|
||||
\def\tgzq{\t@symbol\@zq}
|
||||
|
||||
\def\tgcu{\t@symbol\@cu}
|
||||
\def\tgccu{\t@symbol\@ccu}
|
||||
%\def\tgcccu{\t@symbol\@cccu}
|
||||
%\def\tgccccu{\t@symbol\@ccccu}
|
||||
\def\tgcl{\t@symbol\@cl}
|
||||
\def\tgccl{\t@symbol\@ccl}
|
||||
%\def\tgcccl{\t@symbol\@cccl}
|
||||
%\def\tgccccl{\t@symbol\@ccccl}
|
||||
|
||||
%%% notes with a + head, for bongos ...
|
||||
|
||||
\def\k@symbol{\def\q@u{\musixchar117}}
|
||||
|
||||
\def\kqu{\k@symbol\@qu}
|
||||
\def\kql{\k@symbol\@ql}
|
||||
|
||||
\def\kqb{\k@symbol\@qb}
|
||||
|
||||
\def\kzq{\k@symbol\@zq}
|
||||
|
||||
\def\kcu{\k@symbol\@cu}
|
||||
\def\kccu{\k@symbol\@ccu}
|
||||
%\def\kcccu{\k@symbol\@cccu}
|
||||
%\def\kccccu{\k@symbol\@ccccu}
|
||||
\def\kcl{\k@symbol\@cl}
|
||||
\def\kccl{\k@symbol\@ccl}
|
||||
%\def\kcccl{\k@symbol\@cccl}
|
||||
%\def\kccccl{\k@symbol\@ccccl}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
184
musixtex/tex/musixplt.tex
Normal file
184
musixtex/tex/musixplt.tex
Normal file
|
@ -0,0 +1,184 @@
|
|||
% musixplt.tex : Palatino font definitions for MusiXTeX
|
||||
%
|
||||
% usage:
|
||||
%
|
||||
% \input musixtex
|
||||
% \input musixplt
|
||||
% ...
|
||||
%
|
||||
% MusiXplt.tex is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXplt.tex is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
% Copyright 2015-2017 Bob Tennent rdt@cs.queensu.ca
|
||||
%
|
||||
\immediate\write16{MusiXplt\space<2017/02/10>}
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixplt.tex}\fi
|
||||
%
|
||||
% 7pt roman, bold, italic, bold italic, slanted and small-cap
|
||||
\font\sevenrm=pplr8t at 7pt
|
||||
\font\sevenbf=pplb8t at 7pt
|
||||
\font\sevenit=pplri8t at 7pt
|
||||
\font\sevenbi=pplbi8t at 7pt
|
||||
\font\sevensc=pplrc9d at 7pt
|
||||
%
|
||||
% 8pt roman, bold, italic, bold italic, slanted and small-cap
|
||||
\font\eightrm=pplr8t at 8pt
|
||||
\font\eightbf=pplb8t at 8pt
|
||||
\font\eightit=pplri8t at 8pt
|
||||
\font\eightbi=pplbi8t at 8pt
|
||||
\font\eightsc=pplrc9d at 8pt
|
||||
%
|
||||
% 9pt
|
||||
\font\ninerm=pplr8t at 9pt
|
||||
\font\ninebf=pplb8t at 9pt
|
||||
\font\nineit=pplri8t at 9pt
|
||||
\font\ninebi=pplbi8t at 9pt
|
||||
\font\ninesc=pplrc9d at 9pt
|
||||
%
|
||||
% 10pt
|
||||
\font\tenrm=pplr8t at 10pt
|
||||
\font\tenbf=pplb8t at 10pt
|
||||
\font\tenit=pplri8t at 10pt
|
||||
\font\tenbi=pplbi8t at 10pt
|
||||
\font\tensc=pplrc9d at 10pt
|
||||
%
|
||||
% 11pt
|
||||
\font\elevenrm=pplr8t scaled \magstephalf
|
||||
\font\elevenbf=pplb8t scaled \magstephalf
|
||||
\font\elevenit=pplri8t scaled \magstephalf
|
||||
\font\elevenbi=pplbi8t scaled \magstephalf
|
||||
\font\elevensc=pplrc9d scaled \magstephalf
|
||||
%
|
||||
% 12pt
|
||||
\font\twelverm=pplr8t scaled \magstep1
|
||||
\font\twelvebf=pplb8t scaled \magstep1
|
||||
\font\twelveit=pplri8t scaled \magstep1
|
||||
\font\twelvebi=pplbi8t scaled \magstep1
|
||||
\font\twelvesc=pplrc9d scaled \magstep1
|
||||
%
|
||||
% 14pt
|
||||
\font\frtrm=pplr8t scaled \magstep2
|
||||
\font\frtbf=pplb8t scaled \magstep2
|
||||
\font\frtit=pplri8t scaled \magstep2
|
||||
\font\frtbi=pplbi8t scaled \magstep2
|
||||
\font\frtsc=pplrc9d scaled \magstep2
|
||||
%
|
||||
% 17pt
|
||||
\font\svtrm=pplr8t scaled \magstep3
|
||||
\font\svtbf=pplb8t scaled \magstep3
|
||||
\font\svtit=pplri8t scaled \magstep3
|
||||
\font\svtbi=pplbi8t scaled \magstep3
|
||||
\font\svtsc=pplrc9d scaled \magstep3
|
||||
%
|
||||
% 20pt
|
||||
\font\twtyrm=pplr8t scaled \magstep4
|
||||
\font\twtybf=pplb8t scaled \magstep4
|
||||
\font\twtyit=pplri8t scaled \magstep4
|
||||
\font\twtybi=pplbi8t scaled \magstep4
|
||||
\font\twtysc=pplrc9d scaled \magstep4
|
||||
%
|
||||
% 25pt
|
||||
\font\twfvrm=pplr8t scaled \magstep5
|
||||
\font\twfvbf=pplb8t scaled \magstep5
|
||||
\font\twfvit=pplri8t scaled \magstep5
|
||||
\font\twfvbi=pplbi8t scaled \magstep5
|
||||
\font\twfvsc=pplrc9d scaled \magstep5
|
||||
%
|
||||
%
|
||||
% large fonts for titles
|
||||
% (If you prefer bold, use \bf)
|
||||
% (If you prefer roman, use \rm)
|
||||
%
|
||||
\def\bigtype{\bigfont\sc}
|
||||
\def\Bigtype{\Bigfont\sc}
|
||||
\def\BIgtype{\BIgfont\sc}
|
||||
\def\BIGtype{\BIGfont\sc}
|
||||
%
|
||||
\font\ppfftwelve=pplbi8t at 8pt
|
||||
\font\ppffsixteen=pplbi8t at 10pt
|
||||
\font\ppfftwenty=pplbi8t at 12pt
|
||||
\font\ppfftwentyfour=pplbi8t at 14pt
|
||||
\font\ppfftwentynine=pplbi8t at 17pt
|
||||
%
|
||||
\def\f{{\ppff f}}
|
||||
\def\ff{{\ppff ff}}
|
||||
\def\fp{{\ppff fp}}
|
||||
\def\fff{{\ppff fff}}
|
||||
\def\ffff{{\ppff ffff}}
|
||||
\def\mf{{\ppff mf}}
|
||||
\def\p{{\ppff p}}
|
||||
\def\pp{{\ppff pp}}
|
||||
\def\ppp{{\ppff ppp}}
|
||||
\def\pppp{{\ppff pppp}}
|
||||
%
|
||||
%
|
||||
% sl fonts needed by musixsty
|
||||
%
|
||||
\font\eightsl=pplro8t at 8pt
|
||||
\font\ninesl=pplro8t at 9pt
|
||||
\font\tensl=pplro8t at 10pt
|
||||
\font\twelvesl=pplro8t scaled \magstep1
|
||||
\font\frtsl=pplro8t scaled \magstep2
|
||||
\font\svtsl=pplro8t scaled \magstep3
|
||||
\font\twtysl=pplro8t scaled \magstep4
|
||||
\font\twfvsl=pplro8t scaled \magstep5
|
||||
%
|
||||
%
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
%
|
||||
\def\sF{{\ppff s\p@kern f}}
|
||||
\def\sfz{{\ppff s\p@kern f\f@kern z}}
|
||||
\def\sfzp{{\ppff s\p@kern f\f@kern z\p@kern p}}
|
||||
|
||||
\def\mp@{{\ppff mp}}
|
||||
\let\mezzopiano\mp@
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
|
||||
%
|
||||
% Redefine accented characters for 8-bit font, suggested by David Carlisle:
|
||||
%
|
||||
|
||||
\ifx\documentclass\undefined
|
||||
\catcode`\@=11
|
||||
\def\ProvidesFile#1[#2]{}
|
||||
\def\DeclareFontEncoding#1#2#3{}
|
||||
\def\DeclareTextAccent#1#2#3{%
|
||||
\def#1##1{%
|
||||
\expandafter\ifx\csname T1\string#1-\string##1\endcsname\relax
|
||||
{\accent#1 ##1}%
|
||||
\else
|
||||
\csname T1\string#1-\string##1\expandafter\endcsname
|
||||
\fi}}
|
||||
\def\DeclareTextCommand#1#2{\xdtcmd}%not today
|
||||
\def\xdtcmd#1#{\xxdtcmd}%not today
|
||||
\def\xxdtcmd#1{}%not today
|
||||
\def\DeclareTextCompositeCommand#1#2#3#4{}%not today
|
||||
\def\DeclareTextSymbol#1#2#3{%
|
||||
\def#1{\char#3\relax}}
|
||||
\def\DeclareTextComposite#1#2#3#4{%
|
||||
\expandafter\def\csname T1\string#1-\string#3\endcsname{\char#4\relax}}
|
||||
|
||||
\input t1enc.def
|
||||
|
||||
% \c needs special treatment
|
||||
\def\c#1{\leavevmode\ifx c#1\char231 \else\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1%
|
||||
\else{\ooalign{\unhbox\z@\crcr
|
||||
\hidewidth\char11\hidewidth}}\fi\fi}
|
||||
\catcode`\@=\catcodeat
|
||||
\fi
|
||||
|
||||
\normtype
|
||||
\endinput
|
67
musixtex/tex/musixpoi.tex
Normal file
67
musixtex/tex/musixpoi.tex
Normal file
|
@ -0,0 +1,67 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
%\immediate\write16{MusiXPOInted shorties 0.36\space<1 March 1995>}
|
||||
\immediate\write16{MusiXPOInted shorties T.114\space<16 June 2008>}
|
||||
|
||||
%\ifx\undefined\ccup \else \endinput \fi % conflicts since musixtex.tex T.111 defines \ccup
|
||||
\ifx\undefined\zcccclpp \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
%\def\@ccup{\n@vii\@xli \let\st@m\up@flag \g@qp}% moved into musixtex.tex since T.111
|
||||
\def\@cccup{\n@vii42\let\st@m\up@flag \g@qp}
|
||||
\def\@ccccup{\n@vii43\let\st@m\up@flag \g@qp}
|
||||
%\def\@cclp{\n@vii46\let\st@m\down@flag \g@qp}% moved into musixtex.tex at T.114
|
||||
\def\@ccclp{\n@vii47\let\st@m\down@flag \g@qp}
|
||||
\def\@cccclp{\n@vii48\let\st@m\down@flag \g@qp}
|
||||
\def\@ccupp{\n@vii\@xli \let\st@m\up@flag \g@qpp}
|
||||
\def\@cccupp{\n@vii42\let\st@m\up@flag \g@qpp}
|
||||
\def\@ccccupp{\n@vii43\let\st@m\up@flag \g@qpp}
|
||||
\def\@cclpp{\n@vii46\let\st@m\down@flag \g@qpp}
|
||||
\def\@ccclpp{\n@vii47\let\st@m\down@flag \g@qpp}
|
||||
\def\@cccclpp{\n@vii48\let\st@m\down@flag \g@qpp}
|
||||
%\def\ccup{\q@symbol\@ccup}% moved into musixtex.tex since T.111
|
||||
%\def\zccup{\advancefalse\ccup}% moved into musixtex.tex at T.114
|
||||
%\def\cclp{\q@symbol\@cclp}% moved into musixtex.tex since T.111
|
||||
%\def\zcclp{\advancefalse\cclp}% moved into musixtex.tex at T.114
|
||||
\def\ccupp{\q@symbol\@ccupp}
|
||||
\def\zccupp{\advancefalse\ccupp}
|
||||
\def\cclpp{\q@symbol\@cclpp}
|
||||
\def\zcclpp{\advancefalse\cclpp}
|
||||
\def\cccup{\q@symbol\@cccup}
|
||||
\def\zcccup{\advancefalse\cccup}
|
||||
\def\ccclp{\q@symbol\@ccclp}
|
||||
\def\zccclp{\advancefalse\ccclp}
|
||||
\def\cccupp{\q@symbol\@cccupp}
|
||||
\def\zcccupp{\advancefalse\cccupp}
|
||||
\def\ccclpp{\q@symbol\@ccclpp}
|
||||
\def\zccclpp{\advancefalse\ccclpp}
|
||||
\def\ccccup{\q@symbol\@ccccup}
|
||||
\def\zccccup{\advancefalse\ccccup}
|
||||
\def\cccclp{\q@symbol\@cccclp}
|
||||
\def\zcccclp{\advancefalse\cccclp}
|
||||
\def\ccccupp{\q@symbol\@ccccupp}
|
||||
\def\zccccupp{\advancefalse\ccccupp}
|
||||
\def\cccclpp{\q@symbol\@cccclpp}
|
||||
\def\zcccclpp{\advancefalse\cccclpp}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
||||
|
169
musixtex/tex/musixppff.tex
Normal file
169
musixtex/tex/musixppff.tex
Normal file
|
@ -0,0 +1,169 @@
|
|||
%% musippff.tex This is an extension library for Musix\Tex which
|
||||
%% replaces the macros used for dynamic marks to use a mini-font xppff10
|
||||
%%
|
||||
%% Author:
|
||||
%% Hiroaki MORIMOTO <CQX05646\atmark nifty.com>
|
||||
%% Tokyo, Japan
|
||||
%% URL: http://homepage1.nifty.com/kuuku/pub/musixtex/index-e.html
|
||||
%%
|
||||
%% usage:
|
||||
%% \input musixtex
|
||||
%% \input musixppff
|
||||
%% ...
|
||||
%%
|
||||
%%
|
||||
\immediate\write16{MusiXppff \noexpand\ppff font replacement <2017/02/10>}%
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixppff.tex}\fi
|
||||
|
||||
\font\xppfftwelve=xppff10 at 8pt
|
||||
\font\xppffsixteen=xppff10
|
||||
\font\xppfftwenty=xppff10 scaled \magstep1
|
||||
\font\xppfftwentyfour=xppff10 scaled \magstep2
|
||||
\font\xppfftwentynine=xppff10 scaled \magstep3
|
||||
\font\tinyxppff=xppff10 at 8pt
|
||||
\font\smallxppff=xppff10
|
||||
\font\normxppff=xppff10 scaled \magstep1
|
||||
\font\medxppff=xppff10 scaled \magstep2
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\def\xppff{%
|
||||
\ifdim\internote<\p@seven6\Internote \tinyxppff
|
||||
\else\ifdim\internote<.95\Internote \smallxppff
|
||||
\else\ifdim\internote<1.19\Internote \normxppff
|
||||
\else\medxppff\fi\fi\fi}
|
||||
|
||||
|
||||
\def\f{{\xppff f}}%
|
||||
\def\ff{{\xppff ff}}%
|
||||
\def\fp{{\xppff fp}}%
|
||||
\def\sF{{\xppff sf}}%
|
||||
\def\fff{{\xppff fff}}%
|
||||
\def\ffff{{\xppff ffff}}%
|
||||
\def\mf{{\xppff mf}}%
|
||||
\def\p{{\xppff p}}%
|
||||
\def\pp{{\xppff pp}}%
|
||||
\def\ppp{{\xppff ppp}}%
|
||||
\def\pppp{{\xppff pppp}}%
|
||||
\def\sfz{{\xppff sfz}}%
|
||||
\def\sfzp{{\xppff sfzp}}%
|
||||
\def\mp@{{\xppff mp}}%
|
||||
\let\mezzopiano\mp@
|
||||
|
||||
%
|
||||
\def\tinydyn{\let\ppff\tinyppff\let\xppff\tinyxppff}%
|
||||
\def\smalldyn{\let\ppff\smallppff\let\xppff\smallxppff}%
|
||||
\def\normdyn{\let\ppff\normppff\let\xppff\normxppff}%
|
||||
\def\meddyn{\let\ppff\medppff\let\xppff\medxppff}%
|
||||
|
||||
\def\comput@fonts{%
|
||||
\ifnum\musicsize=\sixt@@n
|
||||
\let\musicLargefont\musictwentyfour
|
||||
\let\musiclargefont\musictwenty
|
||||
\let\musicnorfont\musicsixteen
|
||||
\let\musicsmallfont\musicthirteen
|
||||
\let\musictinyfont\musiceleven
|
||||
\let\xgregLargefont\xgregtwentyfour
|
||||
\let\xgreglargefont\xgregtwenty
|
||||
\let\xgregnorfont\xgregsixteen
|
||||
\let\xgregsmallfont\xgregthirteen
|
||||
\let\xgregtinyfont\xgregeleven
|
||||
\let\slurd\slurdsixteen \let\sluru\slurusixteen
|
||||
\let\hslurd\hslurdsixteen \let\hsluru\hslurusixteen
|
||||
\let\meternorfont\tenbf \let\metersmallfont\eightbf % version 1.16 RDT
|
||||
\let\meterbigfont\twelvebf \let\meterlargefont\frtbf
|
||||
\let\meterLargefont\svtbf
|
||||
\let\tinyppff\ppfftwelve % version 1.17 RDT
|
||||
\let\smallppff\ppfftwelve
|
||||
\let\normppff\ppffsixteen
|
||||
\let\medppff\ppfftwenty
|
||||
\let\tinyxppff\xppfftwelve % version 1.17 RDT
|
||||
\let\smallxppff\xppfftwelve
|
||||
\let\normxppff\xppffsixteen
|
||||
\let\medxppff\xppfftwenty
|
||||
\else\ifnum\musicsize=\@xxiv
|
||||
\let\musicLargefont\musictwentynine
|
||||
\let\musiclargefont\musictwentynine
|
||||
\let\musicnorfont\musictwentyfour
|
||||
\let\musicsmallfont\musictwenty
|
||||
\let\musictinyfont\musicsixteen
|
||||
\let\xgregLargefont\xgregtwentynine
|
||||
\let\xgreglargefont\xgregtwentynine
|
||||
\let\xgregnorfont\xgregtwentyfour
|
||||
\let\xgregsmallfont\xgregtwenty
|
||||
\let\xgregtinyfont\xgregsixteen
|
||||
\let\sluru\slurutwenty \let\slurd\slurdtwenty
|
||||
\let\hsluru\hslurutwenty \let\hslurd\hslurdtwenty
|
||||
\let\meternorfont\frtbf \let\metersmallfont\twelvebf % version 1.18 RDT
|
||||
\let\meterbigfont\svtbf \let\meterlargefont\twtybf
|
||||
\let\meterlargefont\twfvbf
|
||||
\let\tinyppff\ppffsixteen
|
||||
\let\smallppff\ppfftwenty
|
||||
\let\normppff\ppfftwentyfour
|
||||
\let\medppff\ppfftwentynine
|
||||
\let\tinyxppff\xppffsixteen
|
||||
\let\smallxppff\xppfftwenty
|
||||
\let\normxppff\xppfftwentyfour
|
||||
\let\medxppff\xppfftwentynine
|
||||
\else\ifnum\musicsize=\@xxix
|
||||
\let\musicLargefont\musictwentynine
|
||||
\let\musiclargefont\musictwentynine
|
||||
\let\musicnorfont\musictwentynine
|
||||
\let\musicsmallfont\musictwentyfour
|
||||
\let\musictinyfont\musictwenty
|
||||
\let\xgregLargefont\xgregtwentynine
|
||||
\let\xgreglargefont\xgregtwentynine
|
||||
\let\xgregnorfont\xgregtwentynine
|
||||
\let\xgregsmallfont\xgregtwentyfour
|
||||
\let\xgregtinyfont\xgregtwenty
|
||||
\let\sluru\slurutwenty \let\slurd\slurdtwenty
|
||||
\let\hsluru\hslurutwenty \let\hslurd\hslurdtwenty
|
||||
\let\slurud\slurutwentyd \let\slurdd\slurdtwentyd % +ickd
|
||||
\let\hslurud\hslurutwentyd \let\hslurdd\hslurdtwentyd %+ickd
|
||||
\let\meternorfont\svtbf \let\metersmallfont\frtbf % version 1.18 RDT
|
||||
\let\meterbigfont\twtybf \let\meterlargefont\twfvbf
|
||||
\let\meterLargefont\twfvbf
|
||||
\let\tinyppff\ppfftwenty
|
||||
\let\smallppff\ppfftwentyfour
|
||||
\let\normppff\ppfftwentynine
|
||||
\let\medppff\ppfftwentynine
|
||||
\let\tinyxppff\xppfftwenty
|
||||
\let\smallxppff\xppfftwentyfour
|
||||
\let\normxppff\xppfftwentynine
|
||||
\let\medxppff\xppfftwentynine
|
||||
\else
|
||||
\ifnum\musicsize=\tw@nty
|
||||
\else\ifnum\musicsize=\z@
|
||||
\else\errmessage{\noexpand\musicsize=\the\musicsize\space not supported,
|
||||
set to default of 20}%
|
||||
\fi
|
||||
\fi\musicsize\tw@nty
|
||||
\let\musicLargefont\musictwentynine
|
||||
\let\musiclargefont\musictwentyfour
|
||||
\let\musicnorfont\musictwenty
|
||||
\let\musicsmallfont\musicsixteen
|
||||
\let\musictinyfont\musicthirteen
|
||||
\let\xgreglargefont\xgregtwentyfour
|
||||
\let\xgregLargefont\xgregtwentynine
|
||||
\let\xgregnorfont\xgregtwenty
|
||||
\let\xgregsmallfont\xgregsixteen
|
||||
\let\xgregtinyfont\xgregthirteen
|
||||
\let\sluru\slurutwenty \let\slurd\slurdtwenty
|
||||
\let\hsluru\hslurutwenty \let\hslurd\hslurdtwenty
|
||||
\let\meternorfont\twelvebf \let\metersmallfont\tenbf % version 1.18 RDT
|
||||
\let\meterbigfont\frtbf \let\meterlargefont\svtbf
|
||||
\let\meterLargefont\twtybf
|
||||
\let\tinyppff\ppfftwelve
|
||||
\let\smallppff\ppffsixteen
|
||||
\let\normppff\ppfftwenty
|
||||
\let\medppff\ppfftwentyfour
|
||||
\let\tinyxppff\xppfftwelve
|
||||
\let\smallxppff\xppffsixteen
|
||||
\let\normxppff\xppfftwenty
|
||||
\let\medxppff\xppfftwentyfour
|
||||
\fi\fi\fi}%
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
|
||||
\endinput
|
||||
|
975
musixtex/tex/musixps.tex
Normal file
975
musixtex/tex/musixps.tex
Normal file
|
@ -0,0 +1,975 @@
|
|||
%% PostScript slurs, ties and crescendos
|
||||
% Coded by Stanislav Kneifl
|
||||
% RDT added \psRslurskip \iRslur \tRslur \psRtieskip \tRtie \psLtieskip \tLtie 2019/06/17
|
||||
% RDT added \iRtieu \iRtied 2020/09/07
|
||||
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixps.tex}\fi
|
||||
\ifx\undefined\liftcresc\else\endinput\fi
|
||||
|
||||
\immediate\write16{MusiXPS PostScript slurs, ties and crescendos 0.94 (07.09.2020)}%
|
||||
|
||||
\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\psRslurskip{4} % horiz. offset of slurs shifted more to the right
|
||||
\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\psLtieskip{-0.4} % horiz. offset of ties shifted more to the left
|
||||
\def\psRtieskip{4} % horiz. offset of ties shifted more 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) psxGD N /S#1brk S#1hgt (\the\internote) psxGD
|
||||
\ifslopebrkslurs 3 \else 1 \fi\if@up 1 \else -1 \fi M M A N /S#1lift 0 N
|
||||
/S#1alt (\the\altportee) psxGDAR 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) psxGDAR SB /S#1x1 ED
|
||||
(\the\y@i) psxGD (\the\y@iii) psxGD SB 4 psxAR M A /S#1y1 ED
|
||||
(\the\internote) psxGD (\the\th@shgt) psxGD (\the\y@i) psxGD
|
||||
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) psxGDAR SB /S#1x1 ED
|
||||
S#1hgt S#1lift (\the\internote) psxGD M A 4 psxAR M
|
||||
(\the\y@i) psxGDAR SB SB /S#1y1 ED
|
||||
(\the\internote) psxGD S#1hgt (\the\y@i) psxGD
|
||||
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) psxGD S#1hgt (\the\y@i) psxGD
|
||||
#2 (\the\internote) psxGD M S#1dir M A
|
||||
S#1x1 S#1y1 CP (\the\y@ii) psxGDAR S#1dir M SB
|
||||
#4 S#1dir M #5 \psslurmaxhgt\space S#1dash S#1adj 90 DS
|
||||
/ay1 ay1 (\the\ht\z@) psxGDAR -10 psxAR 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) psxGD 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) psxGD 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) psxGDAR 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) psxGDAR 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) psxGDAR N
|
||||
CP /T#2y1 ED /T#2x1 ED /T#2hgt (\the\y@i) psxGD 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) psxGD (\the\th@shgt) psxGD DP
|
||||
CP S (\the\y@ii) psxGDAR SB S (\the\th@shgt)
|
||||
psxGDAR 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) psxGD T#1hgt psxGD DP
|
||||
CP S (\the\y@ii) psxGDAR SB S T#1hgt psxGDAR 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) psxGD 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) psxGD
|
||||
(\the\y@i) psxGD (\the\y@ii) psxGD CP (\the\y@i) psxGDAR swub
|
||||
CP exch (\the\y@v) psxGDAR add exch (\the\y@ii) psxGDAR 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) psxGDAR add def /ay1 ay1 (\the\y@ii) psxGDAR sub
|
||||
(\the\ht\z@) psxGDAR 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) psxGD N
|
||||
in (\the\y@ii) psxGD (\the\y@iii) psxGD CP S (\the\y@i) psxGD
|
||||
4 psxAR M SB S (\the\y@ii) psxGDAR SB
|
||||
CP (\the\y@iii) psxGDAR 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) psxGD 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) psxGDAR SB in 10 psxAR M A S
|
||||
S\the\n@iv hgt S\the\n@iv lift in M A 4 psxAR M SB
|
||||
S\the\n@iv alt 4 psxAR M SB CP S\the\n@iv brk
|
||||
S\the\n@iv alt A 4 psxAR 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) psxGD
|
||||
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 psxAR 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) psxGDAR SB S (\the\th@salt) psxGDAR 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) psxGDAR SB (\the\internote) psxGD 10 psxAR M A S
|
||||
C\the\n@iv alt psxGDAR 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) psxGD (\the\th@shgt) psxGD DP CP S (\the\y@i) psxGDAR 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) psxGD T\the\n@iv hgt DP CP S (\the\y@i)
|
||||
psxGDAR SB (\the\internote) psxGD 10 psxAR M A S
|
||||
T\the\n@iv alt T\the\n@iv hgt A 4 psxAR 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) psxGD 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\iLsluru#1#2{\iSlur{#1}{#2}{\psslurraise}{\psLslurskip}}
|
||||
\def\iRslurd#1#2{\iSlur{#1}{#2}{-\psslurraise}{\psRslurskip}}
|
||||
\def\iRslurd#1#2{\iSlur{#1}{#2}{-\psslurraise}{\psRslurskip}}
|
||||
|
||||
\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\tRslur#1#2{\tSlur{#1}{#2}{\psslurraise}{\psRslurskip}{\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\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\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 single 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 a
|
||||
check, whether the curve passes close the staff line and if so, adjustment
|
||||
of 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 do), or
|
||||
use the bitmapped slurs.
|
||||
|
||||
|
||||
|
||||
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.93 (17.2.2015)
|
||||
changed definitions of AR, GDAR and GD to avoid collisions in certain PS files
|
||||
|
||||
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.
|
305
musixtex/tex/musixref.tex
Normal file
305
musixtex/tex/musixref.tex
Normal file
|
@ -0,0 +1,305 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
%format musix
|
||||
|
||||
% version compatible with T103 12 Aug. 2001 D. Taupin
|
||||
|
||||
%II 59.9
|
||||
|
||||
\input musixtex
|
||||
%\input musixcpt
|
||||
\input musixhou
|
||||
\input musixper
|
||||
\input musixlit
|
||||
\input musixgre
|
||||
\input musixext
|
||||
|
||||
\parindent 0mm
|
||||
\nopagenumbers\nobarnumbers
|
||||
|
||||
\ifx\MusiXTeX\indefined\def\MusiXTeX{MusiX\TeX}\fi
|
||||
%\centerline{\cmbxbig\MusiXTeX---Reference}\medskip
|
||||
\centerline{\Bigfont\MusiXTeX---Reference}\medskip
|
||||
\centerline{\bigfont Pitches}\medskip
|
||||
\tt
|
||||
\def\bs{\char92}
|
||||
\setclef1{6000}
|
||||
\afterruleskip2pt
|
||||
\startmuflex\startpiece
|
||||
%
|
||||
% Pitches
|
||||
%
|
||||
\addspace\afterruleskip
|
||||
\notes\wh{`ABCDEFG!ABCDEFGHIJKLMNabcde}\off{-26\noteskip}%
|
||||
\zchar{14}{\llap`A}\sk
|
||||
\zchar{14}{\llap`B}\sk
|
||||
\zchar{14}{\llap`C}\sk
|
||||
\zchar{14}{\llap`D}\sk
|
||||
\zchar{14}{\llap`E}\sk
|
||||
\zchar{14}{\llap`F}\sk
|
||||
\zchar{14}{\llap`G}\sk
|
||||
\zchar{14}A\sk
|
||||
\zchar{14}B\sk
|
||||
\zchar{14}C\sk
|
||||
\zchar{14}D\sk
|
||||
\zchar{14}E\sk
|
||||
\zchar{14}F\sk
|
||||
\zchar{14}G\sk
|
||||
\zchar{-5}{\llap'A}\zchar{14}H\sk
|
||||
\zchar{-5}{\llap'B}\zchar{14}I\sk
|
||||
\zchar{-5}{\llap'C}\zchar{14}J\sk
|
||||
\zchar{-5}{\llap'D}\zchar{14}K\sk
|
||||
\zchar{-5}{\llap'E}\zchar{14}L\sk
|
||||
\zchar{-5}{\llap'F}\zchar{14}M\sk
|
||||
\zchar{-5}{\llap'G}\zchar{14}N\sk
|
||||
\zchar{14}a\sk
|
||||
\zchar{14}b\sk
|
||||
\zchar{14}c\sk
|
||||
\zchar{14}d\sk
|
||||
\zchar{14}e\sk\en
|
||||
\stoppiece\vskip-3\Interligne\setclef1{0000}\contpiece
|
||||
\notes\wh{abcdefghijklmnopqrstuvwxyz}\off{-26\noteskip}%
|
||||
\zchar{-8}a\sk
|
||||
\zchar{-8}b\sk
|
||||
\zchar{-8}c\sk
|
||||
\zchar{-8}d\sk
|
||||
\zchar{-8}e\sk
|
||||
\zchar{-8}f\sk
|
||||
\zchar{-8}g\sk
|
||||
\zchar{-8}h\zchar{-4}{\llap'a}\sk
|
||||
\zchar{-8}i\zchar{-4}{\llap'b}\sk
|
||||
\zchar{-8}j\zchar{-4}{\llap'c}\sk
|
||||
\zchar{-8}k\zchar{-4}{\llap'd}\sk
|
||||
\zchar{-8}l\zchar{-4}{\llap'e}\sk
|
||||
\zchar{-8}m\zchar{-4}{\llap'f}\sk
|
||||
\zchar{-8}n\zchar{-4}{\llap'g}\sk
|
||||
\zchar{-8}o\zchar{-4}{\llap{'\kern-2pt'}a}\sk
|
||||
\zchar{-8}p\zchar{-4}{\llap{'\kern-2pt'}b}\sk
|
||||
\zchar{-8}q\zchar{-4}{\llap{'\kern-2pt'}c}\sk
|
||||
\zchar{-8}r\zchar{-4}{\llap{'\kern-2pt'}d}\sk
|
||||
\zchar{-8}s\zchar{-4}{\llap{'\kern-2pt'}e}\sk
|
||||
\zchar{-8}t\zchar{-4}{\llap{'\kern-2pt'}f}\sk
|
||||
\zchar{-8}u\zchar{-4}{\llap{'\kern-2pt'}g}\sk
|
||||
\zchar{-8}v\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}a}\sk
|
||||
\zchar{-8}w\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}b}\sk
|
||||
\zchar{-8}x\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}c}\sk
|
||||
\zchar{-8}y\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}d}\sk
|
||||
\zchar{-8}z\zchar{-4}{\llap{'\kern-2pt'\kern-2pt'}e}\sk\en
|
||||
\stoppiece
|
||||
\medskip\centerline{\bigfont Notes, Accidentals, Accents, Clefs and Rests}
|
||||
\medskip
|
||||
%
|
||||
% Notes& Accidentals
|
||||
%
|
||||
\contpiece
|
||||
\Notes
|
||||
\zchar{-4}{Accidentals:}%
|
||||
\zchar9{\bs zmaxima}\zmaxima i\sk
|
||||
\zchar{12}{\bs zlonga}\zlonga i\sk
|
||||
\zchar9{\bs zbreve}\zbreve i\sk
|
||||
\zchar{12}{\bs zwq}\zwq i\sk
|
||||
\zchar{12}{\bs wh}\wh i%
|
||||
\zchar{12}{\bs hu}\zchar{-4}>\hu{>f}%
|
||||
\zchar{12}{\bs hl}\loff{\zchar{-4}{\bs cdsh}}\cdsh l\hl l%
|
||||
\zchar{12}{\bs qu}\zchar{-4}\^\qu{^f}%
|
||||
\zchar{12}{\bs ql}\loff{\zchar{-4}{\bs csh}}\csh l\ql l%
|
||||
\zchar{12}{\bs cu}\zchar{-4}=\cu{=f}%
|
||||
\zchar{12}{\bs cl}\loff{\zchar{-4}{\bs cna}}\cna l\cl l%
|
||||
\zchar{12}{\bs ccu}\zchar{-4}\_\ccu{_f}%
|
||||
\zchar{12}{\bs ccl}\loff{\zchar{-4}{\bs cfl}}\cfl l\ccl l%
|
||||
\zchar{12}{\bs cccu}\zchar{-4}<\cccu{<f}%
|
||||
\zchar{12}{\bs cccl}\loff{\zchar{-4}{\bs cdfl}}\cdfl l\cccl l%
|
||||
\multnoteskip{1.2}%
|
||||
\zchar{12}{\bs ccccu}\ccccu f%
|
||||
\zchar{12}{\bs ccccl}\ccccl l%
|
||||
\multnoteskip{.8}%
|
||||
\zchar{12}{\bs grcu}\grcu f%
|
||||
\zchar{12}{\bs grcl}\grcl l\en
|
||||
\stoppiece\medskip
|
||||
%
|
||||
% various noteheads
|
||||
%
|
||||
\contpiece
|
||||
\Notes
|
||||
\multnoteskip{1.1}%
|
||||
\zchar{10}{\bs dqu$^{123}$}%
|
||||
\zchar{-3}{\eightrm 1 musixdia.tex~~2 musixper.tex~~3 musixgre.tex%
|
||||
~~4 musixlit.tex~~5 musixext.tex}\dqu g%
|
||||
\zchar{10}{\bs yqu$^{123}$}\yqu g%
|
||||
\multnoteskip{.9}%
|
||||
\zchar{10}{\bs dcqu$^2$}\dcqu g%
|
||||
\zchar{10}{\bs dhqu$^2$}\dhqu g%
|
||||
\zchar{10}{\bs doqu$^2$}\doqu g%
|
||||
\zchar{10}{\bs xqu$^2$}\xqu g%
|
||||
\zchar{10}{\bs oxqu$^2$}\oxqu g%
|
||||
\zchar{10}{\bs roqu$^2$}\roqu g%
|
||||
\zchar{10}{\bs tgqu$^2$}\tgqu f%
|
||||
\zchar{10}{\bs kqu$^2$}\kqu f%
|
||||
\zchar{10}{\bs squ$^3$}\squ g%
|
||||
\zchar{10}{\bs lsqu$^3$}\lsqu j%
|
||||
\zchar{10}{\bs rsqu$^3$}\rsqu k%
|
||||
\zchar{10}{\bs cqu$^4$}\cqu g%
|
||||
\zchar{10}{\bs cql$^4$}\cql k%
|
||||
\zchar{10}{\bs chu$^4$}\chu g%
|
||||
\zchar{10}{\bs chl$^4$}\chl k\en
|
||||
%
|
||||
% Pointed Notes and Accents
|
||||
%
|
||||
\stoppiece\medskip\contpiece
|
||||
\Notes
|
||||
\zchar{-5}{\eightrm Accent on beam with prefix {\it b} and beamrefnumber
|
||||
instead pitch}%
|
||||
\zchar{13}{\bs lpz}\lpz f\qu f%
|
||||
\zchar{13}{\bs upz}\upz l\ql l%
|
||||
\zchar{13}{\bs lsf}\lsf f\qu f%
|
||||
\zchar{13}{\bs usf}\usf l\ql l%
|
||||
\zchar{13}{\bs lst}\lst f\qu f%
|
||||
\zchar{13}{\bs ust}\ust l\ql l%
|
||||
\zchar{13}{\bs lppz}\lppz f\qu f%
|
||||
\zchar{13}{\bs uppz}\uppz l\ql l%
|
||||
\zchar{13}{\bs lsfz}\lsfz f\qu f%
|
||||
\zchar{13}{\bs usfz}\usfz l\ql l%
|
||||
\zchar{13}{\bs lpzst}\lpzst f\qu f%
|
||||
\zchar{13}{\bs upzst}\upzst l\ql l%
|
||||
\zchar{16}{\bs downbow}\zchar9\downbow\ql l%
|
||||
\zchar{13}{\bs upbow}\zchar9\upbow\ql l%
|
||||
\zchar{16}{\bs flageolett}\flageolett l\ql l%
|
||||
\zchar{13}{\bs whp}\whp i%
|
||||
\zchar{13}{\bs qupp}\qupp h\en
|
||||
\stoppiece\medskip
|
||||
%
|
||||
% clefs
|
||||
%
|
||||
\let\clefdesoli\empty \nostartrule \contpiece
|
||||
\NOtes
|
||||
\zchar{13}{\bs trebleclef}\zchar0\trebleclef\sk
|
||||
\zchar9{\bs altoclef}\zchar0\altoclef\sk
|
||||
\zchar{13}{\bs bassclef}\zchar0\bassclef\sk
|
||||
\zchar9{\bs smalltrebleclef}\zchar0\smalltrebleclef\sk
|
||||
\zchar{13}{\bs smallaltoclef}\zchar0\smallaltoclef\sk
|
||||
\zchar9{\bs smallbassclef}\zchar0\smallbassclef\sk
|
||||
\zchar{13}{\bs drumclef$^2$}\zchar0\drumclef\sk
|
||||
\zchar9{\bs gregorianCclef$^3$}\zchar0\gregorianCclef\sk
|
||||
\zchar{13}{\bs gregorianFclef$^3$}\zchar0\gregorianFclef\sk
|
||||
\zchar9{\bs oldGclef$^4$}\zchar0\oldGclef\sk\en
|
||||
\zstoppiece\smallskip
|
||||
%
|
||||
% Rests
|
||||
%
|
||||
\let\clefdesoli\trebleclef \startrule\contpiece
|
||||
\NOtes
|
||||
\multnoteskip{.5}%
|
||||
\zchar{13}{\bs qqs}\qqs
|
||||
\zchar{13}{\bs hs}\hs
|
||||
\zchar{13}{\bs qs}\qs
|
||||
\zchar{13}{\bs ds}\ds
|
||||
\zchar{13}{\bs qp}\qp
|
||||
\multnoteskip2%
|
||||
\zchar{13}{\bs hpause}\hpause
|
||||
\zchar{13}{\bs hpausep}\hpausep
|
||||
\zchar{9}{\bs lifthpause}\roff{\lifthpause5}\sk
|
||||
\zchar{13}{\bs pause}\pause
|
||||
\zchar{13}{\bs pausep}\pausep
|
||||
\zchar{9}{\bs liftpause}\roff{\liftpause4}\sk
|
||||
\zchar{13}{\bs PAuse}\PAuse
|
||||
\zchar{13}{\bs PAUSe}\PAUSe
|
||||
\zchar{13}{\bs Hpause$^4$}\Hpause i{.8}\sk\en
|
||||
\stoppiece\centerline{\bigfont Other Symbols}\medskip
|
||||
%
|
||||
% Other Symbols
|
||||
%
|
||||
\contpiece
|
||||
\NOtes
|
||||
\zchar{14}{\bs Trille}\zchar{-4}{\bs allabreve}\Trille n1%
|
||||
\zchar0\allabreve\sk
|
||||
\zchar{14}{\bs trille}\zchar{-4}{\bs meterC}\trille n1\zchar0\meterC\sk
|
||||
\zchar{14}{\bs shake}\zchar{-4}{\bs reverseC}\shake n\zchar0\reverseC\sk
|
||||
\zchar{14}{\bs Shake}\zchar{-4}{\bs meterplus}\Shake n%
|
||||
\zchar0{\meterfrac{3\meterplus2\meterplus3}8}\off{.66\noteskip}%
|
||||
\zchar{14}{\bs mordent}\mordent n\sk
|
||||
\zchar{14}{\bs Mordent}\zchar{-4}{\bs duevolte}\Mordent n\duevolte\sk
|
||||
\multnoteskip{.66}%
|
||||
\zchar{14}{\bs turn}\turn n\sk
|
||||
\multnoteskip{1.25}%
|
||||
\zchar{14}{\bs backturn}\zchar{-4}{\bs l[r]par}\backturn n%
|
||||
\lpar f\rpar f{\stemlength4\qu f}%
|
||||
\zchar{14}{\bs Shakel}\Shakel n\sk
|
||||
\zchar{14}{\bs Shakesw}\Shakesw n\sk
|
||||
\zchar{14}{\bs Shakene}\Shakene n\sk
|
||||
\zchar{14}{\bs Shakenw}\Shakenw n\sk\en
|
||||
\stoppiece\medskip
|
||||
%
|
||||
% again
|
||||
%
|
||||
\contpiece
|
||||
\NOtes\zchar9{\bs metron}\zchar{13}{\metron\qu{99}}\sk\en
|
||||
\setvoltabox1\bar
|
||||
\NOtes\loffset2{\zchar{17}{\bs setvoltabox}}\en
|
||||
\setvolta2\setendvolta\rightrepeat
|
||||
\NOtes\loff{\zchar{17}{\bs setvolta}}\loff{\zchar{20}{\bs setendvolta}}\en
|
||||
\doublebar
|
||||
\notes\zchar{17}{\kern-\afterruleskip\bs coda}\coda n\en\bar
|
||||
\notes\zchar{17}{\kern-\afterruleskip\bs Coda}\Coda n\en
|
||||
\NOtes
|
||||
\zchar{17}{\bs segno}\segno n\sk
|
||||
\zchar{17}{\kern-3\Interligne\bs Segno}\Segno\hsk
|
||||
\zchar{17}{\bs caesura}\sk\caesura
|
||||
\zchar{17}{\bs cbreath}\cbreath\sk
|
||||
\multnoteskip{.66}%
|
||||
\zchar{17}{\bs PED}\PED\sk
|
||||
\zchar{17}{\bs sPED}\sPED\sk
|
||||
\zchar{17}{\bs DEP}\DEP\sk
|
||||
\zchar{17}{\bs sDEP}\sDEP\sk\en
|
||||
\stoppiece\medskip
|
||||
%
|
||||
% and again ...
|
||||
%
|
||||
\contpiece
|
||||
\Notes
|
||||
\zchar{17}{\bs fermataup}\fermataup l%
|
||||
\zchar{-8}{\bs fermatadown}\fermatadown f{\stemlength3\ql i}%
|
||||
\zchar{13}{\bs Fermataup}\Fermataup l%
|
||||
\zchar{-4}{\kern8pt\bs Fermatadown}\Fermatadown f\wh i%
|
||||
\loff{\zchar{17}{\bs arpeggio d5}}\arpeggio d5\sk
|
||||
\multnoteskip{.66}%
|
||||
\loff{\zchar{13}{\bs bracket}}\bracket e{10}\zq n\ql e\en
|
||||
\notes\stemlength3%
|
||||
\zchar{17}{\bs uptrio}\uptrio{11}16\ql l\ql n\bsk\bsk
|
||||
\zchar{-8}{\bs downtrio}\downtrio{-5}17\qu c\qu e\en
|
||||
\Notes
|
||||
\zchar{17}{\bs octfinup}\octfinup n{.8}%
|
||||
\zchar{-4}{\bs octfindown}\octfindown K{.8}\sk\hsk
|
||||
\zchar{17}{\bs slide$^5$}%
|
||||
\slide i58\slide i57\slide i56\slide i55\slide i54%
|
||||
\slide i53\slide i52\slide i51\slide i5{-1}%
|
||||
\slide i5{-2}\slide i5{-3}\slide i5{-4}\slide i5{-5}%
|
||||
\slide i5{-6}\slide i5{-7}\slide i5{-8}\sk\en
|
||||
\leftrepeat
|
||||
\Notes
|
||||
\loffset2{\zchar{-4}{\bs leftrepeat}}%
|
||||
\boxitsep=2pt\zchar{17}{\bs boxit A}\zchar9{\boxit A}\en
|
||||
\leftrightrepeat
|
||||
\Notes
|
||||
\loffset2{\zchar{-8}{\bs leftrightrepeat}}%
|
||||
\zchar{17}{\bs circleit B}\uptext{\circleit B}\en
|
||||
\rightrepeat
|
||||
\NOtes
|
||||
\loffset2{\zchar{-4}{\bs rightrepeat}}\en
|
||||
\endpiece\endmuflex\eject\end
|
4
musixtex/tex/musixslu.tex
Normal file
4
musixtex/tex/musixslu.tex
Normal file
|
@ -0,0 +1,4 @@
|
|||
\errmessage{Musixslu.tex does not exist. Remove any reference to musixslu.tex
|
||||
or \noexpand\input musixslu in your source files!}
|
||||
\endinput
|
||||
|
3
musixtex/tex/musixsqr.tex
Normal file
3
musixtex/tex/musixsqr.tex
Normal file
|
@ -0,0 +1,3 @@
|
|||
\errmessage{musixsqr.tex has been removed. Use the
|
||||
\noexpand\geometricskipscale\space command.}
|
||||
\endinput
|
35
musixtex/tex/musixste.tex
Normal file
35
musixtex/tex/musixste.tex
Normal file
|
@ -0,0 +1,35 @@
|
|||
|
||||
\def\explainstr#1{% #1 = 0 standard explanation; #1 = 1 TeX-ish expl.
|
||||
\ifnum #1>0 \def\bslstr##1{$\backslash$##1} \else\def\bslstr##1{} \fi
|
||||
$$\vbox{
|
||||
\halign{ ## \quad & ## & ## \hfill & ## \hfill & ## \hfill & ## \hfill \cr
|
||||
\ifnum #1=1 & & Explication des signes & Explanation of the signs & Zeichenerkl\"arung & Jelek magyar\'azata \cr \fi
|
||||
\ifnum #1=0 & & {\bf Explication des signes} & {\bf Explanation of the signs} & {\bf Zeichenerkl\"arung} & {\bf Jelek magyar\'azata} \cr \fi
|
||||
\cr
|
||||
\AB & \bslstr{AB} & Tirez l'archet & down-bow & Abstrich & Lefel\'e \cr
|
||||
\ifnum #1>0 \downbow & \bslstr{downbow} & Tirez l'archet & down-bow & Abstrich & Lefel\'e \cr \fi
|
||||
\AUF & \bslstr{AUF} & Poussez l'archet & up-bow & Aufstrich & F\"olfel\'e \cr
|
||||
\ifnum #1>0 \upbow & \bslstr{upbow} & Poussez l'archet & up-bow & Aufstrich & F\"olfel\'e \cr \fi
|
||||
\cr
|
||||
\SP & \bslstr{SP} & A la pointe & at the top & An der Spitze & Cs\'ucsn\'al \cr
|
||||
\FR & \bslstr{FR} & Au talon & at the nut & Am Frosch & K\'ap\'an\'al \cr
|
||||
\cr
|
||||
\GB & \bslstr{GB} & Tout l'archet & whole bow & Ganzer Bogen & Eg\'esz von\'oval \cr
|
||||
\ifnum #1>0 \Gb & \bslstr{Gb} & Tout l'archet & whole bow & Ganzer Bogen & Eg\'esz von\'oval \cr \fi
|
||||
\UH & \bslstr{UH} & La moiti\'e inf\'erieure ... & lower half & Untere H\"alfte & A von\'o als\'o fele \cr
|
||||
\ifnum #1>0 \Uh & \bslstr{Uh} & La moiti\'e inf\'erieure ... & lower half & Untere H\"alfte & A von\'o als\'o fele \cr \fi
|
||||
\OH & \bslstr{OH} & La moiti\'e sup\'erieure ... & upper half & Obere H\"alfte & A von\'o fels\H{o} fele \cr
|
||||
\ifnum #1>0 \Oh & \bslstr{Oh} & La moiti\'e sup\'erieure ... & upper half & Obere H\"alfte & A von\'o fels\H{o} fele \cr \fi
|
||||
\MI & \bslstr{MI} & Au milieu ... & middle & In der Mitte & K\"oz\'epen \cr
|
||||
\ifnum #1>0 \Mi & \bslstr{Mi} & Au milieu ... & middle & In der Mitte & K\"oz\'epen \cr \fi
|
||||
\UD & \bslstr{UD} & Le premier tiers ... & lower third & Unteres Drittel & A von\'o als\'o harmada \cr
|
||||
\ifnum #1>0 \Ud & \bslstr{Ud} & Le premier tiers ... & lower third & Unteres Drittel & A von\'o als\'o harmada \cr \fi
|
||||
\OD & \bslstr{OD} & Le troisi\`eme tiers ... & upper third & Oberes Drittel & A von\'o fels\H{o} harmada \cr
|
||||
\ifnum #1>0 \Od & \bslstr{Od} & Le troisi\`eme tiers ... & upper third & Oberes Drittel & A von\'o fels\H{o} harmada \cr \fi
|
||||
& & \hfill ... de l'archet \cr
|
||||
\cr
|
||||
\Pizz & \bslstr{Pizz} & Pincez avec la main & left hand pizzicato & Pizzicato der linken & piccikat\'o bal k\'ezzel \cr
|
||||
& & gauche & & Hand \cr
|
||||
\Tr & \bslstr{Tr} & (ou trille) & (or trille) & (oder Triller) & (vagy trilla) \cr
|
||||
}}$$}
|
||||
|
28
musixtex/tex/musixstf.tex
Normal file
28
musixtex/tex/musixstf.tex
Normal file
|
@ -0,0 +1,28 @@
|
|||
% musixstr.ref
|
||||
|
||||
\input musixstr
|
||||
\input musixste
|
||||
|
||||
\parindent0pt\nopagenumbers
|
||||
|
||||
\def\T#1{\zcharnote g{#1}\qa d}
|
||||
\def\Sk#1{\off{0.#1\noteskip}}
|
||||
|
||||
\centerline{\bigfont MusiXSTRings}\smallskip
|
||||
|
||||
\nostartrule\def\nbinstruments{1}\generalsignature{0}
|
||||
\startmuflex\startpiece\transpose=7%
|
||||
\NOtes\Sk5%
|
||||
\T{\downbow}\T{\AB}\T{\upbow}\T{\AUF}%
|
||||
\T{\SP}\T{\FR}\T{\GB}\T{\Gb}\T{\UH}\T{\Uh}\T{\OH}%
|
||||
\T{\Oh}\T{\MI}\T{\Mi}\T{\UD}\T{\Ud}\T{\OD}\T{\Od}%
|
||||
\T{\Pizz}\T{\Tr}\en
|
||||
\stoppiece\endmuflex
|
||||
|
||||
\bigskip{\bf$\backslash$explainstr1}\smallskip\explainstr1
|
||||
\bigskip{\bf$\backslash$explainstr0}\smallskip\explainstr0
|
||||
|
||||
\vfill\eject
|
||||
|
||||
\bye
|
||||
|
47
musixtex/tex/musixstr.tex
Normal file
47
musixtex/tex/musixstr.tex
Normal file
|
@ -0,0 +1,47 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\immediate\write16{MUsiXSTRingaccents T.57\space<6 September 1996>}%
|
||||
|
||||
% accents for strings by Werner Icking (Werner.Icking@gmd.de)
|
||||
|
||||
\let\AB\downbow
|
||||
\let\AUF\upbow
|
||||
\def\SP{$\mathrel\triangleleft\joinrel\mid$}
|
||||
\def\FR{$\mapstochar\mathrel=\joinrel\mid$}
|
||||
\def\GB{$\longleftrightarrow$}
|
||||
\def\Gb{$\leftrightarrow$}
|
||||
\def\UH{$\longleftarrow$}
|
||||
\def\Uh{$\leftarrow$}
|
||||
\def\OH{$\longrightarrow$}
|
||||
\def\Oh{$\rightarrow$}
|
||||
\def\MI{$\mapstochar\relbar\joinrel\relbar\joinrel\mapstochar$}
|
||||
\def\Mi{$\mapstochar\relbar\joinrel\mapstochar$}
|
||||
\def\UD{$\longleftarrow\joinrel\mapstochar$}
|
||||
\def\Ud{$\leftarrow\joinrel\mapstochar$}
|
||||
\def\OD{$\mapstochar\longrightarrow$}
|
||||
\def\Od{$\mapstochar\rightarrow$}
|
||||
|
||||
|
||||
|
||||
|
||||
\def\Pizz{\kern-.3pt{\sevenrm+}}
|
||||
\let\Tr\Pizz
|
||||
|
||||
\endinput
|
||||
|
388
musixtex/tex/musixsty.tex
Normal file
388
musixtex/tex/musixsty.tex
Normal file
|
@ -0,0 +1,388 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
\ifx\undefined\Tenpoint \else \endinput\fi
|
||||
|
||||
\immediate\write16{MusiXtextSTYle T.123\space<04 March 2016>}%
|
||||
|
||||
% modified by RDT to be independent of Computer Modern (other than Math fonts)
|
||||
% RDT: added \headline{..} in \maketitle
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
\edef\catcode@gt{\the\catcode`\>}\catcode`\>=12
|
||||
\edef\catcode@lt{\the\catcode`\<}\catcode`\<=12
|
||||
|
||||
% non musical procedures used in typesetting the non-musical
|
||||
% texts together with musictex
|
||||
|
||||
% eight point math fonts
|
||||
|
||||
\font\eighti=cmmi8 \skewchar\eighti='177
|
||||
\font\eightsy=cmsy8 \skewchar\eightsy='60
|
||||
%
|
||||
% nine point math fonts
|
||||
%
|
||||
\font\ninei=cmmi9 \skewchar\ninei='177
|
||||
\font\ninesy=cmsy9 \skewchar\ninesy='60
|
||||
%
|
||||
% eleven point math fonts (RDT: not used?)
|
||||
%
|
||||
\font\eleveni=cmmi10 scaled \magstephalf \skewchar\eleveni='177
|
||||
\font\elevensy=cmsy10 scaled \magstephalf \skewchar\elevensy='60
|
||||
%
|
||||
% twelve point math fonts
|
||||
%
|
||||
\font\twelvei=cmmi12 \skewchar\twelvei='177
|
||||
\font\twelvesy=cmsy10 scaled \magstep1 \skewchar\twelvesy='60
|
||||
%
|
||||
% fourteen point math fonts
|
||||
%
|
||||
\font\frti=cmmi12 scaled \magstep1 \skewchar\frti='177
|
||||
\font\frtsy=cmsy10 scaled \magstep2 \skewchar\frtsy='60
|
||||
%
|
||||
% seventeen point math fonts
|
||||
%
|
||||
\font\svti=cmmi12 scaled \magstep2 \skewchar\svti='177
|
||||
\font\svtsy=cmsy10 scaled \magstep3 \skewchar\svtsy='60
|
||||
%
|
||||
% twenty point math fonts
|
||||
%
|
||||
\font\twtyi=cmmi12 scaled \magstep3 \skewchar\twtyi='177
|
||||
\font\twtysy=cmsy10 scaled \magstep4\skewchar\twtysy='60
|
||||
%
|
||||
% twenty five point math fonts
|
||||
%
|
||||
\font\twfvi=cmmi12 scaled \magstep4 \skewchar\twfvi='177
|
||||
\font\twfvsy=cmsy10 scaled \magstep5 \skewchar\twfvsy='60
|
||||
%
|
||||
%
|
||||
% SEVERAL DIFFERENT POINT SIZES
|
||||
%
|
||||
\def\Twfvpoint{\normalbaselineskip=30pt
|
||||
\def\rm{\fam0\twfvrm}%
|
||||
\def\it{\fam\itfam\twfvit}%
|
||||
\def\sl{\fam\slfam\twfvsl}%
|
||||
\def\bf{\fam\bffam\twfvbf}%
|
||||
\def\smc{\twfvrm}%
|
||||
\def\mit{\fam 1}%
|
||||
\def\cal{\fam 2}%
|
||||
\textfont0=\twfvrm \scriptfont0=\twtyrm \scriptscriptfont0=\svtrm
|
||||
\textfont1=\twfvi \scriptfont1=\twtyi \scriptscriptfont1=\svti
|
||||
\textfont2=\twfvsy \scriptfont2=\twtysy \scriptscriptfont2=\svtsy
|
||||
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
||||
\textfont\itfam=\twfvit \scriptfont\itfam=\twtyit
|
||||
\textfont\slfam=\twfvsl \scriptfont\slfam=\twtysl
|
||||
\textfont\bffam=\twfvbf \scriptfont\bffam=\twtybf
|
||||
\scriptscriptfont\bffam=\twtybf
|
||||
\setbox\strutbox=\hbox{\vrule height 22pt depth 8pt width 0pt}%
|
||||
\def\tt{\twfvtt}\normalbaselines\rm
|
||||
}
|
||||
\def\twfvpoint{\Twfvpoint}
|
||||
%
|
||||
\def\Twtypoint{\normalbaselineskip=25pt
|
||||
\def\rm{\fam0\twtyrm}%
|
||||
\def\it{\fam\itfam\twtyit}%
|
||||
\def\sl{\fam\slfam\twtysl}%
|
||||
\def\bf{\fam\bffam\twtybf}%
|
||||
\def\smc{\twtyrm}%
|
||||
\def\mit{\fam 1}%
|
||||
\def\cal{\fam 2}%
|
||||
\textfont0=\twtyrm \scriptfont0=\svtrm \scriptscriptfont0=\frtrm
|
||||
\textfont1=\twtyi \scriptfont1=\svti \scriptscriptfont1=\frti
|
||||
\textfont2=\twtysy \scriptfont2=\svtsy \scriptscriptfont2=\frtsy
|
||||
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
||||
\textfont\itfam=\twtyit \scriptfont\itfam=\svtit
|
||||
\textfont\slfam=\twtysl \scriptfont\slfam=\svtsl
|
||||
\textfont\bffam=\twtybf \scriptfont\bffam=\svtbf
|
||||
\scriptscriptfont\bffam=\svtbf
|
||||
\setbox\strutbox=\hbox{\vrule height 18pt depth 7pt width 0pt}%
|
||||
\def\tt{\twtytt}\normalbaselines\rm}
|
||||
\def\twtypoint{\Twtypoint}
|
||||
%
|
||||
\def\Svtpoint{\normalbaselineskip=21pt
|
||||
\def\rm{\fam0\svtrm}%
|
||||
\def\it{\fam\itfam\svtit}%
|
||||
\def\sl{\fam\slfam\svtsl}%
|
||||
\def\bf{\fam\bffam\svtbf}%
|
||||
\def\smc{\svtrm}%
|
||||
\def\mit{\fam 1}%
|
||||
\def\cal{\fam 2}%
|
||||
\textfont0=\svtrm \scriptfont0=\frtrm \scriptscriptfont0=\twelverm
|
||||
\textfont1=\svti \scriptfont1=\frti \scriptscriptfont1=\twelvei
|
||||
\textfont2=\svtsy \scriptfont2=\frtsy \scriptscriptfont2=\twelvesy
|
||||
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
||||
\textfont\itfam=\svtit \scriptfont\itfam=\frtit
|
||||
\textfont\slfam=\svtsl \scriptfont\slfam=\frtsl
|
||||
\textfont\bffam=\svtbf \scriptfont\bffam=\frtbf
|
||||
\scriptscriptfont\bffam=\frtbf
|
||||
\setbox\strutbox=\hbox{\vrule height 14.5pt depth 6.5pt width 0pt}%
|
||||
\def\tt{\svttt}\normalbaselines\rm}
|
||||
\def\svtpoint{\Svtpoint}
|
||||
%
|
||||
\def\Frtpoint{\normalbaselineskip=17pt
|
||||
\def\rm{\fam0\frtrm}%
|
||||
\def\it{\fam\itfam\frtit}%
|
||||
\def\sl{\fam\slfam\frtsl}%
|
||||
\def\bf{\fam\bffam\frtbf}%
|
||||
\def\smc{\frtrm}%
|
||||
\def\mit{\fam 1}%
|
||||
\def\cal{\fam 2}%
|
||||
\textfont0=\frtrm \scriptfont0=\twelverm \scriptscriptfont0=\eightrm
|
||||
\textfont1=\frti \scriptfont1=\twelvei \scriptscriptfont1=\eighti
|
||||
\textfont2=\frtsy \scriptfont2=\twelvesy \scriptscriptfont2=\eightsy
|
||||
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
||||
\textfont\itfam=\frtit \scriptfont\itfam=\twelveit
|
||||
\textfont\slfam=\frtsl \scriptfont\slfam=\twelvesl
|
||||
\textfont\bffam=\frtbf \scriptfont\bffam=\twelvebf
|
||||
\scriptscriptfont\bffam=\twelvebf
|
||||
\setbox\strutbox=\hbox{\vrule height 12pt depth 5pt width 0pt}%
|
||||
\def\tt{\frttt}\normalbaselines\rm}
|
||||
\def\frtpoint{\Frtpoint}
|
||||
%
|
||||
\def\Twlpoint{\normalbaselineskip=14pt
|
||||
\def\rm{\fam0\twelverm}%
|
||||
\def\it{\fam\itfam\twelveit}%
|
||||
\def\sl{\fam\slfam\twelvesl}%
|
||||
\def\bf{\fam\bffam\twelvebf}%
|
||||
\def\smc{\twelverm}%
|
||||
\def\mit{\fam 1}%
|
||||
\def\cal{\fam 2}%
|
||||
\textfont0=\twelverm \scriptfont0=\tenrm \scriptscriptfont0=\eightrm
|
||||
\textfont1=\twelvei \scriptfont1=\teni \scriptscriptfont1=\eighti
|
||||
\textfont2=\twelvesy \scriptfont2=\tensy \scriptscriptfont2=\eightsy
|
||||
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
||||
\textfont\itfam=\twelveit \scriptfont\itfam=\tenit
|
||||
\textfont\slfam=\twelvesl \scriptfont\slfam=\tensl
|
||||
\textfont\bffam=\twelvebf \scriptfont\bffam=\tenbf
|
||||
\scriptscriptfont\bffam=\tenbf
|
||||
\setbox\strutbox=\hbox{\vrule height 10pt depth 4pt width 0pt}%
|
||||
\def\tt{\twelvett}\normalbaselines\rm}
|
||||
\def\twlpoint{\Twlpoint}
|
||||
\def\twelvepoint{\Twlpoint}
|
||||
%
|
||||
\def\Tenpoint{\normalbaselineskip\tw@lv@\p@
|
||||
\def\rm{\fam\z@\tenrm}%
|
||||
\def\it{\fam\itfam\tenit}%
|
||||
\def\sl{\fam\slfam\tensl}%
|
||||
\def\bf{\fam\bffam\tenbf}%
|
||||
\let\smc\tenrm
|
||||
\def\mit{\fam\@ne}%
|
||||
\def\cal{\fam\tw@}%
|
||||
\textfont0\tenrm \scriptfont0\eightrm \scriptscriptfont0\eightrm
|
||||
\textfont1\teni \scriptfont1\eighti \scriptscriptfont1\eighti
|
||||
\textfont2\tensy \scriptfont2\eightsy \scriptscriptfont2\eightsy
|
||||
\textfont3\tenex \scriptfont3\tenex \scriptscriptfont3\tenex
|
||||
\textfont\itfam\tenit \scriptfont\itfam=\eightit
|
||||
\textfont\slfam\tensl \scriptfont\slfam=\eightsl
|
||||
\textfont\bffam\tenbf \scriptfont\bffam\eightbf
|
||||
\scriptscriptfont\bffam\eightbf
|
||||
\setbox\strutbox\hbox{\vrule\@height8\h@lf\p@\@depth3\h@lf\p@\@width\z@}%
|
||||
\let\tt\tentt \normalbaselines\rm}
|
||||
\let\tenpoint\Tenpoint
|
||||
|
||||
\def\Eightpoint{\normalbaselineskip\t@n\p@
|
||||
\def\rm{\fam\z@\eightrm}%
|
||||
\def\it{\fam\itfam\eightit}%
|
||||
\def\sl{\fam\slfam\eightsl}%
|
||||
\def\bf{\fam\bffam\eightbf}%
|
||||
\def\tt{\eighttt}
|
||||
\def\mit{\fam\@ne}%
|
||||
\def\cal{\fam\tw@}%
|
||||
\textfont0\eightrm \scriptfont0\eightrm \scriptscriptfont0\eightrm
|
||||
\textfont1\eighti \scriptfont1\eighti \scriptscriptfont1\eighti
|
||||
\textfont2\eightsy \scriptfont2\eightsy \scriptscriptfont2\eightsy
|
||||
\textfont3\tenex \scriptfont3\tenex \scriptscriptfont3\tenex
|
||||
\textfont\itfam\eightit
|
||||
\textfont\slfam\eightsl
|
||||
\textfont\bffam\eightbf \scriptfont\bffam\eightbf
|
||||
\scriptscriptfont\bffam\eightbf
|
||||
\setbox\strutbox\hbox{\vrule\@height\s@v@n\p@\@depth\thr@@\p@\@width\z@}%
|
||||
\normalbaselines\rm}
|
||||
\def\eightpoint{\Eightpoint}
|
||||
%
|
||||
\def\Ninepoint{\normalbaselineskip=10pt
|
||||
\def\rm{\fam0\ninerm}%
|
||||
\def\it{\fam\itfam\nineit}%
|
||||
\def\sl{\fam\slfam\ninesl}%
|
||||
\def\bf{\fam\bffam\ninebf}%
|
||||
\def\mit{\fam 1}%
|
||||
\def\cal{\fam 2}%
|
||||
\textfont0=\ninerm \scriptfont0=\ninerm \scriptscriptfont0=\ninerm
|
||||
\textfont1=\ninei \scriptfont1=\ninei \scriptscriptfont1=\ninei
|
||||
\textfont2=\ninesy \scriptfont2=\ninesy \scriptscriptfont2=\ninesy
|
||||
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
||||
\textfont\itfam=\nineit \scriptfont\itfam=\nineit
|
||||
\textfont\slfam=\ninesl \scriptfont\slfam=\ninesl
|
||||
\textfont\bffam=\ninebf \scriptfont\bffam=\ninebf
|
||||
\scriptscriptfont\bffam=\ninebf
|
||||
\setbox\strutbox=\hbox{\vrule height 7pt depth 3pt width 0pt}%
|
||||
\def\tt{\ninettt}\normalbaselines\rm}
|
||||
\def\ninepoint{\Ninepoint}
|
||||
|
||||
% GENERAL FOOTNOTES
|
||||
|
||||
\newcount\footmarkcount
|
||||
|
||||
\def\resetfootnote{\global\footmarkcount\z@ }
|
||||
\def\footmarknumber{\raise\smallvalue ex\hbox{%
|
||||
\eightpoint\rm\the\footmarkcount}}
|
||||
|
||||
\def\Footnote#1{\global\advance\footmarkcount\@ne
|
||||
\footnote{\footmarknumber}{#1}}
|
||||
|
||||
% \TeX book footnote
|
||||
% En cas de panique: couper en deux (une seule note autorisee)
|
||||
|
||||
\def\markfootnote{{\advance\footmarkcount\@ne \footmarknumber}}
|
||||
|
||||
\def\realfootnote#1{\global\advance\footmarkcount\@ne
|
||||
\vfootnote{{\footmarknumber}#1}}
|
||||
|
||||
% to enable inserting different \hsize (two columns case)
|
||||
\let\footnotehsize\empty
|
||||
|
||||
\def\vfootnote#1{\insert\footins\bgroup\parskip\z@\eightpoint
|
||||
\interlinepenalty\interfootnotelinepenalty
|
||||
\splittopskip\ht\strutbox \advance\splittopskip\p@
|
||||
\splitmaxdepth\dp\strutbox \floatingpenalty20000
|
||||
\leftskip\z@ \rightskip\z@
|
||||
\spaceskip\z@ \xspaceskip\z@
|
||||
\eightpoint\footnotehsize\noindent{#1}\footstrut\futurelet\next\fo@t}
|
||||
|
||||
\def\footnoterule{\vskip-\thr@@\p@\hrule\@width2truein \vskip 2.6\p@}
|
||||
|
||||
\def\aujourdhui{\space\number\day\space%
|
||||
\ifcase\month\or janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
|
||||
juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi
|
||||
\space\number\year}
|
||||
\def\today{\space%
|
||||
\ifcase\month\or January\or February\or March\or April\or May\or June\or
|
||||
July\or August\or September\or October\or November\or December\fi
|
||||
\space\number\day,\space\number\year}
|
||||
\def\cenboxit#1{\centerline{\boxit{#1}}}
|
||||
\def\Item{\medskip\item}
|
||||
|
||||
\newdimen\theslant
|
||||
\def\fup#1{\raise 0.8ex\hbox{\theslant=\fontdimen1\the\font\kernm.03em\kern \theslant\the\scriptfont\fam #1}}
|
||||
|
||||
\def\umero{\fup{o}}
|
||||
\def\ieme{\fup{e}}
|
||||
\def\ier{\fup{er}}
|
||||
\let\titremorceau\empty
|
||||
\def\title#1{\def\titremorceau{#1}}
|
||||
\def\shorttitle{\title}
|
||||
\def\subtitle#1{\def\subt@itremorceau{#1}}
|
||||
\let\headt@itremorceau\undefined
|
||||
\def\headtitle#1{\def\headt@itremorceau{#1}}
|
||||
\def\fulltitle{\headtitle}
|
||||
\let\othert@itremorceau\empty
|
||||
\def\othermention#1{\def\othert@itremorceau{#1}}
|
||||
|
||||
\let\headl@ne\undefined
|
||||
\def\headline#1{\def\headl@ne{#1}}
|
||||
|
||||
\let\s@hortauthor\empty
|
||||
\def\shortauthor#1{\def\s@hortauthor{(#1)}}
|
||||
|
||||
\def\fullauthor#1{\def\f@ullauthor{#1}}
|
||||
\def\author{\fullauthor}
|
||||
|
||||
\newif\ifcopyright
|
||||
|
||||
\def\outmorceau{\shipout\vbox{\vbox to \vsize{\vss\pagecontents\vss}\line{%
|
||||
\ifodd\pageno\sl \titremorceau\ \s@hortauthor
|
||||
\ifcopyright\rm$\copyright$\fi\hss \number\pageno
|
||||
\else\rm\number\pageno\hss\sl \titremorceau\ \s@hortauthor
|
||||
\ifcopyright\rm$\copyright$\fi\fi}}%
|
||||
\global\advance\count0 by 1\relax
|
||||
\ifnum\outputpenalty>-20000 \else\dosupereject\fi}%
|
||||
|
||||
\output{\outmorceau}
|
||||
|
||||
\def\maketitle{%
|
||||
\ifx\headl@ne\undefined\else\line{\headl@ne}\bigskip\fi% for version 123 RDT
|
||||
\centerline{\BIGfont \ifx\headt@itremorceau\undefined
|
||||
\titremorceau\else\headt@itremorceau\fi}
|
||||
\medskip
|
||||
\ifx\subt@itremorceau\undefined\else
|
||||
\centerline{\sl \subt@itremorceau}
|
||||
\medskip
|
||||
\fi
|
||||
|
||||
|
||||
\hbox to \hsize{\vtop{\def\\{\hss\egroup\hbox to 0.5\hsize\bgroup\relax}\relax
|
||||
\hbox to 0.5\hsize
|
||||
\bgroup\othert@itremorceau\hss
|
||||
\egroup
|
||||
}\hss
|
||||
\vtop{\def\\{\egroup\hbox to 0.5\hsize\bgroup\relax\hss}\relax
|
||||
\hbox to 0.5\hsize
|
||||
\bgroup\hss\f@ullauthor
|
||||
\egroup
|
||||
}}
|
||||
\bigskip
|
||||
}
|
||||
|
||||
|
||||
\def\rectoverso#1{%
|
||||
\def\outmorceau{\shipout\hbox{\null\ifodd\pageno\kern #1\relax
|
||||
\else\kern -#1\relax
|
||||
\fi
|
||||
\vbox{\vbox to \vsize{\vss\pagecontents\vss}\line{%
|
||||
\ifodd\pageno\sl \titremorceau\ \s@hortauthor
|
||||
\ifcopyright\rm$\copyright$\fi\hss \number\pageno
|
||||
\else\rm\number\pageno\hss\sl \titremorceau\ \s@hortauthor
|
||||
\ifcopyright\rm$\copyright$\fi\fi}}}%
|
||||
\global\advance\count0 by 1\relax
|
||||
\ifnum\outputpenalty>-20000 \else\dosupereject\fi}%
|
||||
|
||||
\output{\outmorceau}}
|
||||
|
||||
|
||||
|
||||
\catcode`\>=\catcode@gt
|
||||
\catcode`\<=\catcode@lt
|
||||
\catcode`\@=\catcodeat
|
||||
|
||||
%%% A4 (210mm x 297mm):
|
||||
\hsize=190mm %%% adjust to increase/decrease printer margins
|
||||
\vsize=270mm %%% adjust to increase/decrease printer margins
|
||||
\hoffset=210mm\advance\hoffset-\hsize\divide\hoffset2
|
||||
\advance\hoffset-1.0in % TeX convention
|
||||
\voffset=297mm\advance\voffset-\vsize\divide\voffset2
|
||||
\advance\voffset-1.0in % TeX convention
|
||||
|
||||
%%% letter-size (8.5in x 11.0in):
|
||||
%\hsize=7.5in %%% adjust to increase/decrease printer margins
|
||||
%\vsize=10.0in %%% adjust to increase/decrease printer margins
|
||||
%\hoffset=8.5in\advance\hoffset-\hsize\divide\hoffset2
|
||||
%\advance\hoffset-1.0in % TeX convention
|
||||
%\voffset=11.0in\advance\voffset-\vsize\divide\voffset2
|
||||
%\advance\voffset-1.0in % TeX convention
|
||||
|
||||
%%% To determine the *minimal* margins supported by your
|
||||
%%% printer and check for printer mis-alignment, process
|
||||
%%% testpage.tex with LaTeX and print the result.
|
||||
|
||||
\tenpoint
|
||||
|
||||
%%%%%%% adjust here for a non-centering printer %%%%%%%%
|
||||
%\advance\hoffset 0mm
|
||||
%\advance\voffset 0mm
|
||||
|
||||
\endinput
|
5915
musixtex/tex/musixtex.tex
Normal file
5915
musixtex/tex/musixtex.tex
Normal file
File diff suppressed because it is too large
Load diff
201
musixtex/tex/musixtmr.tex
Normal file
201
musixtex/tex/musixtmr.tex
Normal file
|
@ -0,0 +1,201 @@
|
|||
%%
|
||||
%% musixtmr.tex : Times-series fonts definition for MusiXTeX
|
||||
%%
|
||||
%% usage:
|
||||
%% \input musixtex
|
||||
%% \input musixtmr
|
||||
%% ...
|
||||
%%
|
||||
%% This file is public domain.
|
||||
%%
|
||||
%% Author:
|
||||
%% Hiroaki MORIMOTO <CQX05646 at nifty dot com>
|
||||
%% Tokyo, Japan
|
||||
%% URL(en): http://homepage1.nifty.com/kuuku/pub/musixtex/index-e.html
|
||||
%% (jp): http://homepage1.nifty.com/kuuku/pub/musixtex/index.html
|
||||
%% Extensions: Bob Tennent (rdt@cs.queensu.ca) 2016-02-22
|
||||
%%
|
||||
%% reference: musixtex.tex (0.99) 268-508
|
||||
%% MusiXTeX: (c) Daniel Taupin, et al.
|
||||
%%
|
||||
%% History: see trailer.
|
||||
%
|
||||
\immediate\write16{MusiXTimesFonts\space<2017/02/10>}
|
||||
\ifx\undefined\startpiece\errmessage{Input musixtex.tex before musixtmr.tex}\fi
|
||||
%
|
||||
% 7pt roman, bold, italic, bold italic, slanted and small-cap
|
||||
\font\sevenrm=ptmr8t at 7pt
|
||||
\font\sevenbf=ptmb8t at 7pt
|
||||
\font\sevenit=ptmri8t at 7pt
|
||||
\font\sevenbi=ptmbi8t at 7pt
|
||||
\font\sevensc=ptmrc8t at 7pt % artificial small-caps
|
||||
%
|
||||
% 8pt roman, bold, italic, bold italic, slanted and small-cap
|
||||
\font\eightrm=ptmr8t at 8pt
|
||||
\font\eightbf=ptmb8t at 8pt
|
||||
\font\eightit=ptmri8t at 8pt
|
||||
\font\eightbi=ptmbi8t at 8pt
|
||||
\font\eightsc=ptmrc8t at 8pt % artificial small-caps
|
||||
%
|
||||
% 9pt
|
||||
\font\ninerm=ptmr8t at 9pt
|
||||
\font\ninebf=ptmb8t at 9pt
|
||||
\font\nineit=ptmri8t at 9pt
|
||||
\font\ninebi=ptmbi8t at 9pt
|
||||
\font\ninesc=ptmrc8t at 9pt
|
||||
%
|
||||
% 10pt
|
||||
\font\tenrm=ptmr8t at 10pt
|
||||
\font\tenbf=ptmb8t at 10pt
|
||||
\font\tenit=ptmri8t at 10pt
|
||||
\font\tenbi=ptmbi8t at 10pt
|
||||
\font\tensc=ptmrc8t at 10pt
|
||||
%
|
||||
%
|
||||
% 11pt
|
||||
\font\elevenrm=ptmr8t scaled \magstephalf
|
||||
\font\elevenbf=ptmb8t scaled \magstephalf
|
||||
\font\elevenit=ptmri8t scaled \magstephalf
|
||||
\font\elevenbi=ptmbi8t scaled \magstephalf
|
||||
\font\elevensc=ptmrc8t scaled \magstephalf
|
||||
%
|
||||
% 12pt
|
||||
\font\twelverm=ptmr8t scaled \magstep 1
|
||||
\font\twelvebf=ptmb8t scaled \magstep 1
|
||||
\font\twelveit=ptmri8t scaled \magstep 1
|
||||
\font\twelvebi=ptmbi8t scaled \magstep 1
|
||||
\font\twelvesc=ptmrc8t scaled \magstep 1
|
||||
%
|
||||
% 14pt
|
||||
\font\frtrm=ptmr8t scaled \magstep2
|
||||
\font\frtbf=ptmb8t scaled \magstep2
|
||||
\font\frtit=ptmri8t scaled \magstep2
|
||||
\font\frtbi=ptmbi8t scaled \magstep2
|
||||
\font\frtsc=ptmrc8t scaled \magstep2
|
||||
%
|
||||
% 17pt
|
||||
\font\svtrm=ptmr8t scaled \magstep3
|
||||
\font\svtbf=ptmb8t scaled \magstep3
|
||||
\font\svtit=ptmri8t scaled \magstep3
|
||||
\font\svtbi=ptmbi8t scaled \magstep3
|
||||
\font\svtsc=ptmrc8t scaled \magstep3
|
||||
%
|
||||
% 20pt
|
||||
\font\twtyrm=ptmr8t scaled \magstep4
|
||||
\font\twtybf=ptmb8t scaled \magstep4
|
||||
\font\twtyit=ptmri8t scaled \magstep4
|
||||
\font\twtybi=ptmbi8t scaled \magstep4
|
||||
\font\twtysc=ptmrc8t scaled \magstep4
|
||||
%
|
||||
% 25pt
|
||||
\font\twfvrm=ptmr8t scaled \magstep5
|
||||
\font\twfvbf=ptmb8t scaled \magstep5
|
||||
\font\twfvit=ptmri8t scaled \magstep5
|
||||
\font\twfvbi=ptmbi8t scaled \magstep5
|
||||
\font\twfvsc=ptmrc8t scaled \magstep5
|
||||
%
|
||||
% large fonts for titles
|
||||
% (If you prefer Times-bold, use \bf)
|
||||
% (If you prefer small-caps, use \sc)
|
||||
%
|
||||
\def\bigtype{\bigfont\rm}
|
||||
\def\Bigtype{\Bigfont\rm}
|
||||
\def\BIgtype{\BIgfont\rm}
|
||||
\def\BIGtype{\BIGfont\rm}
|
||||
%
|
||||
%
|
||||
\font\ppfftwelve=ptmbi8t at 8pt
|
||||
\font\ppffsixteen=ptmbi8t at 10pt
|
||||
\font\ppfftwenty=ptmbi8t scaled \magstep 1
|
||||
\font\ppfftwentyfour=ptmbi8t scaled \magstep2
|
||||
\font\ppfftwentynine=ptmbi8t scaled \magstep3
|
||||
%
|
||||
%
|
||||
\def\f{{\ppff f}}
|
||||
\def\ff{{\ppff ff}}
|
||||
\def\fp{{\ppff fp}}
|
||||
\def\fff{{\ppff fff}}
|
||||
\def\ffff{{\ppff ffff}}
|
||||
\def\mf{{\ppff mf}}
|
||||
\def\p{{\ppff p}}
|
||||
\def\pp{{\ppff pp}}
|
||||
\def\ppp{{\ppff ppp}}
|
||||
\def\pppp{{\ppff pppp}}
|
||||
|
||||
|
||||
%
|
||||
% sl fonts needed by musixsty
|
||||
%
|
||||
\font\eightsl=ptmro8t at 8pt
|
||||
\font\ninesl=ptmro8t at 9pt
|
||||
\font\tensl=ptmro8t at 10pt
|
||||
\font\twelvesl=ptmro8t scaled \magstep1
|
||||
\font\frtsl=ptmro8t scaled \magstep2
|
||||
\font\svtsl=ptmro8t scaled \magstep3
|
||||
\font\twtysl=ptmro8t scaled \magstep4
|
||||
\font\twfvsl=ptmro8t scaled \magstep5
|
||||
%
|
||||
%
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
%
|
||||
\def\sF{{\ppff s\p@kern f}}
|
||||
\def\sfz{{\ppff s\p@kern f\f@kern z}}
|
||||
\def\sfzp{{\ppff s\p@kern f\f@kern z\p@kern p}}
|
||||
|
||||
\def\mp@{{\ppff mp}}
|
||||
\let\mezzopiano\mp@
|
||||
|
||||
%
|
||||
% Redefine accented characters for 8-bit font, suggested by David Carlisle:
|
||||
%
|
||||
\ifx\documentclass\undefined
|
||||
\def\ProvidesFile#1[#2]{}
|
||||
\def\DeclareFontEncoding#1#2#3{}
|
||||
\def\DeclareTextAccent#1#2#3{%
|
||||
\def#1##1{%
|
||||
\expandafter\ifx\csname T1\string#1-\string##1\endcsname\relax
|
||||
{\accent#1 ##1}%
|
||||
\else
|
||||
\csname T1\string#1-\string##1\expandafter\endcsname
|
||||
\fi}}
|
||||
\def\DeclareTextCommand#1#2{\xdtcmd}%not today
|
||||
\def\xdtcmd#1#{\xxdtcmd}%not today
|
||||
\def\xxdtcmd#1{}%not today
|
||||
\def\DeclareTextCompositeCommand#1#2#3#4{}%not today
|
||||
\def\DeclareTextSymbol#1#2#3{%
|
||||
\def#1{\char#3\relax}}
|
||||
\def\DeclareTextComposite#1#2#3#4{%
|
||||
\expandafter\def\csname T1\string#1-\string#3\endcsname{\char#4\relax}}
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\input t1enc.def
|
||||
|
||||
% \c needs special treatment
|
||||
\def\c#1{\leavevmode\ifx c#1\char231 \else\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1%
|
||||
\else{\ooalign{\unhbox\z@\crcr
|
||||
\hidewidth\char11\hidewidth}}\fi\fi}
|
||||
\catcode`\@=\catcodeat
|
||||
\fi
|
||||
|
||||
\normtype
|
||||
\endinput
|
||||
%%
|
||||
%% History
|
||||
%%
|
||||
%% 2001/08/21
|
||||
%% first publish
|
||||
%% 2004/12/24
|
||||
%% no functional change. (email & real address change)
|
||||
%% 2007/06/11
|
||||
%% no functional change. (email protection, real address change, URL change)
|
||||
%% 2008/08/01
|
||||
%% Font assignment change on PMX.
|
||||
%% 2009/10/15
|
||||
%% small update for MusiXTeX 1.14 final release.
|
||||
%% 2015/02/06
|
||||
%% 8-bit encoding and extensions, similar to musixplt.tex
|
||||
%% 2015-07-25
|
||||
%% change to ptmr8t fonts and use t1enc.def to re-defined accented characters
|
||||
%% 2016-07-11 RDT
|
||||
%% \catcode`\@=11 before inputting t1enc.def
|
64
musixtex/tex/musixtri.tex
Normal file
64
musixtex/tex/musixtri.tex
Normal file
|
@ -0,0 +1,64 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
|
||||
\immediate\write16{MusiXTRIplepoint 1.05\space<30 April 2002>}
|
||||
|
||||
\ifx\undefined\hlppp \else \endinput \fi
|
||||
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
|
||||
\def\lppt{\g@pt\m@ne\tw@}
|
||||
|
||||
\def\whppp{\def\w@h{\musixfont\nin@\roffset\qu@rt{\C@Point\tw@\raise}}%
|
||||
\y@v\wn@width \g@w}
|
||||
\def\zwppp{\advancefalse\whppp}
|
||||
|
||||
\def\@quppp{\let\st@m\upst@m \g@qppp}
|
||||
\def\@qlppp{\let\st@m\downst@m \g@qppp}
|
||||
\def\@zqppp{\let\st@m\setst@m \advancefalse\g@qppp}
|
||||
\def\@nqppp{\let\st@m\resetst@m \g@qppp}
|
||||
|
||||
\def\q@uppp{\q@u\C@Point\tw@\raise}
|
||||
\def\g@qppp#1{\getn@i#1\relax \let\n@fon\g@qppp \let\n@sym\q@uppp
|
||||
\y@v\qn@width \writ@note}
|
||||
|
||||
\def\@qbppp#1{\s@l@ctbeam#1\relax \let\st@m\beamst@m \g@qppp}
|
||||
|
||||
\def\@cuppp{\n@vii\@xl \let\st@m\up@flag \g@qppp}
|
||||
\def\@clppp{\n@vii45\let\st@m\down@flag \g@qppp}
|
||||
|
||||
\def\huppp{\h@symbol\@quppp}
|
||||
\def\hlppp{\h@symbol\@qlppp}
|
||||
\def\zhppp{\h@symbol\@zqppp}
|
||||
\def\zhuppp{\advancefalse\huppp}
|
||||
\def\zhlppp{\advancefalse\hlppp}
|
||||
\def\quppp{\q@symbol\@quppp}
|
||||
\def\qlppp{\q@symbol\@qlppp}
|
||||
\def\zquppp{\advancefalse\quppp}
|
||||
\def\zqlppp{\advancefalse\qlppp}
|
||||
\def\zqppp{\q@symbol\@zqppp}
|
||||
\def\cuppp{\q@symbol\@cuppp}
|
||||
\def\zcuppp{\advancefalse\cuppp}
|
||||
\def\clppp{\q@symbol\@clppp}
|
||||
\def\zclppp{\advancefalse\clppp}
|
||||
\def\qbppp{\q@symbol\@qbppp}
|
||||
\def\zqbppp{\advancefalse\qbppp}
|
||||
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
212
musixtex/tex/musixvbm.tex
Normal file
212
musixtex/tex/musixvbm.tex
Normal file
|
@ -0,0 +1,212 @@
|
|||
%%
|
||||
%% musixvbm.tex - MusiXTeX Extension, Vectorized Beams (& crescendos)
|
||||
%% by tpic specials / pdfTeX raw literal
|
||||
%%
|
||||
%% Copyright (C) 2000-2007 Hiroaki MORIMOTO (Kuuku)
|
||||
%% 2021-05-17: RDT added comments on the tpic \specials
|
||||
%%
|
||||
%% This program is free software; you can redistribute it and/or
|
||||
%% modify it under the terms of the GNU General Public License
|
||||
%% as published by the Free Software Foundation; either version 2
|
||||
%% of the License, or any later version.
|
||||
%%
|
||||
%% This program is distributed in the hope that it will be useful,
|
||||
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
%% GNU General Public License for more details.
|
||||
%%
|
||||
%% You should have received a copy of the GNU General Public License
|
||||
%% along with this program; if not, write to the Free Software
|
||||
%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
%%
|
||||
%% \def\domain{nifty.com}
|
||||
%% Author:
|
||||
%% Hiroaki MORIMOTO <CQX\relax05646@\domain>
|
||||
%% Tokyo, Japan
|
||||
%% URL: http://kuuku.no.coocan.jp/pub/musixtex/index-e.html
|
||||
%%
|
||||
%% based on musixtex.tex T.104, line 3255-3290.
|
||||
%% MusiXTeX : (C) Daniel Taupin et al.
|
||||
%%
|
||||
%% January 1, 2007 version 1.20-beta6
|
||||
%% This is a successor of `musixtpb.tex' ver.1.10.
|
||||
%%
|
||||
\ifx\ifvectorizedbeam\undefined\else\endinput\fi
|
||||
\immediate\write16{MusiXTeX Extension, Vectorized Beams and crescendos <2007/01/01>}%
|
||||
%
|
||||
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
|
||||
%
|
||||
% Allocation of registers
|
||||
% No register is required except for scratch (\dimen@, \count@)
|
||||
%
|
||||
% Modes definition (default: true)
|
||||
\newif\ifvectorizedbeam \vectorizedbeamtrue
|
||||
%
|
||||
% Operation mode automatic selection (v1.20)
|
||||
%
|
||||
\let\@beammodesel\relax%
|
||||
\ifx\pdftexversion\undefined\else%
|
||||
\ifnum\pdfoutput>0\relax
|
||||
\immediate\write16{musixvbm: uses pdfTeX raw literal}%
|
||||
\edef\@beammodesel{pdftex}%
|
||||
\fi
|
||||
\fi
|
||||
\ifx\@beammodesel\relax
|
||||
\immediate\write16{musixvbm: uses tpic specials}%
|
||||
\edef\@beammodesel{tpic}%
|
||||
\fi
|
||||
%
|
||||
% Overriding beam termination code (v1.20)
|
||||
%
|
||||
\let\@beam@font=\@beam\relax
|
||||
\def\@beam{%
|
||||
\ifvectorizedbeam
|
||||
\csname @beam@\@beammodesel\endcsname
|
||||
\else
|
||||
\@beam@font
|
||||
\fi
|
||||
}%
|
||||
%
|
||||
% Main routine for tpic-version beam
|
||||
% \y@ii : length, \b@p : slope, \y@i : altitude
|
||||
%
|
||||
\def\@beam@tpic{%
|
||||
% X of end
|
||||
\@dimentomil{\y@ii}{\@Xend}%
|
||||
% Y of start
|
||||
\y@iii\y@i
|
||||
\advance\y@iii -\b@amthick
|
||||
\@dimentomil{-\y@iii}{\@Ystart@l}%
|
||||
\advance\y@iii \tw@\b@amthick
|
||||
\@dimentomil{-\y@iii}{\@Ystart@u}%
|
||||
% Y of end
|
||||
\y@iv\y@i
|
||||
\dimen@=\b@p\y@ii \divide\dimen@ \tw@nty% \tw@nty=20 def'd in musixtex.tex
|
||||
\advance\y@iv \dimen@
|
||||
\advance\y@iv -\b@amthick
|
||||
\@dimentomil{-\y@iv}{\@Yend@l}%
|
||||
\advance\y@iv \tw@\b@amthick
|
||||
\@dimentomil{-\y@iv}{\@Yend@u}%
|
||||
% \special{pn 1}%
|
||||
\special{sh 1}% RDT: set beam shading to black
|
||||
\@addbeampath{0}{\@Ystart@l}% RDT: add points to define the beam perimeter
|
||||
\@addbeampath{\@Xend}{\@Yend@l}%
|
||||
\@addbeampath{\@Xend}{\@Yend@u}%
|
||||
\@addbeampath{0}{\@Ystart@u}%
|
||||
\@addbeampath{0}{\@Ystart@l}% RDT: close the perimeter
|
||||
\special{ip}% RDT: draw the beam (without the outline)
|
||||
\kern\y@ii
|
||||
}%
|
||||
%
|
||||
%
|
||||
% Subroutines for tpic-version beam
|
||||
%
|
||||
\def\@dimentomil#1#2{{%
|
||||
% 1m-in = 0.07227pt, 1pt = 13.837m-in
|
||||
% \count@=\count255 \dimen@=\dimen0 def'd in plain
|
||||
\dimen@=#1\relax\dimen@=13.837\dimen@\relax
|
||||
\count@\dimen@
|
||||
\ifnum\count@>0
|
||||
\advance\count@ by 32768
|
||||
\else
|
||||
\advance\count@ by -32768
|
||||
\fi
|
||||
\divide\count@ by 65536
|
||||
\xdef#2{\the\count@}}}%
|
||||
%
|
||||
\def\@addbeampath#1#2{\special{pa #1 #2}}%
|
||||
%
|
||||
%
|
||||
% Main routine for pdfTeX
|
||||
%
|
||||
\def\@beam@pdftex{%
|
||||
% X of end
|
||||
\edef\@Xend{\strip@pt\y@ii}%
|
||||
% Y of start
|
||||
\y@iii\y@i
|
||||
\advance\y@iii -\b@amthick
|
||||
\edef\@Ystart@l{\strip@pt\y@iii}%
|
||||
\advance\y@iii \tw@\b@amthick
|
||||
\edef\@Ystart@u{\strip@pt\y@iii}%
|
||||
% Y of end
|
||||
\y@iv\y@i
|
||||
\dimen@=\b@p\y@ii \divide\dimen@ \tw@nty% \tw@nty=20 def'd in musixtex.tex
|
||||
\advance\y@iv \dimen@
|
||||
\advance\y@iv -\b@amthick
|
||||
\edef\@Yend@l{\strip@pt\y@iv}%
|
||||
\advance\y@iv \tw@\b@amthick
|
||||
\edef\@Yend@u{\strip@pt\y@iv}%
|
||||
\pdfliteral{q 0 g 0 \@Ystart@l\space m \@Xend\space\@Yend@l\space l \@Xend\space\@Yend@u\space l 0 \@Ystart@u\space l 0 \@Ystart@l\space l f Q}%
|
||||
\kern\y@ii
|
||||
}%
|
||||
%
|
||||
% Subroutines for pdfTeX
|
||||
% (taken from latex.ltx 2003/12/01)
|
||||
\begingroup
|
||||
\catcode`P=12
|
||||
\catcode`T=12
|
||||
\lowercase{%
|
||||
\def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}%
|
||||
\expandafter\endgroup\x
|
||||
\def\strip@pt{\expandafter\rem@pt\the}%
|
||||
%
|
||||
%
|
||||
% vectorized version of crescendo, decrescendo (under construction)
|
||||
%
|
||||
\let\C@cresc@font=\C@cresc\relax
|
||||
%
|
||||
% for tpic-version crescendo
|
||||
% #1=length (any TeX dimension, no limit))
|
||||
\def\C@cresc@tpic#1{%
|
||||
\y@iv#1\relax
|
||||
% \rlap{\vrule width\y@iv height1pt}%
|
||||
\@dimentomil{\y@iv}{\@Xend}%
|
||||
\dimen@=2.5pt \advance\dimen@ by.00125\y@iv\relax% see musixspx.mf
|
||||
\@dimentomil{\dimen@}{\@Yend@l}%
|
||||
\special{pn 6}% 0.4pt=5.5348mil see musixspx.mf
|
||||
\ifnum\n@ii=\@cxv% decrescendo see musixtex.tex T.112 line 3870
|
||||
\@addbeampath{0}{\@Yend@l}%
|
||||
\@addbeampath{\@Xend}{0}%
|
||||
\special{fp}%
|
||||
\@addbeampath{0}{-\@Yend@l}%
|
||||
\@addbeampath{\@Xend}{0}%
|
||||
\special{fp}%
|
||||
\else
|
||||
\@addbeampath{\@Xend}{\@Yend@l}%
|
||||
\@addbeampath{0}{0}%
|
||||
\special{fp}%
|
||||
\@addbeampath{\@Xend}{-\@Yend@l}%
|
||||
\@addbeampath{0}{0}%
|
||||
\special{fp}%
|
||||
\fi
|
||||
% \C@cresc@font#1%
|
||||
}%
|
||||
%
|
||||
% for pdfTeX-version crescendo
|
||||
% #1=length (any TeX dimension, no limit))
|
||||
\def\C@cresc@pdftex#1{%
|
||||
\y@iv#1\relax
|
||||
% \rlap{\vrule width\y@iv height1pt}%
|
||||
\edef\@Xend{\strip@pt\y@iv}%
|
||||
\dimen@=2.5pt \advance\dimen@ by.00125\y@iv\relax% see musixspx.mf
|
||||
\edef\@Yend@l{\strip@pt\dimen@}%
|
||||
\ifnum\n@ii=\@cxv% decrescendo see musixtex.tex T.112 line 3870
|
||||
\pdfliteral{.4 w q 0 g 0 \@Yend@l\space m \@Xend\space 0 l S Q q 0 g 0 -\@Yend@l\space m \@Xend\space 0 l S Q}%
|
||||
\else
|
||||
\pdfliteral{.4 w q 0 g \@Xend\space \@Yend@l\space m 0 0 l S Q q 0 g \@Xend\space -\@Yend@l\space m 0 0 l S Q}%
|
||||
\fi
|
||||
% \C@cresc@font#1%
|
||||
}%
|
||||
%
|
||||
% Overriding crescendo (v1.20)
|
||||
%
|
||||
\def\C@cresc#1{%
|
||||
\ifvectorizedbeam
|
||||
\csname C@cresc@\@beammodesel\endcsname#1
|
||||
\else
|
||||
\C@cresc@font#1
|
||||
\fi
|
||||
}%
|
||||
%
|
||||
\catcode`\@=\catcodeat
|
||||
\endinput
|
27
musixtex/tex/tuplet.tex
Normal file
27
musixtex/tex/tuplet.tex
Normal file
|
@ -0,0 +1,27 @@
|
|||
%
|
||||
% This file is part of MusiXTeX
|
||||
%
|
||||
% MusiXTeX is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% MusiXTeX is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with MusiXTeX; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
%
|
||||
% tuplet.tex
|
||||
%
|
||||
\immediate\write16{tuplet.tex <2017-03-16>}%
|
||||
%
|
||||
% (nothing to do. - T.116 or later provide the definitions
|
||||
% by Col. Sicherman formerly in tuplet.tex)
|
||||
%
|
||||
\endinput
|
Loading…
Add table
Add a link
Reference in a new issue