diff options
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 Binary files differindex 8f1ceea39a9..2f891a391a3 100644 --- a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf +++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf 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 Binary files differindex 92362a1b78c..6c3622be664 100644 --- a/Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdf +++ b/Master/texmf-dist/doc/generic/musixtex/musixtex-install.pdf diff --git a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf Binary files differindex 9eb9c1da3f4..a5457c97ef3 100644 --- a/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf +++ b/Master/texmf-dist/doc/generic/musixtex/scripts/musixtex.pdf 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 Binary files differindex 00efea0d591..9089ddb6265 100644 --- a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf 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}} |