]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/spacing.itely
Merge branch 'lilypond/translation' of /home/lilycvs/git/lily/ into lilypond/translation
[lilypond.git] / Documentation / user / spacing.itely
index ca9bb618c51796aea84ce52a98f067707331e43a..f7382e571ab8fa95df9db1558384c009636f0e69 100644 (file)
@@ -620,28 +620,29 @@ Line breaks can only occur if there is a @q{proper} bar line.  A note
 which is hanging over a bar line is not proper, such as
 
 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-c4 c2 c2 \break   % this does nothing
+c4 c2 << c2 {s4 \break } >>  % this does nothing
 c2 c4 |           % a break here would work
 c4 c2 c4 ~ \break % as does this break
 c4 c2 c4
 @end lilypond
 
-This can be avoided by removing the @code{Forbid_line_break_engraver}
-and adding the line breaks in another voice:
+This can be avoided by removing the @code{Forbid_line_break_engraver}.
+Note that manually forced line breaks have to be added in parallel
+with the music.
 
 @lilypond[quote,ragged-right,verbatim]
-\new Staff <<
-  \new Voice \with {
-    \remove Forbid_line_break_engraver
-  } {
-    c'4 c'2 c'2 c'2 c'4
-  }
-  \new Voice {
-    s1 \break s1
-  }
->>
+\new Voice \with {
+  \remove Forbid_line_break_engraver
+} {
+  c4 c2 << c2 {s4 \break } >>  % now the break is allowed
+  c2 c4 
+}
 @end lilypond
 
+Similarly, line breaks are normally forbidden when beams cross bar
+lines.  This behavior can be changed by setting 
+@code{\override Beam #'breakable = ##t}.
+
 
 @node Page breaking
 @subsection Page breaking
@@ -1044,6 +1045,42 @@ Space between systems are controlled by four @code{\paper} variables,
 @}
 @end example
 
+When only a couple of flat systems are placed on a page, the resulting
+vertical spacing may be non-eleguant: one system at the top of the page,
+and the other at the bottom, with a huge gap between them. To avoid this
+situation, the space added between the systems can be limited. This
+feature is activated by setting to @code{#t} the
+@code{page-limit-inter-system-space} variable in the @code{\paper}
+block. The paper variable @code{page-limit-inter-system-space-factor}
+determines how much the space can be increased: for instance, the value
+@code{1.3} means that the space can be 30% larger than what it would be
+on a ragged-bottom page.
+
+In the following example, if the inter system space were not limited,
+the second system of page 1 would be placed at the page bottom. By
+activating the space limitation, the second system is placed closer to
+the first one. By setting @code{page-limit-inter-system-space-factor} to
+@code{1}, the spacing would the same as on a ragged-bottom page, like
+the last one.
+
+@lilypond[verbatim]
+#(set-default-paper-size "a6")
+\book {
+  \paper {
+    page-limit-inter-system-space = ##t
+    page-limit-inter-system-space-factor = 1.3
+
+    oddFooterMarkup = \markup "page bottom"
+    evenFooterMarkup = \markup "page bottom"
+    oddHeaderMarkup = \markup \fill-line {
+      "page top" \fromproperty #'page:page-number-string }
+    evenHeaderMarkup = \markup \fill-line {
+      "page top" \fromproperty #'page:page-number-string }
+  }
+  \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
+                { s1*2 \pageBreak } >>
+}
+@end lilypond
 
 @node Explicit staff and system positioning
 @subsection Explicit staff and system positioning