]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/tweaks.itely
Experimenting with no [fragment].
[lilypond.git] / Documentation / user / tweaks.itely
index 3bbb34f86abfb6455c2554a32993adbe3977a5b5..678846d4b15648dc8a010fa18c5976b12bec6bf1 100644 (file)
@@ -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
@@ -878,7 +878,7 @@ by a hash sign, @code{#}.
 @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.
 
@@ -1196,7 +1196,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 +1253,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 +1314,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 +1369,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 +1413,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,8 +1538,8 @@ 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
@@ -2057,6 +2057,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 +2086,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 +2122,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 +2287,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
@@ -2793,7 +2798,7 @@ 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
+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
@@ -2987,18 +2992,16 @@ lhMusic = \relative c' {
 @section Further tweaking
 
 @menu
-* Other uses for tweaks::
-* Using variables for tweaks::
-* Other sources of information::
-* Avoiding tweaks with slower processing::
-* Advanced tweaks with Scheme::
+* Other uses for tweaks::       
+* Using variables for tweaks::  
+* Other sources of information::  
+* Avoiding tweaks with slower processing::  
+* 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 +3010,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,7 +3054,6 @@ too much, we can lengthen the stem by setting the
 >>
 @end lilypond
 
-@item
 @subheading Simulating a fermata
 
 @cindex stencil property, use of
@@ -3100,8 +3101,6 @@ 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
-
 @node Using variables for tweaks
 @subsection Using variables for tweaks
 
@@ -3175,33 +3174,43 @@ 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:
 
-@strong{Linux}
+@strong{Download from lilypond.org: Linux}
 
 Navigate to
-@file{@var{installdir}/lilypond/usr/share/lilypond/current/}
+@file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/}
 
-@strong{MacOS X}
+@strong{Download from lilypond.org: 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}
+@strong{Download from lilypond.org: Windows}
 
 Using Windows Explorer, navigate to
-@file{@var{installdir}/LilyPond/usr/share/lilypond/current/}
+@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
+
+@strong{Installed from a package manager or from source: all}
+
+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 +3230,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 +3260,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 +3282,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
@@ -3361,5 +3370,3 @@ can be found in @ref{Tweaking with Scheme}.
 
 
 
-
-