[ << Tweaking output ] | [Top][Contents][Index] | [ Templates >> ] |
[ < Placement of objects ] | [ Up : Placement of objects ] | [ Within-staff objects > ] |
5.5.1 Automatic behavior
Objects belonging outside the staff include things such as
rehearsal marks, text and dynamic markings. LilyPond’s rule for
the vertical placement of outside-staff objects is to place them
as close to the staff as possible but not so close that they
collide with any other object. LilyPond uses the
outside-staff-priority
property to determine the order in
which the objects should be placed, as follows.
First, LilyPond places all the within-staff objects.
Then it sorts the outside-staff objects according to their
outside-staff-priority
. The outside-staff objects are
taken one by one, beginning with the object with the lowest
outside-staff-priority
, and placed so that they do not
collide with any objects that have already been placed. That is,
if two outside-staff grobs are competing for the same space, the
one with the lower outside-staff-priority
will be placed
closer to the staff. If two objects have the same
outside-staff-priority
the one encountered first will be
placed closer to the staff.
In the following example all the markup texts have the same priority (since it is not explicitly set). Note that ‘Text3’ is automatically positioned close to the staff again, nestling under ‘Text2’.
c''2^"Text1" c''2^"Text2" | c''2^"Text3" c''2^"Text4" |
Staves are also positioned, by default, as closely together as possible (subject to a minimum separation). If notes project a long way towards an adjacent staff they will force the staves further apart only if an overlap of the notation would otherwise occur. The following example demonstrates this ‘nestling’ of the notes on adjacent staves:
<< \new Staff { \relative { c'4 a, } } \new Staff { \relative { c''''4 a, } } >>
[ << Tweaking output ] | [Top][Contents][Index] | [ Templates >> ] |
[ < Placement of objects ] | [ Up : Placement of objects ] | [ Within-staff objects > ] |