Christian Mondrup wrote
> Bernhard Lang wrote:
> > b) Apparently, MTX cannot handle the nice "rp" full bar rest provided by
> > PMX. This seems to mess up MTX's meter/length counting. In the above
> > mentioned meter I would like to use a \PAUSe. Well, "\PAUSe\ rb9 rb9" or
> > "rb9 \PAUSe\ rb9" are workarounds but both do not produce very
> > nice output
> > since a full bar rest should appear centered within the bar. A construct
> > with \centerPAUSe\ on the other hand is also not a real solution as the
> > pice has 12 voices and many such rests. So I don't see a direct
> > TeX macro
> > solution.
>
> I have performed a test of how prepmx and pmxab handle the PMX
> full bar rest
> word 'rp' and found that it works OK until a meter of value 3/1
> (notated with
> PMX syntax m6/2). In case of meter 4/1 (m8/2) prepmx happily handles 'rp'
> further to PMX. But then pmxab fails to behave reasonable. The
> musixtex result is:
>
> % Bar count 2
> \xbar
> \pnotes{****}\en%
> \def\atnextbar{\znotes\centerbar{\pausc}\en}%
>

It's a little tricky to sort this all out but I'll give it a shot. First,
regarding Christian's comment, the format error occurs because I never
anticipated that anyone would or could enter anything that would cause a
single notes group with a duration of 16 quarters. In fact, since there's no
notation for it in PMX, so there's no way at all to do it with a note, and
the only way to do it with a rest is with rp. Anyhow, such a group has a
length that is more than 10\elemskip and the PMX formats only accommodate
numbers less than 10. (It happens that the dotted breves recently discussed
here, which have duration 12 guarters, have a length slightly less than
10\elemskip so no problem there with the format.) In the next beta I'll fix
PMX to allow this (and I'll also fix the dotted breve so that the dot
appears as it should.)

But it's not clear this will solve Bernhard's problem, at least not
directly. One reason is that rp always produces a \pause character, not
\PAUSe. The other reason is that Bernhard may not have any single note
groups that long, at least not unless every one of his twelve voices has a
single note or rest that long; any shorter durations would subdivide the bar
and the format error would not appear.

Since the programming is more involved and this is such a rare occurrance,
I'm not inclined to change PMX to print \PAUSe in these cases. But I don't
understand why a macro won't work for Bernhard. Here's a compact example
that Bernhard can use right now if in any bar that has been subdivided in
some other voice:

================
2 2 8 2 8 2 0 0
1 1 20 0


bt
./
%
\\makeatletter\
\\def\Pforp{\global\let\pausct\pausc\gdef\pausc{\
\\lrlap{\PAUSe\off{\txt@ff}}\global\let\pausc\pausct}}\
\\makeatother\
%
c93 e /
\Pforp\ rp /
================

I'm not sure ALL the \global's are necessary, but I know it doesn't work if
there are no \global's.

If typing "\Pforp\ rp" every type is too laborious, you could define a PMX
macro.

BTW, in case you're wondering why PMX doesnn't use \centerpause etc., so am
I, but I vaguely recall it was because I didn't think the centering was
accurate enough.

--Don Simons

_______________________________________________
TeX-music mailing list
[EMAIL PROTECTED]
http://sunsite.dk/mailman/listinfo/tex-music

Reply via email to