@c M-x texinfo-all-menus-update
@c to automatically fill in these menus before saving changes
-@node Global issues
-@chapter Global issues
+@node Output formats
+@chapter Output formats
This is a placeholder until I can write a nice intro for this chapter.
@menu
-* Global layout::
-* File structure::
-* Sound::
-* Creating MIDI files::
-* MIDI block::
-* MIDI instrument names::
+* Paper output::
+* Sound output::
@end menu
-@node Global layout
-@section Global layout
+@node Paper output
+@section Paper output
-The global layout is determined by three factors: the page layout, the
+The global paper layout is determined by three factors: the page layout, the
line breaks, and the spacing. These all influence each other. The
choice of spacing determines how densely each system of music is set.
This influences where line breaks are chosen, and thus ultimately, how
@cindex page size
@cindex @code{papersize}
-To change the paper size, there are two equal commands,
+To change the paper size, there are two commands,
@example
#(set-default-paper-size "a4")
\paper @{
The default footer is empty, except for the first page, where the
@code{copyright} field from @code{\header} is inserted, and the last
page, where @code{tagline} from @code{\header} is added. The default
-tagline is ``Engraved by LilyPond (@var{version})''.@footnote{Nicely
+tagline is ``Music engraving by LilyPond (@var{version})''.@footnote{Nicely
printed parts are good PR for us, so please leave the tagline if you
can.}
and @code{make-header}, defined in @code{\paper}. The default
implementations are in @file{scm/@/page@/-layout@/.scm}.
-The following settings influence the header and footer layout.
-
-@quotation
-@table @code
-@item printpagenumber
- this boolean controls whether a pagenumber is printed.
-@end table
-@end quotation
-
The page layout itself is done by two functions in the
@code{\paper} block, @code{page-music-height} and
@code{page-make-stencil}. The former tells the line-breaking algorithm
Page breaks are computed by the @code{page-breaking} function in the
@code{\paper} block.
+To force a new page for a new piece (in a collection of pieces or a
+piece in several movements), use @code{breakbefore} in the header.
+
+@example
+\header@{
+ breakbefore = ##t
+@}
+@end example
+
@refcommands
@cindex @code{\pageBreak}
@cindex bibliographic information
@cindex titles
@cindex composer
-@cindex Engraved by LilyPond
+@cindex Music engraiving by LilyPond
-A document may contain multiple pieces of music. Examples of these
-are an etude book, or an orchestral part with multiple movements.
-Each movement is entered with a @code{\score} block,
+A document may contain multiple pieces of music and texts. Examples
+of these are an etude book, or an orchestral part with multiple
+movements. Each movement is entered with a @code{\score} block,
@example
\score @{
@}
@end example
-The movements are combined together in a @code{\book} block, like
+and texts are entered with a @code{\markup} block,
+
+@example
+\markup @{
+ @var{..text..}
+@}
+@end example
+
+@cindex @code{\book}
+
+The movements and texts are combined together in a @code{\book} block,
+like
@example
\book @{
\score @{
@var{..}
@}
+ \markup @{
+ @var{..}
+ @}
\score @{
@var{..}
@}
@dots{}
\header @{ piece = "Romanze" @}
@}
+ \markup @{
+ ..text of second verse..
+ @}
+ \markup @{
+ ..text of third verse..
+ @}
\score @{
@dots{}
\header @{ piece = "Menuetto" @}
The contents of the titles are taken from the @code{\header} blocks.
The header block for a book supports the following
@table @code
+@item dedication
+The dedicatee of the music, centered at the top of the first page.
+
@item title
-The title of the music. Centered on top of the first page.
+The title of the music, centered just below the dedication.
@item subtitle
Subtitle, centered below the title.
@item instrument
Name of the instrument, centered below the arranger.
-@item dedication
-To whom the piece is dedicated.
-
@item piece
Name of the piece, flush-left below the instrument.
@cindex page breaks, forcing
@item breakbefore
- This forces the title to start on a new page.
+ This forces the title to start on a new page (set to ##t or ##f).
@end table
-Here is a demonstration of the fields available,
+Here is a demonstration of the fields available. Note that you
+may use any @ref{Text markup} commands in the header.
@lilypond[quote,verbatim,linewidth=11.0\cm]
\paper {
\book {
\header {
- title = "Title,"
+ dedication = "dedicated to me"
+ title = \markup \center-align { "Title first line" "Title second line, longer" }
subtitle = "the subtitle,"
- subsubtitle = "and the sub sub title"
+ subsubtitle = #(string-append "subsubtitle LilyPond version " (lilypond-version))
poet = "Poet"
- composer = "Composer"
+ composer = \markup \center-align { "composer" \small "(1847-1973)" }
texttranslator = "Text Translator"
- meter = "Meter"
+ meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge "r" }
arranger = "Arranger"
- instrument = "Instrument"
+ opus = \markup { \fontsize #8.5 "o" \fontsize #2.5 "p" \fontsize #-2.5 "u" \fontsize #-5.3 "s" \fontsize #7.5 " " }
+ instrument = \markup \bold \italic "instrument"
piece = "Piece"
}
}
{ c'1 }
}
+ \markup {
+ and now...
+ }
\score {
\header {
piece = "piece2"
}
@end lilypond
-Different fonts may be selected for each element by using
-@code{\markup}, e.g.,
-
-@example
-\header @{
- title = \markup @{ \italic @{ The italic title @} @}
-@}
-@end example
-
A more advanced option is to change the definitions of the following
variables in the @code{\paper} block. The init file
@file{ly/titling-init.ly} lists the default layout.
-@node File structure
-@section File structure
+@node Sound output
+@section Sound output
-The major part of this manual is concerned with entering various
-forms of music in LilyPond. However, many music expressions are not
-valid input on their own, for example, a @code{.ly} file containing
-only a note
-@example
-c'4
-@end example
-
-@noindent
-will result in a parsing error. Instead, music should be inside other
-expressions, which may be put in a file by themselves. Such
-expressions are called toplevel expressions. This section enumerates
-them all.
-
-A @code{.ly} file contains any number of toplevel expressions, where a
-toplevel expression is one of the following
-
-@itemize @bullet
-@item
-An output definition, such as @code{\paper}, @code{\midi}, and
-@code{\layout}. Such a definition at the toplevel changes the default
-settings for the block entered.
-
-@item
-A @code{\header} block. This sets the global header block. This
-is the block containing the definitions for book-wide settings, like
-composer, title, etc.
-
-@item
-An @code{\addquote} statement. See @ref{Quoting other voices}
-for more information.
-
-@item
-A @code{\score} block. This score will be collected with other
-toplevel scores, and combined as a single @code{\book}.
-
-This behavior can be changed by setting the variable
-@code{toplevel-score-handler} at toplevel. The default handler is
-defined in the init file @file{scm/@/lily@/.scm}.
-
-@item
-A @code{\book} block logically combines multiple movements
-(i.e., multiple @code{\score} blocks) in one document. A number of
-@code{\scores} creates a single output file, where all movement are
-concatenated.
-
-This behavior can be changed by setting the variable
-@code{toplevel-book-handler} at toplevel. The default handler is
-defined in the init file @file{scm/@/lily@/.scm}.
-
-@item A compound music expression, such as
-@example
-@{ c'4 d' e'2 @}
-@end example
-
-This will add the piece in a @code{\score} and format it in a
-single book together with all other toplevel @code{\score}s and music
-expressions.
-
-This behavior can be changed by setting the variable
-@code{toplevel-music-handler} at toplevel. The default handler is
-defined in the init file @file{scm/@/lily@/.scm}.
-
-@item An indentifier, such as
-@example
-foo = @{ c4 d e d @}
-@end example
-
-This can be used later on in the file by entering @code{\foo}.
-
-@end itemize
-
-The following example shows three things that may be entered at
-toplevel
-
-@example
-\layout @{
- % movements are non-justified by default
- raggedright = ##t
-@}
-
-\header @{
- title = "Do-re-mi"
-@}
-
-@{ c'4 d' e2 @}
-@end example
-
-
-At any point in a file, any of the following lexical instructions can
-be entered:
-
-@itemize @bullet
-@item @code{\version}
-@item @code{\include}
-@item @code{\renameinput}
-@end itemize
-
-
-@node Sound
-@section Sound
@cindex Sound
-
@cindex MIDI
MIDI (Musical Instrument Digital Interface) is a standard for
@end menu
@node Creating MIDI files
-@section Creating MIDI files
+@subsection Creating MIDI files
To create a MIDI from a music piece of music, add a @code{\midi} block
to a score, for example,
@node MIDI block
-@section MIDI block
+@subsection MIDI block
@cindex MIDI block
@node MIDI instrument names
-@section MIDI instrument names
+@subsection MIDI instrument names
@cindex instrument names
@cindex @code{Staff.midiInstrument}
the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
instrument is used.
-