On Fri, Oct 16, 2020 at 4:28 PM Marc Shepherd <[email protected]> wrote:

> Here is a minimal example showing this behavior:
>
> \version "2.20.0"
>
> \layout {
>   \context {
>     \name MarkLine
>     \type Engraver_group
>     \consists Output_property_engraver
>     \consists Axis_group_engraver
>     \consists Mark_engraver
>     \consists Metronome_mark_engraver
>     \override VerticalAxisGroup.staff-staff-spacing =
>     #'((basic-distance . 1)
>        (minimum-distance . 1)
>        (padding . 1)
>        (stretchability . 3))
>   }
>   \context {
>     \Score
>     \remove Mark_engraver
>     \remove Metronome_mark_engraver
>     \accepts MarkLine
>   }
> }
>
> \score {
>   <<
>   \new MarkLine { \time 4/4
>     s1*7
>     \mark \default
>     s1*7
>   }
>   \new StaffGroup {
>     <<
>     \override StaffGroup.SystemStartBracket.collapse-height = #4
>     \new Staff {
>       \key f \major \relative c' {
>         \repeat unfold 56 { c4 }
>       }
>     }
>     >>
>   }
>   >>
> }
>
> [image: Collision.PNG]
>
>
The BarNumber is not spaced relative to the StaffGroup any more.  It is
spaced relative to the MarkLine context (you can see this by commenting out
your VerticalAxisGroup.staff-staff-spacing override).
The MarkLine context is spaced relative to the Staff (as can be seen by the
override you use).  The System Start Bracket belongs to the StaffGroup, not
the Staff, so I believe it's not part of the collision resolution for the
staff-staff-spacing.

There is clearly a problem with a collision here, but you've done enough
altering contexts that I'm not sure it's a LilyPond error rather than a
user error.  I don't fully grasp how the MarkLine context works in your
example.  You are using it somewhat differently than it was proposed on the
list (where it was proposed to be between staffs, where bar numbers don't
live).  I'm sorry, but I can't figure out how to fix this.

Carl

Reply via email to