summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-26 22:07:24 +0000
committerKarl Berry <karl@freefriends.org>2017-12-26 22:07:24 +0000
commit700227e76504f7d34cad2c0c3bf6bbc7616f862a (patch)
tree3605caad4139dd7bae2e354f672d833593274db0
parent6ddc203e5368cf1d4108e64c18b0bf6c7d53d176 (diff)
musixtex (26dec17)
git-svn-id: svn://tug.org/texlive/trunk@46141 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/musixtex/musixtex.lua77
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt15
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/README2
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex (renamed from Master/texmf-dist/doc/generic/musixtex/examples/8bitchar.tex)0
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc.pdfbin1301725 -> 1307890 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex10
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex4
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex30
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex2
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex30
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex9
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex1
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdfbin7122 -> 7220 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/musixtex.117
-rw-r--r--Master/texmf-dist/doc/man/man1/musixtex.man1.pdfbin7128 -> 22431 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/musixtex/musixtex.lua77
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixtex.tex66
17 files changed, 228 insertions, 112 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua b/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
index 609c5ffe301..347db605ad8 100755
--- a/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
+++ b/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua
-VERSION = "0.18"
+VERSION = "0.19"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
@@ -28,6 +28,11 @@ VERSION = "0.18"
--[[
ChangeLog:
+
+ version 0.19 2017-12-10 RDT
+ Allow non-standard extensions.
+ Add -M and -A options.
+
version 0.18 2017-06-13 RDT
Allow autosp to generate .ltx files
@@ -131,6 +136,8 @@ Options: -v version
-D dvixx use dvixx as the dvi processor
-c preprocess pmx file using pmxchords
-m stop at pmx
+ -M prepmxx use prepmxx as the mtx preprocessor
+ -A autospx use autospx as the aspc preprocessor
-t stop at tex/mid
-s stop at dvi
-g stop at ps
@@ -189,6 +196,7 @@ local dvips = "dvips -e0"
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
+ autosp = "autosp"
tex = "etex"
musixflx = "musixflx"
dvi = dvips
@@ -313,6 +321,12 @@ function process_option(this_arg)
elseif this_arg == "-m" then
pmx, tex, dvi, ps2pdf = nil,nil,nil,nil
protect.pmx = true
+ elseif this_arg == "-M" then
+ narg = narg+1
+ prepmx = arg[narg]
+ elseif this_arg == "-A" then
+ narg = narg+1
+ autosp = arg[narg]
elseif this_arg == "-q" then
if not tempname then
tempname = tempname or os.tmpname()
@@ -327,41 +341,22 @@ end
function find_file(this_arg)
basename, extension = this_arg:match"(.*)%.(.*)"
- if extension then
extensions = {["mtx"] = true, ["pmx"] = true, ["aspc"] = true, ["tex"] = true, ["ltx"] = true}
- if not extensions[extension] then
- print("!! extension " .. extension .. " unrecognized; valid extensions are mtx|pmx|aspc|tex|ltx.")
- exit_code = exit_code+1
- return
- end
- else
- basename = this_arg
- for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
- if exists (basename .. "." .. ext) then
- extension = ext
- break
- end
- end
- if not extension then
- print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
- exit_code = exit_code+1
- return
- end
- end
- if tex then -- tex output enabled, now select engine
- if tex:match"pdf" then dvi = nil end
- if not dvi then ps2pdf = nil end
- -- .ltx extension will be taken into account later, in `process`
- -- deduce tex/latex from current engine name if -l is not specified
- if not override:match"l" then latex = tex:match"latex" end
- if not force_engine then -- select appropriate default engine
- if latex then
- if dvi==nil then tex = "pdflatex" else tex = "latex" end
- else
- if dvi==nil then tex = "pdfetex" else tex = "etex" end
- end
+ if extensions[extension] then
+ return basename, extension
+ end
+ basename, extension = this_arg, null
+ for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
+ if exists (basename .. "." .. ext) then
+ extension = ext
+ break
end
end
+ if extension == null then
+ print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
+ exit_code = exit_code+1
+ return
+ end
return basename, extension
end
@@ -405,7 +400,7 @@ function preprocess(basename,extension)
end
end
if extension == "aspc" then
- if execute ("autosp " .. basename .. ".aspc" ) == 0 then
+ if execute (autosp .. " " .. basename .. ".aspc" ) == 0 then
if exists ( basename .. ".ltx")
then extension = "ltx"
else extension = "tex"
@@ -564,6 +559,20 @@ repeat
if this_arg:match"^%-" then process_option(this_arg)
else
basename, extension = find_file(this_arg) -- nil,nil if not found
+ if tex then -- tex output enabled, now select engine
+ if tex:match"pdf" then dvi = nil end
+ if not dvi then ps2pdf = nil end
+ -- .ltx extension will be taken into account later, in `process`
+ -- deduce tex/latex from current engine name if -l is not specified
+ if not override:match"l" then latex = tex:match"latex" end
+ if not force_engine then -- select appropriate default engine
+ if latex then
+ if dvi==nil then tex = "pdflatex" else tex = "latex" end
+ else
+ if dvi==nil then tex = "pdfetex" else tex = "etex" end
+ end
+ end
+ end
extension = preprocess(basename, extension)
tex_process(tex,basename,extension)
if basename and io.open(basename..".log") then -- to be printed later
diff --git a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt
new file mode 100644
index 00000000000..399d5a2eed1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-127.txt
@@ -0,0 +1,15 @@
+
+Changes from MusiXTeX 126 to 127:
+
+* introduced \meterN, \xxtuplet
+
+* introduced \nqqb \nqqh \nqqqb \nqqqh abbreviations and
+ synonyms \nqql \nqqu \nqqql \nqqqu
+
+* introduced \hap, \happ analogous to \qap, \qapp
+
+* introduced \hbsk analogous to \hsk
+
+* introduced \bqsk, \bhsk, \btsk analogous to \qsk, \hqsk, \tqsk
+
+* eliminated \ds@oup
diff --git a/Master/texmf-dist/doc/generic/musixtex/README b/Master/texmf-dist/doc/generic/musixtex/README
index a772fbe7c86..db1370c4d72 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.26 (2017-11-15).
+This is MusiXTeX, version 1.27 (2017-12-26).
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/examples/8bitchar.tex b/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex
index 54969d68d02..54969d68d02 100644
--- a/Master/texmf-dist/doc/generic/musixtex/examples/8bitchar.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/examples/eightbitchar.tex
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
index fe7cb5178f0..723a68628ef 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/beams.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex
index 2777cafc822..354906640ed 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/beams.tex
@@ -119,7 +119,7 @@ provide that.}:
\end{verbatim}\end{quote}
%\check
- \section{Ending a beam}
+\section{Ending a beam}
The termination of a given
beam must be declared \ital{before} coding the last spacing note
connected to that beam. The macros for doing that are
@@ -222,6 +222,10 @@ The following abbreviations have been provided:
\item \keyindex{tqqh}\enpee~is equivalent to \verb|\tbbu{|$n$\verb|}\tqh|\enpee
\item \keyindex{tqqqh}\enpee~is equivalent to \verb|\tbbbu{|$n$\verb|}\tqqh|\enpee
\item \keyindex{tqqqb}\enpee~is equivalent to \verb|\tbbbl{|$n$\verb|}\tqqb|\enpee
+ \item \keyindex{nqqb}\enpee~is equivalent to \verb|\tbbl{|$n$\verb|}\qb|\enpee
+ \item \keyindex{nqqh}\enpee~is equivalent to \verb|\tbbu{|$n$\verb|}\qb|\enpee
+ \item \keyindex{nqqqh}\enpee~is equivalent to \verb|\tbbbu{|$n$\verb|}\qb|\enpee
+ \item \keyindex{nqqqb}\enpee~is equivalent to \verb|\tbbbl{|$n$\verb|}\qb|\enpee
\end{description}\end{quote}
and the following
synonyms may be used:
@@ -230,6 +234,10 @@ synonyms may be used:
\keyindex{tqqu} & for & \keyindex{tqqh}\\
\keyindex{tqqql} & for & \keyindex{tqqqb}\\
\keyindex{tqqqu} & for & \keyindex{tqqqh}\\
+\keyindex{nqql} & for & \keyindex{nqqb}\\
+\keyindex{nqqu} & for & \keyindex{nqqh}\\
+\keyindex{nqqql} & for & \keyindex{nqqqb}\\
+\keyindex{nqqqu} & for & \keyindex{nqqqh}\\
\end{tabular}\end{quote}
\medskip
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
index 9c1e58a964c..4e772196c15 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
@@ -1,6 +1,6 @@
\title{\Huge\bfseries\musixtex\\[\bigskipamount]
\LARGE\bfseries Using \TeX{} to write polyphonic\\or
-instrumental music\\\Large\itshape Version 1.26}
+instrumental music\\\Large\itshape Version 1.27}
%\author{\Large\rm Daniel \sc Taupin\\\large\sl
@@ -67,7 +67,7 @@ Since then, the only significant update to \musixtex\ has been in version 1.15 (
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.26.
+\musixtex\ version~1.27.
Novice users need not start here.
Most
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
index 9a909c34389..5b6a5b6f7c3 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
@@ -137,11 +137,12 @@ which will be placed by the first and third through sixth macros,
and is initially defined as \verb|\def\txt{3}|.
The macro
\verb|\tuplettxt| serves the same role for the last two macros.
-The font used is
-\verb|\txtfont| which is by default \verb|\eightit| (in normal music size) but may be re-defined.
-The first four
-are to be used with beamed xtuplets. As indicated in the
-last column, the last four produce a sloping bracket and are to be used with
+The font used is defined by
+\verb|\txtfont| and is, by default, \verb|\eightit| (in normal music size) but may be re-defined.
+
+The first four commands in the table
+are normally used with beamed xtuplets. As indicated in the
+last column, the last four produce a sloping bracket and may be used with
unbeamed xtuplets.
@@ -252,6 +253,25 @@ use the macros without gaps.
\notesp\downtuplet O16\ccu e\en\notesp\cccu g\en
\end{verbatim}\end{quote}
+A modern notation uses a \emph{ratio} to specify the intended duration
+of an x-tuplet. This is supported in \musixtex\ by the command
+\keyindex{xxtuplet}, as in
+
+\begin{music}
+\nostartrule
+\startextract\addspace\afterruleskip
+\notes\xxtuplet5:6o\ibl0j3\qb0{jklm}\tql0n\en
+\endextract
+\end{music}
+
+\noindent with coding \verb|\xxtuplet5:6o\ibl0j3\qb0{jklm}\tql0n|. For the
+other x-tuplet commands (apart from \verb|\triolet|, which is defined in terms of \verb|\xtuplet|),
+it is possible to define \verb|\txt| or
+\verb|\tupletxt| as a ratio, as in
+\begin{quote}\begin{verbatim}
+\def\txt{5:6}
+\end{verbatim}\end{quote}
+
\section{Ornaments}
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
index 87bc2fe59b3..88e3756bf4c 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
@@ -265,7 +265,7 @@ For example, from the input
\Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en
\end{verbatim}
\texttt{autosp} also supports non-standard commands for adding ``global''
-skips (i.e., in every staff) and centered-bar rests.
+skips (i.e., in every staff) and centered whole-bar rests.
As an option, \emph{all} note-spacing commands (except \verb|\znotes|
and \verb|\vnotes|) will be processed similarly; this is useful for correcting
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
index cfac63093f0..da410cc92e5 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/settingup.tex
@@ -160,8 +160,18 @@ where $m$ describes the appearance of the meter indication, and can take several
different forms. If the meter is a \ital{fraction} (e.g.,~$3/4$) the command is
\verb|\generalmeter{|\keyindex{meterfrac}\verb|{3}{4}}|.
Other possible tokens~$m$ are \keyindex{meterC},
-\keyindex{allabreve}, \keyindex{reverseC}, \keyindex{reverseallabreve} and
-\keyindex{meterplus}. These are illustrated in the following example:
+\keyindex{allabreve}, \keyindex{reverseC}, \keyindex{reverseallabreve}, \keyindex{meterN} and
+\keyindex{meterplus}.
+To insert extra space before the meter is
+written, use \keyindex{meterskip}$d$ where $d$ is any hard \TeX\
+%dimension\footnote{{\Bslash\tt meterskip} is not a macro but a
+dimension\footnote{{\tt\Bslash meterskip} is not a macro but a
+dimension register. Whatever follows it
+must be a \TeX\ dimension and {\it it must not be enclosed in braces}.}.
+The assignment must occur outside \verb|\startpiece...\endpiece| and will be
+reset to zero after first meter is posted.
+
+These are illustrated in the following example:
%\check
\begin{music}
@@ -176,7 +186,9 @@ Other possible tokens~$m$ are \keyindex{meterC},
\generalmeter\reverseallabreve\changecontext
\NOTEs\zwq g\en
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
-\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\en\setemptybar
+\notesp\Tqbu ceg\Dqbl jg\Tqbu gec\en
+\generalmeter{\meterN3}\meterskip4pt\changecontext
+\Notes\qa{ceg}\en\setemptybar
\endpiece
\end{music}
\noindent which was coded as:
@@ -192,7 +204,9 @@ Other possible tokens~$m$ are \keyindex{meterC},
\generalmeter\reverseallabreve\changecontext
\NOTEs\zwq g\en
\generalmeter{\meterfrac{3\meterplus2\meterplus3}8}\changecontext
-\Notes\Tqbu ceg\Dqbl jg\Tqbu gec\en\setemptybar
+\notesp\Tqbu ceg\Dqbl jg\Tqbu gec\en
+\generalmeter{\meterN3}\meterskip4pt\changecontext
+\Notes\qa{ceg}\en\setemptybar
\endpiece
\end{verbatim}\end{quote}
@@ -203,14 +217,6 @@ This works just like \verb|\setclef|. For example,
sets the meter to 12/8 for the first staff of the third instrument, and
\ital{alla breve} for the second staff.
-To insert extra space before the meter is
-written, use \keyindex{meterskip}$d$ where $d$ is any hard \TeX\
-%dimension\footnote{{\Bslash\tt meterskip} is not a macro but a
-dimension\footnote{{\tt\Bslash meterskip} is not a macro but a
-dimension register. Whatever follows it
-must be a \TeX\ dimension and {\it it must not be enclosed in braces}.}.
-The assignment must occur outside \verb|\startpiece...\endpiece| and will be
-reset to zero after first meter is posted.
\subsection{Instrument names}
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex
index 0108fb080f5..f4bcf298176 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/spacing.tex
@@ -25,10 +25,15 @@ restarting. For example,
To skip forward
by one half of a \verb|\noteskip|, use \keyindex{hsk}.
+To skip \emph{backward}
+by one or half \verb|\noteskip|, use \keyindex{bsk},
+or \keyindex{hbsk}, respectively.
+
To insert spacing of approximately one note head width, you can use
\keyindex{qsk}, or for two-thirds, half or one-quarter of that, \keyindex{tqsk}, \keyindex{hqsk}
-or \keyindex{qqsk}, respectively. To skip backward
-by one \verb|\noteskip|, use \keyindex{bsk}. More generally,
+or \keyindex{qqsk}, respectively.
+To skip backward one note-head width or two-thirds or half that, use
+\keyindex{bqsk}, \keyindex{btsk} or \keyindex{bhsk}, respectively. More generally,
to skip an arbitrary distance, use \keyindex{off}\verb|{|$D$\verb|}|
where $D$ is any \itxem{scalable dimension}, e.g.,~\verb|\noteskip| or
\verb|\elemskip|. Indeed, if you look in the
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex
index f8656044ea6..7bd5c83375f 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/writingnotes.tex
@@ -218,6 +218,7 @@ macros just introduced provide one or two dots after the notehead:
\keyindex{zwp}, \keyindex{zwpp},
\keyindex{hup}, \keyindex{hupp},
\keyindex{hlp}, \keyindex{hlpp},
+\keyindex{hap}, \keyindex{happ},
\keyindex{zhp}, \keyindex{zhpp},
\keyindex{qup}, \keyindex{qupp},
\keyindex{qlp}, \keyindex{qlpp},
diff --git a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
index a58fc7b32ee..4b99770a501 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/musixtex.1 b/Master/texmf-dist/doc/man/man1/musixtex.1
index 717ec50b84f..32c5fb33e26 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-06-13 "musixtex version 0.18" ""
+.TH MUSIXTEX 1 2017-12-10 "musixtex version 0.19" ""
.SH NAME
musixtex \- processes MusiXTeX files, using pre-processors prepmx, pmxab and autosp as necessary,
@@ -53,7 +53,7 @@ If a jobname argument has a .aspc extension, the file is first preprocessed usin
.BR autosp (1)
and the resulting .tex or .ltx file is processed as above.
.P
-If a jobname argument has no extension, the script will look for a file
+If a jobname argument has none of these extensions, the script will look for a file
.IR jobname .mtx
or
.IR jobname .pmx
@@ -65,7 +65,7 @@ or
.IR jobname .ltx ,
in that order, and process it as above.
.SH OPTIONS
-.TP 8
+.TP 10
.B -v
output program name and version number, and quit
.TP
@@ -107,6 +107,17 @@ as the TeX processor; e.g., -F "luatex --output-format=dvi"
.B -m
stop processing at the pmx file
.TP
+.B -M mtxx
+use
+.B mtxx
+as the mtx preprocessor; e.g., -M "prepmx -i".
+.TP
+.B -A aspcx
+use
+.B aspcx
+as the aspc preprocessor; e.g., -A "autosp -l".
+.TP
+.TP
.B -t
stop processing at the tex/mid files
.TP
diff --git a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
index 13249a66cd9..d578ce36dda 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 609c5ffe301..347db605ad8 100755
--- a/Master/texmf-dist/scripts/musixtex/musixtex.lua
+++ b/Master/texmf-dist/scripts/musixtex/musixtex.lua
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua
-VERSION = "0.18"
+VERSION = "0.19"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
@@ -28,6 +28,11 @@ VERSION = "0.18"
--[[
ChangeLog:
+
+ version 0.19 2017-12-10 RDT
+ Allow non-standard extensions.
+ Add -M and -A options.
+
version 0.18 2017-06-13 RDT
Allow autosp to generate .ltx files
@@ -131,6 +136,8 @@ Options: -v version
-D dvixx use dvixx as the dvi processor
-c preprocess pmx file using pmxchords
-m stop at pmx
+ -M prepmxx use prepmxx as the mtx preprocessor
+ -A autospx use autospx as the aspc preprocessor
-t stop at tex/mid
-s stop at dvi
-g stop at ps
@@ -189,6 +196,7 @@ local dvips = "dvips -e0"
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
+ autosp = "autosp"
tex = "etex"
musixflx = "musixflx"
dvi = dvips
@@ -313,6 +321,12 @@ function process_option(this_arg)
elseif this_arg == "-m" then
pmx, tex, dvi, ps2pdf = nil,nil,nil,nil
protect.pmx = true
+ elseif this_arg == "-M" then
+ narg = narg+1
+ prepmx = arg[narg]
+ elseif this_arg == "-A" then
+ narg = narg+1
+ autosp = arg[narg]
elseif this_arg == "-q" then
if not tempname then
tempname = tempname or os.tmpname()
@@ -327,41 +341,22 @@ end
function find_file(this_arg)
basename, extension = this_arg:match"(.*)%.(.*)"
- if extension then
extensions = {["mtx"] = true, ["pmx"] = true, ["aspc"] = true, ["tex"] = true, ["ltx"] = true}
- if not extensions[extension] then
- print("!! extension " .. extension .. " unrecognized; valid extensions are mtx|pmx|aspc|tex|ltx.")
- exit_code = exit_code+1
- return
- end
- else
- basename = this_arg
- for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
- if exists (basename .. "." .. ext) then
- extension = ext
- break
- end
- end
- if not extension then
- print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
- exit_code = exit_code+1
- return
- end
- end
- if tex then -- tex output enabled, now select engine
- if tex:match"pdf" then dvi = nil end
- if not dvi then ps2pdf = nil end
- -- .ltx extension will be taken into account later, in `process`
- -- deduce tex/latex from current engine name if -l is not specified
- if not override:match"l" then latex = tex:match"latex" end
- if not force_engine then -- select appropriate default engine
- if latex then
- if dvi==nil then tex = "pdflatex" else tex = "latex" end
- else
- if dvi==nil then tex = "pdfetex" else tex = "etex" end
- end
+ if extensions[extension] then
+ return basename, extension
+ end
+ basename, extension = this_arg, null
+ for ext in ("mtx,pmx,aspc,tex,ltx"):gmatch"[^,]+" do
+ if exists (basename .. "." .. ext) then
+ extension = ext
+ break
end
end
+ if extension == null then
+ print("!! No file " .. basename .. ".[mtx|pmx|aspc|tex|ltx]")
+ exit_code = exit_code+1
+ return
+ end
return basename, extension
end
@@ -405,7 +400,7 @@ function preprocess(basename,extension)
end
end
if extension == "aspc" then
- if execute ("autosp " .. basename .. ".aspc" ) == 0 then
+ if execute (autosp .. " " .. basename .. ".aspc" ) == 0 then
if exists ( basename .. ".ltx")
then extension = "ltx"
else extension = "tex"
@@ -564,6 +559,20 @@ repeat
if this_arg:match"^%-" then process_option(this_arg)
else
basename, extension = find_file(this_arg) -- nil,nil if not found
+ if tex then -- tex output enabled, now select engine
+ if tex:match"pdf" then dvi = nil end
+ if not dvi then ps2pdf = nil end
+ -- .ltx extension will be taken into account later, in `process`
+ -- deduce tex/latex from current engine name if -l is not specified
+ if not override:match"l" then latex = tex:match"latex" end
+ if not force_engine then -- select appropriate default engine
+ if latex then
+ if dvi==nil then tex = "pdflatex" else tex = "latex" end
+ else
+ if dvi==nil then tex = "pdfetex" else tex = "etex" end
+ end
+ end
+ end
extension = preprocess(basename, extension)
tex_process(tex,basename,extension)
if basename and io.open(basename..".log") then -- to be printed later
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
index 46685f9c1a4..3891e1d5ca9 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
@@ -25,15 +25,26 @@
\def\mufl@x{0.83}%
\def\mxmajorvernumber{1}
-\def\mxminorvernumber{26}
+\def\mxminorvernumber{27}
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2017-11-15}
+\def\mxdate{2017-12-26}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
+% version 1.27
+
+% introduced \meterN
+% eliminated \ds@oup
+% introduced \nqqb \nqqh \nqqqb \nqqqh abbreviations and
+% synonyms \nqql \nqqu \nqqql \nqqqu
+% introduced \hap, \happ analogous to \qap, \qapp
+% introduced \hbsk analogous to \hsk
+% introduced \bqsk, \bhsk, \btsk analogous to \qsk, \hqsk, \tqsk
+% introduced \xxtuplet
+
% version 1.26
% deleted spurious definition in \resetlayout and
@@ -2804,16 +2815,16 @@
%% and adjusted the kerns RDT
%%
-\def\trebleoct{\trebleclef\raise 9\internote\hbox\@to\z@{\txtfont\kern -3.6\internote 8\hss}}
-\def\bassoct{\bassclef\raise 2\internote\hbox\@to\z@{\txtfont\kern -4.6\internote 8\hss}}
-\def\treblelowoct{\trebleclef\raise -7.5\internote\hbox\@to\z@{\txtfont\kern -4.6\internote 8\hss}}
-\def\basslowoct{\bassclef\raise -6\internote\hbox\@to\z@{\txtfont\kern -5.0\internote 8\hss}}
+\def\trebleoct{\trebleclef\raise 9\internote\hbox\@to\z@{\txtfont{\kern -3.6\internote 8}\hss}}
+\def\bassoct{\bassclef\raise 2\internote\hbox\@to\z@{\txtfont{\kern -4.6\internote 8}\hss}}
+\def\treblelowoct{\trebleclef\raise -7.5\internote\hbox\@to\z@{\txtfont{\kern -4.6\internote 8}\hss}}
+\def\basslowoct{\bassclef\raise -6\internote\hbox\@to\z@{\txtfont{\kern -5.0\internote 8}\hss}}
% [version 1.15] reqest from Hermann Hinsch
-\def\smalltrebleoct{\smalltrebleclef\raise 7.2\internote\hbox\@to\z@{\txtfont\kern -3.6\internote 8\hss}}
-\def\smalltreblelowoct{\smalltrebleclef\raise-6.8\internote\hbox\@to\z@{\txtfont\kern -4.2\internote 8\hss}}
-\def\smallbassoct{\smallbassclef\raise 2\internote\hbox\@to\z@{\txtfont\kern -4.0\internote 8\hss}}
-\def\smallbasslowoct{\smallbassclef\raise-6.5\internote\hbox\@to\z@{\txtfont\kern -4.4\internote 8\hss}}
+\def\smalltrebleoct{\smalltrebleclef\raise 7.2\internote\hbox\@to\z@{\txtfont{\kern -3.6\internote 8}\hss}}
+\def\smalltreblelowoct{\smalltrebleclef\raise-6.8\internote\hbox\@to\z@{\txtfont{\kern -4.2\internote 8}\hss}}
+\def\smallbassoct{\smallbassclef\raise 2\internote\hbox\@to\z@{\txtfont{\kern -4.0\internote 8}\hss}}
+\def\smallbasslowoct{\smallbassclef\raise-6.5\internote\hbox\@to\z@{\txtfont{\kern -4.4\internote 8}\hss}}
% [version 1.15] reqest from Hermann Hinsch: end
@@ -3004,7 +3015,7 @@
\altportee\altitude \advance\altportee\noport@@\interportee
\count@portee \s@l@ctclefs \expandafter\get@refs\the\a@c
\setbox\n@otebox\hbox\bgroup
- \let\rq\rq@ \let\lq\lq@ \let\ds\ds@oup \let\mp\mp@
+ \let\rq\rq@ \let\lq\lq@ \let\mp\mp@ % \let\ds\ds@oup RDT 1.27
\locx@skip\x@skip}
\def\@ndstaff{\egroup % this where \transpose gets reset
@@ -3406,6 +3417,8 @@
\def\h@symbol{\def\q@u{\musixfont\@ight}}
\def\ha{\h@symbol\@qa}
+\def\hap#1{\pt{#1}\ha{#1}} % 1.27 RDT
+\def\happ#1{\ppt{#1}\ha{#1}} % 1.27 RDT
\def\hu{\h@symbol\@qu}
\def\hup{\h@symbol\@qup}
\def\hupp{\h@symbol\@qupp}
@@ -3568,14 +3581,24 @@
\def\tqu{\q@symbol\@tqh} % version 1.16 RDT
\def\tqb{\q@symbol\@tqb}
\def\tql{\q@symbol\@tqb} % version 1.16 RDT
+
\def\tqqh#1#2{\tbbu{#1}\tqh{#1}{#2}} % version 1.17 RDT
-\def\tqqu#1#2{\tbbu{#1}\tqu{#1}{#2}} % version 1.17 RDT
+\def\tqqu{\tqqh} % version 1.17 RDT
\def\tqqb#1#2{\tbbl{#1}\tqb{#1}{#2}} % version 1.17 RDT
-\def\tqql#1#2{\tbbl{#1}\tql{#1}{#2}} % version 1.17 RDT
+\def\tqql{\tqqb} % version 1.17 RDT
\def\tqqqh#1#2{\tbbbu{#1}\tqqh{#1}{#2}} % version 1.17 RDT
-\def\tqqqu#1#2{\tbbbu{#1}\tqqu{#1}{#2}} % version 1.17 RDT
+\def\tqqqu{\tqqqh} % version 1.17 RDT
\def\tqqqb#1#2{\tbbbl{#1}\tqqb{#1}{#2}} % version 1.17 RDT
-\def\tqqql#1#2{\tbbbl{#1}\tqql{#1}{#2}} % version 1.17 RDT
+\def\tqqql{\tqqqb} % version 1.17 RDT
+
+\def\nqqh#1#2{\tbbu{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqb#1#2{\tbbl{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqqh#1#2{\tbbbu{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqqb#1#2{\tbbbl{#1}\qb{#1}{#2}} % version 1.27 RDT
+\def\nqqu{\nqqh} % version 1.27 RDT
+\def\nqql{\nqqb} % version 1.27 RDT
+\def\nqqqu{\nqqqh} % version 1.27 RDT
+\def\nqqql{\nqqqb} % version 1.27 RDT
\def\ztqh{\advancefalse\q@symbol\@tqh}
\def\ztqu{\advancefalse\q@symbol\@tqh} % version 1.16 RDT
@@ -3969,7 +3992,8 @@
\def\qp{\adv@restbox{\check@staff\musixchar62\fi}}
\let\soupir\qp
-\def\ds@oup{\adv@restbox{\check@staff\musixchar63\fi}}
+%\def\ds@oup{\adv@restbox{\check@staff\musixchar63\fi}} % why? RDT 1.27
+\def\ds{\adv@restbox{\check@staff\musixchar63\fi}}
\def\qs{\adv@restbox{\check@staff\musixchar64\fi}}
\def\hs{\adv@restbox{\check@staff\musixchar65\fi}}
\def\qqs{\adv@restbox{\check@staff\musixchar66\fi}}
@@ -4106,6 +4130,7 @@
\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
@@ -4573,6 +4598,9 @@
\sign@skip=0.5\sign@skip \xdef\half@sign@skip{\the\sign@skip}}%
\zcharnote{#2}{\kern\h@lf\qn@width\kern \half@sign@skip\lrlap{\txtfont#1\/\/}}}
\def\triolet{\xtuplet\txt} % version 1.17 RDT
+\def\xxtuplet#1:#2#3{\n@iv#1\advance\n@iv\m@ne {\sign@skip=\n@iv\noteskip
+ \sign@skip=0.5\sign@skip \xdef\half@sign@skip{\the\sign@skip}}%
+ \zcharnote{#3}{\kern\h@lf\qn@width\kern \half@sign@skip\lrlap{\txtfont{#1:#2\/\/}}}}
%
% Following definitions based on tuplet.tex - conventional tuplet brackets for MusiXTeX.
@@ -4764,7 +4792,8 @@
\def\off#1{\advance\locx@skip#1\kern#1}
\def\sk{\off\noteskip}
\def\hsk{\off{\h@lf\noteskip}}
-\def\bsk{\off{-\noteskip}}
+\def\bsk{\off{-\noteskip}}
+\def\hbsk{\off{-\h@lf\noteskip}} % version 1.27 RDT
%%
% Redefine \qsk to be scaleable softwidth rather than a fixed kern
@@ -4775,6 +4804,9 @@
\def\hqsk{\off{\h@lf\@l@mskip}}
\def\tqsk{\off{\p@seven\@l@mskip}} % version 1.25 RDT
\def\qsk{\off\@l@mskip}
+\def\bhsk{\off{-\h@lf\@l@mskip}} % version 1.27 RDT
+\def\btsk{\off{-\p@seven\@l@mskip}} % version 1.27 RDT
+\def\bqsk{\off-\@l@mskip} % version 1.27 RDT
\def\nspace{\hardspace{\h@lf\qn@width}}
\def\qspace{\hardspace\qn@width}