]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/spacing.itely
Implement shorten-pair for Hairpin
[lilypond.git] / Documentation / notation / spacing.itely
index bd6d4d4b78645d164f13a49c37180eb1210a12c0..9a4e91d49b287b2d867f15b826be8cdf3e3944d8 100644 (file)
@@ -570,20 +570,20 @@ the distance between two (title or top-level) markups.
 @funindex last-bottom-spacing
 
 the distance from the last system or top-level markup on a page to
-the bottom of the printable area (i.e. the top of the bottom
+the bottom of the printable area (i.e., the top of the bottom
 margin).
 
 @item top-system-spacing
 @funindex top-system-spacing
 
-the distance from the top of the printable area (i.e. the bottom
+the distance from the top of the printable area (i.e., the bottom
 of the top margin) to the first system on a page, when there is no
 (title or top-level) markup between the two.
 
 @item top-markup-spacing
 @funindex top-markup-spacing
 
-the distance from the top of the printable area (i.e. the bottom
+the distance from the top of the printable area (i.e., the bottom
 of the top margin) to the first (title or top-level) markup on a
 page, when there is no system between the two.
 @end table
@@ -892,8 +892,9 @@ Default values not listed here are defined in
 
 The page-breaking algorithm to use.  Choices are
 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking},
-@code{ly:one-line-breaking}, @code{ly:one-line-auto-height-breaking},
-and @code{ly:optimal-breaking} (the default).
+@code{ly:one-page-breaking}, @code{ly:one-line-breaking},
+@code{ly:one-line-auto-height-breaking}, and @code{ly:optimal-breaking}
+(the default).
 
 @item page-breaking-system-system-spacing
 @funindex page-breaking-system-system-spacing
@@ -927,7 +928,7 @@ scores (if there are two or more scores), or by ending a score on an
 even-numbered page.  The values of the following three variables may
 be increased to make these actions less likely.
 
-The values are penalties, i.e. the higher the value the less likely
+The values are penalties, i.e., the higher the value the less likely
 will be the associated action relative to other choices.
 
 @table @code
@@ -968,7 +969,9 @@ Notation Reference:
 @ref{Optimal page breaking},
 @ref{Optimal page turning},
 @ref{Minimal page breaking},
-@ref{One-line page breaking}.
+@ref{One-page page breaking},
+@ref{One-line page breaking},
+@ref{One-line-auto-height page breaking}.
 
 Installed Files:
 @file{ly/paper-defaults-init.ly}.
@@ -1431,7 +1434,7 @@ issue:
 @end lilypond
 
 A @code{\break} command that occurrs at a bar line will also ignored if
-the previous measure ends in the middle of a note (e.g. when a tuplet
+the previous measure ends in the middle of a note (e.g., when a tuplet
 begins in one measure and ends in another).  In this case remove the
 @code{Forbid_line_break_engraver} from the @code{Voice} context and,
 use a simultaneous music construction inserting the @code{\break} at the
@@ -1560,6 +1563,7 @@ how to modify them.
 * Manual page breaking::
 * Optimal page breaking::
 * Minimal page breaking::
+* One-page page breaking::
 * One-line page breaking::
 * One-line-auto-height page breaking::
 * Optimal page turning::
@@ -1706,6 +1710,26 @@ Snippets:
 @rlsr{Spacing}.
 
 
+@node One-page page breaking
+@unnumberedsubsubsec One-page page breaking
+
+@funindex ly:one-page-breaking
+
+The @code{ly:one-page-breaking} function is a special-purpose
+page breaking algorithm that automatically adjusts the page height to
+fit the music, so that everything fits on a single page.  The
+@code{paper-height} variable in the paper block is ignored, but other
+settings work as usual.  In particular, the spacing between the last
+system (or top level markup) and the footer can be customized with
+@code{last-bottom-spacing} in the paper block.  The width of the page
+is left unmodified by default but can be set with @code{paper-width}
+in the paper block.
+
+@knownissues
+@code{ly:one-page-breaking} is not currently compatible with
+@code{\bookpart}.
+
+
 @node One-line page breaking
 @unnumberedsubsubsec One-line page breaking
 
@@ -1943,7 +1967,7 @@ non-staff line if @code{staff-affinity} is @code{UP}.
 
 Each distance is measured between the @emph{reference points} of
 the two items.  The reference point for a staff is the vertical
-center of its @code{StaffSymbol} (i.e. the middle line if
+center of its @code{StaffSymbol} (i.e., the middle line if
 @code{line-count} is odd; the middle space if @code{line-count} is
 even).  The reference points for individual non-staff lines are
 given in the following table:
@@ -2107,7 +2131,7 @@ non-staff line.  Choices are @code{UP}, @code{DOWN}, and
 placed equidistant between the two nearest staves on either side,
 unless collisions or other spacing constraints prevent this.
 Adjacent non-staff lines should have non-increasing
-@code{staff-affinity} from top to bottom, e.g. a non-staff line
+@code{staff-affinity} from top to bottom, e.g., a non-staff line
 set to @code{UP} should not immediately follow one that is set to
 @code{DOWN}.  Non-staff lines at the top of a system should use
 @code{DOWN}; those at the bottom should use @code{UP}.  Setting
@@ -2333,7 +2357,7 @@ Internals Reference:
 
 @emph{Non-staff lines} (such as @code{Lyrics}, @code{ChordNames},
 etc.) are contexts whose layout objects are engraved like staves
-(i.e. in horizontal lines within systems).  Specifically,
+(i.e., in horizontal lines within systems).  Specifically,
 non-staff lines are non-staff contexts that contain the
 @rinternals{Axis_group_engraver}.