]> git.donarmstrong.com Git - lilypond.git/commitdiff
* ly/spanners-init.ly: enddecr/ endcr.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 18 Apr 2003 10:22:58 +0000 (10:22 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 18 Apr 2003 10:22:58 +0000 (10:22 +0000)
* Documentation/user/tutorial.itely (Fine tuning a piece): editing
of tutorial

ChangeLog
Documentation/user/introduction.itely
Documentation/user/latex-lilypond-example.latex
Documentation/user/lilypond-book.itely
Documentation/user/refman.itely
Documentation/user/tutorial.itely
input/tutorial/brahms-tweaked.ly
input/tutorial/os-score.ly
ly/spanners-init.ly

index 155dcb5c264cdef6e687105ecaba05b00ae7af31..fa4f144bc6420acb3d99a89c5a06b5d254a946b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2003-04-18  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+       * Documentation/user/*.itely: various updates.
+
+       * ly/spanners-init.ly: enddecr/ endcr.
+
        * Documentation/user/tutorial.itely (Fine tuning a piece): editing
        of tutorial
 
index 7c7ad42aa5e98c0b6d43e0051124509c2e3ae9cc..88adc92c6dc68dfbceaa5a50eb47c61c2e2f8f37 100644 (file)
@@ -358,5 +358,23 @@ facility.
 @cindex overview of manual
 @cindex idiom
 
-
-
+[TODO: edit following]
+
+This is the end of the tutorial.  If you read everything until this point
+(and understood everything!) then you are now an accomplished lilypond
+hacker.  From here you should try fiddling with input files or making your
+own input files.  Come back to the reference manual for more information
+if you get stuck!
+
+Do not forget to check out the 
+@ifhtml
+@uref{../../../../input/template/out-www/template.html,templates},
+@uref{../../../../input/test/out-www/test.html,examples} and 
+@uref{../../../../input/regression/out-www/regression.html,feature tests}.
+@end ifhtml
+@ifnothtml
+templates, examples and feature tests.
+@end ifnothtml
+If you want to see real action LilyPond, head over to
+@uref{http://www.mutopiaproject.org}, which has many examples of
+classical music typeset with LilyPond.
index 155795a5266ef4602c77e1a32d61213e6383a673..72e7e2fd9c4ab91a58a42b2667e71033dbabe13b 100644 (file)
@@ -113,7 +113,7 @@ c' e'
 has also the \verb|eps| options, but is not floating because there
 are an emptry line before and after the lilypond block. That is
 correct behaviour because it follows La\TeX{} convention that an
-empty line signals a new paragraph. Note that the \verb|eps| option
+empty line signals a new paragraph. The \verb|eps| option
 is not necessary when you want the music in a paragraph on its own.
 
 \subsection{More examples}
index e3484788f3c4bcd6601d6b73a21964261b2c0b4e..bc96c59664cc76458e7c14c75a9fa351ba490377 100644 (file)
@@ -389,10 +389,10 @@ Specify the document type to process: @code{html}, @code{latex} or
 @code{texi} (the default).  @command{lilypond-book} usually figures this
 out automatically.
 
-Note that the @code{texi} document type produces a DVI file; to
-convert a texinfo document to @code{html}, you should use the additional
-format @code{texi-html} instead of @code{texi} to convert lilypond
-fragments to PNG images.
+The @code{texi} document type produces a DVI file; to convert a
+texinfo document to @code{html}, you should use the additional format
+@code{texi-html} instead of @code{texi} to convert lilypond fragments
+to PNG images.
 
 @item @option{--default-music-fontsize=@var{sz}pt}
 Set the fontsize to use for LilyPond if no fontsize is given
index 9198b04fa6bdca23be0b8009168cadabe9681ee5..63a03e43c7e2e0c5d61452d1b3f9479ec9fe4312 100644 (file)
@@ -108,12 +108,11 @@ The verbose syntax for pitch specification is
 
 where @var{scmpitch} is a pitch scheme object.
 
-In Note and Chord mode, pitches may be designated by names.  The default
-names are the Dutch note names.  The notes are specified by the letters
-@code{a} through @code{g}, while the octave is formed with notes ranging
-from @code{c} to @code{b}.  The pitch @code{c} is an octave below
-middle C and the letters span the octave above that C.  Here's an example
-which should make things more clear:
+In Note and Chord mode, pitches may be designated by names.  The
+default names are the Dutch note names.  The notes are specified by
+the letters @code{a} through @code{g}, while the octave is formed with
+notes ranging from @code{c} to @code{b}.  The pitch @code{c} is an
+octave below middle C and the letters span the octave above that C.
 
 @lilypond[fragment,verbatim]
 \clef bass
@@ -123,15 +122,15 @@ which should make things more clear:
 @cindex note names, Dutch
 
 In Dutch, a sharp is formed by adding @code{-is} to the end of a pitch
-name and a flat is formed by adding @code{-es}.  Double sharps and double
-flats are obtained by adding @code{-isis} or @code{-eses}.  @code{aes}
-and @code{ees} are contracted to @code{as} and @code{es} in Dutch, but
-both forms are accepted.
+name and a flat is formed by adding @code{-es}.  Double sharps and
+double flats are obtained by adding @code{-isis} or @code{-eses}.
+@code{aes} is contracted to @code{as} in Dutch, but both forms are
+accepted. Similarly, both @code{es} and @code{ees} are accepted.
 
-LilyPond has predefined sets of note names for various other languages.
-To use them, simply include the language specific init file.  For
-example: @code{\include "english.ly"}.  The available language files and
-the note names they define are:
+There are predefined sets of note names for various other languages.
+To use them,  include the language specific init file.  For
+example: @code{\include "english.ly"}.  The available language files
+and the note names they define are:
 
 @anchor{note name}
 @anchor{note names}
@@ -189,7 +188,7 @@ ways. For more information, refer to @ref{Accidentals}.
 @subsection Rests
 @cindex Rests
 
-Rests are entered like notes, with a ``note name'' of `@code{r}':
+Rests are entered like notes, with the note name @code{r}.
 
 @lilypond[singleline,verbatim]
 r1 r2 r4 r8
@@ -223,21 +222,7 @@ with note name `@code{s}' or with @code{\skip @var{duration}}:
 a2 s4 a4 \skip 1 a4 
 @end lilypond
 
-@c FIXME: in Lyrics mode, we have " " and _
-
-In Lyrics mode, you can make invisible syllables by entering `@code{" "}' 
-or `@code{_}':
-@lilypond[singleline,verbatim,quote]
-<
-  \context Lyrics \lyrics { lah2 di4 " " dah2 _4 di }
-  \notes\relative c'' { a2 a4 a a2 a4 a }
->
-@end lilypond
-In this case, syllables containing a space will be printed. In the
-case that you really need an invisible space (i.e. something taking up
-time, but not space), you should use @code{\skip}.
-
-Note that the @code{s} syntax is only available in Note mode and Chord
+ The @code{s} syntax is only available in Note mode and Chord
 mode.  In other situations, you should use the @code{\skip} command,
 which will work outside of those two modes:
 
@@ -301,9 +286,9 @@ r1 r2 r4 r8 r16 r32 r64 r64
 
 
 If the duration is omitted then it is set to the previously entered
-duration.  At the start of parsing, a quarter note is assumed.  The
-duration can be followed by dots (`@code{.}') in order to obtain dotted
-note lengths:
+duration. Default for the first note is a quarter note.  The duration
+can be followed by dots (`@code{.}') in order to obtain dotted note
+lengths:
 @cindex @code{.}
 
 @lilypond[fragment,verbatim,center]
@@ -354,6 +339,8 @@ When a tie is applied to a chord, all note heads (whose pitches match) are
 connected.  If you try to tie together chords that have no common pitches,
 no ties will be created.
 
+[TODO: seealso]
+
 If you want less ties created for a chord, you can set
 @code{Voice.sparseTies} to true.  In this case, a single tie is used
 for every tied chord.
@@ -483,12 +470,13 @@ Hal-Leonard Inc. music publishers.
 }
 @end lilypond
 
-Note that @code{EasyNotation} overrides a @internalsref{Score} context.  You
-probably will want to print it with magnification or a large font size to
-make it more readable.  To print with magnification, you must create a dvi
-(with @file{ly2dvi}) and then enlarge it with something like @file{dvips -x
-2000 file.dvi}.  See @file{man dvips} for details.  To print with a larger
-font, see @ref{Font Size}.
+The @code{EasyNotation} identifier overrides a @internalsref{Score}
+context.  You probably will want to print it with magnification or a
+large font size to make it more readable.  To print with
+magnification, you must create a dvi (with @file{ly2dvi}) and then
+enlarge it with something like @file{dvips -x 2000 file.dvi}.  See
+@file{man dvips} for details.  To print with a larger font, see
+@ref{Font Size}.
 
 
 @cindex Xdvi
@@ -679,7 +667,7 @@ To use it, you need the following software
 @item Xdvi, version 22.36 or newer.  Available from
 @uref{ftp://ftp.math.berkeley.edu/pub/Software/TeX/xdvi.tar.gz,ftp.math.berkeley.edu}.
 
-  Note that most @TeX{} distributions ship with xdvik, which is always
+   Most @TeX{} distributions ship with xdvik, which is always
   a few versions behind the official Xdvi. To find out which xdvi you
   are running, try @code{xdvi -version} or @code{xdvi.bin -version}.
 @item KDVI.  A dvi viewer for KDE.  You need KDVI from KDE 3.0 or
@@ -934,7 +922,7 @@ G clef on 2nd line
 @end table
 
 By adding @code{_8} or @code{^8} to the clef name, the clef is
-transposed one octave down or up, respectively.  Note that you have to
+transposed one octave down or up, respectively.   You have to
 enclose @var{clefname} in quotes if you use underscores or digits in the
 name. For example,
 @example
@@ -1765,9 +1753,8 @@ A @code{\slurUp} will have no effect on a phrasing slur; instead, you
 should use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
 @code{\phrasingSlurBoth}.
 
-Note that the commands
-@code{\slurUp}, @code{\slurDown}, and @code{\slurBoth} will only affect
-normal slurs and not phrasing slurs.
+The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurBoth}
+will only affect normal slurs and not phrasing slurs.
 
 @node Breath marks
 @subsection Breath marks
@@ -2251,8 +2238,8 @@ note: @code{c4-\ff}.  The available dynamic marks are: @code{\ppp},
 @code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.
 
 @lilypond[verbatim,singleline,fragment,relative]
-  c'\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
-  c2\sf c\rfz
+  c'-\ppp c-\pp c -\p c-\mp c-\mf c-\f c-\ff c-\fff
+  c2-\sf c-\rfz
 @end lilypond
 
 @cindex @code{\cr}
@@ -2264,22 +2251,21 @@ note: @code{c4-\ff}.  The available dynamic marks are: @code{\ppp},
 @cindex @code{\"!}
 
 
+
 A crescendo mark is started with @code{\cr} and terminated with
-@code{\rc} (the textual reverse of @code{cr}).  A decrescendo mark is
-started with @code{\decr} and terminated with @code{\rced}.  There are
-also shorthands for these marks.  A crescendo can be started with
-@code{\<} and a decrescendo can be started with @code{\>}.  Either one
-can be terminated with @code{\!}.  Note that @code{\!}  must go before
-the last note of the dynamic mark whereas @code{\rc} and @code{\rced} go
-after the last note.  Because these marks are bound to notes, if you
-want several marks during one note, you have to use spacer notes.
+@code{\endcr}, and decrescendi similarly with @code{\decr} and
+@code{\enddecr}.  There are also shorthands for these marks.  A
+crescendo can be started with @code{\<} and a decrescendo can be
+started with @code{\>}.  Either one can be terminated with @code{\!}.
+Because these marks are bound to notes, if you must use spacer notes
+if marks during one note are needed.
 
 @lilypond[fragment,verbatim,center,quote]
-  c'' \< \! c''   d'' \decr e'' \rced 
-  < f''1 { s4 s4 \< \! s4 \> \! s4 } >
+  c''-\< c''-\!   d''-\decr e''-\rced 
+  < f''1 { s4 s4-\< s4-\! \>  s4-\! } >
 @end lilypond
 This may give rise to very short hairpins. Use @code{minimum-length}
-in Voice.HairPin to lengthen these, e.g.
+in @internalsref{Voice}.@internalsref{HairPin} to lengthen these, e.g.
 
 @example
  \property Staff.Hairpin \override #'minimum-length = #5
@@ -2301,7 +2287,7 @@ You can also supply your own texts:
   \context Voice {
     \property Voice.crescendoText = "cresc. poco"
     \property Voice.crescendoSpanner = #'dashed-line
-    a'2\mf\< a a \!a 
+    a'2-\mf-\< a a a-\!
   }
 @end lilypond
 
@@ -3933,13 +3919,18 @@ The object for this object is @internalsref{MultiMeasureRest},
 It is not possible to use fingerings (e.g. @code{R1-4}) to put numbers
 over multi-measure rests.
 
-
 @cindex condensing rests
 
-Currently, there is no way to automatically condense multiple rests
+ There is no way to automatically condense multiple rests
 into a single multimeasure rest. Multi measure rests do not take part
 in rest collisions.
 
+Be careful when entering multimeasure rests followed by whole notes,
+@example
+ R1*4 cis cis 
+@end example
+will enter two notes lasting four measures each. The result will look
+ok, but the bar numbering will be off.
 
 @node Automatic part combining
 @subsection Automatic part combining
index 31f333337cdb588afefe8ed327ad92a61886c13b..2a60f210b038d0fbf3f0018f9012eb6ffabd428e 100644 (file)
@@ -253,7 +253,7 @@ You will see the following on your screen:
 
 @quotation
 @example
-GNU LilyPond 1.6.0
+GNU LilyPond 1.7.16
 Now processing: `/home/fred/ly/test.ly'
 Parsing...
 Interpreting music...[1]
@@ -1814,15 +1814,10 @@ The code for the untuned example shows us some new things.
 @cindex loudness
 @cindex forte
 @cindex crescendo
-@cindex @code{\<}
-@cindex @code{\!}
 
-Hairpin dynamics can be easily added to Lilypond scores.  A crescendo
-is started with @code{\<} and ended with @code{\!}.  A decrescendo is
-started with @code{\>} and ended with @code{\!}.  Absolute dynamics
-can be entered using @code{\p}, @code{\mf}, etc.
 
 @cindex fingering instructions
+[TODO: moveme]
 
 Fingering indications are entered with @code{-@var{N}}, where
 @var{N} is a digit.
@@ -1869,18 +1864,19 @@ This command fixes one particular problem with a slur. The rest of
 this section explains how to figure out which properties to tune for
 your own scores. To discover this, you must have a copy of the
 internals document. This is a set of HTML pages which should be
-included if you installed a binary distribution.  These HTML pages are
-also available on the web: go to the lilypond website, click
-``Documentation: Index'' on the side bar, look in the ``Information
-for uses'' section, and click on ``Documentation of internals''.
+included if you installed a binary distribution.  [TODO: revise for
+new site.]  These HTML pages are also available on the web: go to the
+lilypond website, click ``Documentation: Index'' on the side bar, look
+in the ``Information for uses'' section, and click on ``Documentation
+of internals''.
 
 You might want to bookmark either the HTML files on your disk, or the
 one on the web (the HTML on your hard drive will load much faster than
 the ones on the web!).  One word of caution: the internals
 documentation is generated from the definitions that the program uses.
 Hence, the internals documentation is strongly tied to the version you
-use.  Before you proceed, make sure that the versions of program and
-documentation match.
+use.  Before you proceed, make sure that the program and documentation
+have matching version numbers.
 
 @c  TODO: the quote is incorrect, although that shouldn't be a big
 @c    problem for the reader.
@@ -1950,7 +1946,7 @@ For shifting the fingering, we use the property @code{extra-offset}.
 The following command manually adds an offset to the object.  We move
 it a little to the left, and 1.8 staff space downwards.
 @example
- \property Voice.Fingering \set #'extra-offset = #'(-0.3 . -1.8) 
+ \once \property Voice.Fingering \set #'extra-offset = #'(-0.3 . -1.8) 
 @end example   
 The @code{extra-offset} is a low-level feature: it moves around
 objects in the printout; the formatting engine is completely oblivious
@@ -1958,15 +1954,8 @@ to these offsets.  The unit of these offsets are staff-spaces.  The
 first number controls left-right movement; a positive number will move
 the object to the right.  The second number controls up-down movement;
 a positive number will move it higher.
-
-@cindex reverting object properties
-@cindex undoing object properties
-
-We only want to offset a single object, so after the F-sharp we must
-undo the setting. The technical term is to revert the property.
-@example
-  \property Voice.Fingering \revert #'extra-offset
-@end example
+We only want to offset a single object, so this statement is adorned
+with @code{\once}.
 
 @cindex property types
 @cindex translator properties
@@ -1993,9 +1982,9 @@ text pushes the fingering instruction away:
 @end example
 
 A fingering instruction, which would be entered as @code{^5}, is put
-as close to the notes as possible, closer than the space entered to 
-push away the 5. Hence, the 5 is entered as a normal text, formatting
-of fingering instructions.  
+as close to the notes as possible, closer than the space entered to
+push away the 5. Hence, the 5 is entered as a normal text, with the
+formatting of fingering instructions.
  
 @separate
 
@@ -2009,16 +1998,17 @@ forced by using the precooked command
   \dynamicsUp
 @end example
 
-However, if you do that the decrescendo will be too close to the
-upper voice and collide with the stems.  Looking at the manual for
-dynamics, we notice that ``Vertical positioning of these symbols is
-handled by the @internalsref{DynamicLineSpanner} grob.''.  If we turn
-to the documentation of @code{DynamicLineSpanner}, we find that
-@code{DynamicLineSpanner} supports several so-called `interfaces'.  This
-object not only puts dynamic objects next to the staff
+However, if you do that the decrescendo will be too close to the upper
+voice and collide with the stems.  Looking at the manual for dynamics,
+we notice that ``Vertical positioning of these symbols is handled by
+the @internalsref{DynamicLineSpanner} grob.''.  If we turn to the
+documentation of @code{DynamicLineSpanner}, we find that
+@code{DynamicLineSpanner} supports several so-called `interfaces'.
+This object not only puts objects next to the staff
 (@code{side-position-interface}), but it also groups dynamic objects
-(@code{axis-group-interface}), is considered a dynamic sign
-itself (@code{dynamic-interface}), and is an object.  It has the standard
+(@code{axis-group-interface}), is considered a dynamic sign itself
+(@code{dynamic-interface}), and is an spanning object
+(@code{spanner-interface}).  It also has the standard
 @code{grob-interface} with all the variables that come with it.
 
 For the moment we are interested in side positioning:
@@ -2029,22 +2019,22 @@ For the moment we are interested in side positioning:
   support).  In this case, the direction signifies where to put the
   victim object relative to the support (left or right, up or down?)
 @end quotation
-Between the object and its support (in this case the notes in the voice
-going down), there should be more space.  This space is controlled by
+Between the object and its support (in this case, the descending
+notes), there should be more space.  This space is controlled by
 @code{padding}, so we increase it.
 @example
-\property Voice.DynamicLineSpanner \override #'padding = #5.0
+ \property Voice.DynamicLineSpanner \override #'padding = #5.0
 @end example
 
-This command is almost like the command for setting slur attachments,
-but subtly different in its details.  Grob properties can be
-manipulated with two commands: @code{\override} extends the 
-variables with a setting, and @code{\revert} releases this
-setting.  This has a certain theoretical appeal: the operations are
-simple and symmetric.  But for practical use, it can be cumbersome.  The
-commands act like parentheses: you should carefully balance the use of
-@code{\override} and @code{\revert}.  The @code{\set} command is more
-friendly: it first does a @code{\revert} followed by @code{\override}.
+This command resembles the one for setting slur attachments, but
+subtly differs in its details.  Grob properties can be manipulated
+with two commands: @code{\override} extends the definition of a grob
+with one setting, and @code{\revert} releases this setting.  This has
+a theoretical appeal: the operations are simple and symmetric.  For
+practical use, it can be cumbersome.  The commands act like
+parentheses: you should carefully balance the use of @code{\override}
+and @code{\revert}.  The @code{\set} command is more friendly: it
+first does a @code{\revert} followed by @code{\override}.
 
 @separate
 
@@ -2095,20 +2085,19 @@ in LilyPond.  When typesetting a piece for several instruments, you'll
 want to create a full score (for the conductor) along with several
 individual parts (for the players).
 
-LilyPond is well suited for this task.  We will declare the music for
-each instrument individually, giving the music of each instrument its
-own name.  These pieces of music are then combined in different
-@code{\score} blocks to produce different combinations of instruments
-(for example, one @code{\score} block may only include the cello part;
-another @code{\score} block may be for all the strings, and yet another
-@code{\score} block may be for all parts together).
+  We will declare the music for each instrument individually, giving
+the music of each instrument its own name.  These pieces of music are
+then combined in different @code{\score} blocks to produce different
+combinations of instruments (for example, one @code{\score} block may
+only include the cello part; another @code{\score} block may be for
+all the strings, and yet another @code{\score} block may be for all
+parts together).
 
 This orchestral score example consists of three input files.  In the
 first file, @file{os-music.ly}, we define the music for all
-instruments.  This file will be used for producing the score and
-the separate parts, but the file does not produce any sheet music
-itself.  Other files reference this file by doing @code{\include
-"os-music.ly"}.
+instruments.  This file will be used for producing the score and the
+separate parts, but the file does not produce any sheet music itself.
+Other files reference it by stating @code{\include "os-music.ly"}.
 
 @example
 % os-music.ly
@@ -2159,20 +2148,20 @@ global = @{
 @}
 @end example
 
-Declare setting to be used globally.  The @code{\skip} command produces
-no output, but moves forward in time: in this case, the duration of a
-half note (@code{2}), and that four times (@code{*4}).  This brings us
-to the end of the piece, and we can set the end bar.  You can use @code{s}
-as a shortcut for @code{\skip} (the last line of this section would
-be @code{s2*4 \bar"|."}).
+This declares settings to be used globally.  The @code{\skip} command
+produces no output, but moves forward in time: in this case, the
+duration of a half note (@code{2}), and that four times (@code{*4}).
+This brings us to the end of the piece, and we can set the end bar.
+You can use @code{s} as a shortcut for @code{\skip} (the last line of
+this section would be @code{s2*4 \bar"|."}).
 
 @separate
 @example
 Key = \notes \key as \major
 @end example
-Declare the key signature of the piece and assign it to the identifier
-@var{Key}.  Later on we will use @code{\Key} for all staves except those
-for transposing instruments.
+This declares the key signature of the piece and assign it to the
+identifier @var{Key}.  Later on we will use @code{\Key} for all staves
+except those for transposing instruments.
 
 @node The full score
 @subsection The full score
@@ -2188,7 +2177,6 @@ defines the @code{\score} block for the full conductor's score.
 \include "os-music.ly"
 \include "paper13.ly"
 
-#(ly:set-point-and-click 'line-column)
 textFlat = \markup @{\smaller \musicglyph #"accidentals--1"@}
 \score @{
   <
@@ -2274,6 +2262,10 @@ Opus 1.
 First we need to include the music definitions we made in
 @file{os-music.ly}.
 
+@ignore
+
+[TODO: mention in a more relevant place]
+  
 @separate
 @example
 #(ly:set-point-and-click 'line-column)
@@ -2288,6 +2280,7 @@ music on the screen.  The point-and-click mechanism makes it easy to
 find the origin of an error in the LY file: when you view the file with
 Xdvi and click on a note, your editor will jump to the spot where that
 note was entered.  For more information, see @ref{Point and click}.
+@end ignore
 
 
 @separate
@@ -2560,13 +2553,12 @@ the LilyPond manual).  You can make such texts by hand, simply by
 importing a PostScript figure into your word processor.  However,
 there is an automated procedure to reduce the amount of work.
 
-If you use HTML, La@TeX{}, or texinfo, you can mix text and LilyPond
+If you use HTML, La@TeX{}, or Texinfo, you can mix text and LilyPond
 code.  A script called @code{lilypond-book} will extract the music
-fragments, run LilyPond on them, and put back the resulting
-notation.  This program is fully described in the chapter
-@ref{Integrating text and music with lilypond-book}.  Here we show a
-small example.  Since the example also contains explanatory text, we
-will not comment on the contents.
+fragments, run LilyPond on them, and put back the resulting notation.
+This program is fully described in @ref{Integrating text and music
+with lilypond-book}.  Here we show a small example.  Since the example
+also contains explanatory text, we will not comment it further.
 
 @example
 \documentclass[a4paper]@{article@}
@@ -2579,6 +2571,7 @@ example:
      c2 g'2 \times 2/3 @{ f8 e d @} c'2 g4
   @} @}
 \end@{lilypond@}
+
 Notice that the music line length matches the margin settings of the
 document.
 
@@ -2599,13 +2592,11 @@ in brackets:
   c'4 f bes es
 \end@{lilypond@}
 
-\texttt@{verbatim@} prints the LilyPond code in addition to the
-graphical score,
-\texttt@{11pt@} selects the default music size,
-\texttt@{fragment@} adds a score block,
-\texttt@{relative@} uses relative mode for the fragment, and
-\texttt@{intertext@} specifies what to print between the
-\texttt@{verbatim@} code and the music.
+The option \texttt@{verbatim@} prints the LilyPond code in addition to
+the graphical score, \texttt@{11pt@} selects the default music size,
+\texttt@{fragment@} adds a score block, \texttt@{relative@} uses
+relative mode for the fragment, and \texttt@{intertext@} specifies
+what to print between the \texttt@{verbatim@} code and the music.
 
 If you want to include large examples into the text, it may be more
 convenient to put the example in a separate file:
@@ -2622,7 +2613,7 @@ Under Unix, you can view the results as follows.
 $ cd input/tutorial
 $ mkdir -p out/
 $ lilypond-book --outdir=out/ lilbook.tex
-lilypond-book (GNU LilyPond) 1.6.1
+lilypond-book (GNU LilyPond) 1.7.16
 Reading `input/tutorial/lilbook.tex'
 Reading `input/tutorial/sammartini.ly'
 @var{lots of stuff deleted}
@@ -2654,6 +2645,7 @@ example:
   }
 }
 @end lilypond
+
 Notice that the music line length matches the margin settings of the
 document.
 
@@ -2674,7 +2666,7 @@ in brackets:
   c'4 f bes es
 @end lilypond
 
-@code{verbatim} also shows the LilyPond code, @code{11pt} selects
+The option @code{verbatim} also shows the LilyPond code, @code{11pt} selects
 the default music size, @code{fragment} adds a score block,
 @code{relative} uses relative mode for the fragment, and
 @code{intertext} specifies what to print between the
@@ -2686,24 +2678,5 @@ to put the example in a separate file:
 @lilypondfile[printfilename]{sammartini.ly}
 
 The @code{printfilename} option adds the file name to the output.
-@node  End of tutorial
-@section End of tutorial
-         
-This is the end of the tutorial.  If you read everything until this point
-(and understood everything!) then you are now an accomplished lilypond
-hacker.  From here you should try fiddling with input files or making your
-own input files.  Come back to the reference manual for more information
-if you get stuck!
-
-Do not forget to check out the 
-@ifhtml
-@uref{../../../../input/template/out-www/template.html,templates},
-@uref{../../../../input/test/out-www/test.html,examples} and 
-@uref{../../../../input/regression/out-www/regression.html,feature tests}.
-@end ifhtml
-@ifnothtml
-templates, examples and feature tests.
-@end ifnothtml
-If you want to see real action LilyPond, head over to
-@uref{http://www.mutopiaproject.org}, which has many examples of
-classical music typeset with LilyPond.
+
+[TODO: include excercises? ]
index 5c63cae358c2be4631695d03ce9fd141b5b301b1..5d5a5b458fe26eb42eef6990d0ad236519084a1e 100644 (file)
@@ -6,23 +6,23 @@
         {   \key d\major 
             \property Voice.Slur \set #'attachment = #'(stem . stem)
 
-            \property Voice.Fingering \set #'extra-offset = #'(-0.3 . -1.8) 
+           \once \property Voice.Fingering
+             \override #'extra-offset = #'(-0.3 . -1.8) 
            fis4-3_\p-(-~
    
 
-            \property Voice.Fingering \revert #'extra-offset
             fis16 a-)^" "^\markup { \finger "5" } } \\
         {
             \dynamicUp
-            \property Voice.DynamicLineSpanner \override #'padding = #5.0
+            \property Voice.DynamicLineSpanner
+             \override #'padding = #5.0
             \tieUp
             fis16-(-\> d b-\! \translator Staff = down
            \stemUp
            \clef treble g-~ <<g e>>8-) } \\
         { s16
-         \property Voice.Stem \set #'transparent = ##t
+         \once \property Voice.Stem \set #'transparent = ##t
           d'
-          \property Voice.Stem \revert #'transparent
           ~ <<d b>>4 }
     >
     \context Staff = down {
index 198166af45690d76c62a44a0fa682b111ee56164..00f26934b9f4c4dfdb6f1cd69489ad0853e75dab 100644 (file)
@@ -22,7 +22,8 @@ textFlat = \markup {\smaller \musicglyph #"accidentals--1"}
     \context StaffGroup = timpani <
       \context Staff = timpani <
        \property Staff.midiInstrument = #"timpani"
-       \property Staff.instrument = \markup { \column <<  "Timpani" "(C-G)" >> }
+       \property Staff.instrument =
+         \markup { \column <<  "Timpani" "(C-G)" >> }
        \property Staff.instr = #"Timp."
        \clef bass
         \Key
@@ -32,8 +33,10 @@ textFlat = \markup {\smaller \musicglyph #"accidentals--1"}
     \context StaffGroup = brass <
       \context Staff = trombe <
        \property Staff.midiInstrument = #"trumpet"
-       \property Staff.instrument = \markup { \column << "2 Trombe" "(C)" >> }
-       \property Staff.instr = \markup{ \column << "Tbe." "(C)">> }
+       \property Staff.instrument =
+         \markup { \column << "2 Trombe" "(C)" >> }
+       \property Staff.instr =
+         \markup{ \column << "Tbe." "(C)">> }
         \Key
        \context Voice=one \partcombine Voice
          \context Thread=one \tromboI
@@ -42,9 +45,9 @@ textFlat = \markup {\smaller \musicglyph #"accidentals--1"}
       \context Staff = corni <
         \property Staff.midiInstrument = #"french horn"
        \property Staff.instrument
-       = \markup { \column << "Corno" { "(E"  \textFlat ")" } >> }
-       \property Staff.instr =
-       \markup { \column << "Cor." { "(E"  \textFlat ")" } >> }
+         = \markup { \column << "Corno" { "(E"  \textFlat ")" } >> }
+       \property Staff.instr 
+         = \markup { \column << "Cor." { "(E"  \textFlat ")" } >> }
        \property Staff.transposing = #3
        \notes \key bes \major
        \context Voice=one \corno
index d1d096e73236bd877832571250bc1cd3e4b509eb..6bbdcf93cc1e4a051c249cd12ee9a10aded2c214 100644 (file)
@@ -9,9 +9,13 @@ groupClose = #(make-span-event 'NoteGroupingEvent STOP)
 
 
 cr = #(make-span-event 'CrescendoEvent START)
-rc = #(make-span-event 'CrescendoEvent STOP)
 decr = #(make-span-event 'DecrescendoEvent START)
-rced = #(make-span-event 'DecrescendoEvent STOP)
+enddecr = #(make-span-event 'DecrescendoEvent STOP)
+endcr = #(make-span-event 'CrescendoEvent STOP) 
+
+%% TODO: remove for 2.0
+rc = \endcr
+rced = \enddecr
 
 startTextSpan = #(make-span-event 'TextSpanEvent START)
 stopTextSpan = #(make-span-event 'TextSpanEvent STOP)