summaryrefslogtreecommitdiff
path: root/macros/musixtex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-05-14 03:01:09 +0000
committerNorbert Preining <norbert@preining.info>2021-05-14 03:01:09 +0000
commit11a1186b093ff2ae9478c20979b6eec30f63f32c (patch)
treec833d643a4d2ff6e5962eddc017f609b7580f0fa /macros/musixtex
parentad4e4e52ae85ee5957d6a67c251a965b93679298 (diff)
CTAN sync 202105140301
Diffstat (limited to 'macros/musixtex')
-rw-r--r--macros/musixtex/README2
-rw-r--r--macros/musixtex/doc/ChangeLog-132.txt6
-rw-r--r--macros/musixtex/doc/musixdoc.pdfbin1374931 -> 1396006 bytes
-rw-r--r--macros/musixtex/doc/musixdoc/beams.tex5
-rw-r--r--macros/musixtex/doc/musixdoc/extensions.tex34
-rw-r--r--macros/musixtex/doc/musixdoc/frontmatter.tex4
-rw-r--r--macros/musixtex/doc/musixdoc/miscellaneous.tex6
-rw-r--r--macros/musixtex/doc/musixdoc/musixdoc.sty1
-rw-r--r--macros/musixtex/doc/scripts/musixflx.pdfbin4074 -> 9286 bytes
-rw-r--r--macros/musixtex/tex/musixtex.tex13
-rw-r--r--macros/musixtex/tex/musixvbm.tex211
11 files changed, 272 insertions, 10 deletions
diff --git a/macros/musixtex/README b/macros/musixtex/README
index 248beeb18b..257051bce4 100644
--- a/macros/musixtex/README
+++ b/macros/musixtex/README
@@ -1,4 +1,4 @@
-This is MusiXTeX, version 1.31 (2021-01-07).
+This is MusiXTeX, version 1.32 (2021-05-13).
MusiXTeX is a TeX-based system for typesetting music.
The main author was Daniel Taupin, who died in a climbing
diff --git a/macros/musixtex/doc/ChangeLog-132.txt b/macros/musixtex/doc/ChangeLog-132.txt
new file mode 100644
index 0000000000..2d288c95bc
--- /dev/null
+++ b/macros/musixtex/doc/ChangeLog-132.txt
@@ -0,0 +1,6 @@
+
+Changes from MusiXTeX 131 to 132:
+
+ * commented out spurious \let\doublebar\doublebar@II
+ * forbid line-breaking at \zdoublebar
+ * new add-on musixvbm.tex to support vectorized beams
diff --git a/macros/musixtex/doc/musixdoc.pdf b/macros/musixtex/doc/musixdoc.pdf
index 6c62fbdec4..8503c82411 100644
--- a/macros/musixtex/doc/musixdoc.pdf
+++ b/macros/musixtex/doc/musixdoc.pdf
Binary files differ
diff --git a/macros/musixtex/doc/musixdoc/beams.tex b/macros/musixtex/doc/musixdoc/beams.tex
index 2805e0aff6..6cf562a9c3 100644
--- a/macros/musixtex/doc/musixdoc/beams.tex
+++ b/macros/musixtex/doc/musixdoc/beams.tex
@@ -620,3 +620,8 @@ In this example we see not only multiple uses of \keyindex{nextstaff} and
\keyindex{prevstaff}, but also the character \verb|*| to make virtual beam notes
(see Section~\ref{CollectiveCoding}).
+
+ \section{Discontinuities in Long Beams}
+Beams are normally produced by \texttt{musixtex} using special fonts. Unfortunately, very long beams may have
+unsightly discontinuities (gaps or bumps). See Section~\ref{musixvbm}
+for an experimental solution to this problem.
diff --git a/macros/musixtex/doc/musixdoc/extensions.tex b/macros/musixtex/doc/musixdoc/extensions.tex
index 7d60a4dbc5..5bf8dd667d 100644
--- a/macros/musixtex/doc/musixdoc/extensions.tex
+++ b/macros/musixtex/doc/musixdoc/extensions.tex
@@ -2176,6 +2176,40 @@ Available are:
\keyindex{qbppp} and
\keyindex{zqbppp}.
+ \section{musixvbm}\ixtt{musixvbm.tex}
+\label{musixvbm}
+Beams are normally produced by \texttt{musixtex} using special fonts. Unfortunately, very long beams may have
+unsightly discontinuities (gaps or bumps). This experimental add-on
+(by Hiroaki \textsc{Morimoto}) produces vectorized beams without these
+discontinuities. Compare
+\begin{description}
+\item{}
+\begin{music}
+\nostartrule
+\setclef1{\bass}
+\startextract
+\nnotes\ibbl0G1\qb0{GJKLMLMLMLMLMLMK}\tqb0L\en
+\endextract
+\end{music}
+\end{description}
+and
+\begin{description}
+\item{}
+\begin{music}
+\input musixvbm
+\nostartrule
+\setclef1{\bass}
+\startextract
+\nnotes\ibbl0G1\qb0{GJKLMLMLMLMLMLMK}\tqb0L\en
+\endextract
+\end{music}
+\end{description}
+especially when magnified.
+
+The only known disadvantage is that some \texttt{dvi} viewers
+including \texttt{xdvi} and \texttt{yap} do not support the \texttt{tpic} specials
+that implement the vectorized beams so that no beams are shown; however, Postscript and PDF
+output generated using \texttt{dvips} and \texttt{ps2pdf} (or \texttt{dvipdfm}) should be satisfactory.
\section{tuplet}
diff --git a/macros/musixtex/doc/musixdoc/frontmatter.tex b/macros/musixtex/doc/musixdoc/frontmatter.tex
index e1402cfb3e..e0d9515830 100644
--- a/macros/musixtex/doc/musixdoc/frontmatter.tex
+++ b/macros/musixtex/doc/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.31}
+instrumental music\\\Large\itshape Version 1.32}
\author{}
@@ -68,7 +68,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.30.
+\musixtex\ version~1.32.
Novice users need not start here.
Most
diff --git a/macros/musixtex/doc/musixdoc/miscellaneous.tex b/macros/musixtex/doc/musixdoc/miscellaneous.tex
index f212b769d7..a9e8fad4bb 100644
--- a/macros/musixtex/doc/musixdoc/miscellaneous.tex
+++ b/macros/musixtex/doc/musixdoc/miscellaneous.tex
@@ -48,9 +48,9 @@ or
\section{Accents}
You may use\footnote{Note from the editor: the reason the names of some of
-these macros don't seem to be constructed to suggest the terms used in the
-descriptions is that whoever originally defined the macros had in mind terms
-that did not agree with normal English usage.}
+these macros don't seem to suggest the terms used in the
+descriptions is that apparently Daniel Taupin had in mind other terms,
+such as \emph{pizzicato}.}
\begin{itemize}\setlength{\itemsep}{0ex}
\item \keyindex{upz}\pitchp~(upper \itxem{staccato}) to put a dot above a note
head at pitch $p$,
diff --git a/macros/musixtex/doc/musixdoc/musixdoc.sty b/macros/musixtex/doc/musixdoc/musixdoc.sty
index d752fc8b02..95b9c5a291 100644
--- a/macros/musixtex/doc/musixdoc/musixdoc.sty
+++ b/macros/musixtex/doc/musixdoc/musixdoc.sty
@@ -47,6 +47,7 @@
\usepackage{textcomp}
\input musixtex
+%\input musixvbm % experimental vectorized beams
\input musixbm
\input musixcho
\input musixdat
diff --git a/macros/musixtex/doc/scripts/musixflx.pdf b/macros/musixtex/doc/scripts/musixflx.pdf
index 934b9097b9..0d6b152bc7 100644
--- a/macros/musixtex/doc/scripts/musixflx.pdf
+++ b/macros/musixtex/doc/scripts/musixflx.pdf
Binary files differ
diff --git a/macros/musixtex/tex/musixtex.tex b/macros/musixtex/tex/musixtex.tex
index ba5b4f3880..9cf493ca18 100644
--- a/macros/musixtex/tex/musixtex.tex
+++ b/macros/musixtex/tex/musixtex.tex
@@ -25,15 +25,20 @@
\def\mufl@x{0.83}%
\def\mxmajorvernumber{1}
-\def\mxminorvernumber{31}
+\def\mxminorvernumber{32}
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2021-01-07}
+\def\mxdate{2021-05-13}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
+% version 1.32
+
+% commented out spurious \let\doublebar\doublebar@II
+% forbid line-breaking at \zdoublebar
+
% version 1.31
%
% defined \zzdoublebar, \zzbar, \zendpiece
@@ -2307,7 +2312,7 @@
\let\T@bil\iftrue \let\everyst@ff\everystaff \let\fil@spc\empty
\let\fil@termskip\empty \let\fil@signs\empty \let\fil@barno\empty
\let\leftrepeat\leftrepeat@II \let\leftrightrepeat\leftrightrepeat@II
- \let\doublebar\doublebar@II
+% \let\doublebar\doublebar@II % commented out by RDT version 1.32
\piece@beginc\Writ@meters\lastbarpos\lin@pos\let\pdl@cut\empty\addspace\afterruleskip}
%%% 1.21: added \lastbarpos and \pdl@cut settings
@@ -2613,7 +2618,7 @@
\let\zleftrightrepeat\zleftrightrepeat@II % RDT 1.28
-\def\zdoublebar{\advance\barno\m@ne\doublebar} % RDT 1.30
+\def\zdoublebar{\advance\barno\m@ne\setdoublebar\xbar} % RDT revised 1.32
\def\zzdoublebar{% % RDT 1.31
\advance\barno\m@ne%
diff --git a/macros/musixtex/tex/musixvbm.tex b/macros/musixtex/tex/musixvbm.tex
new file mode 100644
index 0000000000..09fa03da42
--- /dev/null
+++ b/macros/musixtex/tex/musixvbm.tex
@@ -0,0 +1,211 @@
+%%
+%% musixvbm.tex - MusiXTeX Extention, Vectorized Beams (& crescendos)
+%% by tpic specials / pdfTeX raw literal
+%%
+%% Copyright (C) 2000-2007 Hiroaki MORIMOTO (Kuuku)
+%%
+%% This program is free software; you can redistribute it and/or
+%% modify it under the terms of the GNU General Public License
+%% as published by the Free Software Foundation; either version 2
+%% of the License, or any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with this program; if not, write to the Free Software
+%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+%%
+%% \def\domain{nifty.com}
+%% Author:
+%% Hiroaki MORIMOTO <CQX\relax05646@\domain>
+%% Tokyo, Japan
+%% URL: http://kuuku.no.coocan.jp/pub/musixtex/index-e.html
+%%
+%% based on musixtex.tex T.104, line 3255-3290.
+%% MusiXTeX : (C) Daniel Taupin et al.
+%%
+%% January 1, 2007 version 1.20-beta6
+%% This is a successor of `musixtpb.tex' ver.1.10.
+%%
+\ifx\ifvectorizedbeam\undefined\else\endinput\fi
+\immediate\write16{MusiXTeX Extention, Vectorized Beams and crescendos v1.20-beta6 <2007/01/01>}%
+%
+\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
+%
+% Allocation of registers
+% No register is required except for scratch (\dimen@, \count@)
+%
+% Modes definition (default: true)
+\newif\ifvectorizedbeam \vectorizedbeamtrue
+%
+% Operation mode automatic selection (v1.20)
+%
+\let\@beammodesel\relax%
+\ifx\pdftexversion\undefined\else%
+ \ifnum\pdfoutput>0\relax
+ \immediate\write16{musixvbm: uses pdfTeX raw literal}%
+ \edef\@beammodesel{pdftex}%
+ \fi
+\fi
+\ifx\@beammodesel\relax
+ \immediate\write16{musixvbm: uses tpic specials}%
+ \edef\@beammodesel{tpic}%
+\fi
+%
+% Overriding beam termination code (v1.20)
+%
+\let\@beam@font=\@beam\relax
+\def\@beam{%
+ \ifvectorizedbeam
+ \csname @beam@\@beammodesel\endcsname
+ \else
+ \@beam@font
+ \fi
+}%
+%
+% Main routine for tpic-version beam
+% \y@ii : length, \b@p : slope, \y@i : altitude
+%
+\def\@beam@tpic{%
+ % X of end
+ \@dimentomil{\y@ii}{\@Xend}%
+ % Y of start
+ \y@iii\y@i
+ \advance\y@iii -\b@amthick
+ \@dimentomil{-\y@iii}{\@Ystart@l}%
+ \advance\y@iii \tw@\b@amthick
+ \@dimentomil{-\y@iii}{\@Ystart@u}%
+ % Y of end
+ \y@iv\y@i
+ \dimen@=\b@p\y@ii \divide\dimen@ \tw@nty% \tw@nty=20 def'd in musixtex.tex
+ \advance\y@iv \dimen@
+ \advance\y@iv -\b@amthick
+ \@dimentomil{-\y@iv}{\@Yend@l}%
+ \advance\y@iv \tw@\b@amthick
+ \@dimentomil{-\y@iv}{\@Yend@u}%
+% \special{pn 1}%
+ \special{sh 1}%
+ \@addbeampath{0}{\@Ystart@l}%
+ \@addbeampath{\@Xend}{\@Yend@l}%
+ \@addbeampath{\@Xend}{\@Yend@u}%
+ \@addbeampath{0}{\@Ystart@u}%
+ \@addbeampath{0}{\@Ystart@l}%
+ \special{ip}%
+ \kern\y@ii
+}%
+%
+%
+% Subroutines for tpic-version beam
+%
+\def\@dimentomil#1#2{{%
+ % 1m-in = 0.07227pt, 1pt = 13.837m-in
+ % \count@=\count255 \dimen@=\dimen0 def'd in plain
+ \dimen@=#1\relax\dimen@=13.837\dimen@\relax
+ \count@\dimen@
+ \ifnum\count@>0
+ \advance\count@ by 32768
+ \else
+ \advance\count@ by -32768
+ \fi
+ \divide\count@ by 65536
+ \xdef#2{\the\count@}}}%
+%
+\def\@addbeampath#1#2{\special{pa #1 #2}}%
+%
+%
+% Main routine for pdfTeX
+%
+\def\@beam@pdftex{%
+ % X of end
+ \edef\@Xend{\strip@pt\y@ii}%
+ % Y of start
+ \y@iii\y@i
+ \advance\y@iii -\b@amthick
+ \edef\@Ystart@l{\strip@pt\y@iii}%
+ \advance\y@iii \tw@\b@amthick
+ \edef\@Ystart@u{\strip@pt\y@iii}%
+ % Y of end
+ \y@iv\y@i
+ \dimen@=\b@p\y@ii \divide\dimen@ \tw@nty% \tw@nty=20 def'd in musixtex.tex
+ \advance\y@iv \dimen@
+ \advance\y@iv -\b@amthick
+ \edef\@Yend@l{\strip@pt\y@iv}%
+ \advance\y@iv \tw@\b@amthick
+ \edef\@Yend@u{\strip@pt\y@iv}%
+ \pdfliteral{q 0 g 0 \@Ystart@l\space m \@Xend\space\@Yend@l\space l \@Xend\space\@Yend@u\space l 0 \@Ystart@u\space l 0 \@Ystart@l\space l f Q}%
+ \kern\y@ii
+}%
+%
+% Subroutines for pdfTeX
+% (taken from latex.ltx 2003/12/01)
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{%
+ \def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}%
+ \expandafter\endgroup\x
+\def\strip@pt{\expandafter\rem@pt\the}%
+%
+%
+% vectorized version of crescendo, decrescendo (under construction)
+%
+\let\C@cresc@font=\C@cresc\relax
+%
+% for tpic-version crescendo
+% #1=length (any TeX dimension, no limit))
+\def\C@cresc@tpic#1{%
+ \y@iv#1\relax
+% \rlap{\vrule width\y@iv height1pt}%
+ \@dimentomil{\y@iv}{\@Xend}%
+ \dimen@=2.5pt \advance\dimen@ by.00125\y@iv\relax% see musixspx.mf
+ \@dimentomil{\dimen@}{\@Yend@l}%
+ \special{pn 6}% 0.4pt=5.5348mil see musixspx.mf
+ \ifnum\n@ii=\@cxv% decrescendo see musixtex.tex T.112 line 3870
+ \@addbeampath{0}{\@Yend@l}%
+ \@addbeampath{\@Xend}{0}%
+ \special{fp}%
+ \@addbeampath{0}{-\@Yend@l}%
+ \@addbeampath{\@Xend}{0}%
+ \special{fp}%
+ \else
+ \@addbeampath{\@Xend}{\@Yend@l}%
+ \@addbeampath{0}{0}%
+ \special{fp}%
+ \@addbeampath{\@Xend}{-\@Yend@l}%
+ \@addbeampath{0}{0}%
+ \special{fp}%
+ \fi
+% \C@cresc@font#1%
+}%
+%
+% for pdfTeX-version crescendo
+% #1=length (any TeX dimension, no limit))
+\def\C@cresc@pdftex#1{%
+ \y@iv#1\relax
+% \rlap{\vrule width\y@iv height1pt}%
+ \edef\@Xend{\strip@pt\y@iv}%
+ \dimen@=2.5pt \advance\dimen@ by.00125\y@iv\relax% see musixspx.mf
+ \edef\@Yend@l{\strip@pt\dimen@}%
+ \ifnum\n@ii=\@cxv% decrescendo see musixtex.tex T.112 line 3870
+ \pdfliteral{.4 w q 0 g 0 \@Yend@l\space m \@Xend\space 0 l S Q q 0 g 0 -\@Yend@l\space m \@Xend\space 0 l S Q}%
+ \else
+ \pdfliteral{.4 w q 0 g \@Xend\space \@Yend@l\space m 0 0 l S Q q 0 g \@Xend\space -\@Yend@l\space m 0 0 l S Q}%
+ \fi
+% \C@cresc@font#1%
+}%
+%
+% Overriding crescendo (v1.20)
+%
+\def\C@cresc#1{%
+ \ifvectorizedbeam
+ \csname C@cresc@\@beammodesel\endcsname#1
+ \else
+ \C@cresc@font#1
+ \fi
+}%
+%
+\catcode`\@=\catcodeat
+\endinput