X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Ftutorial.itely;h=8549412cd8c38cad440103e8491dc1c4450aa593;hb=644aaf7fa495930384e446df894b12124b4fd727;hp=ccdb7a739049c12a7f0925ddbe643d4f8a1d905e;hpb=9cf485743fe1f5f6e2de3d2c5e070b67055edeb7;p=lilypond.git diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index ccdb7a7390..8549412cd8 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -10,15 +10,15 @@ @ignore Tutorial guidelines: - unless you have a really good reason, use either - @l ilypond[quote,ragged-right,verbatim] + @l ilypond[verbatim,quote,ragged-right] or - @l ilypond[quote,ragged-right,verbatim,fragment,relative=2] + @l ilypond[verbatim,quote,ragged-right,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. + correct Dutch naming, but let's not confuse people with this + until we get to the Basic notation chapter. @end ignore @@ -38,15 +38,15 @@ Tutorial guidelines: @chapter Tutorial 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. +language and how to produce printed music. After this first +contact we will explain how to create common musical notation. @ifhtml Many people learn programs by trying and fiddling around with the program. This is also possible with LilyPond. If you click on a picture in the HTML version of this manual, you will see the exact -LilyPond input that was used to generate that image. -Try it on this image +LilyPond input that was used to generate that image. Try it on +this image @c no verbatim here @lilypond[quote,ragged-right] @@ -55,11 +55,12 @@ Try it on this image } @end lilypond -By cutting and pasting everything in the @qq{ly snippet} section, 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. +By cutting and pasting everything in the @qq{ly snippet} section, +you have a starting template for experiments. If you like +learning in this way, you will probably want to print out or +bookmark the @ruser{Cheat sheet}, which is a table listing of the +most common commands for quick reference. + @end ifhtml @menu @@ -87,8 +88,8 @@ This section gives a basic introduction to working with LilyPond. @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 +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 @@ -107,68 +108,76 @@ the result looks like this } @end lilypond -@strong{Warning:} Every piece of LilyPond input needs to have @strong{@{ curly -braces @}} placed around the input. The braces should 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! +@strong{Warning:} Every piece of LilyPond input needs to have +@strong{@{ curly braces @}} placed around the input. The braces +should 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. +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. +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. +If you double click @code{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, it will take a minute -or two because all of the system fonts have to be analyzed first. +Be warned that the first time you ever run LilyPond, it will take +a minute or two because all of the system fonts have to be +analyzed first. For future use of LilyPond, you should begin by selecting @q{New} -or "@q{Open}. You must save your file before typesetting it. If any errors -occur in processing, please see the log window. +or @q{Open}. You must save your file before typesetting it. If +any errors occur in processing, please see the log window. @subsubheading Windows -On Windows, if you double-click in the LilyPond icon on the Desktop, it -will open a simple text editor with an example file. Save it, for -example, to @file{test.ly} on your Desktop and then double-click on the -file to process it (the file icon looks like a note). After some -seconds, you will get a file @file{test.pdf} -on your desktop. Double-click on this PDF file to view the typeset +On Windows, if you double-click in the LilyPond icon on the +Desktop, it will open a simple text editor with an example file. +Save it, for example, to @file{test.ly} on your Desktop and then +double-click on the file to process it (the file icon looks like a +note). After some seconds, you will get a file @file{test.pdf} on +your desktop. Double-click on this PDF file to view the typeset score. An alternative method to process the @file{test.ly} file -is to drag and drop it onto the LilyPond icon using your mouse pointer. +is to drag and drop it onto the LilyPond icon using your mouse +pointer. -To edit an existing @file{.ly} file, right-click on it and select -@qq{Edit source}. To get an empty file to start from, run the editor -as described above and use @qq{New} in the @qq{File} menu. +To edit an existing @file{.ly} file, right-click on it and +select @qq{Edit source}. To get an empty file to start from, run +the editor as described above and use @qq{New} in +the @qq{File} menu. -Double-clicking the file does not only result in a PDF file, but also -produces a @file{.log} file that contains some information on what LilyPond -has done to the file. If any errors occur, please examine this file. +Double-clicking the file does not only result in a PDF file, but +also produces a @file{.log} file that contains some information on +what LilyPond has done to the file. If any errors occur, please +examine this file. -Note that there are several other text editors available, with better -support for LilyPond, see @ref{Editor support} for more information. +Note that there are several other text editors available, with +better support for LilyPond, see @rprogram{Text editor support}, +for more information. @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}. The -easiest editing environment is @file{LilyPondTool}. See -@ref{Editor support} for more information.}. In your +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}. +The easiest editing environment is @file{LilyPondTool}. See +@rprogram{Text editor support}, for more information.}. In your text editor, enter the following input and save the file as @file{test.ly} @@ -207,48 +216,51 @@ Converting to `test.pdf'... 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 such 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.} +@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 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] +@lilypond[verbatim,quote,ragged-right] { c' e' g' e' } @end lilypond @noindent -This behavior may be altered, but in most cases these automatic values -are useful. +This behavior may be altered, but in most cases these automatic +values are useful. @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}. +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] +@lilypond[verbatim,quote,ragged-right] \relative c' { c d e f g a b c } @end lilypond -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: +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: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c' { d f a g c b f d @@ -256,14 +268,15 @@ D to the previous note. We can create melodies which have larger intervals: @end lilypond @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. +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. +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] +@lilypond[verbatim,quote,ragged-right] \relative c'' { a a, c' f, g g'' a,, f' @@ -271,20 +284,21 @@ lower the octave by adding a comma @code{,} to the note name. @end lilypond @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. +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. @subheading Durations (rhythms) -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. +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. -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { a1 a2 a4 a8 a @@ -294,11 +308,13 @@ automatically. @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. +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. +To create @rglos{dotted note}s, add a dot @samp{.} to the duration +number. -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { a a a4. a8 a8. a16 a a8. a8 a4. @@ -310,7 +326,7 @@ To create @rglos{dotted notes}, add a dot @samp{.} to the duration number. A @rglos{rest} is entered just like a note with the name @samp{r}: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { a r r2 r8 a r4 r4. r8 @@ -320,9 +336,10 @@ A @rglos{rest} is entered just like a note with the name @samp{r}: @subheading Time signature -The @rglos{time signature}) can be set with the @code{\time} command: +The @rglos{time signature}) can be set with the @code{\time} +command: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { \time 3/4 a4 a a @@ -338,7 +355,7 @@ The @rglos{time signature}) can be set with the @code{\time} command: The @rglos{clef} can be set using the @code{\clef} command: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c' { \clef treble c1 @@ -356,7 +373,7 @@ The @rglos{clef} can be set using the @code{\clef} command: Here is a small example showing all these elements together: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c, { \time 3/4 \clef bass @@ -365,17 +382,17 @@ Here is a small example showing all these elements together: } @end lilypond -@moreinfo +@seealso @quotation @table @asis @item Entering pitches and durations -see @ref{Pitches} and @ref{Durations}. +see @ruser{Pitches}, and @ruser{Durations}. @item Rests -see @ref{Rests}. +see @ruser{Rests}. @item Time signatures and other timing commands -see @ref{Time signature}. +see @ruser{Time signature}. @item Clefs -see @ref{Clef}. +see @ruser{Clef}. @end table @end quotation @@ -383,36 +400,34 @@ see @ref{Clef}. @node Working on text files @subsection Working on text files -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{%@{ .. %@}}. +LilyPond input files are similar to source files in many common +programming languages. They are case sensitive, and white-space +is generally equivalent. Expressions are formed with curly braces +@{ @}, and comments are denoted with @code{%} or @code{%@{ ... +%@}}. -If the previous sentence sounds like nonsense, don't worry! We'll explain -what all these terms mean: +If the previous sentence sounds like nonsense, don't worry! We'll +explain what all these terms mean: @itemize @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. +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 @tie{} @tie{} @tie{} d e @} } and -@example - @{ -c d - e @} -@end example +it does not matter how many spaces (or new lines) you add. +@code{@{ c d e @}} means the same thing as @code{@{ c @tie{} +@tie{} @tie{} d e @}} and @example @{ c d e +@} @end example @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: +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 @{ c d e @@ -420,27 +435,28 @@ is to indent code blocks with either a tab or two spaces: @end example @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. +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. +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 +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. (Comments do not nest.) The following +fragment shows possible uses for comments @example % notes for twinkle twinkle follow @@ -458,21 +474,21 @@ ignored. The following fragment shows possible uses for comments @end itemize There are more tips for constructing input files in -@ref{Suggestions for writing LilyPond files}. +@ruser{Suggestions for writing LilyPond files}. @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. +As we saw in @ruser{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: +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 \relative c'' @{ @@ -480,13 +496,13 @@ copy and paste the displayed input, but you @strong{must} add the @} @end example -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. +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. @node Single staff notation @@ -508,30 +524,30 @@ on one staff. @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. +As we saw in @ruser{Simple notation}, LilyPond calculates the +pitch of each note relative to the previous one@footnote{There is +another mode of entering pitches, @ruser{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 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] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2 fis c2 ges @end lilypond -@moreinfo +@seealso @quotation @table @asis @item Relative octaves -see @ref{Relative octaves}. +see @ruser{Relative octaves}. @item Octave check -see @ref{Octave check}. +see @ruser{Octave check}. @end table @end quotation @@ -542,15 +558,15 @@ see @ref{Octave check}. @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}.} +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 @ruser{Note +names in other languages}.} -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] cis1 ees fisis, aeses @end lilypond @@ -560,7 +576,7 @@ cis1 ees fisis, aeses The key signature is set with the command @code{\key} followed by a pitch and @code{\major} or @code{\minor}. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \key d \major a1 \key c \minor @@ -572,54 +588,55 @@ a @subheading Warning: key signatures and pitches 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. +pitches and the key signature. The key signature only affects 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. 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. +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. In this example -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \key d \major d cis fis @end lilypond @noindent -No note has a printed accidental, but you must still add the @samp{is} to -@code{cis} and @code{fis}. +No note has a printed accidental, but you must still add the +@samp{is} to @code{cis} and @code{fis}. -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: +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[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \key aes \major e @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{Automatic accidentals} for some examples how accidentals can be printed -according to different rules. +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 @ruser{Automatic accidentals}, for some examples +how accidentals can be printed according to different rules. -@moreinfo +@seealso @quotation @table @asis @item Accidentals -see @ref{Accidentals} and @ref{Automatic accidentals}. +see @ruser{Accidentals}, and @ruser{Automatic accidentals}. @item Key signature -see @ref{Key signature}. +see @ruser{Key signature}. @end table @end quotation @@ -629,10 +646,10 @@ see @ref{Key signature}. @cindex ties @subheading Ties -A @rglos{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,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] g4~ g c2~ c4 ~ c8 a8 ~ a2 @end lilypond @@ -640,10 +657,11 @@ c4 ~ c8 a8 ~ a2 @cindex slurs @subheading Slurs -A @rglos{slur} is a curve drawn across many notes. The starting note -and ending note are marked with @samp{(} and @samp{)} respectively. +A @rglos{slur} is a curve drawn across many notes. The starting +note and ending note are marked with @samp{(} and @samp{)} +respectively. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] d4( c16) cis( d e c cis d) e( d4) @end lilypond @@ -651,13 +669,12 @@ d4( c16) cis( d e c cis d) e( d4) @cindex phrasing slurs @subheading Phrasing slurs -@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. +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. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] a8(\( ais b c) cis2 b'2 a4 cis,\) @end lilypond @@ -666,25 +683,25 @@ a8(\( ais b c) cis2 b'2 a4 cis,\) @cindex slurs versus ties @subheading Warnings: slurs vs. ties -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. +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. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2~( c8 fis fis4 ~ fis2 g2) @end lilypond -@moreinfo +@seealso @quotation @table @asis @item Ties -see @ref{Ties}. +see @ruser{Ties}. @item Slurs -see @ref{Slurs}. +see @ruser{Slurs}. @item Phrasing slurs -see @ref{Phrasing slurs}. +see @ruser{Phrasing slurs}. @end table @end quotation @@ -697,36 +714,37 @@ see @ref{Phrasing slurs}. @cindex staccato @subheading Articulations -Common @rglos{articulations} can be added to a note using a dash @samp{-} -and a single character: +Common @rglos{articulation}s can be added to a note using a dash +@samp{-} and a single character: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c-. c-- c-> c-^ c-+ c-_ @end lilypond @cindex fingering @subheading Fingerings -Similarly, fingering indications can be added to a note using a dash -(@samp{-}) and the digit to be printed: +Similarly, fingering indications can be added to a note using a +dash (@samp{-}) and the digit to be printed: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] 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. However, in most cases -it is best to let LilyPond determine the articulation directions. +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. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c_-^1 d^. f^4_2-> e^-_+ @end lilypond @subheading Dynamics -Dynamic signs are made by adding the markings (with a backslash) to -the note +Dynamic signs are made by adding the markings (with a backslash) +to the note -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c\ff c\mf c\p c\pp @end lilypond @@ -734,23 +752,23 @@ c\ff c\mf c\p c\pp @cindex decrescendo @cindex crescendo -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 +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] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2\< c2\ff\> c2 c2\! @end lilypond -@moreinfo +@seealso @quotation @table @asis @item Articulations -see @ref{Articulations}. +see @ruser{Articulations}. @item Fingering -see @ref{Fingering instructions}. +see @ruser{Fingering instructions}. @item Dynamics -see @ref{Dynamics}. +see @ruser{Dynamics}. @end table @end quotation @@ -761,26 +779,26 @@ see @ref{Dynamics}. @cindex beams, by hand All @rglos{beam}s are drawn automatically: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] a8 ais d ees r d c16 b a8 @end lilypond @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{]}. +manually. Mark the first note to be beamed with @samp{[} and the +last one with @samp{]}. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] a8[ ais] d[ ees r d] a b @end lilypond -@moreinfo +@seealso @quotation @table @asis @item Automatic beams -see @ref{Automatic beams}. +see @ruser{Automatic beams}. @item Manual beams -see @ref{Manual beams}. +see @ruser{Manual beams}. @end table @end quotation @@ -794,10 +812,10 @@ see @ref{Manual beams}. @subheading Partial measure 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. +@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] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \partial 8 f8 c2 d @end lilypond @@ -807,11 +825,12 @@ f8 c2 d @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 +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 -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \times 2/3 { f8 g a } \times 2/3 { c r c } \times 2/3 { f,8 g16[ a g a] } @@ -823,25 +842,25 @@ of music is multiplied by the fraction. Triplets make notes occupy @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 +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} -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2 \grace { a32[ b] } c2 c2 \appoggiatura b16 c2 c2 \acciaccatura b16 c2 @end lilypond -@moreinfo +@seealso @quotation @table @asis @item Grace notes -see @ref{Grace notes}, +see @ruser{Grace notes}, @item Tuplets -see @ref{Tuplets}, +see @ruser{Tuplets}, @item Pickups -see @ref{Partial measures}. +see @ruser{Partial measures}. @end table @end quotation @@ -849,20 +868,20 @@ see @ref{Partial measures}. @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. +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. +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:: +* Single staff polyphony:: @end menu @@ -870,24 +889,25 @@ one voice on the same staff. @subsection Music expressions explained 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. +expressions}. A single note is a music expression, although it is +not valid input all on its own. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] a4 @end lilypond -Enclosing a group of notes in braces creates a new music expression: +Enclosing a group of notes in braces creates a new music +expression: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] { a4 g4 } @end lilypond -Putting a group of music expressions (e.g. notes) in braces means that -they are in sequence (i.e. each one follows the previous one). The result -is another music expression: +Putting a group of music expressions (e.g. notes) in braces means +that they are in sequence (i.e. each one follows the previous +one). The result is another music expression: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] { { a4 g } f g } @end lilypond @@ -895,13 +915,14 @@ is another music expression: 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, -simply 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: - -@lilypond[quote,ragged-right,verbatim] +parallel. To indicate that two voices should play at the same +time, simply 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: + +@lilypond[verbatim,quote,ragged-right] \relative c'' { << { a4 g } @@ -911,23 +932,24 @@ containing two separate notes) are combined simultaneously: } @end lilypond -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. +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. -@strong{Warning}: each note is relative to the -previous note in the input, not relative to the @code{c''} in the -initial @code{\relative} command. +@strong{Warning}: each note is relative to the previous note in +the input, not relative to the @code{c''} in the initial +@code{\relative} command. @subheading Simultaneous music expressions: single staff -To determine the number of staves in a piece, LilyPond looks at the first -expression. If it is a single note, there is one staff; if there is a -simultaneous expression, there is more than one staff. +To determine the number of staves in a piece, LilyPond looks at +the first expression. 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] +@lilypond[verbatim,quote,ragged-right] \relative c'' { c2 <> << { e f } { c <> } >> @@ -938,10 +960,10 @@ simultaneous expression, there is more than one staff. @cindex music expression @subheading Analogy: mathematical expressions -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, +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 1 @@ -953,28 +975,30 @@ you can make arbitrarily complex and large expressions. For example, ((1 + 2) * 3) / (4 * 5) @end example -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. +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 Multiple staves @subsection Multiple staves -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. +As we saw in @ruser{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. 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{>>}: +@code{Staff} elements are then combined in parallel with @code{<<} +and @code{>>}: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { << \new Staff { \clef treble c } @@ -983,27 +1007,27 @@ staff is marked by adding @code{\new Staff} before it. These } @end lilypond -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. +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. +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. +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 +Time signatures entered in one staff affects all other staves@footnote{This behavior may be changed if desired; see -@ref{Changing defaults} for details.}. +@ruser{Polymetric notation}, for details.}. On the other hand, the +key signature of one staff does @emph{not} affect other staves. -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { << \new Staff { \clef treble \time 3/4 c } @@ -1020,9 +1044,10 @@ staves@footnote{This behavior may be changed if desired; see @cindex staff switch, manual @cindex cross staff voice, manual -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 typeset in two staves connected by a brace. +Printing such a staff is similar to the polyphonic example in +@ruser{Multiple staves}, but now this entire expression is +inserted inside a @code{PianoStaff}: @example \new PianoStaff << @@ -1033,7 +1058,7 @@ but now this entire expression is inserted inside a @code{PianoStaff}: Here is a small example -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { \new PianoStaff << \new Staff { \time 2/4 c4 e g g, } @@ -1042,40 +1067,64 @@ Here is a small example } @end lilypond -@moreinfo +@seealso @quotation -See @ref{Piano music}. +See @ruser{Piano music}. @end quotation +@node Combining notes into chords +@subsection Combining notes into chords + +@cindex chords +Chords can be made by surrounding pitches with single angle +brackets. Angle brackets are the symbols @samp{<} and @samp{>}. + +@lilypond[quote,fragment,verbatim,relative=2,fragment] +r4 4 2 +@end lilypond + +You can combine markings like beams and ties with chords. They +must be placed outside the angle brackets + +@lilypond[quote,fragment,verbatim,relative=2,fragment] +r4 8[ ]~ 2 +@end lilypond + +@lilypond[quote,fragment,verbatim,relative=2,fragment] +r4 8\>( 4 \!) +@end lilypond + + @node Single staff polyphony @subsection Single staff polyphony @cindex polyphony @cindex multiple voices @cindex voices, more -- on a staff -When different melodic lines are combined on a single staff they are -printed as polyphonic voices; each voice has its own stems, slurs and -beams, and the top voice has the stems up, while the bottom voice has -them down. +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. -Entering such parts is done by entering each voice as a sequence (with -@code{@{...@}}) and combining these simultaneously, separating the -voices with @code{\\} +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] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] << { a4 g2 f4~ f4 } \\ { r4 g4 f2 f4 } >> @end lilypond -For polyphonic music typesetting, spacer rests can also be convenient; -these are rests that do not print. 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}), +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}), -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] << { a4 g2 f4~ f4 } \\ { s4 g4 f2 f4 } @@ -1099,35 +1148,12 @@ Again, these expressions can be nested arbitrarily. >> @end lilypond -@moreinfo +@seealso @quotation -See @ref{Basic polyphony}. +See @ruser{Basic polyphony}. @end quotation -@node Combining notes into chords -@subsection Combining notes into chords - -@cindex chords -Chords can be made by surrounding pitches with single angle brackets. Angle -brackets are the symbols @samp{<} and @samp{>}. - -@lilypond[quote,fragment,verbatim,relative=2,fragment] -r4 4 2 -@end lilypond - -You can combine markings like beams and ties with chords. They must -be placed outside the angle brackets - -@lilypond[quote,fragment,verbatim,relative=2,fragment] -r4 8[ ]~ 2 -@end lilypond - -@lilypond[quote,fragment,verbatim,relative=2,fragment] -r4 8\>( 4 \!) -@end lilypond - - @node Songs @section Songs @@ -1146,7 +1172,7 @@ This section introduces vocal music and simple song sheets. @cindex Songs Consider a simple melody: -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \relative c'' { a4 e c8 e r4 b2 c4( d) @@ -1157,7 +1183,7 @@ 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] +@lilypond[verbatim,quote,ragged-right] << \relative c'' { a4 e c8 e r4 @@ -1169,11 +1195,11 @@ syllable with a space. @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{__}: +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] +@lilypond[verbatim,quote,ragged-right] << \relative c'' { a4 e c8 e r4 @@ -1197,10 +1223,10 @@ resulting in a centered hyphen between two syllables >> @end lilypond -@moreinfo +@seealso @quotation More options, such as putting multiple stanzas below a melody, are -discussed in @ref{Vocal music}. +discussed in @ruser{Vocal music}. @end quotation @@ -1211,37 +1237,37 @@ discussed in @ref{Vocal music}. @cindex chords @cindex chord names -In popular music it is common to denote accompaniment with chord names. -Such chords can be entered like notes, +In popular music it is common to denote accompaniment with chord +names. Such chords can be entered like notes, -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] \chordmode { c2 f4. g8 } @end lilypond Now each pitch is read as the root of a chord instead of a note. -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: +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,ragged-right] +@lilypond[verbatim,quote,ragged-right] \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 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: +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[quote,verbatim,ragged-right] +@lilypond[verbatim,quote,ragged-right] \chords { c2 f4.:m g4.:maj7 gis8:dim7 } @end lilypond @cindex lead sheet -When put together, chord names, lyrics and a melody form -a lead sheet, +When put together, chord names, lyrics and a melody form a lead +sheet, -@lilypond[quote,verbatim,ragged-right] +@lilypond[verbatim,quote,ragged-right] << \chords { c2 g:sus4 f e } \relative c'' { @@ -1253,19 +1279,19 @@ a lead sheet, @end lilypond -@moreinfo +@seealso @quotation -A complete list of modifiers and other options for layout can be found -in @ref{Chords}. +A complete list of modifiers and other options for layout can be +found in @ruser{Chords}. @end quotation @node Final touches @section Final touches -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. +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. @menu * Version number:: @@ -1281,32 +1307,33 @@ of the manual. @subsection Version number @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 +The @code{\version} statement records the version of LilyPond that +was used to write the file: @example -\version "2.11.15" +\version "2.11.23" @end example @noindent -at the top of your LilyPond file. +by convention, this is placed at the top of your LilyPond file. 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. +smoothly. Changes in the syntax are handled with a special +program, @file{convert-ly} (see @rprogram{Updating files with +convert-ly}), and it uses @code{\version} to determine what rules +to apply. @node Adding titles @subsection Adding titles -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 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 @ruser{Version number}. @example -\version "2.11.15" +\version "2.11.23" \header @{ title = "Symphony" composer = "Me" @@ -1318,22 +1345,23 @@ the @ref{Version number}. @} @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{Creating -titles}. +When the file is processed, the title and composer are printed +above the music. More information on titling can be found in +@ruser{Creating titles}. @node Absolute note names @subsection Absolute note names -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. +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. 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. +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. @lilypond[quote,verbatim,ragged-right] { @@ -1360,8 +1388,8 @@ Here is a four-octave scale: } @end lilypond -As you can see, writing a melody in the treble clef involves a lot of -quote ' marks. Consider this fragment from Mozart: +As you can see, writing a melody in the treble clef involves a lot +of quote @code{'} marks. Consider this fragment from Mozart: @lilypond[quote,verbatim,ragged-right] { @@ -1372,9 +1400,9 @@ quote ' marks. Consider this fragment from Mozart: } @end lilypond -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: +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[quote,verbatim,ragged-right] \relative c'' { @@ -1385,25 +1413,29 @@ to read: } @end lilypond -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. +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. +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}. +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}. -With identifiers (also known as variables or macros), we can break up -complex music expressions. An identifier is assigned as follows +With identifiers (also known as variables or macros), we can break +up complex music expressions. An identifier is assigned as +follows @example namedMusic = @{ @dots{} @} @@ -1411,8 +1443,9 @@ namedMusic = @{ @dots{} @} 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. +(@code{\namedMusic}, just like a normal LilyPond command). +Identifiers must be defined @emph{before} the main music +expression. @lilypond[quote,verbatim,ragged-right] violin = \new Staff { \relative c'' { @@ -1434,8 +1467,8 @@ cello = \new Staff { \relative c { The name of an identifier must 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, +It is possible to use variables for many other types of objects in +the input. For example, @example width = 4.5\cm @@ -1459,39 +1492,43 @@ places. The following example uses the above variables: @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 +piece or two. Start with one of the @ruser{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}. +@ruser{Basic notation}. If you want to write for an instrument +ensemble that is not covered in the templates, take a look at +@ruser{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. +Once you have written a few short pieces, read the rest of the +Learning Manual (chapters 3-5). There's nothing wrong with +reading it 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. +As we saw in @ruser{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{@{ @}}. +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 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 +@code{\relative} or 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. +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. + +For information about the structure of the rest of the manual, see +@ruser{About this manual}.