-
Notifications
You must be signed in to change notification settings - Fork 0
Consistent staff levels
(original discussion here)
From Elaine Gould's "Behind Bars" (p. 487):
Match the levels of top and bottom staves across facing pages, regardless of whether the pages have the same number of staves.
Ideally pages should have consistent top and bottom stave levels throughout a piece.
In order to get this done in Lilypond, we need to get it to ignore the so-called "skyline" - the vertical position of any objects which appear above the staff. So we set two values: top-margin
, which is the vertical distance between the top edge of the page and the top of the header (if a header is used), and another value which we shall call top-staff-margin
, which is the vertical distance from the top edge of the page to the top line of the top staff. This value will be used to calculate the basic-distance
value for the top-system-spacing
alist:
\paper {
...
% distance of top of header from page's top edge
top-margin = 10\mm
...
% distance of top line of top staff from page's top edge
top-staff-margin = 24.5\mm
% set the basic distance of the top staff from the top margin
% this formula takes into account the above settings, the current staff size, and adds
% 2 staff spaces, since the reference position of the staff is its center line
top-system-spacing #'basic-distance = #(+ (/ (- top-staff-margin top-margin) staff-space) 2)
top-system-spacing #'minimum-distance = 0
% set large negative padding in order to ignore the skyline
top-system-spacing #'padding = -50
% do not stretch the distance
top-system-spacing #'stretchability = 0
...
}