Skip to content

Consistent staff levels

Sharon Rosner edited this page Jan 19, 2016 · 1 revision

(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 
  ... 
}
Clone this wiki locally