[ << Spacing issues ] | [Top][Contents][Index][ ? ] | [ Changing defaults >> ] | ||
[ < Horizontal spacing ] | [ Up : Horizontal spacing ] | [ New spacing area > ] |
4.5.1 Horizontal spacing overview
The spacing engine translates differences in durations into stretchable
distances (‘springs’) of differing lengths. Longer durations get
more space, shorter durations get less. The shortest durations get a
fixed amount of space (which is controlled by
shortest-duration-space
in the
SpacingSpanner
object). The longer the duration, the more space it gets: doubling a
duration adds a fixed amount (this amount is controlled by
spacing-increment
) of space to the note.
For example, the following piece contains lots of half, quarter, and 8th notes; the eighth note is followed by 1 note head width (NHW). The quarter note is followed by 2 NHW, the half by 3 NHW, etc.
c2 c4. c8 c4. c8 c4. c8 c8 c c4 c c
Normally, spacing-increment
is set to 1.2 staff space, which is
approximately the width of a note head, and
shortest-duration-space
is set to 2.0, meaning that the
shortest note gets 2.4 staff space (2.0 times the
spacing-increment
) of horizontal space. This space is counted
from the left edge of the symbol, so the shortest notes are generally
followed by one NHW of space.
If one would follow the above procedure exactly, then adding a single 32nd note to a score that uses 8th and 16th notes, would widen up the entire score a lot. The shortest note is no longer a 16th, but a 32nd, thus adding 1 NHW to every note. To prevent this, the shortest duration for spacing is not the shortest note in the score, but rather the one which occurs most frequently.
The most common shortest duration is determined as follows: in every
measure, the shortest duration is determined. The most common shortest
duration is taken as the basis for the spacing, with the stipulation
that this shortest duration should always be equal to or shorter than
an 8th note. The shortest duration is printed when you run
lilypond
with the ‘--verbose’ option.
These durations may also be customized. If you set the
common-shortest-duration
in
SpacingSpanner, then
this sets the base duration for spacing. The maximum duration for this
base (normally an 8th), is set through base-shortest-duration
.
Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:
c2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c
In the Essay on automated music engraving, it was explained
that stem directions influence spacing (see
Optical spacing). This is controlled with the
stem-spacing-correction
property in the
NoteSpacing, object. These are generated for every
Voice context. The StaffSpacing
object
(generated in
Staff context) contains the same
property for controlling the stem/bar line spacing. The following
example shows these corrections, once with default settings, and
once with exaggerated corrections:
Proportional notation is supported; see Proportional notation.
See also
Essay on automated music engraving: Optical spacing.
Snippets: Spacing.
Internals Reference: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn.
Known issues and warnings
There is no convenient mechanism to manually override spacing. The following work-around may be used to insert extra space into a score, adjusting the padding value as necessary.
\override Score.NonMusicalPaperColumn.padding = #10
No work-around exists for decreasing the amount of space.
[ << Spacing issues ] | [Top][Contents][Index][ ? ] | [ Changing defaults >> ] | ||
[ < Horizontal spacing ] | [ Up : Horizontal spacing ] | [ New spacing area > ] |
Other languages: deutsch, español, français, italiano, 日本語.
About automatic language selection.