texlive[48353] trunk: musixtex (5aug18)

commits+karl at tug.org commits+karl at tug.org
Sun Aug 5 23:01:41 CEST 2018


Revision: 48353
          http://tug.org/svn/texlive?view=revision&revision=48353
Author:   karl
Date:     2018-08-05 23:01:41 +0200 (Sun, 05 Aug 2018)
Log Message:
-----------
musixtex (5aug18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
    trunk/Master/texmf-dist/doc/generic/musixtex/README
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdf
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex
    trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
    trunk/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
    trunk/Master/texmf-dist/doc/man/man1/musixflx.1
    trunk/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/musixtex.1
    trunk/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
    trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua
    trunk/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex
    trunk/Master/texmf-dist/tex/generic/musixtex/musixeng.tex
    trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt

Modified: trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 at cs.queensu.ca
+     (c) Copyright 2011-2018 Bob Tennent rdt at cs.queensu.ca
                              and Dirk Laurie dirk.laurie at gmail.com
 
      This program is free software; you can redistribute it and/or modify it
@@ -29,6 +29,12 @@
 
   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 @@
          -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 @@
     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 @@
 
 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 

Added: trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt	2018-08-05 21:01:41 UTC (rev 48353)
@@ -0,0 +1,6 @@
+
+Changes from MusiXTeX 128 to 129:
+
+ * introduced support for tablature notation: \tabfnt,
+   \tabcleffnt, \tabstringfnt, \tabstylespace, \tab, \ztab,
+   etc.


Property changes on: trunk/Master/texmf-dist/doc/generic/musixtex/ChangeLog-129.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/generic/musixtex/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/README	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/README	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 @@
 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 @@
 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

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -760,7 +760,7 @@
 \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 @@
 \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 @@
 \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}.

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/musixdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -85,7 +85,8 @@
 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 @@
 $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

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesTypeK.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -58,7 +58,12 @@
 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
 \keyindex{tfslur}0f; a bit higher, \keyindex{thslur}0f; higher still,

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc/slurstiesfont.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -236,28 +236,47 @@
 
 \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
 of a slur or tie. The first parameter $h$
 is the vertical deviation and it works exactly like the sole parameter of
@@ -289,12 +308,8 @@
 \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}

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/musixflx.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/musixflx.1	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/man/man1/musixflx.1	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 @@
 .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

Modified: trunk/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/musixtex.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/musixtex.1	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/doc/man/man1/musixtex.1	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 @@
 | 
 .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 @@
 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 

Modified: trunk/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/scripts/musixtex/musixtex.lua	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 at cs.queensu.ca
+     (c) Copyright 2011-2018 Bob Tennent rdt at cs.queensu.ca
                              and Dirk Laurie dirk.laurie at gmail.com
 
      This program is free software; you can redistribute it and/or modify it
@@ -29,6 +29,12 @@
 
   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 @@
          -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 @@
     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 @@
 
 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 

Modified: trunk/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/tex/generic/musixtex/musixcpt.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 at oup
-\let\demisoupir\ds at oup
+\let\dsoupir\ds
+\let\demisoupir\ds
 \let\qsoupir\qs
 \let\quartsoupir\qs
 \let\hsoupir\hs

Modified: trunk/Master/texmf-dist/tex/generic/musixtex/musixeng.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/musixtex/musixeng.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/tex/generic/musixtex/musixeng.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -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 at oup
+\let\er\ds  % \ds\oup no longer available
 \let\eer\qs
 \let\eeer\hs
 \let\eeeer\qqs

Modified: trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex	2018-08-05 21:00:56 UTC (rev 48352)
+++ trunk/Master/texmf-dist/tex/generic/musixtex/musixtex.tex	2018-08-05 21:01:41 UTC (rev 48353)
@@ -25,15 +25,20 @@
 
 \def\mufl at 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,7 +651,10 @@
 \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 at box
 \newcount\musicsize
 \newdimen\qd at 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 at 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 at specifics{\comput at fonts\comput at sizes}
@@ -2620,10 +2705,31 @@
 
 % write colons on all staffs (a part of [left][right]repeat symbols
 
+%\def\writ at colons{\n at loop{\w at coli}\repeat}
+
+
+
 \def\writ at colons{\n at loop{\w at coli}\repeat}
 \def\w at coli{\p at loop
-  \raise\altportee\hbox{\raise4\internote\hbox{\keychar55}}\count at portee\repeat}
+  {\ifnum\nblines=6\tabc at lsix%
+   \else\ifnum\nblines=4\tabc at lfour%
+   \else\raise\altportee\hbox{\raise4\internote\hbox{\keychar55}}\fi\fi}\count at portee\repeat}
 
+%%%%   1.29  RDT
+\def\tabc at 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 at 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 at full#1{\raise\altplancher\rlap{\vrule\@depth\hlthick
@@ -2847,10 +2953,46 @@
 \def\writ at 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 at box\vbox{\hbox{\ \meterfont#1}%
-  \hbox{\ \meterfont #2}}\vbox\@to\@ight\internote{\offinterlineskip
-  \vss\hbox\@to\wd\toks at box{\hss\meterfont#1\hss}\vss
-  \vss\hbox\@to\wd\toks at box{\hss\meterfont#2\hss}\vss}}
+\def\meterfrac#1#2{%
+  \ifnum\nblines=6% 
+    \setbox\toks at box\vbox{\hbox{~\meterfont#1}%
+    \hbox{~\meterfont #2}}\raise\internote%
+    \vbox\@to\@ight\internote{\offinterlineskip%
+    \vss\hbox\@to\wd\toks at box{\hss\meterfont#1\hss}\vskip1.5\internote%
+    \vss\hbox\@to\wd\toks at box{\hss\meterfont#2\hss}\vss}%
+  \else\ifnum\nblines=4%
+    \setbox\toks at box\vbox{\hbox{\ \meterfont#1}%
+    \hbox{\ \meterfont #2}}\raise-1\internote\vbox\@to\@ight\internote{\offinterlineskip
+    \vss\hbox\@to\wd\toks at box{\hss\meterfont#1\hss}\vss
+    \vss\hbox\@to\wd\toks at box{\hss\meterfont#2\hss}\vss}
+  \else 
+    \setbox\toks at box\vbox{\hbox{\ \meterfont#1}%
+    \hbox{\ \meterfont #2}}\vbox\@to\@ight\internote{\offinterlineskip
+    \vss\hbox\@to\wd\toks at box{\hss\meterfont#1\hss}\vss
+    \vss\hbox\@to\wd\toks at 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 at nt1\s at 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 at 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 at 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 at 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 at lwrit@staffs\writ at staffs
 \def\writ at staffs{%
   \origin at lwrit@staffs



More information about the tex-live-commits mailing list