]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/refman.itely
release: 1.3.121
[lilypond.git] / Documentation / user / refman.itely
index 60018dacba3b9abf9500193a4d700c35d066c6a5..63d75f23dc2190a02986bf8b3d55e6e0cae8b9a5 100644 (file)
@@ -33,9 +33,7 @@
 * lyricprint::                     lyricprint
 * Notation Contexts::              Notation Contexts
 * Properties::                     Changing formatting
-* Notation output definitions::    Notation output definitions
-* paper::                          paper
-* Paper variables::                papervars
+* Page layout::                    Layout
 * contextdefs::                    contextdefs
 * Sound output::                   Sound output
 * midilist::                       midilist
@@ -434,7 +432,7 @@ refer to an identifier, you preceed its name with a backslash:
 `@code{\}@var{name}'.  Identifier assignments must appear at top level
 in the @emph{Lilypond} file.  Semicolons are forbidden after assignments
 appearing at top level but they are obligatory after assignments
-appearing in the @code{\paper} block, see Section @ref{paper}.
+appearing in the @code{\paper} block, see Section @ref{Page layout}.
 
 @var{value} is any valid Scheme value or any of the input-types listed
 above.
@@ -475,12 +473,11 @@ copied.  For this reason, an identifier reference must always be the
 
 Music in @emph{Lilypond} is entered as a music expression.  Notes, rests,
 lyric syllables are music expressions (the atomic
-expressions)
+expressions),
 @cindex atomic music expressions
-, and you can combine
-music expressions to form new ones.  This example forms a compound
-expressions out of the quarter @code{c} note and a @code{d}
-note:
+and you can combine music expressions to form new ones.  This example
+forms a compound expressions out of the quarter @code{c} note and a
+@code{d} note:
 
 @example 
 \sequential @{ c4 d4 @} 
@@ -788,7 +785,6 @@ Commands are music expressions that have no duration.
 
 
 @example
-
   @code{\key}@keyindex{key} @var{pitch} @var{type} @code{;}
 @end example
 
@@ -806,13 +802,6 @@ mode names @code{\ionian}@keyindex{ionian},
 @code{\phrygian}@keyindex{phrygian}, and @code{\dorian}@keyindex{dorian}
 are also defined.
 
-@example
-  @code{\keysignature}@keyindex{keysignature} @var{pitchseq} @code{;}
-@end example
-
-Specify an arbitrary key signature.  The pitches from @var{pitch} will
-be printed in the key signature in the order that they appear on the
-list.
         
 @example
   \mark@keyindex{mark} @var{unsigned};
@@ -834,8 +823,9 @@ This is a short-cut for doing
   \property Score.whichBar = @var{bartype} 
 @end example
 
-You are encouraged to use @code{\repeat} for repetitions.  See 
-@ref{Repeats}, and the documentation of @code{whichBar}.
+You are encouraged to use @code{\repeat} for repetitions.  See
+@ref{Repeats}, and the documentation of @code{whichBar} in
+@ref{(lilypond-internals)LilyPond context properties}.
 
 
 @example
@@ -893,7 +883,6 @@ relocated, so this can also be used to shorten measures.
 
 
 @example
-
   \penalty@keyindex{penalty} @var{int} @code{;}
 @end example
 
@@ -948,7 +937,6 @@ Some more elaborate constructions:
 
 Beaming can be generated automatically; see section @ref{autobeam}.
 
-[OUTDATED, FIXME]
 
 To place tremolo marks between notes, use @code{\repeat} with tremolo
 style.
@@ -1833,31 +1821,33 @@ foo = -6
 
 @node autobeam, , ,  Reference Manual
 
-By default, LilyPond will generate beams automatically.  This feature
-can be disabled by setting the @code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming}
-property to 1.  It can be overridden for specific cases by
-specifying explicit beams.
+[FIXME: UPDATEME]
 
+By default, LilyPond will generate beams automatically.  This feature
+can be disabled by setting the
+@code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming} property to 1.
+It can be overridden for specific cases by specifying explicit beams.
 
 A large number of Voice properties are used to decide how to generate
-beams.  Their default values appear in @file{auto-beam-settings.ly}.
-In general, beams can begin anywhere, but their ending location is
-significant.  Beams can end on a beat, or at durations specified by
-the @code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property.  To end beams every
-quarter note, for example, you could set
-@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to `@code{"1/4"}'.  To end beams
-at every three eighth notes you would set it to `@code{"3/8"}'.  The
-same syntax can be used to specify beam starting points using
+beams.  Their default values appear in @file{auto-beam-settings.ly}.  In
+general, beams can begin anywhere, but their ending location is
+significant.  Beams can end on a beat, or at durations specified by the
+@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property.  To end
+beams every quarter note, for example, you could set
+@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to
+`@code{"1/4"}'.  To end beams at every three eighth notes you would set
+it to `@code{"3/8"}'.  The same syntax can be used to specify beam
+starting points using
 @code{Voice.beamAutoBegin}@indexcode{Voice.beamAutoBegin}.
 
 To allow different settings for different time signatures, these
 property names can start with `@code{time}@var{N}@code{_}@var{M}' to
 restrict the definition to `@var{N}@code{/}@var{M}' time.  For example,
-to specify beams ending only for 6/8 time you would use the
-property @code{Voice.time6_8beamAutoEnd}.  To allow different endings
-for notes of different durations, the duration can be tacked onto the
-end of the property.  To specify beam endings for beams that contain
-32nd notes, you would use @code{Voice.beamAutoEnd_32}.
+to specify beams ending only for 6/8 time you would use the property
+@code{Voice.time6_8beamAutoEnd}.  To allow different endings for notes
+of different durations, the duration can be tacked onto the end of the
+property.  To specify beam endings for beams that contain 32nd notes,
+you would use @code{Voice.beamAutoEnd_32}.
 
 
 
@@ -2162,16 +2152,9 @@ called @emph{performers}.
 
 @mbinclude properties.itely
 
-@node Notation output definitions, , ,  Reference Manual
-@section Notation output definitions
-
-@cindex output
+@node Page layout, , ,  Reference Manual
 
-@cindex notation output
-
-@cindex output definition
-
-@node paper, , ,  Reference Manual
+@subsection Paper block
 
 The most important output definition is the @code{\paper} block, for
 music notation.  The syntax is
@@ -2215,7 +2198,6 @@ where each of the items is one of
 @end ignore
 
   @item  \stylesheet  declaration.  Its syntax is
-
        @example
                \stylesheet @var{alist}
        @end example
@@ -2223,36 +2205,9 @@ where each of the items is one of
        See @file{font.scm} for details of @var{alist}.
 @end itemize
 
+@subsection Paper variables 
 
 
-@cindex changing font size and paper size
-
-The Feta font provides musical symbols at six different sizes.  These
-fonts are 11 point, 13 point, 16 point, 20 point,
-23 point, and 26 point.  The point size of a font is the
-height of the five lines in a staff when displayed in the font.
-
-Definitions for these sizes are the files @file{paperSZ.ly}, where
-@code{SZ} is one of 11, 13, 16, 20, 23 and 26.  If you include
-any of these files, the identifiers @code{paper_eleven},
-@code{paper_thirteen}, @code{paper_sixteen}, @code{paper_twenty},
-@code{paper_twentythree}, and @code{paper_twentysix} are defined
-respectively.  The default @code{\paper} block is also set.
-
-To change the paper size, you must first set the
-@code{papersize}@indexcode{papersize} variable at top level.  Set it to the strings
-@code{a4}, @code{letter}, or @code{legal}.  After this specification,
-you must set the font as described above.  If you want the default
-font, then use the 20 point font.  The new paper size will not
-take effect if the font is not loaded and selected afterwards.  Paper
-size selection works by loading a file named after the paper size you
-select.
-
-
-
-@cindex paper variables
-
-@node Paper variables, , ,  Reference Manual
 
 The paper block has some variables you may want to use or change:
 
@@ -2284,13 +2239,90 @@ The paper block has some variables you may want to use or change:
 
   @item @code{stafflinethickness}@indexcode{stafflinethickness}  
     Determines the thickness of staff lines, and also acts as a scaling
-parameter for other line thicknesses.
+    parameter for other line thicknesses.
 @end table
 
 
+@subsection Line breaks
+
+@cindex line breaks
+@cindex breaking lines
+
+Line breaks are normally computed automatically. They are chosen such
+that the resulting spacing has low variation, and looks neither cramped
+nor loose.
+
+Occasionally you might want to override the automatic breaks; you can do
+this by specifying @code{\break} (see also @ref{Pre-defined
+Identifiers}). This will force a line break at this point. Do remember
+that line breaks can only occur at places where there are barlines.  If
+you want to have a line break where there is no barline, you can force a
+barline by entering @code{\bar "";}.
+
+@subsection Page breaks
+
+Page breaks are normally computed by @TeX{}, so they are not under direct
+control.  However, you can insert a commands into the .tex output to
+instruct @TeX{} where to break pages. For more details, see  the
+example file @file{input/test/between-systems.ly}
+
+
+@cindex page breaks
+@cindex breaking pages
+
+
+@subsection Font size
+
+@cindex font size
+@cindex paper size
+
+The Feta font provides musical symbols at six different sizes.  These
+fonts are 11 point, 13 point, 16 point, 20 point,
+23 point, and 26 point.  The point size of a font is the
+height of the five lines in a staff when displayed in the font.
+
+Definitions for these sizes are the files @file{paperSZ.ly}, where
+@code{SZ} is one of 11, 13, 16, 20, 23 and 26.  If you include any of
+these files, the identifiers @code{paperEleven}, @code{paperThirteen},
+@code{paperSixteen}, @code{paperTwenty}, @code{paperTwentythree}, and
+@code{paperTwentysix} are defined respectively.  The default
+@code{\paper} block is also set.
+
+The font definitions are generated using a Scheme function. For more
+details, see the file @file{font.scm}.
+
+@subsection paper size
+
+@cindex paper size
+@cindex page size
+
+To change the paper size, you must first set the
+@code{papersize}@indexcode{papersize} variable at top level.  Set it to
+the strings @code{a4}, @code{letter}, or @code{legal}.  After this
+specification, you must set the font as described above.  If you want
+the default font, then use the 20 point font.  The new paper size will
+not take effect if the font is not loaded and selected afterwards.
+
+@example
+        papersize = "a4"
+        \include "paper16.ly"
+
+        \score @{
+                ...
+                \paper @{ \paperSixteen @}
+        @}
+@end example
+
+The file "paper16.ly" will now include a file named @file{a4.ly}, which
+will set the paper variables @code{hsize} and @code{vsize} (used by
+@code{ly2dvi})
+
 @node contextdefs, , ,  Reference Manual
 
 @cindex context definition
+@cindex translator definition
+@cindex engraver hacking
+
 
 A notation contexts is defined by the following information
 
@@ -2556,7 +2588,7 @@ piano.
 
 Various identifiers are defined in the initialization files to
 provide shorthands for some settings.  Most of them are in
-@file{ly/declarations.ly}.
+@file{ly/declarations.ly} and @file{ly/property.ly}.
 
 @table @samp
   @item @code{\break}@keyindex{break}  
@@ -2567,29 +2599,13 @@ provide shorthands for some settings.  Most of them are in
     Prevent a line break in music by using a large negative argument
     for the keyword @code{\penalty}.
 
-  @item @code{\normalkey}@keyindex{normalkey}  
-    Select normal key signatures where each octave has the same key
-    signature.  This sets the @code{Staff.keyoctaviation} property.
-
-  @item @code{\shiftoff}@keyindex{shiftOff}  
+  @item @code{\shiftOff}@keyindex{shiftOff}  
     Disable horizontal shifting of note heads that collide. 
 
   @item @code{\shiftOn}@keyindex{shiftOn}  
     Enable note heads that collide with other note heads to be
-    shifted horiztonally.
-
-  @item @code{\slurBoth}@keyindex{slurBoth}  
-    Allow slurs to be above or below notes.
-
-  @item @code{\slurDown}@keyindex{slurDown}  
-    Force slurs to be below notes.
-
-  @item @code{\slurUp}@keyindex{slurUp}  
-    Force slurs to be above notes.
-
-  @item @code{\specialkey}@keyindex{specialkey}  
-    Allow key signatures do differ in different octaves.  This sets
-    the @code{Staff.keyoctaviation} property.
+    shifted horiztonally. Also @code{\shiftOnn} and @code{\shiftOnnn}
+set different shift values.
 
   @item @code{\stemBoth}@keyindex{stemBoth}  
     Allow stems, beams, and slurs to point either upwards or