]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/introduction.itely
GDP: NR 3.1 and 3.2.1 first pass
[lilypond.git] / Documentation / user / introduction.itely
index c6761089033ce9623a1d49e7c83cd751a981aa55..3164ff5476546a2211379941a4e916bd47b105b7 100644 (file)
@@ -7,9 +7,25 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.38"
+
 @node Introduction
 @chapter Introduction
 
 @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::                   
 
 @menu
 * Engraving::                   
 * What symbols to engrave?::    
 * Music representation::        
 * Example applications::        
 * What symbols to engrave?::    
 * Music representation::        
 * Example applications::        
-* About this manual::           
 @end menu
 
 
 @node Engraving
 @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
 
 The art of music typography is called @emph{(plate) engraving}.  The
 term derives from the traditional process of music printing.  Just a
@@ -223,7 +238,7 @@ love to play from.
 
 
 @node Automated engraving
 
 
 @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
 
 How do we go about implementing typography?  If craftsmen need over
 ten years to become true masters, how could we simple hackers ever
@@ -361,7 +376,7 @@ music fragment.
 
 
 @node What symbols to engrave?
 
 
 @node What symbols to engrave?
-@section What symbols to engrave?
+@unnumberedsubsec What symbols to engrave?
 
 @cindex engraving
 @cindex typography
 
 @cindex engraving
 @cindex typography
@@ -539,7 +554,7 @@ context.  The Score context is the top level notation context.
 
 @seealso
 
 
 @seealso
 
-Internals Reference: @internalsref{Contexts}.
+Internals Reference: @rinternals{Contexts}.
 
 @lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 @lilypond[quote,ragged-right]
 \include "engraver-example.ily"
@@ -552,7 +567,7 @@ Internals Reference: @internalsref{Contexts}.
 @end lilypond
 
 @node Music representation
 @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
 
 Ideally, the input format for any high-level formatting system is an
 abstract description of the content.  In this case, that would be the
@@ -647,7 +662,7 @@ and representation take up less than 10% of the source code.
 
 
 @node Example applications
 
 
 @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
 
 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
@@ -692,150 +707,186 @@ in the resulting PDF or HTML output files.  This makes it easy
 to mix music and text in documents.
 
 
 to mix music and text in documents.
 
 
+@node About the documentation
+@section About the documentation
+
+FIXME: still needs some work.
+
+This section explains the different manuals:
+
+@itemize
+@item
+Learning Manual (LM): this introduces LilyPond, giving in-depth
+explanations of how to create notation.
+
+@item
+Music Glossary (MG): this explains musical terms and gives
+translations of terms in other languages.
+
+@item
+Notation Reference (NR): this 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.
+
+@item
+Application Usage (AU): this discusses the actual programs and
+operation system-specific issues.
+
+@item
+Snippet List (SL): this is a collection of short LilyPond examples
+(@qq{snippets}).
+
+@item
+Internals Reference (IR): this gives information about LilyPond
+internal programming information, which is required for
+constructing tweaks.
 
 
-@node About this manual
-@section About this manual
+@item
+Other documentation: there are a few other portions of the
+documentation, such as News items and the mailist archives.
 
 
-FIXME: needs almost-complete rewrite.  -gp
+@end itemize
 
 
-There are four manuals about LilyPond: the @emph{Learning Manual},
-the @emph{Notation Reference}, the @emph{Application Usage}, and the
-@emph{Internals Reference}.
+@menu
+* About the Learning Manual (LM)::  
+* About the Music Glossary (MG)::  
+* About the Notation Reference (NR)::  
+* About the Application Usage (AU)::  
+* About the Snippet List (SL)::  
+* About the Internals Reference (IR)::  
+* Other documentation::         
+@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
-chapters in a linear fashion.
+This book explains how to begin learning LilyPond, as well as
+explaining some key concepts in easy terms.  It is recommended to
+read these chapters in a linear fashion.
 
 @itemize
 
 @item
 
 @itemize
 
 @item
-@ifhtml
-The
-@end ifhtml
-@emph{@ref{Tutorial}},
-gives a gentle introduction to typesetting music.  First time
-users should start here.
+@ref{Tutorial}: gives a gentle introduction to typesetting music.
+First time users should start here.
 
 @item
 
 @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
 
 @item
-@emph{@ref{Working on LilyPond projects}},
-discusses practical uses of LilyPond and how to avoid some common
-problems.
+@ref{Working on LilyPond projects}: discusses practical uses of
+LilyPond and how to avoid some common problems.
 
 @item
 
 @item
-@emph{@ref{Tweaking output}},
-shows how to change the default engraving that LilyPond
-produces.
+@ref{Tweaking output}: shows how to change the default engraving
+that LilyPond produces.
 
 @end itemize
 
 
 
 @end itemize
 
 
-@subheading Notation Reference (NR)
+@node About the Music Glossary (MG)
+@unnumberedsubsec About the Music Glossary (MG)
 
 
-This book explains all the LilyPond commands which produce notation.  It
-assumes that readers are familiar with the concepts in the Learning
-manual.
+@cindex idiom
+@cindex jargon
+@cindex terminology
+@cindex foreign languages
+@cindex language
 
 
-All of this needs to be rewritten after GDP, anyway.
+@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.
 
 
-@ignore
+
+@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
 
 @itemize
 
 @item
