-@c -*- coding: latin-1; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@c A menu is needed before every deeper *section nesting of @node's; run
@code{\paper} block is inside a @code{\book}, then the paper size will only
apply to that book.
-The following paper sizes are supported: @code{a6}, @code{a5}, @code{a4},
-@code{a3}, @code{legal}, @code{letter}, @code{tabloid}.
+Support for the following paper sizes are included by default,
+@code{a6}, @code{a5}, @code{a4}, @code{a3}, @code{legal}, @code{letter},
+@code{11x17} (also known as tabloid).
+
+Extra sizes may be added by editing the definition for
+@code{paper-alist} in the initialization file @file{scm/paper.scm}.
@cindex orientation
@cindex landscape
@quotation
@table @code
+@cindex @code{firstpagenumber}
@item firstpagenumber
The value of the page number of the first page. Default is@tie{}1.
+@cindex @code{printfirstpagenumber}
@item printfirstpagenumber
If set to true, will print the page number in the first page. Default is
false.
+@cindex @code{printpagenumber}
@item printpagenumber
If set to false, page numbers will not be printed.
+@cindex @code{hsize}
@item hsize
The width of the page.
+@cindex @code{vsize}
@item vsize
The height of the page.
+@cindex @code{topmargin}
@item topmargin
Margin between header and top of the page.
+@cindex @code{bottommargin}
@item bottommargin
Margin between footer and bottom of the page.
+@cindex @code{leftmargin}
@item leftmargin
Margin between the left side of the page and the beginning of the music.
+@cindex @code{linewidth}
@item linewidth
The length of the systems.
+@cindex @code{headsep}
@item headsep
Distance between the top-most music system and the page header.
+@cindex @code{footsep}
@item footsep
Distance between the bottom-most music system and the page footer.
+@cindex @code{pagetopspace}
+Distance from the top of the printable area to the center of the first
+staff. This only works for staves which are vertically small. Big staves
+are set with the top of their bounding box aligned to the top of the
+printable area.
+
+@cindex @code{raggedbottom}
@item raggedbottom
If set to true, systems will not be spread across the page.
This should be set false for pieces that have only two or three
systems per page, for example orchestral scores.
+@cindex @code{raggedlastbottom}
@item raggedlastbottom
If set to false, systems will be spread to fill the last page.
Pieces that amply fill two pages or more should have this set to
true.
+@cindex @code{betweensystemspace}
@item betweensystemspace
This dimensions determines the distance between systems. It is the
ideal distance between the center of the bottom staff of one system
Increasing this will provide a more even appearance of the page at the
cost of using more vertical space.
+@cindex @code{betweensystempadding}
@item betweensystempadding
This dimension is the minimum amount of white space that will always
be present between the bottom-most symbol of one system, and the
Increasing this will put systems whose bounding boxes almost touch
farther apart.
+
+@cindex @code{horizontalshift}
+@item horizontalshift
+All systems (including titles and system separators) are shifted by
+this amount to the right. Page markup, such as headers and footers are
+not affected by this. The purpose of this variable is to make space
+for instrument names at the left.
+
+@cindex @code{aftertitlespace}
@item aftertitlespace
Amount of space between the title and the first system.
+@cindex @code{aftertitlespace}
@item beforetitlespace
Amount of space between the last system of the previous piece and the
title of the next.
+@cindex @code{betweentitlespace}
@item betweentitlespace
Amount of space between consecutive titles (e.g., the title of the
book and the title of a piece).
+@cindex @code{printallheaders}
+@item printallheaders
+Setting this to #t will print all headers for each \score in a
+\book. Normally only the piece and opus \headers are printed.
+
+@cindex @code{systemSeparatorMarkup}
@item systemSeparatorMarkup
This contains a markup object, which will be inserted between
systems. This is often used for orchestral scores.
@}
@end example
+If you simply want to tell LilyPond ``fit as much as possible onto
+these pages, then expand to fill any available space on the pages,''
+then use the following
+
+@example
+\paper @{
+ betweensystempadding = #1
+ raggedbottom=##f
+ raggedlastbottom=##f
+@}
+@end example
+
+
+@c let's wait for a some comments before writing more.
+
+The vertical spacing on a page can also be changed for each system individually.
+Some examples are found in the example file
+@inputfileref{input/regression/,page-spacing.ly}.
+
+When setting @code{annotatespacing} in the @code{\paper} block LilyPond
+will graphically indicate the dimensions of properties that may be set
+for page spacing,
+
+@lilypond[verbatim]
+#(set-default-paper-size "a6")
+\paper { annotatespacing = ##t }
+{ c4 }
+@end lilypond
+
+
@seealso
Internals: Vertical alignment of staves is handled by the
-@internalsref{VerticalAlignment} object.
+@internalsref{VerticalAlignment} object. The context parameters
+specifying the vertical extent are described in connection with
+the @internalsref{Axis_group_engraver}.
+
+Example files: @inputfileref{input/regression/,page-spacing.ly}.
+
@refbugs
@code{forced-distance} cannot be changed per system.
-
@node Horizontal spacing
@subsection Horizontal Spacing
-The spacing engine translates differences in durations into
-stretchable distances (``springs'') of differring lengths. Longer
-durations get more space, shorter durations get less. The shortest
-durations get a fixed amount of space (which is controlled by
-@code{shortest-duration-space} in the @internalsref{SpacingSpanner} object).
-The longer the duration, the more space it gets: doubling a
+The spacing engine translates differences in durations into stretchable
+distances (``springs'') of differring lengths. Longer durations get
+more space, shorter durations get less. The shortest durations get a
+fixed amount of space (which is controlled by
+@code{shortest-duration-space} in the @internalsref{SpacingSpanner}
+object). The longer the duration, the more space it gets: doubling a
duration adds a fixed amount (this amount is controlled by
@code{spacing-increment}) of space to the note.
No work-around exists for decreasing the amount of space.
+
@node Line length
@subsection Line length
@cindex @code{indent}
@cindex @code{linewidth}
+@cindex @code{raggedright}
@c Although linewidth can be set in \layout, it should be set in paper
@c block, to get page layout right.
@c stretch as the previous line. eTeX uses \lastlinefit to
@c interpolate between both these solutions.
+
@node Line breaking
@subsection Line breaking
@cindex bibliographic information
@cindex titles
@cindex composer
-@cindex Music engraiving by LilyPond
+@cindex Music engraving by LilyPond
A document may contain multiple pieces of music and texts. Examples
of these are an etude book, or an orchestral part with multiple
composer = \markup \center-align { "composer" \small "(1847-1973)" }
texttranslator = "Text Translator"
meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge "r" }
- arranger = "Arranger"
- opus = \markup { \fontsize #8.5 "o" \fontsize #2.5 "p" \fontsize #-2.5 "u" \fontsize #-5.3 "s" \fontsize #7.5 " " }
+ arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize #-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
instrument = \markup \bold \italic "instrument"
piece = "Piece"
}
\score {
+ { c'1 }
\header {
piece = "piece1"
opus = "opus1"
}
- { c'1 }
}
\markup {
and now...
}
\score {
+ { c'1 }
\header {
piece = "piece2"
opus = "opus2"
}
- { c'1 }
}
}
@end lilypond
+As demonstrated before, you can use multiple @code{\header} blocks.
+When same fields appear in different blocks, the latter is used.
+Here is a short example.
+
+@example
+\header @{
+ composer = "Composer"
+@}
+\header @{
+ title = "Title"
+@}
+\score @{
+ \new Staff @{ c'4 @}
+ \header @{
+ title = "New title" % overwrite previous one
+ @}
+@}
+@end example
+
+If you define the @code{\header} inside the @code{\score} block, then
+normally only the @code{piece} and @code{opus} headers will be printed.
+
+@lilypond[quote,verbatim,linewidth=11.0\cm]
+\score {
+ { c'4 }
+ \header {
+ title = "title" % not printed
+ piece = "piece"
+ opus = "opus"
+ }
+}
+@end lilypond
+
+@cindex @code{printallheaders}
+@noindent
+You may change this behavior (and print all the headers when defining
+@code{\header} inside @code{\score}) by using
+
+@example
+\paper@{
+ printallheaders=##t
+@}
+@end example
+
+
+@commonprop
+
A more advanced option is to change the definitions of the following
variables in the @code{\paper} block. The init file
@file{ly/titling-init.ly} lists the default layout.
@table @code
+@cindex @code{bookTitleMarkup}
@item bookTitleMarkup
This is the title put over an entire @code{\book} block. Typically,
it has the composer and the title of the piece
+@cindex @code{scoreTitleMarkup}
@item scoreTitleMarkup
This is the title put over a @code{\score} block within a
@code{\book}. Typically, it has the name of the movement (@code{piece}
field).
+@cindex @code{oddHeaderMarkup}
@item oddHeaderMarkup
This is the page header for odd-numbered pages.
- @item evenHeaderMarkup
+@cindex @code{evenHeaderMarkup}
+@item evenHeaderMarkup
This is the page header for even-numbered pages. If unspecified,
the odd header is used instead.
By default, headers are defined such that the page number is on the
outside edge, and the instrument is centered.
+@cindex @code{oddFooterMarkup}
@item oddFooterMarkup
This is the page footer for odd-numbered pages.
+@cindex @code{evenFotterMarkup}
@item evenFooterMarkup
This is the page footer for even-numbered pages. If unspecified,
the odd header is used instead.