]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/introduction.itely
Merge branch 'master' into dev/texi2html
[lilypond.git] / Documentation / user / introduction.itely
index b6a3320400b8f9723292b225998a779087ddf7d2..2d2ad554d7c416f2ca7beabde67143663239940c 100644 (file)
@@ -7,11 +7,25 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.11.51"
 
 @node Introduction
 @chapter Introduction
 
+This chapter introduces readers to LilyPond and the
+documentation.
+
+@menu
+* Background::                  
+* About the documentation::     
+@end menu
+
+
+@node Background
+@section Background
+
+This section covers the overall goals and architecture of
+LilyPond.
 
 @menu
 * Engraving::                   
 * What symbols to engrave?::    
 * Music representation::        
 * Example applications::        
-* About this manual::           
 @end menu
 
 
 @node Engraving
-@section Engraving
+@unnumberedsubsec Engraving
 
 The art of music typography is called @emph{(plate) engraving}.  The
 term derives from the traditional process of music printing.  Just a
@@ -225,7 +238,7 @@ love to play from.
 
 
 @node Automated engraving
-@section Automated engraving
+@unnumberedsubsec 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
@@ -363,7 +376,7 @@ music fragment.
 
 
 @node What symbols to engrave?
-@section What symbols to engrave?
+@unnumberedsubsec What symbols to engrave?
 
 @cindex engraving
 @cindex typography
@@ -554,7 +567,7 @@ Internals Reference: @rinternals{Contexts}.
 @end lilypond
 
 @node Music representation
-@section Music representation
+@unnumberedsubsec Music representation
 
 Ideally, the input format for any high-level formatting system is an
 abstract description of the content.  In this case, that would be the
@@ -600,6 +613,8 @@ Chords can be constructed with @code{<<} and @code{>>} enclosing the notes
 @c < > is not a music expression,
 @c so we use <<>> iso. <> to drive home the point of
 @c expressions.  Don't change this back --hwn.
+
+@c FIXME: change this.  I can explain it better.  -gp
 @example
 <<c4 d4 e4>>
 @end example
@@ -649,7 +664,7 @@ and representation take up less than 10% of the source code.
 
 
 @node Example applications
-@section Example applications
+@unnumberedsubsec Example applications
 
 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
@@ -694,151 +709,172 @@ in the resulting PDF or HTML output files.  This makes it easy
 to mix music and text in documents.
 
 
+@node About the documentation
+@section About the documentation
+
+This section explains the different portions of the documentation.
+
+@c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
+@menu
+* About the Learning Manual (LM)::  this manual introduces LilyPond, giving in-depth explanations of how to create notation.
+
+* About the Music Glossary (MG)::  this manual explains musical terms and gives translations of terms in other languages.
+
+* About the Notation Reference (NR)::  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 Application Usage (AU)::  this discusses the actual programs and operation system-specific issues.
 
-@node About this manual
-@section About this manual
+* About the Snippet List (SL)::  this is a collection of short LilyPond examples.
 
-FIXME: needs almost-complete rewrite.  -gp
+* About the Internals Reference (IR)::  this document gives information about LilyPond internal programming information, which is required for constructing tweaks.
 
-There are four manuals about LilyPond: the @emph{Learning Manual},
-the @emph{Notation Reference}, the @emph{Application Usage}, and the
-@emph{Internals Reference}.
+* Other documentation::         there are a few other portions of the documentation, such as News items and the mailist archives.
+
+@end menu
 
 
-@subheading Learning Manual (LM)
+@node About the Learning Manual (LM)
+@unnumberedsubsec About the Learning Manual (LM)
 
-This book explains how to begin learning LilyPond, as well as explaining
-some key concepts in easy terms.  It is recommended to read these
+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.
 
 @itemize
 
 @item
-@ifhtml
-The
-@end ifhtml
-@emph{@ref{Tutorial}},
-gives a gentle introduction to typesetting music.  First time
-users should start here.
+@ref{Introduction}: explains the background and overall goal of
+LilyPond.
+
+@item
+@ref{Tutorial}: gives a gentle introduction to typesetting music.
+First time users should start here.
 
 @item
-@emph{@ref{Fundamental concepts}},
-explains some general concepts about the LilyPond file format.  If
-you are not certain where to place a command, read this chapter!
+@ref{Fundamental concepts}: explains some general concepts about
+the LilyPond file format.  If you are not certain where to place a
+command, read this chapter!
 
 @item
-@emph{@ref{Working on LilyPond projects}},
-discusses practical uses of LilyPond and how to avoid some common
-problems.
+@ref{Tweaking output}: shows how to change the default engraving
+that LilyPond produces.
 
 @item
