summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-06-10 23:19:38 +0000
committerKarl Berry <karl@freefriends.org>2016-06-10 23:19:38 +0000
commit99e1b8c2020d443341a08f20f77dda1392366246 (patch)
tree94327a0121a8273ac6bf693cb18c9f68fa4256fe
parent236222daf66574317ed37f1a93119fd2f44d68bf (diff)
musixtex (7jun16)
git-svn-id: svn://tug.org/texlive/trunk@41352 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/musixtex/musixtex.lua97
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/ChangeLog-123.txt6
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/ChangeLog-musixdoc.txt4
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/README2
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc.pdfbin1280018 -> 1287496 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex9
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex4
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/layout.tex72
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex23
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdfbin30982 -> 93607 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdfbin6975 -> 6973 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/musixtex.12
-rw-r--r--Master/texmf-dist/doc/man/man1/musixtex.man1.pdfbin21893 -> 21891 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/musixtex/musixtex.lua97
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixsty.tex44
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixtex.tex29
16 files changed, 281 insertions, 108 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua b/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
index 041eff342ba..5b27394b213 100755
--- a/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
+++ b/Build/source/texk/texlive/linked_scripts/musixtex/musixtex.lua
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua
-VERSION = "0.16c"
+VERSION = "0.16e"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
@@ -29,6 +29,12 @@ VERSION = "0.16c"
ChangeLog:
+ version 0.16e 2016-03-02 DL
+ missing version information (caused by batchmode in 0.16c) fixed
+
+ version 0.16d 2016-03-02 RDT
+ filename argument in autosp failure message fixed
+
version 0.16c 2016-02-24 RDT
-interaction batchmode for -q
report_error reports only the first error
@@ -176,7 +182,7 @@ local dvips = "dvips -e0"
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
- tex = "etex"
+ tex = "etex"
musixflx = "musixflx"
dvi = dvips
ps2pdf = "ps2pdf"
@@ -385,7 +391,7 @@ function preprocess(basename,extension)
if execute ("autosp " .. basename .. ".aspc" ) == 0 then
extension = "tex"
else
- print ("!! autosp preprocessing of " .. filename .. " fails.")
+ print ("!! autosp preprocessing of " .. basename .. ".aspc fails.")
exit_code = exit_code+1
return
end
@@ -447,59 +453,80 @@ function tex_process(tex,basename,extension)
end
end
--- Extracting version and path information from tempname.
--- The targets below rely on the exact output format used by various
--- programs and TeX files.
-targets = {
-mtxtex = "%(([^(]+mtx%.tex)%s*$",
-mtxlatex = "%(([^(]+mtxlatex%.sty)",
-mtxLaTeX = ".*mtxLaTeX.*",
-pmxtex = "%(([^(]+pmx%.tex)",
-musixtex = "%(([^(]+musixtex%.tex)",
-musixltx = "%(([^(]+musixltx%.tex)",
-musixlyr = "%(([^(]+musixlyr%.tex)",
+---- Report version information on musixtex.log
+
+-- File names and message signatures to be looked for in a TeX log file.
+logtargets = {
+mtxtex = {"mtx%.tex","mtxTeX"},
+mtxlatex = {"mtxlatex%.sty","mtxLaTeX"},
+pmxtex = {"pmx%.tex","PMX"},
+musixtex = {"musixtex%.tex","MusiXTeX"},
+musixltx = {"musixltx%.tex","MusiXLaTeX"},
+musixlyr = {"musixlyr%.tex","MusiXLYR"}
+}
+
+-- Signatures of messages displayed on standard output by programs
+capturetargets = {
MTx = "This is (M%-Tx.->)",
PMX = "This is (PMX[^\n]+)",
pdftex = "This is (pdfTeX[^\n]+)",
musixflx = "Musixflx%S+",
autosp = "This is autosp.*$",
-index = "autosp,MTx,mtxtex,mtxlatex,mtxLaTeX,PMX,pmxtex,"..
- "musixtex,musixltx,musixlyr,musixflx,pdftex"
+index = "autosp,MTx,PMX,musixflx,pdftex"
}
-extra_line = { mtxtex=true, musixtex=true, musixltx=true, pmxtex=true,
- musixlyr=true }
+function report_texfiles(logname)
+ local log = logname and io.open(logname)
+ if not log then return end
+ local lines =
+ {"--- TeX files actually included according to "..logname.." ---"}
+ log = log:read"*a"
+-- The following pattern matches filenames input by TeX, even if
+-- interrupted by a line break. It may include the first word of
+-- an \immediate\write10 message emitted by the file.
+ for pos,filename in log:gmatch"%(()(%.?[/]%a[%-/%.%w\n]+)" do
+ local hit
+ repeat
+ local oldfilename = filename
+ filename = oldfilename:match"[^\n]+" -- up to next line break
+ hit = io.open(filename) -- success if the file exists
+ if hit then break end
+ filename = oldfilename:gsub("\n","",1) -- remove line break
+ until filename==oldfilename
+ if hit then
+ for target,sig in pairs(logtargets) do
+ if filename:match(sig[1]) then
+ local i,j = log:find(sig[2].."[^\n]+",pos)
+ if j then lines[#lines+1] = filename.."\n "..log:sub(i,j) end
+ end
+ end
+ end
+ end
+ return table.concat(lines,'\n').."\n"
+end
function report_versions(tempname)
if not tempname then return end -- only available with -q
local logs = io.open(tempname)
if not logs then
- print ("No version information: could not open "..tempname)
+ musixlog:write ("No version information: could not open "..tempname)
return
end
local versions = {}
- local extra
- musixlog:write("--- Packages actually used according to "..
- tempname.." ---\n")
+ musixlog:write("--- Programs actually executed according to "..tempname.." ---\n")
for line in logs:lines() do
- if extra then
- versions[extra] = versions[extra] .. "\n " ..line
- extra = false
- else for target, pattern in pairs(targets) do
+ for target in capturetargets.index:gmatch"[^,]+" do
if not versions[target] then
- local found = line:match(pattern)
+ local found = line:match(capturetargets[target])
if found then
- extra = extra_line[target] and target
versions[target] = found
+ musixlog:write(found,"\n")
end
end
- end end
+ end
end
logs:close()
- for target in targets.index:gmatch"[^,]+" do if versions[target] then
- if target=="mtxLaTeX" then musixlog:write" " end
- musixlog:write(versions[target],"\n")
- end end
+ return
end
------------------------------------------------------------------------
@@ -519,6 +546,9 @@ repeat
basename, extension = find_file(this_arg) -- nil,nil if not found
extension = preprocess(basename,extension)
tex_process(tex,basename,extension)
+ if io.open(basename..".log") then -- to be printed later
+ versions = report_texfiles(basename..".log")
+ end
if basename and cleanup then
remove("pmxaerr.dat")
for ext in ("mx1,mx2,dvi,ps,idx,log,ilg,pml"):gmatch"[^,]+" do
@@ -531,6 +561,7 @@ repeat
narg = narg+1
until narg > #arg
+musixlog:write(versions)
report_versions(tempname)
musixlog:close()
os.exit( exit_code )
diff --git a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-123.txt b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-123.txt
new file mode 100644
index 00000000000..4ffcfed2e90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-123.txt
@@ -0,0 +1,6 @@
+
+Changes from MusiXTeX 122 to 123:
+
+ + added \xtr and \ptr ornaments
+ + adjusted spacing of \tr
+ + corrected definition of \C@Inter for \nblines > 6
diff --git a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-musixdoc.txt b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-musixdoc.txt
index 6d860036e5a..2efd2aa484b 100644
--- a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-musixdoc.txt
+++ b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-musixdoc.txt
@@ -1,3 +1,7 @@
+2016-06-06 RDT
+
+ Revised the material on page layout.
+
2015-02-20 RDT
Clean up title page and preface(s).
diff --git a/Master/texmf-dist/doc/generic/musixtex/README b/Master/texmf-dist/doc/generic/musixtex/README
index b95ea1f8894..8f5f78f6d66 100644
--- a/Master/texmf-dist/doc/generic/musixtex/README
+++ b/Master/texmf-dist/doc/generic/musixtex/README
@@ -1,4 +1,4 @@
-This is MusiXTeX, version 1.22 (2016-02-25).
+This is MusiXTeX, version 1.23 (2016-06-06).
MusiXTeX is a TeX-based system for typesetting music.
The main author was Daniel Taupin, who died in a climbing
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
index 8f1ceea39a9..2f891a391a3 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex
index a0eaf645f58..a4b3c4b2755 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex
@@ -1910,7 +1910,7 @@ their meanings are as follows:
%\check
- \section{musixsty}\index{musixsty@{\tt musixsty.tex}}
+ \section{musixsty}\index{musixsty@{\tt musixsty.tex}}\label{musixsty}
Provides certain text-handling facilities for titles, footnotes, and other
items not related to lyrics. It should not be used with \LaTeX. It includes
@@ -1918,6 +1918,8 @@ items not related to lyrics. It should not be used with \LaTeX. It includes
\item definitions of \keyindex{hsize}, \keyindex{vsize},
\keyindex{hoffset}, \keyindex{voffset} suitable for A$4$ paper; those using
other sizes may wish to modify it once and for all;
+ \item a \keyindex{rectoverso}\verb|{|\emph{dimension}\verb|}| command to set up even/odd-page
+ asymmetric margins;
\item a set of text size commands:
\begin{description}\setlength{\itemsep}{0ex}
@@ -1931,7 +1933,7 @@ other sizes may wish to modify it once and for all;
\item[\keyindex{twtypoint}] to get $20.74$ point font size;
\item[\keyindex{twfvpoint}] to get $24.88$ point font size;
\end{description}
- \item commands for creating titles:
+ \item commands for creating title-page headings:
\begin{itemize}\setlength{\itemsep}{0ex} \item \keyindex{author} or
\keyindex{fullauthor} to be put at the right of the first page, below the
title of the piece; the calling sequence is, for example
@@ -1949,6 +1951,9 @@ two lines;
\item \keyindex{othermention} which is displayed on the left of the page,
vertically aligned with author's name. It may contain \verb|\\| to display it on
several lines;
+ \item \keyindex{headline} which displays the argument at the top of the title page (use
+ \verb|\hss| after or before the argument text or both to left-align or
+ right-align or center the text);
\item \keyindex{maketitle} which displays all the previous stuff;
\end{itemize}
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
index 759a438edca..3dbc437bec3 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
@@ -1,6 +1,6 @@
\title{\Huge\bfseries\musixtex\\[\bigskipamount]
\LARGE\bfseries Using \TeX{} to write polyphonic\\or
-instrumental music\\\Large\itshape Version 1.22}
+instrumental music\\\Large\itshape Version 1.23}
%\author{\Large\rm Daniel \sc Taupin\\\large\sl
@@ -67,7 +67,7 @@ Since then, the only significant update to \musixtex\ has been in version 1.15 (
takes advantage of the greater capacity of the e\TeX\ version of \TeX.
This manual
is the definitive reference to all features of
-\musixtex\ version~1.22.
+\musixtex\ version~1.23.
Novice users need not start here.
Most
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/layout.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/layout.tex
index 087e42cffdb..afc8bbe9fc2 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/layout.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/layout.tex
@@ -48,27 +48,75 @@ behavior, in which vertical space between the systems is distributed
so that the first staff
on the page is all the way at the top and the last staff all the way at
the bottom.
-
The macro \keyindex{musicparskip} will allow the existing space between
systems to increase by up to \verb|5\Interligne|.
-The following values of page layout parameters will allow the maximum material
-to fit on each page, provided the printer allows the margins that are implied.
+The following values of page-layout parameters will allow as much material
+as possible
+on a page, provided the printer supports these dimensions, which
+imply approximately half-inch margins:
\begin{center}
-\begin{tabular}{|l|l|l|}\hline
-\multicolumn{1}{|c|}{A4}&\multicolumn{1}{|c|}{letter}&\multicolumn{1}{|c|}{A4 or letter}\\\hline
-\multicolumn{3}{|c|}{\tt\Bslash parindent= 0pt}\\\hline
-\multicolumn{3}{|c|}{\tt\Bslash hoffset= -15.4mm}\\\hline
-\multicolumn{3}{|c|}{\tt\Bslash voffset= -10mm}\\\hline
-\verb+\hsize= 190mm+&\verb+\hsize= 196mm+&\verb+\hsize= 190mm+\\\hline
-\verb+\vsize= 260mm+&\verb+\vsize= 247mm+&\verb+\vsize= 247mm+\\\hline
+\begin{tabular}{|l|l|}\hline
+\multicolumn{1}{|c|}{A$4$}&\multicolumn{1}{|c|}{letter}\\\hline
+\verb+\hsize=190mm+&\verb+\hsize=7.5in+\\\hline
+\verb+\vsize=270mm+&\verb+\vsize=10in+\\\hline
\end{tabular}
\end{center}
-%avre
\zkeyindex{parindent}\zkeyindex{hoffset}\zkeyindex{voffset}
\zkeyindex{hsize}\zkeyindex{vsize}
-
+You may have to be more conservative if you have headlines or footlines
+or want
+even/odd-page asymmetry, such as with the \keyindex{rectoverso}
+command in \verb|musixsty.tex| (Section~\ref{musixsty}).
+If a score is going to be ``published'' at a public repository (such as
+\mbox{\textsc{imslp}}), you may want to allow for \emph{either}
+A$4$ \emph{or} letter paper, for example by setting the \verb|\hsize| to~190~mm
+and the \verb|\vsize| to~10~in.
+
+To determine the maximal dimensions that \emph{your} printer is capable of,
+process the standard file \verb|testpage.tex| with \LaTeX\ and
+print the result. The ``rulers'' on four sides will indicate
+how much of the one-inch ``margin'' material outside the frame can actually be printed.
+Your \verb|\hsize| and \verb|\vsize| parameters can be increased, or, if necessary, decreased
+accordingly. If your score is going to be printed by a publisher or a colleague, you can send
+\verb|testpage.pdf| to them to determine what margins are necessary for their
+printer.
+
+
+For \emph{any} values of
+\verb|\hsize| and \verb|\vsize|,
+material will normally be centered on the page by using one of the following
+command sequences, which simply split the difference between the page size and the text size,
+and then subtract one inch because of \TeX\ conventions:
+\begin{enumerate}
+\item[For A$4$ paper (210~mm $\times$ 297~mm):]\quad\\[-2ex]
+\begin{verbatim}
+\hoffset=210mm\advance\hoffset-\hsize\divide\hoffset2
+\advance\hoffset-1.0in
+\voffset=297mm\advance\voffset-\vsize\divide\voffset2
+\advance\voffset-1.0in
+\end{verbatim}
+\item[For letter-size paper (8.5~in $\times$ 11~in):] \quad\\[-2ex]
+\begin{verbatim}
+\hoffset=8.5in\advance\hoffset-\hsize\divide\hoffset2
+\advance\hoffset-1.0in
+\voffset=11in\advance\voffset-\vsize\divide\voffset2
+\advance\voffset-1.0in
+\end{verbatim}
+\end{enumerate}
+However, if the margins on the \verb|testpage| output are \emph{not}
+symmetric,
+the printer is mis-aligned.
+If this can't be corrected, the margin offsets will
+have to be adjusted. Ideally, this should be done in the \TeX\ configuration
+so all \TeX\ output will be corrected, but offsets can be adjusted
+for just \verb|musixtex| output using
+\verb|\advance\hoffset ...| and/or
+\verb|\advance\voffset ...|
+after the ``normal'' settings given above.
+
+\pagebreak
\section{Page numbering, headers and footers}\index{page
number}\index{footnote}
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
index 4d136bd7ef2..7179d9b29ae 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/miscellaneous.tex
@@ -79,7 +79,8 @@ dot and a hyphen below a note head at pitch $p$,
\item \keyindex{flageolett}\pitchp~to put a
small circle above a note head at pitch $p$.
\end{itemize}
-These marks are horizontally centered relative to solid note heads. To
+These marks are horizontally centered relative to solid note heads.
+To
compensate for the fact that whole notes are wider, you should use
\keyindex{wholeshift}\verb|{|\ital{Any nonspacing macro}\verb|}| to center accents
and other items (e.g.,~\verb|\Fermataup|) above a whole note.
@@ -272,7 +273,17 @@ You may use
\item \keyindex{backturn}\pitchp\ for \hbox to 1.5em{\kern 0.6em\backturn 0\hss}
\item \keyindex{tr}\pitchp\ for \hbox to 1.5em{\kern 0.6em\tr 0\hss}
\item \keyindex{trt}\pitchp\ for \hbox to 1.5em{\kern 0.6em\trt 0\hss}\quad (J. S.~Bach's \textit{trillo und mordant})
+ \item \keyindex{xtr}\pitchp\ for \hbox to 1.5em{\kern 0.5em\xtr 0\hss}
+ \item \keyindex{ptr}\pitchp\ for \hbox to 1.5em{\kern 0.5em\ptr 0\hss}
\end{itemize}
+To
+compensate for the fact that whole notes are wider, you may use
+\begin{quote}
+\keyindex{wholeshift}\verb|{|\mbox{\ital{Any nonspacing macro}}\verb|}|
+\end{quote}
+to center any of these ornaments
+above a whole note.
+
In the following macros for fermatas, the argument $p$ is the pitch of the
notehead on which the fermata rests, assuming no additional vertical
@@ -508,7 +519,6 @@ macros \keyindex{Ped}, \keyindex{sPed}, \keyindex{Dep} and \keyindex{sDep}
in combination with \keyindex{zchar} or \keyindex{zcharnote}.
Since the \hbox to .7cm{ \Ped\hss} symbol is rather wide, it might collide
with adjacent bass notes. To shift it horizontally, you could use \verb|\loff{\PED}|.
-\vfill
The following excerpt from \textit{Liebestr\"aume} by Franz Liszt illustrates
a more modern approach to specifying piano-pedal usage:
@@ -546,13 +556,13 @@ a more modern approach to specifying piano-pedal usage:
\bar%
\Notes\pdlud\ql B\sk\qpl\sk\qpl|%
\zhl{.c}\ds\ibu1i0\qb1{^d^hjh}\tqu1d\en
-\Notes\zqu{M}\hppl\sk\qpu\sk\qu M|%
+\Notes\zqu{M}\hppl\sk\sk\qpu\sk\qu M|%
\ds\ibu1i0\qb1{dhjh}\tqu1d\en
\bar%
\Notes\zmidstaff{$\cdots$}\sk\pdlu\sk|\en
\endpiece%
\end{music}
-\pagebreak
+\vspace*{2ex}\par\noindent
This has been coded using the following commands:
\begin{quote}
\begin{tabular}{lll}
@@ -596,7 +606,7 @@ Here is how the excerpt may be coded:
\bar%
\Notes\pdlud\ql B\sk\qpl\sk\qpl|%
\zhl{c}\ds\ibu1i0\qb1{^d^hjh}\tqu1d\en
-\Notes\zqu{M}\hppl\sk\qpu\sk\qu M|%
+\Notes\zqu{M}\hppl\sk\sk\qpu\sk\qu M|%
\ds\ibu1i0\qb1{dhjh}\tqu1d\en
\bar%
\Notes\zmidstaff{$\cdots$}\sk\pdlu\sk|\en
@@ -605,6 +615,7 @@ Here is how the excerpt may be coded:
\end{footnotesize}
\end{quote}
+\pagebreak
\noindent
The following ``mixed'' patterns are also supported:
\begin{quote}
@@ -665,7 +676,7 @@ suppress this behavior.
\section{Brackets, parentheses, oblique lines and slides}\label{brapar}
-Several varieties of brackets, parentheses and oblique lines are provided for
+Several varieties of brackets\index{brackets}, parentheses\index{parentheses} and oblique lines\index{oblique lines} are provided for
use within a score.
\begin{itemize}\setlength{\itemsep}{0ex}
\item \keyindex{lpar}\verb|{|$p$\verb|}| and
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdf b/Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdf
index 92362a1b78c..6c3622be664 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
index 9eb9c1da3f4..a5457c97ef3 100644
--- a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/musixtex.1 b/Master/texmf-dist/doc/man/man1/musixtex.1
index d40036d4e96..7a7d6f4a1ba 100644
--- a/Master/texmf-dist/doc/man/man1/musixtex.1
+++ b/Master/texmf-dist/doc/man/man1/musixtex.1
@@ -1,5 +1,5 @@
.\" This manpage is licensed under the GNU Public License
-.TH MUSIXTEX 1 2016-02-20 "musixtex version 0.16" ""
+.TH MUSIXTEX 1 2016-06-06 "musixtex version 0.16" ""
.SH NAME
musixtex \- processes MusiXTeX files, using pre-processors prepmx, pmxab and autosp as necessary,
diff --git a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
index 00efea0d591..9089ddb6265 100644
--- a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/musixtex/musixtex.lua b/Master/texmf-dist/scripts/musixtex/musixtex.lua
index 041eff342ba..5b27394b213 100755
--- a/Master/texmf-dist/scripts/musixtex/musixtex.lua
+++ b/Master/texmf-dist/scripts/musixtex/musixtex.lua
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua
-VERSION = "0.16c"
+VERSION = "0.16e"
--[[
musixtex.lua: processes MusiXTeX files using prepmx and/or pmxab and/or
@@ -29,6 +29,12 @@ VERSION = "0.16c"
ChangeLog:
+ version 0.16e 2016-03-02 DL
+ missing version information (caused by batchmode in 0.16c) fixed
+
+ version 0.16d 2016-03-02 RDT
+ filename argument in autosp failure message fixed
+
version 0.16c 2016-02-24 RDT
-interaction batchmode for -q
report_error reports only the first error
@@ -176,7 +182,7 @@ local dvips = "dvips -e0"
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
- tex = "etex"
+ tex = "etex"
musixflx = "musixflx"
dvi = dvips
ps2pdf = "ps2pdf"
@@ -385,7 +391,7 @@ function preprocess(basename,extension)
if execute ("autosp " .. basename .. ".aspc" ) == 0 then
extension = "tex"
else
- print ("!! autosp preprocessing of " .. filename .. " fails.")
+ print ("!! autosp preprocessing of " .. basename .. ".aspc fails.")
exit_code = exit_code+1
return
end
@@ -447,59 +453,80 @@ function tex_process(tex,basename,extension)
end
end
--- Extracting version and path information from tempname.
--- The targets below rely on the exact output format used by various
--- programs and TeX files.
-targets = {
-mtxtex = "%(([^(]+mtx%.tex)%s*$",
-mtxlatex = "%(([^(]+mtxlatex%.sty)",
-mtxLaTeX = ".*mtxLaTeX.*",
-pmxtex = "%(([^(]+pmx%.tex)",
-musixtex = "%(([^(]+musixtex%.tex)",
-musixltx = "%(([^(]+musixltx%.tex)",
-musixlyr = "%(([^(]+musixlyr%.tex)",
+---- Report version information on musixtex.log
+
+-- File names and message signatures to be looked for in a TeX log file.
+logtargets = {
+mtxtex = {"mtx%.tex","mtxTeX"},
+mtxlatex = {"mtxlatex%.sty","mtxLaTeX"},
+pmxtex = {"pmx%.tex","PMX"},
+musixtex = {"musixtex%.tex","MusiXTeX"},
+musixltx = {"musixltx%.tex","MusiXLaTeX"},
+musixlyr = {"musixlyr%.tex","MusiXLYR"}
+}
+
+-- Signatures of messages displayed on standard output by programs
+capturetargets = {
MTx = "This is (M%-Tx.->)",
PMX = "This is (PMX[^\n]+)",
pdftex = "This is (pdfTeX[^\n]+)",
musixflx = "Musixflx%S+",
autosp = "This is autosp.*$",
-index = "autosp,MTx,mtxtex,mtxlatex,mtxLaTeX,PMX,pmxtex,"..
- "musixtex,musixltx,musixlyr,musixflx,pdftex"
+index = "autosp,MTx,PMX,musixflx,pdftex"
}
-extra_line = { mtxtex=true, musixtex=true, musixltx=true, pmxtex=true,
- musixlyr=true }
+function report_texfiles(logname)
+ local log = logname and io.open(logname)
+ if not log then return end
+ local lines =
+ {"--- TeX files actually included according to "..logname.." ---"}
+ log = log:read"*a"
+-- The following pattern matches filenames input by TeX, even if
+-- interrupted by a line break. It may include the first word of
+-- an \immediate\write10 message emitted by the file.
+ for pos,filename in log:gmatch"%(()(%.?[/]%a[%-/%.%w\n]+)" do
+ local hit
+ repeat
+ local oldfilename = filename
+ filename = oldfilename:match"[^\n]+" -- up to next line break
+ hit = io.open(filename) -- success if the file exists
+ if hit then break end
+ filename = oldfilename:gsub("\n","",1) -- remove line break
+ until filename==oldfilename
+ if hit then
+ for target,sig in pairs(logtargets) do
+ if filename:match(sig[1]) then
+ local i,j = log:find(sig[2].."[^\n]+",pos)
+ if j then lines[#lines+1] = filename.."\n "..log:sub(i,j) end
+ end
+ end
+ end
+ end
+ return table.concat(lines,'\n').."\n"
+end
function report_versions(tempname)
if not tempname then return end -- only available with -q
local logs = io.open(tempname)
if not logs then
- print ("No version information: could not open "..tempname)
+ musixlog:write ("No version information: could not open "..tempname)
return
end
local versions = {}
- local extra
- musixlog:write("--- Packages actually used according to "..
- tempname.." ---\n")
+ musixlog:write("--- Programs actually executed according to "..tempname.." ---\n")
for line in logs:lines() do
- if extra then
- versions[extra] = versions[extra] .. "\n " ..line
- extra = false
- else for target, pattern in pairs(targets) do
+ for target in capturetargets.index:gmatch"[^,]+" do
if not versions[target] then
- local found = line:match(pattern)
+ local found = line:match(capturetargets[target])
if found then
- extra = extra_line[target] and target
versions[target] = found
+ musixlog:write(found,"\n")
end
end
- end end
+ end
end
logs:close()
- for target in targets.index:gmatch"[^,]+" do if versions[target] then
- if target=="mtxLaTeX" then musixlog:write" " end
- musixlog:write(versions[target],"\n")
- end end
+ return
end
------------------------------------------------------------------------
@@ -519,6 +546,9 @@ repeat
basename, extension = find_file(this_arg) -- nil,nil if not found
extension = preprocess(basename,extension)
tex_process(tex,basename,extension)
+ if io.open(basename..".log") then -- to be printed later
+ versions = report_texfiles(basename..".log")
+ end
if basename and cleanup then
remove("pmxaerr.dat")
for ext in ("mx1,mx2,dvi,ps,idx,log,ilg,pml"):gmatch"[^,]+" do
@@ -531,6 +561,7 @@ repeat
narg = narg+1
until narg > #arg
+musixlog:write(versions)
report_versions(tempname)
musixlog:close()
os.exit( exit_code )
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixsty.tex b/Master/texmf-dist/tex/generic/musixtex/musixsty.tex
index 8683e39ed54..794a7ce336d 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixsty.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixsty.tex
@@ -18,9 +18,10 @@
%
\ifx\undefined\Tenpoint \else \endinput\fi
-\immediate\write16{MusiXtextSTYle T.116\space<27 February 2015>}%
+\immediate\write16{MusiXtextSTYle T.123\space<04 March 2016>}%
% modified by RDT to be independent of Computer Modern (other than Math fonts)
+% RDT: added \headline{..} in \maketitle
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
\edef\catcode@gt{\the\catcode`\>}\catcode`\>=12
@@ -292,6 +293,9 @@
\let\othert@itremorceau\empty
\def\othermention#1{\def\othert@itremorceau{#1}}
+\let\headl@ne\undefined
+\def\headline#1{\def\headl@ne{#1}}
+
\let\s@hortauthor\empty
\def\shortauthor#1{\def\s@hortauthor{(#1)}}
@@ -310,7 +314,9 @@
\output{\outmorceau}
-\def\maketitle{\centerline{\BIGfont \ifx\headt@itremorceau\undefined
+\def\maketitle{%
+\ifx\headl@ne\undefined\else\line{\headl@ne}\bigskip\fi% for version 123 RDT
+\centerline{\BIGfont \ifx\headt@itremorceau\undefined
\titremorceau\else\headt@itremorceau\fi}
\medskip
\ifx\subt@itremorceau\undefined\else
@@ -353,16 +359,30 @@
\catcode`\<=\catcode@lt
\catcode`\@=\catcodeat
-\hsize=185mm
-\vsize=275mm
-\hoffset=210mm
-\advance\hoffset -\hsize
-\divide\hoffset 2\relax
-\advance\hoffset -2.54cm
+%%% A4 (210mm x 297mm):
+\hsize=190mm %%% adjust to increase/decrease printer margins
+\vsize=270mm %%% adjust to increase/decrease printer margins
+\hoffset=210mm\advance\hoffset-\hsize\divide\hoffset2
+\advance\hoffset-1.0in % TeX convention
+\voffset=297mm\advance\voffset-\vsize\divide\voffset2
+\advance\voffset-1.0in % TeX convention
+
+%%% letter-size (8.5in x 11.0in):
+%\hsize=7.5in %%% adjust to increase/decrease printer margins
+%\vsize=10.0in %%% adjust to increase/decrease printer margins
+%\hoffset=8.5in\advance\hoffset-\hsize\divide\hoffset2
+%\advance\hoffset-1.0in % TeX convention
+%\voffset=11.0in\advance\voffset-\vsize\divide\voffset2
+%\advance\voffset-1.0in % TeX convention
+
+%%% To determine the *minimal* margins supported by your
+%%% printer and check for printer mis-alignment, process
+%%% testpage.tex with LaTeX and print the result.
+
\tenpoint
-%%%%%%%%%%%%%%%%%%%%%%%%% local adjust to be tuned %%%%%%%%%%%%%%%%%%%%%%%%%%
-\advance\hoffset -5mm
-\voffset=-1.54cm
-%%%%%%%%%%%%%%%%%%%%%%%%% local adjust to be tuned %%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%% adjust here for a non-centering printer %%%%%%%%
+%\advance\hoffset 0mm
+%\advance\voffset 0mm
\endinput
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
index 20013df4b23..3aeb36d56c7 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
@@ -25,15 +25,21 @@
\def\mufl@x{0.83}%
\def\mxmajorvernumber{1}
-\def\mxminorvernumber{22}
+\def\mxminorvernumber{23}
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2016-02-24}
+\def\mxdate{2016-06-06}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
+% version 1.23
+
+% added \xtr and \ptr ornaments
+% adjusted spacing of \tr
+% corrected definition of \C@Inter for \nblines > 6
+
% version 1.22
% bi and sc font definitions added; sl and tt definitions for musixsty moved
@@ -1784,9 +1790,15 @@
\edef\internote{\csname i@n\romannumeral\noinstrum@nt\endcsname}%
\interportee\interfacteur\internote \interportee\tw@\interportee}
-\def\C@Inter{\stem@skip\interportee \advance\stem@skip-\@ight\internote
- \ifnum\nblines=\f@ur \advance\stem@skip\tw@\internote \fi
- \ifnum\nblines>\fiv@ \advance\stem@skip-\tw@\internote \fi}
+\def\C@Inter{% RDT: corrected to work if \nblines > 6 (version 1.23)
+ \stem@skip\interportee
+ \ifnum\nblines=\thr@@
+ \advance\stem@skip-\@ight\internote
+ \else
+ \advance\stem@skip-\nblines\internote
+ \advance\stem@skip-\nblines\internote
+ \advance\stem@skip\tw@\internote
+ \fi}
%%% loop over instruments and staffs
@@ -4090,9 +4102,14 @@
\def\mordent{\n@iv89\@Char}
\def\Mordent{\n@iv119\@Char}
\def\doublethumb{\n@iv121\@Char}
-\def\tr#1{\zcn{#1}{\ppff tr}}
\def\trt#1{\loffset{0.65}{\shake{#1}}\roffset{0.65}{\mordent{#1}}}
+
+\def\tr#1{\loffset{0.15}{\zcn{#1}{\ppff tr}}} % \loffset added version 1.23 RDT
+\def\xtr#1{\raise1.25\internote\hbox{\n@iv111\zcn{#1}\C@ChaR}} % added version 1.23 RDT
+\def\ptr#1{\raise1.25\internote\hbox{\n@iv117\zcn{#1}\C@ChaR}} % added version 1.23 RDT
+%\def\Xtr#1{\wholeshift{\xtr{#1}}} % unnecessary?
+
%%% accents
\def\upbow{{\musixfont\@xxiii}}