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