version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.51"
+@c \version "2.11.61"
@node Introduction
@chapter Introduction
@node Engraving
@unnumberedsubsec Engraving
+@cindex engraving
+@cindex typography, music
+@cindex music typography
+@cindex plate engraving
+@cindex music engraving
+
The art of music typography is called @emph{(plate) engraving}.
The term derives from the traditional process of music printing.
Just a few decades ago, sheet music was made by cutting and
@cindex regular rhythms
@cindex regular spacing
+@cindex spacing, regular
Each bar in the fragment only uses notes that are played in a
constant rhythm. The spacing should reflect that. Unfortunately,
correction, the lower two measures without, forming
down-stem/@/up-stem clumps of notes.
-@cindex typography
Musicians are usually more absorbed with performing than with
studying the looks of a piece of music, so nitpicking about
@node Automated engraving
@unnumberedsubsec Automated engraving
+@cindex engraving, automated
+@cindex automated engraving
+
How do we go about implementing typography? If craftsmen need
over ten years to become true masters, how could we simple hackers
ever write a program to take over their jobs?
@end itemize
+@cindex Scheme programming language
+
These problems have been addressed by integrating an interpreter
for the Scheme programming language and rewriting parts of
LilyPond in Scheme. The current formatting architecture is built
}
@end lilypond
+@cindex score formatting
+@cindex formatting a score
+@cindex formatting rules
+
@noindent
The process of formatting a score consists of reading and writing
the variables of graphical objects. Some variables have a preset
@cindex engraving
@cindex typography
+@cindex engraver
+@cindex plug-in
The formatting process decides where to place symbols. However,
this can only be done once it is decided @emph{what} symbols
\score { \topVoice }
@end lilypond
+@cindex polyphony
+@cindex engraving multiple voices
+@cindex contexts
+
This system works well for monophonic music, but what about
polyphony? In polyphonic notation, many voices can share a staff.
@node Music representation
@unnumberedsubsec Music representation
+@cindex syntax
+@cindex recursive structures
+
Ideally, the input format for any high-level formatting system is
an abstract description of the content. In this case, that would
be the music itself. This poses a formidable problem: how can we
@node Example applications
@unnumberedsubsec Example applications
+@cindex simple examples
+@cindex examples, simple
+
We have written LilyPond as an experiment of how to condense the
art of music engraving into a computer program. Thanks to all
that hard work, the program can now be used to perform useful
This section explains the different portions of the documentation.
+@cindex Learning Manual
+@cindex Music Glossary
+@cindex Notation Reference
+@cindex Application Usage
+@cindex Snippet List
+@cindex Internals Reference
+
@c leave these lines wrapping around. It's some texinfo 4.12 thing. -gp
@c This is actually a limitation of texi2html. -jm
@menu
@node About the Learning Manual
@unnumberedsubsec About the Learning Manual
+@cindex Learning Manual
+
This book explains how to begin learning LilyPond, as well as
explaining some key concepts in easy terms. You should read these
chapters in a linear fashion.
@node About the Music Glossary
@unnumberedsubsec About the Music Glossary
+@cindex Music Glossary
@cindex idiom
@cindex jargon
@cindex terminology
@node About the Notation Reference
@unnumberedsubsec About the Notation Reference
+@cindex Notation Reference
+@cindex appendices
+@cindex reference charts
+@cindex charts, reference
+
This book explains all the LilyPond commands which produce
notation. It assumes that readers are familiar with the concepts
in the Learning Manual.
@node About the Application Usage
@unnumberedsubsec About the Application Usage
+@cindex Application Usage
+@cindex integrating LilyPond with other programs
+
This book explains how to execute the programs and how to integrate
LilyPond notation with other programs.
@cindex snippets
@cindex LSR
+@cindex Snippet List
+@cindex LilyPond Snippet Repository
@rlsrnamed{Top,LilyPond Snippet List}: this shows a
selected set of LilyPond snippets from the
@node About the Internals Reference
@unnumberedsubsec About the Internals Reference
+@cindex Internals Reference
+
@rinternalsnamed{Top,Internals Reference}: this is a set
of heavily cross linked HTML pages which document the nitty-gritty
details of each and every LilyPond class, object, and function.