]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/learning/fundamental.itely
Issue 3720: Doc: Built-in templates for SATB vocal scores
[lilypond.git] / Documentation / learning / fundamental.itely
index 482425df14fa14818bf55b9b2dcad81caf8de36b..c0f8708f3caf77646b36717b73056125148b1508 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.11"
+@c \version "2.17.29"
 
 @node Fundamental concepts
 @chapter Fundamental concepts
@@ -57,7 +57,7 @@ A basic example of a LilyPond input file is
 \header @{ @}
 
 \score @{
-  @var{...compound music expression...}  % all the music goes here!
+  @var{ @dots{} compound music expression @dots{} }  % all the music goes here!
   \layout @{ @}
   \midi @{ @}
 @}
@@ -133,13 +133,13 @@ note to a huge compound expression like
 @example
 @{
   \new StaffGroup <<
-    @var{...insert the whole score of a Wagner opera in here...}
+    @var{ @dots{} insert the whole score of a Wagner opera in here @dots{} }
   >>
 @}
 @end example
 
 @noindent
-Since everything is inside @code{@{ ... @}}, it counts
+Since everything is inside @code{@{ @dots{} @}}, it counts
 as one music expression.
 
 As we saw previously, the @code{\score} block can contain other
@@ -301,12 +301,12 @@ Here we have given names to the staves -- @qq{singer} and
 to cultivate so that you can see at a glance what each stave is
 for.
 
-Remember that we use @code{<< ... >>} instead of @code{@{ ... @}} to
+Remember that we use @code{<< @dots{} >>} instead of @code{@{ @dots{} @}} to
 show simultaneous music.  This causes the vocal part and piano part
-to appear one above the other in the score.  The @code{<< ... >>}
+to appear one above the other in the score.  The @code{<< @dots{} >>}
 construct would not be necessary for the Singer staff in the example
 above if it were going to contain only one sequential music
-expression, but @code{<< ... >>} rather than braces is necessary if
+expression, but @code{<< @dots{} >>} rather than braces is necessary if
 the music in the Staff is to contain two or more simultaneous
 expressions, e.g. two simultaneous Voices, or a Voice with lyrics.
 We're going to have a voice with lyrics, so angle brackets are
@@ -484,27 +484,27 @@ constructs.
 @multitable @columnfractions .3 .7
 @headitem Bracket Type
   @tab Function
-@item @code{@{ .. @}}
+@item @code{@{ @dots{} @}}
   @tab Encloses a sequential segment of music
-@item @code{< .. >}
+@item @code{< @dots{} >}
   @tab Encloses the notes of a chord
-@item @code{<< .. >>}
+@item @code{<< @dots{} >>}
   @tab Encloses simultaneous music expressions
-@item @code{( .. )}
+@item @code{( @dots{} )}
   @tab Marks the start and end of a slur
-@item @code{\( .. \)}
+@item @code{\( @dots{} \)}
   @tab Marks the start and end of a phrasing slur
-@item @code{[ .. ]}
+@item @code{[ @dots{} ]}
   @tab Marks the start and end of a manual beam
 @end multitable
 
 To these we should add other constructs which generate lines
 between or across notes: ties (marked by a tilde, @code{~}),
-tuplets written as @code{\times x/y @{..@}}, and grace notes
-written as @code{\grace@{..@}}.
+tuplets written as @code{\tuplet x/y @{ @dots{} @}}, and grace notes
+written as @code{\grace @{ @dots{} @}}.
 
 Outside LilyPond, the conventional use of brackets requires the
