]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/introduction.itely
*** empty log message ***
[lilypond.git] / Documentation / user / introduction.itely
index f368f5300ad5cf253b0e573e686eab228f7d8f4a..6a456ad9bb503ef853e34017ad8ee2b967e93e95 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: latin-1; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 
 @node Introduction
@@ -58,23 +58,23 @@ computer edition.
 @item @tab
 @ifnotinfo
 @iftex
-@image{henle-flat-bw,4cm}
+@image{henle-flat-gray,,8cm}
 @end iftex
 @ifnottex
-@image{henle-flat-bw,,,png}
+@image{henle-flat-gray,,,png}
 @end ifnottex
 
 @tab
 @iftex
-@image{baer-flat-bw,4cm}
+@image{baer-flat-gray,,8.4cm}
 @end iftex
 @ifnottex
-@image{baer-flat-bw,,,png}
+@image{baer-flat-gray,,,png}
 @end ifnottex
 
 @tab
 @iftex
-@image{lily-flat-bw,4cm}
+@image{lily-flat-bw,,8cm}
 @end iftex
 @ifnottex
 @image{lily-flat-bw,,,png}
@@ -109,15 +109,58 @@ exact mathematical spacing, and once with corrections.  Can you
 spot which fragment is which?
 
 @cindex optical spacing
-@lilypond[quote,noindent,fragment]
+@c file spacing-optical.
+@c need to include it here,  because we want two images.
+@lilypond
+\paper {
+  ragged-right = ##t
+  indent = #0.0
+}
+
+music = {
+   c'4 e''4 e'4 b'4 |
+   \stemDown
+   b'8[ e'' a' e'']
+   \stemNeutral
+   e'8[ e'8 e'8 e'8]  
+}
+
+\score
 {
-   \override Staff.NoteSpacing #'stem-spacing-correction = #0.6
+  \music
+  \layout {
+    \context {
+      \Staff
+      \override NoteSpacing #'stem-spacing-correction = #0.6
+    }
+  }
+}
+@end lilypond
+
+@lilypond
+\paper {
+  ragged-right = ##t
+  indent = #0.0
+}
+
+music = {
    c'4 e''4 e'4 b'4 |
-   \stemDown b'4 e''4 a'4 e''4 | \bar "||"
-   \override Staff.NoteSpacing #'stem-spacing-correction = #0.0
-   \override Staff.StaffSpacing #'stem-spacing-correction = #0.0
-   \stemNeutral c'4 e''4 e'4 b'4 |
-   \stemDown b'4 e''4 a'4 e''4 |
+   \stemDown
+   b'8[ e'' a' e'']
+   \stemNeutral
+   e'8[ e'8 e'8 e'8]  
+}
+\score
+{
+  \music
+  \layout {
+    \context {
+      \Staff
+      \override NoteSpacing #'stem-spacing-correction = #0.0
+      \override NoteSpacing #'same-direction-correction = #0.0
+      \override StaffSpacing #'stem-spacing-correction = #0.0
+    }
+  }
 }
 @end lilypond
 
