lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reducing top margin for a single page in a score


From: Aaron Hill
Subject: Re: Reducing top margin for a single page in a score
Date: Mon, 04 Feb 2019 03:36:59 -0800
User-agent: Roundcube Webmail/1.3.8

On 2019-02-03 9:40 pm, Andrew Bernard wrote:
I am doing a long string quartet. The full score sits nicely in the middle
of an A4 landscape page with a generous top margin. But there's a solo
viola part that's very dense and the staves fill out the whole page very tightly right to the bottom, and it looks clumsy because there is lots of
space at the top margin not able to be utilised.

Is it possible to alter the top margin for just a single page in the midst
of a score where it is otherwise OK?

It is my understanding that the \paper settings apply at the \book (or \bookpart) level. You cannot set them per \score, much less set them within a \score. Consider:

%%%%
\version "2.19.82"
\paper { #(set-paper-size "a7landscape") indent = 0 tagline = ##f }

%% This will not work.  Only the second \paper setting will apply.
\paper { top-margin = 2.5\cm }
\score { \repeat unfold 8 { c'4 d e f } }
\paper { top-margin = 0.5\cm }
\score { \repeat unfold 8 { c'4 d e f } }

%% This will work, as each \bookpart can have unique \paper blocks.
\bookpart {
  \paper { top-margin = 2.5\cm }
  \score { \repeat unfold 8 { c'4 d e f } }
}
\bookpart {
  \paper { top-margin = 0.5\cm }
  \score { \repeat unfold 8 { c'4 d e f } }
}
%%%%

The way I would approach solving this is using the stretchability feature to automatically divide the excess space on a page between the top and bottom, effectively centering the content vertically.

%%%%
\version "2.19.82"

\paper {
  #(set-paper-size "a6landscape")
  indent = 0 tagline = ##f

  top-markup-spacing.stretchability = 10
  top-system-spacing.stretchability = 10
  markup-system-spacing.stretchability = 1
  system-system-spacing.stretchability = 1
  last-bottom-spacing.stretchability = 10
}

\repeat unfold 8 { c'4 d' e' f' } \pageBreak
\repeat unfold 16 { c'4 d' e' f' } \pageBreak
\markup "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
\repeat unfold 8 { c'4 d' e' f' }
%%%%

Note that when you have top-level markup at the beginning of a page, it will be combination of top-markup-spacing and markup-system-spacing that decides where the first system will fall. Otherwise, top-system-spacing applies when the system is first.


-- Aaron Hill



reply via email to

[Prev in Thread] Current Thread [Next in Thread]