-@emph{@ref{Tweaking output}},
-shows how to change the default engraving that LilyPond
-produces.
+@ref{Working on LilyPond projects}: discusses practical uses of
+LilyPond and how to avoid some common problems.  Read this before
+undertaking large projects!
 
 @end itemize
 
+The LM also contains appendices which are not part of the
+recommended linear reading.  They may be useful for later
+viewing:
 
-@subheading Notation Reference (NR)
+@itemize
 
-This book explains all the LilyPond commands which produce notation.  It
-assumes that readers are familiar with the concepts in the Learning
-manual.
+@item
+@ref{Templates}: shows ready-made templates of LilyPond pieces.
+Just cut and paste a template into a file, add notes, and you're
+done!
 
-All of this needs to be rewritten after GDP, anyway.
+@item
+@ref{Scheme tutorial}: presents a short introduction to Scheme,
+the programming language that music functions use.  This is
+material for advanced tweaks; many users never touch Scheme at
+all.
 
-@ignore
+@end itemize
 
-@itemize
 
-@item
-@emph{@r ef{Basic notation}},
-discusses topics grouped by notation construct.  This section gives
-details about basic notation that will be useful in almost any
-notation project.
+@node About the Music Glossary (MG)
+@unnumberedsubsec About the Music Glossary (MG)
 
-@item
-@emph{@r ef{Instrument-specific notation}},
-discusses topics grouped by notation construct.  This section gives
-details about special notation that will only be useful for particular
-instrument (or vocal) groups.
+@cindex idiom
+@cindex jargon
+@cindex terminology
+@cindex foreign languages
+@cindex language
+
+@ref{Top,Music glossary,,music-glossary}:
+this explains musical terms, and includes translations to various
+languages.  If you are not familiar with music notation or music
+terminology (especially if you are a non-native English speaker),
+it is highly advisable to consult the glossary.
+
+
+@node About the Notation Reference (NR)
+@unnumberedsubsec About the Notation Reference (NR)
+
+This book explains all the LilyPond commands which produce
+notation.  It assumes that readers are familiar with the concepts
+in the Learning manual.
+
+@itemize
 
 @item
-@emph{@r ef{Advanced notation}},
-discusses topics grouped by notation construct.  This section gives
-details about complicated or unusual notation.
+@ruser{Musical notation}:
+discusses topics grouped by notation construct.  This section
+gives details about basic notation that will be useful in almost
+any notation project.
 
 @item
-@emph{@r ef{Changing defaults}},
-explains how to fine tune layout.
+@ruser{Specialist notation}:
+discusses topics grouped by notation construct.  This section
+gives details about special notation that will only be useful for
+particular instrument (or vocal) groups.
 
 @item
-@emph{@r ef{Non-musical notation}},
-discusses non-musical output such as titles, multiple movements,
-and how to select which MIDI instruments to use.
+@ruser{Input syntax}:
+discusses general information about LilyPond files and controlling
+output.
 
 @item
-@emph{@r ef{Spacing issues}},
+@ruser{Spacing issues}:
 discusses issues which affect the global output, such as selecting
 paper size or specifying page breaks.
 
 @item
-@emph{@r ef{Interfaces for programmers}},
-explains how to create music functions.
-
-@end itemize
+@ruser{Changing defaults}:
+explains how to tweak LilyPond to produce exactly the notation you
+want.
 
+@item
+@ruser{Interfaces for programmers}:
+explains how to create music functions with scheme.
 
-@subsubheading Appendices
+@end itemize
 
-This book contains useful reference charts.
+The NR also contains appendices with useful reference charts.
 
 @itemize
-@item
-@ifhtml
-The
-@end ifhtml
-@emph{@r ef{Literature list}},
-contains a set of useful reference books for those who wish to know
-more on notation and engraving.
 
 @item
-The
-@emph{@r ef{Scheme tutorial}},
-presents a short introduction to Scheme, the programming
-language that music functions use.
+@ruser{Literature list}:
+contains a set of useful reference books for those who wish to
+know more on notation and engraving.
 
 @item
-@emph{@r ef{Notation manual tables}},
-are a set of tables showing the chord names, MIDI instruments,
-list of color names, and the Feta font.
+@ruser{Notation manual tables}:
+are a set of tables showing the chord names, MIDI instruments, a
+list of color names, and the Feta font.
 
 @item
-@emph{@r ef{Templates}},
-of LilyPond pieces.  Just cut and paste a
-template into a file, add notes, and you're done!
-
-@item
-The
-@emph{@r ef{Cheat sheet}},
+@ruser{Cheat sheet}:
 is a handy reference of the most common LilyPond commands.
 
 @item
-The
-@emph{@r ef{LilyPond command index}},
-is an index of all LilyPond @code{\commands}.
+@ruser{LilyPond command index}:
+an index of all LilyPond @code{\commands}.
 
 @item