@@ -225,7 +268,7 @@ with accents and arpeggios.  In the first chord, the graphical objects
 have all directions down (or left).  The second chord has all
 directions up (right).
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \new Score \with {
    \override SpacingSpanner #'spacing-increment = #3
    \override TimeSignature #'transparent = ##t
@@ -243,7 +286,7 @@ example, the thickness of many lines -- a characteristic of typographical
 style -- is a variable with a preset value.  You are free to alter this
 value, giving your score a different typographical impression.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 fragment = {
    \clef bass f8 as8
    c'4-~ c'16 as g f e16 g bes c' des'4
@@ -269,17 +312,14 @@ appearance of objects.  In the following example, the rule which note
 head objects are used to produce their symbol is changed during the music
 fragment.
 
-@c FIXME: this example has errors:
-@c    programming error: Grob `NoteHead' has no interface for property `text'
-@c    Continuing; crossing fingers
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 #(define (mc-squared grob orig current)
   (let ((interfaces (ly:grob-property grob 'interfaces))
         (pos (ly:grob-property grob 'staff-position)))
     (if (and (memq 'note-head-interface interfaces)
              (memq pos '(-2 -3 -5)))
         (begin
-          (ly:grob-set-property! grob 'print-function brew-new-markup-stencil)
+          (ly:grob-set-property! grob 'stencil ly:text-interface::print)
           (ly:grob-set-property! grob 'font-family 'roman)
           (ly:grob-set-property!
            grob 'text
@@ -296,15 +336,15 @@ fragment.
    \set autoBeaming = ##f
    \time 2/4
    <d f g>4
-   \once \override NoteHead #'print-function = #Note_head::brew_ez_stencil
+   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
    <d f g>
    \once \override NoteHead #'style = #'cross
    <d f g>
-   \applyoutput #mc-squared
+   \applyOutput #mc-squared
    <d f g>
    <<
       { d8[ es-( fis^^ g] fis2-) }
-      \repeat unfold 5 { \applyoutput #mc-squared s8 }
+      \repeat unfold 5 { \applyOutput #mc-squared s8 }
    >>
 }
 @end lilypond
@@ -341,7 +381,7 @@ craftsmen who translate musical ideas to graphic symbols.
 In the following example, we see how we start out with a plug-in for
 note heads, the @code{Note_heads_engraver}.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -373,7 +413,7 @@ note heads, the @code{Note_heads_engraver}.
 @noindent
 Then a @code{Staff_symbol_engraver} adds the staff
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -404,7 +444,7 @@ Then a @code{Staff_symbol_engraver} adds the staff
 @noindent
 the @code{Clef_engraver} defines a reference point for the staff
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -433,7 +473,7 @@ the @code{Clef_engraver} defines a reference point for the staff
 @noindent
 and the @code{Stem_engraver} adds stems.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -465,7 +505,7 @@ engravers for beams, slurs, accents, accidentals, bar lines,
 time signature, and key signature, we get a complete piece of
 notation.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 \score { \topVoice }
 @end lilypond
@@ -473,7 +513,7 @@ notation.
 This system works well for monophonic music, but what about
 polyphony?  In polyphonic notation, many voices can share a staff.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 \new Staff << \topVoice \\ \botVoice >> 
 @end lilypond
@@ -491,7 +531,7 @@ context.  The Score context is the top level notation context.
 
 Program reference: @internalsref{Contexts}.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 \score {
    <<
@@ -607,7 +647,7 @@ simplest application is printing notes.
 @noindent
 By adding chord names and lyrics we obtain a lead sheet.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 <<
    \chords { c2 c f2 c }
    \new Staff \relative c' { \time 2/4 c4 c g'4 g a4 a g2 }
@@ -618,7 +658,7 @@ By adding chord names and lyrics we obtain a lead sheet.
 Polyphonic notation and piano music can also be printed.  The following
 example combines some more exotic constructs.
 
-@lilypondfile[quote,raggedright]{screech-boink.ly}
+@lilypondfile[quote,ragged-right]{screech-boink.ly}
 
 The fragments shown above have all been written by hand, but that is
 not a requirement.  Since the formatting engine is mostly automatic, it
@@ -651,51 +691,55 @@ gives a gentle introduction to typesetting music.  First time
 users should start here.
 
 @item
-@ifhtml
-The
-@end ifhtml
 @emph{@ref{Example templates}}
 provides templates of LilyPond pieces.  Just cut and paste a
 template into a file, add notes, and you're done!
 
 @item
-@ifhtml
-The
-@end ifhtml
-@emph{@ref{Notation manual}}
-discusses topics grouped by notation construct.  Once you master the
-basics, this is the place to look up details.
+@emph{@ref{Putting it all together}}
+demonstrates practical uses of LilyPond.
+
+@item
+@emph{@ref{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{@ref{Basic 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{@ref{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.
+
+@item
+@emph{@ref{Advanced notation}}
+discusses topics grouped by notation construct.  This section gives
+details about complicated or unusual notation.
 
 @item
-@ifhtml
-The
-@end ifhtml
 @emph{@ref{Changing defaults}}
 explains how to fine tune layout.
 
 @item
-@ifhtml
-The chapter
-@end ifhtml
-@emph{@ref{Running LilyPond}} shows how to run LilyPond and its helper
-programs.
+@emph{@ref{Global issues}}
+discusses issues which affect the global output, such as selecting
+paper size or which MIDI instruments to use.
 
 @item
-@ifhtml
-The chapter
-@end ifhtml
 @emph{@ref{LilyPond-book}} explains the details behind creating
-documents with in-line music examples (like this manual).
+documents with in-line music examples, like this manual.
 
 @item
-@ifhtml
-The chapter
-@end ifhtml
 @emph{@ref{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.  In addition, this section explains
-how to upgrade input files from previous versions of LilyPond.
+formats to the @code{.ly} format.
 
 @item
 @ifhtml
@@ -711,11 +755,11 @@ 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
 that case, please file a bug report.}, but the document is also
 available in
-@ifnothtml
+@iftex
 a big HTML page,
-@end ifnothtml
+@end iftex
 @ifhtml
-@uref{../lilypond.html, a big HTML page}
+@uref{source/Documentation/user/lilypond.html, one big page},
 @end ifhtml
 which can be searched easily using the search facility of a web
 browser.
@@ -726,14 +770,17 @@ browser.
 @c add/integrate glossary, put in list above
 If you are not familiar with music notation or music terminology
 (especially if you are a non-native English speaker), it is advisable
-to consult the glossary as well.  The glossary explains musical terms,
-and includes translations to various languages.  It is a
-@ifhtml
-@uref{../music-glossary.html,separate document}.
-@end ifhtml
-@ifnothtml
-separate document, available in HTML and PDF.
-@end ifnothtml
+to consult the glossary as well.
+@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
+@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
 @cindex idiom
 @cindex jargon
 @cindex terminology
@@ -743,14 +790,16 @@ separate document, available in HTML and PDF.
 
 This manual is not complete without a number of other documents.  They
 are not available in print, but should be included with the
-documentation package for your platform:
+documentation package for your platform
 
 @itemize @bullet
 @item
+@iftex
 Program reference
-@ifhtml
-(available @uref{../lilypond-internals/lilypond-internals.html,here})
-@end ifhtml
+@end iftex
+@ifnottex
+@ref{Top,Program reference,,lilypond-internals}.
+@end ifnottex
 
 The program reference is a set of heavily cross linked HTML pages,
 which document the nitty-gritty details of each and every LilyPond
@@ -766,21 +815,29 @@ notation manual has a @b{See also} subsection, which refers to the
 generated documentation.  In the HTML document, these subsections
 have clickable links.
 
+@cindex snippets
 @item
-Various input examples
+@ifnothtml
+Various input examples.
+@end ifnothtml
 @ifhtml
-(available @uref{../../../../input/test/out-www/collated-files.html,here})
+@c Works, but link name is not so nice; so write-out macro
+@c @inputfileref{input/test,Various input examples}.
+@uref{source/input/test/collated-files.html,Various input examples}.
 @end ifhtml
-@cindex snippets
 
 This collection of files shows various tips and tricks, and is
 available as a big HTML document, with pictures and explanatory texts
 included.
 
 @item
-The regression tests
+@ifnothtml
+The regression tests.
+@end ifnothtml
 @ifhtml
-(available @uref{../../../../input/regression/out-www/collated-files.html,here})
+@c Works, but link name is not so nice; so write-out macro
+@c @inputfileref{input/regression,The regression tests}.
+@uref{source/input/regression/collated-files.html,The regression tests}.
 @end ifhtml
 
 This collection of files tests each notation and engraving feature of
@@ -799,7 +856,7 @@ vary from system to system.  On occasion, this manual refers to
 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/@/test/@/bla@/.ly} may refer to the file
-@file{lilypond@/-2.4.0/@/input/@/test/@/bla@/.ly}.  On binary packages
+@file{lilypond@/-2.6.0/@/input/@/test/@/bla@/.ly}.  On binary 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
@@ -813,12 +870,9 @@ Initialization files, for example @file{scm/@/lily@/.scm}, or
 @cindex internal documentation
 @cindex Scheme
 @cindex extending lilypond
-@cindex bug report
 @cindex index
 
 Finally, this and all other manuals, are available online both as PDF
 files and HTML from the web site, which can be found at
 @uref{http://@/www@/.lilypond@/.org/}.
 
-@cindex website
-@cindex URL