[ << Spacing issues ] | [Top][Contents][Index] | [ Changing defaults >> ] |
[ < Spacing between adjacent non-musical items ] | [ Up : Adjusting horizontal spacing for specific layout objects ] | [ Line width > ] |
4.5.4.3 Spacing between adjacent columns
Contrary to spacing within one column, spacing between adjacent columns is flexible and stretches or compresses according to the density of music on the line. By default, columns may even overlap in some situations. The following example shows three cases. The second accidental slides behind the bar line, while the third one overlaps with the clef. Also, the tempo marking Presto spans several columns. Observe how the first accidental, which remains within the vertical extent of the bar line on its left, is placed further apart.
These spacing rules can be overridden. This is done by modifying
the width and height that an object takes in horizontal spacing.
The relevant properties are extra-spacing-width
and
extra-spacing-height
. When unset, an object takes as
much space in horizontal spacing as its X-extent
and
Y-extent
properties allow. These are accurate values of
its dimensions. The extra-spacing-width
and
extra-spacing-height
properties make an object larger
or smaller for computation of horizontal spacing between columns
only, but preserve its dimensions for other spacing types.
{ \textMark "Default" c'2 2 cis'2 2 } { \textMark "Modified X-extent" \override NoteHead.X-extent = #'(-2 . 2) c'2 2 cis'2 2 } { \textMark "Modified extra-spacing-width" \override NoteHead.extra-spacing-width = #'(-2 . 2) c'2 2 cis'2 2 }
extra-spacing-width
and extra-spacing-height
are pairs of numbers, which are added to the dimensions on each
axis. For instance, setting extra-spacing-height
to
'(-2 . 3)
makes the object three units larger on the top,
and two units larger on the bottom (limit lowered by 2). The
following example shows how to use extra-spacing-height
to change the limit after which accidentals no longer overlap with
bar lines.
music = \relative { \time 1/4 cis8 8 | dis8 8 | eis8 8 | fis8 8 | gis8 8 | ais8 8 | bis8 8 | cis8 8 | } { \music } { \override Accidental.extra-spacing-height = #'(0 . 1.0) \music }
The value '(+inf.0 . -inf.0)
for
extra-spacing-width
or extra-spacing-height
removes the object’s presence.
music = \relative { \time 1/4 cis8 8 | dis8 8 | eis8 8 | fis8 8 | gis8 8 | ais8 8 | bis8 8 | cis8 8 | } { \override Accidental.extra-spacing-height = #'(+inf.0 . -inf.0) \music }
Conversely, an extra-spacing-height
of '(-inf.0
. +inf.0)
makes the object infinitely high, preventing overlap
with another column completely. The below example demonstrates
this technique on Accidental
and MetronomeMark
.
In the case of MetronomeMark
, it is necessary to set
extra-spacing-width
to '(0 . 0)
because the
default is '(+inf.0 . -inf.0)
, and even an infinitely high
object does not take space if it has no width.
{ \override Score.MetronomeMark.extra-spacing-width = #'(0 . 0) \override Score.MetronomeMark.extra-spacing-height = #'(-inf.0 . +inf.0) \override Accidental.extra-spacing-height = #'(-inf.0 . +inf.0) cis'4 r2. \tempo Presto fis16 8 16 4 \clef alto cis4 fis4 }
See also
Internals Reference: item-interface, separation-item-interface.
[ << Spacing issues ] | [Top][Contents][Index] | [ Changing defaults >> ] |
[ < Spacing between adjacent non-musical items ] | [ Up : Adjusting horizontal spacing for specific layout objects ] | [ Line width > ] |