]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/tutorial.itely
Add stubs for glossary for articulation and anacrusis.
[lilypond.git] / Documentation / user / tutorial.itely
index 02a1b992be8eda91f167c4847522820b57933c0b..8b5e570b5b2805b19af699cbda9dfbfe6575cd11 100644 (file)
-@c -*-texinfo-*-
-
+@c -*- coding: utf-8; mode: texinfo; -*-
+@c This file is part of lilypond.tely
+@ignore
+    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+
+@ignore
+Tutorial guidelines:
+- unless you have a really good reason, use either
+    @l ilypond[quote,ragged-right,verbatim]
+  or
+    @l ilypond[quote,ragged-right,verbatim,fragment,relative=2]
+  (without spaces)
+  Don't use any other relative=X commands (make it a non-fragment
+  example), and don't use fragment without relative=2.
+- use "aes" and "ees" instead of "as" and "aes".  I know it's not
+  correct Dutch naming, but let's not confuse people with this until
+  we get to the Basic notation chapter.
+@end ignore
+
+
+
+@c   old info that will probably be removed.
 @c TODO:
 @c   * more details about running lilypond; error messages,
 @c     compiling/viewing (emacs?)
-@c   * where to go from  First steps+More basics?
+@c   * where to go from First steps+More basics?
 
-@node Tutorial
-@chapter Tutorial
+@c  wherever possible, do not include index entries here; the
+@c  index should point to stuff in the reference manual.  -gp
 
-@html
-<!--- @@WEB-TITLE@@=Tutorial --->
-@end html
+@c Your first LilyPond score in 10 minutes?
 
-@menu
-* First steps::                 Music language of LilyPond.
-* Running LilyPond::            Printing music.
-* More basics::                 
-* Printing lyrics::             
-* A lead sheet::                
-* Listening to output::         
-* Titling ::                    
-* Single staff polyphony  ::    
-* Piano staffs::                
-* Setting variables::           
-* Fine tuning layout::          
-* Organizing larger pieces::    
-* An orchestral part::          
-* Integrating text and music::  Integrating text and music.
-@end menu
+@node Tutorial
+@chapter Tutorial
 
-Printing music with LilyPond is a two step process.  First, the music
-to be printed is described in a text file.  After that, LilyPond reads
-this @emph{input file} that describes the music and produces an
-@emph{output file} that can be printed or viewed.
+This tutorial starts with an introduction to the LilyPond music
+language and how to produce printed music.  After this first contact we
+will explain how to create common musical notation.
 
-This tutorial starts with a short introduction to the LilyPond music
-language.  After this first contact, we will show you how to to
-produce printed output, normally using the program @code{ly2dvi}.  You
-should then be able to create and print your first sheets of music.
-Before starting out, it will be convenient for you to print
 @ifhtml
-the
+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,ragged-right,relative=2]
+c-\markup { \bold \huge { Click here.  } }
+@end lilypond
+
+By cutting and pasting everything from the @qq{Start cut-&-pastable-section}
+to the end of the file, you have a
+starting template for experiments.  If you like learning in this way,
+you will probably want to print out or bookmark the
+@ref{Cheat sheet}, which is a table listing of the most common
+commands for quick reference.
 @end ifhtml
-@ref{Cheat sheet}, which is a table listing all commands for quick
-reference.
 
+@menu
+* First steps::                 
+* Single staff notation::       
+* Multiple notes at once::      
+* Songs::                       
+* Final touches::               
+@end menu
 
 
 @node First steps
 @section First steps
 
-We start off by showing how very simple music is entered in LilyPond:
-you get a note simply by typing its @htmlref{note name}, from @samp{a}
-through @samp{g}.  So if you enter
+This section gives a basic introduction to working with LilyPond.
+
+@menu
+* Compiling a file::            
+* Simple notation::             
+* Working on text files::       
+* How to read the tutorial::    
+@end menu
+
+
+@node Compiling a file
+@subsection Compiling a file
+
+The first example demonstrates how to start working with LilyPond.  To
+create sheet music, we write a text file that specifies the
+notation.  For example, if we write
 
 @example
-c d e f g a b
+@{
+  c' e' g' e'
+@}
 @end example
 
 @noindent
-then the result looks like this:
-
-@c ?
-@c \transpose c c' { c d e f g a b }
-@c @lily pond[notime]
-@c \property Score.timing = ##f
-@lilypond[notime, relative=2]
-c d e f g a b
+the result looks like this
+
+@lilypond[quote,ragged-right]
+{
+  c' e' g' e'
+}
 @end lilypond
 
-We will continue with this format: First we show a snippet of input,
-then the resulting output.
+@strong{Warning:} Every piece of LilyPond input needs to have @strong{@{ curly
+braces @}} placed around the input.  The braces should be also be
+surrounded by a space unless they are at the beginning or end of a
+line to avoid ambiguities.  These may be omitted in some examples in this
+manual, but don't forget them in your own music!
+
+@cindex Case sensitive
+In addition, LilyPond input is @strong{case sensitive}.  @code{ @{ c d e @} }
+is valid input; @code{ @{ C D E @} } will produce an error message.
+
+@sp 1
+
+@subheading Entering music and viewing output
+
+In this section we will explain what commands to run
+and how to view or print the output.
+
+@subsubheading MacOS X
+
+If you double click LilyPond.app, it will open with an example
+file. Save it, for example, to @file{test.ly} on your Desktop, and
+then process it with the menu command @samp{Compile > Typeset File}.
+The resulting PDF file will be displayed on your screen.
+
+Be warned that the first time you ever run lilypond will take a minute
+or two because all of the system fonts have to be analyzed first.
 
-The length of a note is specified by adding a number, @samp{1} for a
-@rglos{whole note}, @samp{2} for a @rglos{half note}, and so on:
+For future use of LilyPond, you should begin by selecting "New"
+or "Open".
+
+@subsubheading Windows
+
+On Windows, start up a text-editor@footnote{Any simple or
+programmer-oriented editor with UTF-8 support will do, for example
+Notepad.  Do not use a word processor, since these insert formatting
+codes that will confuse LilyPond.} and enter
+
+@verbatim
+{
+  c' e' g' e'
+}
+@end verbatim
+
+Save it on the desktop as @file{test.ly} and make sure that it is not
+called @file{test.ly.TXT}.  Double clicking @file{test.ly} will process
+the file and show the resulting PDF file.
+
+
+@subsubheading Unix
+
+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 they have not been
+installed already, refer to the file @file{INSTALL.txt}.  These
+easiest editing environment is @file{LilyPondTool}.  See
+@ref{Editor support} for more information.}.  In your
+text editor, enter the following input and save the file as
+@file{test.ly}
+
+@verbatim
+{
+  c' e' g' e'
+}
+@end verbatim
+
+@noindent
+To process @file{test.ly}, proceed as follows
 
 @example
-a1 a2 a4 a16 a32
+lilypond test.ly
 @end example
 
-@lilypond[notime]
-\property Score.timing = ##f
-\property Staff.autoBeaming = ##f
-\transpose c c' { a1 a2 a4 a16 a32 s16_" " }
-@end lilypond
-
-If you do not specify a @rglos{duration}, the previous one is used: 
+@noindent
+You will see something resembling
 
 @example
