### 4.3.2 Page breaking

The default page breaking may be overridden by inserting `\pageBreak` or `\noPageBreak` commands. These commands are analogous to `\break` and `\noBreak`. They should be inserted at a bar line. These commands force and forbid a page-break from happening. Of course, the `\pageBreak` command also forces a line break.

The `\pageBreak` and `\noPageBreak` commands may also be inserted at top-level, between scores and top-level markups.

There are also analogous settings to `ragged-right` and `ragged-last` which have the same effect on vertical spacing. If `ragged-bottom` is set to `#t` the systems will not be justified vertically. When `ragged-last-bottom` is set to `#t`, as it is by default, empty space is allowed at the bottom of the final page (or the final page in each `\bookpart`). See Fixed vertical spacing `\paper` variables.

Page breaks are computed by the `page-breaking` function. LilyPond provides three algorithms for computing page breaks, `ly:optimal-breaking`, `ly:page-turn-breaking` and `ly:minimal-breaking`. The default is `ly:optimal-breaking`, but the value can be changed in the `\paper` block:

```\paper {
page-breaking = #ly:page-turn-breaking
}
```

When a book has many scores and pages, the page breaking problem may be difficult to solve, requiring large processing time and memory. To ease the page breaking process, `\bookpart` blocks are used to divide the book into several parts: the page breaking occurs separately on each part. Different page breaking functions may also be used in different book parts.

```\bookpart {
subtitle = "Preface"
}
\paper {
%% In a part consisting mostly of text,
%% ly:minimal-breaking may be preferred
page-breaking = #ly:minimal-breaking
}
\markup { … }
…
}
\bookpart {
%% In this part, consisting of music, the default optimal
%% page breaking function is used.
subtitle = "First movement"
}
\score { … }
…
}
```

#### Predefined commands

`\pageBreak`, `\noPageBreak`.

Notation Reference: `\paper` variables for page breaking.