summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-05 21:01:41 +0000
committerKarl Berry <karl@freefriends.org>2018-08-05 21:01:41 +0000
commitde1ff8108cc79531f98cc1ce402304e28b73cac7 (patch)
treec07085f0a6575965d4f9aeec26625ffa01535944 /Master/texmf-dist
parent6f10523a75ddc7592e2c5e5db809908f864e9bd8 (diff)
musixtex (5aug18)
git-svn-id: svn://tug.org/texlive/trunk@48353 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt6
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/README2
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc.pdfbin1316500 -> 1332076 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex9
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex139
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdfbin1316500 -> 1332076 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex5
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex5
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex47
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdfbin7220 -> 7305 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/musixflx.15
-rw-r--r--Master/texmf-dist/doc/man/man1/musixflx.man1.pdfbin4144 -> 18004 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/musixtex.18
-rw-r--r--Master/texmf-dist/doc/man/man1/musixtex.man1.pdfbin22431 -> 23231 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/musixtex/musixtex.lua15
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixcpt.tex6
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixeng.tex4
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixtex.tex269
18 files changed, 469 insertions, 51 deletions
diff --git a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt
new file mode 100644
index 00000000000..780d4cef33e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt
@@ -0,0 +1,6 @@
+
+Changes from MusiXTeX 128 to 129:
+
+ * introduced support for tablature notation: \tabfnt,
+ \tabcleffnt, \tabstringfnt, \tabstylespace, \tab, \ztab,
+ etc.
diff --git a/Master/texmf-dist/doc/generic/musixtex/README b/Master/texmf-dist/doc/generic/musixtex/README
index 84374a87110..aebd633e312 100644
--- a/Master/texmf-dist/doc/generic/musixtex/README
+++ b/Master/texmf-dist/doc/generic/musixtex/README
@@ -1,4 +1,4 @@
-This is MusiXTeX, version 1.28 (2018-05-07).
+This is MusiXTeX, version 1.29 (2018-08-04).
MusiXTeX is a TeX-based system for typesetting music.
The main author was Daniel Taupin, who died in a climbing
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
index 0bbde1ea6c3..d2b3b793db2 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
index 96e47348d88..42d4e645c0f 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
@@ -1,6 +1,7 @@
\title{\Huge\bfseries\musixtex\\[\bigskipamount]
\LARGE\bfseries Using \TeX{} to write polyphonic\\or
-instrumental music\\\Large\itshape Version 1.28}
+instrumental music\\\Large\itshape Version 1.29}
+\author{}
%\author{\Large\rm Daniel \sc Taupin\\\large\sl
@@ -61,13 +62,13 @@ on earlier work by Andrea Steinbach and Angelika Schofer.
Unfortunately, Daniel Taupin, the main developer, died all too early in a 2003
climbing accident. The \musixtex\ community was shocked by this tragic and unexpected
event. You may read tributes to Daniel Taupin that are archived at the
-\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}}.
+\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}} (WIMA\index{WIMA}).
Since then, the only significant update to \musixtex\ has been in version 1.15 (April 2011) which
takes advantage of the greater capacity of the e\TeX\ version of \TeX.
This manual
is the definitive reference to all features of
-\musixtex\ version~1.27.
+\musixtex\ version~1.29.
Novice users need not start here.
Most
@@ -91,7 +92,7 @@ generating input files, other than \TeX-oriented integrated
graphical development environments such as \TeX Works.
The \href{http://icking-music-archive.org/software/indexmt6.html}
-{\underline{Werner Icking Music Archive}}\ (WIMA) contains excellent and detailed
+{\underline{Werner Icking Music Archive}} contains excellent and detailed
instructions for installing \TeX, \musixtex{} and the strongly recommended
preprocessors \textbf{PMX}
and \mbox{\textbf{M-Tx}} on
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
index 6efd0ec7d27..50be2c03442 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
@@ -760,7 +760,7 @@ For example,
\NOtes\lpar c\rpar c\qu c\en
\NOtes\unbkt C15\qu {FH}|\ovbkt n14\ql{kl}\en
\NOtes\downtrio C16\qu {FH}|\uptrio o14\ql{lm}\en
-\NOtesp\roffset{1.5}{\slide J33}\qa{JM}|\roffset{1.5}{\slide j33}\qa{jm}\en
+\NOtesp\roffset{1.5}{\slide J33}\ca{JM}|\roffset{1.5}{\slide j33}\ca{jm}\en
\endextract
\end{music}
\noindent is coded as
@@ -774,7 +774,7 @@ For example,
\NOtes\lpar c\rpar c\qu c\en
\NOtes\unbkt C15\qu {FH}|\ovbkt n14\ql{kl}\en
\NOtes\downtrio C16\qu {FH}|\uptrio o14\ql{lm}\en
-\NOtesp\roffset{1.5}{\slide J33}\qa{JM}|\roffset{1.5}{\slide j33}\qa{jm}\en
+\NOtesp\roffset{1.5}{\slide J33}\ca{JM}|\roffset{1.5}{\slide j33}\ca{jm}\en
\zendextract
\end{music}
\end{verbatim}\end{quote}
@@ -821,3 +821,138 @@ The coding is
\NOTes\ha{HIJK}&\ha{efgh}&\ha{hijk}&\ha{hmlk}\en
\endextract
\end{verbatim}\end{quote}
+
+
+\section{Tablature}
+Tablature is a notational system used for fretted stringed instruments such
+as lute, guitar, banjo, mandolin, and so on. Staff lines represent strings
+and conventional note heads are replaced by numbers (or sometimes letters)
+indicating which fret is to be stopped, with $0$ representing an open string.
+
+A special clef symbol
+\keyindex{tabclef} may be used with \verb|\setclefsymbol| for a tablature staff; commands \verb|\setlines|, \verb|\setsign|
+and \verb|\setsize| may be used as usual for a tablature staff. The macros that put numbers (or letters) on staff lines
+are as follows:
+\begin{itemize}
+\item \keyindex{tab}\verb|{|$n$\verb|}|\verb|{|$p$\verb|}|
+puts $p$ on string $n$
+(counting from top to bottom); $p$ is centered, using \verb|\ccharnote|.
+Ledger lines are added for $n$ less than $1$ or greater than the current number of staff lines.
+\item \keyindex{ltab}\verb|{|$n$\verb|}|\verb|{|$p$\verb|}|
+uses \verb|\zcharnote| so $p$
+spills to the right and
+\keyindex{rtab}\verb|{|$n$\verb|}|\verb|{|$p$\verb|}|
+uses \verb|\lcharnote| so $p$
+spills to the left.
+\item \keyindex{ztab}\verb|{|$n$\verb|}|\verb|{|$p$\verb|}|
+is a non-spacing \verb|\tab|, and can be used for building chords.
+\item \keyindex{zltab}\verb|{|$n$\verb|}|\verb|{|$p$\verb|}|
+is a non-spacing \verb|\ltab| and
+\keyindex{zrtab}\verb|{|$n$\verb|}|\verb|{|$p$\verb|}|
+is a non-spacing \verb|\rtab|.
+\end{itemize}
+A size-dependent font \keyindex{tabfnt} is used for tab characters; Helvetica is the default font family.
+
+The default tablature style is to place the fingering notations \emph{on} the staff line;
+Postscript specials are used to ``blank'' staff lines below
+the tab characters.
+If it is desired to locate the fingering notations \emph{above} staff lines, use
+the command \keyindex{tabstylespacetrue}.
+A size-dependent font \keyindex{tabstringfnt} is defined to allow string names to be
+listed using \verb|\setname|.
+
+Here is an example of a guitar tablature (6th string lowered to D):
+
+\begin{music}
+\input musixps
+\def\psslurhgt{0.5}
+\instrumentnumber{2}
+\songbottom1\songtop2
+\generalmeter{\meterfrac34}
+\generalsignature{-1}
+\setlines16
+\setclefsymbol1\tabclef\setclefsymbol2\treblelowoct
+\setsize1\largevalue
+\setsign10
+\nobarnumbers
+\interinstrument=4\internote
+\parindent=2ex
+\setname1{\tabstringfnt\baselineskip=1.5\internote%
+ \vbox{\hbox to\parindent{\hss E \hss}%
+ \hbox to\parindent{\hss B \hss}%
+ \hbox to\parindent{\hss G \hss}%
+ \hbox to\parindent{\hss D \hss}%
+ \hbox to\parindent{\hss A \hss}%
+ \hbox to\parindent{\hss D \hss}%
+}}
+\startextract
+\NOtesp\zltab55\zltab43\ltab32&\zh{d}\zhl{f}\qu{.h}\en
+\Notes\ltab32&\cu{h}\en
+\bar%
+\NOtes\zltab55\zltab45\zltab33\ltab10&\zq d\zql g\zq i\qu l\en
+\NOtesp\zltab54\zltab45\zltab32\ltab10&\rhl{^c}\rhu{g}\zh{h}\qu{.l}\en
+\Notes\ltab10&\cu{l}\en
+\bar%
+\NOtes\zltab40\zltab32\zltab23\ltab11&\zq d\zq h\zq k\qu{m}\en
+\NOtes\zltab51\zltab43\zltab33\ltab23&\zhl b\zh f\zq{.i}\qu{.k}\en
+\Notes\ltab35&\cu j\en
+\bar%
+\NOtes\zltab65\zltab45\ltab33&\zql N\zq g\qu i\en
+\NOtes\zltab50\zltab43\ltab32&\zql a\zq f\qu h\en
+\notes\zltab54\ltab45\ilsluru04\ltab43\ltab42\tlslur04\ltab43%
+&\zql{^c}\ibbu0g{-1}\qb0{g}\slur eed2\qb0{fe}\tqu0f\en
+\bar%
+\notes\zltab60\zltab50\ltab45\ilsluru04\ltab42\ltab43\tlslur04\ltab40%
+&\zq K\zql a\ibbu0g{-1}\qb0g\slur edd2\qb0e\qb0f\tqu0d\en
+\znotes&\lcn{14}{J.S. Bach}\en
+\zendextract
+\end{music}
+
+\noindent
+The coding is
+\begin{footnotesize}
+\begin{quote}\begin{verbatim}
+\instrumentnumber{2}
+\songbottom1\songtop2
+\setclefsymbol2\treblelowoct
+\generalmeter{\meterfrac34}
+\generalsignature{-1}
+\setlines16\setclefsymbol1\tabclef\setsize1\largevalue\setsign10
+\nobarnumbers
+\interinstrument=4\internote
+\parindent=2ex
+\setname1{\tabstringfnt\baselineskip=1.5\internote%
+ \vbox{\hbox to\parindent{\hss E\hss}%
+ \hbox to\parindent{\hss B\hss}%
+ \hbox to\parindent{\hss G\hss}%
+ \hbox to\parindent{\hss D\hss}%
+ \hbox to\parindent{\hss A\hss}%
+ \hbox to\parindent{\hss D\hss}}}
+\startextract
+\NOtesp\zltab55\zltab43\ltab32&\zh{d}\zhl{f}\qu{.h}\en
+\Notes\ltab32&\cu{h}\en
+\bar%
+\NOtes\zltab55\zltab45\zltab33\ltab10&\zq d\zql g\zq i\qu l\en
+\NOtesp\zltab54\zltab45\zltab32\ltab10&\rhl{^c}\rhu{g}\zh{h}\qu{.l}\en
+\Notes\ltab10&\cu{l}\en
+\bar%
+\NOtes\zltab40\zltab32\zltab23\ltab11&\zq d\zq h\zq k\qu{m}\en
+\NOtes\zltab51\zltab43\zltab33\ltab23&\zhl b\zh f\zq{.i}\qu{.k}\en
+\Notes\ltab35&\cu j\en
+\bar%
+\NOtes\zltab65\zltab45\ltab33&\zql N\zq g\qu i\en
+\NOtes\zltab50\zltab43\ltab32&\zql a\zq f\qu h\en
+\notes\zltab54\ltab45\ilsluru04\ltab43\ltab42\tlslur04\ltab43%
+&\zql{^c}\ibbu0g{-1}\qb0{g}\slur eed2\qb0{fe}\tqu0f\en
+\bar%
+\notes\zltab60\zltab50\ltab45\ilsluru04\ltab42\ltab43\tlslur04\ltab40%
+&\zq K\zql a\ibbu0g{-1}\qb0g\slur edd2\qb0e\qb0f\tqu0d\en
+\znotes&\lcn{14}{J.S. Bach}\en
+\zendextract
+\end{verbatim}\end{quote}
+\end{footnotesize}
+Tablature support in \musixtex\ has been adapted
+from \verb|tabdefs.tex| by R.J.~Gelten, which is available
+\href{http://icking-music-archive.org/software/musixtex/add-ons/tabdefs.tex}
+{\underline{here}}
+at WIMA\index{WIMA}.
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdf b/Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdf
index 0bbde1ea6c3..d2b3b793db2 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
index da410cc92e5..5de88fc3e64 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
@@ -85,7 +85,8 @@ stem lengths, etc.
number of instruments to be $n$. If not entered, the default is $1$. This number is used in loops
that build staves,
set key signatures, set meters, etc., so if it differs from $1$ it must be explicitly
-defined before any further commands.
+defined before any further commands. The default maximum number of instruments is $6$
+but this can be increased by using \keyindex{setmaxinstruments}\onen.
\subsection{Number of staves per instrument}
@@ -128,7 +129,7 @@ $s=1$ to $4$ mean C-clef, respectively on the first (lowest) through fourth staf
$1$ is also called \ital{soprano}, $3$ \ital{alto} and $4$ \ital{tenor}.
$s=5$ to $s=7$ mean F-clef, respectively on the third through fifth staff line. $5$ is
also called \ital{baritone} and $6$ is the normal \ital{bass}.
- $s=8$ is not used.
+ $s=8$ is used to specify an ``empty'' clef.
$s=9$ represents a G clef on the first line, also called \ital{French violin} clef.
The three tokens \verb|\treble|, \verb|\alto|, and \verb|\bass| can be used instead
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex
index 736b7b522b7..b7bfca7d649 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex
@@ -58,6 +58,11 @@ You can shift the starting or ending point slightly to the left
or right by substituting one of the commands \keyindex{ilsluru},
\keyindex{ilslurd}, \keyindex{irsluru},
\keyindex{irslurd}, \keyindex{trslur} or \keyindex{tlslur}.
+For shifts farther to the left, use
+\keyindex{iLsluru},
+\keyindex{iLslurd}
+or \keyindex{tLslur}.
+
You can control the shape of type~K slurs with variants of
the termination command. To make the slur a bit flatter than default use
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex
index 1a671d44a2b..8674dc02e98 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex
@@ -236,26 +236,45 @@ For example,
\begin{music}\nostartrule
\startextract
-\NOtes\multnoteskip8\isluru0g\ql g\en
-\notes\tslur0g\ql g\en
+\NOtes\multnoteskip8\isluru0i\ql i\en
+\notes\tslur0i\ql i\en
\zendextract
\startextract
-\NOtes\multnoteskip8\isluru0g\ql g\en
-\notes\midslur7\tslur0g\ql g\en
+\NOtes\multnoteskip8\isluru0i\ql i\en
+\notes\midslur7\tslur0i\ql i\en
\zendextract
\startextract
-\NOtes\multnoteskip8\isluru2g\ql g\en
-\notes\midslur{11}\tslur2g\ql g\en
+\NOtes\multnoteskip8\isluru2i\ql i\en
+\notes\midslur{11}\tslur2i\ql i\en
\zendextract
\end{music}
\noindent was coded as
\begin{quote}\begin{verbatim}
-\NOtes\multnoteskip8\isluru0g\ql g\en
-\notes\tslur0g\ql g\en
-\NOtes\multnoteskip8\isluru0g\ql g\en
-\notes\midslur7\tslur0g\ql g\en
-\NOtes\multnoteskip8\isluru2g\ql g\en
-\notes\midslur{11}\tslur2g\ql g\en
+\NOtes\multnoteskip8\isluru0i\ql i\en
+\notes\tslur0i\ql i\en
+\NOtes\multnoteskip8\isluru0i\ql i\en
+\notes\midslur7\tslur0i\ql i\en
+\NOtes\multnoteskip8\isluru2i\ql i\en
+\notes\midslur{11}\tslur2i\ql i\en
+\end{verbatim}\end{quote}
+For downward slurs, use negative values; for example,
+
+\begin{music}\nostartrule
+\startextract
+\NOtes\multnoteskip8\islurd0i\qu i\en
+\notes\tslur0i\qu i\en
+\zendextract
+\startextract
+\NOtes\multnoteskip8\islurd0i\qu i\en
+\notes\midslur{-7}\tslur0i\qu i\en
+\zendextract
+\end{music}
+\noindent was coded as
+\begin{quote}\begin{verbatim}
+\NOtes\multnoteskip8\islurd0i\qu i\en
+\notes\tslur0i\qu i\en
+\NOtes\multnoteskip8\islurd0i\qu i\en
+\notes\midslur{-7}\tslur0i\qu i\en
\end{verbatim}\end{quote}
The macro \keyindex{curve}$hij$ allows more precise control over the shape
@@ -289,12 +308,8 @@ the slur termination. The example below illustrates the use of \verb|\curve|.
\begin{quote}\begin{verbatim}
\NOtes\multnoteskip8\itieu0g\ql g\en
\notes\ttie0\ql g\en
-\zendextract
-\startextract
\NOtes\multnoteskip8\itieu1g\ql g\en
\notes\curve 322\ttie1\ql g\en
-\zendextract
-\startextract
\NOtes\multnoteskip8\itieu2g\ql g\en
\notes\curve 111\ttie2\ql g\en
\end{verbatim}\end{quote}
diff --git a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
index 4b99770a501..e8caf62c92e 100644
--- a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/musixflx.1 b/Master/texmf-dist/doc/man/man1/musixflx.1
index a3c214535e2..4ef7c35870f 100644
--- a/Master/texmf-dist/doc/man/man1/musixflx.1
+++ b/Master/texmf-dist/doc/man/man1/musixflx.1
@@ -1,5 +1,5 @@
.\" This manpage is licensed under the GNU Public License
-.TH MUSIXFLX 1 2011-04-21 "musixflx-0.83.3lua7" ""
+.TH MUSIXFLX 1 2018-06-15 "musixflx-0.83.3lua7" ""
.SH NAME
musixflx \- process mx1 files (the second pass of 3-pass MusiXTeX typesetting)
@@ -25,6 +25,9 @@ can be
.br
s output computed lines to the screen
+.SH DESCRIPTION
+Musixflx processes mx1 files (the second pass of 3-pass MusiXTeX typesetting)
+
To allow for ease of use with a batch file, \fB musixflx.lua\fR
can be fed with either \fI jobname.mx1\fP, \fI jobname.tex\fP,
or just \fI jobname\fP, any of which open \fI jobname.mx1\fP
diff --git a/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf b/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf
index 520cce2d612..c3501872330 100644
--- a/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/musixtex.1 b/Master/texmf-dist/doc/man/man1/musixtex.1
index 32c5fb33e26..5c3b84ca2cd 100644
--- a/Master/texmf-dist/doc/man/man1/musixtex.1
+++ b/Master/texmf-dist/doc/man/man1/musixtex.1
@@ -1,5 +1,5 @@
.\" This manpage is licensed under the GNU Public License
-.TH MUSIXTEX 1 2017-12-10 "musixtex version 0.19" ""
+.TH MUSIXTEX 1 2018-07-27 "musixtex version 0.21" ""
.SH NAME
musixtex \- processes MusiXTeX files, using pre-processors prepmx, pmxab and autosp as necessary,
@@ -14,6 +14,7 @@ is used)
|
.I jobname
[ .mtx | .pmx | .aspc | .tex | .ltx ] } ...
+.SH DESCRIPTION
.TP
If a jobname argument has a .tex extension, the default effect is to process the file using
.TP 12
@@ -98,6 +99,11 @@ as the dvi processor; e.g., -D "dvipdfm -m 0.9".
Use -d
.I before
-D to suppress .ps generation.
+.TP
+.B -P ps2pdf
+use
+.B ps2pdf
+as the Postscript processor; e.g., -P "ps2pdf -sPAPERSIZE=a4"
.TP
.B -F fmt
use
diff --git a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
index d578ce36dda..4e4c2ca4c95 100644
--- a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/musixtex/musixtex.lua b/Master/texmf-dist/scripts/musixtex/musixtex.lua
index 71d9c64581f..f591940b20f 100755
--- a/Master/texmf-dist/scripts/musixtex/musixtex.lua
+++ b/Master/texmf-dist/scripts/musixtex/musixtex.lua
@@ -1,12 +1,12 @@
#!/usr/bin/env texlua
-VERSION = "0.19"
+VERSION = "0.21"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
autosp as pre-processors (and deletes intermediate files)
- (c) Copyright 2011-2017 Bob Tennent rdt@cs.queensu.ca
+ (c) Copyright 2011-2018 Bob Tennent rdt@cs.queensu.ca
and Dirk Laurie dirk.laurie@gmail.com
This program is free software; you can redistribute it and/or modify it
@@ -29,6 +29,12 @@ VERSION = "0.19"
ChangeLog:
+ version 0.21 2018-07-27 RDT
+ add -P option.
+
+ version 0.20 2018-06-11 RDT
+ remove .mx1 file before tex processing
+
version 0.19 2017-12-10 RDT
Allow non-standard extensions.
Add -M and -A options.
@@ -135,6 +141,7 @@ Options: -v version
-F fmt use fmt as the TeX processor
-d tex-dvi-pdf (using dvipdfm if -D not used)
-D dvixx use dvixx as the dvi processor
+ -P ps2pdfxx use ps2pdfxx as the Postscript processor
-c preprocess pmx file using pmxchords
-m stop at pmx
-M prepmxx use prepmxx as the mtx preprocessor
@@ -335,6 +342,9 @@ function process_option(this_arg)
end
if dvi == dvips then dvi = dvi .. " -q" end
quiet = " >> " .. tempname
+ elseif this_arg == "-P" then
+ narg = narg+1
+ ps2pdf = arg[narg]
else
print("! Unknown option "..this_arg.." ignored")
end
@@ -417,6 +427,7 @@ end
function tex_process(tex,basename,extension)
if not (extension == "tex" or extension == "ltx") or not tex then return end
+ remove(basename .. ".mx1")
remove(basename .. ".mx2")
local filename = basename .. "." ..extension
-- .ltx extension re-selects engine only for the current file, and only
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex b/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex
index 3883c0b6060..90d9066465c 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex
@@ -21,7 +21,7 @@
\ifx\undefined\DIMin \else \endinput \fi
-\immediate\write16{MusiXComPaTible T.109\space<7 July 2002>}%
+\immediate\write16{MusiXComPaTible T.109\space<8 May 2018>}%
\ifx\undefined\mxversion \errmessage{MusiXcpt input before MusiXTeX !}\fi
@@ -409,8 +409,8 @@
\let\zqhpp\zqbpp
\let\hh\hb
\let\soupir\qp
-\let\dsoupir\ds@oup
-\let\demisoupir\ds@oup
+\let\dsoupir\ds
+\let\demisoupir\ds
\let\qsoupir\qs
\let\quartsoupir\qs
\let\hsoupir\hs
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixeng.tex b/Master/texmf-dist/tex/generic/musixtex/musixeng.tex
index 0f35e0984b5..e9e3d0d8b96 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixeng.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixeng.tex
@@ -19,7 +19,7 @@
% suggested by Ross Mitchell
-\immediate\write16{MusiX ENGlish rests T.404\space<31 October 1995>}%
+\immediate\write16{MusiX ENGlish rests T.404\space<08 May 2018>}%
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
@@ -32,7 +32,7 @@
\let\hrp\hpausep
\let\hr\hpause
\let\qr\qp
-\let\er\ds@oup
+\let\er\ds % \ds\oup no longer available
\let\eer\qs
\let\eeer\hs
\let\eeeer\qqs
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
index d1b8acc949e..55382f5dfe1 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
@@ -25,15 +25,20 @@
\def\mufl@x{0.83}%
\def\mxmajorvernumber{1}
-\def\mxminorvernumber{28}
+\def\mxminorvernumber{29}
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2018-05-07}
+\def\mxdate{2018-08-04}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
+
+% version 1.29
+
+% defined \tabfnt, \tabcleffnt, \tabstringfnt, \tab etc. to support tablature
+
% version 1.28
% defined
@@ -627,6 +632,17 @@
\def\fontid{cm} % deprecated but used in pmx.tex
%%
+% Small sans serif fonts % version 1.29 RDT
+%%
+
+\font\threess=phvr8t at 3pt
+\font\fourss=phvr8t at 4pt
+\font\fivess=phvr8t at 5pt
+\font\fivedc=phvb8t at 5pt
+\font\sixss=phvr8t at 6pt
+\font\sixdc=phvb8t at 6pt
+
+%%
% Seven point fonts
%%
@@ -635,6 +651,9 @@
\font\sevenit=cmti7
\font\sevenbi=cmbxti10 at 7pt % version 1.22 RDT
\font\sevensc=cmcsc10 at 7pt
+\font\sevenss=phvr8t at 7pt % version 1.29 RDT
+\font\sevendc=phvb8t at 7pt
+
%%
% Eight point fonts
@@ -645,6 +664,8 @@
\font\eightit=cmti8
\font\eightbi=cmbxti10 at 8pt % version 1.22 RDT
\font\eightsc=cmcsc10 at 8pt
+\font\eightss=phvr8t at 8pt % version 1.29 RDT
+\font\eightdc=phvb8t at 8pt
%%
% Nine point fonts
@@ -655,6 +676,7 @@
\font\nineit=cmti9
\font\ninebi=cmbxti10 at 9pt % version 1.22 RDT
\font\ninesc=cmcsc10 at 9pt
+\font\niness=phvr8t at 9pt % version 1.29 RDT
%%
% Ten point fonts
@@ -665,6 +687,8 @@
\font\tenit=cmti10
\font\tenbi=cmbxti10 % version 1.22 RDT
\font\tensc=cmcsc10
+\font\tenss=phvr8t % version 1.29 RDT
+\font\tendc=phvb8t
%%
% Eleven point fonts
@@ -674,6 +698,7 @@
\font\elevenit=cmti9 scaled \magstephalf
\font\elevenbi=cmbxti10 at 11pt % version 1.22 RDT
\font\elevensc=cmcsc10 at 11pt
+\font\elevenss=phvr8t at 11pt % version 1.29 RDT
%%
% Twelve point fonts
@@ -683,6 +708,8 @@
\font\twelveit=cmti12
\font\twelvebi=cmbxti10 scaled \magstep1 % version 1.22 RDT
\font\twelvesc=cmcsc10 scaled \magstep1
+\font\twelvess=phvr8t scaled \magstep1 % version 1.29 RDT
+\font\twelvedc=phvb8t scaled \magstep1
% 14pt fonts
\font\frtrm=cmr12 scaled \magstep1
@@ -690,6 +717,8 @@
\font\frtit=cmti12 scaled \magstep1
\font\frtsc=cmcsc10 scaled \magstep2
\font\frtbi=cmbxti10 scaled \magstep2 % version 1.22 RDT
+\font\frtss=phvr8t scaled \magstep2 % version 1.29 RDT
+\font\frtdc=phvb8t scaled \magstep2
%
% 17pt
\font\svtrm=cmr12 scaled \magstep2
@@ -697,6 +726,7 @@
\font\svtit=cmti12 scaled \magstep2
\font\svtsc=cmcsc10 scaled \magstep3
\font\svtbi=cmbxti10 scaled \magstep3
+\font\svtdc=phvb8t scaled \magstep3
%
% 20pt
\font\twtyrm=cmr12 scaled \magstep3
@@ -704,6 +734,7 @@
\font\twtyit=cmti12 scaled \magstep3
\font\twtysc=cmcsc10 scaled \magstep4
\font\twtybi=cmbxti10 scaled \magstep4 % version 1.22 RDT
+\font\twtydc=phvb8t scaled \magstep4
%
% 25pt
\font\twfvrm=cmr12 scaled \magstep4
@@ -1642,6 +1673,28 @@
\fi
\fi}
+\def\tabcleffnt{% 1.29 RDT
+ \ifdim\internote<.95\Internote \tabsmallcleffnt
+ \else
+ \ifdim\internote<1.19\Internote \tabnorcleffnt
+ \else
+ \ifdim\internote<1.43\Internote \tablargecleffnt
+ \else \tabLargecleffnt
+ \fi
+ \fi
+ \fi}
+
+\def\tabfnt{% 1.29 RDT
+ \ifdim\internote<.95\Internote \tabsmallfnt
+ \else
+ \ifdim\internote<1.19\Internote \tabnorfnt
+ \else
+ \ifdim\internote<1.43\Internote \tablargefnt
+ \else \tabLargefnt
+ \fi
+ \fi
+ \fi}
+
\newbox\ch@box
\newcount\musicsize
\newdimen\qd@skip
@@ -1691,6 +1744,14 @@
\else\ifdim\internote<1.19\Internote \smalltype\it
\else\ifdim\internote<1.43\Internote \Smalltype\it
\else\normtype\it\fi\fi\fi}%
+ \let\tabnorfnt\fivess \let\tablargefnt\sixss
+ \let\tabLargefnt\eightss \let\tabsmallfnt\fourss
+ \let\tabnorcleffnt\eightdc \let\tablargecleffnt\tendc
+ \let\tabLargecleffnt\twelvedc \let\tabsmallcleffnt\sixdc
+ \def\tabstringfnt{\ifdim\internote<.95\Internote \fourss % 1.29 RDT
+ \else\ifdim\internote<1.19\Internote \fivess
+ \else\ifdim\internote<1.43\Internote \sevenss
+ \else\eightss\fi\fi\fi}%
\else\ifnum\musicsize=\@xxiv
\let\musicLargefont\musictwentynine
\let\musiclargefont\musictwentynine
@@ -1715,6 +1776,14 @@
\else\ifdim\internote<1.19\Internote \Smalltype\it
\else\ifdim\internote<1.43\Internote \normtype\it
\else\medtype\it\fi\fi\fi}%
+ \let\tabnorfnt\eightss \let\tablargefnt\niness
+ \let\tabLargefnt\elevenss \let\tabsmallfnt\sixss
+ \let\tabnorcleffnt\twelvedc \let\tablargecleffnt\frtdc
+ \let\tabLargecleffnt\svtdc \let\tabsmallcleffnt\tendc
+ \def\tabstringfnt{\ifdim\internote<.95\Internote \sixss % 1.29 RDT
+ \else\ifdim\internote<1.19\Internote \eightss
+ \else\ifdim\internote<1.43\Internote \niness
+ \else\twelvess\fi\fi\fi}%
\else\ifnum\musicsize=\@xxix
\let\musicLargefont\musictwentynine
\let\musiclargefont\musictwentynine
@@ -1741,6 +1810,14 @@
\else\ifdim\internote<1.19\Internote \medtype\it
\else\ifdim\internote<1.43\Internote \bigfont\it
\else\Bigfont\it\fi\fi\fi}%
+ \let\tabnorfnt\niness \let\tablargefnt\elevenss
+ \let\tabLargefnt\twelvess \let\tabsmallfnt\eightss
+ \let\tabnorcleffnt\frtdc \let\tablargecleffnt\svtdc
+ \let\tabLargecleffnt\twtydc \let\tabsmallcleffnt\twelvedc
+ \def\tabstringfnt{\ifdim\internote<.95\Internote \eightss % 1.29 RDT
+ \else\ifdim\internote<1.19\Internote \niness
+ \else\ifdim\internote<1.43\Internote \twelvess
+ \else\frtss\fi\fi\fi}%
\else
\ifnum\musicsize=\tw@nty
\else\ifnum\musicsize=\z@
@@ -1771,6 +1848,14 @@
\else\ifdim\internote<1.19\Internote \Smalltype\it
\else\ifdim\internote<1.43\Internote \normtype\it
\else\medtype\it\fi\fi\fi}%
+ \let\tabnorfnt\sixss \let\tablargefnt\eightss
+ \let\tabLargefnt\niness \let\tabsmallfnt\fivess
+ \let\tabnorcleffnt\tendc \let\tablargecleffnt\twelvedc
+ \let\tabLargecleffnt\frtdc \let\tabsmallcleffnt\eightdc
+ \def\tabstringfnt{\ifdim\internote<.95\Internote \fivess % 1.29 RDT
+ \else\ifdim\internote<1.19\Internote \sixss
+ \else\ifdim\internote<1.43\Internote \eightss
+ \else\niness\fi\fi\fi}%
\fi\fi\fi}%
\def\comput@specifics{\comput@fonts\comput@sizes}
@@ -2620,10 +2705,31 @@
% write colons on all staffs (a part of [left][right]repeat symbols
+%\def\writ@colons{\n@loop{\w@coli}\repeat}
+
+
+
\def\writ@colons{\n@loop{\w@coli}\repeat}
\def\w@coli{\p@loop
- \raise\altportee\hbox{\raise4\internote\hbox{\keychar55}}\count@portee\repeat}
-
+ {\ifnum\nblines=6\tabc@lsix%
+ \else\ifnum\nblines=4\tabc@lfour%
+ \else\raise\altportee\hbox{\raise4\internote\hbox{\keychar55}}\fi\fi}\count@portee\repeat}
+
+%%%% 1.29 RDT
+\def\tabc@lsix{\raise\altportee\hbox{%
+ %\raise7\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}% uncomment if wanted
+ \raise5\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}%
+ \raise3\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}% comment out if unwanted
+ \raise1\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}%
+ %\raise-1\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}% uncomment if wanted
+}}
+
+%%%% 1.29 RDT
+\def\tabc@lfour{\raise\altportee\hbox{%
+ \raise3\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}%
+ \raise1\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}% comment out if unwanted
+ \raise-1\internote\rlap{\kernm1.2\internote\hbox{\keychar24}}%
+}}
%%% seperated and full barlines
%\def\rul@full#1{\raise\altplancher\rlap{\vrule\@depth\hlthick
@@ -2847,10 +2953,46 @@
\def\writ@meterp#1#2#3#4{%
\ifcase\noport@@\hbox{#1}\or \hbox{#2}\or \hbox{#3}\or \hbox{#4}\fi}
-\def\meterfrac#1#2{\setbox\toks@box\vbox{\hbox{\ \meterfont#1}%
- \hbox{\ \meterfont #2}}\vbox\@to\@ight\internote{\offinterlineskip
- \vss\hbox\@to\wd\toks@box{\hss\meterfont#1\hss}\vss
- \vss\hbox\@to\wd\toks@box{\hss\meterfont#2\hss}\vss}}
+\def\meterfrac#1#2{%
+ \ifnum\nblines=6%
+ \setbox\toks@box\vbox{\hbox{~\meterfont#1}%
+ \hbox{~\meterfont #2}}\raise\internote%
+ \vbox\@to\@ight\internote{\offinterlineskip%
+ \vss\hbox\@to\wd\toks@box{\hss\meterfont#1\hss}\vskip1.5\internote%
+ \vss\hbox\@to\wd\toks@box{\hss\meterfont#2\hss}\vss}%
+ \else\ifnum\nblines=4%
+ \setbox\toks@box\vbox{\hbox{\ \meterfont#1}%
+ \hbox{\ \meterfont #2}}\raise-1\internote\vbox\@to\@ight\internote{\offinterlineskip
+ \vss\hbox\@to\wd\toks@box{\hss\meterfont#1\hss}\vss
+ \vss\hbox\@to\wd\toks@box{\hss\meterfont#2\hss}\vss}
+ \else
+ \setbox\toks@box\vbox{\hbox{\ \meterfont#1}%
+ \hbox{\ \meterfont #2}}\vbox\@to\@ight\internote{\offinterlineskip
+ \vss\hbox\@to\wd\toks@box{\hss\meterfont#1\hss}\vss
+ \vss\hbox\@to\wd\toks@box{\hss\meterfont#2\hss}\vss}
+ \fi\fi
+}
+\def\allabreve{% -> 2/2
+ \ifnum\nblines=6\raise5\internote\hbox{\keychar82}%
+ \else\ifnum\nblines=4\raise3\internote\hbox{\keychar82}%
+ \else\raise4\internote\hbox{\keychar82}\fi\fi}
+\def\reverseallabreve{%
+ \ifnum\nblines=6\raise5\internote\hbox{\keychar123}%
+ \else\ifnum\nblines=4\raise3\internote\hbox{\keychar123}
+ \else\raise4\internote\hbox{\keychar123}\fi\fi}
+\def\meterC{% -> 4/4
+ \ifnum\nblines=6\raise5\internote\hbox{\musickeyfont\@lxxxiii}%
+ \else\ifnum\nblines=4\raise3\internote\hbox{\musickeyfont\@lxxxiii}%
+ \else\raise4\internote\hbox{\musickeyfont\@lxxxiii}\fi\fi}
+\def\reverseC{% -> 4/2
+ \ifnum\nblines=6\raise5\internote\hbox{\keychar84}%
+ \else\ifnum\nblines=4\raise3\internote\hbox{\keychar84}%
+ \else\raise4\internote\hbox{\keychar84}\fi\fi}
+\def\meterN#1{%
+ \ifnum\nblines=6\raise3\internote\hbox{\meterfont#1}%
+ \else\ifnum\nblines=4\raise1\internote\hbox{\meterfont#1}%
+ \else\raise2\internote\hbox{\meterfont#1}\fi\fi}
+\def\meterplus{{\keychar57}}
%%% clefs
@@ -4210,15 +4352,6 @@
\def\ldfl#1{\loffset\smallvalue{\dfl{#1}}}
\def\ldsh#1{\loffset\smallvalue{\dsh{#1}}}
-%%% special metersigns
-
-\def\allabreve{\raise4\internote\hbox{\keychar82}} %-> 2/2
-\def\reverseallabreve{\raise4\internote\hbox{\keychar123}}
-\def\meterC{\raise4\internote\hbox{\musickeyfont\@lxxxiii}} %-> 4/4
-\def\reverseC{\raise4\internote\hbox{\keychar84}} %-> 4/2
-\def\meterplus{{\keychar57}}
-\def\meterN#1{\raise2\internote\hbox{\meterfont#1}} % RDT 1.27
-
%%% arpeggio
\def\arpeggio#1#2{\zcharnote{#1}{%
@@ -5159,6 +5292,10 @@
%\resetlayout % no need
\def\nbinstruments{1}
\noinstrum@nt1\s@l@ctinstr\internote\Internote
+\def\tabstringfnt{\ifdim\internote<.95\Internote \fivess % 1.29 RDT
+\else\ifdim\internote<1.19\Internote \sixss
+\else\ifdim\internote<1.43\Internote \eightss
+\else\niness\fi\fi\fi}%
%%%
%
@@ -5292,6 +5429,104 @@
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Macros for tablature. They put numbers on or above the staff lines.%
+% Based on tabdefs.tex by R.J. Gelten %
+% version 1.29 RDT
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newif\iftabstylespace\tabstylespacefalse
+% \tabbox ensures a white background for the tab number in the ps-file
+% so the stafflines don't overwrite the number. Symbols are centered.
+\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}{\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}{\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}{\box0}%
+}
+
+% \tab takes two arguments.
+% #1 is the string number
+% #2 is the symbol to be put on the string
+% the symbols are horizontally centered and a \sk is put behind it,
+% to jump to the position of the next symbol
+\newcount\stringraise
+\def\tab#1#2{%
+ \tabbox{#1}{#2}\sk%
+}
+% left spilling \tab
+\def\ltab#1#2{%
+ \ltabbox{#1}{#2}\sk%
+}
+% right spilling \tab
+\def\rtab#1#2{%
+ \rtabbox{#1}{#2}\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{%
+ \tabbox{#1}{#2}%
+}
+% left spilling \ztab
+\def\zltab#1#2{%
+ \ltabbox{#1}{#2}%
+}
+% right spilling \ztab
+\def\zrtab#1#2{%
+ \rtabbox{#1}{#2}%
+}
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% define a new clefsymbol \tabclef for tablature %
+% 1.29 RDT
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\tabclef{%
+ \setbox0=\hbox{\tabcleffnt T}
+ \setbox1=\vbox{\baselineskip=0.5\baselineskip
+ \hbox to 2\wd0{{\tabcleffnt T}\hfil}
+ \hbox to 2\wd0{{\tabcleffnt A}\hfil}
+ \hbox to 2\wd0{{\tabcleffnt B}\hfil}
+ }
+ \ifnum\nblines=6\lower1.5\internote\box1
+ \else\ifnum\nblines=4\lower3.5\internote\box1\else\lower2.5\internote\box1\fi\fi}
+
+
\let\origin@lwrit@staffs\writ@staffs
\def\writ@staffs{%
\origin@lwrit@staffs