--- /dev/null
+\version"2.13.4"
+
+\header {
+ texidoc = "Padding from the header and footer is measured to the first
+line, whether or not it is spaceable."
+}
+
+#(set-default-paper-size "a6")
+
+\book {
+ \paper {
+ first-system-spacing = #'((space . 1) (padding . 10))
+ last-system-spacing = #'((space . 1) (padding . 10))
+ annotate-spacing = ##t
+ ragged-last-bottom = ##f
+ }
+
+ \score {
+ <<
+ \new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN } \lyricmode { foo }
+ \new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN } \lyricmode { foo }
+ \new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN } \lyricmode { foo }
+ \new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN } \lyricmode { foo }
+ \new Staff { c'1 }
+ \new Staff { c'1 }
+ \new Lyrics \lyricmode { foo }
+ \new Lyrics \lyricmode { foo }
+ \new Lyrics \lyricmode { foo }
+ \new Lyrics \lyricmode { foo }
+ >>
+ }
+}
\ No newline at end of file
Prob *page = unsmob_prob (page_scm);
header_height_ = 0;
footer_height_ = 0;
+ header_padding_ = 0;
+ footer_padding_ = 0;
page_height_ = 100;
if (page)
// spring at the _top_ of the header.
page_height_ -= robust_scm2double (paper->c_variable ("top-margin"), 0)
+ robust_scm2double (paper->c_variable ("bottom-margin"), 0);
+
+ read_spacing_spec (first_system_spacing, &header_padding_, ly_symbol2scm ("padding"));
+ read_spacing_spec (last_system_spacing, &footer_padding_, ly_symbol2scm ("padding"));
}
bool last_system_was_title = false;
staff,
Y_AXIS);
else // distance to the top margin
- min_dist = header_height_ + staff->extent (staff, Y_AXIS)[UP];
+ min_dist = header_padding_ + header_height_ + staff->extent (staff, Y_AXIS)[UP];
loose_line_min_distances.push_back (min_dist);
}
{
Grob *last = loose_lines.back ();
Interval last_ext = last->extent (last, Y_AXIS);
- loose_line_min_distances.push_back (-last_ext[DOWN] + footer_height_);
+ loose_line_min_distances.push_back (-last_ext[DOWN] + footer_height_ + footer_padding_);
loose_lines.push_back (0);
distribute_loose_lines (loose_lines, loose_line_min_distances,
\override VerticalAxisGroup #'remove-empty = ##t
\override VerticalAxisGroup #'staff-affinity = #DOWN
\override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
- \override VerticalAxisGroup #'inter-loose-line--spacing #'padding = #0.5
+ \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
}