]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/refman.itely
release: 1.3.92
[lilypond.git] / Documentation / user / refman.itely
index 08b7db490fd6c6441289ad169a08990e020e410a..3cbf3e94eb2d842e12aa7edb9b765cd3ce184503 100644 (file)
@@ -1,4 +1,9 @@
-
+@c TODO: 
+@c - Reinsert subsection commands that were lost in the
+@c   ancient conversion from YODL!  /MB
+@c - Restructure! Separate internal commands from user level commands. /MB
+@c - Add some words about Guile.  /MB
+@c - Fix indexing (keyindex) so it doesn't add line breaks  /MB
 
 @node Reference Manual, ,  , Top
 @menu
@@ -14,7 +19,7 @@
 * Note specification::                      notedesc
 * barlines::                      barlines
 * Manual beams::                  Manual beam
-* tremolo::                       tremolo
+* stem tremolo::                       tremolo
 * Compound music expressions::    Compound music expressions
 * relative::                      relative
 * Repeats::                      Repeats       
@@ -96,7 +101,7 @@ The syntax is
 
 @example
   \header @{ @var{key1} = @var{val1};
-                        @var{key2} = @var{val2}; @dots{} @}
+             @var{key2} = @var{val2}; @dots{} @}
 @end example
 
 A header describes the file's contents.  It can also appear in a