-a4 a a2 a
+lilypond test.ly
+GNU LilyPond 2.10.0
+Processing `test.ly'
+Parsing...
+Interpreting music... [1]
+Preprocessing graphical objects...
+Calculating line breaks... [2]
+Layout output to `test.ps'...
+Converting to `test.pdf'...
 @end example
 
-@lilypond[notime]
-\property Score.timing = ##f
-\transpose c c' { a a a2 a s16_" " }
+@cindex PDF file
+@cindex Viewing music
+
+@noindent
+The result is the file @file{test.pdf} which you can print or view
+with the standard facilities of your operating system.@footnote{If
+your system does not have any tools installed, you can try
+@uref{http://@/www@/.cs@/.wisc@/.edu/@/~ghost/,Ghostscript}, a freely
+available package for viewing and printing PDF and PostScript files.}
+
+
+@node Simple notation
+@subsection Simple notation
+
+LilyPond will add some notation elements automatically.  In the next
+example, we have only specified four pitches, but LilyPond has
+added a clef, time signature, and rhythms.
+
+@lilypond[quote,ragged-right,verbatim]
+{
+  c' e' g' e'
+}
 @end lilypond
 
-A @rglos{sharp} (@texisharp{}) is made by adding @samp{is}, a
-@rglos{flat} (@texiflat{}) 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.}
+@noindent
+This behavior may be altered, but in most cases these automatic values
+are useful.
 
-@example
-cis1 ees fisis aeses
-@end example
 
-@lilypond[notime]
-\property Score.timing = ##f
-\transpose c c' { cis1 ees fisis aeses s16_" " }
+@subheading Pitches
+
+The easiest way to enter notes is by using @code{\relative} mode.  In
+this mode, the @rglos{interval} between the previous note and the
+current note is assumed to be within a @rglos{fourth}.  We begin by
+entering the most elementary piece of music, a @rglos{scale}.
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c' {
+  c d e f
+  g a b c
+}
 @end lilypond
 
-Add a dot @samp{.} after the duration to get a @rglos{dotted note}:
+The initial note is @rglos{middle C}.  Each successive note
+is within a fourth of the previous note -- in other words, the first
+@samp{c} is the closest C to middle C.  This is followed by the closest
+D to the previous note.  We can create melodies which have larger intervals:
 
-@example
-a2. a4 a8. a16
-@end example
+@lilypond[quote,ragged-right,verbatim]
+\relative c' {
+  d f a g
+  c b f d
+}
+@end lilypond
 
-@lilypond[notime]
-\property Score.timing = ##f
-\transpose c c' { a2. a4 a8. a16 s16_" " }
+@noindent
+As you may notice, this example does not start on middle C.  The first
+note -- the @samp{d} -- is the closest D to middle C.
+
+To add intervals that are larger than a fourth, we can raise the octave
+by adding a single quote @code{'} (or apostrophe) to the note name.  We can
+lower the octave by adding a comma @code{,} to the note name.
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  a a, c' f,
+  g g'' a,, f'
+}
 @end lilypond
 
-Entering pitches and durations is fully explained in @ref{Pitches} and
-@ref{Durations}.
+@noindent
+To change a note by two (or more!) octaves, we use multiple @code{''} or
+@code{,,} -- but be careful that you use two single quotes @code{''} and
+not one double quote @code{"}@tie{}!  The initial value in
+@code{\relative c'} may also be modified like this.
 
 
-The @rglos{meter} (or @rglos{time signature}) can be set with the
-@code{\time} command:
+@subheading Durations (rhythms)
 
-@example
-\time 3/4
-\time 6/8
-\time 4/4
-@end example
+The @rglos{duration} of a note is specified by a number after the note
+name.  @samp{1} for a @rglos{whole note}, @samp{2} for a @rglos{half note},
+@samp{4} for a @rglos{quarter note} and so on.  Beams are added
+automatically.
 
-@c a clef here may lead to confusion
-@lilypond
-\property Staff.Clef \set #'transparent = ##t 
-\time 3/4
-s4_" "
-\time 6/8
-s4_" "
-\time 4/4
-s16_" "
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  a1
+  a2 a4 a8 a
+  a16 a a a a32 a a a a64 a a a a a a a a2
+}
 @end lilypond
 
-Time signatures and other timing commands are described in @ref{Time
-signature}.
+@noindent
+If you do not specify a duration, the previous duration is used
+for the next note.  The duration of the first note defaults to a quarter.
 
+To create @rglos{dotted notes}, add a dot @samp{.} to the duration number.
 
-The @rglos{clef} can be set using the @code{\clef} command:
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  a a a4. a8
+  a8. a16 a a8. a8 a4.
+}
+@end lilypond
 
-@c what is more common name treble or violin?
-@c in Dutch, its violin.
-@c in English its definitely treble.
-@example
-\clef treble
-\clef bass
-\clef alto
-\clef tenor
-@end example
 
-@lilypond[notime]
-\property Score.timing = ##f
-\clef violin
-s4_" "
-\clef bass
-s4_" "
-\clef alto
-s4_" "
-\clef tenor
-s16_" "
+@subheading Rests
+
+A @rglos{rest} is entered just like a note with the name @samp{r}:
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  a r r2
+  r8 a r4 r4. r8
+}
 @end lilypond
 
-Clefs are fully explained in @ref{Clef}.
 
+@subheading Time signature
 
-These commands must be enclosed in @code{\notes @{@dots{}@}}.  This
-indicates that music (as opposed to @rglos{lyrics}) follows:
+The @rglos{time signature}) can be set with the @code{\time} command:
 
-@example
-\notes @{
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
   \time 3/4
-  \clef bass
-  c2 e4 g2.
-  f4 e d c2.
-@}
-@end example
-Now the piece of music is almost ready to be printed.  The final step is to
-combine the music with a printing command.
+  a4 a a
+  \time 6/8
+  a4. a
+  \time 4/4
+  a4 a a a
+}
+@end lilypond
 
-The printing command is the so-called @code{\paper} block.  Later on
-you will see that the @code{\paper} block is used to customize
-printing specifics.  The music and the @code{\paper} block are combined by
-enclosing them in @code{\score @{ ... @}}.  This is what a full source file looks like:
 
-@example
-\score @{
-  \notes @{
-    \time 3/4
-    \clef bass
-    c2 e4 g2.
-    f4 e d c2.
-  @}
-  \paper @{ @}
-@}
-@end example
+@subheading Clef
 
-@lilypond[noindent]
-\score {
-  \notes {
-     \time 3/4
-     \clef bass
-     c2 e4 g2.
-     f4 e d c2.
-  }
-  \paper {
-    linewidth = 55 * \staffspace
-  }
+The @rglos{clef} can be set using the @code{\clef} command:
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c' {
+  \clef treble
+  c1
+  \clef alto
+       c1
+  \clef tenor
+  c1
+  \clef bass
+  c1
 }
 @end lilypond
 
 
-@node Running LilyPond
-@section Running LilyPond
+@subheading All together
 
-In the last section we explained what kind of things you could enter
-in a LilyPond file.  In this section we 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.
+Here is a small example showing all these elements together:
 
-Begin by opening a terminal window and starting a text editor.
-For example, you could open an xterm and execute @code{joe}.  In your
-text editor, enter the following input and save the file as
-@file{test.ly}:
+@lilypond[quote,ragged-right,verbatim]
+\relative c, {
+  \time 3/4
+  \clef bass
+  c2 e8 c' g'2.
+  f4 e d c4 c, r4
+}
+@end lilypond
 
+@moreinfo
 @quotation
-@example
-\score @{
-  \notes @{ c'4 e' g' @}
-@} 
-@end example
+@table @asis
+@item Entering pitches and durations
+see @ref{Pitches} and @ref{Durations}.
+@item Rests
+see @ref{Rests}.
+@item Time signatures and other timing commands
+see @ref{Time signature}.
+@item Clefs
+see @ref{Clef}.
+@end table
 @end quotation
 
-@cindex ly2dvi
 
-@c now this is weird, running ly2dvi to run LilyPond
-@c (therefore name change proposal) 
+@node Working on text files
+@subsection Working on text files
 
-LilyPond is the program that computes the sheet music. All other
-things, such as adding titles, page breaking and other page layout,
-are done by a small wrapper program called
-@code{ly2dvi}. @code{ly2dvi} calls LilyPond to render the music, and
-then adds the titling and page layout instructions.  To process
-@file{test.ly} with @code{ly2dvi}, proceed as follows:
+LilyPond input files are treated like files in most programming languages:
+they are case sensitive, white-space insensitive, expressions are
+formed with curly braces @{ @}, and comments are denoted with @code{%} or
+@code{%@{ .. %@}}.
 
-@quotation
-@example
-ly2dvi -p test.ly
-@end example
-@end quotation
+If the previous sentence sounds like nonsense, don't worry!  We'll explain
+what all these terms mean:
 
-You will see the following on your screen:
+@itemize
 
-@quotation
-@example
-GNU LilyPond 1.7.16
-Now processing: `/home/fred/ly/test.ly'
-Parsing...
-Interpreting music...[1]
- @emph{ ... more interesting stuff ... }
-PDF output to `test.pdf'...
-DVI output to `test.dvi'...
-@end example
-@end quotation
-@cindex DVI file
-@cindex Viewing music
-@cindex xdvi
-
-The results of the ly2dvi run are two files, @file{test.dvi} and
-@file{test.pdf}.  The PDF file (@file{test.pdf}) is the one you can
-print or view.  For example, viewing PDF can be done with ghostview.
-If a version of ghostview is installed on your system, one of these
-commands will produce a window with some music notation on your
-screen:
-@c eeek
-@quotation
+@cindex Case sensitive
+@item @strong{Case sensitive}:
+it matters whether you enter a letter
+in lower case (i.e. @code{a, b, s, t}) or upper case (i.e.
+@code{A, B, S, T}).  Notes are lower case: @code{ @{ c d e @} }
+is valid input; @code{ @{ C D E @} } will produce an error message.
+
+@item @strong{Whitespace insensitive}:
+it does not matter how many
+spaces (or new lines) you add.  @code{ @{ c d e @}} means the same thing
+as @code{ @{ c @ @ @ @ @  d e @} } and
 @example
-  gv test.pdf
-  ghostview test.pdf
-  ggv test.pdf
-  kghostview test.pdf
-  xpdf test.pdf
-  gpdf test.pdf
+          @{
+c                        d
+  e @}
 @end example
