-
@node Printing lyrics
@section Printing lyrics
@cindex lyrics
\paper @{ @}
@}
@end example
-@lilypond[singleline]
+@lilypond[]
\score {
<
\context ChordNames \chords { r8 c2:sus4 f }
\times 2/3 { f g g } \times 2/3 { g4-( a2-) } }
\context Lyrics \lyrics { I want to break free __ }
>
- \paper{ }
+ \paper{ raggedright = ##t }
}
@end lilypond
@example
\score @{
@var{..music..}
- \midi @{ \tempo 4=72@}
+ \midi @{ \tempo 4=72 @}
\paper @{ @}
@}
@end example
tagline = "small is beautiful"
@}
- \score { @dots{}
+ \score @{ @dots{} @}
@end example
@cindex bibliographic information
tagline = "small is beautiful"
@}
- \score { @dots{}
+ \score @{ @dots{}
\header @{ piece = "Adagio" @}
- }
- \score { @dots{}
+ @}
+ \score @{ @dots{}
\header @{ piece = "Menuetto" @}
- }
+ @}
@end example
More information on titling can be found in @ref{Invoking ly2dvi}.
new site.] These HTML pages are also available on the web: go to the
LilyPond website, click ``Documentation: Index'' on the side bar, look
in the ``Information for uses'' section, and click on ``Documentation
-of internals''.
+of internals.''
You might want to bookmark either the HTML files on your disk, or the
one on the web (the HTML on your hard drive will load much faster than
@end example
-(TODO: huh? what's this: )
-
-This command resembles the one for setting slur attachments, but
-subtly differs in its details. Grob properties can be manipulated
-with two commands: @code{\override} extends the definition of a grob
-with one setting, and @code{\revert} releases this setting. This has
-a theoretical appeal: the operations are simple and symmetric. For
-practical use, it can be cumbersome. The commands act like
-parentheses: you should carefully balance the use of @code{\override}
-and @code{\revert}. The @code{\set} command is more friendly: it
-first does a @code{\revert} followed by @code{\override}.
-
@separate
Brahms uses music notation is a slightly unorthodox way. Ties
Q: do want globally non-cramped lines, or locally equally cramped lines.
*/
Real demerit = abs (this_one.force_) + abs (prev.force_ - this_one.force_)
- + break_penalties;
+ + break_penalties
+ /*
+ This is rather ugly (not scale free), but we have to put a
+ penalty breaking two zero-force lines. Otherwise, we don't get a
+ unique solution (i.e.: line-breaks in short raggedright
+ fragments.)
+ */
+ + 1e-5;
if (!this_one.satisfies_constraints_b_)
{