]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/tutorial.itely
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / Documentation / user / tutorial.itely
index 4f94eaeab5c5751902426017e5720418a805db36..3a7c593cfeebfda813091a47b936194e369a2897 100644 (file)
@@ -26,7 +26,7 @@ picture in the HTML version of this manual, you will see the exact
 LilyPond input that was used to generate that image.
 Try it on this image
 
-@lilypond[fragment,quote,raggedright,relative=2]
+@lilypond[fragment,quote,ragged-right,relative=2]
 c-\markup { \bold \huge { Click here.  } }
 @end lilypond
 @end ifhtml
@@ -51,7 +51,7 @@ reference.
 * More staves::                 
 * Adding articulation marks to notes::  
 * Combining notes into chords::  
-* Advanced rhythmic commands::   
+* Advanced rhythmic commands::  
 * Commenting input files::      
 * Printing lyrics::             
 * A lead sheet::                
@@ -60,6 +60,7 @@ reference.
 * Piano staves::                
 * Organizing larger pieces::    
 * An orchestral part::          
+* After the tutorial::          
 @end menu
 
 
@@ -71,7 +72,9 @@ of music, a @rglos{scale}.  A @rglos{note} can be entered by typing its
 name, from @samp{a} through @samp{g}.  So, if you enter
 
 @example
+@{
 c d e f g a b
+@}
 @end example
 
 @noindent
@@ -81,6 +84,20 @@ the result looks like this
 c d e f g a b
 @end lilypond
 
