]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/tutorial.itely
* Documentation/user/tutorial.itely (Integrating text and music):
[lilypond.git] / Documentation / user / tutorial.itely
index bc3a3475d23331ac4c73cb912712e70243104c40..1a93fe25526a3f5c6f6b00bc92cdb3a8ddd7daff 100644 (file)
 @c -*-texinfo-*-
+@c This file is part of lilypond.tely
 
-@c TODO: LilyPond Lilypond lilypond
+@c TODO:
+@c   * more details about running lilypond; error messages,
+@c     compiling/viewing (emacs?)
+@c   * where to go from First steps+More basics?
 
+@c Your first LilyPond score in 10 minutes?
 
 @node Tutorial
 @chapter Tutorial
-  
-LilyPond prints music from a specification that you, the user, supply.
-You have to give that specification using a textual @emph{language}.  
-This chapter is a gentle introduction to that language.
-
-This tutorial will demonstrate how to use Lilypond by presenting
-examples of input along with resulting output.  We will use English
-terms for notation.  In case you are not familiar with those, you may
-consult the glossary that is distributed with LilyPond.
-
-@cindex examples, tutorial
-
-The examples discussed are included in the distribution, in the
-subdirectory @file{input/tutorial/}@footnote{When we refer
-to filenames, they are relative to the top directory of the source
-package.  In binary installations you should look in your doc section,
-eg, @code{/usr/share/doc/lilypond1.3/examples/input/tutorial}
-@cindex file names
-}. We recommend that you experiment with writing Lilypond input
-yourself, to get a feel for how the program behaves.
+
+This tutorial starts with a short introduction to the LilyPond music
+language.  After this first contact we will show you how to produce
+printed output.  Then you will be able to create and print your own
+sheets of music.
+
+@ifhtml
+Many people learn programs by trying and fiddling around with the
+program.  This is also possible with LilyPond.  If you click on a
+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]
+c-\markup { \bold \huge { Click here.  } }
+@end lilypond
+@end ifhtml
+
+By cutting and pasting the full input into a test file, you have a
+starting template for experiments.  If you like learning in this way,
+you will probably want to print out or bookmark
+@ifhtml
+the
+@end ifhtml
+@ref{Cheat sheet}, which is a table listing all commands for quick
+reference.
 
 @menu
-* Running LilyPond::            Getting started
-* The first tune::              The first tune
-* Lyrics and chords::           Lyrics and chords
-* More movements ::             
-* A piano excerpt::             Piano music
-* An orchestral score::         
-* Other ways to run LilyPond::  
+* First steps::                 
+* Running LilyPond::            
+* More about pitches::          
+* Entering ties::               
+* Automatic and manual beams::  
+* Octave entry::                
+* Music expressions explained::  
+* More staves::                 
+* Adding articulation marks to notes::  
+* Combining notes into chords::  
+* Basic rhythmical commands::   
+* Commenting input files::      
+* Printing lyrics::             
+* A lead sheet::                
+* Listening to output::         
+* Adding titles::               
+* Single staff polyphony::      
+* Piano staves::                
+* Organizing larger pieces::    
+* An orchestral part::          
 * Integrating text and music::  
-* end of tutorial::             The end
 @end menu
 
 
-@node Running LilyPond
-@section Running LilyPond
+@node First steps
+@section First steps
+
+The first example demonstrates how to enter the most elementary piece
+of music, a scale.  A note can be entered by typing its name, from
+@samp{a} through @samp{g}.  So, if you enter
 
-Before we dive into describing the input language of LilyPond, we first
-show you through the procedure for getting notes on your screen and out
-of your printer.
+@example
+c d e f g a b
+@end example
 
-The first step is creating an input file.  Using your favorite
-text-editor, create @file{test.ly} containing
+@noindent
+the result looks like this
 
-@ignore
+@lilypond[fragment,quote,notime,relative=1]
+c d e f g a b
+@end lilypond
 
-NOTE: if you're reading this, ie, the Texinfo source itself, test.ly
-should of course contain:
+The 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
 