-The
-@emph{@r ef{LilyPond index}},
-is a complete index.
+@ruser{LilyPond index}:
+a complete index.
 
 @end itemize
 
-@end ignore
-
 
-@subheading Program usage
+@node About the Application Usage (AU)
+@unnumberedsubsec About the Application Usage (AU)
 
 This book explains how to execute the program and how to integrate
 LilyPond notation with other programs.
@@ -846,27 +882,29 @@ LilyPond notation with other programs.
 @itemize
 
 @item
-@emph{@rprogram{Install}},
-explains how to install LilyPond (including compilation if desired).
+@rprogram{Install}:
+explains how to install LilyPond (including compilation if
+desired).
 
 @item
-@emph{@rprogram{Setup}},
-describes how to configure your computer for optimum LilyPond usage,
-such as using special environments for certain text editors.
+@rprogram{Setup}:
+describes how to configure your computer for optimum LilyPond
+usage, such as using special environments for certain text
+editors.
 
 @item
-@emph{@rprogram{Running LilyPond}},
-shows how to run LilyPond and its helper programs.  In addition, this
-section explains how to upgrade input files from previous versions of
-LilyPond.
+@rprogram{Running LilyPond}:
+shows how to run LilyPond and its helper programs.  In addition,
+this section explains how to upgrade input files from previous
+versions of LilyPond.
 
 @item
-@emph{@rprogram{LilyPond-book}},
-explains the details behind creating
-documents with in-line music examples, like this manual.
+@rprogram{LilyPond-book}:
+explains the details behind creating documents with in-line music
+examples, like this manual.
 
 @item
-@emph{@rprogram{Converting from other formats}},
+@rprogram{Converting from other formats}:
 explains how to run the conversion programs.  These programs are
 supplied with the LilyPond package, and convert a variety of music
 formats to the @code{.ly} format.
@@ -874,48 +912,34 @@ formats to the @code{.ly} format.
 @end itemize
 
 
+@node About the Snippet List (SL)
+@unnumberedsubsec About the Snippet List (SL)
 
-@subsubheading Other information
+@cindex snippets
+@cindex LSR
 
-There are a number of other places which may be very valuable.
+@c FIXME: check on kainhofer.
+@ref{Top,LilyPond Snippet List,,lilypond-snippets}:
+this shows a selected set of LilyPond snippets from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}
+(LSR).  It is in the public domain.
 
-@itemize
-@cindex idiom
-@cindex jargon
-@cindex terminology
-@cindex foreign languages
-@cindex language
-@item
-@ifnottex
-The @ref{Top,Music glossary,,music-glossary}, explains musical terms and
-includes translations to various languages.  It is also available in
-PDF.
-@end ifnottex
-@iftex
-The music glossary explains musical terms, and includes translations
-to various languages.  It is a separate document, available in HTML
-and PDF.
-@end iftex
-If you are not familiar with music notation or music terminology
-(especially if you are a non-native English speaker), it is highly
-advisable to consult the glossary.
+Please note that this document is not an exact subset of LSR.  LSR
+is running a stable LilyPond version, so any snippet which
+demonstrates new features of a development version must be added
+separately.  These are stored in @file{input/new/} in the LilyPond
+source tree.
 
-@cindex snippets
-@cindex LSR
-@item
-The
-@ifhtml
-@uref{source/input/lsr/lilypond-snippets/index.html,Snippets}
-@end ifhtml
-@ifnothtml
-Snippets
-@end ifnothtml
-are a great collection of short examples which demonstrate tricks, tips,
-and special features of LilyPond.  Most of these snippets can also be
-found in the @uref{http://lsr.dsi.unimi.it/,LilyPond Snippet
-Repository}.  This website also has a searchable LilyPond manual.
+The list of snippets for each subsection of the Notation Reference
+(NR) are also linked from the @strong{See also} portion.
+
+
+@node About the Internals Reference (IR)
+@unnumberedsubsec About the Internals Reference (IR)
 
+@c zzz
 
+@itemize
 @item
 The
 @iftex
@@ -939,6 +963,14 @@ HTML document, these subsections have clickable links.
 @end itemize
 
 
+@node Other documentation
+@unnumberedsubsec Other documentation
+
+FIXME: most of this should go higher up.  Discuss News, mailist
+archives, ...?
+
+There are a number of other places which may be very valuable.
+
 Once you are an experienced user, you can use the manual as reference:
 there is an extensive index@footnote{If you are looking for something,
 and you cannot find it in the manual, that is considered a bug.  In
@@ -984,3 +1016,5 @@ files and HTML from the web site, which can be found at
 @uref{http://@/www@/.lilypond@/.org/}.
 
 
+
+