]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge commit 'origin/master'
authorJohn Mandereau <john.mandereau@gmail.com>
Thu, 14 Aug 2008 20:29:50 +0000 (22:29 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Thu, 14 Aug 2008 20:29:50 +0000 (22:29 +0200)
* commit 'origin/master':
  Remove obsolete accordion code.
  Fix broken links in NR and LM
  Documentation nitpicks
  GDP NR 5.6.3 Modifying stencils
  Merge Jonathan's changes
  Add predefined-fretboards to NEWS, add harmonics to fretted-strings
  Fix links to BassFigure
  GDP NR 6.3.1 Move index entry
  News update.
  Really fix link to figured bass
  Fix glossary link for figured bass
  GDP NR 5.6.4 Needs utf8
  GDP NR 5.6.4 Modifying shape of slurs and ties
  Add \pointAndClick[Off, On]
  Noteheads ... note heads
  Documentation nitpicks
  Documentation nitpicks
  Documentation nitpicks

Conflicts:

Documentation/topdocs/NEWS.tely

1  2 
Documentation/topdocs/NEWS.tely
Documentation/user/changing-defaults.itely
Documentation/user/chords.itely
Documentation/user/editorial.itely
Documentation/user/rhythms.itely

index 1c291bc86b128e4dd1c675b6a5e55602e8b24f6d,0d820c7a28303462a921db3157c674542bcb5b55..cafa877cf104867ced2ad2109b5bf5a053bb2605
@@@ -65,37 -65,46 +65,56 @@@ which scares away people
  
  @end ignore
  
+ @item
+ Predefined, user-configurable, transposable fret diagrams
+ are now available in the FretBoards context:
+ @lilypond[]
+ \include "predefined-guitar-fretboards.ly"
+ <<
+   \new ChordNames {
+    \chordmode {
+       c1 \transpose c e { c }
+     }
+   }
+   \new FretBoards {
+     \chordmode {
+       c1 \transpose c e { c }
+     }
+   }
+ >>
+ @end lilypond
  @item
 -A few syntax changes were made:
 +The following syntax changes were made, in chronological order. In
 +addition, fret diagram properties have been moved to
 +@code{fret-diagram-details}, and @code{#'style} property is used to
 +select solid/dashed lines instead of @code{#'dash-fraction}.
 +
  @example
 -2.11.23: #'break-align-symbol -> #'break-align-symbols
 -2.11.35: scripts.caesura -> scripts.caesura.curved.
 -Use #'style not #'dash-fraction to select solid/dashed lines.
 -2.11.38: \setEasyHeads -> \easyHeadsOn, \fatText -> \textLengthOn,
 +#'break-align-symbol -> #'break-align-symbols
 +scripts.caesura -> scripts.caesura.curved
 +\setEasyHeads -> \easyHeadsOn
 +\easyHeadsOff (new command)
 +\fatText -> \textLengthOn
  \emptyText -> \textLengthOff
 -2.11.46: \set hairpinToBarline -> \override Hairpin #'to-barline
 -2.11.48: \compressMusic -> \scaleDurations
 -2.11.50: metronomeMarkFormatter uses text markup as second argument,
 -fret diagram properties moved to fret-diagram-details.
 -2.11.51: \octave -> \octaveCheck, \arpeggioUp -> \arpeggioArrowUp,
 -\arpeggioDown -> \arpeggioArrowDown, \arpeggioNeutral -> \arpeggioNormal,
 -\setTextCresc -> \crescTextCresc, \setTextDecresc -> \dimTextDecresc,
 -\setTextDecr -> \dimTextDecr, \setTextDim -> \dimTextDim,
 -\setHairpinCresc -> \crescHairpin, \setHairpinDecresc -> \dimHairpin,
 -\sustainUp -> \sustainOff, \sustainDown -> \sustainOn
 -\sostenutoDown -> \sostenutoOn, \sostenutoUp -> \sostenutoOff
 -2.11.53: infinite-spacing-height -> extra-spacing-height
 -2.11.55: #(set-octavation oct) -> \ottava #oct,
 +\set hairpinToBarline -> \override Hairpin #'to-barline
 +\compressMusic -> \scaleDurations
 +\octave -> \octaveCheck
 +\arpeggioUp -> \arpeggioArrowUp
 +\arpeggioDown -> \arpeggioArrowDown
 +\arpeggioNeutral -> \arpeggioNormal
 +\setTextCresc -> \crescTextCresc
 +\setTextDecresc -> \dimTextDecresc
 +\setTextDecr -> \dimTextDecr
 +\setTextDim -> \dimTextDim
 +\setHairpinCresc -> \crescHairpin
 +\setHairpinDecresc -> \dimHairpin
 +\sustainUp -> \sustainOff
 +\sustainDown -> \sustainOn
 +\sostenutoDown -> \sostenutoOn
 +\sostenutoUp -> \sostenutoOff
 +infinite-spacing-height -> extra-spacing-height
 +#(set-octavation oct) -> \ottava #oct
  \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup
  @end example
  
@@@ -119,6 -128,15 +138,6 @@@ using the @code{rounded-box} command
  to guess the line width, thanks to @code{--latex-program} command line
  option.
  
 -@item
 -@code{\setEasyHeads} has been renamed to @code{\easyHeadsOn}, and a new
 -command @code{\easyHeadsOff} reverts note heads to normal heads.
 -
 -@item
 -@code{\fatText}, @code{\emptyText} and @code{\compressMusic} have been
 -renamed to @code{\textLengthOn}, @code{\textLengthOff} and
 -@code{\scaleDurations}, respectively.
 -
  @item
  Underlining is now possible with the @code{\underline} markup command.
  
@@@ -177,7 -195,6 +196,6 @@@ their end points.  This includes glissa
  crescendos and other text spanners.  The old syntax for setting
  text on line spanners is no longer valid.
  
- @c  with ragged-right we can't see the gliss.
  @lilypond[]
  \relative c'' {
    \override Glissando #'bound-details #'right #'text = \markup { \hcenter \bold down }
    \override Glissando #'bound-details #'left #'arrow = ##t
    \override Glissando #'bound-details #'left #'padding = #3.0
    \override Glissando #'style = #'trill
+   \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
+   \override Glissando #'minimum-length = #12
    
    c1 \glissando c'
  }
@@@ -289,13 -308,13 +309,13 @@@ duration and count (if given) are show
    \tempo "Fast"
    c'4 c' c' c'
    c'4 c' c' c'
-   \tempo "Andante" 4=120
+   \tempo "Andante" 4 = 120
    c'4 c' c' c'
    c'4 c' c' c'
-   \tempo 4=100
+   \tempo 4 = 100
    c'4 c' c' c'
    c'4 c' c' c'
-   \tempo "" 4=30
+   \tempo "" 4 = 30
    c'4 c' c' c'
    c'4 c' c' c'
  }
index 0650193c30770b3784e17de41bcd05414f7187fc,e16eae1c004ab5202730dd60a123c552509cb313..0ba8be5d8377497587899420e86b2a402b3c308d
@@@ -73,13 -73,13 +73,13 @@@ on entering numbers, lists, strings, an
  
  
  @menu
 -* Interpretation contexts::
 -* Explaining the Internals Reference::
 -* Modifying properties::
 -* Useful concepts and properties::
 -* Common properties::
 -* Advanced tweaks::
 -* Discussion of specific tweaks::
 +* Interpretation contexts::     
 +* Explaining the Internals Reference::  
 +* Modifying properties::        
 +* Useful concepts and properties::  
 +* Common properties::           
 +* Advanced tweaks::             
 +* Discussion of specific tweaks::  
  @end menu
  
  
  This section describes what contexts are, and how to modify them.
  
  @menu
 -* Contexts explained::
 -* Creating contexts::
 -* Modifying context plug-ins::
 -* Changing context default settings::
 -* Defining new contexts::
 -* Aligning contexts::
 +* Contexts explained::          
 +* Creating contexts::           
 +* Modifying context plug-ins::  
 +* Changing context default settings::  
 +* Defining new contexts::       
 +* Aligning contexts::           
  @end menu
  
  
@@@ -127,10 -127,10 +127,10 @@@ further explanation and with links to t
  Contexts are arranged heirarchically:
  
  @menu
 -* Score - the master of all contexts::
 -* Top-level contexts - staff containers::
 -* Intermediate-level contexts - staves::
 -* Bottom-level contexts - voices::
 +* Score - the master of all contexts::  
 +* Top-level contexts - staff containers::  
 +* Intermediate-level contexts - staves::  
 +* Bottom-level contexts - voices::  
  @end menu
  
  @node Score - the master of all contexts
@@@ -540,7 -540,7 +540,7 @@@ time signature
  @subsection Changing context default settings
  
  The adjustments of the previous subsections (
 -@ref{The \set command}, @ref{Modifying context plug-ins}, and
 +@ref{The set command}, @ref{Modifying context plug-ins}, and
  @ref{Overview of modifying properties}) can also be entered
  separately from the music in the @code{\layout} block,
  
@@@ -702,7 -702,7 +702,7 @@@ The notes look like a slash, and have n
  
  All these plug-ins have to cooperate, and this is achieved with a
  special plug-in, which must be marked with the keyword @code{\type}.
- This should always be @rinternals{Engraver_group},
+ This should always be @code{Engraver_group}.
  
  @example
  \type "Engraver_group"
@@@ -803,10 -803,10 +803,10 @@@ ossia = { f4 f f f 
  
  
  @menu
 -* Navigating the program reference::
 -* Layout interfaces::
 -* Determining the grob property::
 -* Naming conventions::
 +* Navigating the program reference::  
 +* Layout interfaces::           
 +* Determining the grob property::  
 +* Naming conventions::          
  @end menu
  
  @node Navigating the program reference
@@@ -838,9 -838,9 +838,9 @@@ Internals Reference: @rinternals{Finger
  @c  outdated info; probably will delete.
  @ignore
  This fragment points to two parts of the program reference: a page
- on @code{FingerEvent} and one on @code{Fingering}.
+ on @code{FingeringEvent} and one on @code{Fingering}.
  
- The page on @code{FingerEvent} describes the properties of the music
+ The page on @code{FingeringEvent} describes the properties of the music
  expression for the input @code{-2}.  The page contains many links
  forward.  For example, it says
  
@@@ -856,7 -856,7 +856,7 @@@ plug-in, which say
  This engraver creates the following layout objects: @rinternals{Fingering}.
  @end quotation
  
- In other words, once the @code{FingerEvent}s are interpreted, the
+ In other words, once the @code{FingeringEvent}s are interpreted, the
  @code{Fingering_engraver} plug-in will process them.
  @end ignore
  
@@@ -902,7 -902,7 +902,7 @@@ Music types accepted: @rinternals{finge
  
  @item @rinternals{fingering-event}:
  Music event type @code{fingering-event} is in Music expressions named
- @rinternals{FingerEvent}
+ @rinternals{FingeringEvent}
  @end itemize
  
  This path goes against the flow of information in the program: it
@@@ -1124,11 -1124,11 +1124,11 @@@ LP-specific
  @section Modifying properties
  
  @menu
 -* Overview of modifying properties::
 -* The \set command::
 -* The \override command::
 -* \set versus \override::
 -* Objects connected to the input::
 +* Overview of modifying properties::  
 +* The set command::             
 +* The override command::        
 +* set versus override::         
 +* The tweak command::           
  @end menu
  
  
@@@ -1246,7 -1246,7 +1246,7 @@@ or crashes, or both
  
  
  
 -@node The \set command
 +@node The set command
  @subsection The @code{\set} command
  
  @cindex properties
@@@ -1371,7 -1371,7 +1371,7 @@@ Translation @expansion{} Tunable contex
  
  
  
 -@node The \override command
 +@node The override command
  @subsection The @code{\override} command
  
  Commands which change output generally look like
@@@ -1413,7 -1413,7 +1413,7 @@@ We demonstrate how to glean this inform
  and the program reference.
  
  
 -@node \set versus \override
 +@node set versus override
  @subsection @code{\set} vs. @code{\override}
  
  We have seen two methods of changing properties: @code{\set} and
@@@ -1464,8 -1464,8 +1464,8 @@@ objects.  Since this is a common change
  property (modified with @code{\set}) was created.
  
  
 -@node Objects connected to the input
 -@subsection Objects connected to the input
 +@node The tweak command
 +@subsection The @code{\tweak} command
  
  TODO: can't use \tweak in a variable
  
@@@ -1518,10 -1518,10 +1518,10 @@@ details
  
  
  @menu
 -* Input modes::
 -* Direction and placement::
 -* Distances and measurements::
 -* Spanners::
 +* Input modes::                 
 +* Direction and placement::     
 +* Distances and measurements::  
 +* Spanners::                    
  @end menu
  
  @node Input modes
@@@ -1737,17 -1737,12 +1737,12 @@@ restricted to a sub-set of the spanners
  @section Common properties
  
  @menu
 -* Controlling visibility of objects::
 -* Line styles::
 -* Rotating objects::
 -* Aligning objects::
 +* Controlling visibility of objects::  
 +* Line styles::                 
 +* Rotating objects::            
 +* Aligning objects::            
  @end menu
  
- @c TODO Add new subsection Shapes of objects
- @c which would include Slur shapes
- @c with a Known issue: can't modify shapes with 'control-points if there are
- @c more than one at the same musical moment
  @node Controlling visibility of objects
  @subsection Controlling visibility of objects
  
@@@ -1768,11 -1763,11 +1763,11 @@@ certain layout objects.  These are cove
  considerations.
  
  @menu
 -* Removing the stencil::
 -* Making objects transparent::
 -* Painting objects white::
 -* Using break-visibility::
 -* Special considerations::
 +* Removing the stencil::        
 +* Making objects transparent::  
 +* Painting objects white::      
 +* Using break-visibility::      
 +* Special considerations::      
  @end menu
  
  
@@@ -2256,8 -2251,8 +2251,8 @@@ Both layout objects and elements of mar
  any angle about any point, but the method of doing so differs.
  
  @menu
 -* Rotating layout objects::
 -* Rotating markup::
 +* Rotating layout objects::     
 +* Rotating markup::             
  @end menu
  
  @node Rotating layout objects
@@@ -2322,10 -2317,10 +2317,10 @@@ fis^\markup { \rotate #30 "an F-Sharp" 
  @section Advanced tweaks
  
  @menu
 -* Vertical grouping of grobs::
 -* Modifying ends of spanners::
 -* Modifying stencils::
 -* Modifying shapes::
 +* Vertical grouping of grobs::  
 +* Modifying ends of spanners::  
 +* Modifying stencils::          
 +* Modifying shapes::            
  @end menu
  
  
@@@ -2348,23 -2343,148 +2343,148 @@@ VerticalAxisGroup
  @subsection Modifying ends of spanners
  
  @c FIXME Write this section
+ @c See earlier material in Line styles
  
  @node Modifying stencils
  @subsection Modifying stencils
  
- @c FIXME Write this section
+ All layout objects have a @code{stencil} property which is part of
+ the @code{grob-interface}.  By default, this property is usually
+ set to a function specific to the object that is tailor-made to
+ render the symbol which represents it in the output.  For example,
+ the standard setting for the @code{stencil} property of the
+ @code{MultiMeasureRest} object is @code{ly:multi-measure-rest::print}.
+ The standard symbol for any object can be replaced by modifying the
+ @code{stencil} property to reference a different, specially-written,
+ procedure.  This requires a high level of knowledge of the internal
+ workings of LilyPond, but there is an easier way which can often
+ produce adequate results.
+ This is to set the @code{stencil} property to the procedure which
+ prints text -- @code{ly:text-interface::print} -- and to add a
+ @code{text} property to the object which is set to contain the
+ markup text which produces the required symbol.  Due to the
+ flexibility of markup, much can be achieved -- see in particular
+ @ref{Graphic notation inside markup}.
+ The following example demonstrates this by changing the note head
+ symbol to a cross within a circle.
+ @lilypond[verbatim,quote]
+ XinO = {
+   \once \override NoteHead  #'stencil = #ly:text-interface::print
+   \once \override NoteHead #'text = \markup {
+     \combine
+       \halign #-0.7 \draw-circle #0.85 #0.2 ##f
+       \musicglyph #"noteheads.s2cross"
+   }
+ }
+ \relative c'' {
+   a a \XinO a a
+ }
+ @end lilypond
+ Any of the glyphs in the feta Font can be supplied to the
+ @code{\musicglyph} markup command -- see @ref{The Feta font}.
+ @c TODO Add inserting eps files or ref to later
+ @c TODO Add inserting Postscript or ref to later
+ @seealso
+ Notation Reference:
+ @ref{Graphic notation inside markup},
+ @ref{Formatting text},
+ @ref{Text markup commands},
+ @ref{The Feta font}.
  
  @node Modifying shapes
  @subsection Modifying shapes
  
- @c FIXME Write this section
- @c Discussion of Bezier curves and the control-points property
+ @menu
+ * Modifying ties and slurs::
+ @end menu
+ @node Modifying ties and slurs
+ @unnumberedsubsubsec Modifying ties and slurs
+ Ties, slurs and phrasing slurs are drawn as third-order Bézier
+ curves.  If the shape of the tie or slur which is calculated
+ automatically is not optimum, the shape may be modified manually by
+ explicitly specifying the four control points required to define
+ a third-order Bézier curve.
+ Third-order or cubic Bézier curves are defined by four control
+ points.  The first and fourth control points are precisely the
+ starting and ending points of the curve.  The intermediate two
+ control points define the shape.  Animations showing how the curve
+ is drawn can be found on the web, but the following description
+ may be helpful.  The curve starts from the first control point
+ heading directly towards the second, gradually bending over to
+ head towards the third and continuing to bend over to head towards
+ the fourth, arriving there travelling directly from the third
+ control point.  The curve is entirely contained in the
+ quadrilateral defined by the four control points.
+ Here is an example of a case where the tie is not optimum, and
+ where @code{\tieDown} would not help.
+ @lilypond[verbatim,quote,relative=1]
+ <<
+   { e1 ~ e }
+ \\
+   { r4 <g c,> <g c,> <g c,> }
+ >>
+ @end lilypond
+ One way of improving this tie is to manually modify its control
+ points, as follows.
+ The coordinates of the Bézier control points are specified in units
+ of staff-spaces.  The X@tie{}coordinate is relative to the reference
+ point of the note to which the tie or slur is attached, and the
+ Y@tie{}coordinate is relative to the staff center line.  The
+ coordinates are entered as a list of four pairs of decimal numbers
+ (reals).  One approach is to estimate the coordinates of the two
+ end points, and then guess the two intermediate points.  The optimum
+ values are then found by trial and error.
+ It is useful to remember that a symmetric curve requires symmetric
+ control points, and that Bézier curves have the useful property that
+ transformations of the curve such as translation, rotation and
+ scaling can be achieved by applying the same transformation to the
+ curve's control points.
+ For the example above the following override gives a satisfactory
+ tie:
+ @lilypond[verbatim,quote,relative=1]
+ <<
+   \once \override Tie
+     #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
+   { e1 ~ e1 }
+ \\
+   { r4 <g c,> <g c,> <g c,>4  }
+ >>
+ @end lilypond
+ @knownissues
+ It is not possible to modify shapes of ties or slurs by changing
+ the @code{control-points} property if there are more than one at
+ the same musical moment, not even by using the @code{\tweak}
+ command.
  
  @node Discussion of specific tweaks
  @section Discussion of specific tweaks
  
  @menu
 -* old Contexts explained::
 +* old Contexts explained::      
  @end menu
  
  
index 7cfba369cd1108b78081b8fd5ec0d3370b53d655,644eb2ad86f4c29714c0d78e9f339a03bb7d6753..2b1d12c029d75cd9f6e448a88fa94b8da79f37d4
@@@ -915,7 -915,7 +915,7 @@@ End of continuation lin
  @c @rlearning{}.
  
  @c Notation Reference:
 -@c @ruser{}.
 +@c @ref{}.
  
  @c Application Usage:
  @c @rprogram{}.
@@@ -927,7 -927,7 +927,7 @@@ Snippets
  @rlsr{Chords}.
  
  Internals Reference:
- @rinternals{NewBassFigure},
+ @rinternals{BassFigure},
  @rinternals{BassFigureAlignment},
  @rinternals{BassFigureLine},
  @rinternals{BassFigureBracket},
@@@ -1022,7 -1022,7 +1022,7 @@@ or below the staff
  @c @rlearning{}.
  
  @c Notation Reference:
 -@c @ruser{}.
 +@c @ref{}.
  
  @c Application Usage:
  @c @rprogram{}.
@@@ -1034,7 -1034,7 +1034,7 @@@ Snippets
  @rlsr{Chords}.
  
  Internals Reference:
- @rinternals{NewBassFigure},
+ @rinternals{BassFigure},
  @rinternals{BassFigureAlignment},
  @rinternals{BassFigureLine},
  @rinternals{BassFigureBracket},
index 6a7f212357143fbef8edd1aaaebf27eb0012d685,082c450aabe07f109ac1ab29b3d6ba8a101baa4a..c93a2c4045da171fb10b8bd086c9ad09d896d571
@@@ -138,8 -138,6 +138,6 @@@ Snippets
  @rlsr{Editorial annotations}.
  
  Internals Reference:
- @rinternals{fontSize},
- @rinternals{font-size},
  @rinternals{font-interface}.
  
  
@@@ -350,8 -348,8 +348,8 @@@ gis4 
  @seealso
  
  Notation Reference:
 -@ref{List of colors}, @ref{Objects connected to
 -the input}.
 +@ref{List of colors}, @ref{The
 +tweak command}.
  
  Snippets:
  @rlsr{Editorial annotations}.
@@@ -373,7 -371,7 +371,7 @@@ and @code{'ForestGreen}.  For web use n
  
  
  Notes in a chord cannot be colored with @code{\override}; use
 -@code{\tweak} instead, see @ref{Objects connected to the input}.
 +@code{\tweak} instead, see @ref{The tweak command}.
  
  
  @node Parentheses
index 3bf7512e5faa8d4697e40e5952b2d22ae7b4cc07,e29b740bb6eb8a0a8adbc7b016f900d1fbb6c9cf..c92b4d54a041050c6fdb468af24f20f335526604
@@@ -267,7 -267,7 +267,7 @@@ Learning Manual: @rlearning{Tweaking me
  Notation Reference:
  @ref{Time administration},
  @ref{Scaling durations},
 -@ref{Objects connected to the input},
 +@ref{The tweak command},
  @ref{Polymetric notation}.
  
  Snippets:
@@@ -1312,7 -1312,7 +1312,7 @@@ Snippets
  
  Internals Reference:
  @rinternals{TimeSignature},
- @rinternals{Timing-translator},
+ @rinternals{Timing_translator},
  @rinternals{Staff}.
  
  @knownissues
@@@ -2397,7 -2397,6 +2397,6 @@@ other formatting functions
  
  Examples: @c @lsr{parts,rehearsal-mark-numbers.ly}
  
  @node Special rhythmic concerns
  @subsection Special rhythmic concerns
  
@@@ -2469,34 -2468,33 +2468,33 @@@ c1 \afterGrace d1 { c16[ d] } c
  
  This will put the grace notes after a @q{space} lasting 3/4 of the
  length of the main note.  The fraction 3/4 can be changed by
- setting @code{afterGraceFraction}, i.e.,
- @example
- #(define afterGraceFraction (cons 7 8))
- @end example
+ setting @code{afterGraceFraction}.  The following example will put
+ the grace note at 7/8 of the main note.
  
- @noindent
- will put the grace note at 7/8 of the main note.
+ @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
+ #(define afterGraceFraction (cons 15 16))
+ c1 \afterGrace d1 { c16[ d] } c4
+ @end lilypond
  
- The same effect can be achieved manually by doing
+ The space between the main note and the grace note may also be
+ specified using spacers. The following example places the grace
+ note at 7/8 of the main note.
  
  @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
  \new Voice {
    << { d1^\trill_( }
-      { s2 \grace { c16[ d] } } >>
+      { s2 s4. \grace { c16[ d] } } >>
    c4)
  }
  @end lilypond
  
- @noindent
- By adjusting the duration of the skip note (here it is a
- half-note), the space between the main note and the grace
- may be adjusted.
  A @code{\grace} music expression will introduce special
  typesetting settings, for example, to produce smaller type, and
- set directions.  Hence, when introducing layout tweaks, they
- should be inside the grace expression, for example,
+ set directions.  Hence, when introducing layout tweaks to
+ override the special settings, they should be placed inside
+ the grace expression. The overrides should also be reverted
+ inside the grace expression. Here, the grace note's default stem
+ direction is overriden and then reverted.
  
  @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
  \new Voice {
  }
  @end lilypond
  
- @noindent
- The overrides should also be reverted inside the grace expression.
+ @cindex stem, with slash
+ @snippets
+ The slash through the stem in @emph{acciaccatura}s can be obtained in
+ other situations:
+ @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+ \relative c'' {
+   \override Stem #'stroke-style = #"grace"
+   c8( d2) e8( f4)
+ }
+ @end lilypond
  
  The layout of grace expressions can be changed throughout the
  music using the function @code{add-grace-property}.  The following
  example undefines the @code{Stem} direction for this grace, so
  that stems do not always point up.
  
- @example
- \new Staff @{
-   #(add-grace-property 'Voice 'Stem 'direction '())
-   @dots{}
- @}
- @end example
+ @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+ \relative c'' {
+   \new Staff {
+     #(add-grace-property 'Voice 'Stem 'direction ly:stem::calc-direction)
+     #(remove-grace-property 'Voice 'Stem 'direction)
+     \new Voice {
+        \acciaccatura {
+        f16
+        }
+      g4
+     }
+   }
+ }
+ @end lilypond
  
- @noindent
  Another option is to change the variables @code{startGraceMusic},
  @code{stopGraceMusic}, @code{startAcciaccaturaMusic},
  @code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
  seen in the file @file{ly/@/grace@/-init@/.ly}.  By redefining
  them other effects may be obtained.
  
- @cindex stem, with slash
- @noindent
- The slash through the stem in @emph{acciaccatura}s can be obtained in
- other situations by @code{\override Stem  #'stroke-style =
- #"grace"}.
+ Grace notes may be forced to align with regular notes
+ in other staves:
  
- @snippets
- Grace notes may be forced to use align with regular notes
- in other staves by setting @code{strict-grace-spacing} to
- ##t:
- @lilypond[verbatim,quote,relative=2]
- <<
-   \override Score.SpacingSpanner #'strict-grace-spacing = ##t
-   \new Staff {
-     c4
-     \afterGrace c4 { c16[ c8 c16] }
-     c4 r
-   }
-   \new Staff {
-     c16 c c c c c c c c4 r
-   }
- >>
+ @lilypond[verbatim,quote,ragged-right]
+ \relative c'' {
+   <<
+     \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+     \new Staff {
+       c4
+       \afterGrace c4 { c16[ c8 c16] }
+       c4 r
+     }
+     \new Staff {
+       c16 c c c c c c c c4 r
+     }
+   >>
+ }
  @end lilypond
  
  
@@@ -2724,3 -2733,4 +2733,4 @@@ Snippets
  
  Internals Reference: @rinternals{Timing_translator},
  @rinternals{Score}