-   \score{
-     \notes { c'4 e' g' }
-   }
+@example
+a1 a2 a4 a16 a32
+@end example
 
-@end ignore
+@c FIXME: have NOTIME also remove Score.timing?
+@lilypond[fragment,quote,notime,relative=1]
+\set Score.timing = ##f
+\set Staff.autoBeaming = ##f
+{ a1 a2 a4 a16 a32 s16_" " }
+@end lilypond
+
+If you do not specify a @rglos{duration}, the duration last entered is
+used for the next notes.  The duration of the first note in input
+defaults to a quarter
 
 @example
-\score @{
-  \notes @{ c'4 e' g' @}
-@} 
+a a8 a a2 a
 @end example
 
-@unnumberedsubsec Unix
-@cindex Unix, Running lilypond on
-@cindex ly2dvi
+@lilypond[fragment,quote,notime,relative=1]
+\set Score.timing = ##f
+{ a a8 a a2 a s16_" " }
+@end lilypond
+
 
-On unix, you invoke ly2dvi to compile your lilypond source file (you can
-omit the @code{.ly}):
+Rests are entered just like notes, but with the name @samp{r}
 
+@cindex rests
 @example
-ly2dvi -P test
+r2 r4 r8 r16
 @end example
 
-You will see the following on your screen:
+@lilypond[fragment,quote,notime]
+\set Score.timing = ##f
+r2 r4 r8 r16 s16_" "
+@end lilypond
+
+Add a dot @samp{.} after the duration to get a @rglos{dotted note}
 
 @example
-GNU LilyPond 1.3.145
-Now processing: `/home/fred/ly/test.ly'
-Parsing...
-Interpreting music...[1]
-Preprocessing elements... 
-Calculating column positions... [2]
-paper output to test.tex...
-
-Analyzing test.tex...
-Running LaTeX...
-Running dvips...
-PS output to test.ps...
-DVI output to test.dvi...
+a2. a4 a8. a16
 @end example
 
-The results of the ly2dvi run are a ``DeVice Independent'' file
-(@file{test.dvi}) and a PostScript file (@file{test.ps}).
+@lilypond[fragment,quote,notime,relative=1]
+\set Score.timing = ##f
+{ a2. a4 a8. a16 s16_" " }
+@end lilypond
 
-@cindex DVI file
+The @rglos{meter} (or @rglos{time signature}) can be set with the
+@code{\time} command
 
-@cindex Viewing music
-@cindex xdvi
-@cindex .dvi
+@example
+\time 3/4
+\time 6/8
+\time 4/4
+@end example
+
+@c A clef here may lead to confusion, remove it.
+@lilypond[fragment,quote]
+\override Staff.Clef #'transparent = ##t 
+\time 3/4
+s4_" "
+\time 6/8
+s4_" "
+\time 4/4
+s16_" "
+@end lilypond
 
-To view the @code{test.dvi} output, run Xdvi (you may omit the
-@code{.dvi}):
+The @rglos{clef} can be set using the @code{\clef} command
 
+@c what is more common name treble or violin?
+@c in Dutch, it is violin.
+@c in English it is definitely treble.
 @example
-xdvi test
-@end example
+\clef treble
+\clef bass
+\clef alto
+\clef tenor
+@end example
+
+@lilypond[fragment,quote,notime]
+\set Score.timing = ##f
+\clef violin
+s4_" "
+\clef bass
+s4_" "
+\clef alto
+s4_" "
+\clef tenor
+s16_" "
+@end lilypond
 
-@c FIXME: should we say anything on xdvi-gs interaction?
 
-You should see the following in  a window next to some buttons.
-@lilypond
-\score {
-  \notes { c'4 e' g' }
-} 
+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]
+{
+  \time 3/4
+  \clef bass
+  c2 e4 g2.
+  f4 e d c2 r4
+}
 @end lilypond
 
-When you're satisfied with the result, you can print the
-PostScript file:
+For more elaborate information on
 
-@example
-lpr test.ps
-@end example
-If this does not make your printer produce a page of music, you should
-look into installing and configuring ghostscript.  Refer to
-GhostScript's website at @uref{http://www.ghostscript.com}.
-@cindex GhostScript
-@cindex @code{lpr}
-@cindex Printing output
+@quotation
+@table @asis
+@item Entering pitches and durations
+see 
+@ref{Pitches}, and @ref{Durations}.
+@item Clefs
+see @ref{Clef}.
+@item Rests
+see @ref{Rests}.  
+@item Time signatures and other timing commands
+see @ref{Time signature}.
+@end table
+@end quotation
 
-@cindex PostScript
-@cindex .ps
 
+@node Running LilyPond
+@section Running LilyPond
 
-@unnumberedsubsec Windows
+@c FIXME: let's not be so casual about Emacs and VIM, but rather
+@c instruct (how) to use them; let advanced user figure-out what
+@c commands to type?
+
+@c
+@c We don't have enough space to explain either VIM
+@c or Emacs non-advanced users, and I fear that both editors will only
+@c confuse newbies. I vote for keeping the material in footnotes.
+@c 
+@c --hwn 
+
+In the last section we explained what kind of things you could enter
+in a LilyPond file.  In this section we will explain what commands to
+run and how to view or print the output.  If you have not used
+LilyPond before, want to test your setup, or want to run an example
+file yourself, read this section.  The instructions that follow are
+for Unix-like systems.  Some additional instructions for Microsoft
+Windows are given at the end of this section.
+
+Begin by opening a terminal window and starting a text editor.  For
+example, you could open an xterm and execute
+@code{joe}.@footnote{There are macro files for VIM addicts, and there
+is a @code{LilyPond-mode} for Emacs addicts.  If it has not been
+installed already, refer to
+@c FIXME lousy reference.
+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
 
-On windows, you open a LilyPond shell, and then you invoke ly2dvi
-compile your lilypond source file, just like on Unix:
+@noindent
+To process @file{test.ly}, proceed as follows
 
 @example
-ly2dvi -P test
+lilypond test.ly
 @end example
 
-You will see the following on your screen:
+@noindent
+You will see something resembling
 
-@c FIXME: leave this out, just refer to unix section?
-@c FIXME: commands run in dos shell: we can't redirect output
 @example
-GNU LilyPond 1.3.147
-Now processing: `C:\cygwin\home\tim\ly\test.ly'
+lilypond (GNU LilyPond) 2.2.0
+Running lilypond...
+Now processing `/home/fred/ly/test.ly'
 Parsing...
 Interpreting music...[1]
-Preprocessing elements...
-Calculating column positions... [2]
-paper output to test.tex...
-
-This is TeX, Version 3.14159 (MiKTeX 2)
-LaTeX2e <2000/06/01>
-Babel <v3.6Z> and hyphenation patterns for english, french, german, ngerman, du
-mylang, nohyphenation, loaded.
-
-(test.latex (C:\Program Files\MiKTeX\tex\latex\base\article.cls
-Document Class: article 2000/05/19 v1.4b Standard LaTeX document class
-(C:\Program Files\MiKTeX\tex\latex\base\size10.clo))
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\geometry.sty
-(C:\Program Files\MiKTeX\tex\latex\graphics\keyval.sty))
-(C:\Program Files\MiKTeX\tex\latex\base\inputenc.sty
-(C:\Program Files\MiKTeX\tex\latex\base\latin1.def))
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\titledefs.tex)
-No file test.aux.
-(test.tex
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\lilyponddefs.tex
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\lilypond-latex.tex
-LaTeX definitions)
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\feta20.tex)
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\lily-ps-defs.tex)
-[footer empty]
-(C:\cygwin\usr\lilypond-1.3.147\share\lilypond\tex\fetdefs.tex)))
-Overfull \hbox (15.0pt too wide) in paragraph at lines 22--26
-[] $[]$ 
-[1] (test.aux) )
-(see the transcript file for additional information)
-Output written on test.dvi (1 page, 4292 bytes).
-Transcript written on test.log.
-This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
-' TeX output 2001.04.12:0033' -> test.ps
-<texc.pro><special.pro>. [1]
-Running LilyPond...
-Analyzing test.tex...
-Running LaTeX...
-Running dvips...
-PS output to test.ps...
-DVI output to test.dvi...
+@emph{... more interesting stuff ... }
+DVI output to `test.dvi'...
+PDF output to `test.pdf'...
+PS output to `test.ps'...
 @end example
 
-To view the @code{test.dvi} output, run Yap
+@cindex DVI file
+@cindex Viewing music
+@cindex xdvi
+@noindent
+The result is the file @file{test.pdf}@footnote{For @TeX{}
+aficionados: there is also a @file{test.dvi} file.  It can be viewed
+with @code{xdvi}.  The DVI uses a lot of PostScript specials, which do
+not show up in the magnifying glass.  The specials also mean that the
+DVI file cannot be processed with @code{dvilj}.  Use @code{dvips} for
+printing.
+@cindex dvips
+@cindex dvilj
+@cindex DVI driver
+} which you can print or with the standard facilities of your
+operating system.@footnote{If your system does not have any tools
+installed, you can try @uref{Ghostscript,
+http://www.cs.wisc.edu/~ghost/}, a freely available package for
+viewing and printing PDF and PostScript files.}
+
+On Windows, start up a text-editor@footnote{Any simple or
+programmer-oriented editor will do, for example Notepad.  Do not use a
+word processor, its formatting codes will confuse LilyPond.} and enter
 
 @example
-yap test
+@{ c'4 e' g' @}
 @end example
 
-You should see the following in a window
-@lilypond
-\score {
-  \notes { c'4 e' g' }
-} 
-@end lilypond
+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
+the file and show the resulting PDF file.
 
-@c FIXME: talk about newer Yap versions, proper gs installation?
-When you're satisfied with the result, you can print from within Yap
-(File/Print).  Note that Yap may not display embedded PostScript symbols
-such as beams and slurs.  Don't worry, they'll be printed anyway.
 
-You can also print the PostScript file directly from the
-command line using GSview:
+@node 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
+you might expect, a @rglos{double sharp} or @rglos{double flat} is
+made by adding @samp{isis} or @samp{eses}@footnote{This syntax
+derived from note naming conventions in Nordic and Germanic languages,
+like German and Dutch.}
 
 @example
-gsview32 /s test.ps
+cis1 ees fisis aeses
 @end example
 
+@lilypond[fragment,quote,notime]
+\set Score.timing = ##f
+\transpose c c' { cis1 ees fisis aeses s16_" " }
+@end lilypond
 
+@cindex key signature, setting
+The key signature is set with the command @code{\key}, followed by
+a pitch and @code{\major} or @code{\minor}
 
-@node The first tune
-@section The first tune
-
-
-To demonstrate what LilyPond input looks like, we start off with a
-full-fledged, yet simple example. It is a convoluted version
-of the famous menuet in J. S. Bach's @emph{Klavierb@"uchlein}. The file
-is included in the distribution as  @file{menuet.ly}.
-@cindex Bach, Johann Sebastian 
-
-@lilypond[verbatim]
-% all text after a percent sign is a comment
-% and is ignored by Lilypond
-\include "paper16.ly"
-\score {
-    \notes                        
-    \relative c'' \sequential {
-            \time 3/4                
-            \key g \major
-
-        \repeat "volta" 2 {
-            d4 g,8 a b c d4 g, g |
-            e'4 c8 d e fis g4 g, g |
-            c4 d8( )c b a( )b4 c8 b a g |
-            a4 [b8 a] [g fis] g2.  |
-        }
-
-        b'4 g8 a b g
-        a4 d,8 e fis d |
-        g4 e8 fis g d cis4 b8 cis a4 |
-        a8-. b-. cis-. d-. e-. fis-.
-        g4 fis e |
-        fis a,  r8 cis8
-        d2.-\fermata
-        \bar "|."
-    }
-    \paper {
-       % standard settings are too wide for a book
-       linewidth = 14.0 \cm
-   }
-}
+@example
+\key d \major
+g1
+\key c \minor
+g
+@end example
+
+@lilypond[fragment,quote,notime,fragment]
+\key d \major
+g'1
+\key c \minor
+g'
 @end lilypond
 
-We will analyse the input, line by line.
-@separate
-@example
-        % all text after a percent sign is a comment
-        % and is ignored by Lilypond
-@end example 
-The percent sign, @code{%}, introduces a line comment.  You can also
-comment out a block of several lines, by enclosing them in
-@code{%@{} and @code{%@}}.
-@cindex comment
-@cindex block comment
-@cindex line comment
-@separate
-@example 
+@noindent
+Key signatures together with the pitches (including alterations) are
+used to determine when to print accidentals.  This is a
+feature that often causes confusion to newcomers, so let us explain it
+in more detail.
 
-        \include "paper16.ly"
-@end example
-@cindex @code{\include}
-@cindex point, printer's
-@cindex staff size setting 
-By default, LilyPond will typeset the music in a size such that each 
-staff is 20 point@footnote{A point is the standard measure of length for
-printing; one point is 1/72.27 inch.} high.  We want smaller
-output (16 point staff height), so we must import the settings for that
-size, which is done here.
-@separate
-@example 
 
-        \score @{
-@end example 
-Music is printed by combining a piece of music with directions for
-outputting it.  This combination is formed in the @code{\score} block.
-@separate
-@example 
+LilyPond makes a sharp distinction between musical content and
+layout.  The alteration (flat, natural or sharp) of a note is part of
+the pitch, and is therefore musical content.  Whether an accidental (a
+flat, natural or sharp @emph{sign}) is printed in front of the
+corresponding note is a question of layout.  Layout is something that
+follows rules, so accidentals are printed automatically according to
+those rules.  The pitches in your music are works of art, so they will
+not be added automatically, and you must enter what you want to hear.
 
-        \notes                
-@end example 
-Prepare LilyPond for accepting notes.
-@cindex octaves, choosing
-@cindex pitch
-@separate
-@example 
+In this example
 
-        \relative c''
-@end example
-@cindex relative
-As we will see, each note is described by its note name, duration,
-octave and possibly a chromatic alteration.  In this setup, the octave
-is indicated by using high quotes (@code{'}) and ``lowered quotes''
-(commas: @code{,}).  The central C is denoted by @code{c'}.  The C one
-octave higher is @code{c''}.  One and two octaves below the central C is
-denoted by @code{c} and @code{c,} respectively.
-
-Even though a piece of music often spans a range of several octaves, it
-mostly moves in small intervals.  LilyPond has a special entry mode to
-save typing in this situation.  In this ``relative'' octave mode,
-octaves of notes without quotes are chosen such that a note is as close
-as possible (graphically, on the staff) to the preceding note.  If you
-add a high-quote an extra octave is added.  A lowered quote (a comma)
-will subtract an extra octave.
-
-Because the first note has no predecessor,
-you have to give the (absolute) pitch of the note to start with.
-@separate
-@example 
+@lilypond[quote,notime,fragment]
+\key d \major
+d' cis' fis'
+@end lilypond
 
-        \sequential @{
-@end example 
-What follows is sequential music, i.e.,
-@cindex sequential music
-notes that are to be played and printed after each other.
-@separate
-@example 
+@noindent
+no note gets an explicit accidental, but you still must enter
 
-        \time 3/4
+@example
+\key d \major
+d cis fis
 @end example
-@cindex time signature, setting
-@cindex @code{\time}
-Set (or change) the time signature of the current piece: a 3/4 sign is
-printed.  The time signature setting is also used to generate bar lines
-at the right spots.
-@separate
-@example 
 
-        \key g \major
+@noindent
+The code @samp{d} does not mean `print a black dot just below the
+staff.'  Rather, it means: `a note with pitch D-natural.'  In the key
+of A-flat, it does get an accidental
+
+@lilypond[quote,notime,fragment]
+\key as \major
+d'
+@end lilypond
+
+@example
+\key as \major
+d
 @end example
-@cindex key signature, setting
-@cindex @code{\key}
-Set (or change) the current key signature to G-major.  Although in this
-example, the @code{\key} command happened to be entered after the
-@code{\time} command, in the output the time signature will be printed
-after the key signature; LilyPond knows about music typesetting
-conventions.
-@separate
-@example 
 
-        \repeat "volta" 2
-@end example 
-The following piece of music is played twice.  The first argument
-indicates the type of repeat.  In this case, @code{"volta"} means that
-prima volta/secunda volta brackets are used for the alternative
-endings---if there were any.
-@separate
-@example 
+Adding all alterations explicitly might require a little more effort
+when typing, but the advantage is that transposing is easier, and
+music can be printed according to different conventions.  See
+@ref{Accidentals}, for some examples how accidentals can be printed
+according to different rules.
 
-        @{
-@end example 
-The subject of the repeat is again sequential music.  Since
-@code{\sequential} is such a common construct, a shorthand is provided:
-just leave off @code{\sequential}, and the result is the same.
-@separate
-@example 
 
-        d4 g,8
-@end example 
-Two notes.  The first note is a quarter note with relative pitch
-@code{d}.  The relative music was started with a @code{c''}, so the real
-pitch of this note is @code{d''}.  The duration of a note is designated
-by a number; the @code{4} here represents a quarter note.
-
-The second note is an eight note with relative pitch @code{g,}.  The
-pitch is taken relative to the previous @code{d''}, making this
-note have real pitch @code{g'}.  The @code{8} represents an eight note.
-@separate
-@example 
+For more information on
 
-        a b
-@end example 
-Two more notes, with pitch @code{a} and @code{b}.  Because their
-duration is the same as the @code{g,8}, there is no need to enter the
-duration, but you may enter it anyway, i.e., @code{a4 b4}
-@separate
-@example 
+@quotation
+@table @asis
+@item Accidentals
+see @ref{Accidentals}.
 
-        d4 g, g |
-@end example
-@cindex bar check
-@cindex @code{|}
-@cindex errors, finding 
-Three more notes.  The @code{|} character is a ``bar check''.  LilyPond
-will verify that bar checks are found at the start of a measure.  This can
-help you track down typing errors.
-
-@cindex alteration, chromatic
-@cindex chromatic alteration
-@separate
-@example 
+@item Key signature
+see @ref{Key signature}.
+@end table
+@end quotation
 
-        c8 d e fis
+@node Entering ties
+@section Entering ties
 
-@end example 
-So far, no notes were chromatically altered.  Here is the first one that
-is: @code{fis}.  Lilypond by default uses Dutch@footnote{Note names are
-available in several languages, but we find the Dutch names quite
-convenient.} note names, and ``Fis'' is the Dutch note name for ``F
-sharp''.  However, there is no sharp sign in the output. The program
-keeps track of key signatures, and will only print accidentals if they
-are needed.
-
-For groups of eighth notes and shorter, LilyPond can determine how the
-notes should form a beam.  In this case, the 4 eights are automatically
-printed as a beam.
-@separate
-@example 
+@cindex tie
+A tie is created by appending a tilde @samp{~} to the first note
+being tied
 
-        c4 d8( )c b a( )b4 c8 b a g |
-@end example 
-The beginning and ending notes of a slur are marked with parentheses,
-@code{(} and @code{)} for start and end respectively.  The line above
-indicates two slurs.  These slur markers (parentheses) are entered
-between the slurred notes.
-@separate
-@example 
+@lilypond[quote,notime,fragment,verbatim,relative=3]
+g4~ g a2~ a4
+@end lilypond
 
-        a4 [b8 a] [g fis] 
-@end example 
-Automatic beaming can be overridden by inserting beam marks, @code{[}
-and @code{]}.  These beam markers (brackets) are put around the notes
-you want beamed.
-@separate
-@example 
+For more information on Ties see @ref{Ties}.
 
-        g2.  |
-@end example
-@cindex augmentation dot
-@cindex dot
-A period adds an augmentation dot to the note.
-@separate
-@example 
 
-        @}
-@end example 
-The end of the sequential music to be repeated.  LilyPond will typeset a
-repeat bar.
-@separate
-@example 
 
-        cis'4 b8 cis a4 |
-@end example 
-Accidentals are printed whenever necessary: the first C sharp of the bar
-will be printed with an accidental, the second one without.
-@separate
-@example 
+@node Automatic and manual beams
+@section Automatic and manual beams
 
-        a8-. b-. cis-. d-. e-. fis-.
-@end example
-@cindex articulation
-You can enter articulation signs either in a verbose form or using a
-shorthand.  Here we demonstrate the shorthand: it is formed by a dash
-and the character for the articulation to use, e.g. @code{-.} for
-staccato as shown above.
-@separate
-@example 
+@cindex beams, by hand 
+Beams are drawn automatically
 
-        fis a, r8 cis8
-@end example 
-Rests are denoted by the special notename @code{r}.  
-@separate
-@example 
+@lilypond[quote,fragment,relative=2,verbatim]
+a8 ais d es r d
+@end lilypond
+
+@noindent
+If you do not like where beams are put, they can be entered by
+hand.  Mark the first note to be beamed with @samp{[} and the last one
+with @samp{]}.
+
+@lilypond[quote,fragment,relative=2,verbatim]
+a8[ ais] d[ es r d]
+@end lilypond
+
+For more information on beams, see @ref{Beaming}.
+
+
+Here are key signatures, accidentals and ties in action
 
-        d2.-\fermata
-@end example 
-All articulations have a verbose form, like @code{\fermata}.  The
-command @code{\fermata} is not part of the core of the language, but it
-is a shorthand for a more complicated description of a fermata symbol.
-@code{\fermata} names that description and is therefore called an
-identifier.
-@cindex identifier
-@cindex @code{\fermata}
-@separate
 @example
-        \bar "|."
-        @}
-@end example 
-Here the music ends.  LilyPond does not automatically typeset and end
-bar, we must explicitely request one, using @code{"|."}.
+@{
+  \time 4/4
+  \key g \minor
+  \clef violin
+  r4 r8 a8 gis4 b
+  a8 d4.~ d e8
+  fis4 fis8 fis8 eis4 a8 gis~
+  gis2 r2
+@}
+@end example
 
-@separate
-@example 
+@ignore
+FIXME
+ugr: removing the ignore block, leaving the comment line below
+@c TODO: use relative mode, verbatim, junk \transpose and above @example
+@end ignore
 
-        \paper @{
-                linewidth = 14.0\cm
-        @}
-@end example 
-The @code{\paper} block specifies how entered music should be converted
-to notation output.  Most of the details of the conversion (font sizes,
-dimensions, etc.) have been taken care of, but to fit the output in this
-document, it has to be narrower.  We do this by setting the line width
-to 14 centimeters (approximately 5.5 inches).
-@separate
-@example 
 
-        @}
-@end example 
-The last brace ends the @code{\score} block.
+@lilypond[fragment,quote,noindent,linewidth=50\staffspace]
+\transpose c c' {
+  \time 4/4
+  \key g \minor
+  \clef violin
+  r4 r8 a8 gis4 b
+  a8 d4.~ d e8
+  fis4 fis8 fis8 eis4 a8 gis~
+  gis2 r2
+}
+@end lilypond
 
+@cindex accidentals
 
 
+@noindent
+There are some interesting points to note in this example.  Bar lines
+and beams are drawn automatically.  Line breaks are calculated
+automatically; it does not matter where the line breaks are in the
+source file.  Finally, the order in which time, key and clef changes
+are entered is not relevant: in the printout, these are ordered
+according to standard notation conventions.
 
-@node Lyrics and chords
-@section Lyrics and chords
 
-In this section we show how to typeset a song. This file is
-included as @file{flowing.ly}.
 
-@example 
-\header @{
-        title = "The river is flowing"
-        composer = "Traditional"
-@}
-\include "paper16.ly"
-melody = \notes \relative c' @{
-        \partial 8
-        \key c \minor
-        g8 |
-        c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
-        c4 c8 d [es () d] c4 | d4 es8 d c4.
-        \bar "|."
-@}
+@node Octave entry
+@section Octave entry
 
-text = \lyrics @{
-        The ri -- ver is flo- __ wing, flo -- wing and gro -- wing, the
-        ri -- ver is flo -- wing down to the sea.
-@}
 
-accompaniment =\chords @{
-        r8
-        c2:3- f:3-.7 d:min es4 c8:min r8
-        c2:min f:min7 g:7^3.5 c:min @}
+@c Tim wants to move this quotes example just before the: quotes-do not-work
+@c score, but we'd need to remove quotes from the other two (key and
+@c tie) examples...
 
-\score @{
-        \simultaneous @{
-          %\accompaniment
-          \context ChordNames \accompaniment
-
-          \addlyrics
-            \context Staff = mel @{        
-              \property Staff.noAutoBeaming = ##t
-              \property Staff.automaticMelismata = ##t
-              \melody 
-            @}
-            \context Lyrics \text
-        @}
-        \midi  @{ \tempo 4=72 @}
-        \paper @{ linewidth = 10.0\cm @}
-@} 
-@end example 
+@c better to have this just before the `octaves are bad' snipped
+@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{,}
+(a comma).  Middle C is @code{c'}
 
+@example
+c'4 c'' c''' \clef bass c c,
+@end example
 
-The result would look this.@footnote{The titling and font size shown
-may differ, since the titling in this document is not generated by
-@code{ly2dvi}.}
+@lilypond[quote,notime,fragment]
+c'4 c'' c''' \clef bass c c,
+@end lilypond
 
-@center @strong{The river is flowing}
-@center Traditional 
+An example of the use of quotes is in the following Mozart fragment
 
-@lilypond[center]
-\header {
-        title = "The river is flowing"
-        composer = "Traditional"
-}
-\include "paper16.ly"
-melody = \notes \relative c' {
-        \partial 8
-        \key c \minor
-        g8 |
-        c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
-        c4 c8 d [es () d] c4 | d4 es8 d c4.
-        \bar "|."
-}
+@lilypond[quote,raggedright,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 
+@end lilypond
 
-text = \lyrics {
-        The ri -- ver is flo- __ wing, flo -- wing and gro -- wing, the
-        ri -- ver is flo -- wing down to the sea.
+@noindent
+The last example shows that music in a high register needs lots of quotes.
+This makes the input less readable, and it is a source of errors.  The
+solution is to use `relative octave' mode.  In practice, this is the
+most convenient way to copy existing music.  To use relative mode, add
+@code{\relative} before the piece of music.
+@ignore
+FIXME: move to notation manual?
+ You must also give a note
+from which relative mode starts, in this case @code{c''}.
+@end ignore
+If you do not
+use octavation quotes (i.e., do not add @code{'} or @code{,} after a
+note), relative mode chooses the note that is closest to the previous
+one.  For example, @samp{c f} goes up while @samp{c g} goes down
+
+@lilypond[quote,notime,fragment,verbatim]
+\relative {
+  c' f c g c
 }
+@end lilypond
+
 
-accompaniment =\chords {
-        r8
-        c2:3- f:3-.7 d:min es4 c8:min r8
-        c2:min f:min7 g:7^3.5 c:min }
-
-\score {
-        \simultaneous {
-          %\accompaniment
-          \context ChordNames \accompaniment
-
-          \addlyrics
-            \context Staff = mel {
-              \property Staff.noAutoBeaming = ##t
-              \property Staff.automaticMelismata = ##t
-              \melody 
-            }
-            \context Lyrics \text
-        }
-        \midi  { \tempo 4=72 }
-        \paper { linewidth = 10.0\cm }
+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,fragment,verbatim]
+\relative {
+  \key a \major
+  \time 6/8
+  cis''8. d16 cis8 e4 e8
+  b8. cis16 b8 d4 d8
 }
 @end lilypond
 
-Again, we will dissect the file line by line.
-@separate
-@example 
+@c needed better, maybe even redundant explanation
+@c   added another example below.
+@c grappig: Pa vond het heel logies, en slim toen-i eenmaal begreep.
+@c in eerste instantie drong het `relative' niet door zonder extra uitleg.
+Larger intervals are made by adding octavation quotes.
 
-        \header @{
-@end example
-@cindex @code{\header}
-Information about the music you are about to typeset goes into a
-@code{\header} block.  The information in this block is not used by
-LilyPond, but it is passed into the output.  @file{ly2dvi} uses this
-information to print titles above the music.
-@separate
-@example 
+@lilypond[quote,notime,verbatim,fragment]
+\relative c {
+  c'' f, f c' c g' c,
+}
+@end lilypond
 
-        title = "The river is flowing"
-        composer = "Traditional (?)"
-@end example
-@cindex assignments
-@cindex identifier assignment
-the @code{\header} block contains assignments.  In each assignment, a
-variable is set to a value. Lexically, both the variable name and the
-assigned value are strings. The values have to be quoted here, because
-they contain spaces, the variable names could also be put within quotes
-but it is not necessary. 
-@separate
-@example 
+In summary, quotes or commas no longer determine the absolute height
+of a note in @code{\relative} mode.  Rather, the height of a note is
+relative to the previous one, and changing the octave of a single note
+shifts all following notes an octave up or down.
 
-        \include "paper16.ly"
-@end example
-Smaller size for inclusion in a book.
-@separate
-@example 
+For more information on Relative octaves see @ref{Relative octaves},
+and @ref{Octave check}.
 
-        melody = \notes \relative c' @{
-@end example 
-The structure of the file will be the same as the previous one, a
-@code{\score} block with music in it.  To keep things readable, we will
-give names to the different parts of music, and use the names to
-construct the music within the score block.
 
-@separate
-@example 
-        \partial 8
-@end example 
+@node Music expressions explained
+@section Music expressions explained
 
-@cindex @code{\partial}
-@cindex anacrusis
-The piece starts with an anacrusis of one eighth.
-@separate
-@example
-        \key c \minor
-@end example
-The key is C minor: we have three flats.
 
-@separate
-@example 
+In input files, music is represent by so-called @emph{music
+expression}.  We have already seen in the previous examples; 
+a single note is a music expression
 
-        c4 c8 d [es () d] c4 | f4 f8 g [es() d] c g |
-        c4 c8 d [es () d] c4 | d4 es8 d c4.
-        \bar "|."
-@end example 
+@lilypond[fragment,quote,verbatim,relative=3]
+a4
+@end lilypond
 
-@cindex manual beaming
-@cindex automatic beaming, turning off
-We use explicit beaming.  Since this is a song,  we turn automatic
-beams off, and use explicit beaming where needed.
-@separate
-@example 
+Enclosing group of notes in braces creates a new music
+expression
 
-        @}
-@end example 
-This ends the definition of @code{melody}.  
+@lilypond[fragment,quote,verbatim,relative=3]
+{ a4 g4 }
+@end lilypond
 
-@separate
-@example 
+Putting a bunch of music expressions (notes) in braces, means that
+they should be played in sequence.  The result again is a music
+expression, which can be grouped with other expressions sequentially.
+Here, the expression from the previous example is combined with two
+notes
 
-        text = \lyrics @{
-@end example
-@cindex lyrics
-@cindex identifier assignment
-@cindex syllables, entering
-Another identifier assignment.  This one is for the lyrics. 
-Lyrics are formed by syllables that have duration, and not by
-notes. To make LilyPond parse words as syllables,  switch it  into
-lyrics mode with @code{\lyrics}.  Again, the brace after @code{\lyrics}
-is a shorthand for @code{\sequential @{}.
-@separate
-@example 
+@lilypond[fragment,quote,verbatim,relative=3]
+{ { a4 g } f g } 
+@end lilypond
 
-  The4 ri -- ver is flo- __ wing,  flo -- wing and gro -- wing, the
-  ri- ver is flo- __ wing down to the sea.
-@}
-@end example
-@cindex extenders, lyric
-@cindex hyphens, lyric 
-The syllables  themselves are  separated by spaces.  You can get syllable
-extenders by entering @code{__}, and centered hyphens with
-@code{-}@code{-}.  We enter the syllables as if they are all quarter notes
-in length (hence the @code{4}), and use a feature to align the
-syllables to the music, which obviously isn't all quarter notes.
-@separate
-@example 
+This technique is useful for non-monophonic music.  To enter music
+with more voices or more staves, we also combine expressions in
+parallel.  Two voices that should play at the same time, are entered
+as a simultaneous combination of two sequences.  A `simultaneous'
+music expression is formed by enclosing expressions in @code{<<} and
+@code{>>}.  In the following example, three sequences (all containing
+two notes) are combined simultaneously
+
+@lilypond[fragment,quote,verbatim,relative=3]
+<<
+   { a4 g }
+   { f e }
+   { d b }
+>>
+@end lilypond
 
-        accompaniment =\chords @{
-@end example
-@cindex chords
-@cindex mode, chords
-We'll put chords over the music. To enter them, there is a special mode
-analogous to @code{\lyrics} and @code{\notes} mode, where you can give
-the names of the chords you want, instead of listing the notes
-comprising the chord.
-@separate
-@example 
+This mechanism is similar to mathematical
+formulas: a big formula is created by composing small formulas.  Such
+formulas are called expressions, and their definition is recursive, so
+you can make arbitrarily complex and large expressions.  For example,
 
-        r8
-@end example 
-There is no accompaniment during the anacrusis.
-@separate
-@example 
+@example
+1
 
-        c2:3- f:3-.7
-@end example
+1 + 2
 
-@cindex tonic
-@cindex chord modifier
-@cindex modifier, chord 
-A chord is started by  the tonic of the chord. The
-first one lasts a half note.  An unadorned note creates a major
-triad. Since a minor triad is wanted, @code{3-} is added to modify the
-third to be small. @code{7} modifies (adds) a seventh, which is small by
-default to create the @code{f a c es} chord.  Multiple modifiers must be
-separated by dots.
-@separate
-@example 
+(1 + 2) * 3
 
-        d:min es4 c8:min r8
+((1 + 2) * 3) / (4 * 5)
 @end example
 
-Some modifiers have predefined names, eg. @code{min} is  the same as
-@code{3-}, so @code{d-min} is a minor @code{d} chord.
-@separate
-@example 
+@cindex expression
+@cindex music expression
+This example shows a sequence of expressions, where each expression is
+contained in the next one.  The simplest expressions are numbers and
+operators (like @samp{+}, @samp{*} and @samp{/}).  Parentheses are used
+to group expressions.
 
-        c2:min f:min7 g:7^3.5 c:min @}
-@end example
-@cindex named modifier
-
-A named modifier @code{min} and a normal modifier @code{7} do not have
-to be separated by a dot.  Tones from a chord are removed with chord
-subtractions.  Subtractions are started with a caret, and they are
-also separated by dots.  In this example, @code{g:7^3.5} produces a
-minor seventh.  The brace ends the sequential music.
-@separate
-@example 
+Like mathematical expressions, music expressions can be nested
+arbitrarily deep@footnote{The reason for getting three staves in the
+previous example but just a single staff in the current one will be
+explained later.}
 
-        \score @{
-                \simultaneous @{
-@end example 
-We assemble the music in the @code{\score} block.  Melody, lyrics and
-accompaniment have to sound at the same time, so they should be
-@code{\simultaneous}.
-@cindex @code{\simultaneous}
-@separate
-@example 
+@lilypond[fragment,quote,verbatim,relative=2] 
+{
+  c <<c e>>
+  << { e f } { c <<b d>> } >>
+}
+@end lilypond
 
-        %\accompaniment
-@end example 
-Chord mode generates notes grouped in @code{\simultaneous} music.  If
-you remove the comment sign, you can see the chords in normal
-notation: they will be printed as note heads on a separate
-staff. To print them as chords names, they have to be interpreted as
-being chords, not notes. This is done with the following command:  
-@separate
-@example 
 
-        \context ChordNames \accompaniment
-@end example
-@cindex context
-@cindex interpretation context
-@cindex notation context
-
-
-Normally, the notes that you enter are transformed into note heads.
-Note heads alone make no sense, they need surrounding information: a key
-signature, a clef, staff lines, etc.  They need @emph{context}.  In
-LilyPond, these symbols are created by objects called `interpretation
-contexts'.  Interpretation contexts exist for generating notation
-(`notation context') and for generating sound (`performance
-context'). These objects only exist during a run of LilyPond.
-
-By default, LilyPond will create a Staff context for you.  If you would
-remove the @code{%} sign in the previous line, you would see that
-mechanism in action.
-
-We don't want that default here, because we want chord names.  The
-command above explicitly creates an interpretation context of 
-@code{ChordNames} type to interpret the music @code{\accompaniment}. 
-@separate
-@example 
+@cindex indent
+When spreading expressions over multiple lines, it is customary to use
+an indent that indicates the nesting level.  Formatting music like this
+eases reading, and helps you insert the right number of closing
+braces at the end of an expression.  For example,
 
-        \addlyrics
+@example
+\book @{
+  \score @{
+    <<
+      @{
+        @dots{}
+      @}
+      @{
+        @dots{}
+      @}
+      \paper @{
+        @dots{}
+      @}
+    >>
+  @}
+@}  
 @end example
-@cindex @code{\addlyrics}
-@cindex lyrics and melody, combining
-@cindex combining lyrics and melody
-
-The lyrics should be aligned with the melody.  This is done by
-combining both with @code{\addlyrics}.  @code{\addlyrics} takes two
-pieces of music (usually a melody and lyrics, in that order) and
-aligns the syllables of the second piece under the notes of the
-first piece.  If you would reverse the order, the notes would be
-aligned on the lyrics, which is not very useful, and looks
-silly.
-@separate
-@example 
 
-        \context Staff = mel @{
-@end example
+Some editors have special support for entering LilyPond, and can help
+indenting source files.  See @ref{Editor support}, for more information.
 
-The second argument of @code{\addlyrics} is the melody.  We instantiate
-a @code{Staff} context explicitly: should you choose to remove the
-comment before the ``note heads'' version of the accompaniment, the
-accompaniment will be on a nameless staff.  The melody has to be on
-staff different from the accompaniment.  This is accomplished by giving
-the melody and accompaniment staffs different names.
-@separate
-@example 
+@node More staves
+@section More staves
 
-        \property Staff.noAutoBeaming = ##t
-@end example
-@cindex \property
-@cindex context variables
-@cindex setting context variables
-An interpretation context has variables, called properties, that tune
-its behaviour.  One of the variables is @code{noAutoBeaming}.  Setting
-this Staff's property to @code{##t}, which is the boolean value @var{true},
-turns the automatic beaming mechanism off for the current staff.
-@cindex GUILE
-@cindex Scheme
-@cindex accessing Scheme
-@cindex evaluating Scheme
-@cindex LISP
-
-LilyPond internally uses GUILE, a Scheme-interpreter. Scheme is a
-language from the LISP family. You can learn more about Scheme at
-@uref{http://www.scheme.org}. It is used to represent data throughout
-the whole program. The hash-sign (@code{#}) accesses GUILE directly: the
-code following the hash-sign is evaluated as Scheme.  The boolean value
-@var{true} is @code{#t} in Scheme, so for LilyPond @var{true} looks like
-@code{##t}.
-
-If Scheme scares you, don't worry. You don't need to know Scheme to
-create beautiful sheet music.
-
-
-
-@separate
-@example 
+To print more than one staff, each piece of music that makes up a
+staff is marked by adding @code{\new Staff} before it.  These
+@code{Staff} elements are then combined parallel with @code{<<} and
+@code{>>}, as demonstrated here
 
-        \property Staff.automaticMelismata = ##t
-@end example
-@cindex automaticMelismata
-@cindex melismata
-@cindex @code{\addlyrics} and slurs
-Similarly, we  don't want to print a  syllable when there is
-a slur. This sets up @code{\addlyrics} to not put lyrics under each
-separate note while there is a slur.
-@separate
-@example 
+@lilypond[quote,fragment,verbatim]
+<<
+  \new Staff { \clef violin c'' }
+  \new Staff { \clef bass c }
+>>
+@end lilypond
 
-          \melody
-        @}
-@end example 
-Finally, we put the melody on the current staff.  Note that the
-@code{\property} directives and @code{\melody} are grouped in sequential
-music,  so the property settings are done before the melody is
-processed.
-@separate
-@example 
 
-        \context Lyrics \text
-@end example 
-The second argument of @code{\addlyrics} is the text. The text also
-should not land on a Staff, but on a interpretation context for
-syllables, extenders, hyphens etc.  This context is called
-Lyrics.
-@separate
-@example 
+The command @code{\new} introduces a `notation context.'  A notation
+context is an environment in which musical events (like notes or
+@code{\clef} commands) are interpreted.  For simple pieces, such
+notation contexts are created implicitly.  For more complex pieces, it
+is best to mark contexts explicitly.  This ensures that each fragment
+gets its own stave.
 
-        \midi  @{ \tempo 4=72@}
-@end example 
-MIDI (Musical Instrument Digital Interface) is a standard for
-connecting and recording digital instruments. So a MIDI file is like a
-tape recording of an instrument. The @code{\midi} block causes makes the
-music go to a MIDI file, so you can listen to the music you entered.  It
-is great for checking the music.  Whenever you hear something weird, you
-probably hear a typing error.
-
-Syntactically, @code{\midi} is similar to @code{\paper @{ @}}, since it
-also specifies an output method. You can specify the tempo using the
-@code{\tempo} command, in this case the tempo of quarter notes is set to
-72 beats per minute.
-@separate
-@example 
+There are several types of contexts: @code{Staff}, @code{Voice} and
+@code{Score} handle normal music notation.  Other contexts are also
+@code{Lyrics} (for setting lyric texts) and @code{ChordNames} (for
+printing chord names).
 
-        \paper @{ linewidth = 10.0\cm @}
-@end example 
-We also want notation output.  The linewidth is short so the piece
-will be set in two lines.
 
-@node More movements 
-@section More movements
+In terms of syntax, prepending @code{\new} to a music expression
+creates a bigger music expression.  In this way it resembles the minus
+sign in mathematics.  The formula @math{(4+5)} is an expression, so
+@math{-(4+5)} is a bigger expression.
 
-[FIXME: merge here with, or move this to: Other ways to run LilyPond]
+We can now typeset a melody with two staves
 
-You probably ran @file{ly2dvi} on the last example, and ended up with a
-viewable @file{.dvi} file.  However, between there are a few steps of
-which LilyPond is only one. To enhance your understanding of what's
-happening under the hood when you run @code{ly2dvi}, we explain what
-programs are run.
+@c TODO: (c) status of this Paul McCartney (?) song (let's all stand together)
 
-@code{ly2dvi} is a program that calls a number of programs  in sequence.
-The first thing it does, is running LilyPond on the input file. After
-some calculations, a @file{.tex} is produced. The contents
-of this file are very  low-level instructions.
+@lilypond[fragment,quote,verbatim,raggedright]
+<<
+  \new Staff {
+    \time 3/4
+    \clef violin
+    \relative {
+      e''2 d4 c2 b4 a8[ a]
+      b[ b] g[ g] a2. }  
+  }
+  \new Staff {
+     \clef bass
+     c2 e4 g2.
+     f4 e d c2.
+  }
+>>
+@end lilypond
 
-For example,  the following file (@file{miniatures.ly}) 
+For more information on context see the description in
+@ref{Interpretation contexts}.
 
-@example
-\version "1.3.124"
-\header @{ title = "Two miniatures"  @}
 
-#(set! point-and-click line-column-location)
 
-\paper @{ linewidth = -1.0 @}
+@node Adding articulation marks to notes
+@section Adding articulation marks to notes
 
-\score @{
-    \notes @{ c'4 d'4 @}
-    \header @{
-        opus = "Opus 1."
-        piece = "Up" @}
-@}
-\score @{
-    \notes @{ d'4 c'4 @}
-    \header @{
-        opus = "Opus 2."
-        piece = "Down" @}
-@}
-@end example
+@cindex articulation
+@cindex accents
+@cindex staccato
 
-The titling in this manual was not generated by ly2dvi, so we can't
-exactly show it would look, but the result should resemble this:
+Common accents can be added to a note using a dash (@samp{-}) and a
+single character
 
-@center @strong{Two miniatures}
-@flushright
-Opus 1.
-@end flushright
-@flushleft
-@var{Up}
-@end flushleft
-@lilypond
-  \score {
-    \notes { c'4 d'4 }
-    \paper { linewidth = -1.0 }
-  }
+@lilypond[fragment,quote,verbatim,relative=2]
+c-.  c-- c-> c-^ c-+ c-_
 @end lilypond
-@flushright
-Opus 2.
-@end flushright
-@flushleft
-@var{Down}
-@end flushleft
-@lilypond
-  \score {
-    \notes { d'4 c'4 }
-    \paper { linewidth = -1.0 }
-  }
+
+@cindex fingering
+Similarly, fingering indications can be added to a note using a dash
+(@samp{-}) and the digit to be printed
+
+@lilypond[fragment,quote,verbatim,relative=2]
+c-3 e-5 b-2 a-1
 @end lilypond
 
-This file is produced by ly2dvi in a few stages, with the help of text
-formatting tools. LilyPond produces two output files, @file{miniatures.tex}
-and @file{miniatures-1.tex}.  They both look like this:
 
-@example
-        ...
-  \placebox@{-5  \outputscale @}%
-  @{  8.7229  \outputscale @}%
-  @{\magfontWXGEomMMBo\char90 @}%
-  
-  \placebox@{-4  \outputscale @}%
-  @{ 81.0647  \outputscale @}%
-        ...
-@end example
+Dynamic signs are made by adding the markings (with a backslash) to
+the note
 
-@file{ly2dvi} looks at what output LilyPond produces, and generates a
-file called @file{ly2dvi.out.tex}. This file contains formatting
-instructions for the title and page layout.  A fragment might look like
+@lilypond[fragment,quote,verbatim,relative=2]
+c\ff c\mf
+@end lilypond
 
-@example
+@cindex dynamics
+@cindex decrescendo
+@cindex crescendo
 
-        \def\lilypondopus@{Opus 1.@}
-        \def\lilypondpiece@{Up@}
-        \def\mustmakelilypondtitle@{@}
-        \input miniatures.tex
-        \def\lilypondtitle@{Two miniatures@}
+Crescendi and decrescendi are started with the commands @code{\<} and
+@code{\>}.  An ending dynamic, for example @code{\f}, will finish the
+crescendo, or the command @code{\!} can be used
 
-@end example
+@lilypond[fragment,quote,verbatim,relative=2]
+c2\< c2\ff\> c2 c2\!
+@end lilypond
 
-@file{ly2dvi} runs it through LaTeX. LaTeX is a text-formatting system
-built on top of @TeX{}. It's very popular in the academic world. If LaTeX
-is successful, this will produce a @file{.dvi} file, containing both the
-titling and the actual music.  @code{ly2dvi} completes its task by
-deleting the two temporary files, leaving only @file{miniatures.dvi}.
 
-Next, now we'll look at the example line by line to explain new things.
 
-@separate
-@example 
-\version "1.3.124"
-@end example 
-Lilypond and its language are still under development, and occasionally,
-details of the syntax are changed. This fragment indicates for which
-version the input file was written. When you compile this file, the
-version number will be checked, and you will get a warning when the file
-is too old.
+@cindex slur
 
-This version number is also used by the @code{convert-ly} program (See
-@ref{convert-ly}), which uses it to update the file to the latest lily
-version.
+A slur is a curve drawn across many notes, and indicates legato
+articulation.  The starting note and ending note are marked with
+@samp{(} and @samp{)}, respectively
 
-@separate
-@example
-  \header @{ title = "Two miniatures"  @}
-@end example
-This sets the titling information for the entire file.
+@lilypond[fragment,quote,fragment,relative=2,verbatim]
+d4( c16)( cis d e c cis d e)( d4)
+@end lilypond
 
-@separate
-@example
-        #(set! point-and-click line-column-location)
-@end example
+@cindex slurs versus ties
+A slur looks like a tie, but it has a different meaning.  A tie simply
+makes the first note sound longer, and can only be used on pairs of
+notes with the same pitch.  Slurs indicate the articulations of notes,
+and can be used on larger groups of notes.  Slurs and ties are also
+nested in practice
 
-This piece of Scheme code sets the Scheme variable
-@code{point-and-click} to the value @var{line-column-location} (which
-itself is a Scheme procedure).
+@lilypond[quote,fragment,relative=2]
+c2~( c8 fis fis4 ~ fis2 g2)
+@end lilypond
 
-Editing input files can be quite complicated if you're working with
-large files: if you're digitizing existing music, you have to
-synchronize the .ly file, the sheet music on your lap and the sheet
-music on the screen.  The point-and-click mechanism makes it easy to
-find the origin of an error in the .ly file: when you view the file with
-Xdvi and click on a note, your editor will jump to the spot where that
-note was entered.  For more information, see @ref{Point and click}.
+@cindex phrasing slurs
+Slurs to indicate phrasing can be entered with @code{\(} and
+@code{\)}, so you can have both legato slurs and phrasing slurs at the
+same time.
 
-@separate
-@example
-  \paper @{ 
-@end example
+@lilypond[quote,fragment,relative=2,verbatim]
+a8(\( ais b c) cis2 b'2 a4 cis, c\)
+@end lilypond
 
-The @code{\score} blocks that follow in the file don't have
-@code{\paper} sections, so the settings of this block are substituted: A
-paper block, at top-level, i.e. not in a @code{\score} block sets the
-default page layout.
 
-@separate
-@example
-  linewidth = -1.0 @}
-@end example
+For more information on
 
+@quotation
+@table @asis
+@item Fingering
+see @ref{Fingering instructions}.
+@item Articulations
+see @ref{Articulations}.
+@item Slurs
+see @ref{Slurs}.
+@item Phrasing slurs
+see @ref{Phrasing slurs}.
+@item Dynamics
+see @ref{Dynamics}.
+@end table
+@end quotation
 
 
-The variable @code{linewidth} normally sets the length of the systems on
-the page. However, a negative value has a special meaning. If
-@code{linewidth} is less than 0, no line breaks are inserted into the
-score, and the spacing is set to natural length: a short phrase takes up
-little space, a longer phrase more space.
+@node Combining notes into chords
+@section Combining notes into chords
 
-@separate
-@example
-  \score @{
-    \notes @{ c'4 d'4 @}
-@end example
+@cindex chords
+Chords can be made by surrounding pitches with angle brackets.
+Angle brackets are the symbols @samp{<} and @samp{>}.
 
-In previous examples, notes were specified in relative octaves,
-i.e. each note was put in the octave that would put it closest to its
-predecessor. Besides relative, there is also absolute octave
-specification, which you get when you don't specify @code{\relative}. In
-this input mode, the central C is denoted by @code{c'}. Going down, you
-get @code{c} @code{c,} @code{c,,} etc.  Going up, you get @code{c''}
-@code{c'''} etc.
+@lilypond[quote,relative=1,fragment,verbatim]
+r4 <c e g>4 <c f a>8
+@end lilypond
 
-When you're copying music from existing sheet music, relative octaves
-are probably the easiest to use: it's less typing work and errors are
-easily spotted. However, if you write LilyPond input, either by hand
-(ie. composing) or by computer, absolute octaves are probably less work.
 
+You can combine markings like beams and ties with chords.  They must
+be placed outside the angled brackets
 
-@separate
-@example
-    \header @{
-@end example
+@lilypond[quote,relative=1,fragment,verbatim]
+r4 <c e g>8[ <c f a>]~ <c f a>
+@end lilypond
 
-The @code{\header} is normally at the top of the file, where it sets
-values for the rest of the file. If you want to typeset different pieces
-from one file (for example, if there are multiple movements, or if
-you're making an exercise book), you can put different @code{\score}
-blocks into the input file. ly2dvi will assemble all LilyPond output
-files into a big document. The contents of \header blocks specified
-within each score, are used for the titling of each movement.
-@separate
 @example
-        opus = "Opus 1."
-        piece = "Up" @}
+r4 <c e g>8\>( <c e g> <c e g> <c f a>8\!)
 @end example
-For example, the Opus number is put at the right, and the piece string
-will be at the left.
 
+@lilypond[quote,relative=1,fragment]
+\slurUp
+r4 <c e g>8\>( <c e g> <c e g> <c f a>8\!)
+@end lilypond
 
 
-@node A piano excerpt
-@section A piano excerpt
 
-Our fourth subject is a piece of piano music.  The fragment in the input
-file is a piano reduction of the G major Sinfonia by Giovanni Battista
-Sammartini.  It was composed around 1740.  It's in the source package
-under  the name @file{sammartini.ly}.
 
-@lilypond[verbatim]
-\include "paper16.ly"
+@node Basic rhythmical commands
+@section Basic rhythmical commands
 
-stemDown = \property Voice.Stem \override #'direction = #-1
-stemUp = \property Voice.Stem \override #'direction = #1
-stemBoth = \property Voice.Stem \revert #'direction  
+@cindex pickup
+@cindex anacruse
+@cindex partial measure
+A pickup is entered with the keyword @code{\partial}.  It
+is followed by a duration: @code{\partial 4} is a quarter note upstep
+and @code{\partial 8} an eighth note
 
-viola = \notes \relative c' \context Voice = viola {
-    <c4-\f-\arpeggio g' c>
-    \stemDown g'8. b,16
-    s1 s2. r4
-    g
-}
+@lilypond[quote,relative=2,verbatim,fragment]
+\partial 8
+f8 c2 d e
+@end lilypond
 
-oboes = \notes \relative c'' \context Voice = oboe {
-    \stemUp s4  g8. b,16 c8 r <e'8.^\p g> <f16 a>
-    \grace <e8( g> <d4 )f> <c2 e>
-    \times 2/3 { <d8 \< f> <e g> <f a> }
-    <
-        { \times 2/3 { a8 g c } \! c2 }
-        \context Voice = oboeTwo {
-            \stemDown
-            \grace {
-                \property Grace.Stem \override #'direction = #-1
-                [f,16 g] }
-            f8 e e2
-        }
-    >
-    \stemBoth
-    \grace <c,8( e> <)b8. d8.-\trill> <c16 e> | 
-    [<d ( f> < )f8. a>] <)b,8 d> r [<d16( f> <f8. )a>] <b,8 d> r  |
-    [<c16( e>  < )e8. g>] <c8 e,>
-}
+@cindex tuplets
+@cindex triplets
+Tuplets are made with the @code{\times} keyword.  It takes two
+arguments: a fraction and a piece of music.  The duration of the piece
+of music is multiplied by the fraction.  Triplets make notes occupy
+2/3 of their notated duration, so a triplet has 2/3 as its fraction
 
-hoomPah = \repeat unfold 8 \notes
-    \transpose c' { \stemUp c8 \stemBoth \stemDown c'8 \stemBoth }
-
-bassvoices = \notes \relative c' {
-    c4 g8. b,16
-    \autochange Staff \hoomPah
-    \translator Staff = down
-    \stemDown [c8 c'8] r4
-    <g d'> r4
-    < {\stemUp r2 <e4 c'> <c8 g'> }
-        \context Voice = reallyLow  {\stemDown g2 ~ | g4 c8 } >
-}
+@lilypond[quote,relative=1,verbatim,fragment]
+\times 2/3 { f8 g a }
+\times 2/3 { c r c }
+@end lilypond
 
-\score {
-    \context PianoStaff \notes <
-        \context Staff = up < \time 2/2
-            \viola
-            \oboes
-        >
-        \context Staff = down < \time 2/2 \clef bass
-            \bassvoices
-        >
-    >
-    \midi { }
-    \paper {
-        indent = 0.0
-        linewidth = 15.0 \cm }
-}
+@cindex grace notes
+@cindex acciaccatura
+Grace notes are also made by prefixing a music expression with the
+keyword @code{\appoggiatura} or @code{\acciaccatura}
+@cindex appoggiatura
+@cindex acciaccatura
+
+@lilypond[quote,relative=2,verbatim,fragment]
+c4 \appoggiatura b16 c4
+c4 \acciaccatura b16 c4
 @end lilypond
 
-If this looks like incomprehensible gibberish to you, you are right.
-This example has been doctored to have as many quirks as possible.
+@noindent
 
-As you can see, this example features multiple voices on one staff.  To
-make room for those voices, their notes have to be stemmed in opposite
-directions.
+For more information on
 
-Printed symbols are internally represented by so-called Graphical
-Objects (more colloquially: Grobs).  These statements concern the
-grob called `Stem'. Each grob is described by a bunch of settings. These
-setting determine the fonts, offsets, sub-routines to be called on the
-grob, etc.  The initial values of these settings are set in the Scheme
-file @file{scm/grob-description.scm}.
+@quotation
+@table @asis
+@item Grace notes
+see @ref{Grace notes},
+@item Tuplets
+see @ref{Tuplets},
+@item Pickups
+see @ref{Partial measures}.
+@end table
+@end quotation
 
-@separate
-@example
-  stemDown = \property Voice.Stem \override #'direction = #-1
-@end example
 
-Set a proprerty for all Stem grobs in the current Voice:
-@code{direction} is set to @code{-1}, which encodes down.  The setting
-remains in effect until it is reverted.
+@node Commenting input files
+@section Commenting input files
+
+@cindex comments
+@cindex line comment
+@cindex block comment
+A comment is a remark for the human reader of the music input; it is
+ignored and has no effect on the printed output.  There are two types
+of comments.  The percent symbol @samp{%} introduces a line comment;
+the rest of the line is ignored.  A block comments marks a whole
+section of music input---anything that is enclosed in @code{%@{} and
+@code{%@}} is ignored.  The following fragment shows possible uses for
+comments
 
-@separate
 @example
- \property Voice.Stem \revert #'direction  
-@end example
+% notes for twinkle twinkle follow
+c4 c g' g a a
 
-Revert the to the previous setting.  The effect of precisely one
-@code{\stemDown} or @code{\stemUp} is neutralised.
+%@{
+    This line, and the notes below
+    are ignored, since they are in a
+    block comment.
 
+    g g f f e e d d c2 
+%@}
+@end example
 
-LilyPond includes the identifiers @code{\stemUp}, @code{\stemDown} along
-with some other commonly used formatting instructions, but to explain how
-it works, we wrote our own here.  Of course, you should use predefined
-identifiers like these if possible: then you will be affected less by
-the implementation changes we occasionally make.
+There is a special statement that really is a kind of comment.  The
+version statement marks for which version of LilyPond the file was
+written.  To mark a file for version 2.1.17, use
 
-@separate
-@example 
-viola = \notes \relative c'  \context Voice = viola @{ 
-@end example 
-In this example, you can see multiple parts on a staff.  Each part is
-associated with one notation context.  This notation context handles
-stems and dynamics (among others).  The name of this context is
-@code{Voice}.  For each part we have to make sure that there is
-precisely one @code{Voice} context, so we give it an unique name
-(`@code{viola}').
-
-@separate
-@example 
-<c4-\f-\arpeggio g' c>
-@end example 
-The delimiters @code{<} and @code{>} are shorthands for
-@code{\simultaneous @{} and @code{@}}. The expression enclosed in
-@code{<} and @code{>} is a chord.
+@example
+\version "2.1.17"
+@end example
 
-@cindex dynamics
-@cindex loudness
-@cindex forte
-@cindex arpeggio
+@noindent
+These annotations make future upgrades of LilyPond go more
+smoothly. Changes in the syntax are handled with a special program,
+@file{convert-ly} (see @ref{Invoking convert-ly}), and it uses
+@code{\version} to determine what rules to apply.
 
-@code{\f} places a forte symbol under the chord. The forte applies to
-the whole chord, but the syntax requires that commands like forte and
-arpeggio are attached to a note, so here we attach them to the first
-note.
 
-@code{\arpeggio} typesets an arpeggio sign (a wavy vertical line) before
-the chord.
+@node Printing lyrics
+@section Printing lyrics
+@cindex lyrics
 
-@separate
-@example 
-   \stemDown
-@end example 
+@c TODO: (c) status of the Queen fragment.
 
+@cindex Lyrics
+@cindex Songs
+Lyrics are entered by separating each syllable with a space
 
-@separate
-@example 
-        g'8. b,16 
-@end example 
-Relative octaves work a little differently with chords.  The starting
-point for the note following a chord is the first note of the chord.  So
-the @code{g} gets an octave up quote: it is a fifth above the starting
-note of the previous chord (the central C).
+@example
+I want to break free
+@end example
 
-@separate
-@example 
-s1 s2. r4 
-@end example 
-@code{s} is a spacer rest.  It does not print anything, but it does have
-the duration of a rest. It is useful for filling up voices that
-temporarily don't play. In this case, the viola doesn't come until one
-and a half measure later.
+Consider the melody
 
-@separate
-@example 
-oboes = \notes \relative c'' \context Voice = oboe @{ 
-@end example 
-Now comes a part for two oboes.  They play homophonically, so we
-print the notes as one voice that makes chords. Again, we insure that
-these notes are indeed processed by precisely one context with
-@code{\context}.
-@separate
-@example 
-\stemUp s4  g8. b,16 c8 r <e'8.-\p g> <f16 a> 
-@end example 
-@code{\stemUp} is a reference to the @code{\property \override} command
-defined above. 
-@separate
-@example 
-\grace <e8 g> < d4 f> <c2 e> 
-@end example
-@cindex @code{\grace}
-@cindex ornaments
-@cindex grace notes
+@lilypond[quote,verbatim,fragment,raggedright]
+\relative {
+    r4 c \times 2/3 { f g g }
+    \times 2/3 { g4( a2) }
+}
+@end lilypond
 
-@code{\grace} introduces grace notes.  It takes one argument, in this
-case a chord.
+@c FIXME: when/how/to what rename newlyrics?
+The lyrics can be set to these notes, combining both with the
+@code{\newlyrics} keyword
 
-@ignore
-The slur started on the @code{e} of the chord
-will be attached to the next note.@footnote{LilyPond will squirm
-about unended Slurs.  In this case, you can ignore the warning}.
-@end ignore
-@separate
-@example 
-\times 2/3 
-@end example
-@cindex tuplet
-@cindex triplets
-Tuplets are made with the @code{\times} keyword.  It takes two
-arguments: a fraction and a piece of music.  The duration of the piece
-of music is multiplied by the fraction.  Triplets make notes occupy 2/3
-of their notated duration, so in this case the fraction is 2/3.
-@separate
-@example 
-@{ <d8 \< f> <e g> <f a> @} 
-@end example 
-The piece of music to be `tripletted' is sequential music containing
-three notes.  On the first chord, a crescendo is started with
-@code{\<}. To be precise, the crescendo start is syntactically attached
-to the preceding note, the @code{d}.
+@lilypond[quote,verbatim,fragment,raggedright]
+<<
+  \relative {
+    r4 c \times 2/3 { f g g }
+    \times 2/3 { g4( a2) }
+  }
+  \newlyrics { I want to break free }
+>>
+@end lilypond
 
-@cindex dynamics
-@cindex crescendo
-@cindex @code{\<}
+@cindex melisma
+@cindex extender line
+@c synonyms?
+This melody ends on a @rglos{melisma}, a single syllable (`free')
+sung to more than one note.  This is indicated with an @emph{extender
+line}.  It is entered as two underscores, i.e.,
 
-@separate
-@example 
-< 
+@example
+@{ I want to break free __ @}
 @end example 
-At this point, the homophonic music splits into two rhythmically
-different parts.  We can't use a sequence of chords to enter this, so
-we make a `chord' of sequences to do it.  We start with the upper
-voice, which continues with upward stems:
-@separate
-@example 
- @{ \times 2/3 @{ a8 g c @} \! c2 @} 
-@end example
 
-@cindex @code{\!}
+@lilypond[fragment,quote,raggedright]
+<<
+  \relative {
+    r4 c \times 2/3 { f g g }
+    \times 2/3 { g4( a2) }
+  }
+  \newlyrics { I want to break free __ }
+>>
+@end lilypond
+
+Similarly, hyphens between words can be entered as two dashes,
+resulting in a centered hyphen between two syllables
 
-The crescendo is ended at the half note by the escaped exclamation
-mark @code{\!}.
-@separate
-@example 
-\context Voice = oboeTwo @{
-\stemDown 
-@end example 
-We can't share stems with the other voice, so we have to create a new
-@code{Voice} context.  We give it the name @code{oboeTwo} to distinguish
-it from the other context.  Stems go down in this voice.
-@separate
-@example 
-\grace @{  
+@example
+Twin -- kle twin -- kle
 @end example
-@cindex Grace context
-When a grace section is processed, a @code{Grace} context is
-created. This context acts like a miniature score of its own.  It has
-its own time bookkeeping, and you can make notes, beams, slurs
-etc. Here we fiddle with a property and make a beam.  The argument of
-@code{\grace} is sequential music.
-
-@separate
-@example 
-\property Grace.Stem \override #'direction = #-1
-[f,16 g] @}
-@end example 
 
-Normally, grace notes are always stem up, but in this case, the upper
-voice interferes. We set the stems down here.
+@lilypond[fragment,quote,raggedright]
+<<
+  \relative {
+     \time 2/4
+     f4 f c' c
+   }
+   \newlyrics { Twin -- kle twin -- kle }
+>>
+@end lilypond
 
-As far as relative mode is concerned, the previous note is the
-@code{c'''2} of the upper voice, so we have to go an octave down for
-the @code{f}.
-@separate
-@example 
+More options, like putting multiple lines of lyrics below a melody are
+discussed in @ref{Vocal music}.
 
-  f8 e e2
-@} > 
-@end example 
-This ends the two-part section.
-@separate
-@example 
-\stemBoth
-\grace <c,8( e> <)b8. d8.-\trill> <c16 e> |  
-@end example
-@cindex trill
-@cindex stemBoth
+@c FIXME: too geeky, for notation manual?
+@c or introduce using foo = \lyrics { a b c } ?
 
-@code{\stemBoth} ends the forced stem directions. From here, stems are
-positioned as if it were single part music.
+When using variables for a piece of lyrics
+To prevent certain words (for example `as') as being read as a
+pitch, the input-mode must be switched.  This is done with
+@code{\lyrics}.  In @code{\lyrics} mode, all words are read as lyric
+syllables.
 
-The bass has a little hoom-pah melody to demonstrate parts switching
-between staffs.  Since it is repetitive, we use repeats:
-@separate
-@example 
-hoomPah  =  \repeat unfold 8
-@end example
-@cindex unfolded @code{\repeat}
-The unfolded repeat prints the notes in its argument as if they were
-written out in full eight times.
-@separate
-@example
-\notes \transpose c' @{
-@end example
-@cindex transposing
-@cindex relative mode and transposing
-
-Transposing can be done with @code{\transpose}.  It takes two arguments
-the first specifies what central C should be transposed to.  The second
-is the to-be-transposed music.  As you can see, in this case, the
-transposition has no effect, as central C stays at central C.
-
-The purpose of this no-op is circumventing relative mode.  Relative mode
-can not be used together with transposition, so @code{\relative} will
-leave the contents of @code{\hoomPah} alone.  We can use it without
-having to worry about getting the motive in a wrong octave.
-@separate
-@example 
-bassvoices = \notes \relative c' @{
-c4 g8. b,16
-\autochange Staff \hoomPah 
-@end example
-@cindex staff switch, automatic
-@cindex cross staff voice, automatic
-@cindex @code{\autochange}
-
-Voices can switch between staffs. The easiest way to get this, is to use
-@code{\autochange}. This command looks at the pitch of each note, and if
-necessary, will cross to the other staff. For this to work, the two
-staffs must be called @code{"up"} and @code{"down"}.
-@separate
 @example
-        \translator Staff = down
+myText = \lyrics @{ I want to break free @}
 @end example
-@cindex staff switch
-@cindex cross staff voice
-We want the remaining part of this melody on the lower staff, so we do a
-manual staff switch here.
 
+@noindent
+The braces @code{@{@}} signify that the syllables are sung in
+sequence.
 
-@separate
-@example 
-\context Voice = reallyLow  @{\stemDown g2 ~ | g4 c8 @} > 
-@end example
-@cindex tie
-@cindex @code{~}
-After skipping some lines, we see @code{~}.  This mark makes ties.  Note
-that ties and slurs are different things.  A tie can only connect two
-note heads of the same pitch, whereas a slur can connect many chords
-with one curve.
-
-@separate
-@example 
-\context PianoStaff 
-@end example 
- A special context is needed to get cross staff beaming right.  This
-context is called @code{PianoStaff}.
-@separate
-@example 
-\context Staff = bottom < \time 2/2 \clef bass 
-@end example 
-The bottom staff must have a different clef.
-@separate
-@example 
-indent = 0.0 
-@end example 
-To make some more room on the line, the first (in this case the only)
-line is not indented.  The line still looks very cramped, but that is due
-to the page layout of this document.
+@ignore
+By default, music expressions are interpreted in @code{Staff} context.  For
+lyrics, this is obviously not desirable, so it is necessary
+to explicitly specify a @code{Lyrics} context,
 
+@example
+\lyrics @{ I want to break free @}
+@end example
 
-@ignore
-[TODO:
+The melody for this song is as follows
 
-* font-size, multi-stanza.
+@lilypond[fragment,quote,fragment,relative=2]
+r4 c \times 2/3 { f4 g g }
+\times 2/3 { g4( a2) }
+@end lilypond
 
-* Simple part combining in a Hymn
 @end ignore
 
 
-@node An orchestral score
-@section An orchestral score
+@node A lead sheet
+@section A lead sheet
 
-@menu
-* The full score::              
-* Extracting an individual part::  
-@end menu
+@cindex Lead sheets
+@cindex chords
+@cindex chord names
 
+In popular music, it is common to denote accompaniment as chord names.
+Such chords can be entered like notes,
 
-Our last two examples show a way to setup the music for an orchestral
-score.  When typesetting a piece for several instruments, you'll want to
-create a conductor's full score, alongside several individual parts.
+@example
+c2 f4. g8
+@end example
 
-LilyPond is well suited for this task.  We will declare the music for
-each instrument individually, giving the music of each instrument its
-own name.  These pieces of music are then combined in different
-@code{\score} blocks to produce different combinations of the score.
+@noindent
+but now, each pitch is read as the root of a chord instead of a note.
+This mode is switched on with @code{\chords}
 
-This orchestral score example consists of three input files.  In the
-first file, @file{os-music.ly}, we define the music for all instruments.
-This file will be used both for producing the score and the separate
-parts.
+@lilypond[quote,verbatim,raggedright]
+\chords { c2 f4. g8 }
+@end lilypond
 
-If you were to run lilypond on this file, no printable output would be
-produced.
+Other chords can be created by adding modifiers after a colon.  The
+following example shows a few common modifiers
 
-@example
-% os-music.ly
-\header @{
-  title = "Zo, goed lieverd?"
-  subtitle = "How's, this babe?"
-  composer = "JCN"
-  opus = "1"
-  piece = "Laid back"
-@}
-global = @{
-  \time 2/4
-  \skip 2*4 \bar "|."
-@}
-Key = \notes \key as \major
-flautoI = \notes\relative c'' @{
-  f8 g f g f g f g
-  bes as bes as bes as bes as
-@}
-flautoII = \notes\relative c'' @{
-  as8 bes as bes R1 d4 ~ d
-@}
-tromboI = \notes\relative c'' @{
-  c4. c8 c8 c4. es4 r as, r
-@}
-tromboII = \notes\relative c'' @{
-  as4. as8 as8 as4. R1*1/2 as4 es'
-@}
-timpani = \notes\relative c, @{
-  \times 2/3 @{ f4 f f @}
-  \times 4/5 @{ as8 as as as as @}
-  R1
-@}
-corno = \notes\relative c' @{
-   bes4 d f, bes d f, bes d
-@}
-@end example
+@lilypond[quote,verbatim]
+\chords { c2 f4:m g4:maj7 gis1:dim7 }
+@end lilypond
 
-We will not go through the input line by line, but only indicate and
-explain the new elements.
+For lead sheets, chords are not printed on staves, but as names on a
+line of themselves.  Hence, we have to override the context with
+@code{\new}, rendering the music expression in a @code{ChordNames}
+context
 
+@lilypond[quote,verbatim]
+\new ChordNames \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
+@end lilypond
+
+@cindex lead sheet
+When put together, chord names, lyrics and a melody form
+a lead sheet, for example,
 
-@separate
 @example
-global = @{
-  \time 2/4
-  \skip 2*4 \bar "|.";
+<<
+  \new ChordNames \chords @{ @emph{chords} @}
+  @emph{the melody}
+  \newlyrics @{ @emph{the text} @}
+>>
 @}
 @end example
 
-Declare setting to be used globally.  The @code{\skip} command produces
-no output, but moves forward in time: in this case, the duration of a
-half note (@code{2}), and that four times (@code{*4}).  This brings us
-to the end of the piece, and we can set the end bar.
-
-@separate
-@example
-Key = \notes \key as \major
-@end example
-Declare the key signature of the piece and assign it to the identifier
-@var{Key}.  Lateron, we'll use @code{\Key} for all staffs except those
-for transposing instruments.
+@lilypond[quote,raggedright]
+<<
+  \new ChordNames \chords { r2 c:sus4 f } 
+  \relative {
+    r4 c' \times 2/3 { f g g }
+    \times 2/3 { g4( a2) }
+  }
+ \newlyrics { I want to break free __ }
+>>
+@end lilypond
 
-@node The full score
-@subsection The full score
+A complete list of modifiers and other options for layout can be found
+in @ref{Chords}.
 
+@c FIXME: we talk about \midi before mentioning \paper (or \layout?)
+@node Listening to output
+@section Listening to output
 
-The second file, @file{os-score.ly} reads the definitions of the first
-(@file{os-music.ly}), and defines the @code{\score} block for the full
-conductor's score.
+@cindex sound
+@cindex MIDI
 
+MIDI (Musical Instrument Digital Interface) is a standard for
+connecting and controlling digital instruments.  A MIDI file is like a
+tape recording of a MIDI instrument.
 
-@example
-% os-score.ly
-\include "os-music.ly"
-\include "paper13.ly"
+To create a MIDI from a music piece of music, add a @code{\midi}
+block. This causes LilyPond to create a MIDI file, so you can listen
+to what you just entered.  It is great for checking the music.
+Octaves that are off or accidentals that were mistyped stand out very
+much when listening to the musical transcription.
 
-#(set! point-and-click line-column-location)
-#(define text-flat '((font-relative-size . -2)
-         (music "accidentals--1")))
+The @code{\midi} block is added to @code{\score}, for example,
 
+@example 
 \score @{
-  <
-    \global
-    \property Score.BarNumber \override #'padding = #3
-    \context StaffGroup = woodwind <
-      \context Staff = flauti <
-        \property Staff.midiInstrument = #"flute"
-        \property Staff.instrument = "2 Flauti"
-        \property Staff.instr = "Fl."
-        \Key
-        \context Voice=one @{ \voiceOne \flautoI @}
-        \context Voice=two @{ \voiceTwo \flautoII @}
-      >
-    >
-    \context StaffGroup = timpani <
-      \context Staff = timpani <
-        \property Staff.midiInstrument = #"timpani"
-        \property Staff.instrument = #'(lines "Timpani" "(C-G)")
-        \property Staff.instr = #"Timp."
-        \clef bass
-        \Key
-        \timpani
-      >
-    >
-    \context StaffGroup = brass <
-      \context Staff = trombe <
-       \property Staff.midiInstrument = #"trumpet"
-        \property Staff.instrument = #`(lines "2 Trombe" "(C)")
-        \property Staff.instr = #`(lines "Tbe." "(C)")
-        \Key
-        \context Voice=one \partcombine Voice
-          \context Thread=one \tromboI
-          \context Thread=two \tromboII
-      >
-      \context Staff = corni <
-        \property Staff.midiInstrument = #"french horn"
-        \property Staff.instrument = #`(lines "Corno"
-          (rows "(E" ,text-flat ")"))
-        \property Staff.instr = #`(lines "Cor."
-          (rows "(E" ,text-flat ")"))
-        \property Staff.transposing = #3
-        \notes \key bes \major
-        \context Voice=one \corno
-      >
-    >
-  >
-  \paper @{
-    indent = 15 * \staffspace
-    linewidth = 60 * \staffspace
-    textheight = 90 * \staffspace
-    \translator@{
-      \VoiceContext
-      \consists "Multi_measure_rest_engraver"
-    @}
-    \translator@{
-      \HaraKiriStaffContext
-      \remove "Multi_measure_rest_engraver"
-    @}
-  @}
-  \midi @{
-    \tempo 4 = 75
-  @}
+    @var{...music...}
+    \midi @{ \tempo 4=72 @}
 @}
-@end example
-
-@center @strong{Zo, goed lieverd?}
-@sp 1
-@center How's, this babe?
-@flushright
-Opus 1.
-@end flushright
-@flushleft
-@sc{Laid back}
-@end flushleft
+@end example 
 
-@lilypondfile{os-score.ly}
+Here, the tempo is specified using the @code{\tempo} command.  In this
+case the tempo of quarter notes is set to 72 beats per minute.  More
+information on auditory output in the notation manual can be found in
+@ref{Sound}.
 
-@separate
-@example
-\include "os-music.ly"
-@end example
-First, we need to include the music definitions we made in
-@file{os-music.ly}.
+If there is a @code{\midi} command in a @code{\score}, only MIDI will
+be produced.  If notation is needed too, a @code{\paper} block must be
+added
 
-@separate
-@example
-#(set! point-and-click line-column-location)
-@end example
-In a large orchestral score like this you're bound to make some small
-mistakes, so we enable point and click (See @ref{Point and click})
-editing.
+@example 
+\score @{
+    @var{...music...}
+    \midi @{ \tempo 4=72 @}
+    \paper @{ @}
+@}
+@end example 
+@cindex paper block
 
-@separate
-@example
-#(define text-flat '((font-relative-size . -2)
-         (music "accidentals--1")))
-@end example
 
-When naming the tuning of the french horn, we'll need a piece of text
-with a flat sign.  LilyPond has a mechanism for font selection and
-kerning called Scheme markup text (See @ref{Text markup}).  The flat
-sign is taken from the music font, and its name is @code{accidentals--1}
-(The sharp sign is called @code{accidentals-+1}).  The default font is
-too big for text, so we select a relative size of @code{-2}.
+@node Adding titles
+@section Adding titles
 
-@separate
-@example
-  <
-    \global
-@end example
-Of course, all staffs are simultaneous and use the same global settings.
+Bibliographic information is entered in a separate block, the
+@code{\header} block.  The name of the piece, its composer, etc., are
+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,
 
-@separate
-@example
-    \property Score.BarNumber \override #'padding = #3
-@end example
-LilyPond prints bar numbers at the start of each line, but
-unfortunately, they end up a bit too close to the staff in this example.
-A bar number internally is a Grob called @var{BarNumber}.  BarNumber
-Grobs can be manipulated through their @var{side-position-interface}.  One
-of the properties of a @var{side-position-interface} that can be tweaked
-is the @var{padding}: the amount of extra space that is put between this
-Grob and other Grobs.  We set the padding to three staff spaces.
-
-You can find all this kind of information in LilyPond's automatically
-generated documentation in
-@ifnottex
-@ref{ (lilypond-internals)lilypond-internals, LilyPond Internals}.
-@end ifnottex
-@iftex
-the online documentation.
-@end iftex
-
-@separate
-@example
-    \context StaffGroup = woodwind <
-      \context Staff = flauti <
-@end example
-A new notation context: the StaffGroup.  StaffGroup can hold one or more
-Staffs, and will print a big bracket at the left of the score.  Start a
-new staff group for the woodwind section (just the flutes in this case).
-Immediately after that, we start the staff for the two flutes, that also
-play simultaneously.
-
-@separate
-@example
-        \property Staff.midiInstrument = #"flute"
-@end example
-Specify the instrument for MIDI output (see @ref{MIDI instrument
-names}).
+@example 
+\header @{
+  title = "Eight miniatures" 
+  composer = "Igor Stravinsky"
+  tagline = "small is beautiful"
+@}
 
-@separate
-@example
-        \property Staff.instrument = "2 Flauti"
-        \property Staff.instr = "Fl."
+@{ @dots{} @}
 @end example
-And define the instrument names to be printed in the margin,
-@code{instrument} for the first line of the score, @code{instr} for the
-rest of the score.
 
-@separate
-@example
-        \Key
-@end example
-The flutes play in the default key.
+@cindex bibliographic information
+@cindex titles
+@cindex composer
+@cindex Engraved by LilyPond
 
-@separate
-@example
-        \context Voice=one @{ \voiceOne \flautoI @}
-        \context Voice=two @{ \voiceTwo \flautoII @}
-@end example
-Last come the actual flute parts.  Remember that we're still in
-simultaneous mode.  We name both voices differently, so that LilyPond
-will actually create two Voice contexts.  The flute parts are simple, so
-we specify manually which voice is which: @code{\voiceOne} forces the
-direction of stems, beams, slurs and ties up, @code{\voiceTwo} sets
-directions down.
-
-@separate
-@example
-      >
-    >
-@end example
-Close the flutes staff and woodwind staff group.
+When the file is processed the title and composer are printed above
+the music.  The `tagline' is a short line printed at bottom of the last
+page which normally says `Engraved by LilyPond, version @dots{}'.  In
+the example above it is replaced by the line `small is
+beautiful.'@footnote{Nicely printed parts are good PR for us, so
+please leave the tagline if you can.}
 
-@separate
-@example
-        \property Staff.instrument = #'(lines "Timpani" "(C-G)")
-@end example
-The timpani staff only shows a new piece of scheme markup, it sets two
-lines of text.
 
-@separate
-@example
-        \context Voice=one \partcombine Voice
-          \context Thread=one \tromboI
-          \context Thread=two \tromboII
-@end example
-You have seen the notation contexts Staff and Voice, but here's a new
-one: Thread.  One or more Threads can be part of a Voice.  The Thread
-takes care of note heads and rests, the Voice combine note heads onto a
-stem.
-
-For the trumpets we use the automatic part combiner (see @ref{Automatic
-part combining}) to combine the two simultaneous trumpet parts onto the
-trumpet staff.  Each trumpet gets its own Thread context, which must be
-named @code{one} and @code{two}).  The part combiner makes these two
-threads share a Voice when they're similar, and splits the threads up
-when they're different.
-
-@separate
-@example
-       \property Staff.instrument = #`(lines "Corno"
-          (rows "(E" ,text-flat ")"))
-@end example
-The french horn has the most complex scheme markup name, made up of two
-lines of text.  The second line has two elements (rows), the @code{E}
-and the flat sign @code{text-flat} that we defined before.
+The @code{\header} block is usually put at the top of the file.
 
-@separate
-@example
-        \property Staff.transposing = #3
-@end example
-The french horn is to be tuned in E-flat, so we tell the MIDI backend to
-transpose this staff by three steps.
+A document may contains multiple pieces of music, examples are an
+etude book, or an orchestral part with multiple movements.
+@c FIXME: ugh.  \header can only live at toplevel, or inside \score.
+@c If we allow it also to live inside \book, we do not need \score here?
+The @code{\book} block is used to group the individual @code{\score}
+blocks.
 
-Note how we can choose different tuning for entering, printing and
-playing, using @code{\transpose} and the MIDI Staff proprerty
-@var{transposing}.
+The header for each piece of music can be put inside the @code{\score}
+block.  The @code{piece} name from the header will be printed before
+each movement.
 
-@separate
-@example
-        \notes \key bes \major
-@end example
-Therefore, it has a different key.
+@ignore
 
-@separate
-@example
-    indent = 15 * \staffspace
-    linewidth = 60 * \staffspace
-@end example
-We specify a big indent for the first line and a small linewidth for this
-tutorial.
+FIXME: introduce \BOOK
 
-@separate
+FIXME: Using "Adagio" as a name is confusing, it's more common to be
+a plain tempo indication.
 
-Usually, LilyPond's predefined setup of notation contexts (Thread,
-Voice, Staff, Staffgroup, Score) is just fine.  But in this case, we
-want a different type of Staff context.
+Since today (CVS-1.211) we also allow headers and composite music
+inside book:
 
-In orchestral scores, it often happens that one instrument has only
-rests during one line of the score.  The @code{HaraKiriStaffContext} can
-be used as a regular @code{StaffContext} drop-in and will take care of
-the automatic removing of empty staffs.
+  \header { ... }
+  \book {
+    \header { ... }
+    { ... }
+    \header { ... }
+    { ... }
+  }
 
-@node Extracting an individual part
-@subsection Extracting an individual part
+@end ignore
 
-The third file, @file{os-flute-2.ly} also reads the definitions of the
-first (@file{os-music.ly}), and defines the @code{\score} block for the
-second flute part.
+@cindex Engraved by LilyPond
+@cindex signature line
+@cindex tag line
 
-@example
-\include "os-music.ly"
-\include "paper16.ly"
+@example 
+\header @{
+  title = "Eight miniatures" 
+  composer = "Igor Stravinsky"
+  tagline = "small is beautiful"
+@}
 
-\score @{
-  \context Staff <
-    \property Score.skipBars = ##t
-    \property Staff.midiInstrument = #"flute"
-    \global
-    \Key
-    \flautoII
-  >
-  \header @{
-    instrument = "Flauto II"
-  @}
-  \paper @{
-    linewidth = 80 * \staffspace
-    textheight = 200 * \staffspace
+\book @{
+  \score @{
+    @dots{}
+    \header @{ piece = "Adagio" @}
   @}
-  \midi @{
-    \tempo 4 = 75
+  \score @{
+    @dots{}
+    \header @{ piece = "Menuetto" @}
   @}
 @}
 @end example
 
-@center @strong{Zo, goed lieverd?}
-@sp 1
-@center How's, this babe?
-@center @emph{Flauto II}
-@flushright
-Opus 1.
-@end flushright
-@flushleft
-@sc{Laid back}
-@end flushleft
-@lilypondfile{os-flute-2.ly}
-
-
-Because we separated the music definitions from the @code{\score}
-instantiations, we can easily define a second score from the music of
-the second flute.  This then is the part for the second flute player.
-Of course, we make separate parts for all individual instruments.
-
-@separate
-@example
-    \flautoII
-@end example
-In this individual part the second flute has a whole staff for itself,
-so we don't want to force stem or tie directions.
+More information on titling can be found in @ref{Invoking lilypond}.
 
-@separate
-@example
-  \header @{
-    instrument = "Flauto II"
-  @}
-@end example
-The @code{\header} definitions were also read from @file{os-music.ly},
-but we need to set the instrument for this particular score.
 
-@separate
-@example
-    \property Score.skipBars = ##t
-@end example
-In the conductor's full score, all bars with rests are printed, but for
-the individual parts, we want to contract pieces of consecutive empty
-bars.  LilyPond will do this if Score's @var{skipBars} property to
-true. 
+@node Single staff polyphony
+@section Single staff polyphony
 
+@cindex polyphony
+@cindex multiple voices
+@cindex voices, more -- on a staff
+When different melodic lines are combined on a single staff they are
+printed as polyphonic voices; each voice has its own stems, slurs and
+beams, and the top voice has the stems up, while the bottom voice has
+them down.
 
-@node Other ways to run LilyPond
-@section Other ways to run LilyPond
+Entering such parts is done by entering each voice as a sequence (with
+@code{@{...@}}), and combining those simultaneously, separating the
+voices with @code{\\}
 
-Until now, you have been using @file{ly2dvi} to invoke LilyPond.
-There are three other routes.  Firstly, there is a script called
-@code{lilypond-book}, that allows you to freely mix LilyPond input with
-Texinfo or LaTeX input. For example, this manual was written using
-@code{lilypond-book}. It is discussed in @ref{lilypond-book}.
+@lilypond[quote,verbatim,relative=3]
+<< { a4 g2 f4~ f4 } \\
+   { r4 g4 f2 f4 } >>
+@end lilypond
 
+For polyphonic music typesetting, spacer rests can also be convenient; these
+are rests that do not print.  It is useful for filling up voices that
+temporarily do not play.  Here is the same example with a spacer rest
+instead of a normal rest---just use @samp{s} instead of @samp{r}
 
-Secondly, you can generate PostScript directly. This is useful if you
-can not or do not want to run @TeX{} on your system.  To obtain direct
-PostScript output, invoke LilyPond as follows:
-@cindex PostScript output
-@example
-lilypond -f ps test.ly
-@end example
-You have to set some environment variables to view or print this
-output. More information can be found in @ref{Invoking
-LilyPond}.
+@lilypond[quote,verbatim,relative=3]
+<< { a4 g2 f4~ f4 } \\
+   { s4 g4 f2 f4 } >>
+@end lilypond
 
+@noindent
+Again, these expressions can be nested arbitrarily
+
+@lilypond[quote,fragment,verbatim,relative=3]
+<<
+  \new Staff <<
+    { a4 g2 f4~ f4 } \\
+    { s4 g4 f2 f4 }
+  >>
+  \new Staff <<
+    \clef bass
+    { <c, g>1 ~ <c g>4 } \\
+    { f4 d e2 ~ e4}
+  >>
+>>
+@end lilypond
 
-Thirdly, if you want to do special things with your output, you can run
-invoke lilypond directly:
-@example
-lilypond test.ly
-@end example
-to produce plain @TeX{} output.  Note that La@TeX{} will not work on the
-resulting @file{test.tex}.  You must run plain @TeX{} on it.
+More features of polyphonic typesetting in the notation manual are
+described in @ref{Polyphony}.
 
-@cindex @TeX{}
 
+@node Piano staves
+@section Piano staves
 
+@cindex staff switch, manual
+@cindex cross staff voice, manual
+@cindex @code{\context}
+Piano music is typeset in two staves connected by a brace.  Printing
+such a staff is similar to the polyphonic example in @ref{More staves},
 
+@example
+<< \new Staff @{ @dots{} @}
+   \new Staff @{ @dots{} @} >>
+@end example
 
+@noindent
+but now this entire expression must be interpreted as a
+@code{PianoStaff}
 
-@node Integrating text and music
-@section Integrating text and music
+@example
+\new PianoStaff << \new Staff @dots{} >>
+@end example
 
-Sometimes, you might want to use music examples in a text that you are
-writing. For example, if you are writing a musicological treatise, a
-songbook, or (like us) the LilyPond manual.  You can make such texts by
-hand, simply by importing a PostScript figure into your wordprocessor.
-However, there is a also an automated procedure:
+Here is a full-fledged example
 
-If you use La@TeX{} or texinfo, you can mix text and lilypond code. A
-script called @code{lilypond-book} will extract the music fragments, run
-lilypond on them, and put back the resulting notation.  lilypond-book is
-described fully in @ref{lilypond-book}, but here we show a small
-example. Since the example also contains explanatory text, we won't
-comment on the contents.
+@lilypond[quote,verbatim,relative=1,fragment]
+\new PianoStaff <<
+  \new Staff { \time 2/4 c4 c g' g }
+  \new Staff { \clef bass c,, c' e c }
+>>
+@end lilypond
 
-@example
-\documentclass[a4paper]@{article@}
-\begin@{document@}
+More information on formatting piano music is in @ref{Piano music}.  
 
-In a lilypond-book document, you can freely mix music and text. For
-example:
-\begin@{lilypond@}
-  \score @{ \notes \relative c' @{
-     c2 g'2 \times 2/3 @{ f8 e d @} c'2 g4
-  @} @}
-\end@{lilypond@}
-Notice that the music line length matches the margin settings of the
-document.
 
-If you have no \verb+\score+ block in the fragment,
-\texttt@{lilypond-book@} will supply one:
+@node Organizing larger pieces
+@section Organizing larger pieces
 
-\begin@{lilypond@}
-  c'4
-\end@{lilypond@}
+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,
+more deeply nested.  Such large expressions can become unwieldy.
 
-In the example you see here, a number of things happened: a
-\verb+\score+ block was added, and the line width was set to natural
-length. You can specify many more options using  \LaTeX style options
-in brackets:
+By using variables, also known as identifiers, it is possible to break
+up complex music expressions.  An identifier is assigned as follows
 
-\begin[verbatim,11pt,singleline,
-  fragment,relative,intertext="hi there!"]@{lilypond@}
-  c'4 f bes es
-\end@{lilypond@}
-
-\texttt@{verbatim@} also shows the lilypond code, \texttt@{11pt@} selects
-the default music size, \texttt@{fragment@} adds a score block,
-\texttt@{relative@} uses relative mode for the fragment, and
-\texttt@{intertext@} specifies what to print between the
-\texttt@{verbatim@} code and the music.
+@example
+namedMusic = @{ @dots{} @}
+@end example
 
-If you include large examples into the text, it may be more convenient
-to put the example in a separate file:
+@noindent
+The contents of the music expression @code{namedMusic}, can be used
+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
 
-\lilypondfile[printfilename]@{sammartini.ly@}
+@lilypond[quote,raggedright,verbatim,nofragment]
+seufzer = {
+  e'4( dis'4)
+}
+{ \seufzer \seufzer }
+@end lilypond
 
-The \texttt@{printfilename@} option adds the file name to the output.
+The name of an identifier should have alphabetic characters only;
+no numbers, underscores or dashes.  The assignment should be outside of
+running music.
 
-\end@{document@}
-@end example
+It is possible to use variables for many other types of objects in the
+input.  For example,
 
-Under Unix, you can view the results as follows.
 @example
-$ cd input/tutorial
-$ lilypond-book --outdir=out/ lilbook.tex
-lilypond-book (GNU LilyPond) 1.3.146
-Reading `/home/hanwen/usr/src/lilypond-1.3.146/input/tutorial/lilbook.tex'
-Reading
-`/home/hanwen/usr/src/lilypond-1.3.146/input/tutorial/sammartini.ly'
-@var{lots of stuff deleted}
-Writing `out/lilbook.latex'
-$ cd out
-$ latex lilbook.latex
-@var{lots of stuff deleted}
-$ xdvi lilbook 
+width = 4.5\cm
+name = "Wendy"
+aFivePaper = \paper @{ paperheight = 21.0 \cm @}
 @end example
 
-Notice the @code{outdir} option to lilypond-book. Running lilypond-book
-and running latex creates a lot of temporary files, and you wouldn't
-those to clutter up your working directory. Hence, we have them created
-in a separate subdirectory.
+Depending on its contents, the identifier can be used in different
+places.  The following example uses the above variables
 
-The result more or less looks like this: 
+@example
+  \paper @{
+    \aFivePaper
+    linewidth = \width
+  @}
+  @{ c4^\name @}
+@end example
 
-@separate
+More information on the possible uses of identifiers is in the
+technical manual, in TODO.
 
-In a lilypond-book document, you can freely mix music and text. For
-example:
-@lilypond
-  \score { \notes \relative c' {
-     c2 g'2 \times 2/3 { f8 e d } c'2 g4
-  } }
-@end lilypond
-Notice that the music line length matches the margin settings of the
-document.
 
-If you have no @code{\score} block in the fragment,
-@code{lilypond-book} will supply one:
+@node An orchestral part
+@section An orchestral part
 
-@lilypond
-  c'4
-@end lilypond
+In orchestral music, all notes are printed twice; in a part for
+the musicians, and in a full score for the conductor.  Identifiers can
+be used to avoid double work. The music is entered once, and stored in
+a variable.  The contents of that variable is then used to generate
+both the part and the score.
 
-In the example you see here, a number of things happened: a
-@code{\score} block was added, and the line width was set to natural
-length. You can specify many more options using  La@TeX{} style options
-in brackets:
+It is convenient to define the notes in a special file.  For example,
+suppose that the file @file{horn-music.ly} contains the following part
+of a horn/bassoon duo
 
-@lilypond[verbatim,11pt,singleline,
-  fragment,relative,intertext="hi there!"]
-  c'4 f bes es
-@end lilypond
+@example
+hornNotes =  \relative c @{
+  \time 2/4
+  r4 f8 a cis4 f e d
+@}
+@end example
 
-@code{verbatim} also shows the lilypond code, @code{11pt} selects
-the default music size, @code{fragment} adds a score block,
-@code{relative} uses relative mode for the fragment, and
-@code{intertext} specifies what to print between the
-@code{verbatim} code and the music.
+@noindent
+Then, an individual part is made by putting the following in a file
 
-If you include large examples into the text, it may be more convenient
-to put the example in a separate file:
+@example
+\include "horn-music.ly"
+\header @{
+  instrument = "Horn in F"
+@}
 
-@lilypondfile[printfilename]{sammartini.ly}
+@{
+ \transpose f c' \hornNotes
+@}
+@end example
 
-The @code{printfilename} option adds the file name to the output.
-@node  end of tutorial
-@section The end        
-         
-That's all folks.  From here, you can either try fiddling with input
-files, or you can read the reference manual.  You can find more example
-files in @file{input} and @file{input/test}.  You can also look at some
-real music.  Have a look at the @uref{Mutopia project,
-http://www.mutopiaproject.org}.
+The line
 
+@example
+\include "horn-music.ly"
+@end example
+
+@noindent
+substitutes the contents of @file{horn-music.ly} at this position in
+the file, so @code{hornNotes} is defined afterwards.  The command
+@code{\transpose f@tie{}c'} indicates that the argument, being
+@code{\hornNotes}, should be transposed by a fifth downwards. Sounding
+@samp{f} is denoted by notated @code{c'}, which corresponds with
+tuning of a normal French Horn in@tie{}F.  The transposition can be seen
+in the following output
+
+@lilypond[quote,raggedright]
+  \transpose f c' \relative c {
+    \time 2/4
+    r4 f8 a cis4 f e d
+  }
+@end lilypond
 
+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
+duration, longer rests can be constructed.  For example, this rest
+takes 3@tie{}measures in 2/4 time
 
-@ignore
+@example
+R2*3
+@end example
 
-[TODO
+When printing the part, multi-rests
+must be condensed.  This is done by setting a run-time variable
 
-this should be on mutopia website.
+@example
+\set Score.skipBars = ##t
+@end example
 
-]
+@noindent
+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]
+\transpose f c' \relative c {
+    \time 2/4
+    \set Score.skipBars = ##t 
+    R2*3
+    r4 f8 a cis4 f e d
+  }
+@end lilypond
 
-@c waar deze info?  is uiteindelijk wel handig, schat ik.
-[TODO: cut blabla]
 
-If you have a big music project, or just a lot of LilyPond input files,
-all generated output from LilyPond, @TeX{} and metafont will clutter
-your working directory.  LilyPond comes with a one-size-fits-all
-pre-cooked makefile that helps you manage producing output.  It will
-produce all output in the directory @file{out} , generate and track
-dependencies. Also, it helps in preparing your submission to @ref{Mutopia
-project}.
+The score is made by combining all of the music together.  Assuming
+that the other voice is in @code{bassoonNotes} in the file
+@file{bassoon-music.ly}, a score is made with
 
-@file{make/ly.make}
 @example
-mkdir my-project
-cd my-project
-cp /usr/share/lilypond/make/ly.make GNUmakefile
-cp /usr/share/doc/lilypond/examples/input/tutorial/menuet.ly .
-make menuet
-[..]
-Generated out/menuet.ps for target menuet.
+\include "bassoon-music.ly"
+\include "horn-music.ly"
+
+  <<
+    \new Staff \hornNotes
+    \new Staff \bassoonNotes
+  >>
 @end example
 
-Type @samp{make help} to see possible targets.
+@noindent
+leading to 
 
-[TODO]
-@file{/usr/share/lilypond/doc/lilypond/examples/input/mutopia-header.ly}
+@lilypond[quote,raggedright]
+  \relative c <<
+    \new Staff {
+      \time 2/4 R2*3
+      r4 f8 a cis4 f e d
+    }
+    \new Staff {
+      \clef bass
+      r4 d,8 f | gis4 c | b bes |
+      a8 e f4 | g d | gis f
+    }
+  >>
+@end lilypond
 
+More in-depth information on preparing parts and scores can be found
+in the notation manual; see @ref{Orchestral music}.
 
+Setting run-time variables (`properties') is discussed in ref-TODO.
 
 
+@node Integrating text and music
+@section Integrating text and music
 
-[TODO: rewrite completely.]
+@cindex La@TeX{}, music in
+@cindex HTML, music in
+@cindex Texinfo, music in
+Some texts include music examples.  Examples are musicological
+treatises, songbooks or manuals like this.  Such texts can be made by
+hand, simply by importing a PostScript figure into the word processor.
+However, there is an automated procedure to reduce the amount of work
+involved HTML, La@TeX{}, and Texinfo documents.
+
+A script called @code{lilypond-book} will extract the music fragments,
+run format them, and put back the resulting notation.  This program is
+fully described in @ref{lilypond-book manual}.  Here we show a small
+example.  The example also contains explanatory text, so we will not
+comment on it further
 
-@menu
-* Songs with additional verses::  
-@end menu
+@example
+\documentclass[a4paper]@{article@}
+\begin@{document@}
 
+Documents for lilypond-book may freely mix music and text.  For
+example,
 
-So what does this look like? Well, here is an example:
-@li lypond[veryverbatim, intertext="produces this music:"]
-\score{
-  \notes\relative c'{
-    \time 5/8
-    [e16( g b c a g][e a b d] | )e2 d,8 |
-    [e16( g b c a g][e a b d] | )b2 [a16( f] |
-    [e a b d] )e4 c8 | [es16( bes a as g es][d c b! )g] |
-    [f( a b d b a][f a b d] | )e2
-  }
-}
-@end lilypond
-If you are lucky, the above example show a nice feature of LilyPond
-and La@TeX{}. Since LilyPond can output the music as @TeX{} graphics,
-La@TeX{} can insert pagebreaks between the lines of music.
-
-Notice that there is no @code{\paper} statement in the example
-above. Lilypond-book will insert some code for you that defines the
-linewidth and the font to use. If you don't want to change the default, 
-there is no need to put an empty @code{\paper@{@}} inside the @code{\score}.
-In the example above, something like this might be inserted before your code:
-@example
-\include "paper16.ly"
-\paper@{ \paper_sixteen
-    linewidth = 390.\pt
-@}
-@end example
-The actual values for linewidth will differ depending on papersize and
-number of columns. Also, if you use a different fontsize for the
-music, another file than @code{paper16.ly} should be included.
-
-If you want to make the music not so wide, you can insert a
-@code{\paper} statement to set the linewidth:
-
-@li lypond[veryverbatim, intertext="produces this music:"]
-\score{
-  \notes\relative c'{
-    \time 5/8
-    [e16( g b c a g][e a b d] | )e2 d,8 |
-    [e16( g b c a g][e a b d] | )b2 [a16( f] |
-    [e a b d] )e4 c8 | [es16( bes a as g es][d c b! )g] |
-    [f( a b d b a][f a b d] | )e2
-  }
-  \paper{linewidth = 10.\cm }
-}
-@end lilypond
+\begin@{lilypond@}
+ @{ \relative c' @{
+     c2 g'2 \times 2/3 @{ f8 e d @} c'2 g4
+  @} 
+\end@{lilypond@}
 
-Very often, if you mix music and text, the music is often only a 
-few notes or at most a few bars. This music should be as short as
-possible and not stretched to be aligned to the right margin.
+Options are put in brackets.
 
-If you only write voice-contents in the lilypond block, @command{lilypond-book}
-will set the @code{linewidth} variable to -1, so Lilypond
-will make the music as short as possible but without breaking the
-line. Here is a well know harmonic progression:
-@li lypond[veryverbatim, intertext="produce a well known harmonic progression:"]
-  \context Voice { <c' e g> <b d g> <c2 e g> }
-@end lilypond
+\begin[fragment,quote,staffsize=26,verbatim]@{lilypond@}
+  c'4 f16
+\end@{lilypond@}
 
-If you want to place music examples in the text,
-@li lypond[eps]
-  \context Voice {  <c' e g> <b d g> <c2 e g> }
-@end lilypond
-, you can use the @code{eps} option. This will create the music as
-eps graphics and include it into the document with the 
-@code{\includegraphics} command.
+Larger examples can be put in a separate file, and introduced with
+\verb+\lilypondfile+.
 
-The code used look like this:
-@example
-@@li lypond[eps]
- \context Voice @{ <c' e g> <b d g> <c2 e g> @}
-@@end lilypond
-@end example
+\lilypondfile[quote,noindent]@{screech-boink.ly@}
 
-You can also use the @code{eps} option if the block is a complete
-lilypond source. This 5 cm long empty line, 
-@li lypond[eps]
-\score{
-  \notes{s}
-  \paper{ linewidth = 5.\cm }
-}
-@end lilypond
-was created with this code:
-@example
-@@li lypond[eps]
-\score@{
-  \notes@{s@}
-  \paper@{ linewidth = 5.\cm@}
-@}
-@@end lilypond
+\end@{document@}
 @end example
 
-To avoid that La@TeX{} places the music on a line of its one, there should
-be no empty lines between the normal text and the lilypond
-environment. 
+Under Unix, you can view the results as follows
 
-You can also use @code{lilypondfile}, to include another file:
 @example
-        @@li lypondfile[printfilename]@{foo.ly@}
+$ cd input/tutorial
+$ mkdir -p out/
+$ lilypond-book --output=out/ lilybook.tex
+lilypond-book (GNU LilyPond) 2.1.19
+Reading `input/tutorial/lilybook.tex'
+Reading `input/screech-boink.ly'
+@var{lots of stuff deleted}
+Writing `out/lilybook.tex'
+$ cd out
+$ latex lilybook
+@var{lots of stuff deleted}
+$ xdvi lilybook 
 @end example
 
-@subsection Fontsize options
+To convert the file into a nice PDF document, run the following
+commands
 
-You can use all lilypond fontsizes in @command{lilypond-book}.  The
-default 16pt fontsize is probably to big to be included in the middle of
-the text, 11pt or 13pt is probably better.
-
-The code can look like this:
 @example
-@@li lypond[13pt, eps]
-<c' e g>
-@@end lilypond
+$ dvips -Ppdf -u+lilypond -u+ec-mftrace lilybook
+$ ps2pdf lilybook.ps
 @end example
 
-The following options set the fontsize:
-@itemize
-@item @code{11pt}
-@li lypond[11pt, eps]
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-@end lilypond
-@item @code{13pt}
-@li lypond[13pt, eps]
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-@end lilypond
-@item @code{16pt}
-@li lypond[16pt, eps]
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-@end lilypond
-@item @code{20pt}
-@li lypond[20pt, eps]
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-    [d16 g, a b][c a b g][d'8 g f-\prall g]
-  }
-@end lilypond
-@item @code{26pt}
-@li lypond[26pt, eps]
-  \relative c'{
-    r16 [c d e][f d e c] [g'8 c][b-\prall c] |
-  }
-@end lilypond
-@end itemize
-
-
-@subsection More options
-
-@itemize
-@item The @code{singleline} option sets @code{linewidth} to -1.0.
-@item The @code{multiline} option sets @code{linewidth} to a value letting
-the music be aligned to the right margin. The music can span several
-lines. 
-@end itemize
-
-@subsection Just in case...
-The options @code{fragment} and @code{nofragment} will override
-@command{lilypond-book} when it scans the lilypond code to see if it is voice
-contents or complete code. This might be useful if @command{lilypond-book} choose
-wrong. 
-
-Since there is no finder's fee which doubles every year, there is no
-need to wait for the price money to grow. So send a bug report today
-if you need this one of these options.
-
-@subsection Examples
-
-This was all options to @code{\begin}. The rest of the lilypond
-document will show some ways you can use lilypond in
-La@TeX{} documents. It will also act as a simple test-suite for
-lilypond-book. You can place @code{eps} lilypond in and marginspars just
-as any other included eps graphics.
-
-@li lypond
-\score{
-  \notes\relative c'{ 
-        \time 12/8
-        r4-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--]
-        [f16-.( )f-. dis8-- gis16-.( )gis-.] cis4.-\fermata |
-        
-        r4.-\fermata [cis,16 cis g'8 f16 f b8][g16 g f8 b16 b] dis4.-\fermata
-  }
-  \paper{linewidth = 7.\cm}
-}
-@end lilypond
+Running lilypond-book and running latex creates a lot of temporary
+files, which would clutter up the working directory.  To remedy this,
+use the @code{--output=@var{dir}} option.  It will create the files in
+a separate subdirectory @file{dir}.
 
+Finally the result of the La@TeX{} example shown above.@footnote{Note
+that in this tutorial the example is processed with Texinfo.  This gives
+slightly different results in layout.}  This finishes the tutorial
+section.
 
-To the right you can see some bars from the trumpet fanfara from the
-beginning of the fantastic street opera ``Houdini the Great'', by the
-Danish composer Andy Pape. The music is put inside a
-@code{floatingfigure} environment, and the music will be aligned by
-the right margin if you set floatingfigure width and lilypond linewidth
-to the same value. The code looks like this:
-
-@li lypond[verbatim]
-\score{
-  \notes\relative c'{ 
-    \time 12/8
-    r4.-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--]
-    [f16-.( )f-. dis8-- gis16-.( )gis-.] cis8.-\fermata |
-        
-    r4.-\fermata [cis,16 cis g'8 f16 f b8]
-    [g16 g f8 b16 b] dis4.-\fermata
-  }
-  \paper{linewidth = 7.\cm }
+@page
+
+Documents for lilypond-book may freely mix music and text.  For
+example,
+
+@lilypond
+\relative c' {
+  c2 g'2 \times 2/3 { f8 e d } c'2 g4
 }
 @end lilypond
 
-If you have a lot of small music examples like this in the middle of
-your text, you might get a nicer look by using ``double'' line
-spacing. Put the @code{\linespread@{1.6@}} command into the preamble of
-your document. Then the line spacing will not be increased between the
-lines where you have music printed with the smallest font size.
-
-Lilypond-book does know about @code{\onecolumn} and @code{\twocolumn}. 
-So the music will be adjusted to the new linewidth:
+Options are put in brackets.
 
-Verbatim environments will also ignore the page margins. That is
-a feature of La@TeX{}. (But you usually put things inside a verbatim
-environment when you don't want La@TeX{} to do any linebreaking)
+@lilypond[fragment,quote,staffsize=26,verbatim]
+c'4 f16
+@end lilypond
 
-@end ignore
+Larger examples can be put in a separate file, and introduced with
+@code{\lilypondfile}.
 
+@lilypondfile[quote,noindent]{screech-boink.ly}