* 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
`@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.
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 @}
@example
-
@code{\key}@keyindex{key} @var{pitch} @var{type} @code{;}
@end example
@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};
\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
@example
-
\penalty@keyindex{penalty} @var{int} @code{;}
@end example
Beaming can be generated automatically; see section @ref{autobeam}.
-[OUTDATED, FIXME]
To place tremolo marks between notes, use @code{\repeat} with tremolo
style.
@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}.
@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
@end ignore
@item \stylesheet declaration. Its syntax is
-
@example
\stylesheet @var{alist}
@end example
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:
@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
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}
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