@@ -312,8 +317,6 @@ Simply include the language specific init file.  For example:
 `@code{\include "english.ly"}'.  The available language files and the
 names they define are:
 
-@quotation
-
 @example 
                         Note Names               sharp       flat
 nederlands.ly  c   d   e   f   g   a   bes b   -is         -es
@@ -321,12 +324,10 @@ english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat
 deutsch.ly     c   d   e   f   g   a   b   h   -is         -es
 norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es
 svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess
-italiano.ly    do  re  mi  fa  sol la  sid si  -d          -b
-catalan.ly     do  re  mi  fa  sol la  sid si  -d/-s       -b 
+italiano.ly    do  re  mi  fa  sol la  sib si  -d          -b
+catalan.ly     do  re  mi  fa  sol la  sib si  -d/-s       -b 
 @end example 
 
-@end quotation
-
 Pitch names can be redefined using the
 @code{\notenames}@keyindex{notenames} command, see
 subsection XREF-notenames [FIXME].
@@ -394,7 +395,7 @@ different modes have different rules for deciding what is a word.
     over 127, or a two-character combination of a backslash followed
     by one of `@code{`}', `@code{'}', `@code{"}', or
     `@code{^}'.@footnote{The purpose of Lyrics mode is that you can
-    enter lyrics in TeX format or a standard encoding without
+    enter lyrics in @TeX{} format or a standard encoding without
     needing quotes.  The precise definition of this mode indeed is
     ludicrous.  This will remain so until the authors of LilyPond
     acquire a deeper understanding of character encoding, or someone
@@ -405,15 +406,12 @@ different modes have different rules for deciding what is a word.
     is that a word can end with `@code{@}}', which may be confusing if
     you thought the closing brace was going to terminate Lyrics
     mode.@footnote{LilyPond will issue a warning, though.}  Any
-    `@code{_}' characters which appear in an unquoted word are
-    converted to spaces.  This provides a mechanism for introducing
+    `@code{_}' character which appears in an unquoted word is
+    converted to a space.  This provides a mechanism for introducing
     spaces into words without using quotes.  Quoted words can also be
     used in Lyrics mode to specify words that cannot be written with
     the above rules.  Here are some examples.  Not all of these words
-    are printable by TeX.
-
-
-    @quotation
+    are printable by @TeX{}.
 
 @example 
 Ah!             % a word
@@ -422,8 +420,6 @@ Ah!             % a word
 _ _ _ _         % 4 words, each one a space 
 @end example 
 
-    @end quotation
-
     Since combinations of numbers and dots are used for indicating
     durations, you can not enter real numbers in this mode.
 @end table
@@ -700,14 +696,13 @@ r1 r2 r4 r8 r16 r32 r64 r64
     r1 r2 r4 r8 r16 r32 r64 r64 
   }
   \paper {
-    loose_column_distance = 2.5 * \interline;
+    loose_column_distance = 2.5 * \staffspace;
     linewidth = -1.0;
     \translator {
-      \type "Score_engraver";
-      \name "Score";
-      \consists "Rest_engraver";
-      \consists "Stem_engraver";
-      \consists "Rhythmic_column_engraver";
+       \StaffContext
+       \remove "Clef_engraver";
+       \remove "Staff_symbol_engraver";
+       \remove "Bar_engraver";
     }
   }
 }
@@ -729,11 +724,16 @@ appearance of note heads or rests.
 
 
 Rests are entered like notes, with note name `@code{r}@indexcode{r}',
-or `@code{R}@indexcode{R}'.  There is also a note name `@code{s}@indexcode{s}',
-which produces a space of the specified duration. 
-`@code{R}' is specifically meant for entering parts: the @code{R} rest
-can expand to fill a score with rests, or it can be printed as a
-single multimeasure rest.
+or `@code{R}@indexcode{R}'.  There is also a note name
+`@code{s}@indexcode{s}', which produces a space of the specified
+duration.  `@code{R}' is specifically meant for entering parts: the
+@code{R} rest can expand to fill a score with rests, or it can be
+printed as a single multimeasure rest.
+
+You can control the expansion by setting the property
+@code{Score.skipBars}. If this is set to true, Lily will not expand
+empty measures, and the multimeasure rests automatically adds the
+appropriate number.
 
 
 @cindex lyrics expressions
@@ -784,6 +784,33 @@ Usually this is used to switch staffs in Piano music, e.g.
 @end example
 
 
+@cindex output properties
+
+
+These allow you to tweak what is happening in the back-end
+directly. If you want to control every detail of the output
+formatting, this is the feature to use. The downside to this is that
+you need to know exactly how the backend works. Example:
+
+
+@mudela[fragment,verbatim]
+\relative c'' { c4
+       \context Staff \outputproperty
+               #(make-type-checker 'Note_head)
+               #'extra-offset = #'(5.0 . 7.5)
+<c8 e g> }
+@end mudela
+
+This selects all note heads occurring at current staff level, and sets
+the extra-offset of those heads to (5,7.5), shifting them up and
+right.
+
+Use of this feature is entirely on your own risk: if you use this, the
+result will depend very heavily on the implentation of the backend,
+which we change unscrupulously.
+
+
+
 
 @cindex commands
 
@@ -907,7 +934,7 @@ lasting two eighth notes.
 
 @cindex upstep
 
-`@code{|}' is a barcheck.  Whenever a barcheck is encountered during
+`@code{|}' is a bar check.  Whenever a bar check is encountered during
 interpretation, a warning message is issued if it doesn't fall at a
 measure boundary.  This can help you finding errors in the input. 
 The beginning of the measure will be relocated, so this can also
@@ -1011,6 +1038,8 @@ Some more elaborate constructions:
 
 Beaming can be generated automatically; see section XREF-autobeam [FIXME].
 
+[OUTDATED, FIXME]
+
 To place tremolo marks 
 @cindex tremolo beams
  between two notes, begin
@@ -1020,14 +1049,15 @@ construction will produce odd effects.  To create tremolo beams on a
 single note, simply attach `@code{:}@var{length}' to the note itself
 (see also section XREF-tremolo [FIXME]).
   
-@mudela[fragment,verbatim,center]
+@ignore
+@mu dela[fragment,verbatim,center]
   [:16 e'1 g'] [:8 e'4 f']
 @end mudela
   
-@mudela[fragment,verbatim,center]
+@mud ela[fragment,verbatim,center]
   c'4:32 [:16 c'8 d'8]
 @end mudela
-
+@end ignore
 
 @cindex --@@@code{-}@code{-}
 
@@ -1106,7 +1136,7 @@ name of the corresponding symbol appearing underneath.
 @end mudela
 
 In addition, it is possible to place arbitrary strings of text or
-TeX above or below notes by using a string instead of an
+@TeX{} above or below notes by using a string instead of an
 identifier: `@code{c^"text"}'.  Fingerings 
 @cindex fingering
  can be
@@ -1254,13 +1284,13 @@ The slur syntax with parentheses is a shorthand for this.
 
 @cindex tremolo marks
 
-@node tremolo, , ,  Reference Manual
+@node stem tremolo, , ,  Reference Manual
 
 Tremolo marks can be printed on a single note by adding
 `@code{:}[@var{length}]' after the note.  The length must be at
 least 8.  A @var{length} value of 8 gives one line across
 the note stem.  If the length is omitted, then the last value is
-used, or the value of the @code{abbrev}@indexcode{abbrev} property if there was
+used, or the value of the @code{tremoloFlags}@indexcode{tremoloFlags} property if there was
 no last value.
 
 @mudela[verbatim,fragment,center]
@@ -1599,14 +1629,14 @@ example) have a separate time signature within grace notes.  While in
 this score-within-a-score, you can create notes, beams, slurs, etc.
 Unbeamed eighth notes and shorter by default have a slash through the
 stem.  This behavior can be controlled with the
-@code{stemStyle}@indexcode{stemStyle} property.
+@code{flagStyle}@indexcode{flagStyle} property.
 
 @quotation
 
 @mudela[fragment,verbatim]
 \relative c'' {
   \grace c8 c4 \grace { [c16 c16] } c4
-  \grace { \property Grace.stemStyle = "" c16 } c4
+  \grace { \property Grace.flagStyle = "" c16 } c4
 }
 
 @end mudela
@@ -1773,10 +1803,10 @@ will print flats.
 @mudela[fragment,verbatim]
 \context Staff {
   \clef "F";
-  { \key e; c d e f }
+  { \key e \major; c d e f }
   \clef "G";
-  \transpose des'' { \key e; c d e f }
-  \transpose cis'' { \key e; c d e f }
+  \transpose des'' { \key e \major; c d e f }
+  \transpose cis'' { \key e \major; c d e f }
 }
 
 @end mudela
@@ -1813,7 +1843,7 @@ notes.
 @mudela[verbatim,fragment]
 \addlyrics
 \transpose c'' {
-  \property Voice.automaticMelismata = "1"
+  \property Voice.automaticMelismata = ##t
   c8 () cis d8. e16 f2
 }
 \context Lyrics \lyrics {
@@ -1979,7 +2009,7 @@ If you want inversions to be recognized, you must set the property
 
 @mudela[fragment,verbatim,center]
   <
-    \property Score.chordInversion = 1
+    \property Score.chordInversion = ##t
     \context ChordNameVoice \notes {
       <e'1 g' c''>
     }
@@ -2446,7 +2476,7 @@ Nevertheless, here are some variables you may want to use or change:
   @item @code{indent}@indexcode{indent}  
     The indentation of the first line of music.
 
-  @item @code{interline}@indexcode{interline}  
+  @item @code{staffspace}@indexcode{staffspace}
     The distance between two staff lines, calculated from the center
     of the lines.  You should use either this or @code{rulethickness}
     as a unit for distances you modify.
@@ -2455,6 +2485,19 @@ Nevertheless, here are some variables you may want to use or change:
     Sets the width of the lines.  If set to -1.0, a single
     unjustified line is produced.
 
+  @item @code{textheight}@indexcode{textheight}  
+    Sets the total height of the music on each page. Only used by
+    ly2dvi.
+
+  @item @code{interscoreline}@indexcode{interscoreline}  
+    Sets the spacing between the score lines. Defaults to 16 pt.
+
+  @item @code{interscorelinefill}@indexcode{interscorelinefill}  
+    If set to a positive number, the distance between the score 
+    lines will stretch in order to fill the full page. In that
+    case @code{interscoreline} specifies the minimum spacing.
+    Defaults to 0.
+
   @item @code{output}@indexcode{output}  
     Specifies an alternate name for the the output @file{s}.
     A @file{.tex}, @file{.midi} or @file{.ps} extension will be 
@@ -2647,9 +2690,7 @@ The engravers for paper output are:
 
   @item @code{Bar_number_engraver}@indexcode{Bar_number_engraver}  
     Engrave bar numbers.  These numbers appear at the start of each
-    line.  Not normally in any translator.  Can be added to
-    @code{Score} for score-wide numbering or to @code{Staff} for
-    numbering on each staff.
+    line.  Part of @code{Score} context.
 
   @item @code{Beam_engraver}@indexcode{Beam_engraver}  
     Handles beam requests by engraving beams.  Normally appears in
@@ -2700,6 +2741,9 @@ The engravers for paper output are:
     Note that the notes move, but the locations of accidentals stay
     the same.
 
+       Vertical position of squashing can be controlled through
+@indexcode{squashedPosition}.
+
   @item @code{Priority_horizontal_align_engraver}
     @indexcode{Priority_horizontal_align_engraver}
 
@@ -2738,7 +2782,7 @@ The engravers for paper output are:
 
   @item @code{Staff_group_bar_engraver}@indexcode{Staff_group_bar_engraver}
 
-  @item @code{Staff_margin_engraver}@indexcode{Staff_margin_engraver}  
+  @item @code{Instrument_name_engraver}@indexcode{Instrument_name_engraver}
     Prints the name of the instrument (specified by
     @code{Staff.instrument} and @code{Staff.instr}) at the left of the
     staff.
@@ -2807,8 +2851,7 @@ instrument name should be chosen from the following list.  If the
 selected string does not exactly match, then LilyPond uses the default
 piano.
 
-
-@quotation
+@c @quotation
 
 @example 
 "acoustic grand"            "contrabass"           "lead 7 (fifths)"
@@ -2856,7 +2899,7 @@ piano.
 "cello"                     "lead 6 (voice)" 
 @end example 
 
-@end quotation
+@c @end quotation
 
 
 @cindex MIDI types and performers