summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-01-21 00:05:35 +0000
committerKarl Berry <karl@freefriends.org>2013-01-21 00:05:35 +0000
commit180112c8a1126226d2ad248fe12bd781fa741e33 (patch)
treee3fcf450e75b595b2ad259839f5261df4e60edbd
parent2bc4b75f9c1e05e394bbfc9c298b2506223b1451 (diff)
pmx (21jan13)
git-svn-id: svn://tug.org/texlive/trunk@28886 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/tetex/fmtutil.sh121
-rw-r--r--Master/texmf-dist/doc/generic/pmx/ChangeLog205
-rw-r--r--Master/texmf-dist/doc/generic/pmx/README41
-rwxr-xr-xMaster/texmf-dist/doc/generic/pmx/Windows/pmx2pdf.bat6
-rw-r--r--Master/texmf-dist/doc/generic/pmx/pmx-install.pdfbin96768 -> 97036 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pmx/pmx-install.tex14
-rw-r--r--Master/texmf-dist/doc/generic/pmx/pmxab.html8
-rw-r--r--Master/texmf-dist/doc/generic/pmx/pmxbeta.html258
-rw-r--r--Master/texmf-dist/tex/generic/pmx/pmx.tex18
-rw-r--r--Master/texmf/doc/man/man1/pmxab.16
-rw-r--r--Master/texmf/doc/man/man1/pmxab.man1.pdfbin4108 -> 4118 bytes
11 files changed, 360 insertions, 317 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh
index 0d75795c9d5..b9f97aa8998 100755
--- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh
+++ b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh
@@ -1,11 +1,10 @@
#!/bin/sh
# fmtutil - utility to maintain format files.
-# $Id$
# Public domain. Originally written by Thomas Esser.
# Run with --help for usage.
# program history:
-# further changes in texk/texlive/ChangeLog.
+# further changes in texk/tetex/ChangeLog.
# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
@@ -68,7 +67,7 @@ export PATH
###############################################################################
# cleanup()
# clean up the temp area and exit with proper exit status
-#
+###############################################################################
cleanup()
{
rc=$1
@@ -81,7 +80,7 @@ cleanup()
###############################################################################
# help() and version()
# display help (or version) message and exit
-#
+###############################################################################
help()
{
cat <<eof
@@ -154,7 +153,7 @@ eof
###############################################################################
# setupTmpDir()
# set up a temp directory and a trap to remove it
-#
+###############################################################################
setupTmpDir()
{
$needsCleanup && return
@@ -169,7 +168,7 @@ setupTmpDir()
# configReplace(file, pattern, line)
# The first line in file that matches pattern gets replaced by line.
# line will be added at the end of the file if pattern does not match.
-#
+###############################################################################
configReplace()
{
file=$1; pat=$2; line=$3
@@ -192,7 +191,7 @@ eof
# setmatch(match)
# setting the "match state" to true or false. Used to see if there was at
# least one match.
-#
+###############################################################################
setmatch()
{
match=$1
@@ -201,7 +200,7 @@ setmatch()
###############################################################################
# getmatch()
# return success if there was at least one match.
-#
+###############################################################################
getmatch()
{
test "x$match" = xtrue
@@ -210,7 +209,7 @@ getmatch()
###############################################################################
# initTexmfMain()
# get $MT_TEXMFMAIN from $TEXMFMAIN
-#
+###############################################################################
initTexmfMain()
{
case $MT_TEXMFMAIN in
@@ -223,7 +222,7 @@ initTexmfMain()
# cache_vars()
# locate files / kpathsea variables and export variables to environment
# this speeds up future calls to e.g. mktexupd
-#
+###############################################################################
cache_vars()
{
: ${MT_VARTEXFONTS=`kpsewhich --expand-var='$VARTEXFONTS' | sed 's%^!!%%'`}
@@ -241,7 +240,7 @@ cache_vars()
###############################################################################
# abort(errmsg)
# print `errmsg' to stderr and exit with error code 1
-#
+###############################################################################
abort()
{
echo "$progname: $1." >&2
@@ -252,7 +251,7 @@ abort()
# maybe_abort(errmsg)
# print `errmsg' to stderr and
# unless noAbortFlag is set exit with error code 1
-#
+###############################################################################
maybe_abort()
{
echo "$progname: $1." >&2
@@ -261,8 +260,8 @@ maybe_abort()
###############################################################################
# verboseMsg(msg)
-# print `msg' to stderr if $verbose is true
-#
+# print `msg' to stderr is $verbose is true
+###############################################################################
verboseMsg() {
$verboseFlag && verbose echo ${1+"$@"}
}
@@ -270,19 +269,21 @@ verboseMsg() {
###############################################################################
# byebye()
# report any failures and exit the program
-#
+###############################################################################
byebye()
{
if $has_warnings; then
{
cat <<eof
-###############################################################################
+###############################################################################
$progname: Warning! Some warnings have been issued.
-For details, see the .log files in directory (and subdirectories of)
+Visit the log files in directory
$destdir
+for details.
+###############################################################################
-Meanwhile, this is a summary of all warning messages:
+This is a summary of all \`warning' messages:
$log_warning_msg
eof
} >&2
@@ -291,13 +292,15 @@ eof
if $has_errors; then
{
cat <<eof
-###############################################################################
+###############################################################################
$progname: Error! Not all formats have been built successfully.
-For details, see the .log files in directory (and subdirectories of)
+Visit the log files in directory
$destdir
+for details.
+###############################################################################
-Meanwhile, this is a summary of all failure messages:
+This is a summary of all \`failed' messages:
$log_failure_msg
eof
} >&2
@@ -310,7 +313,7 @@ eof
###############################################################################
# init_log_warning()
# reset the list of warning messages
-#
+###############################################################################
init_log_warning()
{
log_warning_msg=
@@ -320,7 +323,7 @@ init_log_warning()
###############################################################################
# init_log_failure()
# reset the list of failure messages
-#
+###############################################################################
init_log_failure()
{
log_failure_msg=
@@ -330,7 +333,7 @@ init_log_failure()
###############################################################################
# log_warning(errmsg)
# report and save warning message `errmsg'
-#
+###############################################################################
log_warning()
{
echo "Warning: $@" >&2
@@ -348,7 +351,7 @@ $@"
###############################################################################
# log_failure(errmsg)
# report and save failure message `errmsg'
-#
+###############################################################################
log_failure()
{
echo "Error: $@" >&2
@@ -366,7 +369,7 @@ $@"
###############################################################################
# verbose (cmd)
# execute cmd. Redirect output depending on $mktexfmtMode.
-#
+###############################################################################
verbose()
{
$mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
@@ -375,7 +378,7 @@ verbose()
###############################################################################
# mktexdir(args)
# call mktexdir script, disable all features (to prevent sticky directories)
-#
+###############################################################################
mktexdir()
{
initTexmfMain
@@ -385,7 +388,7 @@ mktexdir()
###############################################################################
# tcfmgr(args)
# call tcfmgr script
-#
+###############################################################################
tcfmgr()
{
initTexmfMain
@@ -395,7 +398,7 @@ tcfmgr()
###############################################################################
# mktexupd(args)
# call mktexupd script
-#
+###############################################################################
mktexupd()
{
initTexmfMain
@@ -406,7 +409,7 @@ mktexupd()
# main()
# parse commandline arguments, initialize variables,
# switch into temp. direcrory, execute desired command
-#
+###############################################################################
main()
{
destdir= # global variable: where do we put the format files?
@@ -644,7 +647,7 @@ main()
# inside the 4th field in fmtutil.cnf.
#
# exit code: returns error code if the ini file is not installed
-#
+###############################################################################
parse_line()
{
case $1 in
@@ -687,7 +690,7 @@ parse_line()
# find_hyphenfile(format, hyphenation) searches for hyphenation along
# searchpath of format
# exit code: returns error is file is not found
-#
+###############################################################################
find_hyphenfile()
{
format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`"
@@ -701,7 +704,7 @@ find_hyphenfile()
# find_info_for_name(format)
# Look up the config line for format `format' and call parse_line to set
# global variables.
-#
+###############################################################################
find_info_for_name()
{
format="$1"
@@ -715,9 +718,10 @@ find_info_for_name()
###############################################################################
# run_initex()
# Calls initex. Assumes that global variables are set by parse_line.
-#
+###############################################################################
run_initex()
{
+
# install a pool file and set tcx flag if requested in lang= option:
rm -f *.pool
poolfile=
@@ -753,15 +757,13 @@ run_initex()
mktexfmt_loop=$mktexfmt_loop:$format/$engine
export mktexfmt_loop
- engine_invocation="$engine -ini $tcxflag $jobswitch $prgswitch $texargs"
- verboseMsg "$progname: running \`$engine_invocation' ..."
- #debugMsg "$progname: (in `pwd`)"
+ verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
# run in a subshell to get a local effect of TEXPOOL manipulation:
(
# If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT.
$localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; }
- verbose $engine_invocation
+ verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
) </dev/null
if test $use_engine_dir; then
@@ -770,20 +772,15 @@ run_initex()
fulldestdir="$destdir"
fi
mkdir -p "$fulldestdir"
- #
- # Move the log file first so that it will be in the stated output
- # directory even if the .fmt build failed.
- # We definitely don't want user interaction for the mv.
- saved_log=$fulldestdir/$format.log
- mv "$format.log" "$saved_log" </dev/null
- #
if test -f "$fmtfile"; then
- grep '^! ' "$saved_log" >/dev/null 2>&1 &&
- log_warning "\`$engine_invocation' possibly failed."
+ grep '^! ' $format.log >/dev/null 2>&1 &&
+ log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
+ # We don't want user-interaction for the following "mv" commands:
+ mv "$format.log" "$fulldestdir/$format.log" </dev/null
+ #
destfile=$fulldestdir/$fmtfile
if mv "$fmtfile" "$destfile" </dev/null; then
- verboseMsg "$progname: $saved_log log saved."
verboseMsg "$progname: $destfile installed."
#
# As a special special case, we create mplib-luatex.mem for use by
@@ -817,7 +814,7 @@ run_initex()
mktexupd "$fulldestdir" "$fmtfile"
fi
else
- log_failure "\`$engine_invocation' failed"
+ log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
fi
}
@@ -825,7 +822,7 @@ run_initex()
# recreate_loop()
# for each line in config file: check match-condition and recreate format
# if there is a match
-#
+###############################################################################
recreate_loop()
{
OIFS=$IFS
@@ -845,7 +842,7 @@ recreate_loop()
# listcfg_loop()
# prints all format definitions in config files (enabled and disabled ones)
# for supported formats (i.e. for those which have an existing ini file)
-#
+###############################################################################
listcfg_loop()
{
OIFS=$IFS
@@ -862,7 +859,7 @@ listcfg_loop()
###############################################################################
# check_match()
# recreate all formats
-#
+###############################################################################
check_match()
{
$need_find_hyphenfile && \
@@ -874,7 +871,7 @@ check_match()
###############################################################################
# recreate_by_fmt(fmtname)
# recreate all versions of fmtname
-#
+###############################################################################
recreate_by_fmt()
{
fmtname=$1
@@ -885,7 +882,7 @@ recreate_by_fmt()
###############################################################################
# create_missing()
# create all missing format files
-#
+###############################################################################
create_missing()
{
# match_cmd='test ! -f $destdir/$fmtfile'
@@ -896,7 +893,7 @@ create_missing()
###############################################################################
# recreate_existing()
# recreate only existing format files
-#
+###############################################################################
recreate_existing()
{
match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
@@ -906,7 +903,7 @@ recreate_existing()
###############################################################################
# recreate_all()
# recreate all formats
-#
+###############################################################################
recreate_all()
{
match_cmd=true
@@ -916,7 +913,7 @@ recreate_all()
###############################################################################
# recreate_by_hyphenfile(hyphenfile)
# recreate all formats that depend on hyphenfile
-#
+###############################################################################
recreate_by_hyphenfile()
{
hyphenfile=$1
@@ -947,7 +944,7 @@ recreate_by_hyphenfile()
###############################################################################
# recreate_by_engine(enginename)
# recreate all formats that are based on enginename
-#
+###############################################################################
recreate_by_engine()
{
enginename=$1
@@ -963,13 +960,15 @@ recreate_by_engine()
getmatch || maybe_abort "no format depends on engine \`$enginename'"
}
+
+
###############################################################################
# show_hyphen_file(format)
# prints full name of the hyphenfile for format
#
# exit code: returns error code if the ini file is not installed or if
# the hyphen file cannot be found
-#
+###############################################################################
show_hyphen_file()
{
fmtname=$1
@@ -986,7 +985,7 @@ show_hyphen_file()
###############################################################################
# disablefmt(format)
# disables format in configuration file
-#
+###############################################################################
disablefmt()
{
grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
@@ -1002,7 +1001,7 @@ eof
###############################################################################
# enablefmt(format)
# enables format in configuration file
-#
+###############################################################################
enablefmt()
{
grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
diff --git a/Master/texmf-dist/doc/generic/pmx/ChangeLog b/Master/texmf-dist/doc/generic/pmx/ChangeLog
deleted file mode 100644
index e4e72d6c87d..00000000000
--- a/Master/texmf-dist/doc/generic/pmx/ChangeLog
+++ /dev/null
@@ -1,205 +0,0 @@
-Changes from PMX 2.5 to 2.603, 15 April 2011
-
-2.501 (Note: new scor2prt)
-
-Bugfix: initialize index in PMX subroutine putorn to eliminate subscript
-error detected in some compilers Bugfix in scor2prt: Ignore special
-treatment of special symbols if they appear between double quotes.
-Tweak: move end of first part of line­break ties slightly to the right.
-
-2.502 (Note: new pmx.tex)
-
-The height of a figured bass vertical stack can now be adjusted upward by
-an integral number of \internote by appending "+" and the number. Recall
-that it can already be moved downward 4\internote by prepending "_"
-(underscore). The two options can be combined to provide full control
-over the vertical position. Ties can now be represented with braces
-"{" before a note and "}" after. Both are equivalent to "t" after the
-note. (Thanks to Dirk Laurie). In pmx.tex all the commands of the form
-\font\...=\fontid sy1000 have been changed to \font\...=cmsy10 (Thanks
-to Olivier Vogel).
-
-2.503
-
-Enable arpeggio left shift with ?­[x] Allow musicsize of 24 and 29.
-Bugfix: Fix bug introduced in 2.415 which caused error in printing
-replacement number in xtup.
-
-2.504
-
-Gap between normal grace and main note: X[x] as option to the G command,
-where x is the gap size in notehead widths. Bugfix: og (segno) now
-works OK when nv .ne. noinst.
-
-2.505
-
-A new global option AK activates special rules for vertical positioning of
-rests in two­voice staves. By way of background, without the new option,
-rests in two­voice staves have default positions based on a simple rule
-that is not context­sensitive: those in the lower voice (the one before
-"//") are 4\internote below their single­voice default positions,
-and those in the upper line are 2\internote above the single­voice
-default. The new option invokes a set of context­sensitive rules to
-set the default position. The baseline rule is to align the rest in
-a horizontal line with the next following note in the same bar. If
-there is no following note in the bar, then it is aligned with the next
-prior note. If there are simulataneous rests in both voices, the old
-rule is applied. When the AK option is in force, it only affects places
-where there are two voices in a staff. It may be toggled on and off at
-the beginning of any input block, using just AK. When the option is in
-effect, any user­defined tweaks on the height of a rest will supersede
-the option for that particular rest, i.e., the tweak will be applied
-relative to the single­voice default position.
-
-2.506
-
-Fixes a bug in AK. Simultaneous, equal­duration rests will be positioned
-according to the default rules.
-
-2.507
-
-Enhancement to global option AK for vertical positioning of rests in
-two­voice staves (see version 2.505): The option L ("look left") in a rest
-will cause the vertical position of that rest to be based on the preceding
-note, rather than the following one as is the default when AK has been
-issued Partial bugfix: In unbeamed xtuplets, the length of the bracket
-and position of the number are now adjusted to account for any inserted
-hardspaces. Bugfix: unbeamed xtups with two flags are now allowed.
-
-2.508
-
-Allow grace notes in xtuplets.
-
-2.509
-
-Correct small bug in arpeggio left­shifting (it got confused when there
-was more than one voice on a staff).
-
-2.510
-
-Bugfix: Correct omission of character variable declarations in new
-subroutine getgrace introduced in 2.508.
-
-2.511 (Note: new scor2prt named s2p2511.exe)
-
-Bugfix: Correct error in horizontal spacing introduced in 2.507.
-Experiment: Remove prohibition against tempo changes in MIDI macros.
-Bugfix in scor2prt: Make it work right when "R" command occurs at end
-of input block and "/" is on next line (as produced by M­Tx).
-
-2.512
-
-Enable multiplicity down­up "][" within xtuplet
-
-2.513
-
-Bugfix: If there is more than one rest at start of a beamed xtuplet marked
-as a forced beam, beam height and slope tweaks are now properly handled.
-Bugfix: If an xtuplet with multiplicity 2 or 3 starts with a rest, the
-rest is now printed correctly. Bugfix: Unbeamed xtuplets (with option
-'a' on first note) with multiplicity 2 or 3 are now printed correctly.
-
-2.514
-
-Bugfix: Correct horizontal spacing when after­grace is immediately
-followed by normal grace. Bugfix: Correct transpose register when it
-has been changed in a single after­grace.
-
-2.515
-
-Bugfix: Correct error in automatic forced beams. Before the fix, if the
-beam did not start an integral number of beam durations from the start
-of the bar, incorrect results would occur. Bugfix: Properly center
-fermata over centered whole­bar rest.
-
-2.516 (Note: new pmx.tex)
-
-Allow figures in voice #2.
-
-2.517
-
-Allow figures in two voices, voice 1 and any other one.
-
-2.518
-
-Bug fixes in 2­voice figures.
-
-2.519
-
-Fix bug that prevented \sk from being output, misaligning some voices.
-
-2.520
-
-New feature: special characters 2+, 4+, 5+, 6+, 9+ for figured bass. In
-the PMX string for any figure, follow the number by 's'. This uses the
-font cmrj from the new package figbas. You must install this font in
-your TeX setup for this to work.
-
-2.521
-
-Bugfix: Font definition syntax corrected so no extra space is introduced.
-
-2.602 (Note: new pmx.tex; requires eTeX)
-
-Allow 24 voices, beams, slurs. Require etex. Include comment about
-doubling size of internal buffer to 131072, requiring gfortran for
-Windows to compile. Correct slur indexing in linebreakslurs. Account for
-comment lines in line count for error messages
-
-2.603 (Note: new scor2prt)
-
-In getpmxmod.for, decrease nline by 2 to fix locating errors following
-reading in an include file. Add some error messages in g1etset.for
-setup data
-
-2.610
-
-Instrument-wise transposition: Ki[instrument #][+/-][trans
-amt.][+/-][new key]. For more than one instrument, may immediately
-repeat everything after "K". Must either be at start of score (right
-after setup), or if later, must be preceded by normal (full score) key
-change command K+0[+/-][new key]. Must be used with relative accidentals
-("Ar"). Part(s) to be transposed must be entered in concert key, and
-will appear transposed in the score. MIDI behavior not yet tested.
-Has not yet been integrated into scor2prt, so for now if you want to
-make parts, only use Ki... as score-only (on line after "%%") and/or
-instrument only (on same line after %[Instrument #]).
-
-2.613
-
-Set error trap if "D" is entered before any notes.
-
-Enhance "AS" to allow spacing adjustments tailored for either smallsize
-or tinysize. As before, "AS" must be followed by nv characters, but now
-they may be "0" for normal, "-" or "s" for small, or "t" for tiny. Still
-must set sizes of instruments with inline TeX.
-
-Bugfix: Fixed broken "K-..." in 2.610.
-
-2.614
-
-Bugfix: revise raised dotted rests by separately raising rest and dot.
-
-2.615 *(Note: new scor2prt)*
-
-Command "AS", described above under 2.163, now also causes staff sizes
-to change (in score only, not parts), so inline TeX is no longer needed
-to change sizes of selected staves.
-
-Scor2prt transfers partwise transposition commands Ki... (see 2.610
-above) into parts.
-
-2.616
-
-"Feature" added: Hairpin dynamics now may span input blocks.
-
-2.617
-
-Repaired several obscure bugs related to platform and compiler
-dependencies; see pmxab.f for details.
-
-2.618
-
-For letter and a4 paper respectively, commands "Acl" and "Ac4" set
-horizontal and vertical sizes and offsets that center the page with no
-further adjustments required in dvips.
diff --git a/Master/texmf-dist/doc/generic/pmx/README b/Master/texmf-dist/doc/generic/pmx/README
index 9815cb76b23..5b079091db0 100644
--- a/Master/texmf-dist/doc/generic/pmx/README
+++ b/Master/texmf-dist/doc/generic/pmx/README
@@ -1,4 +1,4 @@
-This is PMX, version 2.6.18 (Oct. 7th, 2012). PMX provides a preprocessor for MusiXTeX.
+This is PMX, version 2.6.19 (Jan. 19th, 2013). PMX provides a preprocessor for MusiXTeX.
pmxab builds a TeX input file based on a .pmx input file in a much
simpler language, making most of the layout decisions by itself. It has
@@ -14,42 +14,25 @@ and subsequent conversions to PDF.
The author of pmxab and scor2prt is Don Simons (dsimons@roadrunner.com).
The author of the pmxccn tutorial is Cornelius C. Noack.
-This package consists of
-
- (i) pmx-texmf.zip, which contains macros, documentation, and the
- pmx2pdf.lua script
-
- (ii) pmx-2.6.18.tar.gz, which contains the source code for
- pmxab and scor2prt
-
-(iii) directories Windows and OSX, which contain pre-compiled
- pmxab and scor2prt executables for those platforms
-
- (iv) pmx-install.{tex,pdf}, which is a more detailed version of the
- following instructions:
-
To install (on TDS-compliant TeX systems):
- + unzip pmx-texmf.zip at the root of a texmf tree and, if necessary,
- update the filename database; e.g., texhash texmf. Documentation for
- PMX is installed under doc/generic/pmx.
+ + unzip tex-archive/install/support/pmx.tds.zip at the root of a texmf
+ tree and, if necessary, update the filename database; e.g., texhash texmf.
+ Documentation for PMX is installed under doc/generic/pmx.
- + on Windows or OS-X: copy the pre-compiled executables appropriate for your
- platform to a folder on the executable PATH
+ + on Windows or OS-X: copy the executables appropriate for your
+ platform to a folder on the executable PATH
- + on any Unix-like system with gcc and standard development tools installed:
- unpack the pmx tarball (anywhere), move to the resulting pmx-2.6.18 directory
- and do
+ + on any Unix-like system with gcc and standard development tools
+ installed: unpack pmx-2.6.19.tar.gz (anywhere), move to the resulting
+ pmx-2.6.19 directory and do
./configure
make
make install (as root)
- + on Windows: copy the file scripts\pmx\Windows\pmx2pdf.bat to a folder on the
- executable PATH
-
- + on any Unix-like system: install a symbolic link pmx2pdf in any
- directory on the executable PATH to scripts/pmx/pmx2pdf.lua
+ Then install a symbolic link pmx2pdf in any directory on the
+ executable PATH to scripts/pmx/pmx2pdf.lua
In this release of PMX, the original Fortran sources for pmxab and
scor2prt have been included but the C files actually used have been
@@ -76,4 +59,4 @@ files are governed by a Notice that allows copying, modification and
distribution.
This CTAN distribution is maintained by Bob Tennent (rdt@cs.queensu.ca).
-Oct 7th, 2012.
+Jan. 19th, 2013.
diff --git a/Master/texmf-dist/doc/generic/pmx/Windows/pmx2pdf.bat b/Master/texmf-dist/doc/generic/pmx/Windows/pmx2pdf.bat
deleted file mode 100755
index 24184c8deeb..00000000000
--- a/Master/texmf-dist/doc/generic/pmx/Windows/pmx2pdf.bat
+++ /dev/null
@@ -1,6 +0,0 @@
-:: wrapper script to call pmx2pdf.lua
-:: Usage: pmx2pdf [options] basename[.pmx]
-:: Suggested by Tomasz Luczak (Tomek) t34www@googlemail.com
-
-@for /f "delims=" %%I in ('kpsewhich --format=texmfscripts %~n0.lua') do texlua "%%I" %*
-:end
diff --git a/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf b/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf
index b6afd7a02c7..c3b1f2c0bf8 100644
--- a/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf
+++ b/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pmx/pmx-install.tex b/Master/texmf-dist/doc/generic/pmx/pmx-install.tex
index fbc1e849f76..478ac486a32 100644
--- a/Master/texmf-dist/doc/generic/pmx/pmx-install.tex
+++ b/Master/texmf-dist/doc/generic/pmx/pmx-install.tex
@@ -5,7 +5,7 @@
\RequirePackage{hyperref}
\usepackage{xcolor}
\newcommand{\myurl}[1]{\textcolor{blue}{\underline{\textcolor{black}{\url{#1}}}}}
-\newcommand{\pmxVersion}{2.6.18}
+\newcommand{\pmxVersion}{2.6.19}
\begin{document}
\title{Installation of the CTAN PMX Distribution}
\author{Bob Tennent\\
@@ -36,8 +36,9 @@ and installing files\footnote{%
In this distribution of PMX, most of the files to be installed
(including macros, documentation, and a processing script) are in
-\texttt{/install/pmx.tds.zip}, a zipped TEXMF
-hierarchy. Simply unzip this archive in the root folder/directory of whichever TEXMF tree
+\texttt{tex-archive/install/support/pmx.tds.zip} at CTAN.
+The file \verb|pmx.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.
This should work with any TDS\footnote{%
\myurl{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds}}
@@ -72,6 +73,7 @@ View System Information\quad$\rightarrow$\quad Advanced\quad$\rightarrow$\quad E
\end{center}
scroll
down to ``path'', select it, click edit, and add the path to \verb|...\scripts\musixtex\Windows| after a semi-colon.
+The batch script \verb|pmx2pdf.bat| should also be installed to a folder on the PATH.
On the MAC OS-X platform (version 10.2 or better), one can install \texttt{pmxab} and \texttt{scor2prt} that are in the
@@ -128,7 +130,7 @@ by default runs the following processes in order (and then deletes intermediate
\end{itemize}%
There are many options to vary the default behaviour.
-On a Unix-like system (with \texttt{luatex} installed), put a
+On a Unix-like system (with \texttt{texlua} installed), put a
symbolic link \texttt{pmx2pdf} in any directory on the executable PATH as follows:
\begin{list}{}{}
\item \verb\ln -s <path to pmx2pdf.lua> pmx2pdf \
@@ -136,11 +138,11 @@ symbolic link \texttt{pmx2pdf} in any directory on the executable PATH as follow
On Windows, you can \emph{either}
copy the batch file
\begin{list}{}{}
-\item \verb|...\scripts\pmx\Windows\pmx2pdf.bat|
+\item \verb|Windows\pmx2pdf.bat|
\end{list}
to a folder
on the executable PATH \emph{or} add the folder
-\verb|...\scripts\pmx\Windows| to the executable PATH as explained above.
+\verb|Windows| to the executable PATH, as explained above.
Documentation for \verb\pmx2pdf\ is in the
\verb\doc/generic/pmx/scripts\ directory.
diff --git a/Master/texmf-dist/doc/generic/pmx/pmxab.html b/Master/texmf-dist/doc/generic/pmx/pmxab.html
index a17df4027ce..b683ae53634 100644
--- a/Master/texmf-dist/doc/generic/pmx/pmxab.html
+++ b/Master/texmf-dist/doc/generic/pmx/pmxab.html
@@ -3,7 +3,7 @@ Content-type: text/html
<HTML><HEAD><TITLE>Manpage of pmxab</TITLE>
</HEAD><BODY>
<H1>pmxab</H1>
-Section: PMX Manual Page (1)<BR>Updated: 12 July 2011<BR><A HREF="#index">Index</A>
+Section: PMX Manual Page (1)<BR>Updated: 19 Jan 2013<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>
@@ -22,7 +22,7 @@ basename<I>[.pmx]</I>
<H2>DESCRIPTION</H2>
pmxab is a preprocessor for MusiXTeX.
-It's usually invoked by its frontend <A HREF="http://localhost/cgi-bin/man/man2html?1+pmx">pmx</A>(1).
+It's usually invoked by a frontend <A HREF="http://localhost/cgi-bin/man/man2html?1+pmx2pdf">pmx2pdf</A>(1).
To use it to its full benefit you should have installed MusiXTeX Version 1.15
or higher, and TeX itself.
The goal of PMX is to faciliate the efficient typesetting of scores and parts
@@ -34,7 +34,7 @@ macro set.
<A NAME="lbAE">&nbsp;</A>
<H2>SEE ALSO</H2>
-<A HREF="http://localhost/cgi-bin/man/man2html?1+pmx">pmx</A>(1), <A HREF="http://localhost/cgi-bin/man/man2html?1+scor2prt">scor2prt</A>(1), <A HREF="http://localhost/cgi-bin/man/man2html?1+musixtex">musixtex</A>(1)
+<A HREF="http://localhost/cgi-bin/man/man2html?1+pmx2pdf">pmx2pdf</A>(1), <A HREF="http://localhost/cgi-bin/man/man2html?1+scor2prt">scor2prt</A>(1), <A HREF="http://localhost/cgi-bin/man/man2html?1+musixtex">musixtex</A>(1)
<A NAME="lbAF">&nbsp;</A>
<H2>AUTHORS</H2>
@@ -56,6 +56,6 @@ project and revised by Bob Tennent &lt;<A HREF="mailto:rdt@cs.queensu.ca">rdt@cs
This document was created by
<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
-Time: 08:47:39 GMT, September 14, 2012
+Time: 09:14:34 GMT, January 19, 2013
</BODY>
</HTML>
diff --git a/Master/texmf-dist/doc/generic/pmx/pmxbeta.html b/Master/texmf-dist/doc/generic/pmx/pmxbeta.html
new file mode 100644
index 00000000000..dd3b416af87
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pmx/pmxbeta.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html">
+ <title>PMX beta vs 2.5</title>
+</head>
+
+<body bgcolor="#E1E1E1">
+<p align="center"><a href="../indexmt6.html#pmx">Return</a></p>
+
+<h2>Changes from PMX 2.5 to the Latest Beta (2.619), 5 September 2012</h2>
+
+<p>2.501 <strong>(Note: new scor2prt)</strong></p>
+<ul>
+ <li>Bugfix: initialize index in PMX subroutine putorn to eliminate subscript
+ error detected in some compilers</li>
+ <li>Bugfix in <strong>scor2prt</strong>: Ignore special treatment of special
+ symbols if they appear between double quotes.</li>
+ <li>Tweak: move end of first part of line-break ties slightly to the right.</li>
+</ul>
+
+<p>2.502 <strong>(Note: new pmx.tex)</strong></p>
+<ul>
+ <li>The height of a figured bass vertical stack can now be adjusted upward by
+ an integral number of \internote by appending "+" and the number. Recall that
+ it can already be moved downward 4\internote by prepending "_" (underscore). The
+ two options can be combined to provide full control over the vertical position.</li>
+ <li>Ties can now be represented with braces "{" before a note and "}" after. Both are
+ equivalent to "t" after the note. (Thanks to Dirk Laurie).</li>
+ <li>In <strong>pmx.tex</strong> all the commands of the form
+ \font\...=\fontid sy1000 have been changed to \font\...=cmsy10 (Thanks to
+ Olivier Vogel).</li>
+</ul>
+
+<p>2.503</p>
+<ul>
+ <li>Enable arpeggio left shift with ?-[x]</li>
+ <li>Allow musicsize of 24 and 29.</li>
+ <li>Bugfix: Fix bug introduced in 2.415 which caused error in printing replacement
+ number in xtup.</li>
+</ul>
+
+<p>2.504</p>
+<ul>
+ <li>Gap between normal grace and main note: X[x] as option to the G command,
+ where x is the gap size in notehead widths.</li>
+ <li>Bugfix: og (segno) now works OK when nv .ne. noinst.</li>
+</ul>
+
+<p>2.505</p>
+<ul>
+ <li>A new global option AK activates special rules for vertical positioning
+ of rests in two-voice staves. By way of background, without the new option,
+ rests in two-voice staves have default positions based on
+ a simple rule that is not context-sensitive: those
+ in the lower voice (the one before "//") are 4\internote below their
+ single-voice default positions, and those in the upper line are 2\internote
+ above the single-voice default. The new option invokes a set of
+ context-sensitive rules to set the default position. The baseline rule is to
+ align the rest in a horizontal line with the next following note in the same
+ bar. If there is no following note in the bar, then it is aligned with the
+ next prior note. If there are simulataneous rests in both voices, the old
+ rule is applied. When the AK option is in force, it only affects places
+ where there are two voices in a staff. It may be toggled on and off at the
+ beginning of any input block, using
+ just AK. When the option is in effect, any user-defined tweaks on the height
+ of a rest will supersede the option for that particular rest, i.e., the tweak
+ will be applied relative to the single-voice default position.</li>
+</ul>
+
+<p>2.506</p>
+<ul>
+ <li>Fixes a bug in AK. Simultaneous, equal-duration rests will be positioned
+ according to the default rules.</li>
+</ul>
+
+<p>2.507</p>
+<ul>
+ <li>Enhancement to global option AK for vertical positioning of rests in
+ two-voice staves (see version 2.505): The option L ("look left") in a rest will cause the
+ vertical position of that rest to be based on the preceding note, rather than the
+ following one as is the default when AK has been issued </li>
+ <li>Partial bugfix: In unbeamed xtuplets, the length of the bracket and position of
+ the number are now adjusted to account for any inserted hardspaces.</li>
+ <li>Bugfix: unbeamed xtups with two flags are now allowed.</li>
+</ul>
+
+<p>2.508</p>
+<ul>
+ <li>Allow grace notes in xtuplets.</li>
+</ul>
+
+<p>2.509</p>
+<ul>
+ <li>Correct small bug in arpeggio left-shifting (it got confused when there
+ was more than one voice on a staff).</li>
+</ul>
+
+<p>2.510</p>
+<ul>
+ <li>Bugfix: Correct omission of character variable declarations in new subroutine getgrace
+ introduced in 2.508.</li>
+</ul>
+
+<p>2.511 <strong>(Note: new scor2prt named s2p2511.exe)</strong></p>
+<ul>
+ <li>Bugfix: Correct error in horizontal spacing introduced in 2.507.</li>
+ <li>Experiment: Remove prohibition against tempo changes in MIDI macros.</li>
+ <li>Bugfix in <strong>scor2prt</strong>: Make it work right when "R" command occurs at end of
+ input block and "/" is on next line (as produced by M-Tx).</li>
+</ul>
+
+<p>2.512</p>
+<ul>
+ <li>Enable multiplicity down-up "][" within xtuplet</li>
+</ul>
+
+<p>2.513</p>
+<ul>
+ <li>Bugfix: If there is more than one rest at start of a beamed xtuplet marked as a forced
+ beam, beam height and slope tweaks are now properly handled.</li>
+ <li>Bugfix: If an xtuplet with multiplicity 2 or 3 starts with a rest, the rest is now printed
+ correctly.</li>
+ <li>Bugfix: Unbeamed xtuplets (with option 'a' on first note) with multiplicity 2 or 3 are now printed correctly.</li>
+</ul>
+
+<p>2.514</p>
+<ul>
+ <li>Bugfix: Correct horizontal spacing when after-grace is immediately followed by
+ normal grace.</li>
+ <li>Bugfix: Correct transpose register when it has been changed in a single
+ after-grace.</li>
+</ul>
+
+<p>2.515</p>
+<ul>
+ <li>Bugfix: Correct error in automatic forced beams. Before the fix, if the
+ beam did not start an integral number of beam durations from the start of
+ the bar, incorrect results would occur.
+ <li>Bugfix: Properly center fermata over centered whole-bar rest. </li>
+</ul>
+
+<p>2.516 <strong>(Note: new pmx.tex)</strong></p>
+<ul>
+ <li>Allow figures in voice #2.</li>
+</ul>
+
+<p>2.517</p>
+<ul>
+ <li>Allow figures in two voices, voice 1 and any other one.</li>
+</ul>
+
+<p>2.518</p>
+<ul>
+ <li>Bug fixes in 2-voice figures.</li>
+</ul>
+
+<p>2.519</p>
+<ul>
+ <li>Fix bug that prevented \sk from being output, misaligning some voices.</li>
+</ul>
+
+<p>2.520</p>
+<ul>
+ <li>New feature: special characters 2+, 4+, 5+, 6+, 9+ for figured bass. In the PMX
+ string for any figure, follow the number by 's'. This uses the font cmrj from the
+ new package figbas. You must install this font in your TeX setup for this to work.</li>
+</ul>
+
+<p>2.521</p>
+<ul>
+ <li>Bugfix: Font definition syntax corrected so no extra space is introduced.</li>
+</ul>
+
+<p>2.602 <strong>(Note: new pmx.tex; requires eTeX)</strong></p>
+<ul>
+ <li>Allow 24 voices, beams, slurs. Require etex.</li>
+ <li>Include comment about doubling size of internal buffer to 131072, requiring gfortran for Windows to compile.</li>
+ <li>Correct slur indexing in linebreakslurs.</li>
+ <li>Account for comment lines in line count for error messages</li>
+</ul>
+
+<p>2.603 <strong>(Note: new scor2prt)</strong></p>
+<ul>
+ <li>In getpmxmod.for, decrease nline by 2 to fix locating errors
+ following reading in an include file.
+ <li>Add some error messages in g1etset.for setup data
+</ul>
+
+<p>2.610</p>
+<ul>
+ <li>Instrument-wise transposition: Ki[instrument #][+/-][trans amt.][+/-][new key].
+ For more than one instrument, may immediately repeat everything after "K". Must
+ either be at start of score (right after setup), or if later, must be preceded
+ by normal (full score) key
+ change command K+0[+/-][new key]. Must be used with relative accidentals ("Ar").
+ Part(s) to be transposed must be entered in concert key, and will appear transposed
+ in the score. MIDI behavior not yet
+ tested. Has not yet been integrated into scor2prt, so for now
+ if you want to make parts, only use Ki... as score-only (on line after "%%") and/or
+ instrument only (on same line after %[Instrument #]).
+</ul>
+
+<p>2.613</p>
+<ul>
+ <li>Set error trap if "D" is entered before any notes.</li>
+ <li>Enhance "AS" to allow spacing adjustments tailored for either smallsize or
+ tinysize. As before, "AS" must be followed by nv characters, but now they
+ may be "0" for normal, "-" or "s" for small, or "t" for tiny. Still must
+ set sizes of instruments with inline TeX.</li>
+ <li>Bugfix: Fixed broken "K-..." in 2.610.
+</ul>
+
+<p>2.614</p>
+<ul>
+ <li>Bugfix: revise raised dotted rests by separately raising rest and dot.
+</ul>
+
+<p>2.615 <strong>(Note: new scor2prt)</strong></p>
+<ul>
+ <li>Command "AS", described above under 2.163, now also causes staff sizes to change
+ (in score only, not parts), so inline TeX is no longer needed to change sizes of
+ selected staves.</li>
+ <li>Scor2prt transfers partwise transposition commands Ki... (see 2.610 above)
+ into parts. </li>
+</ul>
+
+<p>2.616</p>
+<ul>
+ <li>"Feature" added: Hairpin dynamics now may span input blocks.</li>
+</ul>
+
+<p>2.617</p>
+<ul>
+ <li>Repaired several obscure bugs related to platform and compiler dependencies;
+ see pmxab.for for details.
+ </li>
+</ul>
+
+<p>2.618</p>
+<ul>
+ <li>For letter and a4 paper respectively, commands "Acl" and "Ac4" set horizontal
+ and vertical sizes and offsets that center the page with no further adjustments
+ required in dvips. </li>
+</ul>
+
+<p>2.619 <strong>(Note: new pmx.tex)</strong></p>
+<ul>
+ <li> Several changes at movement breaks to improve compatibility with M-Tx
+ and musixlyr.</li>
+</ul>
+
+<p align="center"><a href="../indexmt6.html#pmx">Return</a></p>
+<p>Revised 5 September 2012, Don Simons (dsimons at roadrunner dot com)</p>
+</body>
+</html>
+
diff --git a/Master/texmf-dist/tex/generic/pmx/pmx.tex b/Master/texmf-dist/tex/generic/pmx/pmx.tex
index 5d7083a455e..a85275f5cdb 100644
--- a/Master/texmf-dist/tex/generic/pmx/pmx.tex
+++ b/Master/texmf-dist/tex/generic/pmx/pmx.tex
@@ -3,8 +3,11 @@
%% pmx.tex %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%
-\def\pmxversion{2.614}\def\pmxdate{17 July 11}
+\def\pmxversion{2.619}\def\pmxdate{18 August 12}
+% 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
@@ -545,7 +548,8 @@ depth \h@lf\pcil width \razclef\kern-\h@lf\razclef\kern-\h@lf\pcil\kern-.1pt
%
% New Movement Macro
%
-\def\newmovement#1#2{\let\holdstop\stoppiece\let\holdcont\contpiece%
+%\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}%
@@ -564,7 +568,14 @@ depth \h@lf\pcil width \razclef\kern-\h@lf\razclef\kern-\h@lf\pcil\kern-.1pt
%
\vskip#1\internote%
\let\stoppiece\holdstop}%
- \def\contpiece{\startpiece\addspace\afterruleskip\let\contpiece\holdcont}%
+% \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
@@ -612,6 +623,7 @@ depth \h@lf\pcil width \razclef\kern-\h@lf\razclef\kern-\h@lf\pcil\kern-.1pt
\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}}}%
%
diff --git a/Master/texmf/doc/man/man1/pmxab.1 b/Master/texmf/doc/man/man1/pmxab.1
index eddb52d8bd3..806efcce76c 100644
--- a/Master/texmf/doc/man/man1/pmxab.1
+++ b/Master/texmf/doc/man/man1/pmxab.1
@@ -1,4 +1,4 @@
-.TH pmxab 1 "12 July 2011" "Version 2.6.03" "PMX Manual Page"
+.TH pmxab 1 "19 Jan 2013" "Version 2.6.19" "PMX Manual Page"
.SH NAME
pmxab \- a MusiXTeX preprocessor
.SH SYNOPSIS
@@ -7,7 +7,7 @@ pmxab \- a MusiXTeX preprocessor
.SH DESCRIPTION
pmxab is a preprocessor for MusiXTeX.
-It's usually invoked by its frontend pmx(1).
+It's usually invoked by a frontend pmx2pdf(1).
To use it to its full benefit you should have installed MusiXTeX Version 1.15
or higher, and TeX itself.
The goal of PMX is to faciliate the efficient typesetting of scores and parts
@@ -17,7 +17,7 @@ with PMX, please read the PMX Manual.
When invoked directly, pmxab produces tex output utilizing the MusiXTeX
macro set.
.SH SEE ALSO
-pmx(1), scor2prt(1), musixtex(1)
+pmx2pdf(1), scor2prt(1), musixtex(1)
.SH AUTHORS
PMX was written by Don Simons <dsimons@roadrunner.com>.
This manual page was written by Roland Stigge <stigge@antcom.de> for the Debian
diff --git a/Master/texmf/doc/man/man1/pmxab.man1.pdf b/Master/texmf/doc/man/man1/pmxab.man1.pdf
index 61a38398cdc..88cc83f46b4 100644
--- a/Master/texmf/doc/man/man1/pmxab.man1.pdf
+++ b/Master/texmf/doc/man/man1/pmxab.man1.pdf
Binary files differ