-different types to be properly nested, like this, @code{<< [ @{ ( .. )
+different types to be properly nested, like this, @code{<< [ @{ ( @dots{} )
 @} ] >>}, with the closing brackets being encountered in exactly the
 opposite order to the opening brackets.  This @strong{is} a
 requirement for the three types of bracket described by the word
@@ -593,7 +593,7 @@ this example of four chords:
 @end lilypond
 
 This can be expressed using just the single angle bracket chord
-symbols, @code{< ... >}, and for this just a single voice is
+symbols, @code{< @dots{} >}, and for this just a single voice is
 needed.  But suppose the F-sharp were actually an eighth-note
 followed by an eighth-note G, a passing note on the way to the A?
 Now we have two notes which start at the same time but have
@@ -610,8 +610,8 @@ Let us see how this is done in LilyPond input syntax.
 @funindex \\
 
 The easiest way to enter fragments with more than one voice on a
-staff is to enter each voice as a sequence (with @code{@{...@}}),
-and combine them simultaneously with angle brackets, @code{<<...>>}.
+staff is to enter each voice as a sequence (with @code{@{ @dots{} @}}),
+and combine them simultaneously with angle brackets, @code{<< @dots{} >>}.
 The fragments must also be separated with double backward slashes,
 @code{\\}, to place them in separate voices.  Without these, the
 notes would be entered into a single voice, which would usually
@@ -689,7 +689,7 @@ of slurs, stems, ties, dynamics etc., is set appropriately.
 @end lilypond
 
 These voices are all separate from the main voice that contains
-the notes just outside the @code{<< .. >>} construct.  Let's call
+the notes just outside the @code{<< @dots{} >>} construct.  Let's call
 this the @emph{simultaneous construct}.  Slurs and ties may only
 connect notes within the same voice, so slurs and ties cannot go
 into or out of a simultaneous construct.  Conversely,
@@ -749,7 +749,7 @@ used here) reverts the style back to the default.
 We shall see later how commands like these may be created by the
 user.
 See @ref{Visibility and color of objects} and
-@ref{Using variables for tweaks}.
+@ref{Using variables for layout adjustments}.
 
 @cindex polyphony and relative note entry
 @cindex relative note entry and polyphony
@@ -775,13 +775,13 @@ voices are widely separated, is to place a @code{\relative}
 command at the start of each voice:
 
 @example
-\relative c' @{ noteA ... @}
+\relative c' @{ noteA @dots{} @}
 <<
-  \relative c'' @{ < noteB noteC > ... @}
+  \relative c'' @{ < noteB noteC > @dots{} @}
 \\
-  \relative g' @{ noteD ... @}
+  \relative g' @{ noteD @dots{} @}
 >>
-\relative c' @{ noteE ... @}
+\relative c' @{ noteE @dots{} @}
 @end example
 
 Let us finally analyze the voices in a more complex piece of music.
@@ -1603,8 +1603,7 @@ from the name, or vice versa.
   @tab Engraves clefs
 @item Completion_heads_engraver
   @tab Splits notes which cross bar lines
-@c The old Dynamic_engraver is deprecated. -jm
-@item New_dynamic_engraver
+@item Dynamic_engraver
   @tab Creates hairpins and dynamic texts
 @item Forbid_line_break_engraver
   @tab Prevents line breaks if a musical element is still active
@@ -1792,9 +1791,9 @@ and this turns them off in all staves:
 >>
 @end lilypond
 
-As another example, if @code{clefOctavation} is set in
+As another example, if @code{clefTransposition} is set in
 the @code{Score} context this immediately changes the value
-of the octavation in all current staves and sets a new default
+of the transposition in all current staves and sets a new default
 value which will be applied to all staves.
 
 The opposite command, @code{\unset}, effectively removes the
@@ -1842,7 +1841,7 @@ The default value of context properties may be set at the time the
 context is created.  Sometimes this is a clearer way of setting a
 property value if it is to remain fixed for the duration of
 the context.  When a context is created with a @code{\new}
-command it may be followed immediately by a @code{\with @{ .. @}}
+command it may be followed immediately by a @code{\with @{ @dots{} @}}
 block in which the default property values are set.  For example,
 if we wish to suppress the printing of extra naturals for the
 duration of a staff we would write:
@@ -1895,7 +1894,7 @@ The statement which sets the property value is the same as that in a
 @code{\context} block within a @code{\layout} block.  Each
 @code{\context} block will affect all contexts of the type specified
 throughout the @code{\score} or @code{\book} block in which the
-@code{\layout} block appears.  Here is a example to show the format:
+@code{\layout} block appears.  Here is an example to show the format:
 
 @lilypond[verbatim,quote]
 \score {
@@ -2436,7 +2435,15 @@ lower = \relative c, {
 }
 @end lilypond
 
-None of the templates provides this layout exactly.  The nearest is
+@warning{This layout can be achieved very easily using the built-in
+template: @code{satb.ly}, see @ref{Built-in templates}.  But for ease
+of use this template deliberately hides the necessary context
+structure, instead providing it automatically.  So for purposes of
+learning let us see how to build this up from scratch.  You may need
+to do this if the built-in template does not meet your needs
+adequately.}
+
+The nearest copy-and-edit template to this layout is
 @ref{SATB vocal score and automatic piano reduction} -- but we need
 to change the layout and add a piano
 accompaniment which is not derived automatically from the vocal parts.
@@ -2778,12 +2785,12 @@ see what errors it generates.
 @end example
 
 It is not necessary to use the simultaneous construct
-@code{<< .. >>} for the manual two staff and the pedal organ staff,
+@code{<< @dots{} >>} for the manual two staff and the pedal organ staff,
 since they contain only one music expression, but it does no harm,
 and always using angle brackets after @code{\new Staff} is a good
 habit to cultivate in case there are multiple voices.  The opposite
 is true for Voices: these should habitually be followed by braces
-@code{@{ .. @}} in case your music is coded in several variables
+@code{@{ @dots{} @}} in case your music is coded in several variables
 which need to run consecutively.
 
 Let's add this structure to the score block, and adjust the indenting.