Fitting music onto fewer pages - GNU LilyPond
Description: GNU LilyPond

Next: Advanced tweaks with Scheme, Previous: Default files, Up: Tweaking output

### 5.5 Fitting music onto fewer pages

Sometimes you can end up with one or two staves on a second (or third, or fourth...) page. This is annoying, especially if you look at previous pages and it looks like there is plenty of room left on those.

When investigating layout issues, `annotate-spacing` is an invaluable tool. This command prints the values of various layout spacing commands; see Displaying spacing for more details. From the output of `annotate-spacing`, we can see which margins we may wish to alter.

Other than margins, there are a few other options to save space:

- You may tell LilyPond to place systems as close together as possible (to fit as many systems as possible onto a page), but then to space those systems out so that there is no blank space at the bottom of the page.

           \paper {
             between-system-padding = #0.1
             between-system-space = #0.1
             ragged-last-bottom = ##f
             ragged-bottom = ##f
           }

- You may force the number of systems (i.e., if LilyPond wants to typeset some music with 11 systems, you could force it to use 10).

           \paper {
             system-count = #10
           }

- Avoid (or reduce) objects which increase the vertical size of a system. For example, volta repeats (or alternate repeats) require extra space. If these repeats are spread over two systems, they will take up more space than one system with the volta repeats and another system without.

  Another example is moving dynamics which “stick out” of a system.

  >               \relative c' {
  >                 e4 c g\f c
  >                 \override DynamicLineSpanner #'padding = #-1.8
  >                 \override DynamicText #'extra-offset = #'( -2.1 . 0)
  >                 e4 c g\f c
  >               }

- Alter the horizontal spacing via `SpacingSpanner`. See Changing horizontal spacing for more details.

  >               \score {
  >                 \relative c'' {
  >                   g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
  >                   g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  >                   d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
  >                   g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  >                 }
  >                 \layout {
  >                   \context {
  >                     \Score
  >                     \override SpacingSpanner
  >                               #'base-shortest-duration = #(ly:make-moment 1 4)
  >                   }
  >                 }
  >               }

Next: Advanced tweaks with Scheme, Previous: Default files, Up: Tweaking output

This page is for LilyPond-2.10.33 (stable-branch).