summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
l---------Master/bin/alpha-linux/m-tx1
l---------Master/bin/amd64-freebsd/m-tx1
l---------Master/bin/amd64-netbsd/m-tx1
l---------Master/bin/armel-linux/m-tx1
l---------Master/bin/armhf-linux/m-tx1
l---------Master/bin/i386-cygwin/m-tx1
l---------Master/bin/i386-freebsd/m-tx1
l---------Master/bin/i386-linux/m-tx1
l---------Master/bin/i386-netbsd/m-tx1
l---------Master/bin/i386-solaris/m-tx1
l---------Master/bin/powerpc-linux/m-tx1
l---------Master/bin/sparc-solaris/m-tx1
l---------Master/bin/universal-darwin/m-tx1
l---------Master/bin/x86_64-cygwin/m-tx1
l---------Master/bin/x86_64-darwin/m-tx1
l---------Master/bin/x86_64-linux/m-tx1
l---------Master/bin/x86_64-solaris/m-tx1
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/Makefile43
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/README52
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/README.devel115
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/borup.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/borup.mtx)4
-rwxr-xr-xMaster/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua59
-rwxr-xr-xMaster/texmf-dist/doc/generic/m-tx/buildzip.lua3
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/chord.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/chord.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/dertod.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/dertod.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/dona.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/dona.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/dwoman.mta (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/dwoman.mta)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/dwoman.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/dwoman.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/halleluja.ltx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/halleluja.ltx)1
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/halleluja.pdfbin0 -> 146391 bytes
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/hallelujashort.ltx21
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/kanons.ltx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/kanons.ltx)2
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/kanons.pdfbin0 -> 43265 bytes
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/kroonhom.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/kroonhom.mtx)6
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/loofnou.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/loofnou.mtx)3
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/lyrics.tex (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/lyrics.tex)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/m-tx.html191
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/macro.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/macro.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/make-dvi (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/make-dvi)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/make-pdf (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/make-pdf)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/make-target (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/make-target)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma.mta (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma.mta)4
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma1.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma1.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma2.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma2.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma3.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma3.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma4.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma4.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma5.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma5.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/melisma6.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/melisma6.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/meter.mtx10
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mozart.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/mozart.mtx)2
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mozart0.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/mozart0.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtx-install.pdfbin90120 -> 30384 bytes
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtx-install.tex49
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtx060.pdfbin392612 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtx060/Makefile113
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc73
-rwxr-xr-xMaster/texmf-dist/doc/generic/m-tx/mtx060/docversion1
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtx060/meter.mtx10
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtxdoc.ltx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/mtxdoc.tex)571
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtxdoc.pdfbin0 -> 345086 bytes
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtxdoc.sty (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/mtxdoc.sty)8
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtxindex.tex (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/mtxindex.tex)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/mtxlatex.sty (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/mtxlatex.sty)9
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/netfirst.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/netfirst.mtx)1
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/netsoos.mta (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos.mta)1
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/netsoos1.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos1.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/netsoos2.mtb (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos2.mtb)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/notes.tex (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/notes.tex)0
-rwxr-xr-xMaster/texmf-dist/doc/generic/m-tx/pdfcat (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/pdfcat)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/pmx.tex807
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/prepmx.html166
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/prepmx.pdfbin0 -> 5313 bytes
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/psalm42.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/psalm42.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/sanctus.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/sanctus.mtx)2
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/title.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/title.mtx)3
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/title1.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/title1.mtx)2
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/viva.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/viva.mtx)0
-rw-r--r--Master/texmf-dist/doc/generic/m-tx/volta.mtx (renamed from Master/texmf-dist/doc/generic/m-tx/mtx060/volta.mtx)0
-rw-r--r--Master/texmf-dist/doc/man/man1/m-tx.1113
-rw-r--r--Master/texmf-dist/doc/man/man1/m-tx.man1.pdfbin5138 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/prepmx.155
-rw-r--r--Master/texmf-dist/doc/man/man1/prepmx.man1.pdfbin6271 -> 21480 bytes
-rw-r--r--Master/texmf-dist/tex/generic/m-tx/mtx.tex117
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/m-tx.tlpsrc2
85 files changed, 1539 insertions, 1098 deletions
diff --git a/Master/bin/alpha-linux/m-tx b/Master/bin/alpha-linux/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/alpha-linux/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/amd64-freebsd/m-tx b/Master/bin/amd64-freebsd/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/amd64-freebsd/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/amd64-netbsd/m-tx b/Master/bin/amd64-netbsd/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/amd64-netbsd/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/armel-linux/m-tx b/Master/bin/armel-linux/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/armel-linux/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/armhf-linux/m-tx b/Master/bin/armhf-linux/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/armhf-linux/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/i386-cygwin/m-tx b/Master/bin/i386-cygwin/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/i386-cygwin/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/i386-freebsd/m-tx b/Master/bin/i386-freebsd/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/i386-freebsd/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/i386-linux/m-tx b/Master/bin/i386-linux/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/i386-linux/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/i386-netbsd/m-tx b/Master/bin/i386-netbsd/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/i386-netbsd/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/i386-solaris/m-tx b/Master/bin/i386-solaris/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/i386-solaris/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/powerpc-linux/m-tx b/Master/bin/powerpc-linux/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/powerpc-linux/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/m-tx b/Master/bin/sparc-solaris/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/sparc-solaris/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/universal-darwin/m-tx b/Master/bin/universal-darwin/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/universal-darwin/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/x86_64-cygwin/m-tx b/Master/bin/x86_64-cygwin/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/x86_64-cygwin/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/x86_64-darwin/m-tx b/Master/bin/x86_64-darwin/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/x86_64-darwin/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/x86_64-linux/m-tx b/Master/bin/x86_64-linux/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/x86_64-linux/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/bin/x86_64-solaris/m-tx b/Master/bin/x86_64-solaris/m-tx
deleted file mode 120000
index cb99ed8f557..00000000000
--- a/Master/bin/x86_64-solaris/m-tx
+++ /dev/null
@@ -1 +0,0 @@
-../../texmf-dist/scripts/m-tx/m-tx.lua \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/m-tx/Makefile b/Master/texmf-dist/doc/generic/m-tx/Makefile
new file mode 100644
index 00000000000..90b2080f029
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/Makefile
@@ -0,0 +1,43 @@
+# Makefile for the M-Tx documentation
+
+default:
+ texlua buildmtxdoc.lua
+halleluja:
+ texlua buildmtxdoc.lua halleluja
+kanons:
+ texlua buildmtxdoc.lua kanons
+PHONY: default hallelua kanons
+
+support = Makefile make-dvi make-pdf make-target pdfcat \
+ buildmtxdoc.lua buildzip.lua
+
+sources = mtxdoc.ltx mtxdoc.sty mtxlatex.sty mozart0.mtx mozart.mtx\
+ netfirst.mtx meter.mtx dertod.mtx volta.mtx title.mtx title1.mtx\
+ psalm42.mtx netsoos1.mtb notes.tex lyrics.tex\
+ netsoos2.mtb borup.mtx melisma1.mtb dwoman.mtb \
+ melisma2.mtb melisma3.mtb melisma4.mtb melisma5.mtb melisma6.mtb \
+ dwoman.mta melisma.mta netsoos.mta kroonhom.mtx loofnou.mtx \
+ viva.mtx dona.mtx sanctus.mtx halleluja.ltx kanons.ltx chord.mtx \
+ macro.mtx
+
+nonsources = borup.tex chord.tex dertod.tex dwoman.tex macro.tex\
+ melisma1.tex melisma2.tex melisma3.tex melisma4.tex melisma5.tex\
+ melisma6.tex meter.tex mozart.tex mozart0.tex netfirst.tex\
+ netsoos1.tex netsoos2.tex psalm42.tex title1.tex title.tex volta.tex\
+ mtxdoc.aux mtxdoc.ind mtxdoc.toc mtxdoc.pdf halleluja.pdf kanons.pdf\
+ dona.tex halleluja.aux halleluja.toc kanons.aux kroonhom.tex\
+ loofnou.tex musixtex.log sanctus.tex viva.tex
+
+zip:
+ texlua buildzip.lua $(sources) $(support) README
+
+clean:
+ - rm dwoman.mtx netsoos?.mtx melisma?.mtx *.pm?
+
+bare: clean
+ - rm $(nonsources)
+
+commit: clean
+ git add $(sources) $(support)
+
+
diff --git a/Master/texmf-dist/doc/generic/m-tx/README b/Master/texmf-dist/doc/generic/m-tx/README
index 661754100f6..ea4d305f859 100644
--- a/Master/texmf-dist/doc/generic/m-tx/README
+++ b/Master/texmf-dist/doc/generic/m-tx/README
@@ -1,36 +1,38 @@
-This is M-Tx (Music-from-TeXt), version 0.60d (2013-12-24).
+This is M-Tx (Music-from-TeXt), version 0.62 (2016-02-08).
-M-Tx is a preprocessor for PMX that facilitates inputting lyrics. It
-builds the PMX input file based on a language very similar to PMX. M-Tx
-includes most of PMX's functionality, but it also permits in-line PMX
-commands to give access to virtually all of PMX.
+M-Tx is a preprocessor for PMX that facilitates inputting
+lyrics. It builds the PMX input file based on a language
+very similar to PMX. M-Tx includes most of PMX's
+functionality, but it also permits in-line PMX commands to
+give access to virtually all of PMX.
-The author of M-Tx is Dirk Laurie (dpl@sun.ac.za).
+The author of M-Tx is Dirk Laurie (dirk.laurie@gmail.com).
To install (on TDS-compliant TeX systems):
- + unzip tex-archive/install/m-tx.tds.zip at the root of a texmf tree and,
- if necessary, update the filename database; e.g., texhash texmf.
- Documentation for M-Tx is installed under doc/generic/tmx. You must use
- an unzipping program that converts text files to the text-file format of
- your platform, such as "unzip -a ... " on Linux.
+ + unzip tex-archive/install/m-tx.tds.zip at the root of
+ a texmf tree and, if necessary, update the filename
+ database; e.g., texhash texmf. Documentation for M-Tx
+ is installed under doc/generic/tmx. You must use an
+ unzipping program that converts text files to the
+ text-file format of your platform, such as "unzip -a ...
+ " on Linux.
+ *either* copy the executables appropriate for your
- platform (Windows, OSX) to a folder on the executable PATH
- and ensure it has execute permission
+ platform (Windows/32bit, Windows/64bit, OSX) to a
+ folder on the executable PATH and ensure it has execute
+ permission
- + *or* on any Unix-like system with gcc and standard development tools
- installed: unpack mtx-0.60d.tar.gz (anywhere), move to the resulting
- mtx-0.60d directory, and do
+ + *or* on any Unix-like system with gcc and standard
+ development tools installed: unpack mtx-0.61.tar.gz
+ (anywhere), move to the resulting mtx-0.61 directory,
+ and do
./configure [--prefix=$HOME]
- make (or make -f Makefile.orig if you have fpc installed)
+ make (or make -f Makefile.orig if you have fpc installed)
make install (as root, if necessary)
- Then install a symbolic link m-tx in any directory on the executable
- PATH to scripts/m-tx/m-tx.lua
-
-Documentation for M-Tx and the wrapper script is installed under
+Documentation for M-Tx is installed under
doc/generic/m-tx
@@ -42,10 +44,10 @@ http://icking-music-archive.org/
Support for users of MusiXTeX and related software may be obtained via
the MusiXTeX mail list at
-http://tug.org/mailman/listinfo/tex-music
+http://tug.org/mailman/listinfo/tex-music
-M-Tx may be freely copied, duplicated and used in conformance to the
-GNU General Public License (Version 2, 1991, see included file gpl.txt).
+M-Tx may be freely copied, duplicated and used in
+conformance to the MIT License; see included file LICENSE.
This CTAN distribution is maintained by Bob Tennent (rdt@cs.queensu.ca).
-Dec. 12th, 2013
+Feb. 8th, 2016
diff --git a/Master/texmf-dist/doc/generic/m-tx/README.devel b/Master/texmf-dist/doc/generic/m-tx/README.devel
new file mode 100644
index 00000000000..d889d93a758
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/README.devel
@@ -0,0 +1,115 @@
+M-Tx Documentation Package
+==========================
+
+This is the development version of the M-Tx documentation. It contains
+all the sources for generating the Users's Manual (`mtxdoc.pdf`), its
+index (`mtxindex.pdf`), both together (`mtx.pdf`) and two sample music
+documents (`halleluja.pdf`, `kanons.pdf`).
+
+I'm assuming a fairly recent TeX installation that has Bob Tennent's driver
+programs `musixtex` and `m-tx`. TeXLive 2013 will do. If you install via
+`apt-get`, the `m-tx` package will install all the prerequisites too.
+'pdftk' will be used if available but you can get by without it.
+
+Everything after the "Quick Start" section is outdated.
+
+Dirk Laurie `<dirk.laurie@gmail.com>`
+
+Quick Start
+-----------
+
+You probably got this code in one of two ways (`061` may be different):
+
+ unzip -a mtxD061.zip
+
+ git clone https://github.com/dlaurie/M-Tx
+
+In either case, your working directory must be the one containing this
+file. If you have GNU make, issue the command
+
+ make
+
+Messages will flit by, hopefully ending in
+
+ Output written on mtxindex.pdf (3 pages, 54045 bytes).
+ Transcript written on mtxindex.log.
+
+and a new copy of the file mtx.pdf will be available.
+
+To make the examples, respectively do
+
+ make halleluja
+ make kanons
+
+If you do not have GNU Make, execute the commands found at the top
+of the Makefile by entering them in a command shell.
+
+Using the Makefile instead
+--------------------------
+
+There is legacy code in the Makefile for making `dvi`, `ps`, or `lj`
+options of the documentation files. This code does not require the
+aforementioned driver programs.
+
+Via DVI files
+-------------
+
+You can make any of the four file formats. Type
+
+ make dvitarget && make config
+
+to configure the option. Make sure that everything looked for was found.
+You can then choose between:
+
+ make Makes mtx.dvi (and mtxdoc.dvi, mtxindex.dvi on the way there)
+ make all Make .dvi files.
+ make ps Make .dvi and .ps files
+ make pdf Make .dvi, .ps and .pdf files
+ make ?.lj Make the specified .lj file
+
+Via PDF files
+-------------
+
+Type
+
+ make pdftarget && make config
+
+to configure the option. Make sure that everything looked for was found.
+You can then choose between:
+
+--------- --------------------------------------------------------------
+make Makes mtx.pdf (and mtxdoc.pdf, mtxindex.pdf on the way there)
+make all Make .pdf files.
+make ps Make .pdf and .ps files
+--------- --------------------------------------------------------------
+
+You don't have the option of making .dvi or .lj files.
+
+FAQ - Frequently Asked Questions
+--------------------------------
+
+1. I get "make: ./prepmx: Command not found".
+
+ A: You have omitted the `make config` step.
+
+2. I have configured, but the make still fails.
+
+ A: Look at the screen output from `make config`. Make sure that
+ there is a file name after each `...`.
+
+3. Is there any difference between the `.pdf` and `.ps` files made by the
+ two options?
+
+ A: Yes. If you go by the second route, slurs tend to look smoother
+ and certain additional slur shapes are possible; see the PMX manual.
+ Also, the two versions look a little different on a low-resolution
+ monitor, but apart from slurs, should be virtually indistinguishable
+ when printed.
+
+4. What are the prerequisites?
+
+ A: You need to have MusiXTEX, PMX, musixlyr and M-Tx already installed.
+ If all that does not give you Ghostscript, you can still build
+ everything except `mtx.pdf`.
+
+
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/borup.mtx b/Master/texmf-dist/doc/generic/m-tx/borup.mtx
index 0f00f9712a5..d67cbf24fb6 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/borup.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/borup.mtx
@@ -4,9 +4,9 @@ Flats: 1
Style: Singer
Systems: 2
Space: 10
+TeX: \let\endpiecesav\endpiece
+TeX: \def\endpiece{\endpiecesav\input lyrics \input notes}
-%% \\let\endpiecesav\endpiece\
-%% \\def\endpiece{\endpiecesav\input lyrics \input notes}\
( d4 e ) g | ( d e ) g | ( f e ) f | d2 r4 |
L: In ver-na-lis tem-po-ris
L: Dum re-ces-sum fri-go-ris
diff --git a/Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua b/Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua
new file mode 100755
index 00000000000..6d4cb2b6e35
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/buildmtxdoc.lua
@@ -0,0 +1,59 @@
+#! /usr/bin/texlua
+-- buildmtxdoc.lua © Dirk Laurie 2015 MIT license
+-- Build M-Tx documentation from scratch.
+
+local project = {halleluja = "-t kroonhom loofnou -f -q -p halleluja";
+kanons = "-t viva dona sanctus -f -q -p kanons";
+mtxdoc = "-t borup chord dertod dwoman macro"..
+" melisma1 melisma2 melisma3 melisma4 melisma5 melisma6"..
+" meter mozart mozart0 netfirst netsoos1 netsoos2 psalm42 title title1 volta"..
+" -f -x -q -p mtxdoc"}
+
+local sys = function(...)
+ print(...)
+ return(os.execute(...))
+end
+
+local cat = function(target,...)
+ local result = io.open(target,'w')
+ for k=1,select('#',...) do
+ for line in io.open((select(k,...))):lines() do
+ result:write(line,"\n")
+ end
+ end
+ result:close()
+end
+
+local make_examples = function()
+ cat("dwoman.mtx","dwoman.mta","dwoman.mtb")
+ for k=1,2 do
+ mtxname = ("netsoos%d.mtx"):format(k)
+ cat(mtxname,"netsoos.mta",("netsoos%d.mtb"):format(k))
+ end
+ for k=1,6 do
+ mtxname = ("melisma%d.mtx"):format(k)
+ cat(mtxname,"melisma.mta",("melisma%d.mtb"):format(k))
+ end
+end
+
+local build_project = function(target)
+ if target == "mtxdoc" then
+ make_examples()
+ end
+ sys("musixtex -q "..project[target])
+end
+
+-- Main program
+
+if type(arg)~='table' or not arg[1] then build_project"mtxdoc"
+elseif project[arg[1]] then build_project(arg[1])
+else print[[
+This is buildmtxdoc version 0.1.
+Usage: [texlua] buildmtx.lua [project]
+Projects:
+ mtxdoc
+ halleluja
+ kanons
+
+If no project is specified, "mtxdoc" is built.]]
+end
diff --git a/Master/texmf-dist/doc/generic/m-tx/buildzip.lua b/Master/texmf-dist/doc/generic/m-tx/buildzip.lua
new file mode 100755
index 00000000000..8d9c036c842
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/buildzip.lua
@@ -0,0 +1,3 @@
+os.execute ("zip mtxD" ..
+ io.open"mtxdoc.ltx":read"*a":match"versionname{(.-)}":gsub("%.","")
+ .. " " .. table.concat(arg," "))
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/chord.mtx b/Master/texmf-dist/doc/generic/m-tx/chord.mtx
index a5b0ca6a798..a5b0ca6a798 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/chord.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/chord.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/dertod.mtx b/Master/texmf-dist/doc/generic/m-tx/dertod.mtx
index 26cbd7b43e8..26cbd7b43e8 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/dertod.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/dertod.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/dona.mtx b/Master/texmf-dist/doc/generic/m-tx/dona.mtx
index 2921ad5a387..2921ad5a387 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/dona.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/dona.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/dwoman.mta b/Master/texmf-dist/doc/generic/m-tx/dwoman.mta
index 77f00c576b4..77f00c576b4 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/dwoman.mta
+++ b/Master/texmf-dist/doc/generic/m-tx/dwoman.mta
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/dwoman.mtb b/Master/texmf-dist/doc/generic/m-tx/dwoman.mtb
index c9003cbf5bf..c9003cbf5bf 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/dwoman.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/dwoman.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/halleluja.ltx b/Master/texmf-dist/doc/generic/m-tx/halleluja.ltx
index 4b09e89f67b..86a8538e3e6 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/halleluja.ltx
+++ b/Master/texmf-dist/doc/generic/m-tx/halleluja.ltx
@@ -1,5 +1,4 @@
\documentclass[a4paper]{article}
-\usepackage{etex}
\usepackage{mtxlatex,times}
\mtxlatex
\pagestyle{headings}
diff --git a/Master/texmf-dist/doc/generic/m-tx/halleluja.pdf b/Master/texmf-dist/doc/generic/m-tx/halleluja.pdf
new file mode 100644
index 00000000000..35ae350ac5f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/halleluja.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/m-tx/hallelujashort.ltx b/Master/texmf-dist/doc/generic/m-tx/hallelujashort.ltx
new file mode 100644
index 00000000000..031bb61a188
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/hallelujashort.ltx
@@ -0,0 +1,21 @@
+\documentclass[a4paper]{article}
+\usepackage{mtxlatex,times}
+\pagestyle{headings}
+\title{ {\Huge Halleluja!\\ [2ex]}
+ {\Large\textit{Anthems for unaccompanied church choir (SATB)}\\ [5ex]}}
+\author{\Large Edited by Dirk Laurie}
+\date{}
+\let\Writebarno\writebarno
+\begin{document}
+ \maketitle
+ \thispagestyle{empty}
+ \tableofcontents
+\pagebreak
+
+\def\writebarno{\vbox to 24pt{}{\Writebarno}}
+\begin{Score} {Kroon Hom!} {kroonhom} \end{Score}
+\def\writebarno{\vbox to 16pt{}{\Writebarno}}
+\begin{Score} {Loof nou die Heer} {loofnou} \end{Score}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/kanons.ltx b/Master/texmf-dist/doc/generic/m-tx/kanons.ltx
index 973ce3f982e..f85c5b92997 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/kanons.ltx
+++ b/Master/texmf-dist/doc/generic/m-tx/kanons.ltx
@@ -1,7 +1,5 @@
\documentclass{article}
-\usepackage{etex}
\usepackage{mtxlatex,charter}
-\mtxlatex
\pagestyle{empty}
\renewcommand{\writebarno}{\rule{0pt}{12pt}}
\begin{document}
diff --git a/Master/texmf-dist/doc/generic/m-tx/kanons.pdf b/Master/texmf-dist/doc/generic/m-tx/kanons.pdf
new file mode 100644
index 00000000000..41d1fd4d9c4
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/kanons.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/kroonhom.mtx b/Master/texmf-dist/doc/generic/m-tx/kroonhom.mtx
index 3908d39d43c..cca8c4e84e0 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/kroonhom.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/kroonhom.mtx
@@ -4,9 +4,9 @@ Style: SATB
Pages: 3
Systems: 14
Space: 0 4
-% %\font\tensf=cmss10 \tensf
-
-%% h280m w193m
+Height: 280mm
+Width: 193mm
+
% 0
f | b2 r4 b | d2 r4 d | { f0 | f2 } r4 || f- | fd f8 [ g a ] [ b c ] |
L: Kroon Hom, kroon Hom, kroon Hom! Rond-om die troon van
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/loofnou.mtx b/Master/texmf-dist/doc/generic/m-tx/loofnou.mtx
index be0289f32c1..18fb5ca410d 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/loofnou.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/loofnou.mtx
@@ -4,8 +4,9 @@ Style: SATB
Pages: 2
Systems: 10
Space: 2
+Height: 280mm
+Width: 193mm
-%% h280m w193m
g e8.g c2 | c4 b8.a g2 |
e c8.e e2 | a4 g8.f e2 |
L: Loof nou die Heer, loof nou die Heer,
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/lyrics.tex b/Master/texmf-dist/doc/generic/m-tx/lyrics.tex
index d9ee84a1ee5..d9ee84a1ee5 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/lyrics.tex
+++ b/Master/texmf-dist/doc/generic/m-tx/lyrics.tex
diff --git a/Master/texmf-dist/doc/generic/m-tx/m-tx.html b/Master/texmf-dist/doc/generic/m-tx/m-tx.html
deleted file mode 100644
index ec976065e2e..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/m-tx.html
+++ /dev/null
@@ -1,191 +0,0 @@
-Content-type: text/html
-
-<HTML><HEAD><TITLE>Manpage of m-tx</TITLE>
-</HEAD><BODY>
-<H1>m-tx</H1>
-Section: (1)<BR>Updated: 2013-12-11<BR><A HREF="#index">Index</A>
-<A HREF="http://localhost/cgi-bin/man/man2html">Return to Main Contents</A><HR>
-
-<P>
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-m-tx - This script processes mtx files then deletes intermediate files
-<P>
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-[ texlua ]
-<B>m-tx[.lua]</B>
-
-{
-<I>option</I>
-
-|
-<I>jobname</I>
-
-[ .mtx ]
-} ...
-<DL COMPACT>
-<DT>The default effect is to process each file using <DD>
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+prepmx">prepmx</A></B>(1)
-
-<DD>
-(pre-pre-processing pass)
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+pmxab">pmxab</A></B>(1)
-
-<DD>
-(pre-processing pass)
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+etex">etex</A></B>(1)
-
-<DD>
-(first pass)
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+musixflx">musixflx</A></B>(1)
-
-<DD>
-(second pass)
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+etex">etex</A></B>(1)
-
-<DD>
-(third pass)
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvips">dvips</A></B>(1)
-
-<DD>
-(dvi to Postscript)
-<DT><B><A HREF="http://localhost/cgi-bin/man/man2html?1+ps2pdf">ps2pdf</A></B>(1)
-
-<DD>
-(Postscript to Portable Document Format)
-<DT>followed by removal of intermediate files.<DD>
-<P>
-</DL>
-<A NAME="lbAD">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-v </B>
-
-<DD>
-output program name and version number, and quit
-<DT><B>-h</B>
-
-<DD>
-output usage summary and quit
-<DT><B>-l </B>
-
-<DD>
-changes the TeX processor to
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+latex">latex</A></B>(1)
-
-or
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pdflatex">pdflatex</A></B>(1)
-
-<DT><B>-p </B>
-
-<DD>
-changes the TeX processor to
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pdfetex">pdfetex</A></B>(1)
-
-or
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pdflatex">pdflatex</A></B>(1)
-
-(and doesn't run
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvips">dvips</A></B>(1)
-
-and
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+ps2pdf">ps2pdf</A></B>(1)
-
-or
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvipdfm">dvipdfm</A></B>(1)
-
-)
-<DT><B>-d </B>
-
-<DD>
-changes the dvi processor to
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvipdfm">dvipdfm</A></B>(1)
-
-<DT><B>-c</B>
-
-<DD>
-use pmxchords before pmx
-<DT><B>-F fmt</B>
-
-<DD>
-uses fmt as the TeX processor
-<DT><B>-s </B>
-
-<DD>
-stops processing at the dvi file
-<DT><B>-t</B>
-
-<DD>
-stops processing at the tex (and midi) files
-<DT><B>-m</B>
-
-<DD>
-stops processing at the pmx file
-<DT><B>-i</B>
-
-<DD>
-retain intermediate files
-<DT><B>-f</B>
-
-<DD>
-default processing
-<DT>Options affect processing of all succeeding mtx files unless changed by another option.<DD>
-<P>
-</DL>
-<A NAME="lbAE">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+prepmx">prepmx</A></B>(1)
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pmxab">pmxab</A></B>(1)
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+scor2prt">scor2prt</A></B>(1)
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+etex">etex</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+latex">latex</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pdfetex">pdfetex</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pdflatex">pdflatex</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+musixflx">musixflx</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvipdfm">dvipdfm</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pmxchords">pmxchords</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvips">dvips</A></B>(1),
-
-<B><A HREF="http://localhost/cgi-bin/man/man2html?1+ps2pdf">ps2pdf</A></B>(1).
-
-<BR>
-
-mtx260.pdf
-<P>
-<A NAME="lbAF">&nbsp;</A>
-<H2>AUTHOR </H2>
-
-This manual page was written by Bob Tennent &lt;<A HREF="mailto:rdt@cs.queensu.ca">rdt@cs.queensu.ca</A>&gt;.
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">OPTIONS</A><DD>
-<DT><A HREF="#lbAE">SEE ALSO</A><DD>
-<DT><A HREF="#lbAF">AUTHOR </A><DD>
-</DL>
-<HR>
-This document was created by
-<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
-using the manual pages.<BR>
-Time: 22:12:01 GMT, December 11, 2013
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/macro.mtx b/Master/texmf-dist/doc/generic/m-tx/macro.mtx
index f75ac802447..f75ac802447 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/macro.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/macro.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/make-dvi b/Master/texmf-dist/doc/generic/m-tx/make-dvi
index ea88e471c27..ea88e471c27 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/make-dvi
+++ b/Master/texmf-dist/doc/generic/m-tx/make-dvi
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/make-pdf b/Master/texmf-dist/doc/generic/m-tx/make-pdf
index 355b8e48682..355b8e48682 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/make-pdf
+++ b/Master/texmf-dist/doc/generic/m-tx/make-pdf
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/make-target b/Master/texmf-dist/doc/generic/m-tx/make-target
index 355b8e48682..355b8e48682 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/make-target
+++ b/Master/texmf-dist/doc/generic/m-tx/make-target
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma.mta b/Master/texmf-dist/doc/generic/m-tx/melisma.mta
index 273f446bcc8..755806431ce 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma.mta
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma.mta
@@ -1,5 +1,5 @@
Style: Singer
Meter: C
Start: @+2
-
-%% w2i
+Width: 2in
+
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma1.mtb b/Master/texmf-dist/doc/generic/m-tx/melisma1.mtb
index 3f36f53124b..3f36f53124b 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma1.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma1.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma2.mtb b/Master/texmf-dist/doc/generic/m-tx/melisma2.mtb
index d35cbcc5288..d35cbcc5288 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma2.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma2.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma3.mtb b/Master/texmf-dist/doc/generic/m-tx/melisma3.mtb
index 70973365b6c..70973365b6c 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma3.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma3.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma4.mtb b/Master/texmf-dist/doc/generic/m-tx/melisma4.mtb
index 73a6efb78ee..73a6efb78ee 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma4.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma4.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma5.mtb b/Master/texmf-dist/doc/generic/m-tx/melisma5.mtb
index 4d6dafa134c..4d6dafa134c 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma5.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma5.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma6.mtb b/Master/texmf-dist/doc/generic/m-tx/melisma6.mtb
index 85a0e3a162f..85a0e3a162f 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/melisma6.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/melisma6.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/meter.mtx b/Master/texmf-dist/doc/generic/m-tx/meter.mtx
new file mode 100644
index 00000000000..5a9c887bc1c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/meter.mtx
@@ -0,0 +1,10 @@
+Style: Piano
+Meter: m3406
+Width: 100m
+TeX: \def\upiii#1{\raise3\internote\hbox{{#1}}}
+TeX: \def\chacarera{\meterfrac34\upiii{\Big(}\meterfrac68\upiii{\Big)}}
+TeX: \let\oldmeterC=\meterC \let\meterC=\chacarera
+
+a-2d o> a8 r r a r r a2d o> |
+C: dfsa cea cea dfsa
+d-2d o>-15 a4 a { [h d8 {1 d+ ] d2d }1 zd- } |
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/mozart.mtx b/Master/texmf-dist/doc/generic/m-tx/mozart.mtx
index 88a4123c24d..f16b5eb4b36 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/mozart.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/mozart.mtx
@@ -1,7 +1,7 @@
Title: Riff in C
Composer: W. A. Mozart (1756--1791)
Style: piano
+Width: 120mm
-%% w120m
c2+ e4 g | b4d- c1 d c2 |
c8 g+ e g c- g+ e g | d g f g c- g+ e g |
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/mozart0.mtx b/Master/texmf-dist/doc/generic/m-tx/mozart0.mtx
index b6538192716..b6538192716 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/mozart0.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/mozart0.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx-install.pdf b/Master/texmf-dist/doc/generic/m-tx/mtx-install.pdf
index 92b9d756b99..f6c0cbca907 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx-install.pdf
+++ b/Master/texmf-dist/doc/generic/m-tx/mtx-install.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx-install.tex b/Master/texmf-dist/doc/generic/m-tx/mtx-install.tex
index 08649ab19b3..7142b49a131 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx-install.tex
+++ b/Master/texmf-dist/doc/generic/m-tx/mtx-install.tex
@@ -5,7 +5,7 @@
\RequirePackage{hyperref}
\usepackage{xcolor}
\newcommand{\myurl}[1]{\textcolor{blue}{\underline{\textcolor{black}{\url{#1}}}}}
-\newcommand{\mtxVersion}{0.60d}
+\newcommand{\mtxVersion}{0.62}
\begin{document}
\title{Installation of the CTAN M-Tx Distribution}
\author{Bob Tennent\\
@@ -35,8 +35,8 @@ and installing files\footnote{%
\section{Installing \texttt{m-tx.tds.zip}}
In this distribution of M-Tx, many of the files to be installed
-(including macros, documentation, and a wrapper script \verb\m-tx.lua\) are in
-\texttt{tex-archive/install/m-tx.tds.zip} at CTAN. The file
+(including macros and documentation are in
+\myurl{http://mirror.ctan.org/install/m-tx.tds.zip}. The file
\verb|mt-x.tds.zip| is a zipped TEXMF
hierarchy; simply download it and unzip in the root folder/directory of whichever TEXMF tree
you decide is most appropriate, likely a ``local'' or ``personal'' one.
@@ -65,8 +65,8 @@ the one essential file that can't be installed in a TEXMF tree: the \texttt{prep
On Windows
systems, one can install \texttt{prepmx.exe}
-in the \texttt{Windows} sub-directory; this is a pre-compiled
-executable and should be copied to any
+in the \texttt{Windows/32bit} or \texttt{Windows/64bit} sub-directory; these are pre-compiled
+executables and should be copied to any
folder on the PATH of executables.
This might entail creating a suitable folder and adding that folder
to the PATH as follows:
@@ -126,38 +126,15 @@ This step should be executed as root if you need super-user privileges.
You should now have an executable \verb\prepmx\
in your PATH.
-\section{The Processing Script}
-
-The Lua script \verb\.../scripts/m-tx/m-tx.lua\
-is simply a convenient wrapper that
-by default runs the following processes in order (and then deletes intermediate files):
-\begin{itemize}\topsep=0pt\itemsep=0pt
-\item \verb\prepmx\ (pre-pre-processing pass)
-\item \verb\pmxab\ (pre-processing pass)
-\item \verb\etex\ (1st pass)
-\item \verb\musixflx\ (2nd pass)
-\item \verb\etex\ (3rd pass)
-\item \verb\dvips\ (to convert \verb\dvi\ output to Postscript)
-\item \verb\ps2pdf\ (to convert \verb\ps\ output to Portable Document Format)
-\end{itemize}%
-There are many options to vary the default behaviour.
-
-On a Unix-like system (with \texttt{luatex} installed), you can put a
-symbolic link to \texttt{m-tx.lua} in any directory on the executable PATH as follows:
-\begin{list}{}{}
-\item \verb\ln -s <path to m-tx.lua> m-tx\
-\end{list}
-On Windows, install
-the batch script
-\begin{list}{}{}
-\item \verb|Windows\m-tx.bat|
-\end{list}
-to a folder
-on the executable PATH.
-
-Documentation for the \verb\m-tx\ script is in the
-\verb\doc/generic/m-tx/scripts\ directory.
+\section{Usage}
+To process an M-Tx source file, use the \verb|musixtex| script
+which is included in the \verb|musixtex| package.
+If applied to a file with \verb|.mtx| extension, it will by default execute \verb|prepmx| followed by
+\verb|pmxab|, followed
+by \verb|etex|, \verb|musixflx|, and \verb|etex| again, followed by
+conversion to PDF using \verb|dvips| and \verb|ps2pdf|.
+There are many options to vary the default behaviour.
\section{Discussion}
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060.pdf b/Master/texmf-dist/doc/generic/m-tx/mtx060.pdf
deleted file mode 100644
index 317c1daddd9..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/Makefile b/Master/texmf-dist/doc/generic/m-tx/mtx060/Makefile
deleted file mode 100644
index c99862d03d0..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/Makefile
+++ /dev/null
@@ -1,113 +0,0 @@
-PREPMX = ./prepmx
-include make-target
-
-sources = mtxdoc.tex mtxdoc.sty mtxlatex.sty mozart0.mtx mozart.mtx\
- netfirst.mtx meter.mtx notes.tex lyrics.tex mtxindex.tex\
- dertod.mtx volta.mtx title.mtx title1.mtx psalm42.mtx netsoos1.mtb \
- netsoos2.mtb borup.mtx melisma1.mtb dwoman.mtb \
- melisma2.mtb melisma3.mtb melisma4.mtb melisma5.mtb melisma6.mtb \
- dwoman.mta melisma.mta netsoos.mta kroonhom.mtx loofnou.mtx \
- viva.mtx dona.mtx sanctus.mtx halleluja.ltx kanons.ltx chord.mtx \
- macro.mtx
-
-examples = mozart0.tex mozart.tex netfirst.tex meter.tex \
- dertod.tex volta.tex title.tex title1.tex psalm42.tex netsoos1.tex \
- netsoos2.tex borup.tex melisma1.tex dwoman.tex \
- melisma2.tex melisma3.tex melisma4.tex melisma5.tex melisma6.tex \
- chord.tex macro.tex
-
-halleluja_pieces = kroonhom.tex loofnou.tex
-
-kanons_pieces = viva.tex dona.tex sanctus.tex
-
-%.tex: %.mtx
- $(PREPMX) $*
- pmxab $*
- rm $*.pml $*.pmx pmxaerr.dat
-
-DOC: mtx.$(target)
-
-mtxdoc.$(target): mtxdoc.tex mtxdoc.sty $(examples)
- touch mtxdoc.mx1
- rm *.mx?
- - $(latex) mtxdoc
- musixflx mtxdoc
- makeindex mtxdoc
- - $(latex) mtxdoc
- - $(latex) mtxindex
- rm mtxdoc.log mtxdoc.idx mtxdoc.ilg mtxindex.log mtxindex.aux
-
-%.mtx: %.mta %.mtb
- cat $*.mta $*.mtb > $*.mtx
-
-melisma%.mtx: melisma.mta melisma%.mtb
- cat melisma.mta melisma$*.mtb > melisma$*.mtx
-
-netsoos%.mtx: netsoos.mta netsoos%.mtb
- cat netsoos.mta netsoos$*.mtb > netsoos$*.mtx
-
-once: mtxdoc.tex mtxdoc.sty $(examples)
- - $(latex) mtxdoc
-
-index: mtxdoc.idx mtxindex.tex
- makeindex mtxdoc
- $(latex) mtxindex
-
-%.$(target): %.ltx
- - rm $*.mx?; $(latex) $*.ltx; musixflx $*; $(latex) $*.ltx
-
-kanons.$(target): kanons.ltx $(kanons_pieces)
-
-halleluja.$(target): halleluja.ltx $(halleluja_pieces)
-
-all: mtxdoc.$(target) kanons.$(target) halleluja.$(target) mtxindex.$(target)
-
-config:
- @echo "Configuring mtxdoc Version `./docversion`"
- @echo "Looking for prepmx ... `which prepmx`"
- ln -sf `which prepmx` .
- @echo "Looking for pmxab ... `which pmxab`"
- @echo "Looking for musixflx ... `which musixflx`"
- @echo "Looking for musixtex ... `kpsewhich musixtex.tex`"
- @echo "Looking for musixlyr ... `kpsewhich musixlyr.tex`"
- @echo "Looking for $(latex) ... `which $(latex)`"
- @echo "Looking for $(concat) ... `which $(concat)`"
-
-pdftarget:
- ln -sf make-pdf make-target
-
-
-dvitarget:
- ln -sf make-dvi make-target
-
-paperus:
- echo \\def\\paperUS{} > mypaper.tex
-
-papera4:
- echo \\def\\paperA4{} > mypaper.tex
-
-mtxdocus.$(target): paperus mtxdoc.$(target)
- mv mtxdoc.$(target) mtxdocus.$(target)
-
-mtxdoca4.$(target): papera4 mtxdoc.$(target)
- mv mtxdoc.$(target) mtxdoca4.$(target)
-
-ps: mtxdoc.ps halleluja.ps kanons.ps mtxindex.ps
-
-pdf: mtxdoc.pdf halleluja.pdf kanons.pdf mtxindex.pdf
-
-mtx.pdf: mtxdoc.pdf mtxindex.pdf
- ./pdfcat -a -o mtx.pdf -i "mtxdoc.pdf mtxindex.pdf"
-
-mtx.dvi: mtxdoc.dvi mtxindex.dvi
- dviconcat -o mtx.dvi mtxdoc.dvi mtxindex.dvi
-
-support = docversion Makefile make-dvi make-pdf make-target pdfcat
-
-Dzip:
- - @zip -ju mtxD`./docversion` $(sources) $(support) README
-
-bare:
- rm $(examples) $(halleluja_pieces) $(kanons_pieces) *.dvi *.lj *.ps *.pdf\
- netsoos?.mtx melisma?.mtx *.mx? *.ind *.ilg *.toc *.aux *.log
-
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc b/Master/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc
deleted file mode 100644
index f8d3d306fe5..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc
+++ /dev/null
@@ -1,73 +0,0 @@
- M-Tx Documentation Package
-
-This is the development version of the M-Tx documentation. It contains
-all the sources for generating the Users's Manual (mtxdoc.?), its index
-(mtxindex.?), and two sample music documents (halleluja.?, kanons.?), where
-'?' might be 'dvi', 'ps', 'pdf' or 'lj'.
-
-On a GNU system (e.g. Linux; or Cygwin running under Windows) you need
-to change to some empty directory and unzip a file with a name of the
-form mtxD????.zip (use GNU unzip with the -a option, or some other
-unzipper that can convert text files to your operating system format).
-You need to have MusiXTEX, PMX, musixlyr and M-Tx already installed.
-
-Now decide whether you will need:
- .ps, .pdf, .dvi or .lj files (go to 1);
- only .ps or .pdf files (goto 2).
-
-
- 1. If you want .dvi or .lj files
-
-This option allows you to make any of the four file formats. Type
-
- make dvitarget && make config
-
-to configure the option. Make sure that everything looked for was found.
-You can then choose between:
-
- make Makes mtx.dvi (and mtxdoc.dvi, mtxindex.dvi on the way there)
- make all Make .dvi files.
- make ps Make .dvi and .ps files
- make pdf Make .dvi, .ps and .pdf files
- make ?.lj Make the specified .lj file
-
-
- 2. If you want only .ps or .pdf files
-
-You need to have pdflatex installed (any good TeX distribution has it). Type
-
- make pdftarget && make config
-
-to configure the option. Make sure that everything looked for was found.
-You can then choose between:
-
- make Makes mtx.pdf (and mtxdoc.pdf, mtxindex.pdf on the way there)
- make all Make .pdf files.
- make ps Make .pdf and .ps files
-
-You don't have the option of making .dvi or .lj files.
-
-
-Dirk Laurie <dlaurie@na-net.ornl.gov>
-
-
-FAQ - Frequently Asked Questions
-
-1. I get "make: ./prepmx: Command not found".
-
- A: You have omitted the "make config" step.
-
-2. I have configured, but the make still fails.
-
- A: Look at the screen output from "make config". Make sure that
- there is a file name after each "...".
-
-3. Is there any difference between the .pdf and .ps files made by the
- two options?
-
- A: Yes. If you go by the second route, slurs tend to look smoother
- and certain additional slur shapes are possible; see the PMX manual.
- Also, the two versions look a little different on a low-resolution
- monitor, but apart from slurs, should be virtually indistinguishable
- when printed.
-
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/docversion b/Master/texmf-dist/doc/generic/m-tx/mtx060/docversion
deleted file mode 100755
index 22dbcf815ec..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/docversion
+++ /dev/null
@@ -1 +0,0 @@
-grep 'def\\versionname' mtxdoc.tex | sed -e "s/.*{\(.*\)\.\(.*\)}.*/\1\2/"
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/meter.mtx b/Master/texmf-dist/doc/generic/m-tx/mtx060/meter.mtx
deleted file mode 100644
index 7223d511c32..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/meter.mtx
+++ /dev/null
@@ -1,10 +0,0 @@
-Style: Piano
-Meter: m3406
-%% \def\upiii#1{\raise3\internote\hbox{{#1}}}
-%% \def\chacarera{\meterfrac34\upiii{\Big(}\meterfrac68\upiii{\Big)}}
-%% \let\oldmeterC=\meterC \let\meterC=\chacarera
-
-%% w100m
-a-2d o> a8 r r a r r a2d o> |
-C: dfsa cea cea dfsa
-d-2d o>-15 a4 a { [h d8 {u d+ ] d2d } zd- } |
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxdoc.tex b/Master/texmf-dist/doc/generic/m-tx/mtxdoc.ltx
index ff9ce04d016..176d34d5b9d 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxdoc.tex
+++ b/Master/texmf-dist/doc/generic/m-tx/mtxdoc.ltx
@@ -1,31 +1,39 @@
\documentclass[11pt]{article}
-\usepackage{etex}
-\usepackage{a4wide,color,mtxlatex,mtxdoc}
+% mtxlatex and mtxdoc must be loaded before any font-defining packages
+% like charter, bookman etc
+\usepackage{color,mtxlatex,mtxdoc,multicol}
+\paperAfour
% You might like to put \paperUS here
\usepackage{verbatim,charter}
% \renewcommand{\ttdefault}{cmtt}
% Some such font packages override cmtt with wider fonts like 'courier',
% and then 80-character lines don't fit
-\mtxlatex
\newcommand{\delete}[1]{\relax}
\newcommand{\archiveSite}{
- \texttt{http://icking-music-archive.sunsite.dk/mailinglist/archive}
+ \texttt{http://icking-music-archive.org}
+}
+\newcommand{\scoreSite}{
+ \texttt{http://imslp.org}
}
\newcommand{\mailingList}{
-\texttt{tex-music@sunsite.dk}
+\texttt{tex-music@tug.org}
+}
+\newcommand{\repository}{
+\texttt{https://github.com/dlaurie/M-Tx}
}
-\def\versionname{0.60}
-\def\version{0.60}
-\def\newfrom{0.60}
-\date{16 March 2005}
+\def\versionname{0.61}
+\def\version{0.61}
+\def\newfrom{0.61}
+\date{11 December 2015}
\title{\Huge \textbf{\MTx: Music from Text \\ \LARGE Version\current} \\
User's Guide \vfill}
-\author{\LARGE Dirk Laurie\\ \texttt{dlaurie@na-net.ornl.gov} }
+\author{\LARGE Dirk Laurie\\ \texttt{dirk.laurie@gmail.com} }
\makeindex
\begin{document}
+
\vfill
\maketitle
\vfill
@@ -45,9 +53,7 @@
\section{Music from Text}
Written music has a distinctive appearance, very unlike written text.
But if we want to enlist the aid of the computer to print our scores, we
-either need a sophisticated graphical interface\footnote{One such is
-\texttt{noteedit} by J\"org Anders obtainable from the Archive ---
-see Section \ref{Archive}.}, or we must describe
+either need a sophisticated graphical interface, or we must describe
music in terms of what we are able to type. Text input is not going to
look much like printed music, but we would like it to resemble printed
music closely enough that we can see the correspondence.
@@ -126,17 +132,8 @@ printed music will not necessarily be broken at the same places as
the paragraphs.
Only in the simplest cases (every music line in the paragraph starts with
-what might be a note) are you allowed to omit the preamble.
-
-The preamble lines in this example are self-explanatory. The one
-mysterious line is the one starting with \ttxem{\%\%}at the top of
-the music paragraph. The present
-implementation of \MTx~acts as a front end to the \PMX\ program.
-Things that
-can be done easily in \PMX\ are not re-invented, but instead the \ttxem{\%\%}
-facility is provided to pass information directly to \PMX. The \PMX\ command
-\texttt{w120m} means `width 120 millimetres'. A short tutorial on \PMX\
-appears in Appendix \ref{pmx}.
+what might be a note) are you allowed to omit the preamble. The preamble
+lines in this example are self-explanatory, I hope.
A few words on technical terms, to make sure that we know what we are
talking about:
@@ -147,9 +144,7 @@ separated by blanks from other words on the same line.
\item A \ibxem{stave} is the familiar group of five closely spaced
parallel lines on which music is written.
\item A \ibxem{voice} is a melodic strand of music, of which there
-may be either one or two per stave.\footnote{Experienced \PMX\ users
-please note: the \PMX\ manual uses `voice' as a synonym for `stave',
-and `line of music' for what I call a `voice'.}
+may be either one or two per stave.
\item An \ibxem{instrument} corresponds either to a single stave or to a
group of two or more adjacent staves linked together with a brace
\verb'{', usually representing a single instrument like a piano.
@@ -162,8 +157,7 @@ voices that are heard at the same time.
\subsection{Lyrics}
I wrote the \MTx\ converter because \ixem{lyrics} are not part of the \PMX\
-design. It used to be\footnote{Rainer Dunker's \texttt{musixlyr} package,
-on which \MTx\ depends, can now be used directly with \PMX.}
+design. It used to be\footnote{I.e.. before Rainer Dunker's \texttt{musixlyr} package, on which \MTx\ depends, became \PMX-aware.}
a major effort to obtain pretty output like the
following:
\vskip 12pt \hskip -20mm
@@ -278,8 +272,7 @@ formatted meter change word. \NEW{0.30}
E.g.~\ttxem{m3/4/0/0} gives a blind meter change
--- one that takes effect but is not printed. See the \PMX\ manual.
This is also legal in the preamble \ttxem{Meter:} command.
-You may not introduce a meter change directly to \PMX\ via a \verb"%%"
-command --- \MTx\ must know about it too.
+
\end{itemize}
\subsection{Beams and \ixem{slurs}} \label{beamslur}
@@ -304,7 +297,7 @@ Look at the second system of the same song:
\small
\input netsoos1.tex
\end{mus}
-Omitting the preamble and \PMX\ lines, this is coded
+Omitting the preamble, this is coded
as:\footnote{The coding is for this
morsel only, not an extract out of the coding for the whole piece. The
octave of the first note here is the default, not deduced from a
@@ -337,7 +330,7 @@ before any adjustments. Of course, any labelled slur of either kind
that you open must be closed again by its exact partner. If you really
must have interlocking slurs, \verb"(1 c8 d e (2 g g )1 f d b )2 c2"
is the way to get them. \delete{Labelling slurs in this way is also the only way
-of getting more than two leves of slurs.}
+of getting more than two levels of slurs.}
It may happen that you do not wish \MTx\ to put more than one note to a
syllable even though the notes are under a beam or slur.
@@ -435,7 +428,7 @@ style names are translated to uppercase internally.
\verb"Flats: 3" & Key signature has three flats. \\
\verb"Sharps: 2" & Key signature has two sharps. \\
\verb"Space: 6 0 3" & Extra interlines of space below staves. \\
-\verb"PMX: h10i" & \PMX\ command in preamble. Rather like \verb"%%" feature.\\
+\verb"PMX: Ar" & \PMX\ command in preamble.\\
\verb"Options: x" & Forces the \texttt x option to be in effect, despite the command line. \\
\verb"Enable: pedanticWarnings" & Enables the \texttt{pedanticWarnings} feature. \\
\verb"Disable: unbeamVocal" & Disables the \texttt{unbeamVocal} feature. \\
@@ -443,12 +436,15 @@ style names are translated to uppercase internally.
\verb"Systems: 11" & Use a total of eleven systems. \\
\verb"Bars/line: 4" & Try to use on the average four bars to a line. \\
\verb"Size: 16" & Size of music in points: default is 20. \\
+\verb"Width: 190mm" & Width of line in \texttt{mm} (or \texttt{in} or
+\texttt{pt}). Default is \texttt{190mm}.\\
\verb"Style: Singer Piano" &
The piece is for a singer with piano accompaniment. \\
\verb"Name: Dietrich Gerald" & Names of instruments, performers etc. \\
\verb"Indent: 0.10" & Indent first system by 10\% of the music width. \\
\verb"Start: @+1;@-3" & Put specified items at the start of voice lines\\
-\verb"Octave: 4 4 3 3" & Specify \indexed{initial octaves} for each stave
+\verb"Octave: 4 4 3 3" & Specify \indexed{initial octaves} for each stave \\
+\verb"TeX: \elevensf" & Type 2 TeX code (see Appendix \ref{expert})\\
\end{tabular} \NEW{0.54}
\vskip 1ex
The \ttxem{Bars/line} command should only be used when you do not yet
@@ -518,6 +514,10 @@ You don't normally need to specify \NEW{0.54} \ttxem{Octave},
\index{octave@octave!defining initial}
since most of the time the octave implied by the clef is correct.
+\ttxem{TeX} \NEW{0.61} should be used for last-minute overrides
+of commands that come from system \TeX\ files like \verb`mtx.tex`
+and \verb`pmx.tex`.
+
\subsection{Customizing \MTx} \NEW{0.55} \label{customize}
You have a lot of control over how \MTx\ does its translation. The old way
@@ -547,6 +547,8 @@ enabled by default:
slurs.
\ttxi{uptextOnRests} Synchronize uptext with notes and rests, not only with
notes.
+ \ttxi{checkAssertions} Interpret certain comments as assertions (see Section
+ \ref{debugging-aids}.
\end{description}
Here is a list of switchable \MTx\ features that are
@@ -586,7 +588,7 @@ also have as many \texttt{Enable:} and \texttt{Disable:} lines as you want.
For example, to imitate the way \MTx\ 0.54c did things, put
\begin{verbatim}
Enable: interpretSlurs
-Disable: newWordShortcut multiFile
+Disable: newWordShortcut multiFile checkAssertions
\end{verbatim}
\section{Fine-tuning the printed output}
@@ -994,18 +996,17 @@ bars printed above them. The word for a \mark multi-bar rest is e.g.\
and there may be no other notes or rests on that line. The same rest
will be printed on all staves.
-
-You can tune the appearance of the rest by appending a signed integer
-to the word, e.g.\ \texttt{rm19+18}. \NEW{0.41}Roughly speaking,
-this moves the front end of the rest to the right by 18 points. Since
-multibar rests can have several shapes and may even contain as many as
-three separate symbols (in the case of \texttt{rm7}) it is difficult to
-describe precisely what happens and you are advised to experiment.
+Thanks to recent improvements to MusiXTeX and PMX \NEW{0.62} it is no
+longer necessary to tune the appearance of the rest e.g.\ \texttt{rm19+18}.
+Such adjustments are now ignored.
\subsection{Skipping and including portions of a score} \label{multiscore}
To read in another file at the start of a paragraph, \NEW{0.55}
-use the \ttxem"Include:" directive, e.g.\ \verb"Include: mylayout.mti".
+use the \ttxem"Include:" directive, e.g.\
+
+ \verb"Include: mylayout.mti"
+
The effect is exactly the same as if those lines had been part of the original
input file. The file thus included may also contain "Include:"
directives; there is no restriction on the number of levels. You may
@@ -1029,8 +1030,8 @@ the corresponding lines from all non-lyrics paragraphs after the paragraph
containing the \texttt{Only} are processed until another \texttt{Only} is
found. Any paragraph containing an \texttt{Only} is always fully taken into
account: it is not subjected to the masking action of any \texttt{Only}.
-\emph{WARNING: this feature is deprecated and may behave
-differently in future versions.}
+\emph{WARNING: this feature is deprecated and may behave differently in
+or even be omitted from future versions.}
You can also conditionally ignore portions of the score depending on a
compiler variable. \NEW{0.42} The compiler options \texttt{0} to \texttt{9}
@@ -1123,11 +1124,80 @@ by actually inserting the strings into \MTx\ input lines, which
may not be longer than 255 characters. Too many macro expansions,
and you hit your head against the ceiling.
+\section{Debugging aids} \NEW{0.61} \label{debugging-aids}
+
+The very compactness of \PMX\ music notation works against you
+when debugging. One music paragraph looks very much like another.
+Notes inherit pitch and duration from context, and when there is
+a mistake, it is not easy to see where in a long music line that
+context comes from.
+
+Octave mistakes have a way of accumulating, but only show up when
+you see a typeset score full of leger lines way above or below the
+stave.
+
+Left to itself, \MTx\ can and does check that all music lines end
+at a bar ending, and that lines from the same paragraph have the
+same length. But it cannot tell that which of two lines is wrong,
+only that they are different.
+
+Many programmers use comment lines \verb`% -- Bar 40 --` to help
+them keep track of where they are in a score. This practice has
+now been formalized as a debugging aid.
+
+Certain comments can be recognized by \MTx\ as assertions, allowing
+additional correctness checks to be made. Apart from the comment
+sign, they look like preamble commands, but are normally placed in
+the music paragraph to which they apply.
+
+\begin{tabular}{ll}
+
+\verb"% Range: S=4d-5d, A=3b-4g" & Requests range checking for the specified voices. \\
+\verb"% Bar: 30-31" & If only one bar, give just one number.
+
+\end{tabular}
+
+The format used here for \ttxem{Range} checking puts the octave
+ before the note, e.g. \verb`4f`, to avoid confusion with \verb`f4`
+in which the digit indicates duration. The error messages
+use the same notation.
+
+Either of these comments may also appear in a preamble paragraph,
+in which case they apply to the entire score.
+% {-- Maybe later --} The first number in such a global \verb`Bar`
+% is used to initialize the printed bar count.
+
+\subsection{Error messages}
+
+Most error messages will give a line number and say approximately
+where the error was found. In that case, the original line is printed
+with a marker at that point. Also printed is what has happened to that
+line in the meantime, mostly explicit duration indications on every
+note.
+
+If there is no line number (this mostly happens in the preamble)
+the message in most cases deals with something that you should have
+supplied.
-\section{Acknowledgments} I still have the
-\texttt{.tex} and \texttt{.dvi} files of my first attempt at setting music
-(Bach, no less) with the \mutex\ package of Andrea Steinbach and Angelika
-Schofer. The first phrase goes: \begin{verbatim}
+Sometimes the actual error may be on another line, e.g.\ when it is
+found that music lines have a different duration, the first line
+processed may be the one that is wrong, but the discrepancy is only
+found later.
+
+Error messages generated by assertions can be a lot more informative
+than others, and you are urged to exploit these. To find out what life
+would have been like without them, you can always issue
+`Disable: checkAssertions` in the preamble.
+
+\section{Acknowledgments}
+
+% In DPL-DOS/huis.tgz
+
+I still have the
+\texttt{.tex} and \texttt{.dvi} files of my first attempt (in October 1992)
+at setting music (Bach, no less) with the \mutex\ package of Andrea Steinbach
+and Angelika Schofer. The first phrase goes:
+\begin{verbatim}
\4\,\F\~\B\.\c\|\2\A\.\|\4\B\,\E\E\| \2\group{\\\E\\\d}{\\0\\{-1}}\lslur12\go\|
\end{verbatim}
In \MTx\ that would be
@@ -1158,19 +1228,20 @@ horizontal tuning.
Chris Walshaw's \ABC\ provided the repeat notation.
The layout of \MTx\ bears some resemblance to a language developed by
-Miguel Filgueras, not yet publicly available in software, although I did
-not consciously borrow his ideas.
+Miguel Filgueiras, published in 1998 in \textit{Software Practice and
+Experience}, although I did not consciously borrow his ideas. I have
+been unable to find an implementation on the Internet.
I had some enlightening e-mail correspondence with the developers of
MPP, Jan Nieuwenhuizen and Han-Wen Nienhuys.
-This package (no longer being maintained, unfortunately: the authors are
-working on something altogether grander called LilyPond) was the first
+This package (no longer maintained, unfortunately) was the first
music package which made me believe that one could write good-looking
scores in a reasonable amount of time.
Eric Petersen, Reenen Laurie, Kestell Laurie and Joel Hunsberger found
several bugs in earlier versions of \MTx. Christian Mondrup did this for
\MTx\ 0.50 and later.
+
The subscribers to the discussion list \mailingList\ ---
too many to name --- found many more and contributed to the development by
requesting new features. Details of these contribution are given in the
@@ -1183,18 +1254,18 @@ standards for music typesetting, tested software packages, gave
genuinely expert advice to would-be experts, and encouraged newbies
with patience and understanding. When he died unexpectedly at a
comparatively young age, each of the small but globewide community of users
-of MusiX\TeX\ lost a personal friend and mentor. His music archive
-as it was at the time of his death can still be accessed at
-\texttt{ftp://ftp.gmd.de/music} or \texttt{http://www.gmd.de/Music}.
-
-Werner's work is still being carried on, but it requires three people
-to fill his shoes. Maurizio Codogno is the mailing list administrator,
-Christian Mondrup the maintainer of the software archive, and Don Simons
-the maintainer of the sheet music archive.
-
-My wife, Trienke, has had to suffer many effectively husbandless evenings
-and weekends while I hammered the program and documentation into good enough
-shape to be able to offer it around.
+of MusiX\TeX\ lost a personal friend and mentor.
+% His music archive as it was at the time of his death can still
+% be accessed at \texttt{ftp://ftp.gmd.de/music} or
+% \texttt{http://www.gmd.de/Music}.
+
+Werner's work is still being carried on: the software archive
+and mailing list URLs are listed in Appendix A, while
+the scores have been merged into the Petrucci Music Library (\scoreSite).
+
+My wife, Trienke, had to suffer many effectively husbandless evenings
+and weekends while I hammered the program and documentation into good
+enough shape to be able to offer it around.
\appendix
\setcounter{page}{1}
@@ -1213,18 +1284,18 @@ Fortunately, here are many ways to get information and help.
\item The packages on which \MTx\ relies all have their own reference
manuals. Look for the following files:
\begin{description}
- \item{\PMX:~} \texttt{pmx230.pdf}, \texttt{ref230.pdf}
+ \item{\PMX:~} \texttt{pmx270.pdf}, \texttt{ref270.pdf}
(these names will obviously be different
- if your \PMX\ is not Version 2.30);
+ if your \PMX\ is not Version 2.70);
\item{\musixlyr:~} \texttt{musixlyr.pdf};
\item{MusiX\TeX:~} \texttt{musixdoc.dvi}.
\end{description}
- \item Consult the mailing list archive at
- \begin{quote}\archiveSite \end{quote}
- \item Join the \ixem{mailing list} by sending an e-mail message to
- \begin{quote}\mailingList\end{quote}
-with the word \texttt{subscribe}
-as subject --- no message body needed.
+ \item The archive site at \begin{quote}\archiveSite \end{quote}
+ hosts not only the mailing list archive but also several tutorials
+ in various languages on MusiX\TeX\ and \PMX.
+ \item Join the \ixem{mailing list} by filling in the form
+at \\
+\texttt{http://tug.org/mailman/listinfo/tex-music}.
\end{itemize}
\section{A short \PMX\ tutorial} \label{pmx}
@@ -1362,6 +1433,15 @@ if not in the bottom voice.
\subsection{Useful things to put on \ttxem{\%\%} lines}
\label{usefulPMX}
+You have three ways of passing information directly to PMX.
+
+\begin{enumerate}
+ \item The \ttxem{PMX} preamble command.
+ \item A line starting with \ttxem{\%\%}. The rest of the line is
+treated as \PMX.
+ \item Inside music lines. Anything not recognized is passed through.
+\end{enumerate}
+
Most of the following commands should appear in the first music paragraph
or on a \ttxem{PMX} preamble command line.
Some of them are actually raw \ixem{MusiX\TeX} ---
@@ -1378,7 +1458,8 @@ Put \verb'L10M+10i0.1' to make a new movement start at the 6th system,
with 10 internotes of extra space between movements and an indentation
of $0.1=10\%$ of the width.
\item{\verb"h260m"} Height is 260 millimetres.
- \item{\verb"w8i"} Width is 8 inches.
+ \item{\verb"w8i"} Width is 8 inches. Note that \PMX's height and width
+have one-letter units, not two-letter like \TeX\ itself and \MTx.
\item{\verb"\\vsize 270mm\"} Height given to MusiX\TeX\ is 270 millimetres.
\item{\verb"Ar"} Use relative \ixem{accidentals}. This requires a different
way of coding flats and sharps ---think of \verb's' as meaning
@@ -1400,141 +1481,81 @@ reason to do so. You can also force all big accidentals by \verb"Ab."
cutting through lyrics in the process.
\item{Midi commands} \PMX\ can make MIDI files. For example, if you put
\begin{verbatim}
-PMX: Ii55:55:55:55t96b56:72:48:80v127:100:73:46
+PMX: Ii55:55t96b56:72v127:100
\end{verbatim}
-in your preamble, a MIDI file will be generated in which all four
-instruments
-are played on MIDI instrument number 54 (if you use the default
-instruments together with \texttt{Timidity++}, this means `voices')
-at a tempo of 96 quarter-notes to a minute, with MIDI balances
-of 56, 72, 48 and 80 (centre is 64) and MIDI velocities
-of 127, 100, 73 and 46 respectively. More details appear in the
-\PMX\ manual.
+in the preamble of \texttt`netsoos.mtx`, a MIDI file will be generated
+in which both instruments (Soprano/Alto and Tenor/Bass) are played on
+MIDI instrument number 54 (on my system this means `voices') at a tempo
+of 96 quarter-notes to a minute, with MIDI balances of 56 and 72 (centre
+is 64) and MIDI velocities of 127 and 100 respectively. More details
+appear in the \PMX\ manual.
\end{description}
-\section{How to get and use \MTx}
+One thing that you must only pass to PMX by the third method — embedded
+in a music line — is a meter change, otherwise \MTx\ does not know about
+it and will continue to count bars by the old meter.
-\textit{Sorry, this section assumes that you have some knowledge of
-computers! Get a \TeX-pert to help you if necessary.}
+\section{How to get and use \MTx}
-\subsection{Installation} \label{Archive}
+There are such excellent tutorials available at \archiveSite\ that
+this section is unnecessary. In every subsection, only a few random
+remarks are left. You can safely skip it all. Just visit the website.
-The primary official source for all the software you need is
-the MusiX\TeX\ \ixem{Archive} at
-\begin{quote} \archiveSite \end{quote} in the
-\texttt{/music/musixtex/} directory
-and its subdirectories.
-Copies spread from there to other official CTAN (Comprehensive \TeX\
-Archive Network) sites.
-\MTx\ is in the \texttt{software/mtx} subdirectory.
-You might find there a binary package suitable for your system;
-if so, you can ignore the part of this section that discusses compilation.
+\subsection{Installation and running} \label{Archive}
-\begin{quote}
-Read the \ttxem{README} file that comes with the \MTx\ zip file.
-\end{quote}
+On a Debian system (which also includes Ubuntu) you can simply
+install the \verb`m-tx` package with all its dependencies (which,
+if you do not yet have \TeX, is staggeringly much).
-If you are still reading on despite the previous line, here is a
-general description --- but the most recent stuff, the real nitty-gritty,
-is in the \texttt{README} file.
-
-To use \MTx, you need a working \ibxem{PMX} installation (version
-2.502 or later,
-although many scores will work with earlier versions) which
-is in the \texttt{software/pmx} subdirectory of the Archive.
-\PMX\ itself is a
-preprocessor to Daniel Taupin's \ixem{MusiX\TeX} (Version T.112 was used
-to prepare this manual), which is in the MusiX\TeX\ Archive directory itself.
-All of these depend on Donald Knuth's \TeX\ typesetting package.
-If your system does not already have \TeX, put pressure on your system
-administrator.
-
-You will need Rainer Dunker's \ttxem{musixlyr} extension package (version
-2.0c or later). This package is available with full documentation in the
-\texttt{add-ons} subdirectory of the Archive, and you should read
-that documentation if you need more lyrics features than
-those accessible from \MTx.
-
-My \MTx\ translator was originally written in Turbo Pascal, but I use
-the Free Pascal compiler, available for many systems, for current development
-work.
-For the sake of those users whose systems do not yet run Free Pascal,
-but have a C compiler that accepts ANSI C source code,
-the Pascal source distribution provides the possiblity of making a C translation,
-using Dave Gillespie's Pascal-to-C converter \texttt{p2c}
-and a bit of post-translation hacking.
+If you need to compile from source, grab it from \repository\ and
+look for a file whose name starts with \verb`README`. You will
+need a Free Pascal compiler.
Once you have all the software, make an \MTx\ file with extension
\dotxem{mtx} using your normal text editor. It must be an \ixem{editor} that
respects the line boundaries and empty lines that you type in: in other
-words, something fairly primitive, not an upmarket word processor. Run
-the program \ttxem{prepmx} with argument \texttt{basename} when
-your file is called \texttt{basename.mtx}. The output
-will be a file \texttt{basename.pmx} which then goes through \PMX\
-and \TeX. The error detection capabilities of \texttt{prepmx} are
-reasonable but not extensive: much is passed through unexamined to \PMX.
-
-\subsection{The \texttt{prepmx} command line} \label{commandline}
-You could also supply other arguments on the \ixem{command line}.
-A complicated command line in Unix (replace \verb'/' by \verb'\'
-in DOS) might be
+words, something fairly primitive, not an upmarket word processor.
+
+Thanks to Bob Tennent, all the intermediate steps that you used to
+need are now unnecessary. There will be an executable file called
+\verb`musixtex` on your system, a real Swiss army knife, so that
+simply invoking
\begin{verbatim}
-prepmx -bvn mysong /home/dirk/texinput /home/dirk/mtx/mystyles.txt
+ musixtex -q jobname
\end{verbatim}
-
-This line contains switches (recognized by the leading hyphen),
-a basename, the directory where
-the final \dotxem{tex} file will be put (if you omit it, files go in the
-current directory), and the file where I keep my
-own styles (if omitted, the file \ttxem{mtxstyle.txt} in the current directory
-is used, if there is one). Instead of putting the switches as here on the
-command line, you can specify them
-in a preamble \ttxem{Options:} line, which takes precedence over the command
-line.
-
-\begin{description} \index{command line!switch}
- \item {\ttxem{-b}} \quad Disable \texttt{unbeamVocal}.
- \item {\ttxem{-c}} \quad Disable \texttt{doChords}.
- \item {\ttxem{-D}} \quad Enable \texttt{debugMode}.
- \item {\ttxem{-f}} \quad Enable \texttt{solfaNoteNames}.
- \item {\ttxem{-i}} \quad Enable \texttt{ignoreErrors}.
- \item {\ttxem{-m}} \quad Disable \texttt{doLyrics}.
- \item {\ttxem{-n}} \quad Enable \texttt{instrumentNames}.
- \item {\ttxem{-t}} \quad Disable \texttt{doUptext}.
- \item {\ttxem{-u}} \quad Disable \texttt{uptextOnRests}.
- \item {\ttxem{-v}} \quad Enable \texttt{beVerbose}.
- \item {\ttxem{-w}} \quad Enable \texttt{pedanticWarnings}.
- \item {\ttxem{-0}, \ttxem{-1}, \dots, \ttxem{-9}} \quad Select specified
-case of multiple score. See Section \ref{multiscore}.
-\end{description}
-
-The \texttt{prepmx} program exits with \ixem{return code} 0 if no error was
-found, and return code $n$ if an error was found while processing line $n$ of
-the input. \NEW{0.40}Return code 10000 means that the input file was
-empty or could not be opened, or that an invalid option was encountered.
-In the latter case, a list of available features is displayed ---
-this is a quick way of obtaining such a list.
-
-In some cases, the actual error may be on
-another line, e.g.\ when it is found that music lines have a different
-duration, the first line processed may be in error, but the discrepancy
-is only found later.
-
-
+will take you all the way from \verb`jobname.mtx` to \verb`jobname.pdf`.
+The \verb`-q` (for "quiet") suppresses the zillions of lines of screen
+output which \verb`tex` normally provides for you edification.
+
+You can do the steps manually. The program \verb`musixtex` writes a file
+\verb`musixtex.log` documenting everything it did. For example, there
+will be a line starting with `prepmx` for the step the converts
+\verb`jobname.mtx` to \verb`jobname.pmx`. If you need only that,
+\begin{verbatim}
+ musixtex -p jobname
+\end{verbatim}
+will do it, but you may want to exploit some of the many commandline
+options that \verb`prepmx` has. Run \verb`prepmx -h` to see them.
+
+The \texttt{prepmx} program exits with \ixem{return code} 0 if no error
+was found, and return code $n$ if an error was found while processing
+line $n$ of the input, whereas the \texttt{musixtex} program returns
+the number of input files that gave errors. There is more about
+\verb`musixtex` in Appendix \ref{latex}.
+
\subsection{Bugs, restrictions and incompatibilities} \label{limits}
The status of bugs changes too quickly for this document. Please
consult the files supplied with the package, in particular
-\texttt{README}, \texttt{Corrections} and \texttt{Bugs}.
+\texttt{README.txt}, \texttt{Corrections} and \texttt{Bugs}.
In \MTx\current\ a paragraph may not be more than 100 lines long,
-an input line
-(including those in lyrics paragraphs) not more than 255 characters,
-a lyrics
-line in a music paragraph not more than 128 characters, and you may define a
-maximum of 12 extra style elements of your own, whether in the preamble or in
-the \ttxem{mtxstyle.txt} file. It is possible to change these easily: see
-\texttt{README}.
+an input line (including those in lyrics paragraphs) not more than
+255 characters, a lyrics line in a music paragraph not more than
+128 characters, and you may define a maximum of 12 extra style
+elements of your own, whether in the preamble or in the
+\ttxem{mtxstyle.txt} file. It is possible to change these if you compile
+from source: they are clearly recognizable in \texttt{globals.pas}.
\NEW{0.42} You can have up to 15 voices, using up to 15
staves. For each two-voice stave, the number of staves you can have goes
@@ -1544,53 +1565,11 @@ Other limitations are described in the \PMX\ documentation.
\subsubsection{Compatibility}
-In \MTx\ 0.55 a small but wide-ranging change has been made in \verb"mtx.tex"
-which affects the \verb"\musixlyr" interface and vertical spacing. The net
-result is that new scores will need much less tweaking with \texttt{Space:}
-and \verb"@". On the other hand, old scores that have laboriously been
-manipulated into correctness will now look wrong unless you put an old copy
-of \verb"mtx.tex" where it will be found first, preferably in the same
-directory as the \MTx\ score.
-
-\MTx\ 0.55 takes advantage of the new slur syntax of \PMX\ 2.502.
-In some cases the slurs will look a little different, because \verb"{"...\verb"}"
-now generates ties.
-
-Scores made using \MTx\ 0.52 and later should still compile under
-\MTx\current. Older scores may need to be revised.
-
-Some command line options allowed in \MTx\ 0.52 have been removed.
-
-The \MTx\ 0.52 documentation stated falsely:
-\begin{quote} \small
- The default duration at the completion of a line is that of the
-last note appearing at that stage, which in the case of an expanded
-group is the shorter note. Since this is opposite to what happens
-during the line itself, a line ending with a
-group should have an explicit duration code for the first note
-on the next line for that voice.
-\end{quote}
-Actually, duration is taken from what you code,
-so e.g.\ \texttt{c4.d} will leave the duration code as \texttt{4}.
-Of course, explicitly coding the duration can never hurt.
+\MTx\ 0.61 accepts all scores that were valid under \MTx\ 0.60.
+Older scores may need tweaking.
\subsubsection{Unsupported features of Musix\TeX\ and \PMX}
-Unlike MusiX\TeX\ itself, which is stable and nearly complete,
-\PMX\ and \MTx\ are both still in a stage of growth. Their authors
-are reasonable people who subscribe to the discussion list \mailingList\
-and are open to suggestions
-made there. If you have any ideas, please email them to the list,
-so other users can see them and comment on them.
-
-The implementation of new features depends on three factors: what I
-need in my own scores; what users of \MTx\ have asked me to do; and how
-easy and quick it is to do them. But bear in mind that the underlying
-philosophy of \MTx\ is to be simple and intuitive: arcane features are
-best left to \PMX\ if not MusiX\TeX. I don't mind how sophisticated the
-\PMX\ code generated needs to be, but the \MTx\ input language must not
-acquire a cluttered and obscure appearance.
-
Support or otherwise of Musix\TeX\ and \PMX\ features comes at three
levels:
\begin{enumerate}
@@ -1613,9 +1592,10 @@ to catch up later.
Some pertinent aspects:
\begin{enumerate}
\item \MTx\current\ does not recognize the macro features of \PMX.
-You should therefore not use macros for notes or anything else that
+You should therefore not use PMX macros for notes or anything else that
affects the count, the duration, the current octave and other properties
that are inherited by a note from the next. But there is no harm in
+HIESA
using macros for things like extra space.
\item \MTx\current\ is not aware of movement breaks and the possibility
to change the number of voices.
@@ -1626,10 +1606,30 @@ to change the number of voices.
You can send commands directly to \ibxem{PMX}. All lines starting with
\ttxem{\%\%} in music paragraphs are collected, stripped of the leading
\verb"%%" and passed otherwise uninterpreted to \PMX\ before anything
-else from that paragraph is translated. \NEW{0.41} If such a line
-is found in a preamble paragraph, it is treated as a ``Type 4 \TeX\ string'',
-\TeX\ string'' \index{TeX string@{\TeX\ string}!Type 4}
-which means that it will eventually appear at the top of the \TeX\ file,
+else from that paragraph is translated. \NEW{0.41}
+
+PMX has four mechanisms for incorporating raw \TeX. Apart from putting
+them inside music lines as in \PMX, they are supported in \MTx\ as follows.
+
+1. A Type 1 \TeX\ string appears on a music line, terminated
+by a backslash. It takes effect at the next note.
+
+2. A Type 2 \TeX\ string appears in a \ttxem{TeX} command in the preamble.
+The rest of the line will be taken to be \TeX\ and must not end in a
+backslash. There may be several \ttxem{TeX} commands. They take effect
+just before the real typesetting takes place, after all other definitions
+have been processed, and can be used to override just about anything.
+
+3. A Type 3 \TeX\ string appears on a \verb"%%" line in a paragraph, e.g.
+\begin{verbatim}
+%% \\\def\foo{bar}\
+\end{verbatim}
+It takes effect at the start of paragraph, irrespective of where in
+the paragraph it appeared. Note the trailing backslash.
+
+4. A Type 4 \TeX\ string appears on a \verb"%%" line in the preamble.
+\index{TeX string@{\TeX\ string}!Type 4}
+It will eventually appear at the top of the \TeX\ file,
after \texttt{musixtex.tex} and \texttt{pmx.tex} have been read in.
Such lines should \emph{not} end with \verb"\".
An example appears in Appendix \ref{dirty}.
@@ -1882,7 +1882,7 @@ Werner Icking}
\pagebreak
-\section{\MTx\ and \LaTeX} \NEW{0.54}
+\section{\MTx\ and \LaTeX} \NEW{0.54} \label{latex}
\textit{This section assumes that you have some knowledge of
\LaTeX.}
@@ -1896,17 +1896,10 @@ books combining the outputs of several \PMX\ runs into a single
document, such as a collection of songs, or a mainly text document
(like this one) with many small music excerpts.
-Two points apply to all cases:
-\begin{enumerate}
- \item Order of inclusion of packages is important. \texttt{mtxlatex}
- must be the first package included, before any font packages.
- \item It is easy to incur \ttxem{TeX capacity exceeded}. For
-example, the index to this manual is a separate document because
-package \texttt{multicol} won't load on top of all the others.
-If you wish to do large scores, it is probably advisable to change
-\texttt{texmf.cnf} so that \verb"save_size = 10000" and run
-\texttt{initex}.
-\end{enumerate}
+\begin{quote} \emph{Order of inclusion of packages is important.
+ \emph{\texttt{mtxlatex}}
+ must be the first package included, before any font packages.}
+\end{quote}
\subsection{Collections of complete pieces}
@@ -1915,26 +1908,35 @@ pieces, with
perhaps a title page, a foreword and an afterword, like a typical
published book of piano pieces or songs.
\begin{enumerate}
- \item Prepare a \texttt{.tex} file for each separate piece, using the methods
-described previously, and be sure that it is fully debugged and looks
-the way you want it, using the standard \texttt{tex-musixflx-tex}
-compiling cycle.
- \item Write a \LaTeX\ file looking something like this:
+ \item Write a \LaTeX\ file, say \texttt{halleluja.ltx},
+looking something like this:
\verbatiminput{hallelujashort.ltx}
- \item Use a \texttt{latex-musixflx-latex}
-compiling cycle to make the finished document.
+By the way, this code contains another dirty trick: vertical space
+between systems is tweaked by embedding the bar number in a vertical box.
+ \item Use the script \texttt{musixtex.lua} that, thanks to Bob Tennent,
+forms part of modern \TeX\ distributions\footnote{You need at least Version
+0.15. If your distribution is not recent enough, download the latest version
+from \texttt{http://icking-music-archive.org/software/musixtex/musixtex.lua}}
+to build everything in one go. In this case you need to say:
+\begin{verbatim}
+ musixtex kroonhom loofnou halleluja.ltx
+\end{verbatim}
+It is important to put the main file last, so that the \TeX\ files
+are built before the main file is processed.
\item If you make small changes in the \LaTeX\ part only, a single
\LaTeX\ pass is sufficient, unless the page numbering has changed.
+You achieve this with the \texttt{-1} option of \texttt{musixtex.lua}.
\end{enumerate}
You can see the finished product in \texttt{halleluja.pdf}.
Some points to note:
\begin{itemize}
- \item The package \texttt{mtxlatex} comes with \MTx.
-You must put the command \keyindex{mtxlatex} in the preamble.
+ \item The file \texttt{mtxlatex.sty} is supplied with the \MTx\
+documentation source. You may need to copy it to some other place
+for \TeX\ to find it.
\item The package \texttt{times} comes with standard distributions.
You could use any \LaTeXe\ font package here. The \texttt{times}
font is quite narrow and therefore useful when the lyrics are crowded.
-If you do use a font a package, load it \emph{after} \texttt{mtxlatex}.
+If you do use a font package, load it \emph{after} \texttt{mtxlatex}.
\item \verb"\pagestyle{headings}" puts page
numbers and running headings at the top of the page.
\item To change fonts, use pure \LaTeXe\
@@ -1972,19 +1974,20 @@ a special lyrics font, e.g.
\subsection{Collections of morsels}
The situation is a little different when the pieces are so short
-that more than one of them fit on one page. For these, use the
+that several of them fit on one page. For these, use the
environment \ttxem{excerpts}, as in the following example:
\verbatiminput{kanons.ltx}
The rest of the procedure is the same as for collections of longer
pieces.
-You can see the finished product in \texttt{halleluja.pdf}.
+You can see the finished product in \texttt{kanons.pdf}.
Some points to note:
\begin{itemize}
\item The \texttt{excerpts} environment redefines the heading fonts
to more modest sizes.
\item A page break should be made before quitting the environment.
+
\item The pieces do not have bar numbers, but space should be reserved
-for the numbers that show where the voices enter. This is done
+for the numbers that show where the voices enter. As above, this is done
by redefining the \keyindex{writebarno} command.
\end{itemize}
@@ -2053,12 +2056,23 @@ of the command and restore it later, e.g.
In \LaTeX, if you redefine a command inside an environment, the saving and
restoring is automatic.
+\subsection{\Large \texttt{mtx.tex}} \label{mtxtex}
+
+The \MTx\ preprocessor, as far as possible, issues commands starting
+with \verb"\mtx" instead of direct \TeX\ commands. The main purpose
+for so doing is that the user can modify their effect by redefining
+them in the source file. These macros, together with a few others
+that make life easier, are collected in the file \ttxem{mtx.tex}.
+
+Documentation of these commands can be found at the end of the file
+\texttt{mtx.tex}.
+
\subsection{Changing fonts}
The font used for lyrics is the default text font of the moment,
-which usually is ten-point roman.
+which usually is eleven-point roman.
It can be changed globally, e.g.
-\verb"%% \twelverm" in the preamble will change the font to
+\verb"TeX: \twelverm" in the preamble will change the font to
twelve-point. When using \LaTeX, you can use font-changing commands
inside the environment to change the lyrics font only for that
particular piece.
@@ -2079,20 +2093,25 @@ If you are not using \LaTeX, they can be redefined in two ways:
\verb" \font\BIGfont=cmss9 scaled \magstep4"
\end{itemize}
-\subsection{\Large \texttt{mtx.tex}} \label{mtxtex}
+The macros \keyindex{mtxPalatino} and \keyindex{mtxHelvetica} defined in
+\texttt{mtx.tex}, based on work by Andr\'e van Ryckeghem, replace
+Computer Modern in all the font definitions by Palatino and Helvetica
+respectively.
-The \MTx\ preprocessor, as far as possible, issues commands starting
-with \verb"\mtx" instead of direct \TeX\ commands. The main purpose
-for so doing is that the user can modify their effect by redefining
-them in the source file. These macros, together with a few others
-that make life easier, are collected in the file \ttxem{mtx.tex}.
+\pagebreak
-Documentation of these commands can be found at the end of the file
-\texttt{mtx.tex}.
+\setcounter{page}{1}
+\renewcommand{\thepage}{I-\arabic{page}}
+
+\def\Flat{{\musixfont\char'062}}
+\def\Sharp{{\musixfont\char'064}}
+\def\mtxSharp{\mbox{\raise1ex\hbox{\Sharp}}}
+\def\mtxFlat{\mbox{\raise1ex\hbox{\Flat}}}
-%\pagebreak
+If you can't find what you need here, also try the Table of Contents.
+Other sources of help are listed in Appendix A.
-%\printindex
+\printindex
\end{document}
\endinput
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtxdoc.pdf b/Master/texmf-dist/doc/generic/m-tx/mtxdoc.pdf
new file mode 100644
index 00000000000..c305e308778
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/mtxdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxdoc.sty b/Master/texmf-dist/doc/generic/m-tx/mtxdoc.sty
index 521d823bfd0..e4e0cbab27f 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxdoc.sty
+++ b/Master/texmf-dist/doc/generic/m-tx/mtxdoc.sty
@@ -36,14 +36,16 @@
% Making an index
+\definecolor{Green}{rgb}{0,0.5,0.1}
+\definecolor{Red}{rgb}{0.5,0,0.1}
\long\def\theindex{\renewcommand{\thesection}{}\section{Index}\parindent\z@
\parskip\z@ plus.3\p@\relax \let\item\@idxitem \columnseprule\z@
\columnsep35\p@ \begin{multicols}{2}}
\def\endtheindex{\end{multicols}}
\def\keyindex#1{\leavevmode
- \hbox{{\color{red}\Bslash #1}}\index{#1@{\protect\Bslash #1}}}
-\def\zkeyindex#1{\index{#1@{\color{red}\protect\Bslash #1}}}
-\def\indexed#1{{\color{green}#1}}
+ \hbox{{\color{Red}\Bslash #1}}\index{#1@{\protect\Bslash #1}}}
+\def\zkeyindex#1{\index{#1@{\color{Red}\protect\Bslash #1}}}
+\def\indexed#1{{\color{Green}#1}}
\def\ixem#1{\indexed{#1}\index{#1}}
\def\itxem#1{\indexed{\ital{#1}}\index{#1}}
\def\ttxem#1{\indexed{\tt #1}\index{#1@{\tt #1}}}
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxindex.tex b/Master/texmf-dist/doc/generic/m-tx/mtxindex.tex
index 5015e7f58fe..5015e7f58fe 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxindex.tex
+++ b/Master/texmf-dist/doc/generic/m-tx/mtxindex.tex
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxlatex.sty b/Master/texmf-dist/doc/generic/m-tx/mtxlatex.sty
index 6061de4b40b..5d76ffa24a7 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/mtxlatex.sty
+++ b/Master/texmf-dist/doc/generic/m-tx/mtxlatex.sty
@@ -3,7 +3,7 @@
% Dirk Laurie dlaurie@na-net.ornl.gov 2001-12-27
% Update: see \mtxdate below
% Some comments on usage appear at the bottom
-
+\usepackage{etex}
\ifx\mtxlatex\undefined\else\endinput\fi
\def\MTx{\mbox{\textbf{\textsl{M-Tx}}}}
@@ -17,9 +17,8 @@
% generated by M-Tx/PMX
\def\mtxlatex{
-\input musixmad
\def\mtxversion{mtxLaTeX}
-\def\mtxdate{<16 March 2005>}
+\def\mtxdate{<16 January 2016>}
\input mtx
\renewcommand{\BIGfont}{\Huge\bfseries}
\renewcommand{\Bigfont}{\Large\bfseries}
@@ -28,7 +27,7 @@
}
% Extra vertical space evenly spread between systems
\renewcommand\alaligne{\stoppiece\vfill\contpiece}
-\def\scoreheight{\textheight 260mm}
+\def\scoreheight{\textheight 270mm}
\def\scorewidth{\textwidth 193mm}
\newcommand{\startscore}{\let\SmuF\startmuflex\let\EmuF\endmuflex
@@ -75,6 +74,8 @@
\verbatiminput{#1.#2}
\end{minipage}}
+\mtxlatex
+
\endinput
============================================================================
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/netfirst.mtx b/Master/texmf-dist/doc/generic/m-tx/netfirst.mtx
index 8a902b00a1a..101bbac4df1 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/netfirst.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/netfirst.mtx
@@ -5,7 +5,6 @@ Sharps: 2
Meter: 3/4
Space: 9
-%% w190m
f f f | e2s e4 | f2 b4 | a2d | g4 g g | f2 f4 | g2 c4n | b2d |
d d d | d2r d4r | d2 d4 | d2d | e4 e e | d2s d4 | e2 f4 | f2d |
L: 1. Net soos ek is, geen hulp na-by, al-leen U bloed ge-stort vir my,
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos.mta b/Master/texmf-dist/doc/generic/m-tx/netsoos.mta
index 6e126843cb4..ed0612e80fa 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos.mta
+++ b/Master/texmf-dist/doc/generic/m-tx/netsoos.mta
@@ -3,4 +3,3 @@ Sharps: 2
Meter: 3/4
Space: 9
-%% w190m
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos1.mtb b/Master/texmf-dist/doc/generic/m-tx/netsoos1.mtb
index 43b015fe49c..43b015fe49c 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos1.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/netsoos1.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos2.mtb b/Master/texmf-dist/doc/generic/m-tx/netsoos2.mtb
index 1d971a9fed0..1d971a9fed0 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/netsoos2.mtb
+++ b/Master/texmf-dist/doc/generic/m-tx/netsoos2.mtb
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/notes.tex b/Master/texmf-dist/doc/generic/m-tx/notes.tex
index 02d08b1b4ff..02d08b1b4ff 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/notes.tex
+++ b/Master/texmf-dist/doc/generic/m-tx/notes.tex
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/pdfcat b/Master/texmf-dist/doc/generic/m-tx/pdfcat
index fd773f76903..fd773f76903 100755
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/pdfcat
+++ b/Master/texmf-dist/doc/generic/m-tx/pdfcat
diff --git a/Master/texmf-dist/doc/generic/m-tx/pmx.tex b/Master/texmf-dist/doc/generic/m-tx/pmx.tex
new file mode 100644
index 00000000000..916eda321fc
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/pmx.tex
@@ -0,0 +1,807 @@
+%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% pmx.tex %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%
+\ifx\pmxversion\undefined\else\endinput\fi
+\def\pmxversion{2.72}\def\pmxdate{10 Jan 16}
+% 2.619 At movement break, directly set \nbinstruments in \newmovement;
+% probably don't need \newnoi any more.
+% (2.619a) Added \resetlyrics in \newmovement.
+% 2.614 Comment out definitions of some dotted rests, since either in
+% musixtex.tex or not needed.
+% Modified for two figured bass lines 081115
+% 2.502 (Olivier Vogel) change all the commands of the form
+% \font\...=\fontid sy1000 to \font\...=cmsy10
+% 2.408 comment out extra definition of \mdot
+% tweak \hpausep, replace \liftPAuse, add \liftPAusep
+% 2.406 redefine \starteq to put down strut for first system inside \znotes
+% 2.354a add \zcharnote{##2}{~} to \tieforsl
+% 2.354
+% Macros \tieforisu, etc, to replace slurs with ties, for use with musixps
+% 2.353
+% Define \pmxversion
+% Insert Dirk's 2nd set of (LaTeX-aware) redefinitions for \centerline etc.
+% Add 5th option for \endset to \newmovement, for Rz.
+% 12/24/01 add \setzalaligne
+% 12/23/01 Remove \parskip re-definition.
+% 12/16/01 Define \psforts (postscript slur endings to replace \midslur)
+% 10/20/01 added defn's of \bigcna, etc
+% 10/20/01 define \resetsize, redefine \gaft, \grace, and \shlft so resizing
+% is conditional on current staff line spacing.
+% 11 September Redefine liftpausc to include ledger line.
+% 26 Aug 01 Add \pcaesura, \pbreath
+% 10/21/00 Added PMXbarnotrue/false and stopped PMX zapping writezbarno
+% 15 October added vertical equalization macros
+% 4 July added \PAusep, \brevep, dynamic mark placement \pmxdyn, \sfz
+% 1 July inserted stuff for hairpins
+% 31 May 99 Redefined \smno
+%
+\immediate\write10%
+{PMX, a Preprocessor for MusiXTeX, Version\space\pmxversion b\space<\pmxdate>}%
+% Check for MusiXTeX version. TeX generates an error, not an ordinary
+% \end, because the \ifnum is not completed.
+\ifnum\mxvernumber<121\immediate\write16{ }
+\immediate\write16{****************}
+\immediate\write16{! STOPPING TeX because MusiXTeX Version = \mxvernumber}
+\immediate\write16{ while PMX 2.71+ requires at least 121}
+\immediate\write16{****************}
+\immediate\write16{ }\end{document}\fi
+%
+\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
+%
+% The next 4 lines are for Don's home use only
+%
+\font\specfnt=cmssqi8%
+\def\mtr#1{\zcharnote{#1}%
+{\specfnt\kern 1.5\internote\raise 0.3\internote\hbox to 0pt{/\hss}%
+\kern -0.7\internote\raise 1.0\internote\hbox to 0pt{/\hss}}}
+%
+\newif\ifolder%
+%
+% Older fonts had clefs at different heights. If you have the older
+% version you should uncomment the following line
+%\oldertrue%
+%
+% The next 3 lines should be in musixmad. They were omitted in
+% some early versions!
+%
+%\newcount\s@Nx
+%\newcount\s@Nxi
+%\newcount\s@Nxii
+%
+% Special clef change stuff
+%
+\newcount\reflect
+\def\pmxnewclefs{\m@loop\s@l@ctclefs\o@c\a@c\repeat}%
+\newtoks\pmxclefsym
+\def\pmxclef#1#2{\ifnum#1=0\def\pmxclefsym{\smalltrebleclef}\else\ifnum#1<5%
+\def\pmxclefsym{\smallaltoclef}\else\ifnum#1=7\def\pmxclefsym{\smalltrebleclef}%
+\else\def\pmxclefsym{\smallbassclef}\fi\fi\fi%
+% Adjust height here for older clef default heights.
+\reflect#2\ifolder\ifnum#1=0\advance\reflect-2\else\ifnum#1<5\advance\reflect-4%
+\else\advance\reflect-6\fi\fi\fi%
+\lcharnote{0}{\raise\reflect\internote\hbox{\pmxclefsym}}}%
+%
+% Grace note stuff, incl. macro to reset size after going tiny.
+% This may assume that \musicsize is 20pt but some staves may have
+% \setsize#1\smallvalue
+%
+\def\resetsize{\ifdim\internote<.95\Internote%
+\let\musictinyfont\musicthirteen\smallnotesize\else\normalnotesize\fi}%
+\def\settiny{\ifdim\internote<.95\Internote\let\musictinyfont\musiceleven\fi%
+\tinynotesize}%
+\def\grace#1#2#3{\off{-#1pt}\settiny\stdstemfalse#2\zcu{#3}%
+\resetsize\off{#1pt}}%
+\def\shlft#1#2{\off{-#1pt}\settiny\stdstemfalse#2\resetsize\off{#1pt}}%
+\def\gaft#1#2{\bsk\roffset{#1}{{\settiny\stdstemfalse#2\resetsize}}\sk}%
+%
+% The following keep octaviation out of brackets.
+% 10/20/01: Are these used anywhere???
+%
+%\def\Gshl#1{\off{-#1pt}\tinynotesize}%
+%\def\Gshr#1{\normalnotesize\off{#1pt}}%
+\def\segnoo#1#2{\zcharnote{#2}{\kern#1pt\musicsmallfont\char"56}}%
+\def\ssegno#1{\zcharnote{#1}{\musictinyfont\char86}}%
+%
+% Some ornaments...
+%
+% Font for x-trill symbol. Could make this more general.
+%
+\def\xtr#1{\zcharnote{#1}{\xtrfont\char"02}}
+%
+% Plus-trill
+%
+\def\ptr#1{\ptrx{#1}{1.8}{.35}}
+\def\ptrx#1#2#3{\zcharnote{#1}{\raise.9\internote\hbox{%
+\pcil\h@lf\qn@width\kern\pcil%
+\razclef#2\internote\pcil#3\internote\kern-\h@lf\razclef\vrule height \h@lf\pcil
+depth \h@lf\pcil width \razclef\kern-\h@lf\razclef\kern-\h@lf\pcil\kern-.1pt
+\vrule height \h@lf\razclef depth \h@lf\razclef width \pcil}}%
+}%
+%
+% Put in a number for an xtuplet.
+%
+\def\xnum#1#2#3{\off{#1\elemskip}\zcharnote{#2}{\smalltype\it #3}%
+\off{-#1\elemskip}}
+%
+% accidental skips
+%
+\def\ast#1{\off{#1\elemskip}}
+%
+% Check for and read a .mod file; open the .ask file
+%
+\newread\pmxmod
+\def\readmod#1{\openin\pmxmod #1.mod\relax
+\ifeof\pmxmod\else\input #1.mod\fi\closein\pmxmod}
+%
+% Macros for optional small notes, usually w/ down stems. Offset to center
+% them below a large note. I used these in Matteis.
+%
+%\def\smno#1{\roffset{.17}{\tinynotesize#1\normalnotesize}}%
+%
+% Redefined, due to some mysterious problem with \roffset
+%
+\def\smno#1{\off{.17\qn@width}\tinynotesize#1\normalnotesize\off{-.17\qn@width}}%
+\def\pmno#1{\roffset{.08}{\smallnotesize#1\normalnotesize}}%
+\def\smq#1{\smno{\zql{#1}}}\def\smc#1{\smno{\zcl{#1}}}%
+\def\smh#1{\smno{\zhl{#1}}}%
+%
+% Single-digit meter symbol
+%
+\newbox\workbox%
+\def\meterN#1{\setbox\workbox=\vbox{\hbox{\ \meterfont #1}}%
+\vbox to 8\internote{\offinterlineskip\vss\hbox to \wd\workbox{\hss
+\meterfont #1\hss}\vss }}%
+%
+% Meter symbol '3' with vertical slash
+%
+\def\meterIIIS{\kern\internote\raise\Interligne\hbox{\meterfont 3}%
+\kern -2.0\internote
+\vrule height 7\internote depth -\internote width0.3\internote
+\kern 1.7\internote}%
+%
+% Fractional meter with a slash
+%
+\def\meterfracS#1#2{%
+\kern\internote\raise2\Interligne\rlap{\meterfont #1}%\lower2\Interligne%
+\hbox{\meterfont #2}%
+\kern -1.85\internote
+\vrule height 8\internote width0.3\internote
+\kern 1.55\internote}%
+%
+% *Symbols* for use in figures
+%
+\def\sharpfig{\musixchar92}
+\def\flatfig{\musixchar90}
+\def\natfig{\musixchar94}
+\def\fsmsh{\llap{\musixchar92}}
+\def\fsmfl{\llap{\musixchar90}}
+\def\fsmna{\llap{\musixchar94}}
+%
+% Macros for editorial accidentals
+%
+\def\qedit#1{\roffset{.2}{\zcharnote{#1}{\normtype\rm?}}}
+\def\qsharp#1{%
+\loffset{.2}{\zcharnote{#1}{\sharpfig\lower1.3\internote\hbox{\normtype\rm?}}}}
+\def\qflat#1{%
+\loffset{.2}{\zcharnote{#1}{\flatfig\lower.8\internote\hbox{\normtype\rm?}}}}
+\def\qnat#1{%
+\loffset{.2}{\zcharnote{#1}{\natfig\lower1.2\internote\hbox{\normtype\rm?}}}}
+\def\esharp#1{\roffset{.3}{\zcharnote{#1}{\sharpfig}}}
+\def\eflat#1{\roffset{.3}{\zcharnote{#1}{\flatfig}}}
+\def\enat#1{\roffset{.3}{\zcharnote{#1}{\natfig}}}
+%
+% Cautionary big accidentals
+%
+\def\bigcna{\cna} \def\bigcfl{\cfl} \def\bigcsh{\csh}
+%
+% Some fonts...for some reason my system can't do cmbx12 scaled \magstep4
+% 9/17/97 Must redo the following 3 lines to permit EC/DC fonts
+%
+%\font\BIGfont=cmbx10 scaled\magstep4\font\Bigfont=cmbx10 scaled\magstep2
+%\font\tempo=\fontid bx12%
+%\font\dyn=\fontid bx10%
+\iflongDCfontnames
+\font\xtrfont=cmsy10
+\font\tempo=\fontid bx1200
+\font\dyn=\fontid bx1000
+\else\iflongECfontnames
+\font\xtrfont=cmsy10
+\font\tempo=\fontid bx1200
+\font\dyn=\fontid bx1000
+\else
+%\font\xtrfont=cmsy10
+%\font\BIGfont=cmbx10 scaled\magstep4
+%\font\Bigfont=cmbx10 scaled\magstep2
+\font\xtrfont=cmsy10
+% Definitions deleted per Bob Tennent's request 150726
+%\font\BIGfont=\fontid bx10 scaled\magstep4
+%\font\Bigfont=\fontid bx10 scaled\magstep2
+\font\tempo=\fontid bx12%
+\font\dyn=\fontid bx10%
+\fi\fi
+%
+% Continuation figure
+%
+\def\Cont#1#2{\advance\figdrop by #1\lower\figdrop\internote%
+\hbox to \z@{\kern -0.3\noteskip%
+\vbox{\hrule height 1.4\lthick width #2\noteskip}\hss}%
+\advance\figdrop by -#1}%
+\def\Cott#1#2{\advance\figdtwo by #1\lower\figdtwo\internote%
+\hbox to \z@{\kern -0.3\noteskip%
+\vbox{\hrule height 1.4\lthick width #2\noteskip}\hss}%
+\advance\figdtwo by -#1}%
+
+%
+% Tiny C clef on line #1: Will need to mod with new fonts 11-4-96
+%
+\newdimen\razclef\newdimen\symwid%
+\newdimen\pcil %\ifnum\musicsize=20\pcil4pt\else\pcil3.25pt\fi%
+\def\preclef#1#2{%
+\ifnum#2=20\pcil4pt\else\pcil3.25pt\fi%
+\symwid3.692\pcil%
+\hbox{\vbox{\hrule height \lthick width \symwid}%
+\kern-\symwid\raise\pcil\vbox{\hrule height \lthick width \symwid}%
+\kern-\symwid\raise2\pcil\vbox{\hrule height \lthick width \symwid}%
+\kern-\symwid\raise3\pcil\vbox{\hrule height \lthick width \symwid}%
+\kern-\symwid\raise4\pcil\vbox{\hrule height \lthick width \symwid}%
+\razclef-2.43\pcil\advance\razclef#1\pcil%
+\kern-\symwid\raise\razclef\hbox to \symwid{\hss\smallaltoclef\hss}%
+}}%
+\def\namewpc#1#2#3#4#5{\raise#4pt\hbox to \parindent{\raise#5pt\hbox{#1}%
+\hfill\preclef{#2}{#3}}}
+%
+% Stuff for figure placements
+%
+% 9/17/97 redo font names
+%
+%\font\figfont=cmr10
+\def\figfont{\normtype\rm}%
+%
+\newcount\figdrop
+\newcount\figdtwo
+%\figdrop=6
+\newcount\sysno
+\global\sysno=0\relax%
+\def\Figu#1#2{\off{.9pt}\advance\figdrop by #1\lower\figdrop\internote%
+\hbox to \z@{\figfont#2\hss}\off{-.9pt}\advance\figdrop by -#1}%
+%
+% Special Figure macro for 2-bass parts
+%
+%\def\Figt#1#2{\zcharnote{#1}{\kern.9pt\figfont#2}}%
+\def\Figt#1#2{\off{.9pt}\advance\figdtwo by #1\lower\figdtwo\internote%
+\hbox to \z@{\figfont#2\hss}\off{-.9pt}\advance\figdtwo by -#1}%
+%
+% Bar numbering
+%
+\systemnumbers%
+\def\raisebarno{3.5\internote}%
+\def\shiftbarno{3.5\internote}%
+\newdimen\rbnbl\newdimen\sbnbl\newdimen\xrbn\newdimen\xsbn%
+\newdimen\rbndim\newdimen\sbndim%
+\global\rbndim\raisebarno\global\sbndim\shiftbarno%
+\global\def\raisebarno{\rbndim}\global\def\shiftbarno{\sbndim}%
+\global\rbnbl\rbndim\global\sbnbl\sbndim\global\xrbn0pt\global\xsbn0pt%
+%
+% The following 2 macros are messy, but they retain \raisebarno as a macro and
+% retain original definition in musixtex for the end-of-line utility.
+%
+\def\bnrs#1#2{%
+%
+% If here, baseline values will not change. On exit, \rbndim will
+% be the temporary value, \xrbn will be the increment (must save to check later;
+% if <>0 then baseline hasn't changed!), and \rbnbl is still the baseline value.
+%
+ \global\xrbn#1\internote\global\advance\rbndim\xrbn%
+ \global\xsbn#2\internote\global\advance\sbndim\xsbn%
+}%
+\def\writebarno{%
+ \ifnum\barno>1%
+ \boxit{\smalltype\bf\the\barno\barnoadd}%
+ \ifdim\raisebarno=\rbnbl%
+ \empty%
+ \else%
+ \ifdim\xrbn=0pt%
+ \global\rbnbl\raisebarno%
+ \global\def\raisebarno{\rbndim}%
+ \else%
+ \global\xrbn0pt%
+ \fi%
+ \global\rbndim\rbnbl%
+ \fi%
+ \ifdim\shiftbarno=\sbnbl%
+ \empty%
+ \else%
+ \ifdim\xsbn=0pt%
+ \global\sbnbl\shiftbarno%
+ \global\def\shiftbarno{\sbndim}%
+ \else%
+ \global\xsbn0pt%
+ \fi%
+ \global\sbndim\sbnbl%
+ \fi%
+ \fi%
+}%
+%
+% Make small accidentals the default
+%
+\smallaccid%
+%
+% Put in a new time signature. Modified 151226
+%
+\def\newtimes#1%
+{\ifnum#1=0%
+ \n@wbar\writ@newclefs\advance\barsinlin@\@ne%
+%
+% Added 151216
+%
+ \wbarno@x\Writ@newsigns%
+ \advance\n@skip0.3\afterruleskip\widthtyp@\@ne\t@rmskip%
+ \Writ@meters\lastbarpos\lin@pos\addspace\afterruleskip%
+\else\ifnum#1=1%
+ \alaligne
+\else
+ \wbarno@x%
+%
+% Added 151226
+%
+\addspace\afterruleskip
+%
+% -0.7 gave too much space before meter.
+%
+% \advance\n@skip-0.7\afterruleskip\widthtyp@\@ne\t@rmskip%
+ \advance\n@skip-\afterruleskip\widthtyp@\@ne\t@rmskip%
+ \Writ@meters\addspace\afterruleskip%
+\fi\fi}%
+%
+% changecontext with no line break
+%
+\def\xchangecontext{\n@wbar\writ@newclefs
+ \wbarno@x\Writ@newsigns\Writ@meters\addspace\afterruleskip}%
+%
+% changecontext with forced line break and no barline
+%
+\def\zachangecontext{\advance\n@skip\beforeruleskip \widthtyp@\@ne \t@rmskip
+ \zn@wbar \writ@newclefs \advance\barsinlin@\@ne
+ \Writ@newsigns\z@suspend\contpiece }
+%
+% Dotted rests.
+%
+%\def\hsp{\pt7\hs}
+%\def\hspp{\ppt7\hs}
+%\def\qsp{\pt5\qs}\def\dsp{\pt5\ds}\def\qpp{\pt5\qp}
+%\def\qspp{\ppt5\qs}\def\dspp{\ppt5\ds}\def\qppp{\ppt5\qp}
+%\def\pausep{\off{.33\qn@width}\pt5\off{-.33\qn@width}\pause}
+%\def\pausep{\wholeshift{\pt5}\pause}
+\def\hpausepp{\wholeshift{\ppt5}\hpause}
+\def\pausepp{\wholeshift{\ppt5}\pause}
+%
+% Redefine headline to lower pagenumber. The original defn:
+% \def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+% \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
+%
+\def\makeheadline{\vbox to\z@{\vskip-8\p@
+ \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
+%
+% Dot at arbitrary height above a top line of staff
+%
+%\def\mdot#1{\zcharnote8{\kern-5.3pt\raise{#1}\internote\hbox{\musixchar0}}}
+%
+% Titles
+%
+%\def\titles#1#2#3#4#5#6#7{\kern-\lin@pos%
+%\kern-3.2\Interligne\kern-\parindent\kern-\afterruleskip%
+%\kern-\sign@skip%
+%\vbox{\vskip#1\Interligne
+%\ifx\relax#2\relax\else\leftline{\Bigtype #2}\fi\vskip#3\Interligne%
+%\ifx\relax#4\relax\else\centerline{\BIGtype #4}\fi\vskip#5\Interligne%
+%\ifx\relax#6\relax\else\rightline{\Bigtype #6}\fi\vskip#7\Interligne}}%
+%
+% New def'n per Dirk Laurie to allow multiple lines.
+%
+\ifx\documentclass\undefined
+\def\centerlines#1{{\def\\{\hss\egroup\medskip\par\line\bgroup\hss}%
+ \line\bgroup\hss#1\hss\egroup}}
+\def\leftlines#1{{\def\\{\hss\egroup\smallskip\par\line\bgroup}%
+ \line\bgroup#1\hss\egroup}}
+\def\rightlines#1{{\def\\{\egroup\smallskip\par\line\bgroup\hss}%
+ \line\bgroup\hss#1\egroup}}
+\else
+\def\centerlines#1{{\centering#1\\}}
+\def\leftlines#1{{\raggedright#1\\}}
+\def\rightlines#1{{\raggedleft#1\\}}
+\fi
+%\def\centerline#1{{\def\\{\hss\egroup\medskip\par\line\bgroup\hss}%
+% \line\bgroup\hss#1\hss\egroup}}
+%\def\leftline#1{{\def\\{\hss\egroup\smallskip\par\line\bgroup}%
+% \line\bgroup#1\hss\egroup}}
+%\def\rightline#1{{\def\\{\egroup\smallskip\par\line\bgroup\hss}%
+% \line\bgroup\hss#1\egroup}}
+\def\titles#1#2#3#4#5#6#7{\kern-\lin@pos%
+\kern-3.2\Interligne\kern-\parindent\kern-\afterruleskip%
+\kern-\sign@skip%
+\vbox{\vskip#1\Interligne
+% Next 3 lines replaced at Bob Tennent's request 150726
+%\ifx\relax#2\relax\else{\Bigtype\leftlines{#2}}\fi\vskip#3\Interligne%
+%\ifx\relax#4\relax\else{\BIGtype\centerlines{#4}}\fi\vskip#5\Interligne%
+%\ifx\relax#6\relax\else{\Bigtype\rightlines{#6}}\fi\vskip#7\Interligne}}%
+\ifx\relax#2\relax\else{\bigtype\leftlines{#2}}\fi\vskip#3\Interligne%
+\ifx\relax#4\relax\else{\BIgtype\centerlines{#4}}\fi\vskip#5\Interligne%
+\ifx\relax#6\relax\else{\bigtype\rightlines{#6}}\fi\vskip#7\Interligne}}%
+%
+% Slashes on stems
+%
+\def\usoff#1{%
+% Set \pcil to (stem length)-9\Internote
+ \ifnum#1>10
+ \pcil-3.8\Internote
+ \else
+ \pcil#1\Internote
+ \ifnum#1>3
+ \pcil-.38\pcil\advance\pcil-.5\Internote
+ \ifnum#1>7
+ \advance\pcil.38\Internote
+ \fi
+ \else
+ \ifnum#1<-2
+ \pcil-\pcil\advance\pcil-5\Internote
+ \else
+ \pcil-2\Internote
+ \fi
+ \fi
+ \fi
+ \advance\pcil#1\Internote
+}%
+%
+\def\us#1{\usoff{#1}%
+ \raise\pcil\hbox{\loffset{.5}{\ibu009}\roffset{.5}{\tbu0}}}%
+\def\ls#1{\reflect-#1\advance\reflect8 %
+\usoff{\reflect}\advance\pcil-7\Internote%
+ \lower\pcil\hbox{\loffset{.5}{\ibl009}\roffset{.5}{\tbl0}}}%
+%
+% Thinner slashes, better coding
+%
+\newdimen\pmxtop\def\aslash#1#2#3{%
+%
+% #1 = note level relative to bottom line. #2 = 0/1 for down/up stem
+% #3 = 0/1 for down/up slash, For downstem, reflect, do as up, then unreflect.
+%
+\ifcase#3\def\slchar{\char248}\or\def\slchar{\char184}\fi%
+\ifcase#2\pmxtop-#1\internote\advance\pmxtop8\internote\or\pmxtop#1\internote%
+\fi\advance\pmxtop4.66\interbeam\ifdim\pmxtop>11\internote\uptop{11}\uptop{12}%
+\uptop{13}\uptop{14}\uptop{15}\uptop{16}\fi%
+\ifdim\pmxtop<4\internote\pmxtop4\internote\fi%
+%
+% \pmxtop now top of stem for upstem. Unreflect if downstem
+%
+\ifcase#2\pmxtop-\pmxtop\advance\pmxtop8\internote\ifcase#3%
+\advance\pmxtop2.5\internote\or\advance\pmxtop.9\internote\fi%
+\ccharnote0{\raise\pmxtop\hbox{\musictinyfont\slchar}}%
+\or\ifcase#3\advance\pmxtop-.9\internote\or\advance\pmxtop-2.5\internote\fi%
+\roff{\ccharnote0{\raise\pmxtop\hbox{\musictinyfont\slchar}}}\fi}%
+\def\uptop#1{\ifdim\pmxtop>#1\internote\advance\pmxtop-.25\interbeam\fi}%
+%
+% Signature change at end of line
+%
+\def\sigatend#1#2{\setdoublebar\xbar\hardspace{-#2pt}\generalsignature{#1}%
+\zchangecontext\hardspace{-#2pt}\advance\barno-1\let\barrul@\empty}%
+%
+% Macros for beams
+%
+\def\rbbu#1{\roff{\tbbu{#1}}}
+\def\rbbbu#1{\roff{\tbbbu{#1}}}
+\def\rbbbbu#1{\roff{\tbbbbu{#1}}}
+\def\rbbl#1{\roff{\tbbl{#1}}}
+\def\rbbbl#1{\roff{\tbbbl{#1}}}
+\def\rbbbbl#1{\roff{\tbbbbl{#1}}}
+%
+% Stuff for second voice per staff
+%
+\def\nextvoice{%
+\@ndstaff\reflect\noport@@\advance\noport@@-1\beginstaff\noport@@\reflect}%
+%
+% Macros for moving slur starts and stops
+%
+\def\isu#1#2#3{\roffset{#3}{\isluru{#1}{#2}}}%
+\def\isd#1#2#3{\roffset{#3}{\islurd{#1}{#2}}}%
+\def\ts#1#2#3{\roffset{#3}{\tslur{#1}{#2}}}%
+%
+% Macro to replace old \tslur with special postscript slur endings
+%
+\def\psforts#1{\let\tst\tslur\def\tslur##1##2{%
+\ifnum#1=0\tst{##1}{##2}\else%
+\ifnum#1=1\tfslur{##1}{##2}\else%
+\ifnum#1<4\tst{##1}{##2}\else%
+\ifnum#1=4\thslur{##1}{##2}\else%
+\ifnum#1=5\tHslur{##1}{##2}\else%
+\tHHslur{##1}{##2}\fi\fi\fi\fi\fi\let\tslur\tst}}%
+%
+% Macros to replace slurs with ties
+%
+\def\tieforisu{\let\ist\isluru%
+\def\isluru##1##2{\itieu{##1}{##2}\let\isluru\ist}}%
+\def\tieforisd{\let\ist\islurd%
+\def\islurd##1##2{\itied{##1}{##2}\let\islurd\ist}}%
+\def\tieforts{\let\ist\tslur%
+\def\tslur##1##2{\ttie{##1}\zcharnote{##2}{~}\let\tslur\ist}}%
+%
+% Replacement trill macros, to avoid overfull boxes on 1st pass
+%
+\let\savtr\trille\let\savTr\Trille%
+\def\trille#1#2{\ifeof\inmux\else\savtr{#1}{#2}\fi}%
+\def\Trille#1#2{\ifeof\inmux\else\savTr{#1}{#2}\fi}%
+%
+% Mordent as \rpar. If dotted, must move dot to right.
+%
+\def\lpn#1{\loffset{.3}{\lpar{#1}}}% '('
+\def\rpn#1{\roffset{.3}{\rpar{#1}}}% Beam or not, no dot [ ')' only ]
+\def\clm#1#2{\mdot{#1}{#2}\cl{#2}}% Non-beam, dot [ '.' + ')' + note ]
+\def\cum#1#2{\mdot{#1}{#2}\cu{#2}}%
+\def\qlm#1#2{\mdot{#1}{#2}\ql{#2}}%
+\def\qum#1#2{\mdot{#1}{#2}\qu{#2}}%
+\def\hlm#1#2{\mdot{#1}{#2}\hl{#2}}%
+\def\hum#1#2{\mdot{#1}{#2}\hu{#2}}%
+\def\qbm#1#2#3{\mdot{#2}{#3}\qb{#1}{#3}}% Beamed & dotted
+\def\mdot#1#2{\roffset{.32}{\pt{#1}}\roffset{.24}{\rpar{#2}}}%
+\def\lpnu#1{\smallnotesize\loffset{.3}{\zcharnote{#1}%
+{\raise1pt\hbox{\musixchar3}}}\normalnotesize}%
+\def\lpnd#1{\smallnotesize\loffset{.3}{\zcharnote{#1}%
+{\lower1pt\hbox{\musixchar3}}}\normalnotesize}%
+\def\rpnu#1{\smallnotesize\roffset{.6}{\zcharnote{#1}%
+{\raise1pt\hbox{\musixchar4}}}\normalnotesize}%
+\def\rpnd#1{\smallnotesize\roffset{.6}{\zcharnote{#1}%
+{\lower1pt\hbox{\musixchar4}}}\normalnotesize}%
+%
+% For use with mid-bar signature changes, to permit using \ast machinery
+%
+\def\rdoff{\let\toff\off\let\off\addspace}%
+%
+% For raising arpeggios by .5/internote
+%
+\def\raisearp#1#2{\zcharnote{#1}{%
+ \raise.5\internote\hbox{%
+ \uplap{\leaders\hbox{\musixchar70}\vskip#2\Interligne}}}}
+%
+% New Movement Macro
+%
+%\def\newmovement#1#2{\let\holdstop\stoppiece\let\holdcont\contpiece%
+\def\newmovement#1#2#3{\let\holdstop\stoppiece\let\holdcont\contpiece%
+\ifcase#2\def\endset{\setdoubleBAR}\or\def\endset{\setdoublebar}\or%
+%\def\endset{\setrightrepeat}\or\def\endset{\empty}\fi%
+\def\endset{\setrightrepeat}\or\def\endset{\empty}%
+ \or\def\endset{\empty}\fi%
+ \def\stoppiece{\endset%
+%
+%+++
+\ifnum#2=4\zstoppiece\else%
+%+++
+%
+\holdstop%
+%
+%+++
+\fi%
+%+++
+%
+\vskip#1\internote%
+\let\stoppiece\holdstop}%
+% \def\contpiece{
+ \def\contpiece{\def\nbinstruments{#3}% <-- assignment inserted here
+%
+% Added 120904 per Rainer's suggestion to fix problem with M-Tx at m-break.
+%
+\ifx\resetlyrics\undefined\else\resetlyrics\fi%
+%
+\startpiece\addspace\afterruleskip\let\contpiece\holdcont}%
+}%
+%
+% Redefinitions for moving dots vertically by x\interligne and
+% horizontally by y headwidths. Should work for all kinds of dotted notes.
+% Usage: \def\C@Point#1#2{\PMXpt{.0}{-.2}} (x and y hardwired by PMX)
+%
+\global\let\C@Psave\C@Point%
+\def\PMXpt#1#2#3{\ifodd\n@i\else\raise\internote\fi%
+\hbox{\raise#1\internote\hbox{\kern#2\qn@width\musixchar#3\kernm#2\qn@width}}%
+\global\let\C@Point\C@Psave}%
+%
+% Shifted, pointed chord notes (Missing in musixtex.tex ???)
+%
+\def\lhp#1{\loff{\zhp{#1}}}
+\def\rhp#1{\roff{\zhp{#1}}}
+\def\lqp#1{\loff{\zqp{#1}}}
+\def\rqp#1{\roff{\zqp{#1}}}
+\def\rhpp#1{\roff{\zhpp{#1}}}
+\def\lhpp#1{\loff{\zhpp{#1}}}
+\def\rqpp#1{\roff{\zqpp{#1}}}
+\def\lqpp#1{\loff{\zqpp{#1}}}
+%
+% Redefine to include \sk !!!
+%
+\def\liftpause#1{\C@ps\@l@v@n\si@{#1}\sk}
+%\def\liftPAuse#1{\C@ps{58}0{#1}\sk}
+% 1/19/03 Replaced old def'n; added \liftPAusep
+\def\liftPAuse#1{\reflect#1\multiply\reflect2%
+\zcharnote{0}{\raise\reflect\internote\hbox{\kern.4\qn@width\musixchar58}}\sk}%
+\def\liftPAusep#1{\reflect#1\multiply\reflect2%
+\zcharnote{0}{\raise\reflect\internote\hbox{\kern.4\qn@width\musixchar58%
+\kern-\qn@width\pt4}}\sk}%
+\def\lifthpause#1{\C@ps\t@n\f@ur{#1}\sk}%
+\def\liftpausep#1{\reflect#1\advance\reflect2%
+\wholeshift{\raise\reflect\Interligne\hbox{\pt0}}\liftpause{#1}}%
+\def\liftpausepp#1{\reflect#1\advance\reflect2%
+\wholeshift{\raise\reflect\Interligne\hbox{\ppt0}}\liftpause{#1}}%
+\def\lifthpausep#1{\reflect#1\advance\reflect2%
+\wholeshift{\raise\reflect\Interligne\hbox{\pt0}}\lifthpause{#1}}%
+\def\lifthpausepp#1{\reflect#1\advance\reflect2%
+\wholeshift{\raise\reflect\Interligne\hbox{\ppt0}}\lifthpause{#1}}%
+%
+% Text up to bar line. Use before last note, assume 1 noteskip to bar.
+%
+\def\bartext#1#2{\sk\loffset{.3}{\zcharnote{#1}{\llap{#2}}}\bsk}
+%
+% Macro used before movement break to change # of instruments.
+% 120818 Set \nbinstruments in \newmovement; probably don't need this any more.
+%
+\def\newnoi#1{\let\atnb\atnextbar\def\atnextbar{\atnb\def\nbinstruments{#1}}}%
+%
+% Set up top page numbers with optional centered heading
+%
+% #2=0 if odds on rt, else 1. #1 = initial page no. #3=name
+\def\toppageno#1#2#3{\pageno#1%
+\headline{\reflect#2\advance\reflect\pageno%
+\ifodd\reflect\rhead{#3}\else\lhead{#3}\fi}%
+\def\rhead##1{\tempo\ifnum\pageno>1\hfil{##1}\fi\hfil\llap\folio}%
+\def\lhead##1{\tempo\rlap\folio\hfil{##1}\hfil}}%
+%
+% Temporary date and file name. To use it:
+%
+% (1) Define a script to create a file tempdate.dat. The file will
+% contain a single line of text to be centered at the bottom of
+% each page. I use a 4DOS alias (makedate) that inserts current date
+% filename, and filedate as follows:
+%
+% echo \smalltype\rm Printed %_date from file %1.pmx %@filedate[c:\pmx\%1.pmx],
+% %@filetime[c:\pmx\%1.pmx] >tempdate.dat
+%
+% (2) Include a call to makedate in the batch file you use to run pmx+tex.
+% Be sure tempdate.dat is written to a directory accessible to TeX.
+%
+% (3) Include in-line tex \\tempdate\ at the top of the pmx file.
+%
+\def\tempdate{\def\makefootline{\baselineskip2pt\line{\the\footline}}
+\footline{\hss\input tempdate.dat\hss}}
+%
+\def\pnotes#1{\vnotes#1\elemskip}%
+%
+% Hairpins and other dynamic stuff
+%
+\newdimen\hpi\newdimen\hpii\newdimen\hpiii\newdimen\hpiv%
+\newdimen\hpv\newdimen\hpvi\newdimen\hpvii\newdimen\hpviii%
+\newdimen\hpix\newdimen\hpx\newdimen\hpxi\newdimen\hpxii\newdimen\hptmp%
+%
+\def\hpstrt#1#2{\getcurpos\advance\y@v#2\qn@width\advance\y@v\txt@ff%
+\global\csname hp\romannumeral#1\endcsname=\y@v}%
+%
+\def\hpendall#1#2#3#4{\getcurpos%
+\advance\y@v-\csname hp\romannumeral#1\endcsname%
+\zcharnote{#2}{\kernm\y@v\advance\y@v\txt@ff\advance\y@v#3\qn@width#4{\y@v}}}%
+%
+\def\hpcend#1#2#3{\hpendall{#1}{#2}{#3}\crescendo}%
+\def\hpdend#1#2#3{\hpendall{#1}{#2}{#3}\decrescendo}%
+%
+\def\pmxdyn#1#2#3{\ccharnote{#1}{\kern#2\qn@width#3}}
+\def\txtdyn#1#2#3{\zcharnote{#1}{\kern#2\qn@width#3}}
+%
+\def\sfz{{\ppff s\f@kern\f@kern f\f@kern z}}%
+%
+% Dotted breve and rest
+%
+\def\brevep{\def\w@h{\musixchar32\roffset\qu@rt{\C@Point\z@\raise}}%
+ \y@v\wn@width \g@w}
+\def\PAusep{\loffset{.5}{\pt5}\PAuse}%
+%
+% Vertical equalization macros
+%
+%\newskip\pssav\pssav\parskip%
+%
+% Remove this from here in 2.352, since it caused some incompatibilities.
+% (Let PMX write it into *.tex when needed).
+%
+%\parskip 0pt plus 12\Interligne minus 99\Interligne%
+\def\upamt{27}\def\dnamt{-20}%
+%\def\upstrut{\znotes\nextinstrument\nextinstrument\zcharnote{\upamt}{X}\en}%
+%
+% Let PMX write the def'n of \upstrut since I couldn't get the loop to work
+%
+\def\dnstrut{\znotes\zcharnote{\dnamt}{~}\en}%
+%
+% Call the following inline type1 anywhere in first line of equalization.
+%
+\def\starteq{\gdef\everystaff{\upstrut\dnstrut}\dnstrut}%
+%
+% And put this as type 1 in the next-to-last line of equalization!
+%
+%\def\endeq{\gdef\everystaff{\upstrut\global\parskip\pssav%
+\def\endeq{\gdef\everystaff{\upstrut%
+\gdef\everystaff{\empty}}}%
+%
+\gdef\spread#1{\global\let\cont\contpiece%
+\gdef\contpiece{\vskip#1\internote\cont\global\let\contpiece\cont}}%
+%
+% The following avoid zapping \writezbarno in several special situations
+%
+\def\PMXbarnotrue{\let\z@sw\empty}%
+\def\PMXbarnofalse{\let\z@sw\@ne}%
+%
+% Centered rests
+%
+\def\pausc{\lrlap{\pause\off{\qn@width}}}%
+\def\PAusc{\lrlap{\PAuse\off{\txt@ff}}}%
+%\def\liftpausc#1{\raise#1\Interligne\pausc}%
+\def\liftpausc#1{\raise#1\Interligne\lrlap{\
+\raise6\internote\hbox{\musixchar11}\off{1.2\qn@width}}}%
+\def\liftPAusc#1{\raise#1\Interligne\PAusc}%
+%
+% CenterBar and mbrest modified 2/01 to account for simick mods in
+% musixtex 1.01
+%
+\def\CenterBar#1#2#3{%
+\y@ii\lin@pos\advance\y@ii-\lastbarpos%
+\ifx\volta@startcor\undefined \else\advance\y@ii\cut@v\fi%
+\advance\y@ii-#2pt\advance\y@ii-#3pt\kern-#3pt%
+\kern-\h@lf\y@ii\lrlap{#1}\kern\h@lf\y@ii\kern#3pt}%
+%
+% mbrest mods 151226. Changed # of args in mbrest from 3 to 1;
+% changed pmx271 accordingly
+% 160103 back to 3 args
+%
+\def\mbgap{\qsk\hqsk}%
+\def\mbrest#1#2#3{%
+\CenterBar{\ccn{9}{\meterfont#1}}{#2}{#3}%
+\CenterBar{%
+\ifcase #1%
+\relax%
+\or\cpause% 1
+\or\cPAuse% 2
+\or\cPAuse\mbgap\cpause% 3
+\or\cPAUSe% 4
+\or\cPAUSe\mbgap\cpause% 5
+\or\cPAUSe\mbgap\cPAuse% 6
+\or\cPAUSe\mbgap\cPAuse\mbgap\cpause% 7
+\or\cPAUSe\mbgap\cPAUSe% 8
+\or\cPAUSe\mbgap\cPAUSe\mbgap\cpause% 9
+\else
+\def\vertpart{\hbox{\vrule width.6pt height1.5\internote depth1.5\internote}}%
+\raise4\internote\hbox{\vertpart%
+\vrule width0.7\y@ii height.5\internote depth.5\internote%
+\vertpart}%
+\fi}{#2}{#3}}%
+%
+% 151226 Redefine \xchangecontext to add in \afterruleskip
+%
+\def\xchangecontext{\n@wbar\writ@newclefs
+ \wbarno@x\Writ@newsigns\Writ@meters\lastbarpos\lin@pos\addspace\afterruleskip}%
+%
+% 151227 Define \ccoda so it positions like any other ornament
+%
+\def\ccoda{\n@iv85\@Char}%
+\def\pcaesura#1#2{\raise#1\internote\hbox{%
+\rlap{\kern.5\noteskip\kern#2\qn@width\musixchar79}}}%
+\def\pbreath#1#2{\zcharnote6{\raise#1\internote\hbox{%
+\rlap{\kern.5\noteskip\kern#2\qn@width\BIGfont'}}}}%
+%
+% Macro to set up for blank bar line
+%
+%\def\setzalaligne{\let\alat\alaligne%
+% \def\alaligne{\zalaligne\let\alaligne\alat}}%
+\def\setzalaligne{\let\zalat\stoppiece%
+ \def\stoppiece{\zstoppiece\let\stoppiece\zalat}}%
+%
+% Slanted line arpeggio or coule ornament
+%
+\def\arpg#1#2{%
+\roffset{#2}{\zcharnote0{\raise#1\internote\hbox{\varline0{6pt}{20}}}}}%
+\def\arpgu#1{\arpg{#1}{.8}}%
+%
+\catcode`\@=\catcodeat
+\message{Done loading PMX \pmxversion}
diff --git a/Master/texmf-dist/doc/generic/m-tx/prepmx.html b/Master/texmf-dist/doc/generic/m-tx/prepmx.html
deleted file mode 100644
index 494710c31c1..00000000000
--- a/Master/texmf-dist/doc/generic/m-tx/prepmx.html
+++ /dev/null
@@ -1,166 +0,0 @@
-Content-type: text/html
-
-<HTML><HEAD><TITLE>Manpage of prepmx</TITLE>
-</HEAD><BODY>
-<H1>prepmx</H1>
-Section: prepmx Manual Page (1)<BR>Updated: 01 September 2005<BR><A HREF="#index">Index</A>
-<A HREF="http://localhost/cgi-bin/man/man2html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-prepmx - preprocessor for PMX, easy music typesetting program
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>prepmx</B>
-
-[<I>options</I>]
-
-<I>jobname</I>
-
-[<I>outdir/</I>]
-
-[<I>stylefile</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>M-Tx</B>
-
-is an easy to use preprocessor language for the
-<B>PMX</B>
-
-music typesetting program, aimed at people who are not experts. For an
-easy example, have a look at the following example:
-<P>
-<BR>&nbsp;&nbsp;c2+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e4&nbsp;&nbsp;&nbsp;&nbsp;g&nbsp;&nbsp;&nbsp;|&nbsp;b4d-&nbsp;&nbsp;c1&nbsp;d&nbsp;c2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
-<BR>&nbsp;&nbsp;c8&nbsp;g+&nbsp;e&nbsp;g&nbsp;c-&nbsp;g+&nbsp;e&nbsp;g&nbsp;|&nbsp;d&nbsp;g&nbsp;f&nbsp;g&nbsp;&nbsp;&nbsp;&nbsp;c-&nbsp;g+&nbsp;e&nbsp;g&nbsp;|
-<P>
-For syntax reference, please look at the M-Tx manual written by Dirk
-Laurie, the creator of the M-Tx language and the author of prepmx, its
-command line utility.
-<P>
-<B>prepmx</B>
-
-processes the file
-<I>jobname</I>.mtx
-
-to generate
-<I>jobname</I>.pmx.
-
-You can then process this file using the `pmx' command.
-<B>PMX</B>
-
-is a preprocessor for MusiXTeX.
-<P>
-<I>outdir/</I>
-
-is the directory where `pmx' will put the final .tex file. Note that the
-trailing slash is mandatory. You can provide a
-<I>stylefile</I>
-
-for M-Tx. If omitted, the file `mtxstyle.txt' in the current
-directory is used, if there is one.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-Options can also be specified in a `Options:' line in the preamble,
-which takes precedence over the command line.
-<DL COMPACT>
-<DT><B>-b</B>
-
-<DD>
-never unbeam eighth notes and shorter
-<DT><B>-c</B>
-
-<DD>
-main music lines only - ignore chords
-<DT><B>-D</B>
-
-<DD>
-enable debug mode
-<DT><B>-f</B>
-
-<DD>
-use tonic sol-fa note names
-<DT><B>-i</B>
-
-<DD>
-ignore errors
-<DT><B>-m</B>
-
-<DD>
-music only - ignore lyrics
-<DT><B>-n</B>
-
-<DD>
-indent first system and print default instrument names
-<DT><B>-t</B>
-
-<DD>
-ignore uptext lines
-<DT><B>-u</B>
-
-<DD>
-uptext synchronizes with notes only, not rests
-<DT><B>-v</B>
-
-<DD>
-verbose progress report
-<DT><B>-w</B>
-
-<DD>
-enable pedantic warnings
-<DT><B>-</B><I>n</I>
-
-<DD>
-select specified case of multiple score
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>EXIT STATUS</H2>
-
-If no error was found,
-<B>prepmx</B>
-
-exits with return code 0. In case of an error, the line number of the
-processed line is returned. This may not always be the line containing
-the actual error. A return status of 10000 means that the input file was
-empty or could not be opened.
-<A NAME="lbAG">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<B>M-Tx</B>
-
-User's Guide (mtx060.pdf)
-<BR>
-
-<A HREF="http://localhost/cgi-bin/man/man2html?1+pmx">pmx</A>(1), <A HREF="http://localhost/cgi-bin/man/man2html?1+musixtex">musixtex</A>(1)
-<A NAME="lbAH">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-prepmx was written by Dirk Laurie &lt;<A HREF="mailto:dpl@sun.ac.za">dpl@sun.ac.za</A>&gt;.
-This manual page was written by Roland Stigge &lt;<A HREF="mailto:stigge@antcom.de">stigge@antcom.de</A>&gt; for the Debian
-project. It was revised and extended by Nis Martensen
-&lt;<A HREF="mailto:nis.martensen@web.de">nis.martensen@web.de</A>&gt;, mostly by copying text from Dirk Laurie's M-Tx
-User's Guide.
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">EXIT STATUS</A><DD>
-<DT><A HREF="#lbAG">SEE ALSO</A><DD>
-<DT><A HREF="#lbAH">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
-using the manual pages.<BR>
-Time: 08:56:25 GMT, September 14, 2012
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/generic/m-tx/prepmx.pdf b/Master/texmf-dist/doc/generic/m-tx/prepmx.pdf
new file mode 100644
index 00000000000..01090ec21de
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/m-tx/prepmx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/psalm42.mtx b/Master/texmf-dist/doc/generic/m-tx/psalm42.mtx
index c5ad930720a..c5ad930720a 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/psalm42.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/psalm42.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/sanctus.mtx b/Master/texmf-dist/doc/generic/m-tx/sanctus.mtx
index 102a400cc80..2aea4ad3112 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/sanctus.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/sanctus.mtx
@@ -5,7 +5,7 @@ Meter: C
Style: Singer
Systems: 2
Size: 20
-%% \hidebarrule1
+TeX: \hidebarrule1
U: !bf 1 | | 2 | | 3 | | 4 | | 5
(~ c4+.b a of g f e d2 )~ { c2 c4 } of (~ c4 f g a g8 f g2 )~ f4 of (~ c+ d c2 b8 a b4 g cd of b8 a4 g2 { f4 f } e )~ fd of (~ g8 a b c4 )~ f2-
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/title.mtx b/Master/texmf-dist/doc/generic/m-tx/title.mtx
index 2bee58c2706..da0236b8ab8 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/title.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/title.mtx
@@ -1,8 +1,9 @@
Bars/line: 2
Style: Solo
Meter: m3400
+Width: 3.7in
+TeX: \Largemusicsize
-%% w3.7i \\Largemusicsize\
U: @<v-2 ~ ~ ~ ~ sf ~ ~ sf sf
[ c1+ r g g ] ( [ af8 g ] ) r b o. | c o.
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/title1.mtx b/Master/texmf-dist/doc/generic/m-tx/title1.mtx
index 9535e62b47a..6ef0af7db87 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/title1.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/title1.mtx
@@ -2,8 +2,8 @@ Bars/line: 2
Style: Solo
Meter: m3400
Size: 29pt
+Width: 3.7in
-%% w3.7i
U: @<v ~ ~ ~ ~ sf ~ ~ sf sf
[ c1+ r g g ] ( [ af8 g ] ) r b o. | c o.
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/viva.mtx b/Master/texmf-dist/doc/generic/m-tx/viva.mtx
index 652203d10b1..652203d10b1 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/viva.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/viva.mtx
diff --git a/Master/texmf-dist/doc/generic/m-tx/mtx060/volta.mtx b/Master/texmf-dist/doc/generic/m-tx/volta.mtx
index 8052b4ec2c3..8052b4ec2c3 100644
--- a/Master/texmf-dist/doc/generic/m-tx/mtx060/volta.mtx
+++ b/Master/texmf-dist/doc/generic/m-tx/volta.mtx
diff --git a/Master/texmf-dist/doc/man/man1/m-tx.1 b/Master/texmf-dist/doc/man/man1/m-tx.1
deleted file mode 100644
index 66fae3c6d17..00000000000
--- a/Master/texmf-dist/doc/man/man1/m-tx.1
+++ /dev/null
@@ -1,113 +0,0 @@
-.\" This manpage is licensed under the GNU Public License
-.TH m-tx 1 2013-12-11 "m-tx script, version 0.4" ""
-
-.SH NAME
-m-tx \- This script processes mtx files then deletes intermediate files
-
-.SH SYNOPSIS
-[ texlua ]
-.B m-tx[.lua]
-{
-.IR option
-|
-.IR jobname
-[ .mtx ]
-} ...
-.TP
-The default effect is to process each file using
-.TP 12
-.BR prepmx (1)
-(pre-pre-processing pass)
-.TP
-.BR pmxab (1)
-(pre-processing pass)
-.TP
-.BR etex (1)
-(first pass)
-.TP
-.BR musixflx (1)
-(second pass)
-.TP
-.BR etex (1)
-(third pass)
-.TP
-.BR dvips (1)
-(dvi to Postscript)
-.TP
-.BR ps2pdf (1)
-(Postscript to Portable Document Format)
-.TP
-followed by removal of intermediate files.
-
-.SH OPTIONS
-.TP 8
-.B -v
-output program name and version number, and quit
-.TP
-.B -h
-output usage summary and quit
-.TP
-.B -l
-changes the TeX processor to
-.BR latex (1)
-or
-.BR pdflatex (1)
-.TP
-.B -p
-changes the TeX processor to
-.BR pdfetex (1)
-or
-.BR pdflatex (1)
-(and doesn't run
-.BR dvips (1)
-and
-.BR ps2pdf (1)
-or
-.BR dvipdfm (1)
-)
-.TP
-.B -d
-changes the dvi processor to
-.BR dvipdfm (1)
-.TP
-.B -c
-use pmxchords before pmx
-.TP
-.B -F fmt
-uses fmt as the TeX processor
-.TP
-.B -s
-stops processing at the dvi file
-.TP
-.B -t
-stops processing at the tex (and midi) files
-.TP
-.B -m
-stops processing at the pmx file
-.TP
-.B -i
-retain intermediate files
-.TP
-.B -f
-default processing
-.TP 0
-Options affect processing of all succeeding mtx files unless changed by another option.
-
-.SH SEE ALSO
-.BR prepmx (1)
-.BR pmxab (1)
-.BR scor2prt (1)
-.BR etex (1),
-.BR latex (1),
-.BR pdfetex (1),
-.BR pdflatex (1),
-.BR musixflx (1),
-.BR dvipdfm (1),
-.BR pmxchords (1),
-.BR dvips (1),
-.BR ps2pdf (1).
-.br
-mtx260.pdf
-
-.SH AUTHOR
-This manual page was written by Bob Tennent <rdt@cs.queensu.ca>.
diff --git a/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf b/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf
deleted file mode 100644
index 01c7102e57f..00000000000
--- a/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/prepmx.1 b/Master/texmf-dist/doc/man/man1/prepmx.1
index 299591e2e9d..f03d6e6210d 100644
--- a/Master/texmf-dist/doc/man/man1/prepmx.1
+++ b/Master/texmf-dist/doc/man/man1/prepmx.1
@@ -1,4 +1,4 @@
-.TH prepmx 1 "01 September 2005" "M-Tx Version 0.60" "prepmx Manual Page"
+.TH prepmx 1 "08 February 2016" "M-Tx Version 0.62" "prepmx Manual Page"
.SH NAME
prepmx \- preprocessor for PMX, easy music typesetting program
.SH SYNOPSIS
@@ -18,17 +18,18 @@ easy example, have a look at the following example:
c8 g+ e g c- g+ e g | d g f g c- g+ e g |
For syntax reference, please look at the M-Tx manual written by Dirk
-Laurie, the creator of the M-Tx language and the author of prepmx, its
-command line utility.
+Laurie, the creator of the M-Tx language and the author of
+.BR prepmx (1),
+its command-line utility.
.B prepmx
processes the file
.IR jobname .mtx
to generate
.IR jobname .pmx.
-You can then process this file using the `pmx' command.
-.B PMX
-is a preprocessor for MusiXTeX.
+You can then process this file using the
+.BR pmxab (1)
+command, which is a preprocessor for MusiXTeX.
.I outdir/
is the directory where `pmx' will put the final .tex file. Note that the
@@ -41,40 +42,44 @@ Options can also be specified in a `Options:' line in the preamble,
which takes precedence over the command line.
.TP
.B \-b
-never unbeam eighth notes and shorter
+disable unbeamVocal
.TP
.B \-c
-main music lines only \- ignore chords
+disable doChords
.TP
.B \-D
-enable debug mode
+enable debugMode
.TP
.B \-f
-use tonic sol\-fa note names
+enable solfaNoteNames
.TP
.B \-i
-ignore errors
+enable ignoreErrors
.TP
.B \-m
-music only \- ignore lyrics
+disable doLyrics
.TP
.B \-n
-indent first system and print default instrument names
+enable instrumentNames
.TP
.B \-t
-ignore uptext lines
+disable doUptext
.TP
.B \-u
-uptext synchronizes with notes only, not rests
+disable uptextOnRests
.TP
.B \-v
-verbose progress report
+enable beVerbose
.TP
.B \-w
-enable pedantic warnings
+enable pedanticWarnings
.TP
.BI \- n
-select specified case of multiple score
+select Special Case
+.I n
+.TP
+.B \-H
+print enabled status of all options
.SH EXIT STATUS
If no error was found,
.B prepmx
@@ -84,12 +89,12 @@ the actual error. A return status of 10000 means that the input file was
empty or could not be opened.
.SH SEE ALSO
.B M-Tx
-User's Guide (mtx060.pdf)
+User's Guide (mtxdoc.pdf)
.br
-pmx(1), musixtex(1)
+pmxab(1), musixtex(1)
.SH AUTHORS
-prepmx was written by Dirk Laurie <dpl@sun.ac.za>.
-This manual page was written by Roland Stigge <stigge@antcom.de> for the Debian
-project. It was revised and extended by Nis Martensen
-<nis.martensen@web.de>, mostly by copying text from Dirk Laurie's M-Tx
-User's Guide.
+prepmx was written by Dirk Laurie <dirk.laurie@gmail.com>. This
+manual page was written by Roland Stigge <stigge@antcom.de>
+for the Debian project. It was revised and extended by
+Nis Martensen <nis.martensen@web.de> and Bob Tennent
+<rdt@cs.queensu.ca>.
diff --git a/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf b/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf
index 910b332a802..09c7a0d8901 100644
--- a/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/m-tx/mtx.tex b/Master/texmf-dist/tex/generic/m-tx/mtx.tex
index a12633d4fff..ca75532c80b 100644
--- a/Master/texmf-dist/tex/generic/m-tx/mtx.tex
+++ b/Master/texmf-dist/tex/generic/m-tx/mtx.tex
@@ -1,44 +1,45 @@
-% mtx.tex Dirk Laurie 2001-3-11 Corrections: see mtxtexdate, below.
+% mtx.tex © 2001–2016 Dirk Laurie License: MIT (see file LICENSE)
+% Some code © 2001 André van Ryckeghem License: GPL
+% Corrections: see mtxtexdate, below.
% All TeX commands put directly into PMX files by M-Tx are defined below,
% except the following:
% 1. \input mtx
-% 2. code to achieve a multi-bar rest
-% 3. User's own inline TeX
-% 4. \mtxversion and \mtxdate are defined in prepmx itself
-% 5. Utterly basic TeX commands like "\ " and "%"
+% 2. User's own inline TeX
+% 3. \mtxversion and \mtxdate are defined in prepmx itself
+% 4. Utterly basic TeX commands like "\ " and "%"
% It is therefore possible for a TeXpert to tune the performance
% of M-Tx without touching the preprocessor.
-% The commands all start with the letters "\mtx" except one:
+% Commands borrowed unchanged from André van Ryckeghem's mypmxdef.tex
+% have AVR prepended to their names.
+% All other commands start with the letters "\mtx" except one:
% "\:" is a short alias for "\relax" to save space on input line length
\ifx\mtxtexversion\undefined\else\endinput\fi
-\def\mtxtexversion{0.60}
-\def\mtxtexdate{16 March 2005}
+\def\mtxtexversion{0.62}
+\def\mtxtexdate{8 February 2016}
\let\:=\relax
\message{mtx.tex \mtxtexversion\space<\mtxtexdate>}
\message{M-Tx \mtxversion\space(Music from TeXt) <\mtxdate>}
\input musixtex
-\ifx\akkoladen\undefined\message{Your musixtex.tex is too old}\fi
+\def\musixtexneeded{121}
+\ifnum\mxvernumber<\musixtexneeded\immediate\write16{ }
+\message{! Requires MusiXTeX Version \musixtexneeded. Please upgrade.}\fi
-\input pmx
-\def\pmxneeded{2.5}
-\ifdim\pmxversion pt<\pmxneeded pt\message{Requires PMX Version
-\pmxneeded. Please upgrade.}\fi
-
+\input pmx % needed here otherwise musixlyr does not load correctly
\input musixlyr
-\ifx\assignlyricshere\undefined\message{Your musixlyr.tex is too old}\fi
+\ifx\assignlyricshere\undefined\message{! Your musixlyr.tex is too old}\fi
% M-Tx font definitions
-% Three macros are associated with each lyrics font, e.g.
-% \mtxmyfont defines \myfont but does not select it
-% \myfont selects it later
-% \mtxMyfont (note capital) defines and selects \myfont
-
-\def\mtxInstrfont{\twelvebf}
+% \mtxeightsf etc: defines \eightsf etc by analogy to \eightrm.
+% \mtxEightsf etc: same, but also immediately does \eightsf.
+% \mtxPalatino: replaces Computer Modern font definitions of
+% \eightrm, \eightit, \eightbf etc by Palatino
+% \mtxHelvetica: replaces Computer Modern font definitions of
+% \eightsf etc by Helvetica
\def\mtxeightsf{\font\eightsf=cmss8}
\def\mtxEightsf{\mtxeightsf\eightsf}
@@ -52,12 +53,46 @@
\def\mtxtwelvesf{\font\twelvesf=cmss12}
\def\mtxTwelvesf{\mtxtwelvesf\twelvesf}
-% Title fonts are immediately selected
-
-\def\mtxBigsf{\font\Bigtype=cmss9 scaled \magstep2}
+\def\mtxbigsf{\font\Bigtype=cmss9 scaled \magstep1}
+\def\mtxBIgsf{\font\Bigtype=cmss9 scaled \magstep2}
+\def\mtxBIGsf{\font\BIGtype=cmss9 scaled \magstep3}
\def\mtxBIGsf{\font\BIGtype=cmss9 scaled \magstep4}
-\def\mtxAllsf{\mtxElevensf\mtxBigsf\mtxBIGsf}
+\def\mtxPalatino{
+\font\eightrm=pplr at 8truept
+\font\eightbf=pplb at 8truept
+\font\eightit=pplri at 8truept
+
+\font\tenrm=pplr at 10truept
+\font\tenbf=pplb at 10truept
+\font\tenit=pplri at 10truept
+
+\font\elevenrm=pplr at 11truept
+\font\elevenbf=pplb at 11truept
+\font\elevenit=pplri at 11truept
+
+\font\twelverm=pplr at 12truept
+\font\twelvebf=pplb at 12truept
+\font\twelveit=pplri at 12truept
+
+\font\bigtype=pplb at 14truept
+\font\Bigtype=pplb at 17truept
+\font\BIgtype=pplb at 20truept
+\font\BIGtype=pplb at 25truept
+}
+
+\def\mtxHelvetica{
+ \def\mtxeightsf{\font\eightsf=\phvr at 8truept}
+ \def\mtxtensf{\font\tensf=\phvr at 10truept}
+ \def\mtxelevensf{\font\elevensf=\phvr at 11truept}
+ \def\mtxtwelvesf{\font\twelvesf=\phvr at 12truept}
+}
+
+\def\mtxInstrfont{\twelvebf}
+\def\mtxAllsf{\mtxeightsf\mtxtensf\mtxElevensf\mtxtwelvesf\mtxBigsf\mtxBIGsf}
+
+\def\sit\eightit \def\srm\eightrm \def\sbf\eightbf \def\ssf\eightsf
+% \def\elevenpt{\def\rm\elevenrm \def\it\elevenit \def\bf\elevenbf}
% M-Tx music sizes
@@ -131,9 +166,41 @@
% \lyr% post the numbers
% \en}
+% Commands taken from André van Ryckeghem's mypmxdef.tex
+% Page layout: Letter/A4, A4 only, Letter/A4 centered, A3
+% Use only with plain TeX: these do not interact seamlessly with
+% LaTeX page layout commands!
+\def\AVRpagforletaiv{%
+\hoffset=-12.4mm\hsize=210mm\advance\hsize-23mm% A4 10mm margin
+\voffset-15.4mm\vsize=11in\advance\vsize-20mm\advance\vsize-12pt}% letter 10 mm margin
+\def\AVRpagforaiv{%
+\hoffset=-12.4mm\hsize=210mm\advance\hsize-23mm%
+\voffset=-15.4mm\vsize=297mm\advance\vsize-20mm\advance\vsize-12pt}%
+\def\AVRpagforaivc{%
+\hoffset=-12.4mm\hsize=210mm\advance\hsize-23mm%
+\voffset=-7.4mm\vsize=11in\advance\vsize-20mm\advance\vsize-12pt}%
+\def\pagforaiii{%
+\hoffset=-5.4mm\hsize=297mm\advance\hsize-37mm%
+\voffset=-5.4mm\vsize=420mm\advance\vsize-37mm\advance\vsize-12pt}%
+
+% Next command adapted from AVR's code. Use thus:
+% \footline=\mtxFootLine{P1}{P2}{P3}{P4}{P5}
+% The footline on pages 3 and 4 look like this:
+% P1 - P2 P3 P4 - P5 3
+% 4 P5 - P4 P3 P2 - P1
+% Each parameter should contain its own font selector, or inherit
+% whatever was in effect.
+\def\mtxFootline#1#2#3#4#5{\ifodd\pageno%
+{{{#1}{\rm~---~}{#2}} \hfill {#3} \hfill {#4}{\rm~---~}{#5}{\rm ~~~ }{\bf \folio }}%
+\else
+{{\bf \folio}{\rm ~~~ }{#5}{\rm~---~}{#4} \hfill {#3} \hfill {#2}{\rm~---~}{#1}}%
+\fi}
+
% M-Tx default settings
\sepbarrules
+\mtxPalatino
+\elevenrm % this will be the lyrics font unless overridden
\immediate\write10{=== end of mtx.tex ===}
\endinput
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index f2990053c06..7e519a982c4 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -649,7 +649,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'lxfonts', "&MAKEflatten",
'ly1', "&MAKEcopy",
'lyx', "die 'skipping, container directory'",
- 'm-tx', "die 'skipping, for TL16 per rdt'",
'mab2bib', "die 'skipping, python'",
'magyar', "die 'skipping, use babel-hungarian'",
'make-env', "die 'skipping, no license, too old to bother with'",
diff --git a/Master/tlpkg/tlpsrc/m-tx.tlpsrc b/Master/tlpkg/tlpsrc/m-tx.tlpsrc
index e9e89cf4456..417fa08b9dc 100644
--- a/Master/tlpkg/tlpsrc/m-tx.tlpsrc
+++ b/Master/tlpkg/tlpsrc/m-tx.tlpsrc
@@ -1,4 +1,2 @@
-binpattern f bin/${ARCH}/m-tx
binpattern f bin/${ARCH}/prepmx
-docpattern +f texmf-dist/doc/man/man1/m-tx.*
docpattern +f texmf-dist/doc/man/man1/prepmx.*