-@c -*-texinfo-*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@c This file is part of lilypond.tely
@c TODO:
@c compiling/viewing (emacs?)
@c * where to go from First steps+More basics?
+@c wherever possible, do not include index entries here; the
+@c index should point to stuff in the reference manual. -gp
+
@c Your first LilyPond score in 10 minutes?
@node Tutorial
@menu
* First steps::
-* Running LilyPond::
+* Running LilyPond for the first time::
* More about pitches::
* Entering ties::
* Automatic and manual beams::
* More staves::
* Adding articulation marks to notes::
* Combining notes into chords::
-* Basic rhythmical commands::
+* Advanced rhythmic 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 menu
@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
+of music, a @rglos{scale}. A @rglos{note} can be entered by typing its
+name, from @samp{a} through @samp{g}. So, if you enter
@example
c d e f g a b
c d e f g a b
@end lilypond
-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},
+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
@example
a1 a2 a4 a16 a32
@end example
-@c FIXME: have NOTIME also remove Score.timing?
@lilypond[fragment,quote,notime,relative=2]
-\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
+If you do not specify a duration, the duration last entered is used
+for the next notes. The duration of the first note in input defaults
+to a quarter
@example
a a8 a a2 a
@end example
@lilypond[fragment,quote,notime,relative=2]
-\set Score.timing = ##f
{ a a8 a a2 a s16_" " }
@end lilypond
-Rests are entered just like notes, but with the name @samp{r}
+A @rglos{rest} is entered just like a note, but with the name @samp{r}
-@cindex rests
@example
r2 r4 r8 r16
@end example
@lilypond[fragment,quote,notime]
-\set Score.timing = ##f
r2 r4 r8 r16 s16_" "
@end lilypond
@end example
@lilypond[fragment,quote,notime,relative=1]
-\set Score.timing = ##f
{ a2. a4 a8. a16 s16_" " }
@end lilypond
-The @rglos{meter} (or @rglos{time signature}) can be set with the
-@code{\time} command
+The (or @rglos{time signature}) can be set with the @code{\time}
+command
@example
\time 3/4
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
\clef treble
\clef bass
@end example
@lilypond[fragment,quote,notime]
-\set Score.timing = ##f
-\clef violin
+\clef treble
s4_" "
\clef bass
s4_" "
@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
-}
+\time 3/4
+\clef bass
+c2 e4 g2.
+f4 e d c2 r4
@end lilypond
For more elaborate information on
@end quotation
-@node Running LilyPond
-@section Running LilyPond
+@node Running LilyPond for the first time
+@section Running LilyPond for the first time
+
+@c cheesy title to avoid clash with chapter name.
+
+In the last section we explained what kind of things you can 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.
+
+@unnumberedsubsec 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.
-@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?
+Be warned that the first-ever run will take a minute or two, because
+all of the system fonts have to be analyzed first.
+
+@unnumberedsubsec Windows
+
+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, since these insert formatting codes that will confuse
+LilyPond.} and enter
+
+@example
+@{ c'4 e' g' @}
+@end example
+
+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
-@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.
+@unnumberedsubsec 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
-@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}
+installed already, refer to the file @file{INSTALL.txt}.} In your
+text editor, enter the following input and save the file as
+@file{test.ly}
@example
@{ c'4 e' g' @}
You will see something resembling
@example
-lilypond (GNU LilyPond) 2.2.0
-Running lilypond...
-Now processing `/home/fred/ly/test.ly'
+lilypond test.ly
+GNU LilyPond 2.6.0
+Processing `test.ly'
Parsing...
-Interpreting music...[1]
-@emph{... more interesting stuff ... }
-DVI output to `test.dvi'...
-PDF output to `test.pdf'...
-PS output to `test.ps'...
+Interpreting music... [1]
+Preprocessing graphical objects...
+Calculating line breaks... [2]
+Layout output to `test.ps'...
+Converting to `test.pdf'...
@end example
@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{http://www.cs.wisc.edu/~ghost/,Ghostscript}, 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, since these insert formatting codes that will confuse
-LilyPond.} and enter
-
-@example
-@{ c'4 e' g' @}
-@end example
-
-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.
-
+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 More about pitches
@section More about pitches
@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
+of A-flat major, it does get an accidental
-@lilypond[quote,notime,fragment]
-\key as \major
-d'
-@end lilypond
-
-@example
+@lilypond[quote,notime,fragment,relative=1,verbatim]
\key as \major
d
-@end example
+@end lilypond
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{Accidentals}, for some examples how accidentals can be printed
+@ref{Automatic accidentals}, for some examples how accidentals can be printed
according to different rules.
@quotation
@table @asis
@item Accidentals
-see @ref{Accidentals}.
+see @ref{Automatic accidentals}.
@item Key signature
see @ref{Key signature}.
@section Entering ties
@cindex tie
-A tie is created by appending a tilde @samp{~} to the first note
-being tied
+A @rglos{tie} is created by appending a tilde @samp{~} to the first
+note being tied
@lilypond[quote,notime,fragment,verbatim,relative=3]
g4~ g a2~ a4
@section Automatic and manual beams
@cindex beams, by hand
-Beams are drawn automatically
+All @rglos{beam}s are drawn automatically
@lilypond[quote,fragment,relative=2,verbatim]
a8 ais d es r d
a8[ ais] d[ es r d]
@end lilypond
-For more information on beams, see @ref{Beaming}.
+For more information on beams, see @ref{Manual beams}.
Here are key signatures, accidentals and ties in action
-@example
-@{
- \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
-
-@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
-
-
-@lilypond[fragment,quote,noindent,linewidth=50\staffspace]
-\transpose c c' {
+@lilypond[fragment,quote,noindent,linewidth=50\staffspace,verbatim]
+\relative c'' {
\time 4/4
\key g \minor
- \clef violin
+ \clef treble
r4 r8 a8 gis4 b
- a8 d4.~ d e8
+ a8 d4.~ d e,8
fis4 fis8 fis8 eis4 a8 gis~
gis2 r2
}
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
+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.
@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'}
+(comma). Middle C is @code{c'}
-@example
-c'4 c'' c''' \clef bass c c,
-@end example
-
-@lilypond[quote,notime,fragment]
+@lilypond[quote,notime,fragment,verbatim]
c'4 c'' c''' \clef bass c c,
@end lilypond
@end lilypond
@noindent
-The last example shows that music in a high register needs lots of quotes.
+This 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. This is the
most convenient way to copy existing music.
-In relative mode, a note without octavation quotes (i.e. the @code{'}
-or @code{,} after a note) is chosen so it it is closest to the
+In relative mode, a note without octavation quotes (i.e. the @code{'}
+or @code{,} after a note) is chosen so that it is closest to the
previous one. For example, @samp{c f} goes up while @samp{c g} goes
-down
+down.
To use relative mode, add @code{\relative} before the piece of
-music. The first note is taken relative to the middle C
+music. The first note is taken relative to the middle C
@c no , for this sentence
-(i.e. @code{c'})
+(i.e., @code{c'})
relative to the previous one, and changing the octave of a single note
shifts all following notes an octave up or down.
-For more information on Relative octaves see @ref{Relative octaves},
+For more information on relative octaves see @ref{Relative octaves},
and @ref{Octave check}.
In input files, music is represent by so-called @emph{music
-expression}. We have already seen in the previous examples;
+expression}s. We have already seen some in the previous examples;
a single note is a music expression
@lilypond[fragment,quote,verbatim,relative=3]
a4
@end lilypond
-Enclosing group of notes in braces creates a new music
+Enclosing a group of notes in braces creates a new music
expression
@lilypond[fragment,quote,verbatim,relative=3]
{ a4 g4 }
@end lilypond
-Putting a bunch of music expressions (notes) in braces, means that
+Putting a bunch of music expressions (e.g., 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
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 other notes) are combined simultaneously
+two separate notes) are combined simultaneously
@lilypond[fragment,quote,verbatim,relative=3]
<<
- { a4 g }
- { f e }
- { d b }
+ { a4 g }
+ { f e }
+ { d b }
>>
@end lilypond
@cindex expression
@cindex music expression
This is a sequence of expressions, where each expression is contained
-in the next one. The simplest expressions are numbers, and larger
+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.
+@samp{*} and @samp{/}) and parentheses. Like mathematical expressions,
+music expressions can be nested arbitrarily deep, which is necessary
+for complex music like polyphonic scores.
-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 in @ref{TODO}.} which is necessary for complex music like
-polyphonic scores.
+Note that this example only has one staff, whereas
+the previous example had three separate staves. That is because this
+example begins with a single note. To determine the number of staves,
+LilyPond looks at the first element. If it is a single note, there is one
+staff; if there is a simultaneous expression, there is more than one staff.
@lilypond[fragment,quote,verbatim,relative=2]
{
@end lilypond
Music files with deep nesting can be confusing to enter and
-maintain. One convention that helps against this confusion, is
+maintain. One convention that helps against this confusion is
indenting. When entering a file with deep nesting of braces and
angles, it is customary to use an indent that indicates the nesting
-level. Formatting music like this eases reading, and helps you insert
+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,
@end example
Some editors have special support for entering LilyPond, and can help
-indenting source files. See @ref{Editor support}, for more information.
+indenting source files. See @ref{Editor support} for more information.
@node More staves
@section More staves
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{Staff} elements are then combined in parallel with @code{<<} and
@code{>>}, as demonstrated here
@lilypond[quote,fragment,verbatim]
<<
- \new Staff { \clef violin c'' }
+ \new Staff { \clef treble c'' }
\new Staff { \clef bass c }
>>
@end lilypond
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
+notation contexts are created automatically. For more complex pieces, it
is best to mark contexts explicitly. This ensures that each fragment
gets its own stave.
-There are several types of contexts: @code{Staff}, @code{Voice} and
-@code{Score} handle melodic notation. Other contexts are also
-@code{Lyrics} (for setting lyric texts) and @code{ChordNames} (for
-printing chord names).
-
+There are several types of contexts. @code{Staff}, @code{Voice} and
+@code{Score} 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
\relative <<
\new Staff {
\time 3/4
- \clef violin
+ \clef treble
e'2 d4 c2 b4 a8[ a]
b[ b] g[ g] a2.
>>
@end lilypond
-For more information on context see the description in
+For more information on contexts see the description in
@ref{Interpretation contexts}.
c-3 e-5 b-2 a-1
@end lilypond
+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. In most cases, however,
+it is best to let LilyPond determine the articulation directions.
+
+@lilypond[fragment,quote,verbatim,relative=2]
+c_-^1 d^. f^4_2-> e^-_+
+@end lilypond
Dynamic signs are made by adding the markings (with a backslash) to
the note
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
+(de)crescendo, or the command @code{\!} can be used
@lilypond[fragment,quote,verbatim,relative=2]
c2\< c2\ff\> c2 c2\!
@cindex slur
-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
+A @rglos{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
@lilypond[fragment,quote,fragment,relative=2,verbatim]
d4( c16) cis( d e c cis d) e( d4)
@end lilypond
@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 can be
-nested
+A slur looks like a @rglos{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
+can be nested
@lilypond[quote,fragment,relative=2]
c2~( c8 fis fis4 ~ fis2 g2)
@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.
+same time. You cannot have simultaneous slurs or simultaneous
+phrasing slurs.
@lilypond[quote,fragment,relative=2,verbatim]
a8(\( ais b c) cis2 b'2 a4 cis, c\)
@end lilypond
@example
-r4 <c e g>8\>( <c e g> <c e g> <c f a>8\!)
+r4 <c e g>8\>( <c e g> <c e g> <c f a>\!)
@end example
@lilypond[quote,relative=1,fragment]
\slurUp
-r4 <c e g>8\>( <c e g> <c e g> <c f a>8\!)
+r4 <c e g>8\>( <c e g> <c e g> <c f a>\!)
@end lilypond
-
-
-@node Basic rhythmical commands
-@section Basic rhythmical commands
+@node Advanced rhythmic commands
+@section Advanced rhythmic commands
@cindex pickup
@cindex anacruse
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; after @code{%} 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
+introduces a line comment; after @code{%} the rest of the line is
+ignored. A block comment 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
@example
% notes for twinkle twinkle follow
-c4 c g' g a a
+ c4 c g' g a a g2
%@{
This line, and the notes below
%@}
@end example
+@c TODO post-2.6 reorg
+@c This is good info, but I wouldn't call it a comment. IMO it should
+@c be moved somewhere else.
+
@cindex versioning
There is a special statement that is a kind of comment. The @code{\version}
statement marks for which version of LilyPond the file was written.
-To mark a file for version 2.1.17, use
+To mark a file for version 2.6.0, use
@example
-\version "2.1.17"
+\version "2.6.0"
@end example
@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
+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.
@lilypond[quote,verbatim,fragment,raggedright]
\relative {
- r4 c \times 2/3 { f g g }
- \times 2/3 { g4( a2) }
+ r4 c \times 2/3 { f g g }
+ \times 2/3 { g4( a2) }
}
@end lilypond
@lilypond[fragment,quote,raggedright]
<<
\relative {
- \time 2/4
- f4 f c' c
- }
- \addlyrics { Twin -- kle twin -- kle }
+ \time 2/4
+ f4 f c' c
+ }
+ \addlyrics { Twin -- kle twin -- kle }
>>
@end lilypond
@cindex chords
@cindex chord names
+@c TODO: revise this, \chords { } is shorter and more intuitive.
+
In popular music, it is common to denote accompaniment with chord names.
Such chords can be entered like notes,
@lilypond[quote,verbatim,raggedright]
-\chords { c2 f4. g8 }
+\chordmode { c2 f4. g8 }
@end lilypond
@noindent
Now each pitch is read as the root of a chord instead of a note.
-This mode is switched on with @code{\chords}
-
+This mode is switched on with @code{\chordmode}
Other chords can be created by adding modifiers after a colon. The
following example shows a few common modifiers
-@lilypond[quote,verbatim]
-\chords { c2 f4:m g4:maj7 gis1:dim7 }
+@lilypond[quote,verbatim,raggedright]
+\chordmode { c2 f4:m g4:maj7 gis1:dim7 }
@end lilypond
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 }
+line for themselves. This is achieved by using @code{\chords} instead
+of @code{\chordmode}. This uses the same syntax as @code{\chordmode},
+but renders the notes in a @code{ChordNames} context, with the
+following result.
+
+@lilypond[quote,verbatim,raggedright]
+\chords { c2 f4.:m g4.:maj7 gis8:dim7 }
@end lilypond
@cindex lead sheet
@example
<<
- \new ChordNames \chords @{ @emph{chords} @}
+ \chords @{ @emph{chords} @}
@emph{the melody}
\addlyrics @{ @emph{the text} @}
>>
@lilypond[quote,raggedright]
<<
- \new ChordNames \chords { r2 c:sus4 f }
+ \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 __ }
+ \addlyrics { I want to break free __ }
>>
@end lilypond
@end example
-When the file is processed the title and composer are printed above
-the music. More information on titling can be found in @ref{Titling}.
+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}.
@node Single staff polyphony
them down.
Entering such parts is done by entering each voice as a sequence (with
-@code{@{...@}}), and combining those simultaneously, separating the
+@code{@{...@}}), and combining these simultaneously, separating the
voices with @code{\\}
@lilypond[quote,verbatim,relative=2,fragment]
\new Staff <<
\clef bass
{ <c, g>1 ~ <c g>4 } \\
- { f4 d e2 ~ e4}
+ { e,4 d e2 ~ e4}
>>
>>
@end lilypond
-More features of polyphonic typesetting in the notation manual are
-described in @ref{Polyphony}.
+More features of polyphonic typesetting are described in this manual
+in section @ref{Polyphony}.
@node 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},
>>
@end lilypond
-More information on formatting piano music is in @ref{Piano music}.
+More information on formatting piano music is given in @ref{Piano music}.
@node Organizing larger pieces
places. The following example uses the above variables
@example
- \paper @{
- \aFivePaper
- linewidth = \width
- @}
- @{ c4^\name @}
+\paper @{
+ \aFivePaper
+ linewidth = \width
+@}
+@{ c4^\name @}
@end example
-More information on the possible uses of identifiers is in the
+More information on the possible uses of identifiers is given in the
technical manual, in @ref{Input variables and Scheme}.
@c fixme: the ref is too technical.
@node An orchestral part
@section An orchestral part
-In orchestral music, all notes are printed twice. Once in a part for
+In orchestral music, all notes are printed twice. Once in a part for
the musicians, and once in a full score for the conductor. Identifiers can
-be used to avoid double work. The music is entered once, and stored in
+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.
+both the part and the full score.
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
+of a horn/@/bassoon duo
@example
-hornNotes = \relative c @{
+hornNotes = \relative c @{
\time 2/4
r4 f8 a cis4 f e d
@}
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
+@code{\hornNotes}, should be transposed by a fifth upwards. Sounding
+@samp{f} is denoted by notated @code{c'}, which corresponds with the
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
- }
+\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
@lilypond[quote,raggedright]
\transpose f c' \relative c {
- \time 2/4
- \set Score.skipBars = ##t
- R2*3
- r4 f8 a cis4 f e d
- }
+ \time 2/4
+ \set Score.skipBars = ##t
+ R2*3
+ r4 f8 a cis4 f e d
+}
@end lilypond
\include "bassoon-music.ly"
\include "horn-music.ly"
- <<
- \new Staff \hornNotes
- \new Staff \bassoonNotes
- >>
+<<
+ \new Staff \hornNotes
+ \new Staff \bassoonNotes
+>>
@end example
@noindent
leading to
@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
- }
- >>
+\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