version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.11.65"
@node General input and output
@chapter General input and output
block, and inside or outside the single music expression within a
@code{\score} block.
-@seealso
+@seealso
Learning Manual:
-
@rlearning{Working on input files},
@rlearning{Music expressions explained},
@rlearning{Score is a (single) compound musical expression}.
@}
@end example
+@funindex \bookpart
+
+Pieces of music may be grouped into book parts using @code{\bookpart}
+blocks. Book parts are separated by a page break, and can start with a
+title, like the book itself, by specifying a @code{\header} block.
+
+@example
+\bookpart @{
+ \header @{
+ title = "Book title"
+ subtitle = "First part"
+ @}
+ \score @{ @dots{} @}
+ @dots{}
+@}
+\bookpart @{
+ \header @{
+ subtitle = "Second part"
+ @}
+ \score @{ @dots{} @}
+ @dots{}
+@}
+@end example
+
@node File structure
@subsection File structure
@funindex \header
@funindex \score
@funindex \book
+@funindex \bookpart
A @code{.ly} file may contain any number of toplevel expressions, where a
toplevel expression is one of the following:
toplevel. The default handler is defined in the init file
@file{../scm/@/lily@/.scm}.
+@item
+A @code{\bookpart} block. A book may be divided into several parts,
+using @code{\bookpart} blocks, in order to ease the page breaking,
+or to use different @code{\paper} settings in different parts.
+
@item
A compound music expression, such as
@example
@end itemize
-@seealso
+@seealso
Learning Manual:
@rlearning{How LilyPond input files work}.
+
@node Titles and headers
@section Titles and headers
@subsection Creating titles
Titles are created for each @code{\score} block, as well as for the full
-input file (or @code{\book} block).
+input file (or @code{\book} block) and book parts (created by
+@code{\bookpart} blocks).
The contents of the titles are taken from the @code{\header} blocks.
The header block for a book supports the following
dimensions. If the book has between 10 and 99 pages, it may be "00",
ie. a two digit number.
-@predefined
+@predefined
@funindex \label
-@code{\label}
+@code{\label},
@funindex \page-ref
-@code{\page-ref}
+@code{\page-ref}.
+@endpredefined
+
@node Table of contents
@subsection Table of contents
}
@end lilypond
-@seealso
+@seealso
Init files: @file{../ly/@/toc@/-init@/.ly}.
-@predefined
+@predefined
@funindex \table-of-contents
-@code{\table-of-contents}
+@code{\table-of-contents},
@funindex \tocItem
-@code{\tocItem}
+@code{\tocItem}.
+@endpredefined
@node Working with input files
Some simple examples of using @code{\include} are shown in
@rlearning{Scores and parts}.
+
@seealso
Learning Manual:
@rlearning{Other sources of information},
@rlearning{Scores and parts}.
+
@knownissues
If an included file is given a name which is the same as one in
the first filter will remove all tagged sections except the one
named, and the second filter will remove even that tagged section.
-@seealso
+@seealso
Learning Manual:
@rlearning{Organizing pieces with variables}.
@ref{Automatic part combining},
@ref{Including LilyPond files}.
+
@ignore
@c This warning is more general than this placement implies.
@c Rests are not merged whether or not they come from tagged sections.
@example
\new Staff @{
- \set Staff.midiInstrument = "glockenspiel"
+ \set Staff.midiInstrument = #"glockenspiel"
@var{...notes...}
@}
@end example
@example
-\new Staff \with @{midiInstrument = "cello"@} @{
+\new Staff \with @{midiInstrument = #"cello"@} @{
@var{...notes...}
@}
@end example
\score {
\new Staff {
- \set Staff.midiInstrument = "cello"
+ \set Staff.midiInstrument = #"cello"
\set Score.dynamicAbsoluteVolumeFunction = #myDynamics
\new Voice {
\relative c'' {