Rainer, I bow to your mastery of TeX! I doubt if I ever could have figured
that out. But at least I figured out who could figure it out. Thanks!!!!

With the whole weekend before me, I'll be trying to find PMX examples where
other things might be affected by your proposed changes. I'm pretty sure I
have some (vocal) scores where I resorted to the same kind of band-aid I
proposed for Hermann, i.e., subtracting the extra space using the \spread
macro, and obviously those will have to be "un-band-aided".

The task of finding other issues with these changes makes me think of
another true TeXpert, our dear friend Werner, who somehow could always find
bugs in PMX even if they only showed up when multiple, uncommon events
happened in a specific sequence.

--Don

>-----Original Message-----
>From: TeX-Music [mailto:tex-music-boun...@tug.org] On Behalf Of Rainer
Dunker
>Sent: Friday, August 17, 2012 2:24 PM
>To: Werner Icking Music Archive
>Subject: Re: [Tex-music] Space between systems
>
>Hello Don!
>
>Am 16.08.2012 schrieb Don Simons:
>> Anyhow, I was afraid it might be in musixlyr, because it's long and
>> complicated. Rainer, it would be great if you'd jump in here :-)
>
>Okay, let's go! I'm not sure about this particular case, but I do know that
we already
>discussed a few problems all of which had the same
>cause: that musixlyr is more fussy about the correct order of changes of
the
>instrument number (and other vertical properties) than PMX.
>Specifically, PMX uses its own macro \newnoi to initiate an instrument
number
>change. That macro, in turn, wraps that change into an \atnextbar command.
That
>works for PMX itself, but it causes trouble for musixlyr because \atnextbar
is
>executed already before the pending system is actually closed by MusiXTeX's
>\stoppiece macro. But musixlyr injects some system closing activities into
\stoppiece
>(specifically, handling of pending hyphens), and for that, it must rely on
the
>instrument number still being the one of the pending system---but the
number is
>already changed to the new one by \atnextbar! In the given problem example,
at the
>end of the second-last system (bar number 3) with two instruments, musixlyr
>believes that five instruments (= the new instrument number) are to be
processed and
>therefore it messes up the vertical spacing.
>
>So, what to do? I'm afraid the problem can't be solved in musixlyr.tex but
rather in
>pmx.tex. The goal is to make the instrument number change happen at the
line break
>rather than at the bar line (which is the same only seemingly). The \newnoi
macro ...
>
>\def\newnoi#1{\let\atnb\atnextbar\def\atnextbar{\atnb\def\nbinstruments{#1}
}}
>%
>
>... should thus be changed to:
>
>\def\newnoi#1{\let\atnl\atnextline\def\atnextline{\atnl\def\nbinstruments{#
1}}}
>%
>
>(Well, at least this would solve the problem in question, but could it
cause unwanted
>side effects? I don't know ...)
>
>But that's not sufficient, since pmx.tex deactivates \atnextline at
movement breaks by
>redefining MusiXTeX's \contpiece macro (where \atnextline is normally
executed).
>To complete the solution, the \atnextline call should be re-inserted into
this
>\contpiece redefinition; this happens within the PMX macro \newmovement:
>
>\def\newmovement#1#2{...
> \def\contpiece{\atnextline \let\atnextline\empty
>               ...}%
>}%
>
>I've put all this together to a working example that solves the problem (at
least for
>me, using M-Tx 0.60d (Music from TeXt) <<11 October
>2008>>, MusiXTeX(c) 1.15 <3 April 2011>, and PMX Version 2.614a <17 July
>11>); I'll append it to this e-mail (beware of unwanted line breaks).
>
>As mentioned before, I can't tell whether this solution would work in
>every case and without causing further trouble; therefore it's rather a
>proposal than a ready-made fix.
>
>Best regards,
>
>Rainer
 


-------------------------------
TeX-music@tug.org mailing list
If you want to unsubscribe or look at the archives, go to 
http://tug.org/mailman/listinfo/tex-music

Reply via email to