+Every piece of LilyPond input needs to have @{curly braces@} placed
+around the input.  For the rest of this manual, most examples will
+omit these braces, but don't forget them in your own music!
+
+In addition, many examples use @code{relative} mode.  This is explained
+in @ref{Octave entry}; for now simply be aware that some examples
+should be placed inside @code{\relative @{ @emph{...music...} @}}.
+Many example have also been compressed horizontally to save
+space, using @code{\paper @{ ragged-right = ##t @}}.
+
+@cindex Case sensitive
+Finally, LilyPond input is case sensitive.  @code{ @{ c d e @} } is
+valid input; @code{ @{ C D E @} } will produce an error message.
+
 The @rglos{duration} of a note is specified by a number after the note
 name.  @samp{1} for a @rglos{whole note}, @samp{2} for a @rglos{half note},
 @samp{4} for a @rglos{quarter note} and so on
@@ -138,7 +155,7 @@ command
 
 @c A clef here may lead to confusion, remove it.
 @lilypond[fragment,quote]
-\override Staff.Clef #'transparent = ##t 
+\override Staff.Clef #'transparent = ##t
 \time 3/4
 s4_" "
 \time 6/8
@@ -167,28 +184,28 @@ s4_" "
 s16_" "
 @end lilypond
 
-
 Remember to enclose the notes and commands in curly braces
 @code{@{@tie{}@dots{}@tie{}@}} to convert it to printable output.
 
-@lilypond[fragment,quote,noindent,linewidth=55\staffspace]
+@c @li lypond[fragment,quote,noindent,line-width=55\staff-space]
+@lilypond[fragment,quote,noindent,verbatim]
 \time 3/4
 \clef bass
 c2 e4 g2.
 f4 e d c2 r4
 @end lilypond
 
-For more elaborate information on
+For more information on
 
 @quotation
 @table @asis
 @item Entering pitches and durations
-see 
+see
 @ref{Pitches}, and @ref{Durations}.
 @item Clefs
 see @ref{Clef}.
 @item Rests
-see @ref{Rests}.  
+see @ref{Rests}.
 @item Time signatures and other timing commands
 see @ref{Time signature}.
 @end table
@@ -223,9 +240,9 @@ programmer-oriented editor will do, for example Notepad.  Do not use a
 word processor, since these insert formatting codes that will confuse
 LilyPond.} and enter
 
-@example
-@{ c'4 e' g' @}
-@end example
+@verbatim
+{ c'4 e' g' }
+@end verbatim
 
 Save it on the desktop as @file{test.ly} and make sure that it is not
 called @file{test.ly.TXT}.  Double clicking @file{test.ly} will process
@@ -242,9 +259,9 @@ installed already, refer to the file @file{INSTALL.txt}.}  In your
 text editor, enter the following input and save the file as
 @file{test.ly}
 
-@example
-@{ c'4 e' g' @}
-@end example
+@verbatim
+{ c'4 e' g' }
+@end verbatim
 
 @noindent
 To process @file{test.ly}, proceed as follows
@@ -262,7 +279,7 @@ GNU LilyPond 2.6.0
 Processing `test.ly'
 Parsing...
 Interpreting music... [1]
-Preprocessing graphical objects... 
+Preprocessing graphical objects...
 Calculating line breaks... [2]
 Layout output to `test.ps'...
 Converting to `test.pdf'...
@@ -279,7 +296,7 @@ your system does not have any tools installed, you can try
 available package for viewing and printing PDF and PostScript files.}
 
 @node More about pitches
-@section More about pitches 
+@section More about pitches
 
 A @rglos{sharp} (@texisharp{}) pitch is made by adding @samp{is} to
 the name, a @rglos{flat} (@texiflat{}) pitch by adding @samp{es}.  As
@@ -393,7 +410,7 @@ For more information on Ties see @ref{Ties}.
 @node Automatic and manual beams
 @section Automatic and manual beams
 
-@cindex beams, by hand 
+@cindex beams, by hand
 All @rglos{beam}s are drawn automatically
 
 @lilypond[quote,fragment,relative=2,verbatim]
@@ -414,7 +431,7 @@ For more information on beams, see @ref{Manual beams}.
 
 Here are key signatures, accidentals and ties in action
 
-@lilypond[fragment,quote,noindent,linewidth=50\staffspace,verbatim]
+@lilypond[fragment,quote,noindent,line-width=50\staff-space,verbatim]
 \relative c'' {
   \time 4/4
   \key g \minor
@@ -448,7 +465,7 @@ according to standard notation conventions.
 @c tie) examples...
 
 @c better to have this just before the `octaves are bad' snipped
-@c but we'd need to remove the ', from \key and tie 
+@c but we'd need to remove the ', from \key and tie
 To raise a note by an octave, add a high quote @code{'} (apostrophe) to
 the note name, to lower a note one octave, add a `low quote' @code{,}
 (comma).  Middle C is @code{c'}
@@ -459,11 +476,11 @@ c'4 c'' c''' \clef bass c c,
 
 An example of the use of quotes is in the following Mozart fragment
 
-@lilypond[quote,raggedright,fragment,verbatim]
+@lilypond[quote,ragged-right,fragment,verbatim]
 \key a \major
 \time 6/8
 cis''8. d''16 cis''8 e''4 e''8
-b'8. cis''16 b'8 d''4 d''8 
+b'8. cis''16 b'8 d''4 d''8
 @end lilypond
 
 @noindent
@@ -495,7 +512,7 @@ Since most music has small intervals, pieces can be written almost
 without octavation quotes in relative mode.  The previous example is
 entered as
 
-@lilypond[quote,raggedright,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \relative {
   \key a \major
   \time 6/8
@@ -530,7 +547,7 @@ and @ref{Octave check}.
 
 
 In input files, music is represent by so-called @emph{music
-expression}s.  We have already seen some in the previous examples; 
+expression}s.  We have already seen some in the previous examples;
 a single note is a music expression
 
 @lilypond[fragment,quote,verbatim,relative=3]
@@ -551,7 +568,7 @@ Here, the expression from the previous example is combined with two
 notes
 
 @lilypond[fragment,quote,verbatim,relative=3]
-{ { a4 g } f g } 
+{ { a4 g } f g }
 @end lilypond
 
 This technique is useful for non-monophonic music.  To enter music
@@ -600,7 +617,7 @@ example begins with a single note.  To determine the number of staves,
 LilyPond looks at the first element.  If it is a single note, there is one
 staff; if there is a simultaneous expression, there is more than one staff.
 
-@lilypond[fragment,quote,verbatim,relative=2] 
+@lilypond[fragment,quote,verbatim,relative=2]
 {
   c <<c e>>
   << { e f } { c <<b d>> } >>
@@ -665,14 +682,14 @@ We can now typeset a melody with two staves
 
 @c TODO: (c) status of this Paul McCartney (?) song (let's all stand together)
 
-@lilypond[fragment,quote,verbatim,raggedright]
+@lilypond[fragment,quote,verbatim,ragged-right]
 \relative <<
   \new Staff {
     \time 3/4
-    \clef treble 
-    
+    \clef treble
+
     e'2 d4 c2 b4 a8[ a]
-    b[ b] g[ g] a2. 
+    b[ b] g[ g] a2.
   }
   \new Staff {
      \clef bass
@@ -896,7 +913,7 @@ ignored.  The following fragment shows possible uses for comments
     are ignored, since they are in a
     block comment.
 
-    g g f f e e d d c2 
+    g g f f e e d d c2
 %@}
 @end example
 
@@ -937,7 +954,7 @@ I want to break free
 
 Consider the melody
 
-@lilypond[quote,verbatim,fragment,raggedright]
+@lilypond[quote,verbatim,fragment,ragged-right]
 \relative {
   r4 c \times 2/3 { f g g }
   \times 2/3 { g4( a2) }
@@ -947,7 +964,7 @@ Consider the melody
 The lyrics can be set to these notes, combining both with the
 @code{\addlyrics} keyword
 
-@lilypond[quote,verbatim,fragment,raggedright]
+@lilypond[quote,verbatim,fragment,ragged-right]
 <<
   \relative {
     r4 c \times 2/3 { f g g }
@@ -966,9 +983,9 @@ line}.  It is entered as two underscores, i.e.,
 
 @example
 @{ I want to break free __ @}
-@end example 
+@end example
 
-@lilypond[fragment,quote,raggedright]
+@lilypond[fragment,quote,ragged-right]
 <<
   \relative {
     r4 c \times 2/3 { f g g }
@@ -985,7 +1002,7 @@ resulting in a centered hyphen between two syllables
 Twin -- kle twin -- kle
 @end example
 
-@lilypond[fragment,quote,raggedright]
+@lilypond[fragment,quote,ragged-right]
 <<
   \relative {
     \time 2/4
@@ -1011,7 +1028,7 @@ discussed in @ref{Vocal music}.
 In popular music, it is common to denote accompaniment with chord names.
 Such chords can be entered like notes,
 
-@lilypond[quote,verbatim,raggedright]
+@lilypond[quote,verbatim,ragged-right]
 \chordmode { c2 f4. g8 }
 @end lilypond
 
@@ -1022,7 +1039,7 @@ This mode is switched on with @code{\chordmode}
 Other chords can be created by adding modifiers after a colon.  The
 following example shows a few common modifiers
 
-@lilypond[quote,verbatim,raggedright]
+@lilypond[quote,verbatim,ragged-right]
 \chordmode { c2 f4:m g4:maj7 gis1:dim7 }
 @end lilypond
 
@@ -1031,8 +1048,8 @@ line for themselves.  This is achieved by using @code{\chords} instead
 of @code{\chordmode}.  This uses the same syntax as @code{\chordmode},
 but renders the notes in a @code{ChordNames} context, with the
 following result.
-@lilypond[quote,verbatim,raggedright]
+
+@lilypond[quote,verbatim,ragged-right]
 \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
 @end lilypond
 
@@ -1049,9 +1066,9 @@ a lead sheet, for example,
 @}
 @end example
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 <<
-  \chords { r2 c:sus4 f } 
+  \chords { r2 c:sus4 f }
   \relative {
     r4 c' \times 2/3 { f g g }
     \times 2/3 { g4( a2) }
@@ -1073,9 +1090,9 @@ entered as an assignment, within @code{\header
 @{@tie{}@dots{}@tie{}@}}.  The @code{\header} block is usually put at
 the top of the file.  For example,
 
-@example 
+@example
 \header @{
-  title = "Miniature" 
+  title = "Miniature"
   composer = "Igor Stravinsky"
 @}
 
@@ -1129,14 +1146,14 @@ Again, these expressions can be nested arbitrarily
   >>
   \new Staff <<
     \clef bass
-    { <c, g>1 ~ <c g>4 } \\
-    { e,4 d e2 ~ e4}
+    { <c g>1 ~ <c g>4 } \\
+    { e,,4 d e2 ~ e4}
   >>
 >>
 @end lilypond
 
 More features of polyphonic typesetting are described in this manual
-in section @ref{Polyphony}.
+in section @ref{Basic polyphony}.
 
 
 @node Piano staves
@@ -1169,15 +1186,15 @@ Here is a small example
 >>
 @end lilypond
 
-More information on formatting piano music is given in @ref{Piano music}.  
+More information on formatting piano music is given in @ref{Piano music}.
 
 
 @node Organizing larger pieces
 @section Organizing larger pieces
 
 When all of the elements discussed earlier are combined to produce
-larger files, the @code{\score} blocks get a lot bigger, because the
-music expressions are longer, and, in the case of polyphonic pieces,
+larger files, the @code{\score} blocks get a lot bigger because the
+music expressions are longer, and, in the case of polyphonic music,
 more deeply nested.  Such large expressions can become unwieldy.
 
 By using variables, also known as identifiers, it is possible to break
@@ -1193,15 +1210,15 @@ later by preceding the name with a backslash, i.e., @code{\namedMusic}.
 In the next example, a two-note motive is repeated two times by using
 variable substitution
 
-@lilypond[quote,raggedright,verbatim,nofragment]
+@lilypond[quote,ragged-right,verbatim,nofragment]
 seufzer = {
   e'4( dis'4)
 }
 { \seufzer \seufzer }
 @end lilypond
 
-The name of an identifier should have alphabetic characters only; no
-numbers, underscores or dashes.  The assignment should be outside of
+The name of an identifier should have alphabetic characters only: no
+numbers, underscores, or dashes.  The assignment should be outside of
 running music.
 
 It is possible to use variables for many other types of objects in the
@@ -1219,7 +1236,7 @@ places.  The following example uses the above variables
 @example
 \paper @{
   \aFivePaper
-  linewidth = \width
+  line-width = \width
 @}
 @{ c4^\name @}
 @end example
@@ -1278,7 +1295,7 @@ the file, so @code{hornNotes} is defined afterwards.  The command
 tuning of a normal French Horn in@tie{}F.  The transposition can be seen
 in the following output
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \transpose f c' \relative c {
   \time 2/4
   r4 f8 a cis4 f e d
@@ -1288,7 +1305,8 @@ in the following output
 In ensemble pieces, one of the voices often does not play for many
 measures.  This is denoted by a special rest, the multi-measure
 rest.  It is entered with a capital @samp{R} followed by a duration
-(1@tie{}for a whole note, 2@tie{}for a half note, etc.).  By multiplying the
+(@code{1}@tie{}for a whole note, @code{2}@tie{}for a half note,
+etc.).  By multiplying the
 duration, longer rests can be constructed.  For example, this rest
 takes 3@tie{}measures in 2/4 time
 
@@ -1308,10 +1326,10 @@ This command sets the property @code{skipBars} in the
 @code{Score} context to true (@code{##t}).  Prepending the rest and
 this option to the music above, leads to the following result
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \transpose f c' \relative c {
   \time 2/4
-  \set Score.skipBars = ##t 
+  \set Score.skipBars = ##t
   R2*3
   r4 f8 a cis4 f e d
 }
@@ -1333,9 +1351,9 @@ that the other voice is in @code{bassoonNotes} in the file
 @end example
 
 @noindent
-leading to 
+leading to
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \relative c <<
   \new Staff {
     \time 2/4 R2*3
@@ -1356,14 +1374,22 @@ Setting run-time variables (`properties') is discussed in
 @ref{Changing context properties on the fly}.
 
 
-@ignore
-
-* longer example
+@node After the tutorial
+@section After the tutorial
 
-* discuss expectations (?)
+After finishing the tutorial, you should probably try writing a
+piece or two.  Start with one of the @ref{Example templates} and
+add notes.  If you need any notation that was not covered in the
+tutorial, look at the Notation Reference, starting with
+@ref{Basic notation}.  If you want to write for an instrument
+ensemble which is not covered in the @ref{Example templates},
+take a look at @ref{Extending the templates}.
 
-* conclude tutorial
+Once you have written a few short pieces, read the rest of
+the Learning Manual (chapters 3-5).  There's nothing wrong
+with reading them now, of course!  However, the rest of the
+Learning Manual assumes that you are familiar with
+LilyPond input.  You may wish to skim these chapters right
+now, and come back to them after you have more experience.
 
-* overview of chapters?
 
-@end ignore