]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/tweaks.itely
Merge branch 'master' into lilypond/translation
[lilypond.git] / Documentation / user / tweaks.itely
index 574a3e980f055e661f5128ba42ab401a35a30993..e59614f71ac63a607987a914673620edb7393370 100644 (file)
@@ -7,7 +7,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.11.51"
 
 @node Tweaking output
 @chapter Tweaking output
@@ -392,7 +392,7 @@ appearance may be modified in the usual way with
 @c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
 \times 2/3 { c8[ c c]}
-\once \override TupletNumber 
+\once \override TupletNumber
   #'text = #tuplet-number::calc-fraction-text
 \times 2/3 {
   c[ c]
@@ -410,9 +410,9 @@ appearance may be modified in the usual way with
 @cindex Internals Reference
 
 @menu
-* Properties of layout objects::
-* Properties found in interfaces::
-* Types of properties::
+* Properties of layout objects::  
+* Properties found in interfaces::  
+* Types of properties::         
 @end menu
 
 @node Properties of layout objects
@@ -453,12 +453,12 @@ music:
 {
   \time 6/8
   {
-    r4 b8 b[( g]) g | 
-    g[( e]) e d[( f]) a | 
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
     a g
   }
   \addlyrics {
-    The man who feels love's sweet e -- mo -- tion 
+    The man who feels love's sweet e -- mo -- tion
   }
 }
 @end lilypond 
@@ -544,7 +544,7 @@ close to it.}  Let's do that:
     a g
   }
   \addlyrics {
-    The man who feels love's sweet e -- mo -- tion 
+    The man who feels love's sweet e -- mo -- tion
   }
 }
 @end lilypond 
@@ -604,12 +604,12 @@ repositioned as follows:
     r4 b8
     % Increase thickness of immediately following slur only
     \once \override Slur #'thickness = #5.0
-    b[( g]) g | 
-    g[( e]) e d[( f]) a | 
-    a g 
+    b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
   }
   \addlyrics {
-    The man who feels love's sweet e -- mo -- tion 
+    The man who feels love's sweet e -- mo -- tion
   }
 }
 @end lilypond 
@@ -641,11 +641,11 @@ the slurs begin:
     b[( g]) g |
     % Increase thickness of immediately following slur only
     \once \override Slur #'thickness = #5.0
-    g[( e]) e d[( f]) a | 
+    g[( e]) e d[( f]) a |
     a g
   }
   \addlyrics {
-    The man who feels love's sweet e -- mo -- tion 
+    The man who feels love's sweet e -- mo -- tion
   }
 }
 @end lilypond 
@@ -664,14 +664,14 @@ after the second slur:
     % Increase thickness of all following slurs from 1.2 to 5.0
     \override Slur #'thickness = #5.0
     b[( g]) g |
-    g[( e]) 
+    g[( e])
     % Revert thickness of all following slurs to default of 1.2
     \revert Slur #'thickness
-    e d[( f]) a | 
+    e d[( f]) a |
     a g
   }
   \addlyrics {
-    The man who feels love's sweet e -- mo -- tion 
+    The man who feels love's sweet e -- mo -- tion
   }
 }
 @end lilypond
@@ -776,7 +776,7 @@ lyrics which it should affect, like this:
   }
   \addlyrics {
     \override LyricText #'font-shape = #'italic
-    The man who feels love's sweet e -- mo -- tion 
+    The man who feels love's sweet e -- mo -- tion
   }
 }
 @end lilypond
@@ -836,7 +836,7 @@ to the front of these values when they are entered in the
   @tab @code{2.5}, @code{0.34}
 @item Direction
   @tab A valid direction constant or its numerical equivalent
