summaryrefslogtreecommitdiff
path: root/macros/musixtex/tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/musixtex/tex')
-rw-r--r--macros/musixtex/tex/musixftab.tex148
-rw-r--r--macros/musixtex/tex/musixtex.tex60
2 files changed, 187 insertions, 21 deletions
diff --git a/macros/musixtex/tex/musixftab.tex b/macros/musixtex/tex/musixftab.tex
new file mode 100644
index 0000000000..fb9b4b15b4
--- /dev/null
+++ b/macros/musixtex/tex/musixftab.tex
@@ -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 8pt
+\font\tabfnttwentynine=frenchtab at 12pt
+
+\makeatletter
+
+% need to raise note boxes 0.2ex 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.2ex\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.2ex\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.2ex\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
diff --git a/macros/musixtex/tex/musixtex.tex b/macros/musixtex/tex/musixtex.tex
index d91c665a68..7dda85bd90 100644
--- a/macros/musixtex/tex/musixtex.tex
+++ b/macros/musixtex/tex/musixtex.tex
@@ -25,15 +25,21 @@
\def\mufl@x{0.83}%
\def\mxmajorvernumber{1}
-\def\mxminorvernumber{33}
+\def\mxminorvernumber{34}
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
-\def\mxversuffix{a}%
+\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2021-07-07}
+\def\mxdate{2021-07-24}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
+% version 1.34
+%
+% redefine \tabfnt... commands to allow re-definition in musixftab.tex
+% decrement the number of slashes if tabstylespace is true
+%
+
% version 1.33a
%
% improved implementations of the tablature commands:
@@ -870,6 +876,11 @@
\def\normdyn{\let\ppff\ppfftwenty}
\def\meddyn{\let\ppff\ppfftwentyfour}
+\font\tabfntthirteen=phvb8t at 4pt % version 1.34 RDT
+\font\tabfntsixteen=phvb8t at 5pt
+\font\tabfnttwenty=phvb8t at 6pt
+\font\tabfnttwentyfour=phvb8t at 8pt
+\font\tabfnttwentynine=phvb8t at 10pt
\font\musiceleven=musix11
\font\musicthirteen=musix13
@@ -1769,8 +1780,8 @@
\else\ifdim\internote<1.19\Internote \smalltype\it
\else\ifdim\internote<1.43\Internote \Smalltype\it
\else\normtype\it\fi\fi\fi}%
- \let\tabnorfnt\fivedc \let\tablargefnt\sixdc % 1.33 RDT
- \let\tabLargefnt\eightdc \let\tabsmallfnt\fourdc
+ \let\tabnorfnt\tabfntsixteen \let\tablargefnt\tabfnttwenty % 1.34 RDT
+ \let\tabLargefnt\tabfnttwentyfour \let\tabsmallfnt\tabfntthirteen
\let\tabnorcleffnt\eightdc \let\tablargecleffnt\tendc
\let\tabLargecleffnt\twelvedc \let\tabsmallcleffnt\sixdc
\def\tabstringfnt{\ifdim\internote<.95\Internote \fourss % 1.29 RDT
@@ -1801,8 +1812,8 @@
\else\ifdim\internote<1.19\Internote \Smalltype\it
\else\ifdim\internote<1.43\Internote \normtype\it
\else\medtype\it\fi\fi\fi}%
- \let\tabnorfnt\eightdc \let\tablargefnt\ninedc % 1.33 RDT
- \let\tabLargefnt\elevendc \let\tabsmallfnt\sixdc
+ \let\tabnorfnt\tabfnttwentyfour \let\tablargefnt\tabfnttwentynine % 1.34 RDT
+ \let\tabLargefnt\tabfnttwentynine \let\tabsmallfnt\tabfnttwenty
\let\tabnorcleffnt\twelvedc \let\tablargecleffnt\frtdc
\let\tabLargecleffnt\svtdc \let\tabsmallcleffnt\tendc
\def\tabstringfnt{\ifdim\internote<.95\Internote \sixss % 1.29 RDT
@@ -1835,8 +1846,8 @@
\else\ifdim\internote<1.19\Internote \medtype\it
\else\ifdim\internote<1.43\Internote \bigfont\it
\else\Bigfont\it\fi\fi\fi}%
- \let\tabnorfnt\ninedc \let\tablargefnt\elevendc % 1.33 RDT
- \let\tabLargefnt\twelvedc \let\tabsmallfnt\eightdc
+ \let\tabnorfnt\tabfnttwentynine \let\tablargefnt\tabfnttwentynine % 1.34 RDT
+ \let\tabLargefnt\tabfnttwentynine \let\tabsmallfnt\tabfnttwentyfour
\let\tabnorcleffnt\frtdc \let\tablargecleffnt\svtdc
\let\tabLargecleffnt\twtydc \let\tabsmallcleffnt\twelvedc
\def\tabstringfnt{\ifdim\internote<.95\Internote \eightss % 1.29 RDT
@@ -1873,8 +1884,8 @@
\else\ifdim\internote<1.19\Internote \Smalltype\it
\else\ifdim\internote<1.43\Internote \normtype\it
\else\medtype\it\fi\fi\fi}%
- \let\tabnorfnt\sixdc \let\tablargefnt\eightdc % 1.33 RDT
- \let\tabLargefnt\ninedc \let\tabsmallfnt\fivedc
+ \let\tabnorfnt\tabfnttwenty \let\tablargefnt\tabfnttwentyfour % 1.34 RDT
+ \let\tabLargefnt\tabfntwentynine \let\tabsmallfnt\tabfntsixteen
\let\tabnorcleffnt\tendc \let\tablargecleffnt\twelvedc
\let\tabLargecleffnt\frtdc \let\tabsmallcleffnt\eightdc
\def\tabstringfnt{\ifdim\internote<.95\Internote \fivess % 1.29 RDT
@@ -5483,7 +5494,7 @@
% This version corrected 07/23/2007 by Rainer Dunker to make it %
% insensitive to changes in \interstaff by PMX %
% %
-% Added to musixtex.tex version 1.16 by RDT %
+% Added to musixtex.tex version 1.16 by RDT %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -5496,8 +5507,9 @@
% 1.33 RDT %
% replace ledger lines by slashes (/) for string numbers > number of staff lines %
% %
-% 1.34 RDT %
+% 1.33a RDT %
% replace 4-7 slashes by numbers 4-7 %
+% decrement number of slashes if tabstylespace is true %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -5525,7 +5537,7 @@
\advance\stringraise by -#1
\multiply\stringraise by 2
\advancefalse\def\q@u{}\loffset{0.2}{\@nq{\the\stringraise}}%
- \iftabstylespace\else\advance\stringraise-1\fi
+ \iftabstylespace\else\advance\stringraise-1\fi
\special{ps: 1 setgray}%
\zcharnote{\the\stringraise}{\vrule height \ht0 width \wd0 depth \dp0}%
\special{ps: 0 setgray}%
@@ -5559,8 +5571,9 @@
\ifnum\stringnum>\nblines
\nslashes=\stringnum
\advance\nslashes by -\nblines
+\iftabstylespace\advance\nslashes by -1\fi
\def\numslashes{\the\nslashes}
-\ifcase\numslashes\or\ccn{-3}{\tabfnt/#2}\or\ccn{-3}{\tabfnt//#2}\or\ccn{-3}{\tabfnt///#2}\or\ccn{-3}{\tabfnt////#2}\ccn{-3}{\tabfnt/////#2}\or\ccn{-3}{\tabfnt//////#2}\or\ccn{-3}{\tabfnt///////#2}\fi%
+\ifcase\numslashes\tabbox{#1}{#2}\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
\else\tabbox{#1}{#2}\fi\sk}
% left spilling \tab
@@ -5569,8 +5582,9 @@
\ifnum\stringnum>\nblines
\nslashes=\stringnum
\advance\nslashes by -\nblines
+\iftabstylespace\advance\nslashes by -1\fi
\def\numslashes{\the\nslashes}
-\ifcase\numslashes\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt////#2}\or\zcn{-3}{\tabfnt/////#2}\or\zcn{-3}{\tabfnt//////#2}\or\zcn{-3}{\tabfnt///////#2}\fi%
+\ifcase\numslashes\ltabbox{#1}{#2}\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
\else\ltabbox{#1}{#2}\fi\sk}
% right spilling \tab
@@ -5579,8 +5593,9 @@
\ifnum\stringnum>\nblines
\nslashes=\stringnum
\advance\nslashes by -\nblines
+\iftabstylespace\advance\nslashes by -1\fi
\def\numslashes{\the\nslashes}
-\ifcase\numslashes\or\lcn{-3}{\tabfnt/#2}\or\lcn{-3}{\tabfnt//#2}\or\lcn{-3}{\tabfnt///#2}\or\lcn{-3}{\tabfnt////#2}\or\lcn{-3}{\tabfnt/////#2}\or\lcn{-3}{\tabfnt//////#2}\or\lcn{-3}{\tabfnt///////#2}\fi%
+\ifcase\numslashes\rtabbox{#1}{#2}\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
\else\rtabbox{#1}{#2}\fi\sk}
% \chord-tab symbol. Same as \tab, but no \sk is given, so multiple
@@ -5590,8 +5605,9 @@
\ifnum\stringnum>\nblines
\nslashes=\stringnum
\advance\nslashes by -\nblines
+\iftabstylespace\advance\nslashes by -1\fi
\def\numslashes{\the\nslashes}
-\ifcase\numslashes\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
+\ifcase\numslashes\tabbox{#1}{#2}\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
\else\tabbox{#1}{#2}\fi}
% left spilling \ztab
@@ -5600,8 +5616,9 @@
\ifnum\stringnum>\nblines
\nslashes=\stringnum
\advance\nslashes by -\nblines
+\iftabstylespace\advance\nslashes by -1\fi
\def\numslashes{\the\nslashes}
-\ifcase\numslashes\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
+\ifcase\numslashes\ltabbox{#1}{#2}\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
\else\ltabbox{#1}{#2}\fi}
% right spilling \ztab
@@ -5610,8 +5627,9 @@
\ifnum\stringnum>\nblines
\nslashes=\stringnum
\advance\nslashes by -\nblines
+\iftabstylespace\advance\nslashes by -1\fi
\def\numslashes{\the\nslashes}
-\ifcase\numslashes\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
+\ifcase\numslashes\rtabbox{#1}{#2}\or\zcn{-3}{\tabfnt/#2}\or\zcn{-3}{\tabfnt//#2}\or\zcn{-3}{\tabfnt///#2}\or\zcn{-3}{\tabfnt 4}\or\zcn{-3}{\tabfnt 5}\or\zcn{-3}{\tabfnt 6}\or\zcn{-3}{\tabfnt 7}\fi%
\else\rtabbox{#1}{#2}\fi}
%
@@ -5633,7 +5651,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% tiny duration notes placed above tablature staff %
-% 1.34 RDT %
+% 1.33a RDT %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcount\tiny@hgt % = 2 * \nblines + 1