This increases the space between the bottommost footnote and the footer.
Also declares both footnote-padding and footnote-footer-padding in
set-paper-dimension-variables.
--- /dev/null
+\version "2.13.59"
+\header {
+ texidoc = "The padding between a footnote and the footer can be tweaked."
+}
+
+#(set-default-paper-size "a6")
+
+\paper {
+ footnote-footer-padding = 1\in
+}
+
+\book {
+
+ \relative c' {
+ \footnoteGrob #'NoteHead
+ #'(1 . -1)
+ \markup { \tiny 1 }
+ \markup { 1. Tiny space below. }
+ e1
+
+ \footnoteGrob #'NoteHead
+ #'(1 . -1)
+ \markup { \tiny 2 }
+ \markup { 2. Tiny space below. }
+ e1
+
+ \footnoteGrob #'NoteHead
+ #'(1 . -1)
+ \markup { \tiny 3 }
+ \markup { 3. Big space below. }
+ e1
+}}
vsize system_count () const;
Real footnote_separator_stencil_height () const;
Real footnote_padding () const;
+ Real footnote_footer_padding () const;
Real line_count_penalty (int line_count) const;
int line_count_status (int line_count) const;
bool too_many_lines (int line_count) const;
vsize system_count_;
Real footnote_separator_stencil_height_;
Real footnote_padding_;
+ Real footnote_footer_padding_;
int orphan_penalty_;
vector<Line_division> current_configurations_;
footnote_separator_stencil_height_ = 0.0;
footnote_padding_ = robust_scm2double (pb->paper_->c_variable ("footnote-padding"), 0.0);
+ footnote_footer_padding_ = robust_scm2double (pb->paper_->c_variable ("footnote-footer-padding"), 0.0);
if (systems_per_page_ && (max_systems_per_page_ || min_systems_per_page_))
{
return footnote_padding_;
}
+Real
+Page_breaking::footnote_footer_padding () const
+{
+ return footnote_footer_padding_;
+}
+
bool
Page_breaking::too_many_lines (int line_count) const
{
if (!scm_is_pair (footnotes))
return SCM_EOL;
-
+
return scm_reverse (footnotes);
}
{
bool footnotes_found = false;
Real footnote_padding = robust_scm2double (pb->paper_->c_variable ("footnote-padding"), 0.0);
+ Real footnote_footer_padding = robust_scm2double (pb->paper_->c_variable ("footnote-footer-padding"), 0.0);
footnotes = scm_reverse (footnotes);
+
for (SCM s = footnotes; scm_is_pair (s); s = scm_cdr (s))
{
Stencil *stencil = unsmob_stencil (scm_car (s));
if (!stencil->is_empty ())
{
- foot->add_at_edge (Y_AXIS, UP, *stencil, footnote_padding);
+ foot->add_at_edge (Y_AXIS, UP, *stencil, (!footnotes_found ? footnote_footer_padding : footnote_padding));
footnotes_found = true;
}
}
Interval extent = line.footnotes_[i]->extent (Y_AXIS);
footnote_height += extent[UP] - extent[DOWN];
footnote_height += breaker_->footnote_padding ();
- }
- return footnote_height;
+ }
+
+ return (footnote_height
+ - (has_footnotes_
+ ? breaker_->footnote_padding () + breaker_->footnote_footer_padding ()
+ : 0.0));
}
void
%%
footnote-separator-markup = \markup { \fill-line \override #`(span-factor . 1/2) { \draw-hline } }
footnote-padding = 0.5\mm
-
+ footnote-footer-padding = 0.5\mm
%%
%% Page numbering
'(blot-diameter
bottom-margin
cm
+ footnote-footer-padding
+ footnote-padding
horizontal-shift
in
indent