-@emph{@r ef{Basic 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
 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{Instrument-specific notation}},
+@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
 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{Advanced notation}},
-discusses topics grouped by notation construct.  This section gives
-details about complicated or unusual notation.
-
-@item
-@emph{@r ef{Changing defaults}},
-explains how to fine tune layout.
+@ruser{Input syntax}:
 
 @item
 
 @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{Non-musical notation}:
 
 @item
 
 @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
 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.
+@ruser{Changing defaults}:
 
 
-@end itemize
+@item
+@ruser{Interfaces for programmers}:
+explains how to create music functions with scheme.
 
 
+@end itemize
 
 
-@subsubheading Appendices
 
 
-This book contains useful reference charts.
+The NR also contains appendices with useful reference charts.
 
 @itemize
 @item
 
 @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.
+@ruser{Literature list}:
+contains a set of useful reference books for those who wish to
+know more on notation and engraving.
 
 @item
 
 @item
-The
-@emph{@r ef{Scheme tutorial}},
+@rlearning{Scheme tutorial}:
 presents a short introduction to Scheme, the programming
 language that music functions use.
 
 @item
 presents a short introduction to Scheme, the programming
 language that music functions use.
 
 @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
 
 @item
-@emph{@r ef{Templates}},
+@rlearning{Templates}:
 of LilyPond pieces.  Just cut and paste a
 template into a file, add notes, and you're done!
 
 @item
 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
 is a handy reference of the most common LilyPond commands.
 
 @item
-The
-@emph{@r ef{LilyPond command index}},
+@ruser{LilyPond command index}:
 is an index of all LilyPond @code{\commands}.
 
 @item
 is an index of all LilyPond @code{\commands}.
 
 @item
-The
-@emph{@r ef{LilyPond index}},
+@ruser{LilyPond index}:
 is a complete index.
 
 @end itemize
 
 is 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.
 
 This book explains how to execute the program and how to integrate
 LilyPond notation with other programs.
@@ -843,27 +894,27 @@ LilyPond notation with other programs.
 @itemize
 
 @item
 @itemize
 
 @item
-@emph{@rprogram{Install}},
+@rprogram{Install}:
 explains how to install LilyPond (including compilation if desired).
 
 @item
 explains how to install LilyPond (including compilation if desired).
 
 @item
-@emph{@rprogram{Setup}},
+@rprogram{Setup}:
 describes how to configure your computer for optimum LilyPond usage,
 such as using special environments for certain text editors.
 
 @item
 describes how to configure your computer for optimum LilyPond usage,
 such as using special environments for certain text editors.
 
 @item
-@emph{@rprogram{Running 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
 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
 
 @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.
 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.
@@ -871,38 +922,30 @@ formats to the @code{.ly} format.
 @end itemize
 
 
 @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.
+The Snippet List 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
+The list of snippets for each subsection of the Notation Reference
+(NR) are also linked from the @strong{See also} portion.
+
+@itemize
 @item
 The
 @ifhtml
 @item
 The
 @ifhtml
-@uref{source/input/lsr/snippets/index.html,Snippets}
+@uref{source/input/lsr/lilypond-snippets/index.html,Snippets}
 @end ifhtml
 @ifnothtml
 Snippets
 @end ifhtml
 @ifnothtml
 Snippets
@@ -911,8 +954,14 @@ 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.
 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.
+@end itemize
+
+
+@node About the Internals Reference (IR)
+@unnumberedsubsec About the Internals Reference (IR)
 
 
 
 
+@itemize
 @item
 The
 @iftex
 @item
 The
 @iftex
@@ -936,6 +985,14 @@ HTML document, these subsections have clickable links.
 @end itemize
 
 
 @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
 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
@@ -961,7 +1018,7 @@ initialization and example files.  Throughout this manual, we refer to
 input files relative to the top-directory of the source archive.  For
 example, @file{input/@/lsr/@/dirname/@/bla@/.ly} may refer to the file
 @file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}.  On binary
 input files relative to the top-directory of the source archive.  For
 example, @file{input/@/lsr/@/dirname/@/bla@/.ly} may refer to the file
 @file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}.  On binary
-packages for the Unix platform, the documentation and examples can
+packages for the UNIX platform, the documentation and examples can
 typically be found somewhere below
 @file{/usr/@/share/@/doc/@/lilypond/}.  Initialization files, for
 example @file{scm/@/lily@/.scm}, or @file{ly/@/engraver@/-init@/.ly},
 typically be found somewhere below
 @file{/usr/@/share/@/doc/@/lilypond/}.  Initialization files, for
 example @file{scm/@/lily@/.scm}, or @file{ly/@/engraver@/-init@/.ly},
@@ -973,7 +1030,7 @@ are usually found in the directory @file{/usr/@/share/@/lilypond/}.
 @cindex lilypond-internals
 @cindex internal documentation
 @cindex Scheme
 @cindex lilypond-internals
 @cindex internal documentation
 @cindex Scheme
-@cindex extending lilypond
+@cindex extending LilyPond
 @cindex index
 
 Finally, this and all other manuals, are available online both as PDF
 @cindex index
 
 Finally, this and all other manuals, are available online both as PDF
@@ -981,3 +1038,5 @@ files and HTML from the web site, which can be found at
 @uref{http://@/www@/.lilypond@/.org/}.
 
 
 @uref{http://@/www@/.lilypond@/.org/}.
 
 
+
+