-@end quotation
-If the music on your screen looks good, you can print it by clicking
-File/Print inside ghostview.
-
-The DVI file (@file{test.dvi}) contains the same sheet music in a
-different format. DVI files are more easily processed by the computer,
-so viewing them usually is quicker.  You can run @code{xdvi test.dvi}
-@c KDVI doesn't grok the PS specials.
-@c or
-@c @code{kdvi test.dvi}
-@c
-to view the DVI file. In Xdvi, the mouse buttons
-activate magnifying glasses.  Unfortunately, variable symbols (such as
-beams and slurs) are not displayed in the magnifying glasses.
-
-
-@cindex Ghostscript
-@cindex @code{lpr}
-@cindex Printing output
-@cindex PostScript
-@cindex PDF
-
-If you are familiar with @TeX{}, be warned: do not use other DVI
-drivers like @code{dvilj}.  LilyPond DVI use embedded PostScript code
-and will not render correctly with other DVI drivers besides
-@code{dvips}.
-
-@cindex dvips
-@cindex dvilj
-@cindex DVI driver
-
-
-Various commands for formatting and printing music are detailed in
-@ref{Invoking LilyPond}.
-
-
-@unnumberedsubsec Windows users
-
-On Windows,  the terminal is started by clicking on the LilyPond or
-Cygwin icon.  Any text editor (such as NotePad, Emacs or Vim) may be
-used to edit the LilyPond file.  When Cygwin's @code{XFree86} X11
-window system is installed along with @code{tetex-x11} and
-@code{ghostscript-x11} packages, then the @code{dvi} output may be
-viewed with @code{xdvi test.dvi} as described above.  If you have
-installed a PostScript/PDF viewer, such as @code{GSView} from
-@uref{http://www.cs.wisc.edu/~ghost}, viewing the PDF file can be done
-with:
-@quotation
+
+@noindent
+Of course, the previous example is hard to read.  A good rule of thumb
+is to indent code blocks with either a tab or two spaces:
 @example
-@code{gsview32 test.pdf}
+@{
+  c d e
+@}
 @end example
-@end quotation
-Printing may be done by executing
-@quotation
+
+@item @strong{Expressions:}
+Every piece of LilyPond input needs to have
+@strong{@{ curly braces @}} placed around the input.  These braces tell
+LilyPond that the input is a single music expression, just like
+parenthesis @samp{()} in mathematics.  The braces should
+be surrounded by a space unless they are at the beginning or end of a
+line to avoid ambiguities.
+
+A function (such as @code{\relative @{ @}} ) also counts as a single
+music expression.
+
+@cindex comments
+@cindex line comment
+@cindex block comment
+@item @strong{Comments}:
+A comment is a remark for the human reader of the music input; it is
+ignored while parsing, so it has no effect on the printed output.
+There are two types of comments.  The percent symbol @samp{%}
+introduces a line comment; anything after @samp{%} on that line is
+ignored.  A block comment marks a whole section of music
+input as a comment.  Anything that is enclosed in @code{%@{} and @code{%@}} is
+ignored.  The following fragment shows possible uses for comments
+
 @example
-@code{gsview32 /s test.pdf}
+% notes for twinkle twinkle follow
+  c4 c g' g a a g2
+
+%@{
+    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
-@end quotation
 
+@end itemize
 
-@node More basics
-@section More basics 
+There are more tips for constructing input files in
+@ref{Suggestions for writing LilyPond files}.
 
-We continue with the introduction of more musical constructs.  Normal
-rests are entered just like notes with the name ``@code{r}'':
 
-@quotation
+@node How to read the tutorial
+@subsection How to read the tutorial
+
+As we saw in @ref{Working on text files}, LilyPond input must be
+surrounded by @{ @} marks or a @code{\relative c'' @{ ... @}}.  For the
+rest of this manual, most examples will omit this.
+
+If you are reading the HTML documentation and wish to see the exact
+exact LilyPond code that was used to create the example, simply click
+on the picture.  If you are not reading the HTML version, you could
+copy and paste the displayed input, but you @strong{must} add the
+@code{\relative c'' @{ @}} like this:
+
 @example
-r2 r4 r8 r16
+\relative c'' @{
+  ... example goes here...
+@}
 @end example
 
-@lilypond[fragment]
-\property Score.timing = ##f
-\property Staff.Clef = \turnOff
-\property Staff.TimeSignature = \turnOff
-r2 r4 r8 r16
-s16_" "
-@end lilypond
-@end quotation
-@separate
+Why omit the braces?  Most examples
+in this manual can be inserted into the middle of a longer piece of
+music.  For these examples, it does not make sense to add
+@code{\relative c'' @{ @}} -- you should not place a @code{\relative}
+inside another @code{\relative}, so you would not be able to copy
+a small documentation example and paste it inside a longer piece
+of your own.
 
-Rests are described in full detail in @ref{Rests}. 
 
+@node Single staff notation
+@section Single staff notation
 
-@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...
+This section introduces common notation that is used for one voice
+on one staff.
 
-@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'}:
+@menu
+* Relative note names::         
+* Accidentals and key signatures::  
+* Ties and slurs::              
+* Articulation and dynamics::   
+* Automatic and manual beams::  
+* Advanced rhythmic commands::  
+@end menu
 
-@quotation
-@example
-c'4 c'' c''' \clef bass c c,
-@end example
 
-@lilypond[fragment]
-\property Score.timing = ##f
-\property Staff.TimeSignature = \turnOff
-c'4 c'' c''' \clef bass c c,
+@node Relative note names
+@subsection Relative note names
+
+As we saw in @ref{Simple notation}, LilyPond calculates the pitch of
+each note relative to the previous one@footnote{There is another mode of
+entering pitches, @ref{Absolute note names}, but in practice relative
+mode is much easier and safer to use.}.  If no extra octave marks
+(@code{'} and @code{,}) are added, it assumes that each pitch is within
+a fourth of the previous note.
+
+LilyPond examines pitches based on the note names -- in other words,
+an augmented fourth is @emph{not} the same as a diminished fifth.  If we
+begin at a C, then an F-sharp will be placed a higher than the C, while
+a G-flat will be placed lower than the C.
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c2 fis
+c2 ges
 @end lilypond
-@end quotation
-@separate
 
-A tie is created by adding a tilde ``@code{~}'' to the first note
-being tied.
+@moreinfo
 @quotation
-@lilypond[fragment,verbatim]
-g'4-~ g' a'2-~ a'4
-@end lilypond
+@table @asis
+@item Relative octaves
+see @ref{Relative octaves}.
+@item Octave check
+see @ref{Octave check}.
+@end table
 @end quotation
-@separate
-A tie is different from a slur. 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:
-@lilypond[fragment, relative=1]
-c2-~-( c8 fis fis4 ~ fis2 g2-)
+
+
+
+@node Accidentals and key signatures
+@subsection Accidentals and key signatures
+
+@subheading Accidentals
+
+A @rglos{sharp} pitch is made by adding @samp{is} to
+the name, and a @rglos{flat} 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.  To use other names for accidentals, see
+@ref{Note names in other languages}.}
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+cis1 ees fisis, aeses
 @end lilypond
 
-The notation manual discusses ties in @ref{Ties}.
+@cindex key signature, setting
+@subheading Key signatures
 
-The key signature is set with the command ``@code{\key}'', followed by
-a pitch and  @code{\major} or @code{\minor}:
-@quotation
-@example
-\key d \major
-g'1
-\key c \minor
-g'
-@end example
+The key signature is set with the command @code{\key} followed by
+a pitch and @code{\major} or @code{\minor}.
 
-@lilypond[fragment]
-\property Staff.TimeSignature = \turnOff
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \key d \major
-g'1
+a1
 \key c \minor
-g'
+a
 @end lilypond
-@end quotation
 
+@sp 1
 
+@subheading Warning: key signatures and pitches
 
-@c bit on the long/complex/scary taste
-@c cheating a bit: two lines makes for a friendlier look
-This example shows notes, ties, octave marks, and rests in action.
+To determine whether to print an accidental, LilyPond examines the
+pitches and the key signature.  The key signature only effects
+the @emph{printed} accidentals, not the actual pitches!  This is a
+feature that often causes confusion to newcomers, so let us explain it
+in more detail.
 
-@quotation
-@example
-\score @{
-  \notes @{
-    \time 4/4
-    \key d \minor
-    \clef violin
-    r4 r8 d''8 cis''4 e''
-    d''8 a'4.-~ a' b'8
-    cis''4 cis''8 cis'' bis'4 d''8 cis''-~
-    cis''2 r2
-  @}
-  \paper @{ @}
-@}
-@end 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
+@emph{printed} flat, natural or sharp 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.
 
-@lilypond
-\score {
-  \notes {
-    \time 4/4
-    \clef violin
-    \key d \minor
-    r4 r8 d''8 cis''4 e''
-    d''8 a'4.-~ a' b'8
-    cis''4 cis''8 cis'' bis'4 d''8 cis''-~
-    cis''2 r2
-  }
-  \paper { linewidth = 50*\staffspace }
-}
+In this example
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\key d \major
+d cis fis
 @end lilypond
-@end quotation
 
-@c accidentals...
-There are some interesting points to note in this example.
-Accidentals (sharps and flats) do not have to be marked explicitly:
-you just enter the note name, and an accidental is printed
-automatically, only when necessary.  Bar lines and beams are drawn
-automatically.  Line breaks are calculated automatically; it does not
-matter where the lines breaks are in the source file. Finally, the
-order of time, key and clef changes is not relevant: in the printout,
-these are ordered using standard notation conventions.
-
-The example also indicates that a piece of music written in a high
-register needs lots of quotes.  This makes the input less readable,
-and is also a potential 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.  You must also give a
-note from which relative starts, in this case @code{c''}.  If you do
-not use octavation quotes (i.e. do not add ' or , after a note),
-relative mode chooses the note that is closest to the previous one.
-@c do not use commas or quotes in this sentence
-For example: @code{c f} goes up; @code{c g} goes down:
+@noindent
+No note has a printed accidental, but you must still add the @samp{is} to
+@code{cis} and @code{fis}.
 
-@quotation
-@example
-\relative c'' @{
-  c f c g c
-@}
-@end example
+The code @samp{e} does not mean @qq{print a black dot just below the
+first line of the staff.}  Rather, it means: @qq{there is a note with
+pitch E-natural.}  In the key of A-flat major, it @emph{does} get an
+accidental:
 
-@lilypond[fragment]
-\property Score.timing = ##f
-\property Staff.TimeSignature = \turnOff
-\relative c'' {
-  c f c g c
-}
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\key aes \major
+e
 @end lilypond
-@end quotation
-@separate
 
+Adding all alterations explicitly might require a little more effort
+when typing, but the advantage is that transposing is easier, and
+accidentals can be printed according to different conventions.  See
+@ref{Automatic accidentals} for some examples how accidentals can be printed
+according to different rules.
 
-Since most music has small intervals, in relative mode pieces can be
-written almost without using octavation quotes.
-
-@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.  Quotes or
-commas do not determine the absolute height of a note; the height of a
-note is relative to the previous one.
-@c do not use commas or quotes in this sentence
-For example: @code{c f,} goes down; @code{f, f} are both the same;
-@code{c' c} are the same; and @code{c g'} goes up:
-
+@moreinfo
 @quotation
-@example
-\relative c'' @{
-  c f, f c' c g' c,
-@}
-@end example
-
-@lilypond[fragment]
-\property Score.timing = ##f
-\property Staff.TimeSignature = \turnOff
-\relative c'' {
-  c f, f c' c g' c,
-}
-@end lilypond
+@table @asis
+@item Accidentals
+see @ref{Accidentals} and @ref{Automatic accidentals}.
+@item Key signature
+see @ref{Key signature}.
+@end table
 @end quotation
-@separate
 
 
-Here is an example of the difference between relative mode and
-``normal'' (non-relative) mode:
+@node Ties and slurs
+@subsection Ties and slurs
 
-@quotation
-@example
-\relative a @{
-\clef bass
-  a d a e d c' d'
-@}
-@end example
+@cindex ties
+@subheading Ties
+A @rglos{tie} is created by appending a tilde @samp{~} to the first
+note being tied
 
-@lilypond[fragment]
-\property Score.timing = ##f
-\property Staff.TimeSignature = \turnOff
-\relative a {
-\clef bass
-  a d a e d c' d'
-}
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+g4~ g c2~
+c4 ~ c8 a8 ~ a2
 @end lilypond
-@end quotation
-@separate
 
-@quotation
-@example
-\clef bass
-  a d a e d c' d'
-@end example
-
-@lilypond[fragment]
-\property Score.timing = ##f
-\property Staff.TimeSignature = \turnOff
-\clef bass
-  a d a e d c' d'
-@end lilypond
-@end quotation
-@separate
+@cindex slurs
+@subheading Slurs
 
-A slur is drawn across many notes, and indicates bound articulation
-(legato).  The starting note and ending note are marked with a
-``@code{(}'' and a ``@code{)}'' respectively:
+A @rglos{slur} is a curve drawn across many notes.  The starting note
+and ending note are marked with @samp{(} and @samp{)} respectively.
 
-@quotation
-@lilypond[fragment,relative 1, verbatim]
-d4-( c16-)-( cis d e c cis d e-)-( d4-)
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+d4( c16) cis( d e c cis d) e( d4)
 @end lilypond
-@end quotation
-@separate
 
-If you need two slurs at the same time (one for articulation, one for
-phrasing), you can also make a phrasing slur with @code{\(} and
-@code{\)}.
+@cindex slurs, phrasing
+@cindex phrasing slurs
+@subheading Phrasing slurs
 
-@c lousy example
-@c ? --hwn
-@c fragment of 1st hrn in Adams' The Chairman Dances, with creative
-@c chromatic thing pasted in front.  (admittedly the original does not
-@c have a phrasing slur. The problem is that we do not want the slur
-@c and the Phrasing slur to collide. We are trying to make a good
-@c impression here.
+@cindex phrasing slurs
+Slurs to indicate longer phrasing can be entered with @code{\(} and
+@code{\)}.  You can have both legato slurs and phrasing slurs at the
+same time, but you cannot have simultaneous slurs or simultaneous
+phrasing slurs.
 
-@quotation
-@lilypond[fragment,relative 1, verbatim]
-a8-(-\( ais b  c-) cis2 b'2 a4 cis,  c-\)
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+a8(\( ais b c) cis2 b'2 a4 cis,\)
 @end lilypond
-@end quotation
-@separate
 
-Beams are drawn automatically, but if you do not like where they are
-put, they can be entered by hand. Mark the first note to be beamed
-with @code{[} and the last one with @code{]}:
-@quotation
-@lilypond[fragment,relative 1, verbatim]
-a8-[ ais-] d-[ es r d-]
-@end lilypond
-@end quotation
-@separate
+@sp 1
 
-@menu
-* Combining music into compound expressions::  
-* Adding articulation marks to notes ::  
-* More basic rhythms::          
-* Commenting input files::      
-@end menu
+@cindex slurs versus ties
+@subheading Warnings: slurs vs. ties
 
-@node Combining music into compound expressions
-@subsection Combining music into compound expressions
+A slur looks like a @rglos{tie}, but it has a different meaning.  A
+tie simply makes the first note 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
+can be nested.
 
-To print more than one staff, each piece of music that makes up a staff
-is marked by adding @code{\context Staff} before it.  These
-@code{Staff}'s are then grouped inside @code{\simultaneous @{} and @code{@}}, as is
-demonstrated here:
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c2~( c8 fis fis4 ~ fis2 g2)
+@end lilypond
 
+@moreinfo
 @quotation
-@lilypond[fragment,verbatim]
-\simultaneous {
-  \context Staff = staffA { \clef violin c'' }
-  \context Staff = staffB { \clef bass c }
-}
-@end lilypond
+@table @asis
+@item Ties
+see @ref{Ties}.
+@item Slurs
+see @ref{Slurs}.
+@item Phrasing slurs
+see @ref{Phrasing slurs}.
+@end table
 @end quotation
 
-In this example, @code{staffA} and @code{staffB} are names that are
-given to the staves.  It does not matter what names you give, as long
-as each staff has a different name. If you give them the same name,
-they are assumed to belong on the same staff, and will be printed like
-that. @code{\simultaneous } indicates that both fragments happen at
-the same time, and must be printed stacked vertically.  The notation
-@code{< .. >} can also be used as a shorthand for @code{\simultaneous
-@{ .. @}}.
 
-@separate
+@node Articulation and dynamics
+@subsection Articulation and dynamics
 
-We can now typeset a melody with two staves:
+@cindex articulation
+@cindex accents
+@cindex staccato
+@subheading Articulations
 
-@quotation
-@lilypond[verbatim,singleline]
-\score {
-  \notes 
-  < \context Staff = staffA {
-      \time 3/4
-      \clef violin
-      \relative c'' {
-        e2-( d4 c2 b4 a8-[ a-]
-        b-[ b-] g-[ g-] a2.-) }  
-    }
-    \context Staff = staffB {
-       \clef bass
-       c2 e4  g2.
-       f4 e d c2.
-    }
-  >
-  \paper {} 
-}
+Common @rglos{articulations} can be added to a note using a dash @samp{-}
+and a single character:
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c-. c-- c-> c-^ c-+ c-_
 @end lilypond
-@end quotation
 
-The example shows how small chunks of music, for example the notes
-@code{c2}, @code{e4}, etc. of the second staff, are combined to form a
-larger chunk by enclosing it in braces. Again, a larger chunk is
-formed by prefix @code{\context Staff} to it, and that chunk is
-combined with @code{< >}. This mechanism is similar with mathematical
-formulas: in a formula, a so-called expression is formed by combining
-simpler expressions into larger expressions. For example, 
+@cindex fingering
+@subheading Fingerings
+Similarly, fingering indications can be added to a note using a dash
+(@samp{-}) and the digit to be printed:
 
-@quotation
-  1
-
-  1 + 2
-  
-  (1 + 2) * 3
-  
-  ((1 + 2) * 3) / (4 * 5)
-@end quotation     
-is a sequence of expressions, where each expression is contained in
-the next one.  The simplest expressions are numbers and operators
-(like +, * and /). Parentheses are used to group expressions.  In
-LilyPond input, a similar mechanism is used. Here, the simplest
-expressions are notes and rests.  By enclosing expressions in @code{<
->} and @code{@{ @}}, more complex music is formed. The @code{\context}
-also forms new expressions; it is prepended to a music expression.
-
-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 amount of closing
-braces at the end of an expression. For example
-@example
-\score @{
-  \notes <
-    @{
-      @dots{}
-    @}
-    @{
-      @dots{}
-    @}
-  >
-@}
-@end example
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c-3 e-5 b-2 a-1
+@end lilypond
 
-@node Adding articulation marks to notes 
-@subsection Adding articulation marks to notes
+Articulations and fingerings are usually placed automatically, but you
+can specify a direction using @samp{^} (up) or @samp{_} (down).  You can
+also use multiple articulations on the same note.  However, in most cases
+it is best to let LilyPond determine the articulation directions.
 
-Common accents can be added to a note using @code{-.}, @code{--}, @code{->}:
-@quotation
-@lilypond[verbatim,relative 1]
-c-. c-- c->
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c_-^1 d^. f^4_2-> e^-_+
 @end lilypond
-@end quotation
-@separate
 
-Similarly, fingering indications can be added to a note using @code{-}
-and the digit to be printed.
-@lilypond[verbatim,relative 1]
-  c-3 e-5 b-2 a-1
+@subheading Dynamics
+Dynamic signs are made by adding the markings (with a backslash) to
+the note
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c\ff c\mf c\p c\pp
 @end lilypond
 
+@cindex dynamics
+@cindex decrescendo
+@cindex crescendo
 
-Dynamic signs are made by adding the markings to the note:
-@quotation
-@lilypond[verbatim,relative 1]
-c-\ff c-\mf
+Crescendi and decrescendi are started with the commands @code{\<} and
+@code{\>}.  An ending dynamic, for example @code{\f}, will finish the
+(de)crescendo, or the command @code{\!} can be used
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c2\< c2\ff\> c2 c2\!
 @end lilypond
-@end quotation
-@separate
 
-Crescendi and decrescendi are started with the commands @code{\<} and
-@code{\>}. The command @code{\!} finishes a crescendo on the note it
-is attached to.
+@moreinfo
 @quotation
-@lilypond[verbatim,relative 1]
-c2-\<  c2-\!-\ff  c2-\>  c2-\!
-@end lilypond
+@table @asis
+@item Articulations
+see @ref{Articulations}.
+@item Fingering
+see @ref{Fingering instructions}.
+@item Dynamics
+see @ref{Dynamics}.
+@end table
 @end quotation
-@separate
 
-Chords can be made by
-surrounding pitches with @code{<<} and @code{>}>:
-@quotation
-@lilypond[relative 0, fragment,verbatim]
-r4 <<c e g>>4 <<c f a>>8
+
+@node Automatic and manual beams
+@subsection Automatic and manual beams
+
+@cindex beams, by hand
+All @rglos{beam}s are drawn automatically:
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+a8 ais d ees r d c16 b a8
 @end lilypond
-@end quotation
-@separate
 
+@noindent
+If you do not like the automatic beams, they may be overridden
+manually.  Mark the first note to be beamed with @samp{[} and the last one
+with @samp{]}.
 
-You can combine beams and ties with chords.  Beam and tie markings
-must be placed outside the chord markers:
-@quotation
-@lilypond[relative 0, fragment,verbatim]
-r4 <<c e g>>8-[ <<c f a>>-]-~ <<c f a>>
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+a8[ ais] d[ ees r d] a b
 @end lilypond
-@end quotation
 
+@moreinfo
 @quotation
-@example
-r4 <<c e g>>8-\>-( <<c e g>> <<c e g>>  <<c f a>>8-\!-)
-@end example
-@lilypond[relative 0, fragment]
-\slurUp
-r4 <<c e g>>8-\>-( <<c e g>> <<c e g>>  <<c f a>>8-\!-)
-@end lilypond
+@table @asis
+@item Automatic beams
+see @ref{Automatic beams}.
+@item Manual beams
+see @ref{Manual beams}.
+@end table
 @end quotation
-@separate
 
 
-@node More basic rhythms
-@subsection More basic rhythms
+@node Advanced rhythmic commands
+@subsection Advanced rhythmic commands
+
+@cindex pickup
+@cindex anacruse
+@cindex partial measure
+@subheading Partial measure
 
-A pickup (or upstep) 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.
-@lilypond[relative 1,verbatim,fragment]
-  \partial 8
-  f8 c2 d e
+A pickup (or @rglos{anacrusis}) is entered with the keyword
+@code{\partial}.  It is followed by a duration: @code{\partial 4} is
+a quarter note pickup and @code{\partial 8} an eighth note.
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\partial 8
+f8 c2 d
 @end lilypond
 
+@cindex tuplets
+@cindex triplets
+@subheading Tuplets
+
 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.
-@c
-@lilypond[relative 0,verbatim,fragment]
-  \times 2/3 { f8 g a }
-  \times 2/3 { c r c }
-@end lilypond 
-
-Grace notes are also made by prefixing a note, or a set of notes with
-a keyword. In this case, the keyword is @code{\grace}. 
-@lilypond[relative 1, verbatim,fragment]
-  c4 \grace b16-( c4-)
-  \grace { d16-( e } d4-)
+2/3 of their notated duration, so a triplet has 2/3 as its fraction
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\times 2/3 { f8 g a }
+\times 2/3 { c r c }
+\times 2/3 { f,8 g16 a g a }
+\times 2/3 { d4 a8 }
 @end lilypond
 
-@noindent
-More information on the use of grace notes is in @ref{Grace notes}.
+@cindex grace notes
+@cindex acciaccatura
+@cindex appoggiatura
+@subheading Grace notes
 
+Grace notes are created with the @code{\grace} command, although they
+can also be created by prefixing a music expression with the
+keyword @code{\appoggiatura} or @code{\acciaccatura}
 
-@node Commenting input files
-@subsection Commenting input files
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+c2 \grace { a32 b} c2
+c2 \appoggiatura b16 c2
+c2 \acciaccatura b16 c2
+@end lilypond
 
-Comments are pieces of the input that are ignored.  There are two
-types of comments. A line comments are introduced by @code{%}: after
-that, the rest of that line is ignored.  Block comments span larger
-sections of input.  Anything that is enclosed in @code{%@{} and
-@code{%@}} is ignored too. The following fragment shows possible uses
-for comments.
+@moreinfo
+@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
 
-@example
-  % notes for twinkle twinkle follow:
-  c4 c   g' g  a a
-  
-  %@{
-  
-    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
+@node Multiple notes at once
+@section Multiple notes at once
 
+This section introduces having more than one note at the same time:
+multiple instruments, multiple staves for a single instrument (i.e. piano),
+and chords.
 
+Polyphony in music refers to having more than one voice occurring in
+a piece of music.  Polyphony in LilyPond refers to having more than
+one voice on the same staff.
 
+@menu
+* Music expressions explained::  
+* Multiple staves::             
+* Piano staves::                
+* Single staff polyphony::      
+* Combining notes into chords::  
+@end menu
 
-@node Printing lyrics
-@section Printing lyrics
-@cindex lyrics
 
-Lyrics are entered by separating each syllable with a space, and
-surrounding them with @code{\lyrics @{ @dots{} @}}, for example
-@example
-  \lyrics @{ I want to break free @}
-@end example
+@node Music expressions explained
+@subsection Music expressions explained
 
-Like notes, lyrics are also a form of music, but they must not be
-printed on a staff, which is the default way to print music. To print
-them as lyrics, they must be marked with @code{ \context Lyrics}:
-@example
-  \context Lyrics  \lyrics @{ I want to break free @}
-@end example
-The melody for this song is as follows
+In LilyPond input files, music is represented by @emph{music
+expressions}.  A single note is a music expression, although it is not
+valid input all on its own.
 
-@lilypond[fragment,relative=1]
-   \partial 8
-     c8
-   \times 2/3 {  f4 g g } \times 2/3 { g4-( a2-) }
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+a4
 @end lilypond
 
-The lyrics can be set to these notes, combining both with the
-@code{\addlyrics} keyword:
-@example
- \addlyrics
-    \notes @{ @dots{} @}
-    \context Lyrics @dots{}
-@end example
+Enclosing a group of notes in braces creates a new music expression:
 
-The final result is 
-@lilypond[verbatim,linewidth=6.0cm]
-\score  {
- \notes {
-  \addlyrics
-   \relative c' {
-     \partial 8
-     c8
-     \times 2/3 { f g g } \times 2/3 { g4-( a2-) }
-   }
-   \context Lyrics  \lyrics { I want to break free }
- }
- \paper{ }
-}
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+{ a4 g4 }
 @end lilypond
 
-This melody ends on a @rglos{melisma}, a single syllable (``free'')
-sung to more than one note. This is indicated with a @emph{extender
-line}. It is entered as two  underscores, i.e.,
-@example
-  \lyrics @{ I want to break free __ @}
-@end example 
-@lilypond[]
-\score  {
- \notes {
-  \addlyrics
-   \relative c' {
-   \partial 8
-     c8
-     \times 2/3 { f g g } \times 2/3 { g4-( a2-) }
-
-     %% ugh, this is to deal with bugs in the extender implementation
-     \hideNotes
-     c8
-   }
-   \context Lyrics  \lyrics { I want to break free __ }
- }
- \paper{ linewidth = 9.0 \cm }
-}
-@end lilypond
+Putting a group of music expressions (e.g. notes) in braces means that
+are in sequence (i.e. each one follows the previous one).  The result
+is another music expression:
 
-Similarly, hyphens between words can be entered as two dashes,
-resulting in a centered hyphen between two syllables.
-@example
-  Twin -- kle twin -- kle
-@end example
-@lilypond[singleline]
-\score {
-  \addlyrics \notes \relative f' { \time 2/4
-    f4 f c' c' }
-    \context Lyrics \lyrics { Twin -- kle twin -- kle
- }
-\paper { linewidth = 6.0 \cm }
- }
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+{ { a4 g } f g }
 @end lilypond
 
-More options, like putting multiple lines of lyrics below a melody are
-discussed in @ref{Vocal music}.
-
-
+@subheading Simultaneous music expressions: multiple staves
 
-TODO: discuss contexts.
+This technique is useful for polyphonic music.  To enter music
+with more voices or more staves, we combine expressions in
+parallel.  To indicate that two voices should play at the same time
+simple enter a simultaneous combination of music expressions.  A
+@q{simultaneous} music expression is formed by enclosing expressions inside
+@code{<<} and @code{>>}.  In the following example, three sequences (all
+containing two separate notes) are combined simultaneously:
 
-
-@node A lead sheet
-@section A lead sheet
-
-In popular music, it is common to denote accompaniment as chord-names.
-Using them in LilyPond has two parts, just like lyrics: entering the
-chords (with @code{\chords}), and printing them (with @code{\context
-ChordNames}).
-
-Chord names are entered by starting chords mode (with @code{\chords}).
-In chords mode, you can enter chords with a letter (indicating the
-root of the chord), and a durations following that.
-@c
-@lilypond[verbatim]
-  \chords { c2 f4. g8 } 
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  <<
+    { a4 g }
+    { f e }
+    { d b }
+  >>
+}
 @end lilypond
 
-@noindent
-The result of @code{\chords} is a list of chords, and is  equivalent
-to entering chords with @code{<<@dots{}>>}.
+Note that we have indented each level of the input with a different
+amount of space.  LilyPond does not care how much (or little) space there
+is at the beginning of a line, but indenting LilyPond code like this makes
+it much easier for humans to read.
 
-Other chords can be created by adding modifiers, after a colon.  The
-following example shows a few common modifiers
-@c
-@lilypond[verbatim]
-  \chords { c2 f4:m g4:maj7 gis1:dim7 }
-@end lilypond
+@subheading Simultaneous music expressions: single staff
 
-Printing chords is done by adding @code{\context ChordNames}
-before the chords thus entered:
-@c
-@lilypond[verbatim]
- \context ChordNames \chords \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
+To determine the number of staves in a piece, LilyPond looks at the first
+exression.  If it is a single note, there is one staff; if there is a
+simultaneous expression, there is more than one staff.
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  c2 <<c e>>
+  << { e f } { c <<b d>> } >>
+}
 @end lilypond
 
-A complete list of modifiers, and other options for layout are in the
-reference manual section @ref{Chords}.
+@cindex expression
+@cindex music expression
+@subheading Analogy: mathematical expressions
 
-@cindex lead sheet 
-When put together,  chord names, lyrics and a melody form
-a lead sheet, for 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,
 
 @example
-\score @{
-  <
-    \context ChordNames \chords @{ @emph{chords} @}
-    \addlyrics
-      \notes @emph{the melody}
-      \context Lyrics \lyrics @{ @emph{the text} @}
-  >
-  \paper @{ @}
-@}
-@end example
-@lilypond[]
-\score  {
-  < 
-   \context ChordNames \chords { r8 c2:sus4 f } 
-   \addlyrics
-    \notes \relative c' {
-     \partial 8
-     c8
-     \times 2/3 { f g g } \times 2/3 { g4-( a2-) } }
-   \context Lyrics  \lyrics { I want to break free __ }
-  >
- \paper{ raggedright = ##t }
-}
-@end lilypond
+1
 
+1 + 2
 
-@node Listening to output
-@section Listening to output
-
-MIDI (Musical Instrument Digital Interface) is a standard for
-connecting and recording digital instruments.  A MIDI file is like a
-tape recording of a MIDI instrument. The @code{\midi} block makes the
-music go to a MIDI file, so you can listen to the music you 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.
-
-@code{\midi} can be used in similarly to @code{\paper @{ @}}, for
-example
-@example 
-\score @{
-    @var{..music..}
-    \midi  @{ \tempo 4=72 @}
-    \paper  @{ @}
-@}
-@end example 
-
-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 is in the @ref{Sound} section in the
-notation manual.
-
-
-@node Titling 
-@section Titling
-
-Bibliographic information is entered in a separate block, the
-@code{\header} block. The name of the piece, its composer, etc. are
-entered as assignment within @code{\header @{ @dots{} @}}. For
-example,
-@example 
-  \header @{
-    title = "Eight miniatures" 
-    composer = "Igor Stravinsky"
-    tagline = "small is beautiful"
-  @}
-  
-  \score @{ @dots{} @}
-@end example
+(1 + 2) * 3
 
-@cindex bibliographic information
-@cindex titles
-@cindex composer
-@cindex ly2dvi
-
-
-When the file is processed by @code{ly2dvi}, the title and composer
-specified are printed above the music. The `tagline' is a short line
-printed at bottom of the last page, which normally says ``Lily was
-here, version @dots{}''. In the example above, it is replaced by the
-line ``small is beautiful.'' 
-
-Normally, the @code{\header} is put at the top of the file. However,
-for a document that contains multiple pieces (e.g. a etude book, or
-part with multiple movements), then the header can be put into the
-@code{\score} block as follows In this case, the name of each piece
-will be printed before each movement.
-
-
-@cindex Lily was here
-@cindex signature line
-@cindex tag line
-
-@example 
-  \header @{
-    title = "Eight miniatures" 
-    composer = "Igor Stravinsky"
-    tagline = "small is beautiful"
-  @}
-  
-  \score @{ @dots{}
-    \header @{ piece = "Adagio" @}
-  @}
-  \score @{ @dots{}
-    \header @{ piece = "Menuetto" @}
-  @}
+((1 + 2) * 3) / (4 * 5)
 @end example
 
-More information on titling can be found in @ref{Invoking ly2dvi}.
+This is a sequence of expressions, where each expression is contained
+in the next (larger) one.  The simplest expressions are numbers, and larger
+ones are made by combining expressions with operators (like @samp{+},
+@samp{*} and @samp{/}) and parentheses.  Like mathematical expressions,
+music expressions can be nested arbitrarily deep, which is necessary
+for complex music like polyphonic scores.
 
 
-@node Single staff polyphony  
-@section Single staff polyphony
+@node Multiple staves
+@subsection Multiple staves
 
-When different melodic lines are combined on a single staff, these 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 stems down.
+As we saw in @ref{Music expressions explained}, LilyPond input files
+are constructed out of music expressions.  If the score begins with
+simultaneous music expressions, LilyPond creates multiples staves.  However,
+it is easier to see what happens if we create each staff explicitly.
 
-Entering such parts is done by entering each voice as a sequence (with
-@code{@{ .. @}}), and combing those simultaneously, separating the
-voices with @code{\\}:
+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 in parallel with @code{<<} and
+@code{>>}:
 
-@example
-  < @{ a4 g2 f4-~ f4 @} \\
-    @{ r4 g4 f2 f4 @} >
-@end example
-@lilypond[relative 1]
-\context Staff   < { a4 g2 f4-~ f4 } \\
-    { r4 g4 f2 f4 } >
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  <<
+    \new Staff { \clef treble c }
+    \new Staff { \clef bass c,, }
+  >>
+}
 @end lilypond
 
-For polyphonic 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:
-@example
-  < @{ a4 g2 f4-~ f4 @} \\
-    @{ s4 g4 f2 f4 @} >
-@end example
-@lilypond[relative 1]
-\context Staff  < { a4 g2 f4-~ f4 } \\
-    { s4 g4 f2 f4 } >
+The command @code{\new} introduces a @q{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 automatically.  For more complex pieces, it
+is best to mark contexts explicitly.
+
+There are several types of contexts.  @code{Score}, @code{Staff},
+and @code{Voice} handle melodic notation, while @code{Lyrics} sets lyric
+texts and @code{ChordNames} prints chord names.
+
+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.
+
+Time signatures entered in one staff affects all other staves, but
+the key signature of one staff does @emph{not} affect other
+staves@footnote{This behavior may be changed if desired; see
+@ref{Changing defaults} for details.}.
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  <<
+    \new Staff { \clef treble \time 3/4 c }
+    \new Staff { \clef bass \key d \major c,, }
+  >>
+}
 @end lilypond
 
-More features of polyphonic typesetting are in the notation manual
-in @ref{Polyphony}.
 
-@node Piano staffs
-@section Piano staffs
+
+
+@node Piano staves
+@subsection Piano staves
 
 @cindex staff switch, manual
 @cindex cross staff voice, manual
-@cindex @code{\translator}
+Piano music is typeset in two staves connected by a brace.  Printing
+such a staff is similar to the polyphonic example in @ref{Multiple staves},
+but now this entire expression is inserted inside a @code{PianoStaff}:
 
-Piano music is always typeset in two staffs connected by a brace.
-Printing such a staff is done similar to the polyphonic example in
-@ref{More basics}:
-@example
- < \context Staff = up @{ @dots{} @}
-   \context Staff = down @{ @dots{} @}
- >
-@end example
-but now this entire expression must be interpreted as a
-@code{PianoStaff}:
 @example
- \context PianoStaff < \context Staff @dots{} >
+\new PianoStaff <<
+  \new Staff @dots{}
+  \new Staff @dots{}
+>>
 @end example
 
-Here is a full-fledged example:
+Here is a small example
 
-@lilypond[relative 0,fragment]
-\context PianoStaff
- < \context Staff = up {
-     c4 c g' g  }
-   \context Staff = down {
-     \clef bass c, c' e c }
- >
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  \new PianoStaff <<
+    \new Staff { \time 2/4 c4 e g g, }
+    \new Staff { \clef bass c,, c' e c }
+  >>
+}
 @end lilypond
 
-More information on formatting piano music is in @ref{Piano music}. 
+@moreinfo
+@quotation
+See @ref{Piano music}.
+@end quotation
 
-@node Setting variables
-@section Setting variables
 
-When the music is converted from notes to print, it is interpreted
-from left-to-right order, similar to what happens when we read
-music. During this step, context-sensitive information, such as the
-accidentals to print, and where barlines must be placed, are stored in
-variables. These variables are called @emph{translation properties}.
-The properties can also be manipulated from input files: for example,
-@example
-\property Staff.autoBeaming = ##f
-@end example 
-sets the property named @code{autoBeaming} in the current staff to
-@code{##f} which means `false'. This property controls whether beams
-are printed automatically:
-@lilypond[relative 1,fragment,verbatim]
-  c8 c c c
-  \property Staff.autoBeaming = ##f
-  c8 c c c  
-@end lilypond
+@node Single staff polyphony
+@subsection Single staff polyphony
 
-@noindent
-LilyPond includes a built-in programming language, namely, a dialect
-of Scheme.  The argument to @code{\property}, @code{##f}, is an
-expression in that language.  The first hash-mark signals that a piece
-of Scheme code follows. The second hash character is part of the
-boolean value true (@code{#t}).  Values of other types may be
-entered as follows
-@itemize @bullet
-@item a string, enclosed in double quotes, for example
-@example
-  \property Staff.instrument = #"French Horn"
-@end example
-@item a boolean: either @code{#t} or @code{#f}, for true and false
-respectively, e.g.
-@example
-  \property Voice.autoBeaming = ##f
-  \property Score.skipBars = ##t
-@end example
+@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.
 
-@item a number
-@example
-  \property Score.currentBarNumber = #20
-@end example
+Entering such parts is done by entering each voice as a sequence (with
+@code{@{...@}}) and combining these simultaneously, separating the
+voices with @code{\\}
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+<<
+  { a4 g2 f4~ f4 } \\
+  { r4 g4 f2 f4 }
+>>
+@end lilypond
 
-@item a symbol, which is introduced by a quote character,
-@example
-  \property Staff.crescendoSpanner = #'dashed-line
-@end example
+For polyphonic music typesetting, spacer rests can also be convenient;
+these are rests that do not print.  They are useful for filling up
+voices that temporarily do not play.  Here is the same example with a
+spacer rest (@samp{s}) instead of a normal rest (@samp{r}),
 
-@item a pair, which is also introduced by a quote character.
-The following statements set properties to the pairs (-7.5, 6)  and
-(3, 4) respectively.
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+<<
+  { a4 g2 f4~ f4 } \\
+  { s4 g4 f2 f4 }
+>>
+@end lilypond
 
-@example
-  \property Staff.minimumVerticalExtent  = #'(-7.5 . 6)
-  \property Staff.timeSignatureFraction  = #'(3 . 4)
-@end example
+@noindent
+Again, these expressions can be nested arbitrarily.
+
+@lilypond[quote,fragment,verbatim,relative=2,fragment]
+<<
+  \new Staff <<
+    { a4 g2 f4~ f4 } \\
+    { s4 g4 f2 f4 }
+  >>
+  \new Staff <<
+    \clef bass
+    { <c g>1 ~ <c g>4 } \\
+    { e,,4 d e2 ~ e4}
+  >>
+>>
+@end lilypond
 
+@moreinfo
+@quotation
+See @ref{Basic polyphony}.
+@end quotation
 
-@end itemize
 
-There are many different properties, and not all of them are listed in
-this manual. However, the internal documentation lists them all in the
-@internalsref{All translation properties}, and almost all properties
-are demonstrated in one of the
-@ifhtml
-@uref{../../../input/test/out-www/collated-files.html,tips-and-tricks}
-@end ifhtml
-@ifnothtml
-tips-and-tricks
-@end ifnothtml
-examples.
-
-
-@node Fine tuning layout
-@section Fine tuning layout
-
-Sometimes it is necessary to change music layout by hand.  When music
-is formatted, layout objects are created for each symbol.  For
-example, every clef and every note head is represented by a layout
-object.  These layout objects also carry variables, which we call
-@emph{layout properties}. By changing these variables from their
-values, we can alter the look of a formatted score.
-
-@lilypond[verbatim,relative 0]
-  c4
-  \property Voice.Stem \override #'thickness = #3.0
-  c4 c4 c4 
-@end lilypond
+@node Combining notes into chords
+@subsection Combining notes into chords
 
-@noindent
-In the example shown here, the layout property @code{thickness} (a
-symbol) is set to 3 in the @code{Stem} layout objects of the current
-Voice.  As a result, the notes following @code{\property} have thicker
-stems.
+@cindex chords
+Chords can be made by surrounding pitches with single angle brackets.  Angle
+brackets are the symbols @samp{<} and @samp{>}.
 
-In most cases of manual overrides, only a single object must be
-changed. This can be achieved by prefix @code{\once} to the
-@code{\property} statement, i.e.,
+@lilypond[quote,fragment,verbatim,relative=2,fragment]
+r4 <c e g>4 <c f a>2
+@end lilypond
 
-@example
- \once \property Voice.Stem \set #'thickness = #3.0
-@end example
+You can combine markings like beams and ties with chords.  They must
+be placed outside the angled brackets
 
-@lilypond[relative 0]
-  c4
-  \once \property Voice.Stem \set #'thickness = #3.0
-  c4 c4 c4 
+@lilypond[quote,fragment,verbatim,relative=2,fragment]
+r4 <c e g>8[ <c f a>]~ <c f a>2
 @end lilypond
 
-@noindent
-Some overrides are so common that predefined commands are provided as
-a short cut.  For example, @code{\slurUp} and @code{\stemDown}. These
-commands are described in the @ref{Notation manual}, under the
-sections for slurs and stems respectively.
-
-The exact tuning possibilities for each type of layout object are
-documented in the internal documentation of the respective
-object. However, many layout objects share properties, which can be
-used to apply generic tweaks.  We mention a couple of these:
-
-@itemize @bullet
-@cindex @code{extra-offset}
-@item The @code{extra-offset} property
-moves around objects in the printout.  The unit of these offsets are
-staff-spaces.  The first number controls left-right movement; a
-positive number will move the object to the right.  The second number
-controls up-down movement; a positive number will move it higher.  The
-@code{extra-offset} is a low-level feature: the formatting engine is
-completely oblivious to these offsets.
-
-In the following example example, the second fingering is moved a
-little to the left, and 1.8 staff space downwards.
-
-@cindex setting object properties
-
-@lilypond[relative 1,verbatim]
-\stemUp
-f-5
-\once \property Voice.Fingering
-  \set #'extra-offset = #'(-0.3 . -1.8) 
-f-5
+@lilypond[quote,fragment,verbatim,relative=2,fragment]
+r4 <c e g>8\>( <c e g> <c e g>4 <c f a>\!)
 @end lilypond
 
-@item
-Setting the @code{transparent} property will make an object be
-printed in `invisible ink': the object is not printed, but all its
-other behavior is retained. The object still takes space, takes part
-in collisions, and slurs, ties and beams can be attached to it.
-
-@cindex transparent objects
-@cindex removing objects
-@cindex invisible objects
-The following example demonstrates how to connect different voices
-using ties. Normally ties only happen between notes of the same
-voice. By introducing a tie in a different voice, and blanking a stem
-in that voice, the tie appears to cross voices.
-
-@lilypond[fragment,relative 1]
-\context Staff < {
-      \once \property Voice.Stem \set #'transparent = ##t
-      b8~ b8
-  } \\ {
-       b-[ g8-]
-  } >
-@end lilypond
 
-@item
-The @code{padding} property for objects with
-@code{side-position-interface} can be set to increase distance between
-symbols that are printed above or below notes. An example of the use
-of padding is in @ref{Constructing a tweak}.
-@end itemize
+@node Songs
+@section Songs
 
-More specific overrides are also possible.  The notation manual
-discusses in depth how to figure out these statements for yourself, in
-@ref{Tuning output}.
+This section introduces vocal music and simple song sheets.
 
-@node Organizing larger pieces
-@section Organizing larger pieces
+@menu
+* Printing lyrics::             
+* A lead sheet::                
+@end menu
 
-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 and/or
-orchestral pieces, more deeply nested.
 
-By using variables, also known as identifiers, it is possible to break
-up complex music expressions.
-An identifier is assigned as follows
-@example
-  namedMusic = \notes @{ @dots{}
-@end example
+@node Printing lyrics
+@subsection Printing lyrics
 
-The contents of the music expression @code{namedMusic}, can be used
-later by preceding the name with a backslash, i.e. @code{\namedMusic}.
-For example
+@cindex Lyrics
+@cindex Songs
+Consider a simple melody:
 
-@lilypond[singleline,verbatim]
-seufzer  = \notes {
-  dis'8 e'8
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+  a4 e c r4
+       b2 c4( d)
 }
-\score { \notes {
-  \seufzer \seufzer
-} }
 @end lilypond
 
-The name of an identifier should only have alphabetic characters only,
-and no numbers, underscores or dashes. The assignment should be
-outside of the @code{\score} block.
+The lyrics can be set to these notes, combining both with the
+@code{\addlyrics} keyword.  Lyrics are entered by separating each
+syllable with a space.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \relative c'' {
+    a4 e c r4
+         b2 c4( d)
+  }
+  \addlyrics { One day this shall be free }
+>>
+@end lilypond
+
+@cindex melisma
+@cindex extender line
+This melody ends on a @rglos{melisma}, a single syllable (@q{free})
+sung to more than one note.  This is indicated with an @emph{extender
+line}.  It is entered as two underscores @code{__}:
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \relative c'' {
+    a4 e c r4
+         b2 c4( d)
+  }
+  \addlyrics { One day this shall be free __ }
+>>
+@end lilypond
+
+Similarly, hyphens between words can be entered as two dashes,
+resulting in a centered hyphen between two syllables
 
-It is possible to use variables for many other types of objects in the
-input.  For example,
-@example
-  width = 1.5\cm
-  name = "Wendy"
-  aFivePaper = \paper @{ paperheight = 22.7 \cm @}
-@end example
-Depending on its contents, the identifier can be used in different
-places. The following example uses the above variables:
 @example
-  \score @{
-    \notes @{ c4^\name @}
-    \paper @{
-      \aFivePaper
-      linewidth = \width
-    @}
-  @}
+A -- le gri -- a
 @end example
 
-More information on the possible uses of identifiers is in the
-technical manual, in @ref{Scheme datatypes}.
+@c no ragged-right here because otherwise the hypens get lost.
+@lilypond[quote,verbatim]
+<<
+  \relative c' {
+    \time 2/4
+    f4 f c c
+  }
+  \addlyrics { A -- le gri -- a }
+>>
+@end lilypond
 
+@moreinfo
+@quotation
+More options, such as putting multiple stanzas below a melody, are
+discussed in @ref{Vocal music}.
+@end quotation
 
-@node An orchestral part
-@section An orchestral part
 
-In orchestral music, all notes are printed twice: both in a part for
-the musicians, and in a full score for the which is printed both in
-parts as in full score. Identifiers can be used to avoid double work:
-the music is entered once, and stored in an variables. The contents of
-that variable is then used to generate both the part and the score.
+@node A lead sheet
+@subsection A lead sheet
 
-It is convenient to define the notes in a special file, for example,
-suppose that the following is in @file{horn-music.ly}:
-@example
-hornNotes = \notes \relative c @{
-  \time 2/4
-  r4 f8 a cis4 f e d
-@}
-@end example
+@cindex Lead sheets
+@cindex chords
+@cindex chord names
 
-Then, an individual part is made by putting the following in a file
-@example
-\include "horn-music.ly"
-\header @{
-  instrument = "Horn in F"
-@}
-\score @{
-  \notes \transpose c' f \hornNotes
-@}
-@end example
-The @code{\include} command substitutes the contents of the file at
-this position in the file, so that @code{hornNotes} is defined
-afterwards.  Since the horn is tuned in F, the @code{\transpose}
-command is used. The code @code{\transpose c' f} indicates that the
-argument, being @code{\hornNotes} should be transposed by a fifth
-downwards: the @code{c'} becomes a @code{f}. The transposition can be
-seen in the following output:
-
-@lilypond[singleline]
-\score {
-  \notes \transpose c' f  \notes \relative c' {
-  \time 2/4
-  r4 f8 a cis4 f e d
-}
-}
+@c TODO: revise this, \chords { } is shorter and more intuitive.
+@c  I need help for this.  -gp
+
+In popular music it is common to denote accompaniment with chord names.
+Such chords can be entered like notes,
+
+@lilypond[quote,ragged-right,verbatim]
+\chordmode { c2 f4. g8 }
 @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 R, and followed by a duration (1
-for a whole note, 2 for a half note, etc.) By multiplying the
-duration, longer rests can be constructed. For example, the next rest
-takes 3 measures in 2/4 time.
-@example
-  R2*3
-@end example
+@noindent
+Now each pitch is read as the root of a chord instead of a note.
+This mode is switched on with @code{\chordmode}
 
-When printing the part, the following @code{skipBars} property must be
-set to false, to prevent the rest from being expanded in three one bar
-rests.
-@example
-  \property Score.skipBars = ##t
-@end example
+Other chords can be created by adding modifiers after a colon.  The
+following example shows a few common modifiers
+
+@lilypond[quote,verbatim,ragged-right]
+\chordmode { c2 f4:m g4:maj7 gis1:dim7 }
+@end lilypond
 
-The result would look like
+For lead sheets, chords are not printed on staves, but as names on a
+line for themselves.  This is achieved by using @code{\chords} instead
+of @code{\chordmode}.  This uses the same syntax as @code{\chordmode},
+but renders the notes in a @code{ChordNames} context, with the
+following result.
 
-@lilypond[singleline]
-\score {\notes { \transpose c' f \relative c' { \time 2/4
-\property Score.skipBars = ##t 
-        R2*3
-    r4 f8 a cis4 f e d } }}
+@lilypond[quote,verbatim,ragged-right]
+\chords { c2 f4.:m g4.:maj7 gis8:dim7 }
 @end lilypond
 
-The score is made by combining all of the music in  a @code{\score}
-block, assuming that the other voice is in @code{hornNotes}, in the
-file @file{horn-music.ly}:
-@example
-\include "fagot-music.ly"
-\include "horn-music.ly"
-
-\score @{
-  \simultaneous @{
-    \context Staff = hornStaff \hornNotes
-    \context Staff = fagStaff \fagottoNotes
-  @} @}
-@end example
+@cindex lead sheet
+When put together, chord names, lyrics and a melody form
+a lead sheet, for example,
 
-This would lead to the following output:
+@lilypond[quote,verbatim,ragged-right]
+%  this melody needs to be changed.  See my new example in 2.4.1. -gp
+<<
+  \chords { r2 c:sus4 f }
+  \relative {
+    r4 c' \times 2/3 { f g g }
+    \times 2/3 { g4( a2) }
+  }
+  \addlyrics { I want to break free __ }
+>>
+@end lilypond
 
-@lilypond[singleline]
-\score {
-  \notes \relative c \simultaneous {
-    \context Staff = hornStaff { \time 2/4
-        R2*3
-    r4 f8 a cis4 f e d }
-    \context Staff = fagStaff { \clef bass
-      r4 d,8 f | gis4 c |  b bes |
-      a8 e f4 |  g d | gis f }
-  } }
-@end lilypond 
+A complete list of modifiers and other options for layout can be found
+in @ref{Chords}.
 
-More in depth information is in the notation manual, in
-@ref{Orchestral music}. 
 
+@node Final touches
+@section Final touches
 
-@node Integrating text and music
-@section Integrating text and music
+This is the final section of the tutorial; it demonstrates how to add the
+final touches to simple pieces, and provides an introduction to the rest
+of the manual.
 
-TODO: shorten. 
+@menu
+* Version number::              
+* Adding titles::               
+* Absolute note names::         
+* Organizing pieces with identifiers::  
+* After the tutorial::          
+* How to read the manual::      
+@end menu
 
-@cindex La@TeX{}, music in
-@cindex HTML, music in
-@cindex Texinfo, music in
 
-Sometimes you might want to use music examples in a text that you are
-writing (for example 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 word processor.  However,
-there is an automated procedure to reduce the amount of work.
+@node Version number
+@subsection Version number
 
-If you use HTML, 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.
-This program is fully described in @ref{lilypond-book manual}.  Here
-we show a small example.  Since the example also contains explanatory
-text, we will not comment it further.
+@cindex versioning
+The @code{\version} statement marks for which version of LilyPond the file
+was written.  To mark a file for version 2.10.1, place
 
 @example
-\documentclass[a4paper]@{article@}
-\begin@{document@}
-
-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@}
+\version "2.10.1"
+@end example
 
-Notice that the music line length matches the margin settings of the
-document.
+@noindent
+at the top of your LilyPond file.
 
-If you have no \verb+\score+ block in the fragment,
-\texttt@{lilypond-book@} will supply one:
+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{Updating files with convert-ly}), and it uses
+@code{\version} to determine what rules to apply.
 
-\begin@{lilypond@}
-  c'4
-\end@{lilypond@}
 
-In the example you see here, two 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:
+@node Adding titles
+@subsection Adding titles
 
-\begin[verbatim,11pt,singleline,
-  fragment,relative,intertext="hi there!"]@{lilypond@}
-  c'4 f bes es
-\end@{lilypond@}
+The title, composer, opus number, and similar information are entered
+in the @code{\header} block.  This exists outside of the main
+music expression; the @code{\header} block is usually placed underneath
+the @ref{Version number}.
 
-The option \texttt@{verbatim@} prints the LilyPond code in addition to
-the graphical score, \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
+\version "2.10.1"
+\header @{
+  title = "Symphony"
+  composer = "Me"
+  opus = "Op. 9"
+@}
 
-If you want to include large examples into the text, it may be more
-convenient to put the example in a separate file:
+@{
+  @dots{} music @dots{}
+@}
+@end example
 
-\lilypondfile[printfilename]@{screech-boink.ly@}
+When the file is processed, the title and composer are printed above
+the music.  More information on titling can be found in @ref{Creating
+titles}.
 
-The \texttt@{printfilename@} option adds the file name to the output.
 
-\end@{document@}
-@end example
+@node Absolute note names
+@subsection Absolute note names
 
-Under Unix, you can view the results as follows.
-@example
-$ cd input/tutorial
-$ mkdir -p out/
-$ lilypond-book --outdir=out/ lilbook.tex
-lilypond-book (GNU LilyPond) 1.7.23
-Reading `input/tutorial/lilbook.tex'
-Reading `input/screech-boink6.ly'
-@var{lots of stuff deleted}
-Writing `out/lilbook.latex'
-$ cd out
-$ latex lilbook.latex
-@var{lots of stuff deleted}
-$ xdvi lilbook 
-@end example
+So far we have always used @code{\relative} to define pitches.  This is
+the easiest way to enter most music, but another way of defining pitches
+exists: absolute mode.
 
-Running lilypond-book and running latex creates a lot of temporary
-files, and you would not want those to clutter up your working
-directory.  The @code{outdir} option to lilypond-book creates the
-temporary files in a separate subdirectory @file{out}.
+If you omit the @code{\relative}, LilyPond treats all pitches as
+absolute values.  A @code{c'} will always mean middle C, a @code{b} will
+always mean the note one step below middle C, and a @code{g,} will
+always mean the note on the bottom staff of the bass clef.
 
-The result looks more or less like this: 
+@lilypond[quote,verbatim,ragged-right]
+{
+  \clef bass
+  c' b g, g,
+  g, f, f c'
+}
+@end lilypond
 
-@separate
+Here is a four-octave scale:
 
-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
-  }
-  \paper {
-    raggedright = ##t
-  }
+@lilypond[quote,verbatim,ragged-right]
+{
+  \clef bass
+  c, d, e, f,
+  g, a, b, c
+  d e f g
+  a b c' d'
+  \clef treble
+  e' f' g' a'
+  b' c'' d'' e''
+  f'' g'' a'' b''
+  c'''1
 }
 @end lilypond
 
-Notice that the music line length matches the margin settings of the
-document.
+As you can see, writing a melody in the treble clef involves a lot of
+quote ' marks.  Consider this fragment from Mozart:
+
+@lilypond[quote,verbatim,ragged-right]
+{
+  \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
 
-If you have no @code{\score} block in the fragment,
-@code{lilypond-book} will supply one:
+All these quotes makes the input less readable and it is a source of
+errors.  With @code{\relative}, the previous example is much easier
+to read:
 
-@lilypond
-  c'4
+@lilypond[quote,verbatim,ragged-right]
+\relative c'' {
+  \key a \major
+  \time 6/8
+  cis8. d16 cis8 e4 e8
+  b8. cis16 b8 d4 d8
+}
 @end lilypond
 
-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:
+If you make a mistake with an octave mark (@code{'} or @code{,}) while
+working in @code{\relative} mode, it is very obvious -- many notes will
+be in the wrong octave.  When working in absolute mode, a single mistake
+will not be as visible, and will not be as easy to find.
+
+However, absolute mode is useful for music which has large intervals, and
+is extremely useful for computer-generated LilyPond files.
+
+
+@node Organizing pieces with identifiers
+@subsection Organizing pieces with identifiers
+
+When all of the elements discussed earlier are combined to produce
+larger files, the music expressions get a lot bigger.  In polyphonic
+music with many staves, the input files can become very confusing.  We can
+reduce this confusion by using @emph{identifiers}.
+
+Identifiers (also known as variables or macros), we can break up
+complex music expressions.  An identifier is assigned as follows
+
+@example
+namedMusic = @{ @dots{} @}
+@end example
+
+The contents of the music expression @code{namedMusic} can be used
+later by placing a backslash in front of the name
+(@code{\namedMusic}, just like a normal LilyPond command).  Identifiers
+must be defined @emph{before} the main music expression.
 
-@lilypond[verbatim,11pt,singleline,
-  fragment,relative,intertext="hi there!"]
-  c'4 f bes es
+@lilypond[quote,verbatim,ragged-right]
+violin = \new Staff { \relative c'' {
+  a4 b c b
+}}
+cello = \new Staff { \relative c {
+  \clef bass
+  e2 d
+}}
+{
+  <<
+    \violin
+    \cello
+  >>
+}
 @end lilypond
 
-The option @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
+The name of an identifier should have alphabetic characters only: no
+numbers, underscores, or dashes.
+
+It is possible to use variables for many other types of objects in the
+input.  For example,
+
+@example
+width = 4.5\cm
+name = "Wendy"
+aFivePaper = \paper @{ paperheight = 21.0 \cm @}
+@end example
+
+Depending on its contents, the identifier can be used in different
+places.  The following example uses the above variables:
 
-If you include large examples into the text, it may be more convenient
-to put the example in a separate file:
+@example
+\paper @{
+  \aFivePaper
+  line-width = \width
+@}
+@{ c4^\name @}
+@end example
 
-@lilypondfile[printfilename]{screech-boink.ly}
 
-The @code{printfilename} option adds the file name to the output.
+@node After the tutorial
+@subsection After the tutorial
+
+After finishing the tutorial, you should probably try writing a
+piece or two.  Start with one of the @ref{Templates} and
+add notes.  If you need any notation that was not covered in the
+tutorial, look at the Notation Reference, starting with
+@ref{Basic notation}.  If you want to write for an instrument
+ensemble which is not covered in the templates,
+take a look at @ref{Extending the templates}.
+
+Once you have written a few short pieces, read the rest of
+the Learning Manual (chapters 3-5).  There's nothing wrong
+with reading them now, of course!  However, the rest of the
+Learning Manual assumes that you are familiar with
+LilyPond input.  You may wish to skim these chapters right
+now, and come back to them after you have more experience.
+
+
+@node How to read the manual
+@subsection How to read the manual
+
+As we saw in @ref{How to read the tutorial}, many examples in the
+tutorial omitted a @code{\relative c'' @{ ... @}} around the printed
+example.
+
+In the rest of the manual, we are much more lax about the
+printed examples: sometimes they may have omitted a
+@code{\relative c'' @{ ... @}}, but in other times a different initial
+pitch may be used (such as @code{c'} or @code{c,,}), and in some cases
+the whole example is in absolute note mode!  However, ambiguities like
+this only exist where the pitches are not important.  In any example
+where the pitch matters, we have explicitly stated our @code{\relative}
+our our absolute-mode @code{@{ @}}.
+
+If you are still confused about the exact LilyPond input that was
+used in an example, read the HTML version (if you are not already doing
+so) and click on the picture of the music.  This will display the exact
+input that LilyPond used to generate this manual.