-  @tab @code{#LEFT}, @code{#CENTER}, @code{#UP},
+  @tab @code{LEFT}, @code{CENTER}, @code{UP},
        @code{1}, @code{-1}
 @item Integer
   @tab A positive whole number
@@ -871,14 +871,14 @@ preceded by an apostrophe
        @code{#f}
 @item Vector
   @tab A list of three items enclosed in brackets and preceded
-by a hash sign, @code{#}.
-  @tab @code{#(#t #t #f)}
+by apostrophe-hash, @code{'#}.
+  @tab @code{'#(#t #t #f)}
 @end multitable
 
 @node Appearance of objects
 @section Appearance of objects
 
-Let us now put what we have learnt into practice with a few
+Let us now put what we have learned into practice with a few
 examples which show how tweaks may be used to change the 
 appearance of the printed music.
 
@@ -979,18 +979,18 @@ booleans.
 These control respectively whether bar lines are printed at
 the end of a line, in the middle of lines, and at the beginning
 of lines.  For our example we want all bar lines to be suppressed,
-so the value we need is @code{#(#f #f #f)}.
+so the value we need is @code{'#(#f #f #f)}.
 Let's try that, remembering
 to include the @code{Staff} context.  Note also that in writing
-this value we have two hash signs before the opening bracket.
-One is required as part of the value to introduce a vector, 
-and one is required, as always, to precede the value itself in 
-the @code{\override} command.
+this value we have @code{#'#} before the opening bracket.
+The @code{'#} is required as part of the value to introduce a
+vector, and the first @code{#} is required, as always, to precede
+the value itself in the @code{\override} command.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'break-visibility = ##(#f #f #f)
+  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
   c4 b8 c d16 c d8 |
   g, a16 b8 c d4 e16 |
   e8
@@ -1006,8 +1006,8 @@ We see from the properties specified in the @code{grob-interface}
 page in the IR that the @code{transparent} property is a boolean.
 This
 should be set to @code{#t} to make the grob transparent.
-In this next example let us make the time signature invisible 
-rather than the bar lines.  
+In this next example let us make the time signature invisible
+rather than the bar lines.
 To do this we need to find the grob name for the time signature.
 Back to
 the @q{All layout objects} page in the IR to find the properties
@@ -1028,10 +1028,10 @@ transparent is:
 @end lilypond
 
 @noindent
-The time signature is gone, but this command leaves a gap where 
+The time signature is gone, but this command leaves a gap where
 the time signature should be.  Maybe this is what is wanted for
-an exercise for the student to fill it in, but in other 
-circumstances a gap might be undesirable.  To remove it, the 
+an exercise for the student to fill it in, but in other
+circumstances a gap might be undesirable.  To remove it, the
 stencil for the time signature should be set to @code{#f}
 instead:
 
@@ -1053,8 +1053,16 @@ leaves it where it is, but makes it invisible.
 @subheading color
 @cindex color property
 
-Finally we could make the bar lines invisible by coloring
-them white.  The @code{grob-interface} specifies that the
+Finally let us try making the bar lines invisible by coloring
+them white.  (There is a difficulty with this in that the
+white bar line may or may not blank out the staff lines where
+they cross.  You may see in some of the examples below that this
+happens unpredictably.  The details of why this is so and how to
+control it are covered in @ruser{Painting objects white}.  But at
+the moment we are learning about color, so please just accept this
+limitation for now.)
+
+The @code{grob-interface} specifies that the
 color property value is a list, but there is no
 explanation of what that list should be.  The list it
 requires is actually a list of values in internal units,
@@ -1080,7 +1088,7 @@ and again, we see the bar lines are not visible.  Note that
 a symbol, but a @emph{function}.  When called, it provides
 the list of internal values required to set the color to
 white.  The other colors in the normal list are functions
-too.  To convince yourself this is working you might like 
+too.  To convince yourself this is working you might like
 to change the color to one of the other functions in the
 list.
 
@@ -1113,7 +1121,7 @@ an apostrophe and the two enclosed in brackets.
 
 There is yet a third function, one which converts RGB values into
 internal colors -- the @code{rgb-color} function.  This takes
-three arguments giving the intensities of the red, green and 
+three arguments giving the intensities of the red, green and
 blue colors.  These take values in the range 0 to 1.  So to
 set the color to red the value should be @code{(rgb-color 1 0 0)}
 and to white it should be @code{(rgb-color 1 1 1)}:
@@ -1196,7 +1204,7 @@ we simply set the stencil of each to @code{#f}, as follows:
     <<
       { f c c }
       \new Staff \with {
-        alignAboveContext = "main" 
+        alignAboveContext = "main"
       }
       {
         \override Staff.Clef #'stencil = ##f
@@ -1253,7 +1261,7 @@ So we could replace the example above with
     <<
       { f c c }
       \new Staff \with {
-        alignAboveContext = "main" 
+        alignAboveContext = "main"
         % Don't print clefs in this staff
         \override Clef #'stencil = ##f
         % Don't print time signatures in this staff
@@ -1314,7 +1322,7 @@ Let's try it in our ossia example:
     <<
       { f c c }
       \new Staff \with {
-        alignAboveContext = "main" 
+        alignAboveContext = "main"
         \override Clef #'stencil = ##f
         \override TimeSignature #'stencil = ##f
         % Reduce all font sizes by ~24%
@@ -1369,7 +1377,7 @@ objects in proportion.  It is used like this:
     <<
       { f c c }
       \new Staff \with {
-        alignAboveContext = "main" 
+        alignAboveContext = "main"
         \override Clef #'stencil = ##f
         \override TimeSignature #'stencil = ##f
         fontSize = #-2
@@ -1413,7 +1421,7 @@ from a font) may be changed in the same way.
 @section Placement of objects
 
 @menu
-* Automatic behavior::         
+* Automatic behavior::          
 * Within-staff objects::        
 * Outside staff objects::       
 @end menu
@@ -1538,14 +1546,14 @@ are simpler equivalent predefined commands available.
 Here is a table of the commonest.  The meaning of each is stated
 where it is not obvious.
 
-@multitable @columnfractions .2 .2 .2 .4
-@headitem Down/Left           
+@multitable @columnfractions .2 .2 .25 .35
+@headitem Down/Left
   @tab Up/Right
   @tab Revert
   @tab Effect
-@item @code{\arpeggioDown}
-  @tab @code{\arpeggioUp}
-  @tab @code{\arpeggioNeutral}
+@item @code{\arpeggioArrowDown}
+  @tab @code{\arpeggioArrowUp}
+  @tab @code{\arpeggioNormal}
   @tab Arrow is at bottom, at top, or no arrow
 @item @code{\dotsDown}
   @tab @code{\dotsUp}
@@ -1753,7 +1761,7 @@ these.
 % Place dynamics above staff
 \dynamicUp
 % Start Ottava Bracket
-#(set-octavation 1)
+\ottava #1
 c' \startTextSpan
 % Add Dynamic Text
 c\pp
@@ -1765,7 +1773,7 @@ c c
 % Add Dynamic Text
 c\ff c \stopTextSpan
 % Stop Ottava Bracket
-#(set-octavation 0)
+\ottava #0
 c, c c c
 @end lilypond
 
@@ -1816,7 +1824,7 @@ that @code{OttavaBracket} is created in the @code{Staff} context:
 %Place following Ottava Bracket below Text Spanners
 \once \override Staff.OttavaBracket #'outside-staff-priority = #340
 % Start Ottava Bracket
-#(set-octavation 1)
+\ottava #1
 c' \startTextSpan
 % Add Dynamic Text
 c\pp
@@ -1828,7 +1836,7 @@ c c
 % Add Dynamic Text
 c\ff c \stopTextSpan
 % Stop Ottava Bracket
-#(set-octavation 0)
+\ottava #0
 c, c c c
 @end lilypond
 
@@ -2057,6 +2065,7 @@ of making changes to this type of property are (a) that some
 other objects will be moved automatically if necessary to make
 room and (b) the single override can apply to all instances of
 the same type of object.  Such properties include:
+
 @itemize
 
 @item
@@ -2085,9 +2094,13 @@ to all objects which support the @code{side-position-interface}.
 Instead of @code{padding}, the placement of groups of accidentals
 is controlled by @code{left-padding} and @code{right-padding}.
 These properties are to be found in the @code{AccidentalPlacement}
-object which, note, lives in the @strong{staff} context.  Because
-accidentals are always positioned after and to the left of
-note heads only the @code{right-padding} property has any effect.
+object which, note, lives in the @strong{staff} context.  In the
+type-setting process the note heads are type-set first and then
+the accidentals, if any, are added to the left of the note heads
+using the @code{right-padding} property to determine the separation
+from the note heads. So only the @code{right-padding} property of the
+@code{AccidentalPlacement} object has any effect on the placement
+of the accidentals.
 
 The @code{staff-padding} property is closely related to the
 @code{padding} property:  @code{padding}
@@ -2117,7 +2130,7 @@ objects, this value is set by default to be around 1.0 or less
 @code{self-alignment-X}
 
 @cindex self-alignment-X property
-This property can be used to align the object to the left, to 
+This property can be used to align the object to the left, to
 the right, or to center it with respect to the parent object's 
 reference point.  It may be used with all objects which support
 the @code{self-alignment-interface}.  In general these are objects
@@ -2282,7 +2295,7 @@ context handles a certain object.  Since the @code{MetronomeMark}
 object
 is handled in the @code{Score} context, property changes in the
 @code{Voice} context will not be noticed.  For more details, see
-@ruser{Constructing a tweak}.
+@ruser{Modifying properties}.
 
 If the @code{padding} property of an object is increased when that
 object is in a stack of objects being positioned according to
@@ -2552,12 +2565,12 @@ Here's the final result:
 @node Real music example
 @subsection Real music example
 
-We end this section on Tweaks by showing the steps to be taken to 
-deal with a tricky example which needs several tweaks to produce 
-the desired output.  The example has been deliberately chosen to 
-illustrate the use of the Notation Reference to resolve unusual 
-problems with notation.  It is not representative of more usual 
-engraving process, so please do not let these difficulties put 
+We end this section on Tweaks by showing the steps to be taken to
+deal with a tricky example which needs several tweaks to produce
+the desired output.  The example has been deliberately chosen to
+illustrate the use of the Notation Reference to resolve unusual
+problems with notation.  It is not representative of more usual
+engraving process, so please do not let these difficulties put
 you off!  Fortunately, difficulties like these are not very common!
 
 The example is from Chopin's Première Ballade, Op. 23, bars 6 to
@@ -2575,8 +2588,8 @@ rhMusic = \relative c'' {
   bes1~ |
   \bar "||"
   \time 6/4
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   bes2.^\markup {\bold "Moderato"} r8
   <<
     {c,8[ d fis bes a] | }
@@ -2591,8 +2604,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4.}
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2674,10 +2687,10 @@ lhMusic = \relative c' {
 All the notes are right, but the appearance is far from
 satisfactory.  The tie clashes with the change in time signature,
 the beaming in the third bar is wrong, the notes are not
-merged together, and several notation elements are missing.  
+merged together, and several notation elements are missing.
 Let's first deal with the easier things.
 We can correct the beaming by inserting a beam
-manually, and we can easily add the left hand slur and the right 
+manually, and we can easily add the left hand slur and the right
 hand phrasing slur, since these were all covered in the Tutorial.
 Doing this gives:
 
@@ -2787,28 +2800,28 @@ lhMusic = \relative c' {
 @end lilypond
 
 On to bar three and the start of the Moderato section.  The
-tutorial showed how to add embolded text with the
-@code{\markup} command, so adding @q{Moderato} in bold is easy.
-But how do we merge notes in different voices together?  The
-index in the Notation Reference does not mention merging,
-but a search of the text for @q{merge} quickly leads us to
-the overrides for merging differently headed and differently
-dotted notes in @ruser{Collision Resolution}.  In our
+tutorial showed how to add embolded text with the @code{\markup}
+command, so adding @q{Moderato} in bold is easy.
+But how do we merge notes in different voices together?  This is
+where we need to turn to the Notation Reference for help.  A search
+for @qq{merge} in the Notation Reference index quickly leads us to
+the commands for merging differently headed and differently
+dotted notes in @ruser{Collision resolution}.  In our
 example we need to merge both types of note for the duration
 of the polyphonic section in bar 3, so using the information
-in the Notation Reference we add
+we find in the Notation Reference we add
 
 @example
-\override Staff.NoteCollision #'merge-differently-headed = ##t
-\override Staff.NoteCollision #'merge-differently-dotted = ##t
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
 @end example
 
 @noindent
 to the start of that section and
 
 @example
-\revert Staff.NoteCollision #'merge-differently-headed
-\revert Staff.NoteCollision #'merge-differently-dotted
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
 @end example
 
 @noindent
@@ -2822,8 +2835,8 @@ rhMusic = \relative c'' {
   \bar "||"
   \time 6/4
   bes2.^\markup {\bold "Moderato"} r8
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   % Start polyphonic section of four voices
   <<
     {c,8[ d fis bes a] | }
@@ -2834,8 +2847,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4. | }
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted  
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2861,11 +2874,11 @@ lhMusic = \relative c' {
 }
 @end lilypond
 
-These overrides have merged the two F-sharp notes, but not the two 
+These overrides have merged the two F-sharp notes, but not the two
 on D.  Why not?  The answer is there in the same section in the
-Notation Reference -- notes being merged must have stems in 
-opposite directions and two notes cannot be merged successfully if 
-there is a third note in the same note column.  Here the two D's 
+Notation Reference -- notes being merged must have stems in
+opposite directions and two notes cannot be merged successfully if
+there is a third note in the same note column.  Here the two D's
 both have upward stems and there is a third note -- the C.  We know
 how to change the stem direction using @code{\stemDown}, and
 the Notation Reference also says how to move the C -- apply a shift
@@ -2873,7 +2886,7 @@ using one of the @code{\shift} commands.  But which one?
 The C is in voice two which has shift off, and the two D's are in
 voices one and three, which have shift off and shift on,
 respectively.  So we have to shift the C a further level still
-using @code{\shiftOnn} to avoid it interfering with the two D's.  
+using @code{\shiftOnn} to avoid it interfering with the two D's.
 Applying these changes gives:
 
 @lilypond[quote,verbatim,ragged-right]
@@ -2884,8 +2897,8 @@ rhMusic = \relative c'' {
   \bar "||"
   \time 6/4
   bes2.^\markup {\bold "Moderato"} r8
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   % Start polyphonic section of four voices
   <<
     {c,8[ d fis bes a] | }
@@ -2898,8 +2911,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4. | }
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2940,8 +2953,8 @@ rhMusic = \relative c'' {
   \bar "||"
   \time 6/4
   bes2.^\markup {\bold "Moderato"} r8
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   <<
     {c,8[ d fis bes a] | }
   \\
@@ -2955,8 +2968,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4.}
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2991,14 +3004,12 @@ lhMusic = \relative c' {
 * Using variables for tweaks::
 * Other sources of information::
 * Avoiding tweaks with slower processing::
-* Advanced tweaks with Scheme::
+* Advanced tweaks with Scheme::  
 @end menu
 
 @node Other uses for tweaks
 @subsection Other uses for tweaks
 
-@itemize
-
 @cindex transparent property, use of
 @cindex objects, making invisible
 @cindex removing objects
@@ -3007,7 +3018,6 @@ lhMusic = \relative c' {
 @cindex invisible objects
 @cindex tying notes across voices
 
-@item
 @subheading Tying notes across voices
 
 The following example demonstrates how to connect notes in
@@ -3052,8 +3062,7 @@ too much, we can lengthen the stem by setting the
 >>
 @end lilypond
 
-@item
-@subheading Simulating a fermata
+@subheading Simulating a fermata in MIDI
 
 @cindex stencil property, use of
 @cindex fermata, implementing in MIDI
@@ -3070,8 +3079,8 @@ For example, if we wished to change the metronome setting in order
 to simulate a fermata in the MIDI output we would not want the
 metronome markings to appear in the printed output, and we would
 not want it to influence the spacing between the two systems or
-the spacing of the notes on the staff.  So setting its
-@code{stencil} property to @code{#f} would be the best way.
+the positions of adjacent annotations on the staff.  So setting
+its @code{stencil} property to @code{#f} would be the best way.
 We show here the effect of the two methods:
 
 @lilypond[quote,verbatim,ragged-right]
@@ -3081,12 +3090,30 @@ We show here the effect of the two methods:
     \tempo 4=120
     a4 a a
     \once \override Score.MetronomeMark #'transparent = ##t
-    % Invisible tempo marking to lengthen fermata note in MIDI
+    % Invisible tempo marking to lengthen fermata in MIDI
     \tempo 4=80
     a\fermata
-    \once \override Score.MetronomeMark #'stencil = ##f
-    % Invisible tempo marking to restore tempo in MIDI
+    % New tempo for next section
+    \tempo 4=100
+    a a a a
+  }
+  \layout { }
+  \midi { }
+}
+@end lilypond
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  \relative c'' {
+    % Visible tempo marking
     \tempo 4=120
+    a4 a a
+    \once \override Score.MetronomeMark #'stencil = ##f
+    % Invisible tempo marking to lengthen fermata in MIDI
+    \tempo 4=80
+    a\fermata
+    % New tempo for next section
+    \tempo 4=100
     a a a a
   }
   \layout { }
@@ -3095,12 +3122,11 @@ We show here the effect of the two methods:
 @end lilypond
 
 @noindent
-Both methods remove the metronome mark from the printed output,
-and both affect the MIDI timing as required, but the first
-(transparent) metronome mark still influences the note spacing
-while the second (with no stencil) does not.
-
-@end itemize
+Both methods remove the metronome mark which lengthens the fermata
+from the printed output, and both affect the MIDI timing as 
+required, but the transparent metronome mark in the first line
+forces the following tempo indication too high while the
+second (with the stencil removed) does not.
 
 @node Using variables for tweaks
 @subsection Using variables for tweaks
@@ -3110,8 +3136,10 @@ have to be absolutely correct.  If the same overrides are to be
 used many times it may be worth defining variables to hold them.
 Suppose we wish to emphasize certain words in lyrics by printing
 them in bold italics.  The @code{\italic} and @code{\bold}
-commands do not work within lyrics so we must instead use the
-following @code{\override} and @code{\revert} commands:
+commands only work within lyrics if they are also embedded in
+@code{\markup}, which makes them tedious to enter, so as an
+alternative can we instead use the @code{\override} and 
+@code{\revert} commands?
 
 @example
 @code{\override Lyrics . LyricText #'font-shape = #'italic}
@@ -3121,40 +3149,42 @@ following @code{\override} and @code{\revert} commands:
 @code{\revert Lyrics . LyricText #'font-series}
 @end example
 
-These would be extremely tedious to enter if there were many words
-requiring emphasis.  So instead we define these as two variables,
-and use them as follows:
+These would also be extremely tedious to enter if there were many
+words requiring emphasis.  So instead we define these as two
+variables, and use them as follows, although normally we would
+perhaps choose shorter names for the variables to make them
+quicker to type:
 
 @lilypond[quote,verbatim]
-emph = {
+emphasize = {
   \override Lyrics . LyricText #'font-shape = #'italic
   \override Lyrics . LyricText #'font-series = #'bold
 }
-norm = {
+normal = {
   \revert Lyrics . LyricText #'font-shape
   \revert Lyrics . LyricText #'font-series
 }
 
 global = { \time 4/4 \partial 4 \key c \major}
-SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+SopranoMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
 AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
 TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
 BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
-VerseOne   = \lyrics { E -- | ter -- nal \emph Fa -- ther, \norm | strong to save, }
-VerseTwo   = \lyricmode { O | \emph Christ, \norm whose voice the | wa -- ters heard, }
-VerseThree = \lyricmode { O | \emph Ho -- ly Spi -- rit, \norm | who didst brood }
-VerseFour  = \lyricmode { O | \emph Tri -- ni -- ty \norm of | love and pow'r }
+VerseOne   = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
+VerseTwo   = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
+VerseFour  = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
 
 \score {
   \new ChoirStaff <<
     \new Staff <<
       \clef "treble"
-      \new Voice = "Sop"  { \voiceOne \global \SopMusic }
+      \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
       \new Voice = "Alto" { \voiceTwo \AltoMusic }
-      \new Lyrics \lyricsto "Sop" { \VerseOne   }
-      \new Lyrics \lyricsto "Sop" { \VerseTwo   }
-      \new Lyrics \lyricsto "Sop" { \VerseThree }
-      \new Lyrics \lyricsto "Sop" { \VerseFour  }
+      \new Lyrics \lyricsto "Soprano" { \VerseOne   }
+      \new Lyrics \lyricsto "Soprano" { \VerseTwo   }
+      \new Lyrics \lyricsto "Soprano" { \VerseThree }
+      \new Lyrics \lyricsto "Soprano" { \VerseFour  }
     >>
     \new Staff <<
       \clef "bass"
@@ -3172,36 +3202,56 @@ VerseFour  = \lyricmode { O | \emph Tri -- ni -- ty \norm of | love and pow'r }
 
 The Internals Reference documentation contains a lot of information
 about LilyPond, but even more information can be gathered by
-looking at the internal LilyPond files.  To explore these, first
-find the directory appropriate to your system, as follows:
+looking at the internal LilyPond files.  To explore these, you must
+first find the directory appropriate to your system.  The location
+of this directory depends (a) on whether you obtained LilyPond
+by downloading a precompiled binary from lilypond.org
+or whether you installed it from a package manager (i.e.
+distributed with Linux, or installed under fink or cygwin) or
+compiled it from source, and (b) on which operating system it is 
+being used:
 
-@strong{Linux}
+@strong{Downloaded from lilypond.org}
+
+@itemize @bullet
+@item Linux
 
 Navigate to
-@file{@var{installdir}/lilypond/usr/share/lilypond/current/}
+@file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/}
 
-@strong{MacOS X}
+@item MacOS X
 
 Navigate to
-@file{@var{installdir}/LilyPond.app/Contents/Resources/share/lilypond/current/}
+@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
 by either @code{cd}-ing into this directory from the
 Terminal, or control-clicking on the LilyPond application and
 selecting @q{Show Package Contents}.
 
-@strong{Windows}
+@item Windows
 
 Using Windows Explorer, navigate to
-@file{@var{installdir}/LilyPond/usr/share/lilypond/current/}
+@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
+
+@end itemize
+
+@strong{Installed from a package manager or compiled from source}
+
+Navigate to
+@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, where
+@var{PREFIX} is set by your package manager or @code{configure}
+script, and @var{X.Y.Z} is the LilyPond version number.
+
+@smallspace
 
 Within this directory the two interesting subdirectories are
 
 @itemize
-@item @file{../ly/ } - contains files in LilyPond format
-@item @file{../scm/} - contains files in Scheme format
+@item @file{ly/} - contains files in LilyPond format
+@item @file{scm/} - contains files in Scheme format
 @end itemize
 
-Let's begin by looking at some files in @file{../ly/}.
-Open @file{../ly/property-init.ly} in a text editor.  The one
+Let's begin by looking at some files in @file{ly/}.
+Open @file{ly/property-init.ly} in a text editor.  The one
 you normally use for @code{.ly} files will be fine.  This file
 contains the definitions of all the standard LilyPond built-in
 commands, such as @code{\stemUp} and @code{\slurDotted}.  You will
@@ -3221,18 +3271,18 @@ be redefined easily, just like any other variable, at the
 head of your input file.
 
 The following are the most useful files to be found in
-@file{../ly/}:
+@file{ly/}:
 
 @multitable @columnfractions .4 .6
 @headitem Filename
   @tab Contents
-@item @file{../ly/engraver-init.ly}
+@item @file{ly/engraver-init.ly}
   @tab Definitions of engraver Contexts
-@item @file{../ly/paper-defaults.ly}
+@item @file{ly/paper-defaults.ly}
   @tab Specifications of paper-related defaults
-@item @file{../ly/performer-init.ly}
+@item @file{ly/performer-init.ly}
   @tab Definitions of performer Contexts
-@item @file{../ly/property-init.ly}
+@item @file{ly/property-init.ly}
   @tab Definitions of all common built-in commands
 @end multitable
 
@@ -3251,20 +3301,20 @@ interest are:
 @multitable @columnfractions .4 .6
 @headitem Filename
   @tab Contents
-@item @file{../scm/auto-beam.scm}
+@item @file{scm/auto-beam.scm}
   @tab Sub-beaming defaults
-@item @file{../scm/define-grobs.scm}
+@item @file{scm/define-grobs.scm}
   @tab Default settings for grob properties
-@item @file{../scm/define-markup-commands.scm}
+@item @file{scm/define-markup-commands.scm}
   @tab Specify all markup commands
-@item @file{../scm/midi.scm}
+@item @file{scm/midi.scm}
   @tab Default settings for MIDI output
-@item @file{../scm/output-lib.scm}
+@item @file{scm/output-lib.scm}
   @tab Settings that affect appearance of frets, colors,
        accidentals, bar lines, etc
-@item @file{../scm/parser-clef.scm}
+@item @file{scm/parser-clef.scm}
   @tab Definitions of supported clefs
-@item @file{../scm/script.scm}
+@item @file{scm/script.scm}
   @tab Default settings for articulations
 @end multitable
 
@@ -3273,7 +3323,7 @@ interest are:
 @node Avoiding tweaks with slower processing
 @subsection Avoiding tweaks with slower processing
 
-LilyPond can perform extra checks while it processes files.  These
+LilyPond can perform extra checks while it processes input files.  These
 checks will take extra time to perform, but fewer manual tweaks
 may be required to obtain an acceptable result.  If a text script
 or part of the lyrics extends over the margins these checks will
@@ -3340,7 +3390,7 @@ the staff.
   g1 |
 }
 \addlyrics {
-  Some -- where o -- ver the Rain -- bow way up high,
+  Some -- where o -- ver the Rain -- bow, way up high,
 }
 @end lilypond
 
@@ -3361,6 +3411,3 @@ can be found in @ref{Tweaking with Scheme}.
 
 
 
-
-
-