> Date: Tue, 28 Jul 1998 12:19:47 +0200 (MET DST)
> From: Werner Icking <[EMAIL PROTECTED]>

> Not being a M-Tx user I tried to reproduce your problem in pure PMX.
> The following test case works well:
> [...example...]
> So I assume that M-Tx doesn't generate the correct PMX-code. 

No, that's wrong. In the meantime Christian Mondrup sent me the complete
mtx-source so that I could see that pmx makes the error if a volta goes over 
a line break. So I could modify the above example to reproduce the error:

1 1 4 4 4 4 0 0
1 3 20 0

t
./
% Volta without a line break works fine.
           d24d a4 |
      V1-3 d24d a4 /
m3400 Vx   c2d  Rr /
m4400 V4   d2d  a4 /
      Vx   c2   d4 c |
           c2   d4 c /
% A linebreak within a volta reproduces the error
L2
d24d a4 | d24d a4 | d24d a4 |
      V1-3 d24d a4 /
m3400 Vx   c2d  Rr /
m4400 V4   d2d  a4 /
      Vx   c2   d4 c |
           c2   d4 c /

A circumvention for the original case is to insert a forced line break
in front of the first volta.

-- Werner

PS: Another small problem remains: the volta-line and the bar number overlap.
    This can be supressed by "\\def\shiftbarno{0pt}\" overriding Don's favorite
    settings; speaking M-Tx: "%% \\def\shiftbarno{0pt}\"

PPS: With my newer editions I use a more general change of the bar number 
     writing, which does not need so much vertical space for the barnumber
     -- now speaking MusiXTeX (out of mymusix.tex):


\makeatletter

...

\ifx\undefined\sevenrm
\iflongDCfontnames
  \font\sevenrm=\fontid r0700
  \font\sevenbf=\fontid bx0700
  \font\sevenit=\fontid ti0700
\else\iflongECfontnames  
  \font\sevenrm=\fontid rm0700
  \font\sevenbf=\fontid bx0700
  \font\sevenit=\fontid ti0700
\else
  \font\sevenrm=\fontid r7
  \font\sevenbf=\fontid bx7
  \font\sevenit=\fontid ti7
\fi  
\fi
\fi

...

\let\barnofont\undefinded
\ifnum\musicsize=\sixt@@n \let\barnofont\sevenbf
\else\ifnum\musicsize=\tw@nty  \def\barnofont{\smalltype\bf}%
\else\ifnum\musicsize=\@xxiv   \def\barnofont{\normtype\bf}%
\else\ifnum\musicsize=\@xxix   \def\barnofont{\medtype\bf}%
\fi\fi\fi\fi

\def\mywritebarno{\ifnum\barno>1 \relax
        \ifdim\clef@skip=\z@\relax \y@=16pt \else\y@\clef@skip\relax \fi 
        \hbox to \y@{\hss\barnofont\the\barno\barnoadd\hss}\fi}

...

\makeatother


With PMX you need then

\\def\raisebarno{4\internote}\
\\def\shiftbarno{0pt}\
\\let\writebarno\mywritebarno\

Reply via email to