]> 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 a25dac26ad6915ecf8c14161cf9572917d91aa08..3a7c593cfeebfda813091a47b936194e369a2897 100644 (file)
@@ -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
 
 
@@ -83,12 +84,18 @@ 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
+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
-In addition, LilyPond input is case sensitive.  @code{ @{ c d e @} } is
+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
@@ -148,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
@@ -193,12 +200,12 @@ 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
@@ -233,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
@@ -252,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
@@ -272,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'...
@@ -289,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
@@ -403,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]
@@ -458,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'}
@@ -473,7 +480,7 @@ An example of the use of quotes is in the following Mozart fragment
 \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
@@ -540,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]
@@ -561,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
@@ -610,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>> } >>
@@ -679,10 +686,10 @@ We can now typeset a melody with two staves
 \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
@@ -906,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
 
@@ -921,7 +928,7 @@ statement marks for which version of LilyPond the file was written.
 To mark a file for version 2.6.0, use
 
 @example
-\version "2.7.32"
+\version "2.6.0"
 @end example
 
 @noindent
@@ -976,7 +983,7 @@ line}.  It is entered as two underscores, i.e.,
 
 @example
 @{ I want to break free __ @}
-@end example 
+@end example
 
 @lilypond[fragment,quote,ragged-right]
 <<
@@ -1041,7 +1048,7 @@ 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,ragged-right]
 \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
 @end lilypond
@@ -1061,7 +1068,7 @@ a lead sheet, for example,
 
 @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) }
@@ -1083,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"
 @}
 
@@ -1139,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
@@ -1179,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
@@ -1210,8 +1217,8 @@ seufzer = {
 { \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
@@ -1298,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
 
@@ -1321,7 +1329,7 @@ this option to the music above, leads to the following result
 @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
 }
@@ -1343,7 +1351,7 @@ that the other voice is in @code{bassoonNotes} in the file
 @end example
 
 @noindent
-leading to 
+leading to
 
 @lilypond[quote,ragged-right]
 \relative c <<
@@ -1366,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