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
@lilypond[quote,ragged-right]
<<
\chords { c2 c f2 c }
- \new Staff \relative c' { \time 2/4 c4 c g'4 g a4 a g2 }
- \new Lyrics \lyricmode { twin4 kle twin kle lit tle star2 }
+ \new Staff
+ \relative c' {
+ \time 2/4
+ c4 c g' g a a g2
+ }
+ \addlyrics { twin -- kle twin -- kle lit -- tle star }
>>
@end lilypond
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
* About the Learning Manual:: this manual introduces LilyPond, giving in-depth explanations of how to create notation.
* About the Music Glossary:: this manual explains musical terms and gives translations of terms in other languages.
-* About the Notation Reference:: this manual is the main portion of the documentation. It provides detailed information about creating notation. This book assumes that the reader knows basic material covered in the LM and is familiar with the English musical terms presented in the MG.
+* About the Notation Reference:: this manual is the main portion of the documentation. It provides detailed information about creating notation. This book assumes that the reader knows basic material covered in the Learning Manual and is familiar with the English musical terms presented in the Musical Glossary.
* About the Application Usage:: this discusses the actual programs and operating system-specific issues.
* About the Snippet List:: this is a collection of short LilyPond examples.
* About the Internals Reference:: this document gives reference information about LilyPond's internal structures, which is required for constructing tweaks.
@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
separately. These are stored in @file{input/new/} in the LilyPond
source tree.
-The list of snippets for each subsection of the Notation Reference
-(NR) are also linked from the @strong{See also} portion.
+The list of snippets for each subsection of the Notation Reference are
+also linked from the @strong{See also} portion.
@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.