Dear all,

is there any way to recreate the attached situation in "pure" LilyPond?
What I'm after is a startStaff on steroids that can reinstantiate an entire 
ChoirStaff or GrandStaff, including the brace or bracket. I've mostly seen this 
in dense D.S. al coda situations, but also in certain other special cases where 
tiny excerpts are concatenated in one line. I can easily stop all staves, but 
couldn't find a way to also add the group decorations that help as an 
additional visual cue on where the new "score" begins. (Probably doable by some 
scheme magic, copying and shifting the begin-of-line decoration; but I was 
unsuccessful in backtracking to the system's decorating grobs, and perhaps 
there's some fundamentally more elegant way.)

The attached example is produced with (the amazing!) lyLuaTeX, concatenating 
three small independent scores on one line and doing some annoying calculations 
with LaTeX's calc package and the \widthof command, to give the second score a 
length of line-width minus the natural lengths of the two other scores. I can 
make this beautiful, usually, with some manual effort. But it suffers from at 
least two problems:

First, it generally takes patience and manual overrides to get the staves 
aligned vertically, especially if there are very high or very low notes in one 
of the pieces.
E.g., in the attached example, I didn't spend time to make the bottom staves 
*really* line up with each other; due to lyLuaTeX's approach of determining 
bounding boxes for systems, that would require quite a bit more work and 
transparent spacers and stuff, or tedious and error-prone manual offsets.

But more severe, the *horizontal* spacing is independent between the three 
scores. In the attached situation, natural spacing for the first and third 
score doesn't produce a homogeneous look with the second one, where the notes 
are spaced much further apart. Ideally, similar to "normal" stop/startStaff, 
there is just some arbitrary gap, but the overall spacing is not reset.
Again, this can be worked around manually by adjusting the line-widths of the 
individual scores. But also again, this is fragile and cumbersome.

Plus, of course, it breaks the overall flow of a piece whenever this occurs; 
you need to reset bar numbers, clefs, keys, etc. (most of which is pretty 
trivial if the score isn't really split, just "suspended"). And it's really 
over the top to use lyLuaTeX for the sole purpose of e.g. a gap before the last 
coda bars of a multi-page piano piece.


So: any ideas? (I can share the lyLuaTeX code if someone is interested, but I 
guess it's not really helpful as this question is essentially on how to 
reproduce it with pure Lily...)


Cheers,
Alex

Reply via email to