]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
authorJoe Neeman <joeneeman@gmail.com>
Mon, 26 Feb 2007 08:31:00 +0000 (19:31 +1100)
committerJoe Neeman <joeneeman@gmail.com>
Mon, 26 Feb 2007 08:31:00 +0000 (19:31 +1100)
59 files changed:
Documentation/GNUmakefile
Documentation/TRANSLATION [new file with mode: 0644]
Documentation/fr/user/advanced-notation.itely
Documentation/fr/user/basic-notation.itely
Documentation/fr/user/changing-defaults.itely
Documentation/fr/user/cheatsheet.itely
Documentation/fr/user/converters.itely
Documentation/fr/user/dedication.itely [new file with mode: 0644]
Documentation/fr/user/instrument-notation.itely
Documentation/fr/user/introduction.itely
Documentation/fr/user/lilypond-book.itely
Documentation/fr/user/lilypond.tely
Documentation/fr/user/literature.itely
Documentation/fr/user/macros.itexi
Documentation/fr/user/non-music.itely
Documentation/fr/user/notation-appendices.itely
Documentation/fr/user/preface.itely
Documentation/fr/user/programming-interface.itely
Documentation/fr/user/putting.itely
Documentation/fr/user/running.itely
Documentation/fr/user/scheme-tutorial.itely
Documentation/fr/user/spacing.itely
Documentation/fr/user/templates.itely
Documentation/fr/user/tutorial.itely
Documentation/fr/user/tweaks.itely
Documentation/fr/user/working.itely
Documentation/po/GNUmakefile
Documentation/po/fr.po
Documentation/po/lilypond-doc.pot
Documentation/user/advanced-notation.itely
Documentation/user/converters.itely
Documentation/user/lilypond-book.itely
Documentation/user/non-music.itely
Documentation/user/programming-interface.itely
Documentation/user/spacing.itely
Documentation/user/templates.itely
Documentation/user/tutorial.itely
Documentation/user/tweaks.itely
Documentation/user/working.itely
THANKS
buildscripts/add_html_footer.py
buildscripts/langdefs.py
buildscripts/texi-langutils.py
buildscripts/texi-skeleton-update.py [new file with mode: 0644]
buildscripts/www_post.py
input/regression/cluster-single-note.ly [new file with mode: 0644]
input/regression/spacing-multi-tuplet.ly
input/regression/system-separator.ly
input/test/staff-bracket.ly
input/test/vertical-extent.ly
lily/cluster-engraver.cc
lily/staff-symbol.cc
lily/vertical-align-engraver.cc
lily/volta-engraver.cc
ly/engraver-init.ly
po/lilypond.pot
scm/define-grob-properties.scm
scm/define-music-types.scm
scm/documentation-generate.scm

index cd96e38b5b61630c6bf3404be337826b59136442..2b5940745ca9f0659eec7c809db3c5682372176c 100644 (file)
@@ -29,6 +29,9 @@ OUT_TXT_FILES = $(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES)))
 txt-to-html:
        $(PYTHON) $(step-bindir)/text2html.py $(OUT_TXT_FILES)
 
+po-update:
+       make -C po po-update
+
 ifneq ($(ISOLANG),)
 new-lang:
        @if (( $$(file -b $(ISOLANG)) == directory )) 2>/dev/null; \
@@ -39,7 +42,7 @@ new-lang:
        cp fr/GNUmakefile $(ISOLANG)
        cp fr/user/GNUmakefile $(ISOLANG)/user
        sed -i -e 's/ISOLANG *= *fr/ISOLANG = $(ISOLANG)/' $(ISOLANG)/GNUmakefile $(ISOLANG)/user/GNUmakefile
-       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -o doc.pot --skeleton --gettext ../user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) -o doc.pot --skeleton --gettext ../user/lilypond.tely
        mv $(outdir)/*.*tely $(ISOLANG)/user
        msgmerge -U po/lilypond-doc.pot $(outdir)/doc.pot
        cp po/lilypond-doc.pot po/$(ISOLANG).po
@@ -47,4 +50,8 @@ new-lang:
 
 check-translation:
        find $(ISOLANG)/user/ -name '*.*tely' | xargs $(PYTHON) $(buildscript-dir)/check_translation.py $(buildscript-dir)
+
+skeleton-update:
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) --skeleton ../user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-skeleton-update.py $(ISOLANG)/user $(outdir)
 endif
diff --git a/Documentation/TRANSLATION b/Documentation/TRANSLATION
new file mode 100644 (file)
index 0000000..fc77023
--- /dev/null
@@ -0,0 +1,188 @@
+LILYPOND DOCUMENTATION TRANSLATION
+
+
+SOURCES
+
+The sources live in a GIT repository.  Git 1.4.4.1 or newer is
+required, and Git 1.5.x is highly recommended.  To get a fresh version
+run
+
+    mkdir lily ; cd lily
+    git init-db
+    git fetch git://git.sv.gnu.org/lilypond.git/ refs/heads/master:remotemaster
+    git checkout -b master remotemaster
+
+
+GIT
+
+The reader is supposed to be familiar with Git, for example by
+having experience from lilypond.org translation; see
+http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=README;hb=web/master
+
+
+REQUIREMENTS
+
+Working on LilyPond documentation translations requires:
+
+    * python
+    * make
+    * gettext
+
+
+STARTING A TRANSLATION IN A NEW LANGUAGE
+
+At top of the source directory, do
+
+    ./autogen.sh
+
+or (if you want to install your self-compiled LilyPond locally):
+
+    ./autogen.sh --prefix=$HOME
+
+If you want to compile LilyPond -- which is almost required to build
+the docs, but is not required to do translation only -- fix all
+dependencies and rerun ./configure (with the same options as for
+autogen).
+
+Cd into Documentation and run:
+
+    make ISOLANG=<MY-LANGUAGE> new-lang
+
+where <MY-LANGUAGE> is the ISO 639 language code
+
+Add a language definition for your language in
+buildscripts/langdefs.py.
+
+See next section about what files to translate and the following
+detailed instructions after the next section.
+
+FILES TO BE TRANSLATED
+
+All the following files are in Documentation/
+Translation of Documentation/foo/bar should be
+Documentation/<LANG>/foo/bar.
+Unmentioned files should not be translated.
+
+Priorities:  1. delivery, 2. 3. 4. 5. later, 6. optional.
+
+Files marked with priority 3, 4 or 5 may be submitted individually.
+
+-1- Documentation index, Tutorial and Cheat Sheet
+1 user/lilypond.tely
+1 user/tutorial.itely
+1 user/dedication.itely
+1 user/cheatsheet.itely
+1 index.html.in
+
+-2- User manual introduction
+2 user/preface.itely
+2 user/introduction.itely
+
+-3- Learning manual
+3 user/putting.itely -- Putting it all together
+3 user/working.itely -- Working on LilyPond files
+3 user/tweaks.itely -- Tweaking output
+
+-4- Notation reference
+4 user/basic-notation.itely -- Basic notation
+4 user/instrument-notation.itely -- Instrument-specific notation
+4 user/advanced-notation.itely -- Advanced notation
+4 user/changing-defaults.itely -- Changing defaults
+4 user/non-music.itely -- Non-musical notation
+4 user/spacing.itely -- Spacing issues
+4 user/programming-interface.itely -- Interfaces for programmers
+4 user/scheme-tutorial.itely -- Scheme tutorial
+
+-5- Program usage
+5 user/running.itely -- Running LilyPond
+5 user/lilypond-book.itely -- LilyPond-book
+5 user/converters.itely -- Converting from other formats
+
+-6- Appendices whose translation is optional
+6 user/literature.itely
+6 user/templates.itely
+6 user/notation-appendices.itely
+
+* WORD COUNTS FOR CATEGORIES
+
+LANG=C wc --words $(grep ^1 TRANSLATION | cut -d ' ' -f 2 | sed 's@^@site/@')
+
+LANG=C wc --words $(grep ^2 TRANSLATION | cut -d ' ' -f 2 | sed 's@^@site/@')
+
+
+TRANSLATION DETAILED INSTRUCTIONS
+
+Please follow all these instructions with care to ensure quality work.
+
+* USER MANUAL
+
+Any title which comes with one of the following commands must not be
+translated directly in the Texinfo source
+
+@node          @top                                     @majorheading
+@chapter       @unnumbered          @appendix           @chapheading
+@section       @unnumberedsec       @appendixsec        @heading
+@subsection    @unnumberedsubsec    @appendixsubsec     @subheading
+@subsubsection @unnumberedsubsubsec @appendixsubsubsec  @subsubheading
+@ref           @rglos
+
+
+In any section which looks like
+
+@menu
+* node1:: thing1
+* node2:: thing2
+...
+@end menu
+
+the node names (nodeN) are NOT to be translated, whereas extra title
+information (thingN) is.
+
+
+Every node name or section title must from now on be translated
+separately in a .po file (just as well as LilyPond output messages).
+This .po file should be in Documentation/po.
+
+Make sure to keep *verbatim* copies of music snippets (in @lilypond blocs).
+@example blocs do not have to be verbatim copies, e.g. variable names,
+file names and comments should be translated.
+
+Index entries (@cindex and so on) should be translated.
+
+Carefully apply every rule exposed in Documentation/README.txt.  If
+one of these rules conflicts with a rule specific to your language,
+please ask the Translation meister and/or the Documentation Editor on
+lilypond-devel@gnu.org.
+
+
+* DOCUMENTATION INDEX index.html.in
+
+
+
+CHECK STATE OF TRANSLATION
+
+
+
+UPDATE A TRANSLATION
+
+
+
+TECHNICAL BACKGROUND
+
+*** This section is a draft and should be overhauled ***
+- J. Mandereau
+
+When starting a translation, texi-langutils.py quickly parses
+lilypond.tely and the included .itely's, and generates a skeleton with
+node and sectionning commands.  When translating a .itely file, the
+skeleton file is replaced with the real translation, in exception of
+the the node, sectioning and glossary reference commands, which
+remains in English.  All this ensures easy navigation between nodes in
+different languages in HTML docs, i.e.: there is automatic language
+selection on lilypond.org, all sections and cross-references are
+always available, at least in English (for example, see the "Other
+languages: xxx" menu at bottom of tutorial pages).  From the user's
+point of view, docs in his native language with node and sections in
+English are painful, so texi-langutils generates a .po of node and
+section names; this .po file is used to translate the section titles
+in the HTML generated docs.
index 8481a50e3f7678b3cb73abfe00f13738d5976623..adec14d979791486f65639d7e851f2ecefa5739d 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Advanced notation
 @chapter Advanced notation
 
@@ -26,6 +28,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 @menu 
 * Text scripts::
+* Text and line spanners::
 * Text spanners::
 * Text marks::
 * Text markup::
@@ -39,6 +42,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Text and line spanners
+@subsection Text and line spanners
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Text spanners
 @subsection Text spanners
 
@@ -64,6 +72,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@include markup-commands.tely
 @node Font selection
 @subsection Font selection
 
@@ -174,7 +183,7 @@ UNTRANSLATED NODE: IGNORE ME
 @menu 
 * Polymetric notation::
 * Time administration::
-* Proportional notation::
+* Proportional notation (introduction)::
 * Clusters::
 * Special noteheads::
 * Feathered beams::
@@ -191,8 +200,8 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Proportional notation
-@subsection Proportional notation
+@node Proportional notation (introduction)
+@subsection Proportional notation (introduction)
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -282,3 +291,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 1e545e2047fb789e4035aeaf677691f777c2ad70..94364b06e06a85673bb5bc1b22a5acb268c762e4 100644 (file)
@@ -1,7 +1,7 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
+    Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -75,9 +75,9 @@ c1
 @funindex ,
 
 L'octave précise peut Ãªtre spécifiée sous forme d'une série
-d'apostrophes (`@samp{'}') ou d'une série de virgules
-(`@samp{,}').  Chaque @code{'} hausse la note d'une octave ; chaque
-@code{,} baisse la note d'une octave.
+d'apostrophes @samp{'} ou d'une série de virgules @samp{,}.  Chaque
+@samp{'} hausse la note d'une octave, chaque @samp{,} baisse la note
+d'une octave.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \clef treble
@@ -126,7 +126,7 @@ a4 aes a2
 @end lilypond
 
 LilyPond interprète l'entrée @code{d e f} comme @qq{imprimer un ré
-naturel, un mi naturel et un fa naturel} sans tenir compte de
+naturel, un mi naturel et un fa naturel}, sans tenir compte de
 l'armure.  Pour plus d'information Ã  propos de la distinction entre le
 contenu musical et sa représentation, voir @ref{Accidentalas and key signatures}.
 
@@ -172,9 +172,9 @@ Référence du programme : @internalsref{LedgerLineSpanner},
 Normalement, les altérations sont imprimées automatiquement, mais il
 se peut que vous vouliez les imprimer manuellement.  On peut forcer
 l'impression d'une altération , dite @qq{de précaution}, en ajoutant un
-point d'exclamation `@samp{!}' après la hauteur de note.  Une
+point d'exclamation @samp{!} après la hauteur de note.  Une
 altération entre parenthèses peut Ãªtre obtenue en ajoutant un point
-d'interrogation `@samp{?}' après la hauteur de note.  Ces signes
+d'interrogation @samp{?} après la hauteur de note.  Ces signes
 peuvent aussi Ãªtre utilisés pour imprimer des bécarres.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
@@ -228,10 +228,10 @@ utilisés sont les suivants:
 @c  Oh, and should this be made into a multitable?
 @cindex note names, other languages)
 @example
-                       Note Names               sharp       flat
+                       Noms de note              dièse       bémol
 nederlands.ly  c   d   e   f   g   a   bes b   -is         -es
 english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat
-                                              -x (double)
+                                                  -x (double)
 deutsch.ly     c   d   e   f   g   a   b   h   -is         -es
 norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es
 svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess
@@ -261,7 +261,7 @@ reste de la pièce Ã  la mauvaise octave.
 @end example
 
 @noindent
-or
+ou
 
 @example
 \relative @var{musicexpr}
@@ -283,7 +283,7 @@ six demi-tons seulement.
 
 Les signes de changement d'octaves @code{'} et @code{,} peuvent Ãªtre
 ajoutés pour hausser ou baisser la note d'une octave supplémentaire.
-Lorsque l'on entre en mode \relative, une hauteur absolue de départ
+Lorsque l'on entre en mode @code{\relative}, une hauteur absolue de départ
 peut Ãªtre spécifiée, et agira dès lors comme si elle précédait la
 première note de @var{musicexpr}.  Si aucune hauteur de départ n'est
 spécifiée, le do central sert de point de départ.
@@ -291,7 +291,7 @@ spécifiée, le do central sert de point de départ.
 Voici le mode \relative en action.
 @lilypond[quote,fragment,ragged-right,verbatim]
 \relative c'' {
- b c d c b c bes a
 b c d c b c bes a
 }
 @end lilypond
 
@@ -300,7 +300,7 @@ dépassant la quarte.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \relative c'' {
- c g c f, c' a, e''
 c g c f, c' a, e''
 }
 @end lilypond
 
@@ -310,9 +310,9 @@ accord.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \relative c' {
- c <c e g>
- <c' e g>
- <c, e' g>
 c <c e g>
 <c' e g>
 <c, e' g>
 }
 @end lilypond
 
@@ -339,10 +339,10 @@ quelle octave absolue elle devrait Ãªtre.  Dans l'exemple suivant,
 
 @noindent
 le @code{d} générera un avertissement, puisqu'on attend un @code{d''}
-(il n'y a qu'une tierce entre @code{b'} et @code{d''}), mais qu'on
-obtient un @code{d'}.  Sur la partition, l'octave sera corrigée pour
-donner un @code{d''} et la prochaine note sera calculée en fonction de
-@code{d''} plutôt que @code{d'}.
+mais qu'on obtient un @code{d'} --- il n'y a qu'une tierce entre
+@code{b'} et @code{d''}.  Sur la partition, l'octave sera corrigée
+pour donner un @code{d''} et la prochaine note sera calculée en
+fonction de @code{d''} au lieu de @code{d'}.
 
 Il existe aussi une vérification d'octave sans changement visible en
 sortie, avec cette syntaxe :
@@ -351,7 +351,7 @@ sortie, avec cette syntaxe :
 \octave @var{pitch}
 @end example
 
-Cette commande vérifie que @var{pitch} (sans apostrophes ou virgules)
+Cette commande vérifie que @var{pitch} (sans apostrophe ni virgule)
 donne @var{pitch} (avec apostrophes ou virgules) dans le mode
 @code{\relative} comparé Ã  la note donnée dans la commande
 @code{\relative}.  Sinon, un avertissement est Ã©mis et l'octave est
@@ -367,9 +367,9 @@ octave.
 
 @example
 \relative c' @{
- e
- \octave a'
- \octave b'
 e
 \octave a'
 \octave b'
 @}
 @end example
 
@@ -381,9 +381,9 @@ résultat sur la partition.
 
 @lilypond[quote,ragged-right,verbatim,fragment]
 \relative c' {
- e
- \octave b
- a
 e
 \octave b
 a
 }
 @end lilypond
 
@@ -430,10 +430,10 @@ dièses et la deuxième des bémols.
 @lilypond[quote,ragged-right,verbatim]
 mus = { \key d \major cis d fis g }
 \new Staff {
- \clef "F" \mus
- \clef "G"
- \transpose c g' \mus
- \transpose c f' \mus
 \clef "F" \mus
 \clef "G"
 \transpose c g' \mus
 \transpose c f' \mus
 }
 @end lilypond
 
@@ -487,8 +487,8 @@ r1 r2 r4 r8
 Les pauses d'une mesure complète, qui sont placées au centre de la
 mesure, doivent Ãªtre entrées comme des mesures de silences.  Elles
 peuvent Ãªtre utilisées pour une seule mesure comme pour plusieurs, et
-leur utilisation est expliquée dans la section @ref{Multi measure
-rests}.
+leur utilisation est expliquée dans la section
+@ref{Multi measure rests}.
 
 Pour spécifier explicitement la position verticale d'un silence,
 Ã©crivez une note suivie de @code{\rest}.  Un silence sera placé Ã  la
@@ -517,9 +517,9 @@ Référence du programme : @internalsref{Rest}.
 @funindex \skip
 @funindex s
 
-Un silence invisible (que l'on pourrait appeler un @qq{saut}) peut Ãªtre
-entré comme une note avec le nom de note `@samp{s}' ou avec
-@code{\skip @var{duration}}
+Un silence invisible --- que l'on pourrait appeler un @qq{saut} ---
+peut Ãªtre entré comme une note avec le nom de note `@samp{s}' ou avec
+@code{\skip @var{durée}}
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
 a4 a4 s4 a4 \skip 1 a4
@@ -531,8 +531,8 @@ paroles par exemple, vous devrez utiliser la commande @code{\skip}.
 
 @lilypond[quote,ragged-right,verbatim]
 <<
- \relative { a'2 a2 }
- \new Lyrics \lyricmode { \skip 2 bla2 }
 \relative { a'2 a2 }
 \new Lyrics \lyricmode { \skip 2 bla2 }
 >>
 @end lilypond
 
@@ -598,29 +598,29 @@ r1 r2 r4 r8 r16 r32 r64 r64
 @lilypond[quote]
 \score {
 \relative c'' {
-   a\breve*1/2 \autoBeamOff
-   a1 a2 a4 a8 a16 a32 a64 a64
-  \bar "empty"
-  \break
-   r\longa*1/4 r\breve *1/2
-   r1 r2 r4 r8 r16 r32 r64 r64
- }
- \layout {
-   ragged-right = ##t
-   indent=0\mm
-   \context {
-     \Score
-       \remove "Bar_number_engraver"
-   }
-   \context {
-     \Staff
-       \remove "Clef_engraver"
-       \override StaffSymbol #'transparent = ##t
-       \override TimeSignature #'transparent = ##t
-       \override BarLine #'transparent = ##t
-       \consists "Pitch_squash_engraver"
-   }
- }
+    a\breve*1/2 \autoBeamOff
+    a1 a2 a4 a8 a16 a32 a64 a64
+   \bar "empty"
+   \break
+    r\longa*1/4 r\breve *1/2
+    r1 r2 r4 r8 r16 r32 r64 r64
 }
 \layout {
+    ragged-right = ##t
+    indent=0\mm
+    \context {
+      \Score
+        \remove "Bar_number_engraver"
+    }
+    \context {
+      \Staff
+        \remove "Clef_engraver"
+        \override StaffSymbol #'transparent = ##t
+        \override TimeSignature #'transparent = ##t
+        \override BarLine #'transparent = ##t
+        \consists "Pitch_squash_engraver"
+    }
 }
 }
 @end lilypond
 
@@ -643,7 +643,7 @@ Pour obtenir des notes pointées, ajoutez simplement un point
 la même façon.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-a'4 b' c''4.  b'8 a'4.  b'4..  c''8.
+a'4 b' c''4. b'8 a'4. b'4.. c''8.
 @end lilypond
 
 @refcommands
@@ -662,7 +662,7 @@ points.
 
 @seealso
 
-Référence du programme : @internalsref{Dots}, and @internalsref{DotColumn}.
+Référence du programme : @internalsref{Dots}, @internalsref{DotColumn}.
 
 
 @node Tuplets
@@ -672,7 +672,7 @@ Référence du programme : @internalsref{Dots}, and @internalsref{DotColumn}.
 @cindex triplets
 @funindex \times
 
-Les n-olets (comme les triolets, quintolets, etc.) sont obtenus en
+Les nolets --- triolets, quintolets, etc. --- sont obtenus en
 multipliant toutes les durées d'une expression musicale par une
 fraction.
 
@@ -683,7 +683,7 @@ fraction.
 @noindent
 La durée de @var{musicexpr} sera multipliée par la fraction.  Le
 dénominateur de la fraction sera imprimé au-dessus des notes,
-optionnellement avec un crochet.  Le n-olet le plus courant est le
+optionnellement avec un crochet.  Le nolet le plus courant est le
 triolet, dans lequel 3 notes ont la durée de 2, et où les notes durent
 donc 2/3 de leur valeur Ã©crite.
 
@@ -691,13 +691,13 @@ donc 2/3 de leur valeur Ã©crite.
 g'4 \times 2/3 {c'4 c' c'} d'4 d'4
 @end lilypond
 
-Les n-olets peuvent Ãªtre imbriqués ; par exemple,
+Les nolets peuvent Ãªtre imbriqués ; par exemple,
 
 @lilypond[fragment,ragged-right,verbatim,relative=2]
 \override TupletNumber #'text = #tuplet-number::calc-fraction-text
 \times 4/6 {
- a4 a
- \times 3/5 { a a a a a }
 a4 a
 \times 3/5 { a a a a a }
 }
 @end lilypond
 
@@ -737,7 +737,7 @@ dénominateur, mais si elle est définie par la fonction
 @code{tuplet-number::calc-fraction-text}, la fraction entière
 @var{num}:@var{den} sera imprimée Ã  la place.
 
-Pour Ã©viter d'imprimer les chiffres des n-olets, utilisez
+Pour Ã©viter d'imprimer les chiffres des nolets, utilisez
 
 @lilypond[quote,fragment,relative=2,ragged-right,verbatim]
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
@@ -745,23 +745,23 @@ Pour Ã©viter d'imprimer les chiffres des n-olets, utilisez
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
 @end lilypond
 
-Les crochets de n-olets peuvent aller jusqu'aux prémisses de la mesure
+Les crochets de nolets peuvent aller jusqu'aux prémisses de la mesure
 suivante, ou Ã  la prochaine note.
 
 @lilypond[ragged-right]
 \new RhythmicStaff {
- \set tupletFullLength = ##t
- \time 4/4
- \times 4/5 {
-   c4 c1
- }
- \set tupletFullLengthNote = ##t
- \time 2/4
- \times 2/3 {
-   c4 c c
- }
- \time 3/4
- c4
 \set tupletFullLength = ##t
 \time 4/4
 \times 4/5 {
+    c4 c1
 }
 \set tupletFullLengthNote = ##t
 \time 2/4
 \times 2/3 {
+    c4 c c 
 }
 \time 3/4
+  c4 
 }
 @end lilypond
 
@@ -769,7 +769,7 @@ suivante, ou Ã  la prochaine note.
 @seealso
 
 Référence du programme : @internalsref{TupletBracket},
-@internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
+@internalsref{TupletNumber}, @internalsref{TimeScaledMusic}.
 
 Exemples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}.
 
@@ -779,8 +779,8 @@ Exemples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}.
 @subsection Scaling durations
 
 Vous pouvez altérer la durée des notes en lui joignant une fraction
-@var{N/M}, donnant @q{@code{*}@var{N/M}} (ou @q{@code{*}@var{N}} si
-@var{M=1}).  Ceci n'affectera pas l'apparence des notes ou silences
+@var{N/M}, donnant @q{@code{*}@var{N/M}} --- ou @q{@code{*}@var{N}} si
+@var{M=1}.  Ceci n'affectera pas l'apparence des notes ou silences
 produits.
 
 Dans l'exemple suivant, les trois premières notes prennent exactement
@@ -869,10 +869,10 @@ divisées et liées.
 
 @lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
 \new Voice \with {
- \remove "Note_heads_engraver"
- \consists "Completion_heads_engraver"
 \remove "Note_heads_engraver"
 \consists "Completion_heads_engraver"
 } {
c2.  c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8.  c2
 c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
 }
 @end lilypond
 
@@ -890,10 +890,10 @@ aussi enlever @internalsref{Forbid_line_breaks_engraver}.
 @refbugs
 
 Bien que toutes les durées (particulièrement celles contenant des
-n-olets) ne puissent pas Ãªtre représentées exactement avec des notes
-normales et des points, le graveur n'insèrera pas de n-olets.
+nolets) ne puissent pas Ãªtre représentées exactement avec des notes
+normales et des points, le graveur n'insèrera pas de nolets.
 
-@code{Completion_heads_engraver} affecte seulement les notes; il ne
+@code{Completion_heads_engraver} affecte seulement les notes, il ne
 divise pas les silences.
 
 @seealso
@@ -982,22 +982,22 @@ en séparant les voix avec @code{\\}
 
 @lilypond[quote,verbatim,fragment]
 \new Staff \relative c' {
- c16 d e f
- <<
-   { g4 f e | d2 e2 } \\
-   { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
-   { s2.  | s4 b4 c2 }
- >>
 c16 d e f
 <<
+    { g4 f e | d2 e2 } \\
+    { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
+    { s2. | s4 b4 c2 }
 >>
 }
 @end lilypond
 
-Le séparateur permet aux @internalsref{Voice} contexts@footnote{Ces
-voix polyphoniques sont parfois appelées @qq{couches ou calques} dans
-d'autres logiciels de notation.
+Le séparateur permet aux contextes @internalsref{Voice}@footnote{Ces
+voix polyphoniques sont parfois appelées @qq{couches} ou @qq{calques} dans
+d'autres logiciels de notation.}
 @cindex layers
 d'être identifiées.  Elles portent les noms @code{"1"}, @code{"2"},
 etc.  Dans chacun de ces contextes, la direction verticale des
-liaisons, hampes, etc.  est réglée de manière appropriée.
+liaisons, hampes, etc. sont réglées de manière appropriée.
 
 Ces voix sont toutes séparées de la voix qui contient les notes en
 dehors de la construction @code{<< \\ >>}.  Cela doit Ãªtre pris en
@@ -1017,18 +1017,18 @@ entre les deux constructions.
 
 @lilypond[quote,verbatim,fragment]
 \new Staff \relative c' {
- \override NoteHead #'style = #'cross
- c16 d e f
- <<
-   { g4 f e } \\
-   { \override NoteHead #'style = #'triangle
-   r8 e4 d c8 ~ }
- >> |
- <<
-   { d2 e2 } \\
-   { c8 b16 a b8 g ~ g2 } \\
-   { \override NoteHead #'style = #'slash s4 b4 c2 }
- >>
 \override NoteHead #'style = #'cross
 c16 d e f
 <<
+    { g4 f e } \\
+    { \override NoteHead #'style = #'triangle
+    r8 e4 d c8 ~ }
 >> |
 <<
+    { d2 e2 } \\
+    { c8 b16 a b8 g ~ g2 } \\
+    { \override NoteHead #'style = #'slash s4 b4 c2 }
 >>
 }
 @end lilypond
 
@@ -1087,41 +1087,41 @@ est maintenant dans un seul contexte de voix.
 
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
- \override NoteHead #'style = #'cross
- c16 d e f
- \voiceOne
- <<
-   { g4 f e | d2 e2 }
-   \new Voice="1" { \voiceTwo
-     r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
-     \oneVoice
-   }
-   \new Voice { \voiceThree
-     s2.  | s4 b4 c2
-     \oneVoice
-   }
- >>
- \oneVoice
 \override NoteHead #'style = #'cross
 c16 d e f
 \voiceOne
 <<
+    { g4 f e | d2 e2 }
+    \new Voice="1" { \voiceTwo
+      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
+      \oneVoice
+    }
+    \new Voice { \voiceThree
+      s2. | s4 b4 c2
+      \oneVoice
+    }
 >>
 \oneVoice
 }
 @end lilypond
 
 La définition correcte des voix permet Ã  la mélodie d'être liée.
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
- c16^( d e f
- \voiceOne
- <<
-   { g4 f e | d2 e2) }
-   \context Voice="1" { \voiceTwo
-     r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
-     \oneVoice
-   }
-   \new Voice { \voiceThree
-     s2. s4 b4 c2
-     \oneVoice
-   }
- >>
- \oneVoice
 c16^( d e f
 \voiceOne
 <<
+    { g4 f e | d2 e2) }
+    \context Voice="1" { \voiceTwo
+      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
+      \oneVoice
+    }
+    \new Voice { \voiceThree
+      s2. s4 b4 c2
+      \oneVoice
+    }
 >>
 \oneVoice
 }
 @end lilypond
 
@@ -1131,23 +1131,23 @@ naturelle de taper la musique.
 
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
- c16^( d e f
- \voiceOne
- <<
-   { g4 f e | d2 e2) }
-   \context Voice="1" { \voiceTwo
-     r8 e4 d c8 ~ |
-     <<
-       {c8 b16 a b8 g ~ g2}
-       \new Voice { \voiceThree
-         s4 b4 c2
-         \oneVoice
-       }
-     >>
-   \oneVoice
-   }
- >>
- \oneVoice
 c16^( d e f
 \voiceOne
 <<
+    { g4 f e | d2 e2) }
+    \context Voice="1" { \voiceTwo
+      r8 e4 d c8 ~ |
+      <<
+        {c8 b16 a b8 g ~ g2}
+        \new Voice { \voiceThree
+          s4 b4 c2
+          \oneVoice
+        }
+      >>
+    \oneVoice
+    }
 >>
 \oneVoice
 }
 @end lilypond
 
@@ -1171,22 +1171,22 @@ voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
 @subsection Collision Resolution
 
 D'ordinaire, les têtes de notes pointées et non-pointées ne sont pas
-fusionnées, mais lorsque la propriété d'objet
-@code{merge-differently-dotted} est définie dans l'objet
-@internalsref{NoteCollision}, elles se trouvent fusionnées :
+fusionnées, mais lorsque la propriété @code{merge-differently-dotted}
+de l'objet @internalsref{NoteCollision} est définie, elles se trouvent
+fusionnées :
 
 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
 \new Voice << {
- g8 g8
- \override Staff.NoteCollision
-   #'merge-differently-dotted = ##t
- g8 g8
 g8 g8
 \override Staff.NoteCollision
+    #'merge-differently-dotted = ##t
 g8 g8
 } \\ { g8.[ f16] g8.[ f16] } >>
 @end lilypond
 
 De même, vous pouvez fusionner une tête de blanche avec une tête de
-croche, en définissant
-@code{merge-differently-headed}
+croche, en définissant @code{merge-differently-headed}
+
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \new Voice << {
  c8 c4.
@@ -1262,12 +1262,12 @@ de placement.
 @lilypond[quote,verbatim,ragged-right]
 \relative <<
 {
- <d g>
- <d g>
 <d g>
 <d g>
 } \\ {
- <b f'>
- \once \override NoteColumn #'force-hshift = #1.7
- <b f'>
 <b f'>
 \once \override NoteColumn #'force-hshift = #1.7
 <b f'>
 } >>
 @end lilypond
 
@@ -1277,13 +1277,6 @@ Référence du programme : les objets appropriés pour résoudre les
 collisions sont
 @internalsref{NoteCollision} et @internalsref{RestCollision}.
 
-Exemples :
-@inputfileref{input/@/regression,collision@/-dots@/.ly},
-@inputfileref{input/@/regression,collision@/-head-chords@/.ly},
-@inputfileref{input/@/regression,collision@/-heads@/.ly},
-@inputfileref{input/@/regression,collision@/-mesh@/.ly}, et
-@inputfileref{input/@/regression,collisions@/.ly}.
-
 
 @refbugs
 
@@ -1398,22 +1391,22 @@ manuellement.
 
 @lilypond[quote,ragged-right,verbatim]
 {
- \set Staff.clefGlyph = #"clefs.F"
- \set Staff.clefPosition = #2
- c'4
- \set Staff.clefGlyph = #"clefs.G"
- c'4
- \set Staff.clefGlyph = #"clefs.C"
- c'4
- \set Staff.clefOctavation = #7
- c'4
- \set Staff.clefOctavation = #0
- \set Staff.clefPosition = #0
- c'4
- \clef "bass"
- c'4
- \set Staff.middleCPosition = #4
- c'4
 \set Staff.clefGlyph = #"clefs.F"
 \set Staff.clefPosition = #2
 c'4
 \set Staff.clefGlyph = #"clefs.G"
 c'4
 \set Staff.clefGlyph = #"clefs.C"
 c'4
 \set Staff.clefOctavation = #7
 c'4
 \set Staff.clefOctavation = #0
 \set Staff.clefPosition = #0
 c'4
 \clef "bass"
 c'4
 \set Staff.middleCPosition = #4
 c'4
 }
 @end lilypond
 
@@ -1554,18 +1547,18 @@ position.
 
 @lilypond[quote,ragged-right,verbatim]
 \score {
- \relative c'' {
-   #(set-time-signature 9 8 '(2 2 2 3))
-   g8[ g] d[ d] g[ g] a8[( bes g]) |
-   #(set-time-signature 5 8 '(3 2))
-   a4.  g4
- }
- \layout {
-   \context {
-     \Staff
-     \consists "Measure_grouping_engraver"
-   }
- }
 \relative c'' {
+    #(set-time-signature 9 8 '(2 2 2 3))
+    g8[ g] d[ d] g[ g] a8[( bes g]) |
+    #(set-time-signature 5 8 '(3 2))
+    a4. g4
 }
 \layout {
+    \context {
+      \Staff
+      \consists "Measure_grouping_engraver"
+    }
 }
 }
 @end lilypond
 
@@ -1599,24 +1592,24 @@ Les mesures incomplètes, telles que les anacrouses ou levées, doivent
 Ãªtre entrées avec la commande
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\partial 16*5 c16 cis d dis e | a2.  c,4 | b2
+\partial 16*5 c16 cis d dis e | a2. c,4 | b2
 @end lilypond
 
 
 La syntaxe de cette commande est
 
 @example
-\partial @var{duration}
+\partial @var{durée}
 @end example
 
 
-@code{duration} Ã©tant la valeur rythmique devant Ãªtre ajoutée avant la
+@code{durée} Ã©tant la valeur rythmique devant Ãªtre ajoutée avant la
 mesure suivante.
 
 Le programme traduit cette commande en
 
 @example
-\set Timing.measurePosition = -@var{length of duration}
+\set Timing.measurePosition = -@var{durée}
 @end example
 
 
@@ -1628,8 +1621,8 @@ programme : @qq{Dans cette mesure, il reste juste une noire}.
 @refbugs
 
 
-Cette commande de prend pas en compte les petites notes (appogiatures,
-accacciatures) au début de la musique. Lorsqu'un morceau commence par
+Cette commande ne prend pas en compte les notes d'agrément ou
+appogiatures au début de la musique. Lorsqu'un morceau commence par
 une levée faite de petites notes, la commande @code{\partial} devrait
 Ãªtre placée après celles-ci.
 
@@ -1700,15 +1693,15 @@ d'un seul tenant sur les portées d'un @code{StaffGroup}, d'un
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 <<
- \new StaffGroup <<
-   \new Staff {
-     e'4 d'
-     \bar "||"
-     f' e'
-   }
-   \new Staff { \clef bass c4 g e g }
- >>
- \new Staff { \clef bass c2 c2 }
 \new StaffGroup <<
+    \new Staff {
+      e'4 d'
+      \bar "||"
+      f' e'
+    }
+    \new Staff { \clef bass c4 g e g }
 >>
 \new Staff { \clef bass c2 c2 }
 >>
 @end lilypond
 
@@ -1740,8 +1733,9 @@ reprises. Voyez Ã  ce sujet @ref{Repeats}.
 
 Dans ce manuel : @ref{Repeats}, @ref{System start delimiters}.
 
-Référence du programme : @internalsref{BarLine} (created at
-@internalsref{Staff} level), @internalsref{SpanBar} (across staves).
+Référence du programme : @internalsref{BarLine} (faisant partie du
+contexte @internalsref{Staff}), @internalsref{SpanBar} (sur plusieurs
+portées).
 
 D'autres exemples : @inputfileref{input/@/test,bar@/-lines@/.ly},
 
@@ -1808,8 +1802,8 @@ et les barres de mesure sont d'un seul tenant. Il s'agit du contexte
 @lilypond[verbatim,ragged-right,quote]
 \new GrandStaff
 \relative <<
- \new Staff { c1 c }
- \new Staff { c c }
 \new Staff { c1 c }
 \new Staff { c c }
 >>
 @end lilypond
 
@@ -1820,8 +1814,8 @@ de mesure sont d'un seul tenant. Il s'agit du contexte
 @lilypond[verbatim,ragged-right,quote]
 \new StaffGroup
 \relative <<
- \new Staff { c1 c }
- \new Staff { c c }
 \new Staff { c1 c }
 \new Staff { c c }
 >>
 @end lilypond
 
@@ -1834,8 +1828,8 @@ de mesure sont séparées d'une portée Ã  l'autre. Il s'agit du contexte
 @lilypond[verbatim,ragged-right,quote]
 \new ChoirStaff
 \relative <<
- \new Staff { c1 c }
- \new Staff { c c }
 \new Staff { c1 c }
 \new Staff { c c }
 >>
 @end lilypond
 
@@ -1845,8 +1839,8 @@ s'agit de l'assemblage par défaut.
 
 @lilypond[verbatim,ragged-right,quote]
 \relative <<
- \new Staff { c1 c }
- \new Staff { c c }
 \new Staff { c1 c }
 \new Staff { c c }
 >>
 @end lilypond
 @end itemize
@@ -1896,10 +1890,8 @@ b b
 @end lilypond
 
 
-@c Does any French translator have any clue
-@c about how to tranlate this ?
 Cette manière de procéder peut Ãªtre utilisée pour introduire des
-qq{Ossias} dans des partitions Ã  portées discontinues @qq{à la française},
+@qq{ossias} dans des partitions Ã  nombre de portées variable,
 comme sur l'exemple suivant :
 
 @cindex ossia
@@ -1918,8 +1910,7 @@ Référence du programme : @internalsref{StaffSymbol}.
 D'autres exemples : @inputfileref{input/@/test,staff@/-lines@/.ly},
 @inputfileref{input/@/test@/,ossia.ly},
 @inputfileref{input/@/test,staff@/-size@/.ly},
-@inputfileref{input/@/regression,staff@/-line@/-positions@/.ly}.
-
+@lsr{staff,staff-line-positions.ly}
 
 @node Writing music in parallel
 @subsection Writing music in parallel
@@ -1931,14 +1922,14 @@ On peut Ã©crire plusieurs voix de façon entremêlée :
 
 @lilypond[quote,fragment,verbatim]
 \parallelMusic #'(voiceA voiceB) {
- r8     g'16[ c''] e''[ g' c'' e''] r8     g'16[ c''] e''[ g' c'' e''] |
- c'2                                c'2                                |
- r8     a'16[ d''] f''[ a' d'' f''] r8     a'16[ d''] f''[ a' d'' f''] |
- c'2                                c'2                                |
 r8     g'16[ c''] e''[ g' c'' e''] r8     g'16[ c''] e''[ g' c'' e''] |
 c'2                                c'2                                |
 r8     a'16[ d''] f''[ a' d'' f''] r8     a'16[ d''] f''[ a' d'' f''] |
 c'2                                c'2                                |
 }
 \new StaffGroup <<
- \new Staff \new Voice \voiceA
- \new Staff \new Voice \voiceB
 \new Staff \new Voice \voiceA
 \new Staff \new Voice \voiceB
 >>
 @end lilypond
 
@@ -1993,7 +1984,7 @@ deux manières de noter exactement la même idée :
 
 
 @lilypond[quote,fragment,ragged-right]
-\time 3/4 c'2.  c'2 ~ c'4
+\time 3/4 c'2. c'2 ~ c'4
 @end lilypond
 
 @noindent
@@ -2006,7 +1997,7 @@ ici :
 
 @lilypond[fragment,quote,ragged-right]
 \relative {
r8 c8 ~ c2 r4 | r8^"et non pas" c2 ~ c8 r4
 r8 c8 ~ c2 r4 | r8^"not" c2 ~ c8 r4
 }
 @end lilypond
 
@@ -2020,7 +2011,7 @@ de mesure.
 @funindex \repeatTie
 
 
-Lorsque l'indication "2." d'une reprise commence sur une note liée, la
+Lorsque l'indication @q{2.} d'une reprise commence sur une note liée, la
 liaison doit Ãªtre répétée. C'est Ã  cela que sert la commande
 @code{\repeatTie}.
 
@@ -2036,11 +2027,11 @@ r <c e g>\repeatTie
 
 Les liaisons de tenues servent parfois Ã  rendre un accord arpégé. Dans
 ce cas, les notes liées ne sont pas toutes l'une contre l'autre. Il
-faut alors définir comme vraie ("t" pour "true") la propriété
+faut alors définir comme vraie (@q{t} pour @q{true}) la propriété
 @code{tieWaitForNote}.  Cette même méthode peut servir, par exemple, Ã 
 lier un trémolo Ã  un accord :
 
-@lilypond[fragment,verbatim,relative=1,ragged-right]
+@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
 \set tieWaitForNote = ##t
 \grace { c16[~ e~ g]~ } <c, e g>2
 \repeat "tremolo" 8 { c32~ c'~ } <c c,>1
@@ -2071,11 +2062,6 @@ Dans ce même manuel : @ref{Automatic note splitting}.
 
 Référence du programme : @internalsref{Tie}.
 
-D'autres exemples :
-@inputfileref{input/@/regression,tie-arpeggio.ly}
-@inputfileref{input/@/regression,tie-manual.ly}
-
-
 
 
 @refbugs
@@ -2129,7 +2115,7 @@ des liaisons plus courtes, il faudra utiliser des @ref{Phrasing slurs}.
 
 Certains auteurs utilisent deux liaisons lorsqu'ils veulent
 lier des accords. Dans LilyPond, il faut pour cela définir comme
-vraie ("true") la propriété @code{doubleSlurs} :
+vraie (@q{true}) la propriété @code{doubleSlurs} :
 
 @lilypond[verbatim,ragged-right,relative,fragment,quote]
 \set doubleSlurs = ##t
@@ -2204,7 +2190,7 @@ Référence du programme : @internalsref{PhrasingSlur}.
 @cindex Ties, laissez vibrer
 
 
-Les liaisons de "Laissez Vibrer" (L.V.) sont utilisées pour
+Les liaisons @qq{Laissez vibrer} (L.V.) sont utilisées pour
 le piano, la harpe, et certains instruments de percussion.  Elles
 indiquent Ã  l'instrumentiste de laisser sonner la note au lieu de
 l'étouffer.  Cet effet s'obtient avec la commande
@@ -2221,22 +2207,20 @@ Référence du programme :
 @internalsref{LaissezVibrerTieColumn}
 
 D'autres exemples :
-@inputfileref{input/regression,laissez-vibrer-tie.ly}
-
+@lsr{connecting,laissez-vibrer-ties.ly}
 
 @node Automatic beams
 @subsection Automatic beams
 
 
-LilyPond décide lui-même de la manière de grouper les notes et
-d'imprimer les ligatures :
+LilyPond décide automatiquement de la manière de grouper les notes et
+d'imprimer les ligatures
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\time 2/4 c8 c c c \time 6/8 c c c c8.  c16 c8
+\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
 @end lilypond
 
-
-Cependant lorsque ces décisions ne sont pas satisfaisantes, il est
+Lorsque ces décisions ne sont pas satisfaisantes, il est
 possible de préciser quels groupements l'ont veut, ou même de définir
 des séquences de groupements en lieu et place des groupements
 par défaut. Voir @ref{Setting automatic beam behavior}
@@ -2272,7 +2256,7 @@ de mesure.  Le début et la fin de la ligature sont alors indiqués par
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
 {
- r4 r8[ g' a r8] r8 g[ | a] r8
 r4 r8[ g' a r8] r8 g[ | a] r8
 }
 @end lilypond
 
@@ -2292,11 +2276,11 @@ après quoi sa définition est effacée.
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
 {
-  f8[ r16
-     f g a]
-  f8[ r16
-  \set stemLeftBeamCount = #1
-     f g a]
+   f8[ r16
+      f g a]
+   f8[ r16
+   \set stemLeftBeamCount = #1
+      f g a]
 }
 @end lilypond
 
@@ -2321,10 +2305,9 @@ Pour plus d'information sur @code{make-moment}, voir
 
 Lorsqu'une ligature entre des notes franchit une barre de mesure,
 le retour Ã  la ligne est en principe interdit Ã  cet endroit.
-Ce comportement peut Ãªtre changé en définissant @code{allowBeamBreak}
-comme vrai.
+Ce comportement peut Ãªtre changé en définissant @code{breakable}.
 
-@funindex allowBeamBreak
+@funindex breakable
 @cindex beams and line breaks
 @cindex beams, kneed
 @cindex kneed beams
@@ -2396,23 +2379,23 @@ l'exemple ci-dessus en y ajoutant ces couples de nombres :
 
 @lilypond[quote,ragged-right]
 <<
- \relative c''{
-   c4 \grace c16 c4 \grace {
-   c16[ d16] } c2 c4
- }
- \new Lyrics \lyricmode {
-   \override LyricText #'font-family = #'typewriter
-
-   \markup { (0,0) } 4
-   \grace { \markup {
-     ( \fraction 1 4 , \fraction -1 16 ) } 16 }
-   \markup { (\fraction 1 4 , 0 ) } 4
-   \grace {
-     \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
-     \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
-   }
-   \markup { ( \fraction 2 4 , 0 ) }
- }
 \relative c''{
+    c4 \grace c16 c4 \grace {
+    c16[ d16] } c2 c4
 }
 \new Lyrics \lyricmode {
+    \override LyricText #'font-family = #'typewriter
+
+    \markup { (0,0) } 4
+    \grace { \markup {
+      ( \fraction 1 4 , \fraction -1 16 ) } 16 }
+    \markup { (\fraction 1 4 , 0 ) } 4
+    \grace {
+      \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
+      \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
+    }
+    \markup { ( \fraction 2 4 , 0 ) }
 }
 >>
 @end lilypond
 
@@ -2423,7 +2406,7 @@ pour chaque petite croche.
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
 << \new Staff { e4 \grace { c16[ d e f] } e4 }
-  \new Staff { c4 \grace { g8[ b] } c4 } >>
+   \new Staff { c4 \grace { g8[ b] } c4 } >>
 @end lilypond
 
 @funindex \afterGrace
@@ -2441,24 +2424,22 @@ c1 \afterGrace d1 { c16[ d] } c4
 
 Les petites notes se placent alors Ã  3/4 de la durée de la note
 réelle.  Cet espacement peut Ãªtre changé en définissant
-@code{afterGraceFraction} ; ainsi :
+@code{afterGraceFraction} ; ainsi,
 
 @example
 afterGraceFraction = #(cons 7 8)
 @end example
 
 @noindent
-
-placera la petite note Ã  7/8èmes de la note réelle.
-
+placera la petite note Ã  7/8 de la note réelle.
 
 On peut obtenir le même effet manuellement, de la façon suivante :
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Voice {
- << { d1^\trill_( }
-    { s2 \grace { c16[ d] } } >>
- c4)
 << { d1^\trill_( }
+     { s2 \grace { c16[ d] } } >>
 c4)
 }
 @end lilypond
 
@@ -2476,17 +2457,16 @@ introduite par @code{\grace} :
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Voice {
- \acciaccatura {
-   \stemDown
-   f16->
-   \stemNeutral
- }
- g4
 \acciaccatura {
+    \stemDown
+    f16->
+    \stemNeutral
 }
 g4
 }
 @end lilypond
 
 @noindent
-
 Tous les réglages ajoutés doivent Ã©galement Ãªtre désactivés dans cette
 même section.
 
@@ -2519,24 +2499,23 @@ s'appliquer dans d'autres situations en définissant
 @commonprop
 
 
-Les petites notes peuvent Ãªtre obligées Ã  s'espacer
-de manière fluctuante.
+Il est possible de forcer un espacement fluctuant des notes d'agrément.
 
 @lilypond[relative=2,ragged-right]
 <<
- \override Score.SpacingSpanner #'strict-grace-spacing = ##t
- \new Staff {
-    c'4
-    \afterGrace
-    c'4
-    { c'16[ c'8 c'16] }
-    c'4
- }
- \new Staff {
-    c'16[ c'16 c'16 c'16]
-    c'16[ c'16 c'16 c'16]
-    c'4
- }
 \override Score.SpacingSpanner #'strict-grace-spacing = ##t
 \new Staff {
+     c'4
+     \afterGrace
+     c'4
+     { c'16[ c'8 c'16] }
+     c'4
+  }  
 \new Staff {
+     c'16[ c'16 c'16 c'16]
+     c'16[ c'16 c'16 c'16]
+     c'4
 }
 >>
 @end lilypond
 
@@ -2548,7 +2527,6 @@ Référence du programme : @internalsref{GraceMusic}.
 
 @refbugs
 
-
 Une partition commençant par une section @code{\grace} doit faire
 intervenir la commande @code{\new Voice}, sans quoi la note réelle et
 la petite note se retrouveront sur des portées différentes.
@@ -2561,7 +2539,7 @@ mélez des portées comprenant des petites notes et d'autres sans :
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
 << \new Staff { e4 \bar "|:" \grace c16 d4 }
-  \new Staff { c4 \bar "|:" d4 } >>
+   \new Staff { c4 \bar "|:" d4 } >>
 @end lilypond
 
 @noindent
@@ -2730,7 +2708,7 @@ c^\markup { \finger "2 - 3" }
 
 La commande @{\thumb} peut Ãªtre utilisée pour indiquer, par exemple
 dans une partition de violoncelle, si une note doit Ãªtre jouée
-avec le pouce (en anglais "thumb") :
+avec le pouce (@q{thumb} en anglais) :
 
 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
 <a_\thumb a'-3>8 <b_\thumb b'-3>
@@ -2771,7 +2749,7 @@ d'indiquer des doigtés très proches des têtes de notes.
 
 Référence du programme : @internalsref{Fingering}.
 
-D'autres exemples : @inputfileref{input/@/regression,finger@/-chords@/.ly}.
+D'autres exemples : @lsr{expressive,fingering-chords.ly}.
 
 
 @node Dynamics
@@ -2839,10 +2817,10 @@ en définissant comme fausse (lettre @q{f}) la propriété
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \set hairpinToBarline = ##f
-c4\< c2.  c4\!
+c4\< c2. c4\!
 @end lilypond
 
-
+@c VERIF sens de soufflet
 On peut avoir recours Ã  l'indication @code{\espressivo} pour
 indiquer un @qq{soufflet} --- crescendo puis decrescendo --- sur
 une seule note.
@@ -2867,7 +2845,7 @@ l'objet affecté. Par exemple :
 
 
 Des crescendos ou decrescendos @qq{al niente} peuvent Ãªtre indiqués
-de manière graphique, en définissant comme vraie (lettre "t") la
+de manière graphique, en définissant comme vraie (lettre @q{t}) la
 propriété  @code{circled-tip}, ce qui affiche un cercle Ã  leur
 extrémité.
 
@@ -2901,7 +2879,7 @@ e\> d c b\!
 On peut même ajouter ses propres indications textuelles :
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-\set crescendoText = \markup { \italic "cresc.  poco" }
+\set crescendoText = \markup { \italic "cresc. poco" }
 \set crescendoSpanner = #'dashed-line
 a'2\< a a a\!\mf
 @end lilypond
@@ -2986,7 +2964,7 @@ Par exemple :
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
 c'4
 \override BreathingSign #'text
- = #(make-musicglyph-markup "scripts.rvarcomma")
 = #(make-musicglyph-markup "scripts.rvarcomma")
 \breathe
 d4
 @end lilypond
@@ -3010,9 +2988,9 @@ Les trilles plus longs sont délimités par @code{\startTrillSpan} et
 
 @lilypond[verbatim,ragged-right,relative=2,quote,fragment]
 \new Voice {
- << { c1 \startTrillSpan }
-    { s2.  \grace { d16[\stopTrillSpan e] } } >>
- c4 }
 << { c1 \startTrillSpan }
+     { s2. \grace { d16[\stopTrillSpan e] } } >>
 c4 }
 @end lilypond
 
 @cindex Pitched trills
@@ -3052,9 +3030,9 @@ Référence du programme : @internalsref{TrillSpanner}.
 
 
 Un glissando relie une hauteur Ã  une autre en passant par chaque
-hauteur intermédiaire.  Il est indiqué graphiquement, par une ligne
-ou des vaguelettes entre ces deux notes. On l'obtient en
-accolant la commande @code{\glissando} Ã  la première note.
+hauteur intermédiaire.  Il est indiqué graphiquement, par une ligne ou
+des vaguelettes entre ces deux notes. On l'obtient en accolant la
+commande @code{\glissando} Ã  la première note.
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 c2\glissando c'
@@ -3067,7 +3045,7 @@ c2\glissando c,
 
 Référence du programme : @internalsref{Glissando}.
 
-D'autres exemples : @file{input/@/regression/@/glissando@/.ly}.
+D'autres exemples : @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}.
 
 
 @refbugs
@@ -3101,22 +3079,21 @@ arpégé, on peut remplacer ce signe par un crochet :
 @end lilypond
 
 
-Le sens de l'arpège est parfois indiqué, par une flêche suivant la
+Le sens de l'arpège est parfois indiqué, par une flèche suivant la
 vaguelette :
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
 \new Voice {
- \arpeggioUp
- <c e g c>\arpeggio
- \arpeggioDown
- <c e g c>\arpeggio
 \arpeggioUp
 <c e g c>\arpeggio
 \arpeggioDown
 <c e g c>\arpeggio
 }
 @end lilypond
 
 
 @commonprop
 
-
 Quand un arpège se lit sur plusieurs portées, il est possible
 d'indiquer l'arpège sur chacune des portées, puis de relier la
 ligne de vaguelettes en définissant comme vraie la propriété
@@ -3125,9 +3102,9 @@ ligne de vaguelettes en définissant comme vraie la propriété
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
 \new PianoStaff <<
- \set PianoStaff.connectArpeggios = ##t
- \new Staff { <c' e g c>\arpeggio }
- \new Staff { \clef bass <c,, e g>\arpeggio }
 \set PianoStaff.connectArpeggios = ##t
 \new Staff { <c' e g c>\arpeggio }
 \new Staff { \clef bass <c,, e g>\arpeggio }
 >>
 @end lilypond
 
@@ -3155,8 +3132,7 @@ Référence du programme : @internalsref{Arpeggio}.
 
 @refbugs
 
-
-Il est impossible de méler au même moment, dans un contexte
+Il est impossible de mêler au même moment, dans un contexte
 @internalsref{PianoStaff}, des lignes d'arpèges
 connectées et d'autres non connectées.
 
@@ -3220,8 +3196,8 @@ Pour réaliser des trémolos.  Ceux-ci, par défaut, ne seront pas
 joués dans le rendu MIDI.
 
 @item percent
-Pour répéter des temps ou des mesures, sous forme de signes 
-"pourcentage".  Ceux-ci, par défaut, ne seront pas joués dans le rendu
+Pour répéter des temps ou des mesures, sous forme de signes de
+pourcentage.  Ceux-ci, par défaut, ne seront pas joués dans le rendu
 MIDI.  Les répétitions indiquées par ces symboles doivent Ãªtre
 déclarées dans un contexte @code{Voice}.
 
@@ -3287,9 +3263,9 @@ au début de l'exemple.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Staff {
- \partial 4
- \repeat volta 4 { e | c2 d2 | e2 f2 | }
- \alternative { { g4 g g } { a | a a a a | b2. } }
 \partial 4
 \repeat volta 4 { e | c2 d2 | e2 f2 | }
 \alternative { { g4 g g } { a | a a a a | b2. } }
 }
 @end lilypond
 
@@ -3310,12 +3286,12 @@ l'exemple suivant, le crochet ne se prolonge que sur une mesure
 
 @lilypond[verbatim,ragged-right,quote]
 \relative c''{
- \time 3/4
- c c c
- \set Staff.voltaSpannerDuration = #(ly:make-moment 3 4)
- \repeat "volta" 5 { d d d }
- \alternative { { e e e f f f }
- { g g g } }
 \time 3/4
 c c c
 \set Staff.voltaSpannerDuration = #(ly:make-moment 3 4)
 \repeat "volta" 5 { d d d }
 \alternative { { e e e f f f }
 { g g g } }
 }
 @end lilypond
 
@@ -3324,17 +3300,16 @@ l'exemple suivant, le crochet ne se prolonge que sur une mesure
 
 D'autres exemples :
 
-
 Les crochets précédant une reprise s'impriment d'ordinaire
 seulement au-dessus de la portée du haut.  On peut ajuster cela
-en définissant la propriété @code{voltaOnThisStaff} : voir @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly}.
-
+en définissant la propriété @code{voltaOnThisStaff} : voir
+@lsr{repeats,volta@/-multi@/-staff@/.ly}
 
 @refbugs
 
 @cindex repeat, ambiguous
 
-Des reprises enchâssées telles que :
+Des reprises enchassées telles que
 
 @example
 \repeat @dots{}
@@ -3367,7 +3342,6 @@ verticalement.
 @cindex expanding repeats
 @funindex \unfoldRepeats
 
-
 Au prix de quelques réglages, les reprises de toutes sortes peuvent
 Ãªtre rendues dans le fichier MIDI.  Il suffit pour cela d'avoir
 recours Ã  la fonction @code{\unfoldRepeats}, qui rend toutes les
@@ -3376,13 +3350,13 @@ reprises explicites --- comme celles du type @code{unfold}.
 
 @lilypond[quote,verbatim,fragment,line-width=8.0\cm]
 \unfoldRepeats {
- \repeat tremolo 8 {c'32 e' }
- \repeat percent 2 { c''8 d'' }
- \repeat volta 2 {c'4 d' e' f'}
- \alternative {
-   { g' a' a' g' }
-   {f' e' d' c' }
- }
 \repeat tremolo 8 {c'32 e' }
 \repeat percent 2 { c''8 d'' }
 \repeat volta 2 {c'4 d' e' f'}
 \alternative {
+    { g' a' a' g' }
+    {f' e' d' c' }
 }
 }
 \bar "|."
 @end lilypond
@@ -3392,15 +3366,15 @@ Lorsque l'on veut utiliser @code{\unfoldRepeats} seulement pour
 le rendu MIDI, il faut Ã©tablir deux blocs @code{\score} : un pour le 
 MIDI, avec des reprises explicites, et l'autre pour la partition, avec
 des reprises notées sous forme de barres de reprises, de trémolos ou
-de symboles "pourcentage".  Par exemple :
+de symboles de pourcentage.  Par exemple
 
 @example
 \score @{
- @var{..music..}
+ @var{..musique..}
  \layout @{ ..  @}
 @}
 \score @{
- \unfoldRepeats @var{..music..}
+ \unfoldRepeats @var{..musique..}
  \midi @{ ..  @}
 @}
 @end example
@@ -3438,9 +3412,9 @@ Pour terminer un crochet indiquant une alternative.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 c4
- \set Score.repeatCommands = #'((volta "93") end-repeat)
 \set Score.repeatCommands = #'((volta "93") end-repeat)
 c4 c4
- \set Score.repeatCommands = #'((volta #f))
 \set Score.repeatCommands = #'((volta #f))
 c4 c4
 @end lilypond
 
@@ -3464,9 +3438,9 @@ On peut placer une notation de trémolo entre deux notes, avec la
 commande @code{\repeat} suivie du style de trémolo désiré :
 @lilypond[quote,verbatim,ragged-right]
 \new Voice \relative c' {
- \repeat "tremolo" 8 { c16 d16 }
- \repeat "tremolo" 4 { c16 d16 }
- \repeat "tremolo" 2 { c16 d16 }
 \repeat "tremolo" 8 { c16 d16 }
 \repeat "tremolo" 4 { c16 d16 }
 \repeat "tremolo" 2 { c16 d16 }
 }
 @end lilypond
 
@@ -3489,9 +3463,6 @@ Dans ce manuel : @ref{Tremolo subdivisions}, @ref{Repeats}.
 
 Référence du programme : @internalsref{Beam}, @internalsref{StemTremolo}.
 
-D'autres exemples : @inputfileref{input/@/regression,chord@/-tremolo@/.ly},
-@inputfileref{input/@/regression,stem@/-tremolo@/.ly}.
-
 
 @node Tremolo subdivisions
 @subsection Tremolo subdivisions
@@ -3516,17 +3487,15 @@ c'2:8 c':32 | c': c': |
 
 @refbugs
 
-
 Les trémolos entrés de cette manière ne sont pas rendus dans
 le fichier MIDI.
 
 
 @seealso
 
+Dans ce manuel : @ref{Tremolo repeats}.
 
-Dans ce même Manuel : @ref{Tremolo repeats}.
-
-Autre part : @internalsref{StemTremolo}.
+Référence du programme : @internalsref{StemTremolo}.
 
 
 @node Measure repeats
@@ -3535,7 +3504,6 @@ Autre part : @internalsref{StemTremolo}.
 @cindex percent repeats
 @cindex measure repeats
 
-
 Le style de reprises @code{percent} sert Ã  répéter une 
 séquence de notes.  Elle sera imprimée une fois, puis remplacée par
 un symbole spécial.  Les séquences d'une ou deux mesures sont
@@ -3545,36 +3513,32 @@ une barre oblique.  Toutes ces répétitions doivent Ãªtre déclarées dans un c
 
 @lilypond[quote,verbatim,ragged-right]
 \new Voice \relative c' {
- \repeat "percent" 4 { c4 }
- \repeat "percent" 2 { c2 es2 f4 fis4 g4 c4 }
 \repeat "percent" 4 { c4 }
 \repeat "percent" 2 { c2 es2 f4 fis4 g4 c4 }
 }
 @end lilypond
 
-
 Les répétitions de plus de 2 mesures sont surmontées d'un compteur,
-si l'on définit comme vraie (lettre "t") la propriété
+si l'on définit comme vraie (lettre @q{t}) la propriété
 @code{countPercentRepeats}.
 
 @lilypond[relative=2,fragment,quote,verbatim,ragged-right]
 \new Voice {
 \set countPercentRepeats = ##t
- \repeat "percent" 4 { c1 }
 \repeat "percent" 4 { c1 }
 }
 @end lilypond
 
-
-Des symboles de pourcentage isolés peuvent aussi Ãªtre obtenus, au moyen d'un silence multi-mesures dont on modifie l'aspect :
-
+Des symboles de pourcentage isolés peuvent aussi Ãªtre obtenus, au
+moyen d'un silence multi-mesures dont on modifie l'aspect :
 
 @lilypond[fragment,verbatim,quote]
 \override MultiMeasureRest #'stencil
- = #ly:multi-measure-rest::percent
 = #ly:multi-measure-rest::percent
 R1
 @end lilypond
 
 
-
-
 @seealso
 
 Référence du programme : @internalsref{RepeatSlash},
index 15345c1a601edf2c714963b40c74259ec24afe53..dc92c26f357ceb848107a9000df52d05d8459b20 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Changing defaults
 @chapter Changing defaults
 
@@ -49,9 +51,8 @@ UNTRANSLATED NODE: IGNORE ME
 * Layout tunings within contexts::
 * Changing context default settings::
 * Defining new contexts::
-* Aligning contexts::           
+* Aligning contexts::
 @end menu 
-
 @node Contexts explained
 @subsection Contexts explained
 
@@ -141,3 +142,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 0e1c151288bb2ee0a2929c0bd8b3243e284c6fcf..ffea26473ed8f60bbe5160d2fa06cf93df370ac7 100644 (file)
@@ -1,14 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Cheat sheet
 @appendix Cheat sheet
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 93a51dbe276322cc66b32f7220479a5aad291dd3..563d69e0d16798d3639bc9dca282e19d20d53824 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0d9d3feea8ca1b22388bd1c67545a518987e72f1
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Converting from other formats
 @chapter Converting from other formats
 
@@ -44,3 +46,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
diff --git a/Documentation/fr/user/dedication.itely b/Documentation/fr/user/dedication.itely
new file mode 100644 (file)
index 0000000..285b005
--- /dev/null
@@ -0,0 +1,16 @@
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+@c This file is part of lilypond.tely
+@ignore
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+
+@quotation
+Nous souhaitons dédier ce programme Ã  tous les amis que nous avons
+rencontrés par la musique.
+
+Han-Wen et Jan
+@end quotation
index 46ce66be5769e7d66aa74dee2bce7ccd2cc36656..178e14cc25821c7c38665383584957032ecf0c4d 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Instrument-specific notation
 @chapter Instrument-specific notation
 
@@ -179,6 +181,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@subsubsection Adding stanza numbers 
+@subsubsection Adding dynamics marks
+@subsubsection Adding singer names
+@subsubsection Printing stanzas at the end 
+@subsubsection Printing stanzas at the end in multiple columns 
 @node Ambitus
 @subsection Ambitus
 
@@ -406,3 +413,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 6a80897383732f75f25cf5fde50637c78f88d6a5..9ef3d7b936692c4ab3362f35c018e5df3522dddb 100644 (file)
@@ -1,7 +1,7 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 94e27fe2da58c91791e1cacb32c16a4acccf0638
+    Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -835,7 +835,7 @@ instruments MIDI, les noms de couleur, et la police Feta.
 Les
 @emph{@ref{Templates}}
 de pièces LilyPond.  Copiez et collez un modèle
-dans un fichier, ajouter les notes, et c'est prêt!
+dans un fichier, ajouter les notes, et c'est prêt !
 
 @item
 La
index 5f740da1ab0384d53ee84fe250cc302c62196ae8..5ca700307768e8fee7d32e88b585ad182982d604 100644 (file)
@@ -1,14 +1,16 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node LilyPond-book
-@chapter @command{lilypond-book}: Integrating text and music
+@chapter 
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -22,7 +24,7 @@ UNTRANSLATED NODE: IGNORE ME
 * Invoking lilypond-book::
 * Filename extensions::
 * Many quotes of a large score::
-* Inserting LilyPond output into OpenOffice.org::  
+* Inserting LilyPond output into OpenOffice.org::
 * Inserting LilyPond output into other programs::
 @end menu 
 @node An example of a musicological document
@@ -84,3 +86,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index b173f38eed6cba81f1e99fd61ae2aee80fbfad79..7f8bee9e277670927008a3a5dd0bc43da4744f07 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -72,7 +72,7 @@ Free Documentation License''.
 @ifnottex
 Ce fichier documente GNU LilyPond.
 
-Copyright @copyright{} 1999--2006 by the authors
+Copyright @copyright{} 1999--2007 par les auteurs
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -90,7 +90,7 @@ Free Documentation License''.
 @top GNU LilyPond --- The music typesetter
 @c HJJ: Info needs `@top', which is a synonym for `@unnumbered' in TeX.
 
-Ce document est le manuel de l'utilisateur pour GNU LilyPond 2.10.x.
+Ce document est le manuel de l'utilisateur pour GNU LilyPond 2.11.x.
 @ifhtml
 (Allez au bas de la page pour voir le numéro de version exact).
 @end ifhtml
@@ -102,9 +102,7 @@ Vous pouvez obtenir plus d'informations sur
 @uref{http://@/www@/.lilypond@/.org/}. Ce site contient des copies en
 ligne de ce manuel, ainsi qu'une documentation supplémentaire.
 
-@ignore
 @include dedication.itely
-@end ignore
 
 @menu
 Manuel d'apprentissage
@@ -119,7 +117,7 @@ Manuel d'apprentissage
 Manuel de référence
 
 * Basic notation::                 notation musicale standard.
-* Instrument-specific notation::   notation spécifique Ã  un instrument.
+* Instrument-specific notation::   notation spécifique Ã  des instruments.
 * Advanced notation::              notation plus rarement utilisée.
 * Changing defaults::              retoucher la mise en forme.
 * Non-musical notation::           aspects autres que la notation musicale.
@@ -137,7 +135,7 @@ Annexes
 * Literature list::                ouvrages de référence sur la notation musicale.
 * Scheme tutorial::                programmer au sein de LilyPond.
 * Notation manual tables::         tables et diagrammes.
-* Example templates::              modèles prêts Ã  l'emploi.
+* Templates::                      modèles prêts Ã  l'emploi.
 * Cheat sheet::                    résumé de la syntaxe de LilyPond.
 * GNU Free Documentation License:: licence de ce document.
 * LilyPond command index::
index 5a5a0434692ad8802eda974ffa8d4375caf8114c..2310ba4ae5eb33b0c01b876d8c8bbf82c6daeff7 100644 (file)
@@ -1,14 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Literature list
 @appendix Literature list
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 85c21564a254b5dd1027c13a80ef458626d232d3..09b2a422c00593ac498f4b34164cb9feb5c2ef17 100644 (file)
@@ -1,5 +1,19 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 
+@c FIXME: rearranged this file; macros that don't depend on the output
+@c format should go at the beginning.  -gp
+
+@c in retrospect this is _not_ one of the output-insensitive macros.
+@c I'll fix it soon.
+@c usage: @lsr{ancient,custodes.ly}
+@macro lsr{DIR,NAME}
+@uref{source/input/lsr/\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}
+@end macro
+
+@macro lsrdir{DIR}
+@uref{source/input/lsr/\DIR\/collated-files.html,@file{\DIR\}}
+@end macro
+
 @ifnottex
   @macro texisharp {word}
   #
index 9e28ccf00fa9751ea1b74cc385f4d3999ae793e3..eb4e5e979c55c237de0e036d7c597174fb42e4dd 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Non-musical notation
 @chapter Non-musical notation
 
@@ -26,10 +28,10 @@ UNTRANSLATED NODE: IGNORE ME
 
 @menu 
 * File structure (introduction)::
-* Multiple scores in a book::
-* Extracting fragments of notation::
 * File structure::
 * A single music expression::
+* Multiple scores in a book::
+* Extracting fragments of notation::
 * Including LilyPond files::
 * Text encoding::
 @end menu 
@@ -38,23 +40,23 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Multiple scores in a book
-@subsection Multiple scores in a book
+@node File structure
+@subsection File structure
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Extracting fragments of notation
-@subsection Extracting fragments of notation
+@node A single music expression
+@subsection A single music expression
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node File structure
-@subsection File structure
+@node Multiple scores in a book
+@subsection Multiple scores in a book
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node A single music expression
-@subsection A single music expression
+@node Extracting fragments of notation
+@subsection Extracting fragments of notation
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -122,3 +124,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index e47578ee5417df6d29f06bdb18b7157017fcd7a5..12686a0509f092000cc87f1c45dd89c5d3b9fe1a 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Notation manual tables
 @appendix Notation manual tables
 
@@ -17,6 +19,7 @@ UNTRANSLATED NODE: IGNORE ME
 * MIDI instruments::
 * List of colors::
 * The Feta font::
+* Note head styles::
 @end menu 
 @node Chord name chart
 @appendixsec Chord name chart
@@ -43,3 +46,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Note head styles
+@appendixsec Note head styles
+
+UNTRANSLATED NODE: IGNORE ME
+
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 802ba619df42947e9238912dc847cc0fb0c53576..c6d86f668fc927f12fe8e66c4e2f6c52b49db2ae 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
     Translation of GIT committish: a9d6b9a317e20cff479f9e0e54320dfae40bde31
index 27ae074aa0b431021117ce227f08ee3d545161f7..98f9e317071271a9727448a5f41036cd103e634a 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Interfaces for programmers
 @chapter Interfaces for programmers
 
@@ -32,6 +34,7 @@ UNTRANSLATED NODE: IGNORE ME
 * Mathematics in functions::
 * Void functions::
 * Functions without arguments::
+* Overview of available music functions::
 @end menu 
 @node Overview of music functions
 @subsection Overview of music functions
@@ -63,6 +66,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Overview of available music functions
+@subsection Overview of available music functions
+
+UNTRANSLATED NODE: IGNORE ME
+
+@include identifiers.tely
 @node Programmer interfaces
 @section Programmer interfaces
 
@@ -162,3 +171,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 4a305cbee6030f8337b63161bda1444206ccb98d..21ee3605bb9e42f441957aefef9f3accd57cab08 100644 (file)
@@ -1,7 +1,7 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
+    Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -11,7 +11,7 @@
 @chapter Putting it all together
 
 Ce chapitre traite des principes généraux de LilyPond, et de
-la manière de créer des blocs @code{\score} @footnote{Le terme @qq{score} signifie partition en anglais.}.
+la manière de créer des blocs @code{\score} @footnote{Le terme @q{score} signifie partition en anglais.}.
 
 
 @menu
@@ -31,11 +31,11 @@ beau, mais que faire quand ils ne traitent pas ce que l'on veut précisément ?
 
 Commencez par le modèle qui vous semblera le plus proche de ce Ã  quoi
 vous voulez aboutir.  Disons par exemple que vous voulez Ã©crire une pièce
-pour soprano et violoncelle : dans ce cas l'on pourrait commencer par
-@qq{Notes and lyrics}, pour la partie de soprano.
+pour soprano et violoncelle : dans ce cas l'on pourrait commencer par les
+@qq{notes et paroles}, pour la partie de soprano.
 
 @example
-\version "2.10.10"
+\version "2.11.20"
 melodie = \relative c' @{
   \clef treble
   \key c \major
@@ -62,10 +62,10 @@ texte = \lyricmode @{
 @end example
 
 Maintenant, on veut ajouter une partie de violoncelle.
-Jetons un coup d'oeil sur l'exemple @qq{Notes only} :
+Jetons un coup d'oeil sur l'exemple avec les notes seules :
 
 @example
-\version "2.10.10"
+\version "2.11.20"
 melodie = \relative c' @{
   \clef treble
   \key c \major
@@ -84,7 +84,7 @@ melodie = \relative c' @{
 
 On n'a pas besoin de deux commandes @code{\version}.  Ce dont on a besoin,
 c'est la section @code{melodie}. De même, on n'a pas besoin de deux sections
-@code{\score} -- si nous les gardions toutes les deux, on obtiendrait deux
+@code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
 parties séparées ; mais nous voulons un vrai duo, avec les deux parties ensemble.
 Dans la section @code{\score}, on n'a pas besoin non plus de deux @code{\layout}
 ou de deux @code{\midi}.
@@ -102,7 +102,7 @@ Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de Fa, comme
 le veut l'usage, et donnons-lui d'autres notes.
 
 @example
-\version "2.10.10"
+\version "2.11.20"
 musiqueSoprano = \relative c' @{
   \clef treble
   \key c \major
@@ -137,7 +137,7 @@ musiqueVioloncelle = \relative c @{
 @end example
 
 Voilà qui est mieux, mais la partie de violoncelle n'apparaît pas sur
-la partition -- en effet, nous ne l'avons pas utilisée dans la section
+la partition --- en effet, nous ne l'avons pas utilisée dans la section
 @code{\score}.  Si l'on veut que la partie de violoncelle s'imprime sous
 la partie de soprano, on va devoir ajouter :
 
@@ -148,9 +148,8 @@ la partie de soprano, on va devoir ajouter :
 @noindent
 en dessous de tout ce qui concerne la soprano.  Il nous faut Ã©galement
 encadrer la musique par des @code{<<} et @code{>>}, qui feront comprendre
-à LilyPond que plusieurs Ã©vènements -- ici, des objets @code{Staff} --
+à LilyPond que plusieurs Ã©vènements --- ici, des objets @code{Staff} ---
 se déroulent en même temps.  Le bloc @code{\score} ressemble maintenant Ã 
-ceci :
 
 @example
 \score@{
@@ -175,8 +174,8 @@ mettre un peu d'ordre dans l'indentation.  Voici le modèle pour
 soprano et violoncelle au complet :
 
 @lilypond[quote,verbatim,ragged-right]
-\version "2.10.10"
-musiqueSoprano = \relative c' {
+\version "2.11.15"
+sopranoMusic = \relative c' {
   \clef treble
   \key c \major
   \time 4/4
@@ -184,11 +183,11 @@ musiqueSoprano = \relative c' {
   a4 b c d
 }
 
-parolesSoprano = \lyricmode {
-  Laaa Siii Dooo Rééé
+sopranoLyrics = \lyricmode {
+  Aaa Bee Cee Dee
 }
 
-musiqueVioloncelle = \relative c {
+celloMusic = \relative c {
   \clef bass
   \key c \major
   \time 4/4
@@ -199,13 +198,13 @@ musiqueVioloncelle = \relative c {
 \score{
   <<
     <<
-      \new Voice = "voixUn" {
+      \new Voice = "one" {
         \autoBeamOff
-        \musiqueSoprano
+        \sopranoMusic
       }
-      \new Lyrics \lyricsto "voixUn" \parolesSoprano
+      \new Lyrics \lyricsto "one" \sopranoLyrics
     >>
-    \new Staff \musiqueVioloncelle
+    \new Staff \celloMusic
   >>
   \layout { }
   \midi { }
@@ -226,7 +225,7 @@ sommairement l'organisation du code LilyPond, en privilégiant
 la simplicité au détriment de certains détails.  Vous trouverez une
 description plus complète dans @ref{File structure}.
 
-La plupart des exemples de ce manuel sont de courts fragments, par exemple :
+La plupart des exemples de ce manuel sont de courts fragments, par exemple
 
 @example
 c4 a b c
@@ -244,10 +243,10 @@ exemples complets ; pour pouvoir Ãªtre traitées, elles doivent au moins
 @end example
 
 La plupart des exemples font aussi intervenir la commande
-@code{\relative}, suivie de @code{c'} ou @code{c''}.  Elle
-n'est pas Ã  proprement parler nécessaire pour le traitement
-des exemples, mais dans la plupart des cas le résultat sera 
-vraiment déplorable si vous l'oubliez.
+@code{\relative}, suivie de @code{c'} ou @code{c''}.  Elle n'est pas Ã 
+proprement parler nécessaire pour le traitement des exemples, mais
+dans la plupart des cas le résultat sera vraiment déplorable si vous
+l'oubliez.
 
 @lilypond[quote,fragment,ragged-right,verbatim]
 \relative c'' {
@@ -255,10 +254,9 @@ vraiment déplorable si vous l'oubliez.
 }
 @end lilypond
 
-C'est ici que nous entamons les choses sérieuses :
-le code LilyPond, sous cette forme, est en réalité
-un @emph{autre} raccourci. Même s'il est traité sans
-problème, et aboutit au bon résultat, c'est une forme
+C'est ici que nous entamons les choses sérieuses : le code LilyPond,
+sous cette forme, est en réalité un @emph{autre} raccourci. Même s'il
+est traité sans problème, et aboutit au bon résultat, c'est une forme
 abrégée de :
 
 @example
@@ -269,15 +267,14 @@ abrégée de :
 @}
 @end example
 
-Un bloc @code{\score} doit commencer par une et une seule
-expression musicale. Rappelez-vous que cette expression
-peut Ãªtre ce que vous voulez, entre une note toute seule et
-un gigantesque 
+Un bloc @code{\score} doit commencer par une et une seule expression
+musicale. Rappelez-vous que cette expression peut Ãªtre ce que vous
+voulez, d'une note toute seule Ã  un gigantesque
 
 @example
 @{
   \new GrandStaff <<
-    collez ici la partition complète de votre opéra Wagnérien préféré
+    collez ici la partition complète de votre opéra de Wagner préféré
   >>
 @}
 @end example
@@ -286,7 +283,7 @@ un gigantesque
 Dès lors que tout cela est entre accolades : @code{@{ ... @}}, c'est
 une et une seule expression musicale.
 
-Le bloc @code{\score} peut contenir d'autres Ã©léments, tels que :
+Le bloc @code{\score} peut contenir d'autres Ã©léments, tels que
 
 @example
 \score @{
@@ -299,7 +296,7 @@ Le bloc @code{\score} peut contenir d'autres Ã©léments, tels que :
 
 @noindent
 Certains préfèrent mettre ces commandes en dehors du bloc 
-@code{\score} -- par exemple, on met souvent le @code{\header}
+@code{\score} --- par exemple, on met souvent le @code{\header}
 au-dessus. C'est juste là une autre forme abrégée que LilyPond
 accepte.
 
@@ -307,7 +304,7 @@ accepte.
 @cindex indentifiers
 
 Une autre abréviation pratique est la possibilité de définir
-des variables -- Ã©galement appelées "identificateurs". Dans tous
+des variables --- Ã©galement appelées @qq{identificateurs}. Dans tous
 les modèles, vous trouverez :
 
 @example
@@ -320,15 +317,15 @@ melodie = \relative c' @{
 @}
 @end example
 
-Lorsque LilyPond examinera ce fichier, il va prendre la
-valeur de la variable @{melodie}, c'est-à-dire tout ce qui suit
-le signe @code{=}, et l'insérer partout où il tombera sur
-@code{\melodie}.  Vous Ãªtes libre de choisir comment dénommer
-vos variables@footnote{Les noms de variables sont sensibles aux capitales
-et minuscules, et ne peuvent contenir ni chiffres, ni tirets,
-ni caractères accentués.} ; ce peut Ãªtre @code{melodie}, @code{global},
-@code{maindroitepiano}, ou @code{laTeteAToto}.  Pour plus de détails,
-voir @ref{Saving typing with identifiers and functions}.
+Lorsque LilyPond examinera ce fichier, il va prendre la valeur de la
+variable @{melodie}, c'est-à-dire tout ce qui suit le signe @code{=},
+et l'insérer partout où il tombera sur @code{\melodie}.  Vous Ãªtes
+libre de choisir comment dénommer vos variables@footnote{Les noms de
+variables sont sensibles Ã  la casse, et ne peuvent contenir ni
+chiffres, ni tirets, ni caractères accentués.} ; ce peut Ãªtre
+@code{melodie}, @code{global}, @code{maindroitepiano}, ou
+@code{laTeteAToto}.  Pour plus de détails, voir @ref{Saving typing
+with identifiers and functions}.
 
 Pour une description complète du format des fichiers d'entrée, voir 
 @ref{File structure}.
@@ -355,7 +352,7 @@ expression musicale.}
 Peut-être serait-il judicieux de relire la section
 @ref{Music expressions explained}, dans laquelle vous avez
 appris Ã  construire de grandes expressions musicales petit bout
-par petit bout -- nous avons vu les notes, puis les accords, etc.
+par petit bout --- nous avons vu les notes, puis les accords, etc.
 Maintenant, nous allons partir d'une grande expression musicale,
 et redescendre la pente.
 
@@ -363,16 +360,16 @@ et redescendre la pente.
 \score @{
   @{   % cette accolade marque le début de l'expression musicale
     \new GrandStaff <<
-    insérez ici votre opéra Wagnérien préféré
+    insérez ici votre opéra de Wagner préféré
     >>
   @}   % cette accolade marque la fin de l'expression musicale
   \layout @{ @}
 @}
 @end example
 
-Un opéra de Wagner multiplierait aisément la longueur de ce manuel
-par deux ou trois, alors faisons Ã§a en version chant/piano.  On n'a
-plus besoin d'une partition d'orchestre -- @code{GrandStaff} -- donc
+Un opéra de Wagner multiplierait facilement la longueur de ce manuel
+par deux ou trois, alors faisons-le en version chant/piano.  On n'a
+plus besoin d'une partition d'orchestre --- @code{GrandStaff} --- donc
 laissons cela de côté.  Par contre, un chanteur et un piano
 @emph{pourraient} nous Ãªtre utiles.
 
@@ -413,19 +410,19 @@ soient imprimés ensemble...
 @}
 @end example
 
-On y voit nettement plus clair maintenant.  Nous voici
-donc avec la partie du chanteur, qui contient un ensemble
-@code{Voice}, ce qui dans LilyPond correspond Ã  une voix, au
-sens de vois musicale, pas forcément chantée donc (ce pourrait Ãªtre
-une partie de violon par exemple). 
+On y voit nettement plus clair maintenant.  Nous voici donc avec la
+partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
+LilyPond correspond Ã  une voix, au sens de voix d'une polyphonie plutôt que
+de voix chantée --- ce pourrait Ãªtre une partie de violon par
+exemple.
 
 Nous avons Ã©galement une partie de piano, qui contient deux portées :
 une pour la main droite, une autre pour la main gauche.
 
 
-À ce point, on pourrait commencer Ã  ajouter les notes. Dans
-les accolades qui suivent @code{\new Voice = chant}, on pourrait
-commencer Ã  Ã©crire
+À ce point, on pourrait commencer Ã  ajouter les notes. Dans les
+accolades qui suivent @code{\new Voice = chant}, on pourrait commencer
+à Ã©crire
 
 @example
 \relative c'' @{
@@ -434,7 +431,7 @@ commencer Ã  Ã©crire
 @end example
 
 Mais si l'on procédait ainsi, la section @code{\score} deviendrait
-vite plutôt touffue, et il serait très tôt difficile de s'y retrouver.
+vite assez touffue, et très rapidement on ne s'y retrouverait plus.
 C'est pourquoi on utilisera plutôt des variables, ou identificateurs :
 
 @example
@@ -460,18 +457,16 @@ mainGauche = @{ @}
 @end example
 
 @noindent
-Souvenez-vous que vous pouvez désigner vos variables du
-nom que vous voulez, Ã  condition de respecter les caractères
-autorisés. Ces limitations sont décrites dans
-@ref{File structure}.
+Souvenez-vous que vous pouvez donner aux variables le nom que vous
+voulez, Ã  condition de respecter les caractères autorisés. Ces
+limitations sont décrites dans @ref{File structure}.
 
-Quand on Ã©crit, ou que l'on lit, une section @code{\score},
-mieux vaut y aller lentement et soigneusement. Commencez
-par le niveau le plus large, puis travaillez sur chaque
-niveau plus détaillé.  Cela aide vraiment, Ã  ce propos,
-d'avoir une indentation stricte et propre : assurez-vous que
-chaque Ã©lément d'un même niveau a le même décalage horizontal
-dans votre Ã©diteur de texte !
+Quand on Ã©crit, ou que l'on lit, une section @code{\score}, mieux vaut
+y aller lentement et soigneusement. Commencez par le niveau le plus
+large, puis travaillez sur chaque niveau plus détaillé.  Ã€ ce propos,
+une indentation stricte et propre est vraiment d'une aide précieuse :
+assurez-vous que chaque Ã©lément d'un même niveau a le même décalage
+horizontal dans votre Ã©diteur de texte !
 
 
 
@@ -510,7 +505,7 @@ On Ã©tablira alors une partie séparée en constituant un nouveau fichier :
 @}
 @end example
 
-À La ligne
+À la ligne
 
 @example
 \include "musique-Cor.ly"
@@ -532,9 +527,9 @@ est visible comme suit :
 @end lilypond
 
 Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
-pendant plusieurs mesures.  Un silence spécial, appelé multi-mesures,
+pendant plusieurs mesures.  Un silence spécial, appelé silence multi-mesures,
 l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
-durée : (@code{1}@tie{} est une pause, @code{2}@tie{} une demi-pause,
+durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une demi-pause,
 etc.  Cette durée peut Ãªtre multipliée pour Ã©tablir de plus longs silences.
 Par exemple, le silence suivant dure 3@tie{}mesures Ã  2/4.
 
@@ -543,16 +538,17 @@ R2*3
 @end example
 
 Dans une partie séparée, les silences multi-mesures sont compressés.
-Il faut pour cela définir comme vraie la propriété @code{skipBars} :
+Il faut pour cela définir la propriété @code{skipBars} Ã  @q{vrai} :
 
 @example
 \set Score.skipBars = ##t
 @end example
 
 @noindent
-Cette commande définie comme vraie ("true", lettre "t") la propriété dans
-le contexte @code{Score}.  Si l'on ajoute dans la musique ci-dessus
-le silence multi-mesures et cette option, on obtient le résultat suivant :
+Cette commande donne la valeur @q{vrai} --- @q{true} en anglais,
+@samp{#t} dans le langage Scheme --- Ã  cette propriété dans le
+contexte @code{Score}.  Si l'on ajoute dans la musique ci-dessus le
+silence multi-mesures et cette option, on obtient le résultat suivant :
 
 @lilypond[quote,ragged-right]
 \transpose f c' \relative c {
@@ -565,7 +561,7 @@ le silence multi-mesures et cette option, on obtient le résultat suivant :
 
 Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
 voix de notre duo se trouve dans le fichier @file{musique-Basson.ly} en
-tant que variable @code{notesBasson}, on Ã©tablira un conducteur avec :
+tant que variable @code{notesBasson}, on Ã©tablira un conducteur avec
 
 @example
 \include "musique-Basson.ly"
@@ -594,8 +590,9 @@ ce qui Ã©quivaut Ã 
 >>
 @end lilypond
 
-Des informations plus détaillées sur la mise en place de conducteurs et
-de parties séparées se trouvent dans le manuel : voir @ref{Orchestral music}.
+Des informations plus détaillées sur la mise en place de conducteurs
+et de parties séparées se trouvent dans le manuel : voir
+@ref{Orchestral music}.
 
-Les propriétés réglables (@q{properties}) sont abordées en détail dans
+Les variables (@q{propriétés}) réglables sont abordées en détail dans
 @ref{Changing context properties on the fly}.
index f996d6152c40d1974ebd2c66820dc45fc4dfb5e7..6c314dc035ce589ed3655b2dbf2af8a73a763ca8 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Running LilyPond
 @chapter Running LilyPond
 
@@ -58,3 +60,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 08b5616aa5086858064d6982c7c9e2c2a8a6709c..f12664457b1ec5e0df0f882c5108ef3fa79b73c0 100644 (file)
@@ -1,14 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 64f0d86a7c0987b311bfdfdfeddfa063e1f2d6e7
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Scheme tutorial
 @appendix Scheme tutorial
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index fa19990b91ef1e2b3bef699918019d7004790049..dff7d2b11c5f0629462e841b50127ff6bd77d2c1 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Spacing issues
 @chapter Spacing issues
 
@@ -15,12 +17,11 @@ UNTRANSLATED NODE: IGNORE ME
 @menu 
 * Paper and pages::
 * Music layout::
+* Displaying spacing::
+* Breaks::
 * Vertical spacing::
 * Horizontal spacing::
-* Breaks::
-* Displaying spacing::
-@end menu
-
+@end menu 
 @node Paper and pages
 @section Paper and pages
 
@@ -29,8 +30,7 @@ UNTRANSLATED NODE: IGNORE ME
 @menu 
 * Paper size::
 * Page formatting::
-@end menu
+@end menu 
 @node Paper size
 @subsection Paper size
 
@@ -47,11 +47,11 @@ UNTRANSLATED NODE: IGNORE ME
 UNTRANSLATED NODE: IGNORE ME
 
 @menu 
-* Setting global staff size::
+* Setting the staff size::
 * Score layout::
 @end menu 
-@node Setting global staff size
-@subsection Setting global staff size
+@node Setting the staff size
+@subsection Setting the staff size
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -60,6 +60,54 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Displaying spacing
+@section Displaying spacing
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Breaks
+@section Breaks
+
+UNTRANSLATED NODE: IGNORE ME
+
+@menu 
+* Line breaking::
+* Page breaking::
+* Optimal page breaking::
+* Optimal page turning::
+* Explicit breaks::
+* Using an extra voice for breaks::
+@end menu 
+@node Line breaking
+@subsection Line breaking
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Page breaking
+@subsection Page breaking
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Optimal page breaking
+@subsection Optimal page breaking
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Optimal page turning
+@subsection Optimal page turning
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Explicit breaks
+@subsection Explicit breaks
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Using an extra voice for breaks
+@subsection Using an extra voice for breaks
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Vertical spacing
 @section Vertical spacing
 
@@ -67,28 +115,23 @@ UNTRANSLATED NODE: IGNORE ME
 
 @menu 
 * Vertical spacing inside a system::
-* Vertical spacing of piano staves::
 * Vertical spacing between systems::
-* Controlling spacing of individual systems::
+* Explicit staff and system positioning::
 * Two-pass vertical spacing::
+* Vertical collision avoidance::
 @end menu 
 @node Vertical spacing inside a system
 @subsection Vertical spacing inside a system
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Vertical spacing of piano staves
-@subsection Vertical spacing of piano staves
-
-UNTRANSLATED NODE: IGNORE ME
-
 @node Vertical spacing between systems
 @subsection Vertical spacing between systems
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Controlling spacing of individual systems
-@subsection Controlling spacing of individual systems
+@node Explicit staff and system positioning
+@subsection Explicit staff and system positioning
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -97,6 +140,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Vertical collision avoidance
+@subsection Vertical collision avoidance
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Horizontal spacing
 @section Horizontal Spacing
 
@@ -107,6 +155,7 @@ UNTRANSLATED NODE: IGNORE ME
 * New spacing area::
 * Changing horizontal spacing::
 * Line length::
+* Proportional notation::
 @end menu 
 @node Horizontal spacing overview
 @subsection Horizontal spacing overview
@@ -128,39 +177,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Breaks
-@section Breaks
-
-UNTRANSLATED NODE: IGNORE ME
-
-@menu 
-* Line breaking::
-* Page breaking::
-* Optimal page breaking::
-* Optimal page turning::
-@end menu 
-@node Line breaking
-@subsection Line breaking
-
-UNTRANSLATED NODE: IGNORE ME
-
-@node Page breaking
-@subsection Page breaking
-
-UNTRANSLATED NODE: IGNORE ME
-
-@node Optimal page breaking
-@subsection Optimal page breaking
+@node Proportional notation
+@subsection Proportional notation
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Optimal page turning
-@subsection Optimal page turning
-
-UNTRANSLATED NODE: IGNORE ME
-
-@node Displaying spacing
-@section Displaying spacing
-
-UNTRANSLATED NODE: IGNORE ME
 
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index d792e1f80cddaae039ed009507f869186eff32cc..6098dc84c3747778db4f62e2a8a32f44f2fa3e8a 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Templates
 @appendix Templates
 
@@ -53,6 +55,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 @appendixsubsec SATB vocal score
 @appendixsubsec SATB vocal score and automatic piano reduction
+@appendixsubsec SATB with aligned contexts
 @node Ancient notation templates
 @appendixsec Ancient notation templates
 
@@ -72,3 +75,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 @appendixsubsec LaTeX
 @appendixsubsec Texinfo
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 7b9d9c443a23ea8508db00589fb05db555170bd4..6141f365b86a03ab21faab301daa5efbbbf19fba 100644 (file)
@@ -1,7 +1,7 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-   Translation of GIT committish: a9d6b9a317e20cff479f9e0e54320dfae40bde31
+   Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@@ -143,10 +143,10 @@ Typeset File}.  Le fichier PDF résultant sera alors affiché sur votre
 Notez que le premier démarrage peut prendre une minute ou deux, car
 toutes les polices système doivent Ãªtre d'abord analysées.
 
-À l'avenir, vous aurez certainement recours aux commandes @qq{ Nouveau
-} ou @qq{ Ouvrir }.  Vous devez enregistrer votre fichier avant de
-lancer la création de la partition.  Si une erreur advient pendant le
-traitement, vous la trouverez dans la fenêtre @qq{ log }.
+À l'avenir, vous aurez certainement recours aux commandes @qq{Nouveau}
+ou @qq{Ouvrir}.  Vous devez enregistrer votre fichier avant de lancer
+la création de la partition.  Si une erreur advient pendant le
+traitement, vous la trouverez dans la fenêtre @qq{log}.
 
 @subsubheading Windows
 
@@ -265,7 +265,7 @@ Le moyen le plus simple d'entrer des notes est d'utiliser le mode
 @code{\relative}.  Avec ce mode, l'@rglos{interval} entre la note et
 celle qui la précède est supposé inférieur ou Ã©gal Ã  une
 @rglos{fourth}.  Commençons par entrer la partition la plus
-élémentaire qui soit, une (@rglos{scale}).
+élémentaire qui soit, une @rglos{scale}.
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c' {
@@ -275,11 +275,10 @@ celle qui la précède est supposé inférieur ou Ã©gal Ã  une
 @end lilypond
 
 La note de départ est @rglos{middle C}.  Chacune des notes qui suivent
-est Ã  moins d'une quarte de la note précédente -- en d'autres termes,
-le premier @samp{c} est le Do dit "du milieu", entre la clé de Sol et
-la clé de Fa, puis est suivi par le ré le plus proche, et ainsi de
-suite.  On peut bien sûr créer des mélodies d'intervalles plus Ã©tendus
-:
+est Ã  moins d'une quarte de la note précédente --- en d'autres termes,
+le premier @samp{c} est le do central, entre la clé de sol et
+la clé de sa, puis est suivi par le ré le plus proche, et ainsi de
+suite.  On peut bien sûr créer des mélodies d'intervalles plus Ã©tendus :
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c' {
@@ -290,7 +289,7 @@ suite.  On peut bien sûr créer des mélodies d'intervalles plus Ã©tendus
 
 @noindent
 Comme vous l'aurez remarqué, cet exemple ne commence plus sur le do du
-milieu.  La première note -- le @samp{d} -- est le ré qui en est le
+milieu.  La première note --- le @samp{d} --- est le ré qui en est le
 plus proche.
 
 Pour ajouter des intervalles supérieurs Ã  une quarte, il suffit
@@ -306,10 +305,10 @@ ajoutant respectivement une apostrophe @code{'} ou une virgule
 @end lilypond
 
 @noindent
-Pour envoyer une note deux octaves (ou davantage !) plus haut ou plus
-bas, il suffit de mettre plusieurs @code{''} ou plusieurs @code{,,} --
+Pour déplacer une note deux octaves (ou davantage !) plus haut ou plus
+bas, il suffit de mettre plusieurs @code{''} ou plusieurs @code{,,} ---
 attention cependant Ã  bien mettre deux apostrophes @code{''}, et non
-deux guillemets @code{"}@tie{}! C'est de cette même manière que l'on
+un guillemet @code{"}@tie{}!  C'est de cette même manière que l'on
 peut modifier la valeur de départ de @code{\relative c'}.
 
 
@@ -347,7 +346,7 @@ la valeur rythmique.
 
 @subheading Rests
 
-On saisit un (@rglos{rest}) tout comme une note, mais avec le
+On saisit un @rglos{rest} tout comme une note, mais avec le
 caractère @samp{r}.
 
 @lilypond[quote,ragged-right,verbatim]
@@ -360,7 +359,7 @@ caractère @samp{r}.
 
 @subheading Time signature
 
-Le @rglos{time signature}) peut Ãªtre défini Ã  l'aide de la commande
+Le @rglos{time signature} peut Ãªtre défini Ã  l'aide de la commande
 @code{\time} :
 
 @lilypond[quote,ragged-right,verbatim]
@@ -567,7 +566,7 @@ d'octaviation n'est ajoutée, il en conlcuera que chaque hauteur est
 située Ã  une quarte au plus de la note précédente.
 
 Lilypond tient compte des intervalles induits par les noms des notes
--- en d'autres termes,une quarte augmentée n'est @emph{pas}
+--- en d'autres termes, une quarte augmentée n'est @emph{pas}
 Ã©quivalente Ã  une quinte diminuée.  Ainsi, si l'on part d'un Do, un Fa
 dièse sera placé au-dessus, tandis qu'un Sol bémol sera placé
 au-dessous.
@@ -580,7 +579,7 @@ c2 ges
 @moreinfo
 @quotation
 @table @asis
-@item Les Octaves Relatives
+@item Les hauteurs de note relatives
 voir @ref{Relative octaves}.
 @item Les vérifications d'octaves
 voir @ref{Octave check}.
@@ -594,20 +593,19 @@ voir @ref{Octave check}.
 
 @subheading Accidentals
 
-Dans la notation par défaut,un dièse (@rglos{sharp}) s'obtient en
-ajoutant @samp{is} au nom de la
-note, et un bémol (@rglos{flat}) en ajoutant @samp{es}.  Comme vous pouvez
-vous y attendre, un double dièse ou double bémol est alors obtenu en
-ajoutant @samp{isis} ou @samp{eses}@footnote{Cette syntaxe est dérivée
-de la convention de dénomination des notes dans les langues nordiques
-et germaniques, comme l'allemand ou le hollandais.}.
+Dans la notation par défaut, un @rglos{sharp} s'obtient en ajoutant
+@samp{is} au nom de la note, et un @rglos{flat} en ajoutant @samp{es}.
+Comme vous pouvez vous y attendre, un double dièse ou double bémol est
+alors obtenu en ajoutant @samp{isis} ou @samp{eses}@footnote{Cette
+syntaxe est dérivée de la convention de dénomination des notes dans
+les langues nordiques et germaniques, comme l'allemand ou le
+hollandais.}.
 
 @c DIV specific
 Cependant, si vous utilisez la commande @samp{\include "italiano.ly"}
-pour entrer
-les noms de notes français au lieu des noms hollandais, il faudra
-ajouter un @samp{d} pour un dièse, et un @samp{b} pour un bémol.  Le
-double dièse et le double bémol s'obtiennent en ajoutant
+pour entrer les noms de notes français au lieu des noms hollandais, il
+faudra ajouter un @samp{d} pour un dièse, et un @samp{b} pour un
+bémol.  Le double dièse et le double bémol s'obtiennent en ajoutant
 respectivement @samp{dd} et @samp{bb}
 @c END DIV
 
@@ -636,25 +634,24 @@ a
 @subheading Warning: key signatures and pitches
 
 La combinaison de l'armure et des hauteurs de note --- y compris les
-altérations --- permet Ã  LilyPond de déterminer dans quel cas afficher les
-altérations accidentelles.  L'armure n'affecte que les altérations
+altérations --- permet Ã  LilyPond de déterminer dans quel cas afficher
+les altérations accidentelles.  L'armure n'affecte que les altérations
 @emph{imprimées}, et non les hauteurs réelles ! Cette fonctionnalité
-est souvent source de
-confusion pour les nouveaux utilisateurs, aussi expliquons-la en
-détail.
+est souvent source de confusion pour les nouveaux utilisateurs, aussi
+expliquons-la en détail.
 
 LilyPond fait une nette distinction entre le contenu musical et la
-mise en forme.  L'altération d'une note -- bémol, bécarre ou dièse --
-fait partie de sa hauteur, et relève donc du contenu musical.  La
-présence ou non
-d'une altération accidentelle -- un @emph{signe} bémol, bécarre ou
-dièse -- devant la note correspondante est une question qui relève de la mise en
-page.  Mettre en page une partition se fait selon des règles ; les
-altérations accidentelles seront donc automatiquement imprimées suivant
-ces règles.  Les hauteurs de note, en revanche, relèvent de ce que
-vous voulez entendre ; et, dans la mesure où la musique que vous
-entrez est censée Ãªtre celle que vous voulez entendre, LilyPond (qui
-n'est chargé que de la gravure) ne les choisira pas Ã  votre place.
+mise en forme.  L'altération d'une note --- bémol, bécarre ou dièse
+--- fait partie de sa hauteur, et relève donc du contenu musical.  La
+présence ou non d'une altération accidentelle --- un @emph{signe}
+bémol, bécarre ou dièse --- devant la note correspondante est une
+question qui relève de la mise en page.  Mettre en page une partition
+se fait selon des règles ; les altérations accidentelles seront donc
+automatiquement imprimées suivant ces règles.  Les hauteurs de note,
+en revanche, relèvent de ce que vous voulez entendre ; et, dans la
+mesure où la musique que vous entrez est censée Ãªtre celle que vous
+voulez entendre, LilyPond (qui n'est chargé que de la gravure) ne les
+choisira pas Ã  votre place.
 
 Dans cet exemple,
 
@@ -743,7 +740,7 @@ a8(\( ais b c) cis2 b'2 a4 cis,\)
 @sp 1
 
 @cindex slurs versus ties
-@subheading Warnings: slurs vs.  ties
+@subheading Warnings: slurs vs. ties
 
 Une liaison d'articulation ou de phrasé ressemble Ã  une liaison de
 tenue, mais n'a pas la même signification.  Alors qu'une liaison de
@@ -829,7 +826,7 @@ c2\< c2\ff\> c2 c2\!
 @moreinfo
 @quotation
 @table @asis
-@item Ponctuations
+@item Articulations
 voir @ref{Articulations}.
 @item Doigtés
 voir @ref{Fingering instructions}.
@@ -970,8 +967,8 @@ musicale :
 { a4 g4 }
 @end lilypond
 
-Placer une séquence d'expressions musicales -- des notes par exemple
--- entre accolades signifie qu'elles doivent Ãªtre jouées
+Placer une séquence d'expressions musicales --- des notes par exemple
+--- entre accolades signifie qu'elles doivent Ãªtre jouées
 successivement, les unes après les autres.  Le résultat est une
 expression, qui peut elle-même Ãªtre regroupée séquentiellement avec
 d'autres expressions.  Ici, l'expression de l'exemple précédent est
@@ -1048,7 +1045,7 @@ longues et complexes.  Par exemple,
 Ceci est une suite d'expressions, où chacune est contenue dans la
 suivante.  Les expressions les plus simples sont les nombres, et de
 plus grandes expressions sont produites en combinant des expressions
-avec des opérateurs -- comme @samp{+}, @samp{*} et @samp{/} -- et des
+avec des opérateurs --- comme @samp{+}, @samp{*} et @samp{/} --- et des
 parenthèses.  Tout comme les expressions mathématiques, les expressions
 musicales peuvent Ãªtre imbriquées avec une profondeur arbitraire, ce
 qui est nécessaire pour de la musique complexe comme des partitions
@@ -1081,7 +1078,7 @@ Ces Ã©léments @code{Staff} sont ensuite combinés en parallèle avec
 
 La commande @code{\new} introduit un Â« contexte de notation Â».  Un
 contexte de notation est un environnement dans lequel les Ã©vénements
-musicaux -- comme les notes ou les commandes @code{\clef} -- sont
+musicaux --- comme les notes ou les commandes @code{\clef} --- sont
 interprétés.   Pour des pièces simples, ces contextes sont créés
 automatiquement.  Pour des pièces plus complexes, il est préférable de
 spécifier explicitement les contextes.  Cela assure que chaque
@@ -1122,7 +1119,7 @@ modifié si nécessaire : voir pour cela @ref{Changing defaults}.}.
 @cindex cross staff voice, manual
 La musique pour piano s'écrit sur deux portées reliées par une
 accolade.  Imprimer ce type de portée revient au même que dans
-l'exemple de musique polyphonique de (@ref{Multiple staves}), mais
+l'exemple de musique polyphonique de @ref{Multiple staves}, mais
 maintenant cette expression entière doit Ãªtre interprétée dans un
 contexte @code{PianoStaff} :
 
@@ -1215,7 +1212,7 @@ Voir @ref{Basic polyphony}.
 
 @cindex chords
 Des accords peuvent Ãªtre produits en entourant les hauteurs de notes
-par des angles gauche et droit -- @samp{<} et @samp{>} --
+par des angles gauche et droit --- @samp{<} et @samp{>} ---
 
 @lilypond[quote,fragment,verbatim,relative=2,fragment]
 r4 <c e g>4 <c f a>2
@@ -1238,7 +1235,7 @@ r4 <c e g>8\>( <c e g> <c e g>4 <c f a>\!)
 @node Songs
 @section Songs
 
-Cette section présente l'écriture vocale, et les partitions de variété.
+Cette section présente l'écriture vocale et les partitions de variété.
 
 @menu
 * Printing lyrics::
@@ -1376,9 +1373,9 @@ forme se trouve Ã  la section @ref{Chords}.
 @node Final touches
 @section Final touches
 
-Voici l'ultime section de ce tutoriel, qui montre comment ajouter la
-touche finale Ã  des morceaux simples, et sert d'introduction pour le
-reste du Manuel.
+L'ultime section de ce tutoriel montre comment ajouter la touche
+finale Ã  des morceaux simples, et consititue une introduction au reste
+du manuel.
 
 @menu
 * Version number::
@@ -1396,10 +1393,10 @@ reste du Manuel.
 @cindex versioning
 La déclaration @code{\version} stipule le numéro de la version de
 LilyPond pour laquelle le fichier a Ã©té Ã©crit.  Pour donner Ã  un
-fichier la version 2.10.0, ajoutez
+fichier la version 2.11.20, ajoutez
 
 @example
-\version "2.10.1"
+\version "2.11.20"
 @end example
 
 @noindent
@@ -1407,8 +1404,8 @@ tout en haut de votre fichier LilyPond.
 
 Cette annotation permet de faciliter les prochaines mises Ã  jour de
 LilyPond.  Les changements dans la syntaxe sont gérés avec un
-programme spécial, @file{convert-ly} -- voir @ref{Updating files with
-convert-ly} -- et il utilise @code{\version} pour déterminer les
+programme spécial, @file{convert-ly} --- voir @ref{Updating files with
+convert-ly} --- et il utilise @code{\version} pour déterminer les
 règles de conversion Ã  appliquer au fichier.
 
 
@@ -1422,7 +1419,7 @@ principales.  Le bloc @code{\header} est habituellement placé en début
 de fichier.
 
 @example
-\version "2.10.1"
+\version "2.11.20"
 \header @{
   title = "Symphonie"
   composer = "Moi"
@@ -1502,7 +1499,7 @@ devient bien plus facile Ã  lire :
 @end lilypond
 
 Si d'aventure vous faites une erreur d'octaviation, le mode
-@code{\relative} la rendra frappante -- toutes les notes suivantes
+@code{\relative} la rendra frappante --- toutes les notes suivantes
 seront placées Ã  la mauvaise octave.  En mode de hauteurs absolues,
 une erreur isolée ne serait pas aussi visible, et donc aussi facile Ã 
 dénicher.
@@ -1582,13 +1579,12 @@ différents endroits.  L'exemple suivant utilise la variable ci-dessus
 @subsection After the tutorial
 
 Après avoir parcouru ce tutoriel, vous devriez vous essayer Ã  Ã©crire
-un morceau ou deux.  Commencez par copier l'un des modèles types
-(@ref{Templates}) et ajoutez-y des notes.  Si vous voulez employer une
-notation que vous n'avez pas trouvé dans le tutoriel, consultez la
-référence de notation, en commençant par la @ref{Basic notation}.  Si
-vous désirez Ã©crire pour un ensemble instrumental non couvert par les
-@ref{Example templates}, lisez la section @ref{Extending the
-templates}.
+un morceau ou deux.  Commencez par copier l'un des @ref{Templates}
+types et ajoutez-y des notes.  Si vous voulez employer une notation
+que vous n'avez pas trouvé dans le tutoriel, consultez la référence de
+notation, en commençant par la @ref{Basic notation}.  Si vous désirez
+écrire pour un ensemble instrumental non couvert par les
+@ref{Templates}, lisez la section @ref{Extending the templates}.
 
 Après avoir Ã©crit quelques pièces courtes, lisez les chapitres 3 Ã  5
 du manuel d'apprentissage.  Rien ne s'oppose Ã  ce que vous consultiez
@@ -1617,6 +1613,6 @@ explicitement spécifié.
 
 Si vous ne vous y retrouvez toujours pas pour savoir quel code
 LilyPond produit précisément tel ou tel exemple, consultez la version
-HTML de ce manuel (si ce n'est pas déjà le cas), et cliquez sur
-l'image de la partition.  La source exacte utilisée pour générer ce
-manuel s'affichera alors.
+HTML de ce manuel si ce n'est pas déjà le cas, et cliquez sur l'image
+de la partition.  La source exacte utilisée pour générer ce manuel
+s'affichera alors.
index 032f76c453ead135bd3efc5a8831de3cbf536147..50c20867915c8367b09ad180d5b61ed93a998839 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 64f0d86a7c0987b311bfdfdfeddfa063e1f2d6e7
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Tweaking output
 @chapter Tweaking output
 
@@ -55,3 +57,8 @@ UNTRANSLATED NODE: IGNORE ME
 @section Avoiding tweaks with slower processing
 
 UNTRANSLATED NODE: IGNORE ME
+
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 3ebba4e9b30a1d8c402cf5f232bcb3580de25bfc..6864acb8e9f5ffa39e374d1f5b1be34bebc3ae61 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-   Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
+   Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@@ -70,7 +70,7 @@ en résoudre d'autres.
 @itemize @bullet
 @item @strong{Ajoutez le numéro de version dans chaque fichier}.
 Notez que chaque fichier modèle contient une ligne @code{\version
-"2.10.10"}.  Nous vous conseillons fortement d'inclure cette ligne,
+"2.11.15"}.  Nous vous conseillons fortement d'inclure cette ligne,
 même pour de petits fichiers.  Par expérience, il est très difficile
 de se rappeler quelle version de LilyPond on utilisait quelques
 années auparavant.  L'utilitaire @code{convert-ly} demande que vous
@@ -92,7 +92,7 @@ le coup si l'on doît corriger vos fichiers.
 
 @item @strong{Ajoutez des commentaires}.  Utilisez soit des
 numéros de mesure (assez souvent), soit des références au contenu
-musical (@q{second thème des violons,} @q{quatrième variation,} etc.).
+musical --- @qq{second thème des violons}, @qq{quatrième variation}, etc.
 Vous pouvez ne pas avoir besoin des commentaires lorsque vous Ã©crivez
 une pièce pour la première fois, mais si vous souhaitez y revenir deux
 ou trois ans plus tard pour changer quelque chose, ou si vous donnez
@@ -208,9 +208,9 @@ fragA = \relative c'' { a4 a8. b16 }
 fragB = \relative c'' { a8. gis16 ees4 }
 violin = \new Staff { \fragA \fragA \fragB \fragA }
 \score {
- {
-   \violin
- }
 {
+    \violin
 }
 }
 @end lilypond
 
@@ -223,17 +223,17 @@ dolce = \markup{ \italic \bold dolce }
 padText = { \once \override TextScript #'padding = #5.0 }
 fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
 violin = \relative c'' {
- \repeat volta 2 {
-   c4._\dolce b8 a8 g a b |
-   \padText
-   c4.^"hi there!" d8 e' f g d |
-   c,4.\fthenp b8 c4 c-. |
- }
 \repeat volta 2 {
+    c4._\dolce b8 a8 g a b |
+    \padText
+    c4.^"hi there!" d8 e' f g d |
+    c,4.\fthenp b8 c4 c-. |
 }
 }
 \score {
- {
-   \violin
- }
 {
+    \violin
 }
 \layout{ragged-right=##t}
 }
 @end lilypond
@@ -246,13 +246,13 @@ lire, et particulièrement la dernière ligne.
 
 @example
 violin = \relative c'' @{
- \repeat volta 2 @{
-   c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
-   \once \override TextScript #'padding = #5.0
-   c4.^"hi there!" d8 e' f g d |
-   c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
-     \hspace #0.1 \dynamic p @} b8 c4 c-. |
- @}
 \repeat volta 2 @{
+    c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
+    \once \override TextScript #'padding = #5.0
+    c4.^"hi there!" d8 e' f g d |
+    c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
+      \hspace #0.1 \dynamic p @} b8 c4 c-. |
 @}
 @}
 @end example
 
@@ -264,18 +264,17 @@ LilyPond gère Ã©galement des substitutions non-statiques --- vous
 pouvez les voir comme des fonctions.
 
 @lilypond[quote,verbatim,ragged-right]
-padText =
 #(define-music-function (parser location padding) (number?)
- #{
-   \once \override TextScript #'padding = #$padding
- #})
 #{
+    \once \override TextScript #'padding = #$padding
 #})
 
 \relative c''' {
- c4^"piu mosso" b a b
- \padText #1.8
- c4^"piu mosso" d e f
- \padText #2.6
- c4^"piu mosso" fis a g
 c4^"piu mosso" b a b
 \padText #1.8
 c4^"piu mosso" d e f
 \padText #2.6
 c4^"piu mosso" fis a g
 }
 @end lilypond
 
@@ -303,19 +302,19 @@ les parties avec tous les @code{#()}.  Celles-ci sont expliquées dans
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
@@ -332,12 +331,12 @@ dans nos fichiers de musique, et je trouve personnellement tous ces
 @example
 %%% enregistrez ceci dans un fichier nommé "definitions.ly"
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #@{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup @{ \bold $markp @}
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup @{ \bold $markp @}
 #@})
 @end example
 
@@ -351,30 +350,30 @@ sous @file{"musique.ly"}).
 \include "definitions.ly"
 
 \relative c'' @{
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
@@ -391,59 +390,59 @@ fichier @file{definitions.ly} par ceci :
 @example
 %%%  definitions.ly
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #@{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup @{ \bold $markp @}
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup @{ \bold $markp @}
 #@})
 
 \layout@{
- \context @{ \Score
-   \override MetronomeMark #'extra-offset = #'(-9 . 0)
-   \override MetronomeMark #'padding = #'3
- @}
- \context @{ \Staff
-   \override TimeSignature #'style = #'numbered
- @}
- \context @{ \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- @}
 \context @{ \Score
+    \override MetronomeMark #'extra-offset = #'(-9 . 0)
+    \override MetronomeMark #'padding = #'3
 @}
 \context @{ \Staff
+    \override TimeSignature #'style = #'numbered
 @}
 \context @{ \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 @}
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 \layout{
- \context { \Score
-   \override MetronomeMark #'extra-offset = #'(-9 . 0)
-   \override MetronomeMark #'padding = #'3
- }
- \context { \Staff
-   \override TimeSignature #'style = #'numbered
- }
- \context { \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- }
 \context { \Score
+    \override MetronomeMark #'extra-offset = #'(-9 . 0)
+    \override MetronomeMark #'padding = #'3
 }
 \context { \Staff
+    \override TimeSignature #'style = #'numbered
 }
 \context { \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 }
 }
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
@@ -458,78 +457,78 @@ globale de police.
 @example
 %%%  definitions.ly
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #@{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup @{ \bold $markp @}
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup @{ \bold $markp @}
 #@})
 
 #(set-global-staff-size 23)
 \layout@{
- \context @{ \Score
-   \override MetronomeMark #'extra-offset = #'(-9 .  0)
-   \override MetronomeMark #'padding = #'3
- @}
- \context @{ \Staff
- @}
- \context @{ \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- @}
 \context @{ \Score
+    \override MetronomeMark #'extra-offset = #'(-9 .  0)
+    \override MetronomeMark #'padding = #'3
 @}
 \context @{ \Staff
 @}
 \context @{ \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 @}
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 #(set-global-staff-size 23)
 \layout{
- \context { \Score
-   \override MetronomeMark #'extra-offset = #'(-9 . 0)
-   \override MetronomeMark #'padding = #'3
- }
- \context { \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- }
 \context { \Score
+    \override MetronomeMark #'extra-offset = #'(-9 . 0)
+    \override MetronomeMark #'padding = #'3
 }
 \context { \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 }
 }
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
 Il ne nous reste plus qu'à remplacer @code{\include "definitions.ly"}
-par @code{\include "web-publish.ly"} dans notre fichier de musique.
+par @code{\include "publication-web.ly"} dans notre fichier de musique.
 
 Il est possible, bien sûr, de rendre cela encore plus pratique.  Nous
 pourrions créer un fichier @file{definitions.ly} qui ne contiendrait
 que les définitions de @code{mpdolce} et de @code{tempoMark}, un
 fichier @file{publication-web.ly} qui ne contiendrait que la section
-@code{layout} décrite ci-dessus et un fichier @file{university.ly} qui
+@code{layout} décrite ci-dessus et un fichier @file{universite.ly} qui
 ne contiendrait que les retouches pour produire le résultat que mon
-professeur préfère.  Le début du fichier @file{music.ly} ressemblerait
+professeur préfère.  Le début du fichier @file{musique.ly} ressemblerait
 alors Ã 
 
 @example
 \include "definitions.ly"
 
 %%%  Décommentez seulement une de ces deux lignes !
-\include "web-publish.ly"
-%\include "university.ly"
+\include "publication-web.ly"
+%\include "universite.ly"
 @end example
 
 Cette approche peut Ãªtre utile même si vous ne produisez qu'un seul
@@ -539,7 +538,7 @@ musique par @code{\include "../global.ly"} qui contient :
 
 @example
 %%%   global.ly
-\version "2.9.13"
+\version "2.11.15"
 #(ly:set-option 'point-and-click #f)
 \include "../init/init-defs.ly"
 \include "../init/init-mise-en-page.ly"
@@ -600,12 +599,12 @@ Dans un cas extrême, vous pourriez en arriver Ã 
 
 @example
 \score @{
- <<
-   % \melodie
-   % \harmonie
-   % \basse
- >>
- \layout@{@}
 <<
+    % \melodie
+    % \harmonie
+    % \basse
 >>
 \layout@{@}
 @}
 @end example
 
@@ -620,8 +619,8 @@ cas, placez en commentaire toute la partie de basse, mais laissez
 @example
 basse = \relative c' @{
 %@{
- c4 c c c
- d d d d
 c4 c c c
 d d d d
 %@}
 @}
 @end example
index 925cb7e5a12612e550d771b1c82d4a9d22db0192..ef93f6aababd1534c1ddf9864c18299aef944c51 100644 (file)
@@ -6,6 +6,7 @@ include $(depth)/make/stepmake.make
 
 doc-localedir=$(outdir)
 DOMAIN=lilypond-doc
+DOC_PO_SOURCES = add_html_footer.py langdefs.py
 
 messages: $(MO_FILES)
        for i in $(CATALOGS); do \
@@ -14,7 +15,9 @@ messages: $(MO_FILES)
        done
 
 po-update:
-       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -o doc.pot --gettext ../$(depth)/Documentation/user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -o texi.pot --gettext ../$(depth)/Documentation/user/lilypond.tely
+       xgettext -cjn -L Python -o $(outdir)/buildscripts.pot $(foreach i, $(DOC_PO_SOURCES), $(buildscript-dir)/$(i) )
+       msgcat -o $(outdir)/doc.pot $(outdir)/buildscripts.pot $(outdir)/texi.pot
        msgmerge -U lilypond-doc.pot $(outdir)/doc.pot
        for i in $(CATALOGS); do \
          msgmerge -U $$i.po lilypond-doc.pot; \
index 6ac0581a1aba111621933c8e0d51073004b5bbf5..dc3916e0bfba0ef3e2c92c6d1f8a9462a55bbe30 100644 (file)
@@ -4,13 +4,12 @@
 # This file is distributed under the same license as the lilypond package.
 #
 # John Mandereau <john.mandereau@free.fr>, 2006, 2007.
-#. @chapter in ../../../Documentation/user/lilypond-book.itely
 msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-22 20:59+0100\n"
-"PO-Revision-Date: 2007-02-05 14:38+0100\n"
+"POT-Creation-Date: 2007-02-24 10:14+0100\n"
+"PO-Revision-Date: 2007-02-25 13:46+0100\n"
 "Last-Translator: John Mandereau <john.mandereau@free.fr>\n"
 "Language-Team: Français <lilypond-user-fr@gnu.org>\n"
 "MIME-Version: 1.0\n"
@@ -18,6 +17,42 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
+#: ../../buildscripts/add_html_footer.py:36
+#, python-format
+msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
+msgstr "Cette page documente %(package_name)s-%(package_version)s (%(branch_str)s)."
+
+#: ../../buildscripts/add_html_footer.py:39
+#, python-format
+msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
+msgstr "Rapporter toute anomalie en français Ã  <a href=\"mailto:lilypond-user-fr@gnu.org\">lilypond-user-fr@gnu.org</a> ou en anglais Ã  <a href=\"%(mail_address_url)s\">%(mail_address)s</a>"
+
+#: ../../buildscripts/add_html_footer.py:52
+#, python-format
+msgid "Other languages: %s."
+msgstr "Autres langues&nbsp;: %s."
+
+#: ../../buildscripts/add_html_footer.py:53
+#, python-format
+msgid "About <A HREF=\"%s\">automatic language selection</A>."
+msgstr "À propos de la <A HREF=\"%s\">sélection automatique de la langue</A>."
+
+#: ../../buildscripts/add_html_footer.py:236
+msgid "stable-branch"
+msgstr "branche stable"
+
+#: ../../buildscripts/add_html_footer.py:238
+msgid "development-branch"
+msgstr "branche de développement"
+
+#: ../../buildscripts/langdefs.py:34
+msgid "English"
+msgstr "Anglais"
+
+#: ../../buildscripts/langdefs.py:35
+msgid "French"
+msgstr "Français"
+
 #. @node in ../../../Documentation/user/lilypond.tely
 msgid "Top"
 msgstr "Sommaire"
@@ -54,7 +89,7 @@ msgstr "Commandes prédéfinies"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 msgid "Commonly tweaked properties"
-msgstr "Propriétés couramment ajustées"
+msgstr "Propriétés couramment modifiées"
 
 #. @node in ../../../Documentation/user/preface.itely
 #. @unnumbered in ../../../Documentation/user/preface.itely
@@ -594,7 +629,6 @@ msgstr "Altérations microtonales"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
-#, fuzzy
 msgid "Note names in other languages"
 msgstr "Noms de note dans d'autres langues"
 
@@ -631,7 +665,7 @@ msgstr "Durées"
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
 msgid "Augmentation dots"
-msgstr "Points d'addition"
+msgstr "Notes pointées"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
@@ -655,9 +689,8 @@ msgstr "Découpage automatique des notes"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @section in ../../../Documentation/user/basic-notation.itely
-#, fuzzy
 msgid "Polyphony"
-msgstr "Polyphonie basique"
+msgstr "Polyphonie"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
@@ -776,7 +809,6 @@ msgstr "Arpège"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
-#, fuzzy
 msgid "Falls and doits"
 msgstr "Chutes et sauts"
 
@@ -883,7 +915,7 @@ msgstr "Musique vocale"
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Setting simple songs"
-msgstr "Écrire des chansons simples¿"
+msgstr "Écrire des chants simples"
 
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
@@ -952,24 +984,23 @@ msgstr "Plus Ã  propos des strophes"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Adding stanza numbers"
-msgstr ""
+msgstr "Numéroter les strophes"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Adding dynamics marks"
-msgstr ""
+msgstr "Ajouter des nuances"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
-#, fuzzy
 msgid "Adding singer names"
-msgstr "Ajout de titres"
+msgstr "Ajouter le nom des chanteurs"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Printing stanzas at the end"
-msgstr ""
+msgstr "Paroles Ã  la fin de la partition"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Printing stanzas at the end in multiple columns"
-msgstr ""
+msgstr "Paroles sur plusieurs colonnes Ã  la fin de la partition"
 
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
@@ -1104,7 +1135,7 @@ msgstr "Articulations anciennes"
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Custodes"
-msgstr ""
+msgstr "Guidons"
 
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
@@ -1189,12 +1220,12 @@ msgstr ""
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
 msgid "Text markup"
-msgstr ""
+msgstr "Texte mis en forme"
 
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
 msgid "Nested scores"
-msgstr ""
+msgstr "Partitions emboîtées"
 
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
@@ -1259,7 +1290,7 @@ msgstr ""
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @section in ../../../Documentation/user/advanced-notation.itely
 msgid "Orchestral music"
-msgstr ""
+msgstr "Musique orchestrale"
 
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
@@ -1269,7 +1300,7 @@ msgstr ""
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
 msgid "Hiding staves"
-msgstr ""
+msgstr "Cacher des portées"
 
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
@@ -1299,7 +1330,7 @@ msgstr ""
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
 msgid "Time administration"
-msgstr ""
+msgstr "Gestion du temps"
 
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
@@ -1394,12 +1425,12 @@ msgstr ""
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 msgid "Automatic accidentals"
-msgstr ""
+msgstr "Altérations accidentelles automatiques"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 msgid "Setting automatic beam behavior"
-msgstr ""
+msgstr "Définir les règles de ligatures automatiques"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @section in ../../../Documentation/user/changing-defaults.itely
@@ -1419,7 +1450,7 @@ msgstr ""
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
 msgid "Changing context properties on the fly"
-msgstr ""
+msgstr "Changer les propriétés de contexte Ã  la volée"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
@@ -1494,17 +1525,17 @@ msgstr "Objets non musicaux"
 #. @node in ../../../Documentation/user/non-music.itely
 #. @section in ../../../Documentation/user/non-music.itely
 msgid "Input files"
-msgstr ""
+msgstr "Fichiers d'entrée"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
 msgid "File structure (introduction)"
-msgstr ""
+msgstr "Introduction Ã  la structure de fichier"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
 msgid "File structure"
-msgstr ""
+msgstr "Structure de fichier"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
@@ -1539,7 +1570,7 @@ msgstr ""
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
 msgid "Creating titles"
-msgstr ""
+msgstr "Créer des titres"
 
 #. @node in ../../../Documentation/user/non-music.itely
 #. @subsection in ../../../Documentation/user/non-music.itely
@@ -1574,7 +1605,7 @@ msgstr ""
 #. @node in ../../../Documentation/user/non-music.itely
 #. @section in ../../../Documentation/user/non-music.itely
 msgid "Skipping corrected music"
-msgstr ""
+msgstr "Ignorer des passages de la partition"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @chapter in ../../../Documentation/user/spacing.itely
@@ -1864,12 +1895,11 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/running.itely
 msgid "Updating files with convert-ly"
-msgstr ""
+msgstr "Mettre Ã  jour des fichiers avec convert-ly"
 
 #. @section in ../../../Documentation/user/running.itely
-#, fuzzy
-msgid "Updating with"
-msgstr "Mettre Ã  jour des anciens fichiers"
+msgid "Updating with @command{convert-ly}"
+msgstr ""
 
 #. @node in ../../../Documentation/user/running.itely
 #. @section in ../../../Documentation/user/running.itely
@@ -1895,6 +1925,10 @@ msgstr ""
 msgid "LilyPond-book"
 msgstr "LilyPond-book"
 
+#. @chapter in ../../../Documentation/user/lilypond-book.itely
+msgid "@command{lilypond-book}: Integrating text and music"
+msgstr "@command{lilypond-book} : associer de la musique et du texte"
+
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
 msgid "An example of a musicological document"
@@ -1905,9 +1939,8 @@ msgid "Integrating LaTeX and music"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-#, fuzzy
-msgid "Integrating La"
-msgstr "Gravure"
+msgid "Integrating La@TeX{} and music"
+msgstr "Intégrer de la musique dans @LaTeX{}"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
@@ -1950,8 +1983,7 @@ msgid "Invoking lilypond-book"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-#. @section in ../../../Documentation/user/converters.itely
-msgid "Invoking"
+msgid "Invoking @command{lilypond-book}"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
@@ -1983,18 +2015,34 @@ msgstr "Convertir Ã  partir d'autres formats"
 msgid "Invoking midi2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{midi2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking etf2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{etf2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking musicxml2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{musicxml2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking abc2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{abc2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 #. @section in ../../../Documentation/user/converters.itely
 msgid "Generating LilyPond files"
@@ -2062,9 +2110,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendix in ../../../Documentation/user/templates.itely
-#, fuzzy
 msgid "Templates"
-msgstr "Nolets"
+msgstr "Modèles"
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendixsec in ../../../Documentation/user/templates.itely
@@ -2195,5 +2242,3 @@ msgstr "Annexe"
 msgid "Footnotes"
 msgstr "Notes de bas de page"
 
-#~ msgid "@command{lilypond-book}: Integrating text and music"
-#~ msgstr "@command{lilypond-book} : associer de la musique et du texte"
index f75072363672befd511f92b20cf137cc2e3a1ca2..52ce97037b5753db56d3546266bd4ba9f8071572 100644 (file)
@@ -3,13 +3,12 @@
 # This file is distributed under the same license as the lilypond package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#. @chapter in ../../../Documentation/user/lilypond-book.itely
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-22 20:59+0100\n"
+"POT-Creation-Date: 2007-02-24 10:14+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,6 +16,42 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../../buildscripts/add_html_footer.py:36
+#, python-format
+msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:39
+#, python-format
+msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:52
+#, python-format
+msgid "Other languages: %s."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:53
+#, python-format
+msgid "About <A HREF=\"%s\">automatic language selection</A>."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:236
+msgid "stable-branch"
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:238
+msgid "development-branch"
+msgstr ""
+
+#: ../../buildscripts/langdefs.py:34
+msgid "English"
+msgstr ""
+
+#: ../../buildscripts/langdefs.py:35
+msgid "French"
+msgstr ""
+
 #. @node in ../../../Documentation/user/lilypond.tely
 msgid "Top"
 msgstr ""
@@ -1862,7 +1897,7 @@ msgid "Updating files with convert-ly"
 msgstr ""
 
 #. @section in ../../../Documentation/user/running.itely
-msgid "Updating with"
+msgid "Updating with @command{convert-ly}"
 msgstr ""
 
 #. @node in ../../../Documentation/user/running.itely
@@ -1889,6 +1924,10 @@ msgstr ""
 msgid "LilyPond-book"
 msgstr ""
 
+#. @chapter in ../../../Documentation/user/lilypond-book.itely
+msgid "@command{lilypond-book}: Integrating text and music"
+msgstr ""
+
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
 msgid "An example of a musicological document"
@@ -1899,7 +1938,7 @@ msgid "Integrating LaTeX and music"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-msgid "Integrating La"
+msgid "Integrating La@TeX{} and music"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
@@ -1943,8 +1982,7 @@ msgid "Invoking lilypond-book"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-#. @section in ../../../Documentation/user/converters.itely
-msgid "Invoking"
+msgid "Invoking @command{lilypond-book}"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
@@ -1976,18 +2014,34 @@ msgstr ""
 msgid "Invoking midi2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{midi2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking etf2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{etf2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking musicxml2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{musicxml2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking abc2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{abc2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 #. @section in ../../../Documentation/user/converters.itely
 msgid "Generating LilyPond files"
index 51911fe741249d047d2ebcfa1c5475c9090f4683..a5b33e360dd221cba49ef989224ee8aed8e142e8 100644 (file)
@@ -519,7 +519,7 @@ effect.
 
 In addition, vertical placement is performed after creating the
 text markup object.  If you wish to move an entire piece of markup,
-you need to use the #'padding property or create an "anchor" point
+you need to use the #'padding property or create an @q{anchor} point
 inside the markup (generally with @code{\hspace #0}).
 
 @lilypond[quote,verbatim,fragment,relative=1]
index 35cf314b20ea4e44881de6653cdf26f8b388de0b..6178d9a52ebff74b135a810ae326081d54261fe9 100644 (file)
@@ -96,7 +96,7 @@ Show summary of usage.
 @item -k, --key=@var{acc}[:@var{minor}]
 Set default key.  @math{@var{acc} > 0} sets number of sharps;
 @math{@var{acc} < 0} sets number of flats.  A minor key is indicated by
-":1".
+@samp{:1}.
 
 @item -o, --output=@var{file}
 Write output to @var{file}.
index 543a4cdd429b884170bfdaa59cf354f2218e6fbd..3beacf52db2e1f92dbaf98fc7cd437dc6d97ca3a 100644 (file)
@@ -342,8 +342,8 @@ is trivial.
 @end example
 
 If a greater number of systems is requested, a TeX conditional must be
-used before the @code{\endinput}.  In this example, replace "2" by
-the numer of systems you want in the output,
+used before the @code{\endinput}.  In this example, replace @q{2} by
+the number of systems you want in the output,
 
 @example
 \def\betweenLilyPondSystem#1@{
index 790ecaa9289a2b5b63f1643312d026d2c3654e98..cf6f1a007c9b3aba289d3221c3e63cfc89b7d33e 100644 (file)
@@ -405,7 +405,7 @@ option when invoking @code{lilypond --include=DIR} which adds DIR to the
 search path.
 
 The @code{\include} statement can use full path information, but with the Unix
-convention @code{"/"} rather than the DOS/Windows @code{"\"}.  For example,
+convention @samp{/} rather than the DOS/Windows @samp{\}.  For example,
 if @file{stuff.ly} is located one directory higher than the current working
 directory, use
 
index 431e029919d8e9d1f1d49719f04eccec78b99acb..7b59a3e8c5d4968140b791def06b76e4efafd4e0 100644 (file)
@@ -785,8 +785,8 @@ add the marcato to its elements list property.
 (set! place new-value)
 @end example
 
-Here, what we want to set (the "place") is the "elements" property of
-@code{result-event-chord} expression
+Here, what we want to set (the @q{place}) is the @q{elements} property of
+@code{result-event-chord} expression.
 
 @example
 (ly:music-property result-event-chord 'elements)
index 4fe8a8f98ea72a1835f4b69c63df5bc48bc8bab6..fd65dfe0e63272f2d004add8addca6aa673c97da 100644 (file)
@@ -1127,7 +1127,7 @@ stretched according to the data in the page layout file.
 @end enumerate
 
 The @code{ragged-bottom} property adds space between systems, while
-the two-pass technique adds space between staffs inside a system.
+the two-pass technique adds space between staves inside a system.
 
 To allow this behaviour, a @code{tweak-key} variable has to be set in
 each score @code{\layout} block, and the tweaks included in each score
index bcdfadcd16d542c68d0b868517150f4bcb5474cc..448c211c3f355471752ca02a5d186b5636acc64f 100644 (file)
@@ -297,7 +297,7 @@ text = \lyricmode {
 @appendixsubsec Piano centered dynamics
 
 Many piano scores have the dynamics centered between the two
-staffs.  This requires a bit of tweaking to implement, but
+staves.  This requires a bit of tweaking to implement, but
 since the template is right here, you don't have to do the
 tweaking yourself.
 
index b9dbf6853ba2f40b2dd4d670bbe7643ad802c590..e152f21a9478b7cce16a50ad3decc6cc255a5829 100644 (file)
@@ -134,8 +134,8 @@ The resulting PDF file will be displayed on your screen.
 Be warned that the first time you ever run LilyPond, it will take a minute
 or two because all of the system fonts have to be analyzed first.
 
-For future use of LilyPond, you should begin by selecting "New"
-or "Open".  You must save your file before typesetting it.  If any errors
+For future use of LilyPond, you should begin by selecting @q{New}
+or "@q{Open}.  You must save your file before typesetting it.  If any errors
 occur in processing, please see the log window.
 
 @subsubheading Windows
index 0d48a53ee7a6d3f526ee39fc2e36a5a32008368c..6d24d3a4225f396c2e5434c3c823690c88a3038d 100644 (file)
@@ -356,7 +356,7 @@ to understand these files.
 @file{@var{installdir}/LilyPond.app/Contents/Resources/share/lilypond/current/}.
 To access this, either @code{cd} into this directory from the
 Terminal, or control-click on the LilyPond application and select
-"Show Package Contents".
+@q{Show Package Contents}.
 
 @item Windows: @file{@var{installdir}/LilyPond/usr/share/lilypond/current/}
 
index 9a3809d5c0a4cfa93c68df2d44409be783f329e0..076bb6de0087b59af5785204d258abbd33562dbd 100644 (file)
@@ -382,8 +382,8 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 That looks better, but let's make a few changes.  The glissando is hard
 to see, so let's make it thicker and closer to the noteheads.  Let's
 put the metronome marking above the clef, instead of over the first
-note.  And finally, my composition professor hates "C" time signatures,
-so we'd better make that "4/4" instead.
+note.  And finally, my composition professor hates @q{C} time signatures,
+so we'd better make that @q{4/4} instead.
 
 Don't change @file{music.ly}, though.  Replace our @file{definitions.ly}
 with this:
@@ -448,7 +448,7 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 @end lilypond
 
 That looks nicer!  But now suppose that I want to publish this
-piece.  My composition professor doesn't like "C" time
+piece.  My composition professor doesn't like @q{C} time
 signatures, but I'm somewhat fond of them.  Let's copy the
 current @file{definitions.ly} to @file{web-publish.ly} and
 modify that.  Since this music is aimed at producing a pdf which
diff --git a/THANKS b/THANKS
index 1a3a48321be45399f2ba2fd100a749f666fc7623..27554dd5c2a82b6f1f656ab80c1f6aaa498ed39a 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -49,6 +49,7 @@ Kazuhiro Suzuki
 Laura Conrad
 Luc Wehli
 Maarten Hijzelendoorn 
+Marc Lanoiselée
 Matthijs Frankeno
 Martijn Vromans
 Marnen Laibow-Koser
index 3e35952c426cad818cb48af6c50a1f8585c24f3d..d70ddcee6ea87d34ba46d2078feb50d9d198fc3a 100644 (file)
@@ -25,40 +25,43 @@ non_copied_pages = ['Documentation/user/out-www/lilypond-big-page',
                     'Documentation/out-www/DEDICATION',
                     'Documentation/topdocs/out-www/AUTHORS']
 
+def _ (s):
+    return s
+
 header = r"""
 """
 
-footer = r'''
+footer = '''
 <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;">
 <p>
 <font size="-1">
-This page is for %(package_name)s-%(package_version)s (%(branch_str)s). <br>
+%(footer_name_version)s
+<br>
 </font>
 <address><font size="-1">
-Report errors to <a href="%(mail_address_url)s">%(mail_address)s</a>.</font></address>
+%(footer_report_errors)s </font></address>
 </p>
 </div>
 '''
+footer_name_version = _ ('This page is for %(package_name)s-%(package_version)s (%(branch_str)s).')
+footer_report_errors = _ ('Report errors to <a href="%(mail_address_url)s">%(mail_address)s</a>.')
 
 mail_address = 'http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs'
 
 header_tag = '<!-- header_tag -->'
 footer_tag = '<!-- footer_tag -->'
 
-def _ (s):
-    return s
-
-language_available = _ ("Other languages: %s.") % "%(language_menu)s"
-browser_language = _ ("Using <A HREF='%s'>automatic language selection</A>.") \
-           % "/web/about/browser-language"
+lang_available = _ ("Other languages: %s.")
+browser_lang = _ ('About <A HREF="%s">automatic language selection</A>.')
+browser_language_url = "/web/about/browser-language"
 
-LANGUAGES_TEMPLATE = '''\
+LANGUAGES_TEMPLATE = '''
 <P>
  %(language_available)s
  <BR>
  %(browser_language)s
 </P>
-''' % vars ()
+'''
 
 
 html_re = re.compile ('(.*?)(?:[.]([^/.]*))?[.]html$')
@@ -87,7 +90,7 @@ def add_header (s):
         s = re.sub ('(?i)<body>', body, s)
         if re.search ('(?i)<BODY', s):
             s = re.sub ('(?i)<body[^>]*>', body + header, s, 1)
-        elif re.search ('(?i)<html', s):                
+        elif re.search ('(?i)<html', s):
             s = re.sub ('(?i)<html>', '<HTML>' + header, s, 1)
         else:
             s = header + s
@@ -114,6 +117,7 @@ def add_title (s):
     return s
 
 info_nav_bar = re.compile (r'<div class="node">\s*<p>\s*<a name=".+?"></a>(.+?)<hr>\s*</div>', re.M | re.S)
+info_footnote_hr = re.compile (r'<hr>\s*(</div>)?\s*</body>', re.M | re.I)
 
 def add_footer (s):
     """add footer
@@ -121,7 +125,11 @@ def add_footer (s):
 also add navigation bar to bottom of Info HTML pages"""
     m = info_nav_bar.search (s)
     if m:
-        custom_footer = '<br><hr>\n<div class="node">\n<p>' + m.group (1) + '</div>\n' + footer
+        # avoid duplicate <hr> in case there are footnotes at the end of the Info HTML page
+        if info_footnote_hr.search (s):
+            custom_footer = '<div class="node">\n<p>' + m.group (1) + '</div>\n' + footer
+        else:
+            custom_footer = '<br><hr>\n<div class="node">\n<p>' + m.group (1) + '</div>\n' + footer
     else:
         custom_footer = footer
     if re.search ('(?i)</body', s):
@@ -152,56 +160,65 @@ def process_links (s, prefix, lang_ext, file_name, missing, target):
         # Strip .html, .png suffix for auto language selection (content
         # negotiation).  The menu must keep the full extension, so do
         # this before adding the menu.
-        page_flavors[file_name] = re.sub (
+        page_flavors[file_name] = [lang_ext, re.sub (
             '''(href|src)=[\'"]([^/][.]*[^.:\'"]*)(.html|.png)(#[^"\']*|)[\'"]''',
-            '\\1="\\2\\4"', s)
+            '\\1="\\2\\4"', s)]
     elif target == 'offline':
         # in LANG doc index: don't rewrite .html suffixes as not all .LANG.html pages exist
         # the doc index should be translated and contain the right links
         if prefix == 'Documentation/out-www/index':
-            page_flavors[file_name] = s
+            page_flavors[file_name] = [lang_ext, s]
         elif lang_ext == '':
-            page_flavors[file_name] = s
+            page_flavors[file_name] = [lang_ext, s]
             for e in missing:
-                page_flavors[langdefs.lang_file_name (prefix, e, '.html')] = re.sub (
+                page_flavors[langdefs.lang_file_name (prefix, e, '.html')] = [e, re.sub (
                     '''href=[\'"]([^/][.]*[^.:\'"]*)(.html)(#[^"\']*|)[\'"]''',
-                    'href="\\1.' + e + '\\2\\3"', s)
+                    'href="\\1.' + e + '\\2\\3"', s)]
         else:
-            page_flavors[file_name] = re.sub (
+            page_flavors[file_name] = [lang_ext, re.sub (
                 '''href=[\'"]([^/][.]*[^.:\'"]*)(.html)(#[^"\']*|)[\'"]''',
-                'href="\\1.' + lang_ext + '\\2\\3"', s)
+                'href="\\1.' + lang_ext + '\\2\\3"', s)]
     return page_flavors
 
-def add_menu (page_flavors, prefix, available):
-    language_menu = ''
-    for lang in available:
-        lang_file = lang.file_name (os.path.basename (prefix), '.html')
-        if language_menu != '':
-            language_menu += ', '
-        language_menu += '<a href="%s">%s</a>' % (lang_file, lang.name)
-
-    languages = ''
-    if language_menu:
-        languages = LANGUAGES_TEMPLATE % vars ()
-
-    # put language menu before '</body>' and '</html>' tags
+def add_menu (page_flavors, prefix, available, target, translation):
     for k in page_flavors.keys():
-        if re.search ('(?i)</body', page_flavors[k]):
-            page_flavors[k] = re.sub ('(?i)</body>', languages + '</BODY>', page_flavors[k], 1)
-        elif re.search ('(?i)</html', page_flavors[k]):                
-            page_flavors[k] = re.sub ('(?i)</html>', languages + '</HTML>', page_flavors[k], 1)
+        language_menu = ''
+        languages = ''
+        if page_flavors[k][0] != '':
+            t = translation[page_flavors[k][0]]
         else:
-            page_flavors[k] += languages
+            t = _
+        for lang in available:
+            lang_file = lang.file_name (os.path.basename (prefix), '.html')
+            if language_menu != '':
+                language_menu += ', '
+            language_menu += '<a href="%s">%s</a>' % (lang_file, t (lang.name))
+        if target == 'offline':
+            browser_language = ''
+        elif target == 'online':
+            browser_language = t (browser_lang) % browser_language_url
+        if language_menu:
+            language_available = t (lang_available) % language_menu
+            languages = LANGUAGES_TEMPLATE % vars ()
+        # put language menu before '</body>' and '</html>' tags
+        if re.search ('(?i)</body', page_flavors[k][1]):
+            page_flavors[k][1] = re.sub ('(?i)</body>', languages + '</BODY>', page_flavors[k][1], 1)
+        elif re.search ('(?i)</html', page_flavors[k][1]):
+            page_flavors[k][1] = re.sub ('(?i)</html>', languages + '</HTML>', page_flavors[k][1], 1)
+        else:
+            page_flavors[k][1] += languages
     return page_flavors
 
 
-def add_html_footer (package_name = '',
+def add_html_footer (translation,
+                     package_name = '',
                      package_version = '',
                      target = 'offline',
                      name_filter = lambda s: s):
     """Add header, footer to a number of HTML files
 
     Arguments:
+     translation               gettext translations dictionary, with language codes as keys
      package_name=NAME         set package_name to NAME
      package_version=VERSION   set package version to VERSION
      targets=offline|online    set page processing depending on the target
@@ -218,9 +235,9 @@ def add_html_footer (package_name = '',
         mail_address_url= 'mailto:' + mail_address
 
     versiontup = package_version.split ('.')
-    branch_str = 'stable-branch'
+    branch_str = _('stable-branch')
     if int ( versiontup[1]) %  2:
-        branch_str = 'development-branch'
+        branch_str = _('development-branch')
 
     for prefix, ext_list in pages_dict.items ():
         for lang_ext in ext_list:
@@ -237,23 +254,27 @@ def add_html_footer (package_name = '',
             ### add footer
             if re.search (footer_tag, s) == None:
                 s = add_footer (s)
+                
                 available, missing = find_translations (prefix, lang_ext)
                 page_flavors = process_links (s, prefix, lang_ext, file_name, missing, target)
                 # Add menu after stripping: must not have autoselection for language menu.
-                page_flavors = add_menu (page_flavors, prefix, available)
-            # urg, this stuff is oudated and seems useless, let's disable it
+                page_flavors = add_menu (page_flavors, prefix, available, target, translation)
+            # urg, this stuff is outdated and seems useless, let's disable it
             #else:
             #    for e in [l.webext for l in langdefs.LANGUAGES]:
             #        if not e in pages_dict[prefix]:
             #            page_flavors[langdefs.lang_file_name (prefix, e, '.html')] = s
-
-            subst = globals ()
-            subst.update (locals())
+            subst = dict ([i for i in globals().items() if type (i[1]) is str])
+            subst.update (dict ([i for i in locals().items() if type (i[1]) is str]))
             for k in page_flavors.keys():
-                page_flavors[k] = page_flavors[k] % subst
-
+                if page_flavors[k][0] in translation.keys():
+                    for name in subst.keys():
+                        subst[name] = translation[page_flavors[k][0]] (subst[name])
+                subst['footer_name_version'] = subst['footer_name_version'] % subst
+                subst['footer_report_errors'] = subst['footer_report_errors'] % subst
+                page_flavors[k][1] = page_flavors[k][1] % subst
                 out_f = open (name_filter (k), 'w')
-                out_f.write (page_flavors[k])
+                out_f.write (page_flavors[k][1])
                 out_f.close()
         # if the page is translated, a .en.html symlink is necessary for content negotiation
         if target == 'online' and ext_list != ['']:
index 993398e002e14f3710003c8665bc2bdc1f875c51..47f53c9b3cc25e0698e38508cff90d2b40d79277 100644 (file)
@@ -4,6 +4,9 @@
 Documentation i18n module
 """
 
+def _ (s):
+    return s
+
 def lang_file_name (p, langext, ext):
     if langext != '':
         return p + '.' + langext + ext
@@ -28,8 +31,8 @@ class LanguageDef:
 # here. For each 'Documentation/ab' directory containing docs
 # translated in 'ab', there should be an entry in LANGUAGES.
 
-site = LanguageDef ('en', 'English', webext='')
-fr = LanguageDef ('fr', 'French', double_punct_char_sep='&nbsp;')
+site = LanguageDef ('en', _('English'), webext='')
+fr = LanguageDef ('fr', _('French'), double_punct_char_sep='&nbsp;')
 #nl = LanguageDef ('nl', 'Nederlands')
 
 # Outdated or broken translations may be disabled
@@ -41,7 +44,6 @@ LANGUAGES = (site, fr)
 if __name__ == '__main__':
     print ' '.join ([l.code for l in LANGUAGES if l.enabled and l.code != 'en'])
 else:
-    import gettext
     LANGDICT = {}
     for l in LANGUAGES:
         LANGDICT[l.code] = l
index 9f914008f79fcce5dddf38bbb1ccc83885c2769b..8fc24187dededcdd73e3a6cb9429ca3215cd6007 100644 (file)
@@ -7,9 +7,17 @@ import sys
 import re
 import getopt
 import os
-import string
 
-optlist, texi_files = getopt.getopt(sys.argv[1:],'no:d:b:i:',['skeleton', 'gettext'])
+def read_pipe (command):
+    print command
+    pipe = os.popen (command)
+    output = pipe.read ()
+    if pipe.close ():
+        print "pipe failed: %(command)s" % locals ()
+    return output
+
+
+optlist, texi_files = getopt.getopt(sys.argv[1:],'no:d:b:i:l:',['skeleton', 'gettext'])
 process_includes = not ('-n', '') in optlist # -n   don't process @include's in texinfo files
 
 make_gettext = ('--gettext', '') in optlist   # --gettext    generate a node list from a Texinfo source
@@ -17,7 +25,24 @@ make_skeleton = ('--skeleton', '') in optlist # --skeleton   extract the node tr
 
 output_file = 'doc.pot'
 node_blurb = ''
-intro_blurb = ''
+doclang = ''
+topfile = os.path.basename (texi_files[0])
+head_committish = read_pipe ('git-rev-parse HEAD')
+intro_blurb = '''@c -*- coding: utf-8; mode: texinfo%(doclang)s -*-
+@c This file is part of %(topfile)s
+@ignore
+    Translation of GIT committish: %(head_committish)s
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+'''
+
+end_blurb = """
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
+"""
 
 for x in optlist:
        if x[0] == '-o': # -o NAME   set PO output file name to NAME
@@ -28,6 +53,12 @@ for x in optlist:
                node_blurb = x[1]
        elif x[0] == '-i': # -i BLURB  set blurb written at beginning of each file to BLURB
                intro_blurb = x[1]
+       elif x[0] == '-l': # -l ISOLANG  set documentlanguage to ISOLANG
+               doclang = '; documentlanguage: ' + x[1]
+
+
+intro_blurb = intro_blurb % vars()
+
 
 def process_texi (texifilename, i_blurb, n_blurb, write_skeleton, output_file=None):
        try:
@@ -40,7 +71,7 @@ def process_texi (texifilename, i_blurb, n_blurb, write_skeleton, output_file=No
                        g.write (i_blurb)
                        tutu = re.findall (r"""^(\*) +([^:
                        ]+)::[^
-                       ]*?$|^@(include|menu|end menu|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^@
+                       ]*?$|^@(include|menu|end menu|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^
                        ]*)[^
                        ]*?$|@(rglos){(.+?)}""", texifile, re.M)
                        node_trigger = False
@@ -58,12 +89,14 @@ def process_texi (texifilename, i_blurb, n_blurb, write_skeleton, output_file=No
                                                if output_file:
                                                        output_file.write ('_("' + item[3].strip () + '") # @' + item[2] + \
                                                                           ' in ' + texifilename + '\n')
-                                               node_trigger = True
+                                               if item[2] == 'node':
+                                                       node_trigger = True
                                        elif item[2] == 'include':
                                                includes.append(item[3])
+                       g.write (end_blurb)
                        g.close ()
                elif output_file:
-                       toto = re.findall (r"""^@(include|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^@
+                       toto = re.findall (r"""^@(include|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^
                        ]*)[^
                        ]*?$|@(rglos){(.+?)}""", texifile, re.M)
                        for item in toto:
diff --git a/buildscripts/texi-skeleton-update.py b/buildscripts/texi-skeleton-update.py
new file mode 100644 (file)
index 0000000..399b22e
--- /dev/null
@@ -0,0 +1,25 @@
+#!@PYTHON@
+# texi-skeleton-update.py
+
+import sys
+import glob
+import os
+import shutil
+
+sys.stderr.write ('texi-skeleton-update.py\n')
+
+orig_skeletons = set ([os.path.basename (f) for f in glob.glob (sys.argv[1] + '/*.itely')])
+new_skeletons = set ([os.path.basename (f) for f in glob.glob (sys.argv[2] + '/*.itely')])
+
+for f in new_skeletons:
+    if f in orig_skeletons:
+        g = open (os.path.join (sys.argv[1], f), 'r').read ()
+        if '-- SKELETON FILE --' in g:
+            sys.stderr.write ("Updating %s...\n" % f)
+            shutil.copy (os.path.join (sys.argv[2], f), sys.argv[1])
+    else:
+        sys.stderr.write ("Copying new file %s...\n" % f)
+        shutil.copy (os.path.join (sys.argv[2], f), sys.argv[1])
+
+for f in orig_skeletons.difference (new_skeletons):
+    sys.stderr.write ("Warning: outdated skeleton file %s\n" % f)
index 09ae7b80fb42f67929bfea59d0ad7e67a285b0b0..cc38c392be222f499df629bc3a1d4ebe0a3e5584 100644 (file)
@@ -9,6 +9,7 @@
 import sys
 import os
 import re
+import gettext
 
 package_name, package_version, buildscript_dir, outdir, targets = sys.argv[1:]
 targets = targets.split (' ')
@@ -78,10 +79,21 @@ if 'online' in targets:
     f.write ('#.htaccess\nDirectoryIndex index\n')
     f.close ()
 
+# load gettext messages catalogs
+translation = {}
+localedir = os.path.join (buildscript_dir, '../Documentation/po', outdir)
+for l in langdefs.LANGUAGES:
+    if l.enabled and l.code != 'en':
+        try:
+            translation[l.code] = gettext.translation('lilypond-doc', localedir, [l.code]).gettext
+        except:
+            translation[l.code] = lambda s: s
+
 add_html_footer.build_pages_dict (html_files)
 for t in targets:
     sys.stderr.write ("Processing HTML pages for %s target...\n" % t)
     add_html_footer.add_html_footer (
+        translation = translation,
         package_name = package_name,
         package_version = package_version,
         target = t,
diff --git a/input/regression/cluster-single-note.ly b/input/regression/cluster-single-note.ly
new file mode 100644 (file)
index 0000000..5b66a79
--- /dev/null
@@ -0,0 +1,8 @@
+\header
+{
+  texidoc = "don't crash on single chord clusters."
+}
+
+
+\version "2.11.19"
+\relative c' { \makeClusters <e d'> } 
index c1af9532356744e32a1787c91fd546de77285807..fb2e46f39752550a51e61607300ae633c9044689 100644 (file)
@@ -1,12 +1,11 @@
-\version "2.10.0" \header{
+\version "2.10.0"
 
+ \header{
 
-  texidoc = "Concurrent tuplets should be equidistant on all staffs.
-Such equidistant spacing is it at odds with elegant engraver spacing;
+  texidoc = "Concurrent tuplets should be equidistant on all staves.
+Such equidistant spacing is at odds with elegant engraver spacing;
 hence it must be switched on explicitly with the
-@code{uniform-stretching} property of @code{SpacingSpanner}.
-"
-
+@code{uniform-stretching} property of @code{SpacingSpanner}."
 }
 
 
index 865ff4fc48b15f2c99d42c1ed5ee251cdb2836e8..7667b237734188447cefd3c8da1efba33453296e 100644 (file)
@@ -2,9 +2,9 @@
 
 \header {
 
-  texidoc = "System separators maybe defined as markups in the
-@code{systemSeparator} field of the paper block. They are centered
-between the boundary staffs of each system. "
+  texidoc = "System separators may be defined as markups in the
+@code{systemSeparator} field of the paper block.  They are centered
+between the boundary staves of each system."
 
 }
 
index 52aa67496d9e416b69484aa3895d1e48fcbd9a52..217f9525300420d96ff197bad64a1d3fa4b5c600 100644 (file)
@@ -1,12 +1,11 @@
 \version "2.10.0" 
 
-\header{ texidoc="@cindex Nested Staff Groups
-Staffs can be nested in various combinations. Here, @code{StaffGroup}
+\header{
+  texidoc="@cindex Nested Staff Groups
+Staves can be nested in various combinations.  Here, @code{StaffGroup}
 and @code{ChoirStaff} produce similar straight brackets, whereas 
-@code{GrandStaff} produces curly brackets. In @code{InnerStaffGroup} 
-and @code{InnerChoirStaff}, the brackets are shifted leftwards.
-
-"
+@code{GrandStaff} produces curly brackets.  In @code{InnerStaffGroup} 
+and @code{InnerChoirStaff}, the brackets are shifted leftwards."
 }
 
 \score { 
index 28839e5fce33a379e121aca0a96831d96712678d..b46f3ac123db60b2faaabad89941c3b7277cb3fd 100644 (file)
@@ -1,7 +1,7 @@
 \version "2.10.0"
 % TODO: huh?  what's this file about?  -gp
-% This file shows that Staffs can get a very deep or high; there is a lot
-% of room between the staffs. 
+% This file shows that Staff grobs can get very deep or high; there is a lot
+% of room between the staves. 
 
 \header { texidoc = "
 Vertical extents may increased by setting @code{\override VerticalAxisGroup #'minimum-Y-extent}, 
index e5ed481f6a53d8e32820f4d96ff4ac424717291f..898846e2d8db20e40be284aabfd1718f5e646992 100644 (file)
@@ -55,7 +55,17 @@ Cluster_spanner_engraver::finalize ()
 void
 Cluster_spanner_engraver::typeset_grobs ()
 {
-  finished_spanner_ = 0;
+  if (finished_spanner_)
+    {
+      if (!finished_spanner_->get_bound (RIGHT))
+       {
+         finished_spanner_->set_bound (RIGHT,
+                                       finished_spanner_->get_bound (LEFT));
+                                       
+       }
+      
+      finished_spanner_ = 0;
+    }
   beacon_ = 0;
 }
 
index d7102ac15b33aa576425728e3c1917ecdd529a37..a6ab40d9093fcc1f58d4120be8a2f92da0a12783 100644 (file)
@@ -29,7 +29,7 @@ Staff_symbol::print (SCM smob)
   Interval span_points (0, 0);
 
   /*
-    For raggedright without ragged staffs, simply set width to the linewidth.
+    For raggedright without ragged staves, simply set width to the linewidth.
 
     (ok -- lousy UI, since width is in staff spaces)
 
index 64e7333f134d06bbbb0816ea819cb777bb56ba38..fe214ac48dee3fc7e0635c973bf95199a7360730 100644 (file)
@@ -37,7 +37,7 @@ protected:
 
 ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
 ADD_TRANSLATOR (Vertical_align_engraver,
-               "Catch groups (staffs, lyrics lines, etc.) and stack "
+               "Catch groups (staves, lyrics lines, etc.) and stack "
                "them vertically.",
                /* create */ "VerticalAlignment",
                /* read */
index d7611535a7bb9d9e0d9a5b5a062c5e17ddc0a29e..e9f845503c04cdbc3ec49c49d892bcb89796b551 100644 (file)
@@ -92,7 +92,7 @@ Volta_engraver::staff_eligible ()
      volta engraver in score context or somesuch. */
   if (!scm_is_pair (staffs))
     {
-      programming_error ("volta engraver can't find staffs");
+      programming_error ("volta engraver can't find staves");
       return false;
     }
   else if (scm_car (scm_last_pair (staffs)) != staff_)
index a69c7ad16f34278fabefaf1913bd666af8a6393a..345e48755e201f58bbc73033cb63cc59d099270c 100644 (file)
@@ -6,7 +6,7 @@
   \accepts "Score"
 
   \defaultchild "Score"
-  \description "Hard coded entry point for LilyPond. Cannot be tuned."
+  \description "Hard coded entry point for LilyPond.  Cannot be tuned."
   \grobdescriptions #all-grob-descriptions
 }
 
@@ -166,10 +166,8 @@ contained staves are not connected vertically."
   \accepts "CueVoice"
   \defaultchild "Voice"
 
-  \description  "
-    A context like @code{Staff} but for printing rhythms.  Pitches are
-    ignored; the notes are printed on one line.  
-"
+  \description "A context like @code{Staff} but for printing rhythms.
+Pitches are ignored; the notes are printed on one line."
 }
 
 
@@ -177,13 +175,12 @@ contained staves are not connected vertically."
   \type "Engraver_group"
   \name "Voice"
 
-  \description "
-    Corresponds to a voice on a staff.  This context handles the
-    conversion of dynamic signs, stems, beams, super- and subscripts,
-    slurs, ties, and rests.
+  \description "Corresponds to a voice on a staff.  This context
+handles the conversion of dynamic signs, stems, beams, super- and
+subscripts, slurs, ties, and rests.
 
-    You have to instantiate this explicitly if you want to have
-    multiple voices on the same staff."
+You have to instantiate this explicitly if you want to have
+multiple voices on the same staff."
 
   localKeySignature = #'()
   \consists "Font_size_engraver"
@@ -285,9 +282,9 @@ contained staves are not connected vertically."
   \name GrandStaff
   localKeySignature = #'()
   
-  \description " A group of staffs, with a brace on the left
-    side, grouping the staves together.  The bar lines of the
-    contained staves are connected vertically.  "
+  \description "A group of staves, with a brace on the left
+side, grouping the staves together.  The bar lines of the
+contained staves are connected vertically."
 
   \consists "Span_bar_engraver"
   \consists "Span_arpeggio_engraver"
@@ -303,9 +300,9 @@ contained staves are not connected vertically."
   \name "PianoStaff"
   \alias "GrandStaff"
 
-  \description
-  "Just like @code{GrandStaff} but with a forced distance between
-    the staves, so cross staff beaming and slurring can be used."
+  \description "Just like @code{GrandStaff} but with a forced
+distance between the staves, so cross staff beaming and slurring
+can be used."
 
   \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
   \consists "Instrument_name_engraver"
@@ -340,12 +337,10 @@ contained staves are not connected vertically."
   \InnerStaffGroup
   \name StaffGroup
   
-  \description
-
-  "Groups staffs while adding a bracket on the left side, grouping
-the staves together.  The bar lines of the contained staves are
-connected vertically.  StaffGroup only consists of a collection of
-staffs, with a bracket in front and spanning bar lines. "
+  \description "Groups staves while adding a bracket on the left
+side, grouping the staves together.  The bar lines of the contained
+staves are connected vertically.  @code{StaffGroup} only consists of
+a collection of staves, with a bracket in front and spanning bar lines."
   
   \accepts "InnerChoirStaff"
   \accepts "ChoirStaff"
@@ -358,8 +353,8 @@ staffs, with a bracket in front and spanning bar lines. "
   \type "Engraver_group"
   \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 2.0)
 
-  \description " Corresponds to a voice with lyrics.  Handles the
-printing of a single line of lyrics.  "
+  \description "Corresponds to a voice with lyrics.  Handles the
+printing of a single line of lyrics."
   
   \name "Lyrics"
   instrumentName = #'()
@@ -448,16 +443,15 @@ AncientRemoveEmptyStaffContext = \context {
   \name "Score"
   
   \description "This is the top level notation context.  No
-    other context can contain a @code{Score} context.  This context
-    handles the administration of time signatures.  It also makes sure
-    that items such as clefs, time signatures, and key-signatures are
-    aligned across staves.
-
-    You cannot explicitly instantiate a Score context (since it is
-    not contained in any other context).  It is instantiated
-    automatically when an output definition (a @code{\score} or
-    @code{\layout} block) is processed."
+other context can contain a @code{Score} context.  This context
+handles the administration of time signatures.  It also makes sure
+that items such as clefs, time signatures, and key-signatures are
+aligned across staves.
 
+You cannot explicitly instantiate a @code{Score} context (since it
+is not contained in any other context).  It is instantiated
+automatically when an output definition (a @code{\score} or
+@code{\layout} block) is processed."
 
   \consists "Paper_column_engraver"
   \consists "Vertically_spaced_contexts_engraver"
@@ -656,7 +650,8 @@ AncientRemoveEmptyStaffContext = \context {
   \alias "Staff"
   \alias "Voice"
   \consists "Swallow_engraver"
-  \description "Silently discards all musical information given to this context. "
+  \description "Silently discards all musical information given to this
+context."
 }
 
 \context {
@@ -670,7 +665,7 @@ AncientRemoveEmptyStaffContext = \context {
   \remove "Fingering_engraver"
   \remove "New_fingering_engraver"
 
-  \description "Context for drawing notes in a Tab staff. "
+  \description "Context for drawing notes in a Tab staff."
 
   %% TabStaff increase the staff-space, which in turn
   %% increases beam thickness and spacing; beams are
@@ -731,7 +726,9 @@ AncientRemoveEmptyStaffContext = \context {
   \Voice
   \name "VaticanaVoice"
   \alias "Voice"
-  \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
+  \description "Same as @code{Voice} context, except that it is
+accommodated for typesetting Gregorian Chant in the notational style
+of Editio Vaticana."
 
   \remove "Slur_engraver"
   \remove "Stem_engraver"
@@ -770,7 +767,9 @@ AncientRemoveEmptyStaffContext = \context {
   \accepts "VaticanaVoice"
   \defaultchild "VaticanaVoice"
 
-  \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
+  \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting Gregorian Chant in the notational style
+of Editio Vaticana."
 
   \remove "Time_signature_engraver"
   \consists "Custos_engraver"
@@ -851,7 +850,8 @@ AncientRemoveEmptyStaffContext = \context {
   \Voice
   \name "MensuralVoice"
   \alias "Voice"
-  \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
+  \description "Same as @code{Voice} context, except that it is
+accommodated for typesetting a piece in mensural style."
 
   \remove "Slur_engraver"
   \remove "Ligature_bracket_engraver"
@@ -871,7 +871,8 @@ AncientRemoveEmptyStaffContext = \context {
   \denies "Voice"
   \defaultchild "MensuralVoice"
   \accepts "MensuralVoice"
-  \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
+  \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting a piece in mensural style."
 
   \consists "Custos_engraver"
 
index 8caa983b729bfb5b5b25bcfc52643b1940b41840..9bd663a33e76f2008d8a951c7d82c98b4f3eaf91 100644 (file)
@@ -1,19 +1,18 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
+# Translation of LilyPond.
+# Copyright (C) 2007 Han-Wen Nienhuys, Jan Nieuwenhuizen
+# This file is distributed under the same license as the lilypond package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-12-24 10:40+0100\n"
+"Project-Id-Version: lilypond 2.11.20\n"
+"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs"
+"POT-Creation-Date: 2007-02-25 22:11+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: convertrules.py:12
@@ -30,20 +29,20 @@ msgstr ""
 msgid "%s has been replaced by %s"
 msgstr ""
 
-#: convertrules.py:2398
+#: convertrules.py:2399
 msgid "LilyPond source must be UTF-8"
 msgstr ""
 
-#: convertrules.py:2401
+#: convertrules.py:2402
 msgid "Try the texstrings backend"
 msgstr ""
 
-#: convertrules.py:2404
+#: convertrules.py:2405
 #, python-format
 msgid "Do something like: %s"
 msgstr ""
 
-#: convertrules.py:2407
+#: convertrules.py:2408
 msgid "Or save as UTF-8 in your editor"
 msgstr ""
 
@@ -77,395 +76,399 @@ msgstr ""
 msgid "Usage: %s"
 msgstr ""
 
-#: abc2ly.py:1349 convert-ly.py:80 lilypond-book.py:125 midi2ly.py:869
+#: abc2ly.py:1342 convert-ly.py:71 lilypond-book.py:110 midi2ly.py:858
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr ""
 
-#: abc2ly.py:1351
+#: abc2ly.py:1344
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
 "%s) to LilyPond input."
 msgstr ""
 
-#: abc2ly.py:1355 etf2ly.py:1200 midi2ly.py:885
+#: abc2ly.py:1348 etf2ly.py:1184 midi2ly.py:874
 msgid "write output to FILE"
 msgstr ""
 
-#: abc2ly.py:1357
+#: abc2ly.py:1350
 msgid "be strict about succes"
 msgstr ""
 
-#: abc2ly.py:1359
+#: abc2ly.py:1352
 msgid "preserve ABC's notion of beams"
 msgstr ""
 
-#: abc2ly.py:1361 convert-ly.py:112 etf2ly.py:1208 lilypond-book.py:168
-#: midi2ly.py:911 musicxml2ly.py:505
+#: abc2ly.py:1354 convert-ly.py:103 etf2ly.py:1192 lilypond-book.py:161
+#: midi2ly.py:900 musicxml2ly.py:506
 msgid "Report bugs via"
 msgstr ""
 
-#: convert-ly.py:41
+#: convert-ly.py:32
 msgid ""
 "Update LilyPond input to newer version.  By default, update from the\n"
 "version taken from the \\version command, to the current LilyPond version."
 msgstr ""
 
-#: convert-ly.py:43 lilypond-book.py:73
+#: convert-ly.py:34 lilypond-book.py:59
 msgid "Examples:"
 msgstr ""
 
-#: convert-ly.py:56 lilypond-book.py:98 warn.cc:48 input.cc:90
+#: convert-ly.py:47 lilypond-book.py:83 warn.cc:48 input.cc:90
 #, c-format, python-format
 msgid "warning: %s"
 msgstr ""
 
-#: convert-ly.py:59 lilypond-book.py:101 warn.cc:54 input.cc:96 input.cc:104
+#: convert-ly.py:50 lilypond-book.py:86 warn.cc:54 input.cc:96 input.cc:104
 #, c-format, python-format
 msgid "error: %s"
 msgstr ""
 
-#: convert-ly.py:75 etf2ly.py:1190 lilypond-book.py:121 midi2ly.py:98
+#: convert-ly.py:66 etf2ly.py:1174 lilypond-book.py:106 midi2ly.py:87
 msgid "Distributed under terms of the GNU General Public License."
 msgstr ""
 
-#: convert-ly.py:76 etf2ly.py:1191 lilypond-book.py:122 midi2ly.py:99
+#: convert-ly.py:67 etf2ly.py:1175 lilypond-book.py:107 midi2ly.py:88
 msgid "It comes with NO WARRANTY."
 msgstr ""
 
-#: convert-ly.py:86 convert-ly.py:106
+#: convert-ly.py:77 convert-ly.py:97
 msgid "VERSION"
 msgstr ""
 
-#: convert-ly.py:88
+#: convert-ly.py:79
 msgid "start from VERSION [default: \\version found in file]"
 msgstr ""
 
-#: convert-ly.py:91
+#: convert-ly.py:82
 msgid "edit in place"
 msgstr ""
 
-#: convert-ly.py:94
+#: convert-ly.py:85
 msgid "do not add \\version command if missing"
 msgstr ""
 
-#: convert-ly.py:100
+#: convert-ly.py:91
 msgid "show rules [default: --from=0, --to=@TOPLEVEL_VERSION@]"
 msgstr ""
 
-#: convert-ly.py:105
+#: convert-ly.py:96
 msgid "convert to VERSION [default: @TOPLEVEL_VERSION@]"
 msgstr ""
 
-#: convert-ly.py:153
+#: convert-ly.py:144
 msgid "Applying conversion: "
 msgstr ""
 
-#: convert-ly.py:166
+#: convert-ly.py:157
 msgid "Error while converting"
 msgstr ""
 
-#: convert-ly.py:168
+#: convert-ly.py:159
 msgid "Stopping at last succesful rule"
 msgstr ""
 
-#: convert-ly.py:190
+#: convert-ly.py:181
 #, python-format
 msgid "Processing `%s'... "
 msgstr ""
 
-#: convert-ly.py:277 relocate.cc:360 source-file.cc:54
+#: convert-ly.py:268 relocate.cc:363 source-file.cc:54
 #, c-format, python-format
 msgid "cannot open file: `%s'"
 msgstr ""
 
-#: convert-ly.py:284
+#: convert-ly.py:275
 #, python-format
 msgid "cannot determine version for `%s'.  Skipping"
 msgstr ""
 
-#: etf2ly.py:1196
+#: etf2ly.py:1180
 #, python-format
 msgid "%s [OPTION]... ETF-FILE"
 msgstr ""
 
-#: etf2ly.py:1198
+#: etf2ly.py:1182
 msgid ""
 "Enigma Transport Format is a format used by Coda Music Technology's\n"
 "Finale product.  etf2ly converts a subset of ETF to a ready-to-use LilyPond "
 "file."
 msgstr ""
 
-#: etf2ly.py:1201 midi2ly.py:886 musicxml2ly.py:498 main.cc:172 main.cc:178
+#: etf2ly.py:1185 midi2ly.py:875 musicxml2ly.py:499 main.cc:154 main.cc:159
 msgid "FILE"
 msgstr ""
 
-#: etf2ly.py:1203 lilypond-book.py:165 midi2ly.py:899 main.cc:185
+#: etf2ly.py:1187 lilypond-book.py:158 midi2ly.py:888 main.cc:163
 msgid "show warranty and copyright"
 msgstr ""
 
-#: lilypond-book.py:71
+#: lilypond-book.py:57
 msgid ""
 "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr ""
 
-#: lilypond-book.py:78
+#: lilypond-book.py:64
 msgid "BOOK"
 msgstr ""
 
-#: lilypond-book.py:87
+#: lilypond-book.py:72
 #, python-format
 msgid "Exiting (%d)..."
 msgstr ""
 
-#: lilypond-book.py:119
+#: lilypond-book.py:104
 #, python-format
 msgid "Copyright (c) %s by"
 msgstr ""
 
-#: lilypond-book.py:129
+#: lilypond-book.py:114
 msgid "FILTER"
 msgstr ""
 
-#: lilypond-book.py:132
+#: lilypond-book.py:117
 msgid "pipe snippets through FILTER [convert-ly -n -]"
 msgstr ""
 
-#: lilypond-book.py:135
+#: lilypond-book.py:120
 msgid ""
 "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr ""
 
-#: lilypond-book.py:138
+#: lilypond-book.py:123
 msgid "add DIR to include path"
 msgstr ""
 
-#: lilypond-book.py:139 lilypond-book.py:144 main.cc:171
+#: lilypond-book.py:124 lilypond-book.py:136 main.cc:153
 msgid "DIR"
 msgstr ""
 
-#: lilypond-book.py:143
+#: lilypond-book.py:129
+msgid "PAD"
+msgstr ""
+
+#: lilypond-book.py:135
 msgid "write output to DIR"
 msgstr ""
 
-#: lilypond-book.py:147
+#: lilypond-book.py:140
 msgid "COMMAND"
 msgstr ""
 
-#: lilypond-book.py:148
+#: lilypond-book.py:141
 msgid "process ly_files using COMMAND FILE..."
 msgstr ""
 
-#: lilypond-book.py:154
+#: lilypond-book.py:147
 msgid "Create PDF files for use with PDFTeX"
 msgstr ""
 
-#: lilypond-book.py:157
+#: lilypond-book.py:150
 msgid ""
 "extract all PostScript fonts into INPUT.psfonts for LaTeX\n"
 "must use this with dvips -h INPUT.psfonts"
 msgstr ""
 
-#: lilypond-book.py:160 midi2ly.py:896 musicxml2ly.py:489 main.cc:184
+#: lilypond-book.py:153 midi2ly.py:885 musicxml2ly.py:490 main.cc:162
 msgid "be verbose"
 msgstr ""
 
-#: lilypond-book.py:773
+#: lilypond-book.py:768
 #, python-format
 msgid "file not found: %s"
 msgstr ""
 
-#: lilypond-book.py:1004
+#: lilypond-book.py:999
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
 msgstr ""
 
-#: lilypond-book.py:1007
+#: lilypond-book.py:1002
 #, python-format
 msgid "compatibility mode translation: %s=%s"
 msgstr ""
 
-#: lilypond-book.py:1011
+#: lilypond-book.py:1006
 #, python-format
 msgid "deprecated ly-option used: %s"
 msgstr ""
 
-#: lilypond-book.py:1014
+#: lilypond-book.py:1009
 #, python-format
 msgid "compatibility mode translation: %s"
 msgstr ""
 
-#: lilypond-book.py:1033
+#: lilypond-book.py:1028
 #, python-format
 msgid "ignoring unknown ly option: %s"
 msgstr ""
 
-#: lilypond-book.py:1388
+#: lilypond-book.py:1382
 #, python-format
 msgid "Opening filter `%s'"
 msgstr ""
 
-#: lilypond-book.py:1405
+#: lilypond-book.py:1399
 #, python-format
 msgid "`%s' failed (%d)"
 msgstr ""
 
-#: lilypond-book.py:1406
+#: lilypond-book.py:1400
 msgid "The error log is as follows:"
 msgstr ""
 
-#: lilypond-book.py:1476
+#: lilypond-book.py:1472
 msgid "cannot find \\begin{document} in LaTeX document"
 msgstr ""
 
-#: lilypond-book.py:1586
+#: lilypond-book.py:1583
 msgid "Writing snippets..."
 msgstr ""
 
-#: lilypond-book.py:1591
+#: lilypond-book.py:1588
 msgid "Processing..."
 msgstr ""
 
-#: lilypond-book.py:1595
+#: lilypond-book.py:1592
 msgid "All snippets are up to date..."
 msgstr ""
 
-#: lilypond-book.py:1605
+#: lilypond-book.py:1602
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr ""
 
-#: lilypond-book.py:1616
+#: lilypond-book.py:1613
 #, python-format
 msgid "%s is up to date."
 msgstr ""
 
-#: lilypond-book.py:1622
+#: lilypond-book.py:1619
 #, python-format
 msgid "Writing `%s'..."
 msgstr ""
 
-#: lilypond-book.py:1677
+#: lilypond-book.py:1674
 msgid "Output would overwrite input file; use --output."
 msgstr ""
 
-#: lilypond-book.py:1681
+#: lilypond-book.py:1678
 #, python-format
 msgid "Reading %s..."
 msgstr ""
 
-#: lilypond-book.py:1700
+#: lilypond-book.py:1697
 msgid "Dissecting..."
 msgstr ""
 
-#: lilypond-book.py:1716
+#: lilypond-book.py:1713
 #, python-format
 msgid "Compiling %s..."
 msgstr ""
 
-#: lilypond-book.py:1725
+#: lilypond-book.py:1722
 #, python-format
 msgid "Processing include: %s"
 msgstr ""
 
-#: lilypond-book.py:1739
+#: lilypond-book.py:1736
 #, python-format
 msgid "Removing `%s'"
 msgstr ""
 
-#: lilypond-book.py:1815
-#, python-format
-msgid "Writing fonts to %s..."
-msgstr ""
-
-#: lilypond-book.py:1830
+#: lilypond-book.py:1769
 msgid "option --psfonts not used"
 msgstr ""
 
-#: lilypond-book.py:1831
+#: lilypond-book.py:1770
 msgid "processing with dvips will have no fonts"
 msgstr ""
 
-#: lilypond-book.py:1834
+#: lilypond-book.py:1773
 msgid "DVIPS usage:"
 msgstr ""
 
-#: midi2ly.py:106 lily-library.scm:624 lily-library.scm:632
+#: lilypond-book.py:1829
+#, python-format
+msgid "Writing fonts to %s..."
+msgstr ""
+
+#: midi2ly.py:95 lily-library.scm:577 lily-library.scm:586
 msgid "warning: "
 msgstr ""
 
-#: midi2ly.py:109 midi2ly.py:924
+#: midi2ly.py:98 midi2ly.py:913
 msgid "error: "
 msgstr ""
 
-#: midi2ly.py:110
+#: midi2ly.py:99
 msgid "Exiting ... "
 msgstr ""
 
-#: midi2ly.py:857
+#: midi2ly.py:846
 #, python-format
 msgid "%s output to `%s'..."
 msgstr ""
 
-#: midi2ly.py:871 musicxml2ly.py:485
+#: midi2ly.py:860 musicxml2ly.py:486
 #, python-format
 msgid "Convert %s to LilyPond input."
 msgstr ""
 
-#: midi2ly.py:875
+#: midi2ly.py:864
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:877 midi2ly.py:889
+#: midi2ly.py:866 midi2ly.py:878
 msgid "DUR"
 msgstr ""
 
-#: midi2ly.py:878
+#: midi2ly.py:867
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:881
+#: midi2ly.py:870
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:882
+#: midi2ly.py:871
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
-#: midi2ly.py:883
+#: midi2ly.py:872
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:888
+#: midi2ly.py:877
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:891
+#: midi2ly.py:880
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:894
+#: midi2ly.py:883
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:902
+#: midi2ly.py:891
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:905
+#: midi2ly.py:894
 msgid "Examples"
 msgstr ""
 
-#: midi2ly.py:925
+#: midi2ly.py:914
 msgid "no files specified on command line."
 msgstr ""
 
-#: musicxml2ly.py:473
+#: musicxml2ly.py:474
 msgid "musicxml2ly FILE.xml"
 msgstr ""
 
-#: musicxml2ly.py:476
+#: musicxml2ly.py:477
 #, python-format
 msgid ""
 "This program is free software.  It is covered by the GNU General Public\n"
@@ -474,11 +477,11 @@ msgid ""
 "information."
 msgstr ""
 
-#: musicxml2ly.py:495
+#: musicxml2ly.py:496
 msgid "Use lxml.etree; uses less memory and cpu time."
 msgstr ""
 
-#: musicxml2ly.py:503
+#: musicxml2ly.py:504
 msgid "set output filename to FILE"
 msgstr ""
 
@@ -502,7 +505,7 @@ msgstr ""
 msgid "invalid argument `%s' to option `%s'"
 msgstr ""
 
-#: warn.cc:68 grob.cc:559 input.cc:82
+#: warn.cc:68 grob.cc:557 input.cc:82
 #, c-format
 msgid "programming error: %s"
 msgstr ""
@@ -511,37 +514,41 @@ msgstr ""
 msgid "continuing, cross fingers"
 msgstr ""
 
-#: accidental-engraver.cc:240
+#: accidental-engraver.cc:247
 #, c-format
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:268
+#: accidental-engraver.cc:274
 #, c-format
-msgid "ignoring unknown accidental: %s"
+msgid "ignoring unknown accidental rule: %s"
 msgstr ""
 
-#: accidental-engraver.cc:284
+#: accidental-engraver.cc:290
 #, c-format
 msgid "pair or context-name expected for accidental rule, found %s"
 msgstr ""
 
-#: accidental.cc:243 key-signature-interface.cc:133
+#: accidental.cc:160
 #, c-format
-msgid "accidental `%s' not found"
+msgid "Could not find glyph-name for alteration %s"
+msgstr ""
+
+#: accidental.cc:175
+msgid "natural alteration glyph not found"
 msgstr ""
 
-#: align-interface.cc:222
+#: align-interface.cc:191
 msgid ""
 "vertical alignment called before line-breaking.\n"
 "Only do cross-staff spanners with PianoStaff."
 msgstr ""
 
-#: align-interface.cc:329
+#: align-interface.cc:324
 msgid "tried to get a translation for something that is no child of mine"
 msgstr ""
 
-#: all-font-metrics.cc:173
+#: all-font-metrics.cc:143
 #, c-format
 msgid "cannot find font: `%s'"
 msgstr ""
@@ -567,57 +574,52 @@ msgstr ""
 msgid "removing this vertical group"
 msgstr ""
 
-#: axis-group-interface.cc:96
+#: axis-group-interface.cc:109
 msgid "tried to calculate pure-height at a non-breakpoint"
 msgstr ""
 
-#: axis-group-interface.cc:370
+#: axis-group-interface.cc:449
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr ""
 
-#: axis-group-interface.cc:383
-#, c-format
-msgid "outside-staff object %s has an empty extent"
-msgstr ""
-
 #: bar-check-iterator.cc:73
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr ""
 
-#: beam-engraver.cc:128
+#: beam-engraver.cc:126
 msgid "already have a beam"
 msgstr ""
 
-#: beam-engraver.cc:196
+#: beam-engraver.cc:202
 msgid "unterminated beam"
 msgstr ""
 
-#: beam-engraver.cc:238 chord-tremolo-engraver.cc:134
+#: beam-engraver.cc:244 chord-tremolo-engraver.cc:138
 msgid "stem must have Rhythmic structure"
 msgstr ""
 
-#: beam-engraver.cc:246
+#: beam-engraver.cc:252
 msgid "stem does not fit in beam"
 msgstr ""
 
-#: beam-engraver.cc:247
+#: beam-engraver.cc:253
 msgid "beam was started here"
 msgstr ""
 
-#: beam-quanting.cc:307
+#: beam-quanting.cc:314
 msgid "no feasible beam position"
 msgstr ""
 
-#: beam.cc:144
+#: beam.cc:160
 msgid "removing beam with no stems"
 msgstr ""
 
-#: beam.cc:1007
+#: beam.cc:1035
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr ""
 
-#: break-alignment-interface.cc:208
+#: break-alignment-interface.cc:195
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr ""
@@ -655,7 +657,7 @@ msgstr ""
 msgid "unterminated chord tremolo"
 msgstr ""
 
-#: chord-tremolo-iterator.cc:33
+#: chord-tremolo-iterator.cc:35
 #, c-format
 msgid "expect 2 elements for chord tremolo, found %d"
 msgstr ""
@@ -680,7 +682,7 @@ msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
 msgstr ""
 
 #. if we get to here, just put everything on one line
-#: constrained-breaking.cc:176 constrained-breaking.cc:193
+#: constrained-breaking.cc:167 constrained-breaking.cc:184
 msgid "cannot find line breaking that satisfies constraints"
 msgstr ""
 
@@ -689,26 +691,26 @@ msgstr ""
 msgid "program has no such type: `%s'"
 msgstr ""
 
-#: context-property.cc:76
+#: context-property.cc:30
 msgid "need symbol arguments for \\override and \\revert"
 msgstr ""
 
-#: context.cc:151
+#: context.cc:144
 #, c-format
 msgid "cannot find or create new `%s'"
 msgstr ""
 
-#: context.cc:213
+#: context.cc:206
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr ""
 
-#: context.cc:276
+#: context.cc:268
 #, c-format
 msgid "Invalid CreateContext event: Cannot create %s context"
 msgstr ""
 
-#: context.cc:388
+#: context.cc:380
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr ""
@@ -727,32 +729,32 @@ msgstr ""
 msgid "Unknown event class %s"
 msgstr ""
 
-#: dots.cc:38
+#: dots.cc:37
 #, c-format
 msgid "dot `%s' not found"
 msgstr ""
 
-#: dynamic-engraver.cc:186 span-dynamic-performer.cc:87
+#: dynamic-engraver.cc:184
 msgid "cannot find start of (de)crescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:195
+#: dynamic-engraver.cc:193
 msgid "already have a decrescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:197
+#: dynamic-engraver.cc:195
 msgid "already have a crescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:200
+#: dynamic-engraver.cc:198
 msgid "cresc starts here"
 msgstr ""
 
-#: dynamic-engraver.cc:323
+#: dynamic-engraver.cc:327
 msgid "unterminated (de)crescendo"
 msgstr ""
 
-#: extender-engraver.cc:131 extender-engraver.cc:140
+#: extender-engraver.cc:142 extender-engraver.cc:151
 msgid "unterminated extender"
 msgstr ""
 
@@ -775,27 +777,31 @@ msgstr ""
 msgid "adding font directory: %s"
 msgstr ""
 
-#: general-scheme.cc:160
+#: general-scheme.cc:180
 msgid "infinity or NaN encountered while converting Real number"
 msgstr ""
 
-#: general-scheme.cc:161
+#: general-scheme.cc:181
 msgid "setting to zero"
 msgstr ""
 
-#: glissando-engraver.cc:92
+#: general-scheme.cc:399 output-ps.scm:61
+msgid "Found infinity or nan in output. Substituting 0.0"
+msgstr ""
+
+#: glissando-engraver.cc:94
 msgid "unterminated glissando"
 msgstr ""
 
-#: global-context-scheme.cc:91 global-context-scheme.cc:107
+#: global-context-scheme.cc:87 global-context-scheme.cc:105
 msgid "no music found in score"
 msgstr ""
 
-#: global-context-scheme.cc:97
+#: global-context-scheme.cc:95
 msgid "Interpreting music... "
 msgstr ""
 
-#: global-context-scheme.cc:120
+#: global-context-scheme.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr ""
@@ -830,14 +836,28 @@ msgstr ""
 msgid "Grob `%s' has no interface for property `%s'"
 msgstr ""
 
-#: grob.cc:253
+#: grob-property.cc:34
+#, c-format
+msgid "%d: %s"
+msgstr ""
+
+#: grob-property.cc:164
+#, c-format
+msgid "cyclic dependency: calculation-in-progress encountered for #'%s (%s)"
+msgstr ""
+
+#: grob.cc:251
 msgid "Infinity or NaN encountered"
 msgstr ""
 
-#: hairpin.cc:183
+#: hairpin.cc:187
 msgid "decrescendo too small"
 msgstr ""
 
+#: hairpin.cc:188
+msgid "crescendo too small"
+msgstr ""
+
 #: horizontal-bracket-engraver.cc:59
 msgid "do not have that many brackets"
 msgstr ""
@@ -854,16 +874,12 @@ msgstr ""
 msgid "unterminated hyphen; removing"
 msgstr ""
 
-#: includable-lexer.cc:53
-msgid "include files are not allowed in safe mode"
-msgstr ""
-
-#: includable-lexer.cc:60 lily-guile.cc:90 lily-parser-scheme.cc:116
+#: includable-lexer.cc:53 lily-guile.cc:76 lily-parser-scheme.cc:117
 #, c-format
 msgid "cannot find file: `%s'"
 msgstr ""
 
-#: includable-lexer.cc:62 lily-parser-scheme.cc:107
+#: includable-lexer.cc:55 lily-parser-scheme.cc:108
 #, c-format
 msgid "(search path: `%s')"
 msgstr ""
@@ -872,6 +888,15 @@ msgstr ""
 msgid "position unknown"
 msgstr ""
 
+#: key-signature-interface.cc:71
+#, c-format
+msgid "No glyph found for alteration: %s"
+msgstr ""
+
+#: key-signature-interface.cc:81
+msgid "alteration not found"
+msgstr ""
+
 #: ligature-engraver.cc:93
 msgid "cannot find start of ligature"
 msgstr ""
@@ -900,55 +925,59 @@ msgstr ""
 msgid "ligature was started here"
 msgstr ""
 
-#: lily-guile.cc:92
+#: lily-guile.cc:78
 #, c-format
 msgid "(load path: `%s')"
 msgstr ""
 
-#: lily-guile.cc:518
+#: lily-guile.cc:438
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:521
+#: lily-guile.cc:441
 msgid "perhaps a typing error?"
 msgstr ""
 
-#: lily-guile.cc:527
+#: lily-guile.cc:448
 msgid "doing assignment anyway"
 msgstr ""
 
-#: lily-guile.cc:539
+#: lily-guile.cc:460
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lily-lexer.cc:254
+#: lily-lexer.cc:250
+msgid "include files are not allowed in safe mode"
+msgstr ""
+
+#: lily-lexer.cc:269
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr ""
 
-#: lily-lexer.cc:269
+#: lily-lexer.cc:284
 #, c-format
 msgid "error at EOF: %s"
 msgstr ""
 
-#: lily-parser-scheme.cc:29
+#: lily-parser-scheme.cc:30
 #, c-format
 msgid "deprecated function called: %s"
 msgstr ""
 
-#: lily-parser-scheme.cc:88
+#: lily-parser-scheme.cc:89
 #, c-format
 msgid "Changing working directory to: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:106
+#: lily-parser-scheme.cc:107
 #, c-format
 msgid "cannot find init file: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:125
+#: lily-parser-scheme.cc:126
 #, c-format
 msgid "Processing `%s'"
 msgstr ""
@@ -961,12 +990,16 @@ msgstr ""
 msgid "braces do not match"
 msgstr ""
 
-#: lyric-combine-music-iterator.cc:291
+#: lyric-combine-music-iterator.cc:327
 #, c-format
 msgid "cannot find Voice `%s'"
 msgstr ""
 
-#: main.cc:116
+#: lyric-engraver.cc:158
+msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
+msgstr ""
+
+#: main.cc:100
 #, c-format
 msgid ""
 "This program is free software.  It is covered by the GNU General Public\n"
@@ -975,7 +1008,7 @@ msgid ""
 "information.\n"
 msgstr ""
 
-#: main.cc:122
+#: main.cc:106
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -992,123 +1025,99 @@ msgid ""
 "Boston, MA 02111-1307, USA.\n"
 msgstr ""
 
-#: main.cc:153
-msgid "BACK"
-msgstr ""
-
-#: main.cc:153
-msgid ""
-"use backend BACK (eps, gnome, ps [default],\n"
-"scm, svg, tex, texstr)"
-msgstr ""
-
-#: main.cc:155
+#: main.cc:137
 msgid "SYM[=VAL]"
 msgstr ""
 
-#: main.cc:156
+#: main.cc:138
 msgid ""
-"set Scheme option SYM to VAL (default: #t)\n"
+"set Scheme option SYM to VAL (default: #t).\n"
 "Use -dhelp for help."
 msgstr ""
 
-#: main.cc:159
+#: main.cc:141
 msgid "EXPR"
 msgstr ""
 
-#: main.cc:159
+#: main.cc:141
 msgid "evaluate scheme code"
 msgstr ""
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
-#: main.cc:162
+#: main.cc:144
 msgid "FORMATs"
 msgstr ""
 
-#: main.cc:162
+#: main.cc:144
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr ""
 
-#: main.cc:163
+#: main.cc:145
 msgid "generate DVI (tex backend only)"
 msgstr ""
 
-#: main.cc:164
+#: main.cc:146
 msgid "generate PDF (default)"
 msgstr ""
 
-#: main.cc:165
+#: main.cc:147
 msgid "generate PNG"
 msgstr ""
 
-#: main.cc:166
+#: main.cc:148
 msgid "generate PostScript"
 msgstr ""
 
-#: main.cc:167
+#: main.cc:149
 msgid "generate TeX (tex backend only)"
 msgstr ""
 
-#: main.cc:168
+#: main.cc:150
 msgid "show this help and exit"
 msgstr ""
 
-#: main.cc:169
+#: main.cc:151
 msgid "FIELD"
 msgstr ""
 
-#: main.cc:169
+#: main.cc:151
 msgid ""
 "dump header field FIELD to file\n"
 "named BASENAME.FIELD"
 msgstr ""
 
-#: main.cc:171
+#: main.cc:153
 msgid "add DIR to search path"
 msgstr ""
 
-#: main.cc:172
+#: main.cc:154
 msgid "use FILE as init file"
 msgstr ""
 
-#: main.cc:174
-msgid "USER,GROUP,JAIL,DIR"
+#: main.cc:156
+msgid "USER, GROUP, JAIL, DIR"
 msgstr ""
 
-#: main.cc:174
+#: main.cc:156
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
 msgstr ""
 
-#: main.cc:177
-msgid "do not generate printed output"
-msgstr ""
-
-#: main.cc:178
+#: main.cc:159
 msgid "write output to FILE (suffix will be added)"
 msgstr ""
 
-#: main.cc:179
-msgid "generate a preview of the first system"
-msgstr ""
-
-#: main.cc:180
+#: main.cc:160
 msgid "relocate using directory of lilypond program"
 msgstr ""
 
-#: main.cc:181
-msgid ""
-"disallow unsafe Scheme and PostScript\n"
-"operations"
-msgstr ""
-
-#: main.cc:183
+#: main.cc:161
 msgid "show version number and exit"
 msgstr ""
 
-#: main.cc:224
+#: main.cc:203
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -1116,87 +1125,82 @@ msgid ""
 msgstr ""
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:251
+#: main.cc:230
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr ""
 
-#: main.cc:253
+#: main.cc:232
 #, c-format
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr ""
 
-#: main.cc:255
+#: main.cc:234
 #, c-format
 msgid "LilyPond produces beautiful music notation."
 msgstr ""
 
-#: main.cc:257
+#: main.cc:236
 #, c-format
 msgid "For more information, see %s"
 msgstr ""
 
-#: main.cc:259
+#: main.cc:238
 #, c-format
 msgid "Options:"
 msgstr ""
 
-#: main.cc:263
+#: main.cc:242
 #, c-format
 msgid "Report bugs via %s"
 msgstr ""
 
-#: main.cc:309
+#: main.cc:288
 #, c-format
 msgid "expected %d arguments with jail, found: %u"
 msgstr ""
 
-#: main.cc:323
+#: main.cc:302
 #, c-format
 msgid "no such user: %s"
 msgstr ""
 
-#: main.cc:325
+#: main.cc:304
 #, c-format
 msgid "cannot get user id from user name: %s: %s"
 msgstr ""
 
-#: main.cc:340
+#: main.cc:319
 #, c-format
 msgid "no such group: %s"
 msgstr ""
 
-#: main.cc:342
+#: main.cc:321
 #, c-format
 msgid "cannot get group id from group name: %s: %s"
 msgstr ""
 
-#: main.cc:350
+#: main.cc:329
 #, c-format
 msgid "cannot chroot to: %s: %s"
 msgstr ""
 
-#: main.cc:357
+#: main.cc:336
 #, c-format
 msgid "cannot change group id to: %d: %s"
 msgstr ""
 
-#: main.cc:363
+#: main.cc:342
 #, c-format
 msgid "cannot change user id to: %d: %s"
 msgstr ""
 
-#: main.cc:369
+#: main.cc:348
 #, c-format
 msgid "cannot change working directory to: %s: %s"
 msgstr ""
 
-#: main.cc:415
-#, c-format
-msgid "Evaluating %s"
-msgstr ""
-
-#: main.cc:645
+#: main.cc:589
 #, c-format
 msgid "exception caught: %s"
 msgstr ""
@@ -1260,16 +1264,11 @@ msgstr ""
 msgid "Mensural_ligature: (join_right == 0)"
 msgstr ""
 
-#: midi-item.cc:152
+#: midi-item.cc:81
 #, c-format
 msgid "no such MIDI instrument: `%s'"
 msgstr ""
 
-#: midi-item.cc:285
-#, c-format
-msgid "experimental: temporarily fine tuning (of %d cents) a channel."
-msgstr ""
-
 #: midi-stream.cc:28
 #, c-format
 msgid "cannot open for write: %s: %s"
@@ -1284,12 +1283,12 @@ msgstr ""
 msgid "Sending non-event to context"
 msgstr ""
 
-#: music.cc:141
+#: music.cc:140
 #, c-format
 msgid "octave check failed; expected \"%s\", found: \"%s\""
 msgstr ""
 
-#: music.cc:207
+#: music.cc:203
 #, c-format
 msgid "transposition by %s makes alteration larger than double"
 msgstr ""
@@ -1306,7 +1305,7 @@ msgstr ""
 msgid "placing below"
 msgstr ""
 
-#: note-collision.cc:457
+#: note-collision.cc:459
 msgid "ignoring too many clashing note columns"
 msgstr ""
 
@@ -1333,19 +1332,29 @@ msgstr ""
 msgid "cannot load font table: %s"
 msgstr ""
 
-#: open-type-font.cc:98
+#: open-type-font.cc:42
 #, c-format
-msgid "unsupported font format: %s"
+msgid "Free type error: %s"
 msgstr ""
 
 #: open-type-font.cc:100
 #, c-format
-msgid "unknown error: %d reading font file: %s"
+msgid "unsupported font format: %s"
 msgstr ""
 
-#: open-type-font.cc:173 open-type-font.cc:297
+#: open-type-font.cc:102
 #, c-format
-msgid "FT_Get_Glyph_Name() returned error: %u"
+msgid "error reading font file %s: %s"
+msgstr ""
+
+#: open-type-font.cc:177
+#, c-format
+msgid "FT_Get_Glyph_Name () Freetype error: %s"
+msgstr ""
+
+#: open-type-font.cc:302 pango-font.cc:167
+#, c-format
+msgid "FT_Get_Glyph_Name () error: %s"
 msgstr ""
 
 #: page-turn-page-breaking.cc:205
@@ -1359,27 +1368,33 @@ msgstr ""
 msgid "Calculating page and line breaks (%d possible page breaks)..."
 msgstr ""
 
-#: page-turn-page-breaking.cc:236 paper-score.cc:154
+#: page-turn-page-breaking.cc:236 paper-score.cc:146
 msgid "Drawing systems..."
 msgstr ""
 
-#: pango-font.cc:181
+#: pango-font.cc:184
 #, c-format
 msgid ""
 "Glyph has no name, but font supports glyph naming.\n"
 "Skipping glyph U+%0X, file %s"
 msgstr ""
 
-#: pango-font.cc:224
+#: pango-font.cc:229
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr ""
 
-#: pango-font.cc:272
+#: pango-font.cc:277
 msgid "FreeType face has no PostScript font name"
 msgstr ""
 
-#: paper-outputter-scheme.cc:33
+#: paper-column-engraver.cc:199
+msgid ""
+"forced break was overridden by some other event, should you be using bar "
+"checks?"
+msgstr ""
+
+#: paper-outputter-scheme.cc:30
 #, c-format
 msgid "Layout output to `%s'..."
 msgstr ""
@@ -1397,7 +1412,7 @@ msgstr ""
 msgid "Preprocessing graphical objects..."
 msgstr ""
 
-#: parse-scm.cc:83
+#: parse-scm.cc:87
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr ""
 
@@ -1405,19 +1420,19 @@ msgstr ""
 msgid "unterminated percent repeat"
 msgstr ""
 
-#: performance.cc:45
+#: performance.cc:43
 msgid "Track..."
 msgstr ""
 
-#: performance.cc:74
+#: performance.cc:72
 msgid "MIDI channel wrapped around"
 msgstr ""
 
-#: performance.cc:75
+#: performance.cc:73
 msgid "remapping modulo 16"
 msgstr ""
 
-#: performance.cc:103
+#: performance.cc:101
 #, c-format
 msgid "MIDI output to `%s'..."
 msgstr ""
@@ -1442,7 +1457,7 @@ msgstr ""
 msgid "cannot find start of piano pedal bracket: `%s'"
 msgstr ""
 
-#: program-option.cc:205
+#: program-option-scheme.cc:201
 #, c-format
 msgid "no such internal option: %s"
 msgstr ""
@@ -1461,67 +1476,76 @@ msgstr ""
 msgid "Setting %s to %s"
 msgstr ""
 
-#: relocate.cc:59
+#: relocate.cc:64
 #, c-format
 msgid "no such file: %s for %s"
 msgstr ""
 
-#: relocate.cc:69 relocate.cc:87
+#: relocate.cc:74 relocate.cc:92
 #, c-format
 msgid "no such directory: %s for %s"
 msgstr ""
 
-#: relocate.cc:79
+#: relocate.cc:84
 #, c-format
 msgid "%s=%s (prepend)\n"
 msgstr ""
 
-#: relocate.cc:99
+#: relocate.cc:114
+#, c-format
+msgid "not relocating, no %s/ or current/ found under %s"
+msgstr ""
+
+#: relocate.cc:125
 #, c-format
-msgid "Relocation: compile prefix=%s, new prefix=%s"
+msgid "Relocation: compile datadir=%s, new datadir=%s"
 msgstr ""
 
-#: relocate.cc:129
+#: relocate.cc:138
 #, c-format
 msgid "Relocation: framework_prefix=%s"
 msgstr ""
 
-#: relocate.cc:169
+#: relocate.cc:179
 #, c-format
 msgid "Relocation: is absolute: argv0=%s"
 msgstr ""
 
-#: relocate.cc:176
+#: relocate.cc:186
 #, c-format
 msgid "Relocation: from cwd: argv0=%s"
 msgstr ""
 
-#: relocate.cc:185
+#: relocate.cc:195
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
 "argv0=%s"
 msgstr ""
 
-#: relocate.cc:354
+#: relocate.cc:229
+msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
+msgstr ""
+
+#: relocate.cc:357
 #, c-format
 msgid "Relocation file: %s"
 msgstr ""
 
-#: relocate.cc:390
+#: relocate.cc:393
 #, c-format
 msgid "Unknown relocation command %s"
 msgstr ""
 
-#: rest-collision.cc:151
+#: rest-collision.cc:145
 msgid "cannot resolve rest collision: rest direction not set"
 msgstr ""
 
-#: rest-collision.cc:165 rest-collision.cc:210
+#: rest-collision.cc:159 rest-collision.cc:204
 msgid "too many colliding rests"
 msgstr ""
 
-#: rest.cc:144
+#: rest.cc:132
 #, c-format
 msgid "rest `%s' not found"
 msgstr ""
@@ -1544,15 +1568,15 @@ msgstr ""
 msgid "Aborting"
 msgstr ""
 
-#: score.cc:225
+#: score.cc:167
 msgid "already have music in score"
 msgstr ""
 
-#: score.cc:226
+#: score.cc:168
 msgid "this is the previous music"
 msgstr ""
 
-#: score.cc:231
+#: score.cc:173
 msgid "errors found, ignoring music expression"
 msgstr ""
 
@@ -1565,29 +1589,34 @@ msgstr ""
 msgid "scheme encoding: "
 msgstr ""
 
-#: simple-spacer.cc:375
-#, c-format
-msgid "No spring between column %d and next one"
-msgstr ""
-
-#: slur-engraver.cc:83 tuplet-engraver.cc:75
+#: slur-engraver.cc:82
 #, c-format
 msgid "direction of %s invalid: %d"
 msgstr ""
 
-#: slur-engraver.cc:157
+#: slur-engraver.cc:151
 msgid "unterminated slur"
 msgstr ""
 
-#: slur-engraver.cc:166
+#: slur-engraver.cc:163
 msgid "cannot end slur"
 msgstr ""
 
+#: slur.cc:355
+#, c-format
+msgid "Ignoring grob for slur: %s. avoid-slur not set?"
+msgstr ""
+
 #: source-file.cc:74
 #, c-format
 msgid "expected to read %d characters, got %d"
 msgstr ""
 
+#: spaceable-grob.cc:117
+#, c-format
+msgid "No spring between column %d and next one"
+msgstr ""
+
 #: staff-symbol-engraver.cc:62
 msgid "staff-span event has no direction"
 msgstr ""
@@ -1610,12 +1639,12 @@ msgstr ""
 msgid "weird stem size, check for narrow beams"
 msgstr ""
 
-#: stem.cc:641
+#: stem.cc:652
 #, c-format
 msgid "flag `%s' not found"
 msgstr ""
 
-#: stem.cc:652
+#: stem.cc:663
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr ""
@@ -1625,24 +1654,24 @@ msgstr ""
 msgid "Element count %d."
 msgstr ""
 
-#: system.cc:276
+#: system.cc:266
 #, c-format
 msgid "Grob count %d"
 msgstr ""
 
-#: text-spanner-engraver.cc:61
+#: text-spanner-engraver.cc:60
 msgid "cannot find start of text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:73
+#: text-spanner-engraver.cc:72
 msgid "already have a text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:133
+#: text-spanner-engraver.cc:118
 msgid "unterminated text spanner"
 msgstr ""
 
-#: tie-engraver.cc:264
+#: tie-engraver.cc:267
 msgid "lonely tie"
 msgstr ""
 
@@ -1668,29 +1697,38 @@ msgstr ""
 msgid "unknown translator: `%s'"
 msgstr ""
 
-#: translator-group.cc:151
+#: translator-group-ctors.cc:29
+#, c-format
+msgid "fatal error. Couldn't find type: %s"
+msgstr ""
+
+#: translator-group.cc:146
 #, c-format
 msgid "cannot find: `%s'"
 msgstr ""
 
-#: translator.cc:332
+#: translator.cc:346
 #, c-format
 msgid "Two simultaneous %s events, junking this one"
 msgstr ""
 
-#: translator.cc:333
+#: translator.cc:347
 #, c-format
 msgid "Previous %s event here"
 msgstr ""
 
-#: trill-spanner-engraver.cc:68
+#: trill-spanner-engraver.cc:67
 msgid "cannot find start of trill spanner"
 msgstr ""
 
-#: trill-spanner-engraver.cc:80
+#: trill-spanner-engraver.cc:79
 msgid "already have a trill spanner"
 msgstr ""
 
+#: tuplet-engraver.cc:96
+msgid "No tuplet to end"
+msgstr ""
+
 #: vaticana-ligature-engraver.cc:388
 #, c-format
 msgid ""
@@ -1716,56 +1754,56 @@ msgid "Vaticana_ligature: zero join (delta_pitch == 0)"
 msgstr ""
 
 #. fixme: be more verbose.
-#: volta-engraver.cc:144
+#: volta-engraver.cc:143
 msgid "cannot end volta spanner"
 msgstr ""
 
-#: volta-engraver.cc:154
+#: volta-engraver.cc:153
 msgid "already have a volta spanner, ending that one prematurely"
 msgstr ""
 
-#: volta-engraver.cc:158
+#: volta-engraver.cc:157
 msgid "also already have an ended spanner"
 msgstr ""
 
-#: volta-engraver.cc:159
+#: volta-engraver.cc:158
 msgid "giving up"
 msgstr ""
 
-#: parser.yy:702
+#: parser.yy:704
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
-#: parser.yy:726
+#: parser.yy:728
 msgid "need \\paper for paper block"
 msgstr ""
 
-#: parser.yy:1172
+#: parser.yy:1187
 msgid "Grob name should be alphanumeric"
 msgstr ""
 
-#: parser.yy:1475
+#: parser.yy:1485
 msgid "second argument must be pitch list"
 msgstr ""
 
-#: parser.yy:1502 parser.yy:1507 parser.yy:1972
+#: parser.yy:1512 parser.yy:1517 parser.yy:1982
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:1604
+#: parser.yy:1614
 msgid "expecting string as script definition"
 msgstr ""
 
-#: parser.yy:1759 parser.yy:1809
+#: parser.yy:1769 parser.yy:1819
 #, c-format
 msgid "not a duration: %d"
 msgstr ""
 
-#: parser.yy:1926
+#: parser.yy:1936
 msgid "have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:1987
+#: parser.yy:1997
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
@@ -1820,31 +1858,31 @@ msgstr ""
 msgid "Brace found at end of markup.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:659
+#: lexer.ll:663
 #, c-format
 msgid "invalid character: `%c'"
 msgstr ""
 
-#: lexer.ll:774 lexer.ll:775
+#: lexer.ll:778
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:880 lexer.ll:881
+#: lexer.ll:884
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 
-#: lexer.ll:881 lexer.ll:882
+#: lexer.ll:885
 msgid "consider updating the input with the convert-ly script"
 msgstr ""
 
-#: lexer.ll:887 lexer.ll:888
+#: lexer.ll:891
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
 
-#: backend-library.scm:19 lily.scm:599 ps-to-png.scm:82
+#: backend-library.scm:19 lily.scm:752 ps-to-png.scm:58
 #, scheme-format
 msgid "Invoking `~a'..."
 msgstr ""
@@ -1864,7 +1902,7 @@ msgstr ""
 msgid "Converting to ~a..."
 msgstr ""
 
-#: backend-library.scm:145
+#: backend-library.scm:146
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
 msgstr ""
@@ -1886,31 +1924,31 @@ msgstr ""
 msgid "translator listens to nonexisting event class ~A"
 msgstr ""
 
-#: define-markup-commands.scm:255
+#: define-markup-commands.scm:273
 msgid "no systems found in \\score markup, does it have a \\layout block?"
 msgstr ""
 
-#: define-markup-commands.scm:1297
+#: define-markup-commands.scm:1315
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
 
-#: define-music-types.scm:751
+#: define-music-types.scm:743
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr ""
 
-#: define-music-types.scm:754
+#: define-music-types.scm:746
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr ""
 
-#: define-music-types.scm:774
+#: define-music-types.scm:766
 #, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr ""
 
-#: define-music-types.scm:775
+#: define-music-types.scm:767
 msgid "See music-types.scm for supported repeats"
 msgstr ""
 
@@ -1944,50 +1982,56 @@ msgstr ""
 msgid "cannot find description for property ~S (~S)"
 msgstr ""
 
-#: framework-eps.scm:91 framework-eps.scm:92
+#: framework-eps.scm:89
 #, scheme-format
 msgid "Writing ~a..."
 msgstr ""
 
-#: framework-ps.scm:279
+#: framework-ps.scm:281
 #, scheme-format
 msgid "cannot embed ~S=~S"
 msgstr ""
 
-#: framework-ps.scm:332
+#: framework-ps.scm:334
 #, scheme-format
 msgid "cannot extract file matching ~a from ~a"
 msgstr ""
 
-#: framework-ps.scm:349
+#: framework-ps.scm:351
 #, scheme-format
 msgid "do not know how to embed ~S=~S"
 msgstr ""
 
-#: framework-ps.scm:380
+#: framework-ps.scm:382
 #, scheme-format
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr ""
 
-#: framework-ps.scm:729
+#: framework-ps.scm:731
 #, scheme-format
 msgid "cannot convert <stdout> to ~S"
 msgstr ""
 
-#: framework-ps.scm:748 framework-ps.scm:751
+#: framework-ps.scm:750 framework-ps.scm:753
 #, scheme-format
 msgid "cannot generate ~S using the postscript back-end"
 msgstr ""
 
-#: framework-ps.scm:758
+#: framework-ps.scm:760
 msgid ""
 "\n"
-"The PostScript backend does not support the 'classic'\n"
-"framework. Use the EPS backend instead,\n"
+"The PostScript backend does not support the system-by-system \n"
+"output. For that, use the EPS backend instead,\n"
 "\n"
 "  lilypond -b eps <file>\n"
 "\n"
-"or remove the lilypond-book specific settings from the input.\n"
+"If have cut & pasted a lilypond fragment from a webpage, be sure\n"
+"to only remove anything before\n"
+"\n"
+"  %% ****************************************************************\n"
+"  %% Start cut-&-pastable-section\n"
+"  %% ****************************************************************\n"
+"\n"
 msgstr ""
 
 #: framework-tex.scm:360
@@ -2005,40 +2049,56 @@ msgstr ""
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr ""
 
-#: layout-page-layout.scm:357
+#: layout-page-layout.scm:115
+msgid "Can't fit systems on page -- ignoring between-system-padding"
+msgstr ""
+
+#: layout-page-layout.scm:449
 msgid "Calculating page breaks..."
 msgstr ""
 
-#: lily-library.scm:593
+#: lily-library.scm:545
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
-#: lily-library.scm:626
+#: lily-library.scm:579
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 
-#: lily-library.scm:633
+#: lily-library.scm:587
 msgid "old relative compatibility not used"
 msgstr ""
 
-#: lily.scm:144
+#: lily.scm:172
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr ""
 
-#: lily.scm:209
+#: lily.scm:237
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr ""
 
-#: lily.scm:525 lily.scm:589
+#: lily.scm:618
+#, scheme-format
+msgid "job ~a terminated with signal: ~a"
+msgstr ""
+
+#: lily.scm:621
+#, scheme-format
+msgid ""
+"logfile ~a (exit ~a):\n"
+"~a"
+msgstr ""
+
+#: lily.scm:648 lily.scm:742
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
-#: lily.scm:579
+#: lily.scm:732
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
@@ -2047,52 +2107,52 @@ msgstr ""
 msgid "Music head function must return Music object"
 msgstr ""
 
-#: ly-syntax-constructors.scm:136
+#: ly-syntax-constructors.scm:139
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr ""
 
-#: markup.scm:123
+#: markup.scm:94
 #, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
 msgstr ""
 
-#: markup.scm:129
+#: markup.scm:100
 #, scheme-format
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
 msgstr ""
 
-#: music-functions.scm:213
+#: music-functions.scm:228
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr ""
 
-#: music-functions.scm:232
+#: music-functions.scm:250
 #, scheme-format
 msgid "expecting 2 elements for chord tremolo, found ~a"
 msgstr ""
 
-#: music-functions.scm:538
+#: music-functions.scm:573
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
 #. FIXME: uncomprehensable message
-#: music-functions.scm:589
+#: music-functions.scm:623
 #, scheme-format
 msgid "Bar check failed.  Expect to be at ~a, instead at ~a"
 msgstr ""
 
-#: music-functions.scm:748
+#: music-functions.scm:773
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
-#: music-functions.scm:942
+#: music-functions.scm:970
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
 
-#: output-ps.scm:315
+#: output-ps.scm:276
 msgid "utf-8-string encountered in PS backend"
 msgstr ""
 
@@ -2106,46 +2166,47 @@ msgstr ""
 msgid "cannot decypher Pango description: ~a"
 msgstr ""
 
-#: output-tex.scm:98
+#: output-tex.scm:97
 #, scheme-format
 msgid "cannot find ~a in ~a"
 msgstr ""
 
-#: paper.scm:69
-msgid "Not in toplevel scope"
+#: paper.scm:84
+msgid "set-global-staff-size: not in toplevel scope"
 msgstr ""
 
-#: paper.scm:117
+#: paper.scm:132
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr ""
 
-#: paper.scm:129
+#: paper.scm:144
 #, scheme-format
 msgid "Unknown papersize: ~a"
 msgstr ""
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:144
+#: paper.scm:159
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr ""
 
-#: parser-clef.scm:126
+#: parser-clef.scm:127
 #, scheme-format
 msgid "unknown clef type `~a'"
 msgstr ""
 
-#: parser-clef.scm:127
-msgid "see scm/clef.scm for supported clefs"
+#: parser-clef.scm:128
+#, scheme-format
+msgid "supported clefs: ~a"
 msgstr ""
 
-#: ps-to-png.scm:88
+#: ps-to-png.scm:64
 #, scheme-format
 msgid "~a exited with status: ~S"
 msgstr ""
 
-#: to-xml.scm:190
+#: to-xml.scm:180
 #, scheme-format
 msgid "assertion failed: ~S"
 msgstr ""
index 4c8cc6ef402e4757506f2456a0fc03470adfe5e3..7434de317f6c8459c9d9a334f607b0fd8e865dce 100644 (file)
      (apply define-grob-property x))
 
    `(
-     (X-offset ,number? "The horizontal amount that this object is moved relative to its X-parent")
+     (X-extent ,number-pair? "Hard coded extent in X@tie{}direction.")
+     (X-offset ,number? "The horizontal amount that this object is
+moved relative to its X-parent.")
+     (Y-extent ,number-pair? "See @code{X-extent}.")
      (Y-offset ,number? "The vertical amount that this object is moved
-relative to its Y-parent")
-     (alteration ,number? "alteration numbers for accidental")
-     (after-line-breaking ,boolean? "Dummy property, used to trigger callback for after-line-breaking")
-     (alteration-alist ,list? "List of @code{(@var{pitch}
-. @var{accidental})} pairs for key signature.")
-     (add-stem-support ,boolean? "If set, the Stem object is included in this script's support") 
+relative to its Y-parent.")
+
+     (add-stem-support ,boolean? "If set, the @code{Stem} object is
+included in this script's support.") 
+     (after-line-breaking ,boolean? "Dummy property, used to trigger
+callback for @code{after-line-breaking}.")
      (align-dir ,ly:dir? "Which side to align? @code{-1}: left side,
 @code{0}: around center of width, @code{1}: right side.")
-     (allow-loose-spacing ,boolean? "If set, column can be detached from main spacing.")
-     (arpeggio-direction ,ly:dir? "If set, put an
-arrow on the arpeggio squiggly line.")
+     (allow-loose-spacing ,boolean? "If set, column can be detached
+from main spacing.")
+     (alteration ,number? "Alteration numbers for accidental.")
+     (alteration-alist ,list? "List of @code{(@var{pitch}
+. @var{accidental})} pairs for key signature.")
+     (arpeggio-direction ,ly:dir? "If set, put an arrow on the
+arpeggio squiggly line.")
      (arrow-length ,number? "Arrow length.")
      (arrow-width ,number? "Arrow width.")
-     (auto-knee-gap ,ly:dimension? "If a gap is found between note heads
-where a horizontal beam fits that is larger than this number, make a kneed beam.")
-     (average-spacing-wishes ,boolean? "If set, the spacing wishes are averaged over staves.")
+     (auto-knee-gap ,ly:dimension? "If a gap is found between note
+heads where a horizontal beam fits that is larger than this number,
+make a kneed beam.")
+     (average-spacing-wishes ,boolean? "If set, the spacing wishes
+are averaged over staves.")
      (avoid-note-head ,boolean? "If set, the stem of a chord does not
-pass through all note heads, but starts at the last note head. ")
-     (axes ,list? "list of axis numbers.
-In the case of alignment grobs, this should contain only one number.")
-     (bar-size ,ly:dimension? "size of a bar line.")
-     (barre-type ,symbol? "Type of barre indication used in a fret diagram.
-Choices include @code{curved} and @code{straight}.")
-     (base-shortest-duration ,ly:moment?
-                            "Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.")
+pass through all note heads, but starts at the last note head.")
+     (avoid-slur ,symbol? "Method of handling slur collisions.
+Choices are @code{around}, @code{inside}, @code{outside}.  If unset,
+scripts and slurs ignore each other.  @code{around} only moves the
+script if there is a collision; @code{outside} always moves the
+script.")
+     (axes ,list? "List of axis numbers.  In the case of alignment
+grobs, this should contain only one number.")
+
+     (bar-size ,ly:dimension? "The size of a bar line.")
+     (barre-type ,symbol? "Type of barre indication used in a fret
+diagram.  Choices include @code{curved} and @code{straight}.")
+     (base-shortest-duration ,ly:moment? "Spacing is based on the
+shortest notes in a piece.  Normally, pieces are spaced as if notes
+at least as short as this are present.")
      (baseline-skip ,ly:dimension? "Distance between base lines of
- multiple lines of text.")
-     (beam-thickness ,ly:dimension? "thickness, measured in staff-space.")
-     (beam-width ,ly:dimension? "width of the tremolo sign.")
+multiple lines of text.")
+     (beam-thickness ,ly:dimension? "Beam thickness, measured in
+@code{staff-space} units.")
+     (beam-width ,ly:dimension? "Width of the tremolo sign.")
      (beamed-stem-shorten ,list? "How much to shorten beamed stems,
-when their direction is forced. It is a list, since the value is different
-depending on the number flags/beams.")
-     (beaming ,pair?
-             "Pair of number lists. Each number list specifies which
-beams to make. 0 is the central beam, 1 is the next beam toward the
-note etc. This information is used to determine how to connect the
-beaming patterns from stem to stem inside a beam.")
-     (before-line-breaking ,boolean? "Dummy property, used to trigger a callback function.")
-     (between-cols ,pair? "Where to attach a loose column to")
-     (bound-padding ,number? "The amount of padding to insert around spanner bounds.")
-     (bound-details ,list? "alist of properties for determining attachments of spanners to edges.")
+when their direction is forced.  It is a list, since the value is
+different depending on the number of flags and beams.")
+     (beaming ,pair? "Pair of number lists.  Each number list
+specifies which beams to make.  @code{0}@tie{}is the central beam,
+@code{1}@tie{}is the next beam toward the note, etc.  This
+information is used to determine how to connect the beaming patterns
+from stem to stem inside a beam.")
+     (before-line-breaking ,boolean? "Dummy property, used to trigger
+a callback function.")
+     (between-cols ,pair? "Where to attach a loose column to.")
+     (bound-padding ,number? "The amount of padding to insert around
+spanner bounds.")
+     (bound-details ,list? "An alist of properties for determining
+attachments of spanners to edges.")
      (bracket-flare ,number-pair? "A pair of numbers specifying how
-much edges of brackets should slant outward.  Value 0.0 means straight
-edges")
-     (breakable ,boolean? "Allow breaks here.")
+much edges of brackets should slant outward.  Value @code{0.0} means
+straight edges.")
+     (bracket-visibility ,boolean-or-symbol? "This controls the
+visibility of the tuplet bracket.  Setting it to false prevents
+printing of the bracket.  Setting the property to @code{if-no-beam}
+makes it print only if there is no beam associated with this tuplet
+bracket.")
      (break-align-symbol ,symbol? "This key is used for aligning and
 spacing breakable items.")
-     (break-align-orders ,vector? " Defines the order in which
-prefatory matter (clefs, key signatures) appears. The format is a
-vector of length 3, where each element is one order for end-of-line,
-middle of line, and start-of-line respectively. An order is a list of
-symbols.
+     (break-align-orders ,vector? "Defines the order in which
+prefatory matter (clefs, key signatures) appears.  The format is a
+vector of length@tie{}3, where each element is one order for
+end-of-line, middle of line, and start-of-line, respectively.  An
+order is a list of symbols.
 
 For example, clefs are put after key signatures by setting
 
 @example
-       \\override Score.BreakAlignment #'break-align-orders = #(make-vector  3
-         '(span-bar
-         breathing-sign
-         staff-bar
-         key
-         clef
-         time-signature))
+\\override Score.BreakAlignment #'break-align-orders =
+  #(make-vector 3 '(span-bar
+                    breathing-sign
+                    staff-bar
+                    key
+                    clef
+                    time-signature))
 @end example")
      (break-overshoot ,number-pair? "How much does a broken spanner
 stick out of its bounds?")
-     (bracket-visibility ,boolean-or-symbol? "This controls the
-visibility of the tuplet bracket.  Setting it to false will prevent
-printing of the bracket. Setting the property to @code{'if-no-beam}
-will make it print only if there is no beam associated with this
-tuplet bracket.")
-     (break-visibility ,vector? "A vector of 3 booleans, #(end-of-line unbroken begin-of-line).
-#t means visible, #f means killed.")
+     (break-visibility ,vector? "A vector of 3@tie{}booleans,
+@code{#(@var{end-of-line} @var{unbroken} @var{begin-of-line})}.
+@code{#t} means visible, @code{#f} means killed.")
+     (breakable ,boolean? "Allow breaks here.")
+
      (c0-position ,integer? "An integer indicating the position of
-middle C.")
-     (concaveness ,number? "A beam is concave when its inner stems are
-closer to the beam than the two outside stems. This number is a
-measure of the closeness of the inner stems. It is used for damping
-the slope of the beam.")
-     (collapse-height ,ly:dimension? "Minimum height of system start delimiter.  If equal or smaller, the bracket is removed.")
+middle@tie{}C.")
+     (clip-edges ,boolean? "Allow outward pointing beamlets at the
+edges of beams?")
+     (collapse-height ,ly:dimension? "Minimum height of system start
+delimiter.  If equal or smaller, the bracket is removed.")
      (color ,color? "The color of this grob.")
-     (control-points ,list? "List of offsets (number-pairs) that form
-control points for the tie/slur/bracket shape. For beziers, this
-should list the control points of a 3rd order bezier curve." )
-     (connect-to-neighbor ,pair? "Pair of booleans, indicating whether this
-grob looks as a continued break.")
-     (damping ,number? "Amount of beam slope damping. ")
-     (dash-period ,number? "the length of one dash + white space. If
-negative, no line is drawn at all.")
+     (common-shortest-duration ,ly:moment? "The most common shortest
+note length.  This is used in spacing.  Enlarging this sets the score
+tighter.")
+     (concaveness ,number? "A beam is concave if its inner stems are
+closer to the beam than the two outside stems.  This number is a
+measure of the closeness of the inner stems.  It is used for damping
+the slope of the beam.")
+     (connect-to-neighbor ,pair? "Pair of booleans, indicating whether
+this grob looks as a continued break.")
+     (control-points ,list? "List of offsets (number pairs) that form
+control points for the tie, slur, or bracket shape.  For B@'eziers,
+this should list the control points of a third-order B@'ezier curve.")
+
+     (damping ,number? "Amount of beam slope damping.")
      (dash-fraction ,number? "Size of the dashes, relative to
-dash-period. Should be between 0.0 (no line) and 1.0 (continuous
-line).")
-     (default-direction ,ly:dir? "Direction determined by note head positions.")
-     (digit-names ,vector "Names for string finger digits. ")
-     (direction ,ly:dir? "If side-position is 1 (#X), then this property determines if the object is placed #LEFT, #CENTER or #RIGHT with respect to the other object. Otherwise, it determines if the object is placed #UP #CENTER or #DOWN.  Numerical values may also be used. #UP=1, #DOWN=-1, #LEFT=-1, #RIGHT=1, CENTER=0 but also other numerical values are permitted.")
+@code{dash-period}.  Should be between @code{0.0} (no line) and
+@code{1.0} (continuous line).")
+     (dash-period ,number? "The length of one dash together with
+whitespace.  If negative, no line is drawn at all.")
+     (default-direction ,ly:dir? "Direction determined by note head
+positions.")
+     (digit-names ,vector "Names for string finger digits.")
+     (direction ,ly:dir? "If @code{side-axis} is @code{1} (or
+@code{#X}), then this property determines whether the object is placed
+@code{#LEFT}, @code{#CENTER} or @code{#RIGHT} with respect to the
+other object.  Otherwise, it determines whether the object is placed
+@code{#UP}, @code{#CENTER} or #DOWN.  Numerical values may also be
+used: @code{#UP}=@code{1}, @code{#DOWN}=@code{-1},
+@code{#LEFT}=@code{-1}, @code{#RIGHT}=@code{1}, @code{CENTER}=@code{0}
+but also other numerical values are permitted.")
      (dot-color ,symbol? "Color of dots.  Options include 
 @code{black} and @code{white}.")
-     (dot-radius ,number? "Radius of dots.")
      (dot-count ,integer? "The number of dots.")
-     (duration-log ,integer? "The 2-log of the note head duration, i.e. 0=whole note, 1 = half note, etc.")
-     (edge-height ,pair? "A pair of number specifying the heights of
-the vertical edges '(@var{left-height} . @var{right-height}).")
+     (dot-radius ,number? "Radius of dots.")
+     (duration-log ,integer? "The 2-log of the note head duration,
+i.e. @code{0} = whole note, @code{1} = half note, etc.")
+
+     (eccentricity ,number? "How asymmetrical to make a slur.
+Positive means move the center to the right.")
+     (edge-height ,pair? "A pair of numbers specifying the heights of
+the vertical edges: @code{(@var{left-height} . @var{right-height})}.")
      (edge-text ,pair? "A pair specifying the texts to be set at the
-edges '(@var{left-text} . @var{right-text}).")
-     (eccentricity ,number? "How asymmetrical to make a slur. Positive means move the center to the right.")
-     (expand-limit ,integer? "maximum number of measures expanded in church rests.")
+edges: @code{(@var{left-text} . @var{right-text})}.")
+     (expand-limit ,integer? "Maximum number of measures expanded in
+church rests.")
+     (extra-X-extent ,number-pair? "A grob is enlarged in
+X@tie{}dimension by this much.")
+     (extra-Y-extent ,number-pair? "See @code{extra-X-extent}.")
      ;; remove me?
      (extra-dy ,number? "Slope glissandi this much extra.")
-     (extra-X-extent ,number-pair? "A grob is enlarged in X dimension
-by this much.")
-     (extra-Y-extent ,number-pair? "See @code{extra-X-extent}.")
-     (extra-spacing-width ,number-pair? "In the horizontal spacing problem, we pad each item by this amount (by adding the car on the left side of the item and adding the cdr on the right side of the item). In order to make a grob take up no horizontal space at all, set this to (+inf.0 . -inf.0)")
-     (X-extent ,number-pair? "Hard coded extent in X direction. ")
-     (Y-extent ,number-pair? "See @code{X-extent}.")
-     (extra-offset ,number-pair? "A pair representing an offset. This
+     (extra-offset ,number-pair? "A pair representing an offset.  This
 offset is added just before outputting the symbol, so the typesetting
 engine is completely oblivious to it.")
-     (finger-code ,symbol? "Code for the type of fingering indication in a
-fret diagram.  Options include @code{none}, @code{in-dot}, and @code{below-string}.")
+     (extra-spacing-width ,number-pair? "In the horizontal spacing
+problem, we pad each item by this amount (by adding the @q{car} on the
+left side of the item and adding the @q{cdr} on the right side of the
+item).  In order to make a grob take up no horizontal space at all,
+set this to @code{(+inf.0 . -inf.0)}.")
+
+     (finger-code ,symbol? "Code for the type of fingering indication
+in a fret diagram.  Options include @code{none}, @code{in-dot}, and
+@code{below-string}.")
      (flag-count ,number? "The number of tremolo beams.")
-     (flag-style ,symbol?
-                "a string determining what style of flag-glyph is
-typeset on a Stem. Valid options include @code{()} and
-@code{mensural}.  Additionally, @code{\"no-flag\"} switches off the
+     (flag-style ,symbol? "A string determining what style of flag
+glyph is typeset on a @code{Stem}.  Valid options include @code{()}
+and @code{mensural}.  Additionally, @code{no-flag} switches off the
 flag.")
-     (font-family ,symbol? "The font family is the broadest category for selecting text fonts. Options include: @code{sans}, @code{roman} ")
      (font-encoding ,symbol? "The font encoding is the broadest
-category for selecting a font. Options include: @code{fetaMusic},
-@code{fetaNumber}, @code{TeX-text}, @code{TeX-math}, @code{fetaBraces},
-@code{fetaDynamic}")
-     (font-name ,string? "Specifies a file name (without extension) of
-the font to load.  This setting override selection using
+category for selecting a font.  Options include: @code{fetaMusic},
+@code{fetaNumber}, @code{TeX-text}, @code{TeX-math},
+@code{fetaBraces}, @code{fetaDynamic}.")
+     (font-family ,symbol? "The font family is the broadest category
+for selecting text fonts.  Options include: @code{sans},
+@code{roman}.")
+     (font-name ,string? "Specifies a file name (without extension)
+of the font to load.  This setting overrides selection using
 @code{font-family}, @code{font-series} and @code{font-shape}.")
-     (font-size ,number? "The font size, compared the `normal'
-size.  0 is style-sheet's normal size, -1 is smaller, +1 is bigger.
-Each step of 1 is approximately 12% larger, 6 steps are exactly a
-factor 2 larger. Fractional values are allowed.")
-     (font-series ,symbol? "Select the series of a font. Choices
+     (font-series ,symbol? "Select the series of a font.  Choices
 include @code{medium}, @code{bold}, @code{bold-narrow}, etc.")
-     (font-shape ,symbol? "Select the shape of a font. Choices include @code{upright},
-@code{italic}, @code{caps}.")
-     (forced ,boolean? "manually forced accidental")
+     (font-shape ,symbol? "Select the shape of a font.  Choices
+include @code{upright}, @code{italic}, @code{caps}.")
+     (font-size ,number? "The font size, compared to the @q{normal}
+size.  @code{0}@tie{}is style-sheet's normal size, @code{-1} is
+smaller, @code{+1} is bigger. Each step of@tie{}1 is approximately
+12% larger, 6@tie{}steps are exactly a factor@tie{}2 larger.
+Fractional values are allowed.")
      (force-hshift ,number? "This specifies a manual shift for notes
-in collisions. The unit is the note head width of the first voice
+in collisions.  The unit is the note head width of the first voice
 note.  This is used by @internalsref{note-collision-interface}.")
+     (forced ,boolean? "Manually forced accidental.")
      (fraction ,number-pair? "Numerator and denominator of a time
 signature object.")
      (french-beaming ,boolean? "Use French beaming style for this
-stem. The stem will stop at the innermost beams.")
+stem.  The stem stops at the innermost beams.")
      (fret-count ,integer? "The number of frets in a fret diagram.")
      ;; ugh: double, change.
      (full-size-change ,boolean? "Don't make a change clef smaller.")
-     (non-default ,boolean? "Set for manually specified clefs.")
-     (glyph ,string? "a string determining what (style) of glyph is
-typeset. Valid choices depend on the function that is reading this
-property.")
+
      (gap ,ly:dimension? "Size of a gap in a variable symbol.")
      (gap-count ,integer? "Number of gapped beams for tremolo.")
-     (glyph-name-alist ,list? "Alist of key-string pairs.")
+     (glyph ,string? "A string determining what @q{style} of glyph is
+typeset.  Valid choices depend on the function that is reading this
+property.")
+     (glyph-name-alist ,list? "An alist of key-string pairs.")
      (grow-direction ,ly:dir? "Crescendo or decrescendo?")
-     (hair-thickness ,number? "Thickness of the thin line in a bar line.")
-     (head-direction ,ly:dir? "Are the note heads left or right in a semitie?")
-     (height ,ly:dimension? "Height of an object in staff-space.")
-     (height-limit ,ly:dimension? "Maximum slur height: the longer the
+
+     (hair-thickness ,number? "Thickness of the thin line in a bar
+line.")
+     (head-direction ,ly:dir? "Are the note heads left or right in a
+semitie?")
+     (height ,ly:dimension? "Height of an object in
+@code{staff-space} units.")
+     (height-limit ,ly:dimension? "Maximum slur height: The longer the
 slur, the closer it is to this height.")
      (horizontal-shift ,integer? "An integer that identifies ranking
-of note-column for horizontal shifting. This is used by
+of @code{NoteColumn}s for horizontal shifting.  This is used by
 @internalsref{note-collision-interface}.")
-     (avoid-slur ,symbol? "Method of handling slur collisions.
-Choices are @code{around}, @code{inside}, @code{outside}.  If unset, script
-and slur ignore each other.  @code{around} will only move the script if
-there is a collision; @code{outside} will always move the script.")
-     (ignore-collision ,boolean? "If set, don't do note collision resolution on this NoteColumn.")
-     (infinite-spacing-height ,boolean? "If true, then for the purposes of
-horizontal spacing, treat this item as though it were infinitely tall. That
-is, no object from another column will be allowed to stick above or below this item.")
-     (inspect-quants ,number-pair? "If debugging is set,
-set beam/slur quant to this position, and print the respective scores.")
-     (inspect-index ,integer? "If debugging is set,
-set beam/slur configuration to this index, and print the respective scores.")
+     (horizontal-skylines ,ly:skyline-pair? "Two skylines, one to the
+left and one to the right of this grob.")
+
+     (ignore-collision ,boolean? "If set, don't do note collision
+resolution on this @code{NoteColumn}.")
      (implicit ,boolean? "Is this an implicit bass figure?")
-     (keep-fixed-while-stretching ,boolean? "A grob with this property set to true will be fixed relative to the staff above it when systems are stretched.")
+     (infinite-spacing-height ,boolean? "If true, then for the
+purposes of horizontal spacing, treat this item as though it were
+infinitely tall.  That is, no object from another column is allowed to
+stick above or below this item.")
+     (inspect-index ,integer? "If debugging is set, set beam and slur
+configuration to this index, and print the respective scores.")
+     (inspect-quants ,number-pair? "If debugging is set,
+set beam and slur quants to this position, and print the respective
+scores.")
+
+     (keep-fixed-while-stretching ,boolean? "A grob with this property
+set to true is fixed relative to the staff above it when systems are
+stretched.")
      (keep-inside-line ,boolean? "If set, this column cannot have
 things sticking into the margin.")
-     (kern ,ly:dimension? "Amount of extra white space to add. For
-bar line, this is the amount of space after a thick line.")
+     (kern ,ly:dimension? "Amount of extra white space to add.  For
+bar lines, this is the amount of space after a thick line.")
      (knee ,boolean? "Is this beam kneed?")
      (knee-spacing-correction ,number? "Factor for the optical
-correction amount for kneed beams. Set between 0 for no correction and
-1 for full correction.")
-     (label-dir ,ly:dir? "Side to which label is attached. @code{-1} for left, @code{1} for right.")
-     (layer ,number? "The output layer [0..2]: layers define the order
-of printing objects. Objects in lower layers are overprinted by
-objects in higher layers.")
-     (ledger-line-thickness ,number-pair?
-                           "The thickness of ledger lines: it is the
-sum of 2 numbers.  The first is the factor for line thickness, and the
-second for staff space. Both contributions are added.")
-     (left-bound-info ,list? "alist of properties for determining attachments of spanners to edges.")
+correction amount for kneed beams.  Set between @code{0} for no
+correction and @code{1} for full correction.")
+
+     (label-dir ,ly:dir? "Side to which a label is attached.
+@code{-1} for left, @code{1}@tie{}for right.")
+     (layer ,number? "The output layer (a value between 0 and@tie{}2:
+Layers define the order of printing objects.  Objects in lower layers
+are overprinted by objects in higher layers.")
+     (ledger-line-thickness ,number-pair? "The thickness of ledger
+lines.  It is the sum of 2@tie{}numbers: The first is the factor for
+line thickness, and the second for staff space.  Both contributions
+are added.")
+     (left-bound-info ,list? "An alist of properties for determining
+attachments of spanners to edges.")
      (left-padding ,ly:dimension? "The amount of space that is put
-left to an object (eg. a group of accidentals).")
+left to an object (e.g., a group of accidentals).")
      (length ,ly:dimension? "User override for the stem length of
 unbeamed stems.")
-     (length-fraction ,number? "Multiplier for lengths. Used for
+     (length-fraction ,number? "Multiplier for lengths.  Used for
 determining ledger lines and stem lengths.")
-     (line-break-system-details ,list?
-                               "Alist of properties to use when this
-column is the start of a system.")
+     (line-break-penalty ,number? "Penalty for a line break at this
+column.  This affects the choices of the line breaker; it avoids a
+line break at a column with a positive penalty and prefer a line break
+at a column with a negative penalty.")
+     (line-break-permission ,symbol? "Instructs the line breaker on
+whether to put a line break at this column.  Can be @code{force} or
+@code{allow}.")
+     (line-break-system-details ,list? "An alist of properties to use
+if this column is the start of a system.")
      (line-count ,integer? "The number of staff lines.")
      (line-positions ,list? "Vertical positions of staff lines.")
-     (line-thickness ,number? "The thickness of the tie/slur contour.")
-     (long-text ,markup? "Text markup.  See @usermanref{Text markup}.")
+     (line-thickness ,number? "The thickness of the tie or slur
+contour.")
+     (long-text ,markup? "Text markup.  See @usermanref{Text
+markup}.")
+
      (max-beam-connect ,integer? "Maximum number of beams to connect
-to beams from this stem. Further beams are typeset as beamlets.")
-     (max-stretch ,number? "The maximum amount that this vertical-axis-group
-can be vertically stretched (for example, in order to better fill a page).")
-     (measure-length ,ly:moment? "Length of a
-measure. Used in some spacing situations.")
+to beams from this stem.  Further beams are typeset as beamlets.")
+     (max-stretch ,number? "The maximum amount that this
+@code{VerticalAxisGroup} can be vertically stretched (for example, in
+order to better fill a page).")
      (measure-count ,integer? "The number of measures for a
-multimeasure rest.")
-     (merge-differently-headed ,boolean? "Merge
-note heads in collisions, even if they have different note heads. The
-smaller of the two heads will be rendered invisible. This used
-polyphonic guitar notation. The value of this setting is used by
-@internalsref{note-collision-interface} .
-merge-differently-headed only applies to opposing stem dirs
-(ie. Voice 1 & 2).")
+multi-measure rest.")
+     (measure-length ,ly:moment? "Length of a measure.  Used in some
+spacing situations.")
      (merge-differently-dotted ,boolean? "Merge note heads in
-collisions, even if they have a different number of dots. This normal
-notation for some types of polyphonic music.
-merge-differently-dotted only applies to opposing stem dirs
-(ie. Voice 1 & 2).")
-     (minimum-length-fraction ,number? "Minimum length of ledger line as fraction of note head size.")
+collisions, even if they have a different number of dots.  This is
+normal notation for some types of polyphonic music.
+
+@code{merge-differently-dotted} only applies to opposing stem
+directions (i.e. voice 1 &@tie{}2).")
+     (merge-differently-headed ,boolean? "Merge note heads in
+collisions, even if they have different note heads.  The
+smaller of the two heads is rendered invisible.  This is used in
+polyphonic guitar notation.  The value of this setting is used by
+@internalsref{note-collision-interface}.
+
+@code{merge-differently-headed} only applies to opposing stem
+directions (i.e. voice 1 &@tie{}2).")
+     (minimum-X-extent ,number-pair? "Minimum size of an object in
+X@tie{}dimension, measured in @code{staff-space} units.")
+     (minimum-Y-extent ,number-pair? "See @code{minimum-X-extent}.")
      (minimum-distance ,ly:dimension? "Minimum distance between rest
 and notes or beam.")
-     (minimum-X-extent ,number-pair? "Minimum size of an object in X
-dimension, measured in staff space.")
-     (minimum-Y-extent ,number-pair? "See @code{minimum-X-extent}.")
      (minimum-length ,ly:dimension? "Try to make a spanner at least
-this long. This requires an appropriate callback for the
-@code{springs-and-rods} property.  If added to a Tie, this sets the
-minimum distance between noteheads.")
+this long, normally in the horizontal direction.  This requires an
+appropriate callback for the @code{springs-and-rods} property.  If
+added to a @code{Tie}, this sets the minimum distance between
+noteheads.")
+     (minimum-length-fraction ,number? "Minimum length of ledger line
+as fraction of note head size.")
      (minimum-space ,ly:dimension? "Minimum distance that the victim
 should move (after padding).")
+
      (neutral-direction ,ly:dir? "Which direction to take in the
 center of the staff.")
      (neutral-position ,number? "Position (in half staff spaces) where
 to flip the direction of custos stem.")
-     (next ,ly:grob? "Object that is next relation (eg. the lyric syllable following an extender.")
-     (note-names ,vector? "Vector of strings containing names for
-easy-notation note heads.")
-     (no-ledgers ,boolean? "If set, don't draw ledger lines on this object.")
+     (next ,ly:grob? "Object that is next relation (e.g., the lyric
+syllable following an extender.")
+     (no-ledgers ,boolean? "If set, don't draw ledger lines on this
+object.")
      (no-stem-extend ,boolean? "If set, notes with ledger lines do not
 get stems extending to the middle staff line.")
-     (non-musical ,boolean? "True if the grob belongs in a NonMusicalPaperColumn.")
+     (non-default ,boolean? "Set for manually specified clefs.")
+     (non-musical ,boolean? "True if the grob belongs to a
+@code{NonMusicalPaperColumn}.")
+     (note-names ,vector? "Vector of strings containing names for
+easy-notation note heads.")
      (number-type ,symbol? "Type of numbers to use in label.  Choices
 include @code{roman-lower}, @code{roman-upper}, and @code{arabic}.")
-     (outside-staff-horizontal-padding ,number? "By default, an outside-staff-object can be
-placed so that is it very close to another grob horizontally. If this property is set,
-the outside-staff-object will be raised so that it is not so close to its neighbour.")
-     (outside-staff-padding ,number? "The padding to place between this grob and the staff when
-spacing according to outside-staff-priority.")
-     (outside-staff-priority ,number? "When set, the grob will be positioned outside the staff
-in such a way as to avoid all collisions. In case of a potential collision, the grob with
-the smaller outside-staff-priority will be closer to the staff.")
+
+     (outside-staff-horizontal-padding ,number? "By default, an
+outside-staff-object can be placed so that is it very close to another
+grob horizontally.  If this property is set, the outside-staff-object
+is raised so that it is not so close to its neighbour.")
+     (outside-staff-padding ,number? "The padding to place between
+this grob and the staff when spacing according to
+@code{outside-staff-priority}.")
+     (outside-staff-priority ,number? "If set, the grob is positioned
+outside the staff in such a way as to avoid all collisions.
+In case of a potential collision, the grob with the smaller
+@code{outside-staff-priority} is closer to the staff.")
+
      (packed-spacing ,boolean? "If set, the notes are spaced as
 tightly as possible.")
      (padding ,ly:dimension? "Add this much extra space between
 objects that are next to each other.")
-     (page-break-permission ,symbol? "Instructs the page breaker on whether to
-put a page break at this column. Can be 'force, or 'allow.")
-     (page-turn-permission ,symbol? "Instructs the page breaker on whether to
-put a page turn at this column. Can be 'force, or 'allow.")
-     (line-break-permission ,symbol? "Instructs the line breaker on whether to
-put a line break at this column. Can be 'force, or 'allow.")
-     (page-break-penalty ,number? "Penalty for page break at
-this column. This affects the choices of the page breaker; it will avoid a page
-break at a column with a positive penalty and prefer a page break at a column
-with a negative penalty.")
-     (page-turn-penalty ,number? "Penalty for a page turn at this column.
-This affects the choices of the page breaker; it will avoid a page
-turn at a column with a positive penalty and prefer a page turn at a column
-with a negative penalty.")
+     (page-break-penalty ,number? "Penalty for page break at this
+column.  This affects the choices of the page breaker; it avoids a
+page break at a column with a positive penalty and prefer a page break
+at a column with a negative penalty.")
+     (page-break-permission ,symbol? "Instructs the page breaker on
+whether to put a page break at this column.  Can be @code{force} or
+@code{allow}.")
+     (page-turn-penalty ,number? "Penalty for a page turn at this
+column.  This affects the choices of the page breaker; it avoids a
+page turn at a column with a positive penalty and prefer a page turn
+at a column with a negative penalty.")
+     (page-turn-permission ,symbol? "Instructs the page breaker on
+whether to put a page turn at this column.  Can be @code{force} or
+@code{allow}.")
      (parenthesized ,boolean? "Parenthesize this grob.")
-     (line-break-penalty ,number? "Penalty for a line break at this column.
-This affects the choices of the line breaker; it will avoid a line
-break at a column with a positive penalty and prefer a line break at a column
-with a negative penalty.")
-     (positions ,pair?
-               "Pair of staff coordinates @code{(@var{left}
-. @var{right})}, where both @var{left} and @var{right} are in the
-staff-space unit of the current staff.")
-     (ratio ,number? "Parameter for slur shape. The higher this number, the
-quicker the slur attains it @code{height-limit}.")
+     (positions ,pair? "Pair of staff coordinates @code{(@var{left}
+. @var{right})}, where both @var{left} and @var{right} are in
+@code{staff-space} units of the current staff.")
+
+     (ratio ,number? "Parameter for slur shape.  The higher this
+number, the quicker the slur attains its @code{height-limit}.")
      (remove-empty ,boolean? "If set, remove group if it contains no
-@code{interesting-items}")
-     (remove-first ,boolean? "Remove the first staff of a orchestral score?")
-     (restore-first ,boolean? "Print a natural before the accidental.")
-     (rhythmic-location ,rhythmic-location? "Where (bar number, measure position) in the score.")
-     (right-bound-info ,list? "alist of properties for determining attachments of spanners to edges.")
-     (right-padding ,ly:dimension? "Space to insert on the right side  of an object (eg. between note and its accidentals.)")
-     (rotation ,list? "Number of degrees to rotate this object, and what point
-to rotate around. #'(45 0 0) means rotate 45 degrees around the center of this object.")
+interesting items.")
+     (remove-first ,boolean? "Remove the first staff of a orchestral
+score?")
+     (restore-first ,boolean? "Print a natural before the
+accidental.")
+     (rhythmic-location ,rhythmic-location? "Where (bar number,
+measure position) in the score.")
+     (right-bound-info ,list? "An alist of properties for determining
+attachments of spanners to edges.")
+     (right-padding ,ly:dimension? "Space to insert on the right side
+of an object (e.g., between note and its accidentals).")
+     (rotation ,list? "Number of degrees to rotate this object, and
+what point to rotate around.  For example, @code{#'(45 0 0)} rotates
+by 45 degrees around the center of this object.")
+
      (same-direction-correction ,number? "Optical correction amount
-for stems that are placed in tight configurations. This amount is used
-for stems with the same direction to compensate for note-head to stem distance.")
+for stems that are placed in tight configurations.  This amount is
+used for stems with the same direction to compensate for note-head to
+stem distance.")
      (script-priority ,number? "A sorting key that determines in what
 order a script is within a stack of scripts.")
      (self-alignment-X ,number? "Specify alignment of an object.  The
-value -1 means left aligned, 0 centered, and 1 right-aligned in X
-direction. Values in between may also be specified.")
-     (self-alignment-Y ,number? "like @code{self-alignment-X} but for
-Y axis.")
+value @code{-1} means left aligned, @code{0}@tie{}centered, and
+@code{1}@tie{}right-aligned in X@tie{}direction.  Values in-between
+may also be specified.")
+     (self-alignment-Y ,number? "Like @code{self-alignment-X} but for
+the Y@tie{}axis.")
      (shorten-pair ,number-pair? "The lengths to shorten a
-text-spanner on both sides, for example a pedal bracket.  Positive values
-shorten the text-spanner, while negative values lengthen it.")
-     (clip-edges ,boolean? "Allow outward pointing beamlets at the edges of beams?")
-     (common-shortest-duration ,ly:moment?
-                              "The most common shortest note length.
-This is used in spacing. Enlarging this will set the score tighter.")
+text-spanner on both sides, for example a pedal bracket.  Positive
+values shorten the text-spanner, while negative values lengthen it.")
      (shortest-duration-space ,ly:dimension? "Start with this much
-space for the shortest duration. This is expressed in
-@code{spacing-increment} as unit. See also
+space for the shortest duration.  This is expressed in
+@code{spacing-increment} as unit.  See also
 @internalsref{spacing-spanner-interface}.")
-     (shortest-playing-duration ,ly:moment? "The duration of the shortest playing here.")
-     (shortest-starter-duration ,ly:moment? "The duration of the shortest
-note that starts here.")
-     (side-relative-direction ,ly:dir?
-                             "Multiply direction of
+     (shortest-playing-duration ,ly:moment? "The duration of the
+shortest playing here.")
+     (shortest-starter-duration ,ly:moment? "The duration of the
+shortest note that starts here.")
+     (side-axis ,number? "If the value is @code{#X} (or
+equivalently@tie{}@code{1}), the object is placed horizontally next
+to the other object.  If the value is @code{#Y} or@tie{}@code{0}, it
+is placed vertically.")
+     (side-relative-direction ,ly:dir? "Multiply direction of
 @code{direction-source} with this to get the direction of this
 object.")
-     (side-axis ,number? "If the value is #X (or equivalently 1), the object is placed horizontally next to the other object. If the value is #Y or 0, it is placed vertically.")
      (size ,number? "Size of object, relative to standard size.")
-     (vertical-skylines ,ly:skyline-pair? "Two skylines, one above and one below this grob.")
-     (horizontal-skylines ,ly:skyline-pair? "Two skylines, one to the left and one to the right of this grob.")
      (slope ,number? "The slope of this object.")
      (slur-padding ,number? "Extra distance between slur and script.")
      (space-alist ,list? "A table that specifies distances between
-prefatory items, like clef and time-signature. The format is an alist
+prefatory items, like clef and time-signature.  The format is an alist
 of spacing tuples: @code{(@var{break-align-symbol} @var{type}
 . @var{distance})}, where @var{type} can be the symbols
 @code{minimum-space} or @code{extra-space}.")
      (spacing-increment ,number? "Add this much space for a doubled
-duration. Typically, the width of a note head. See also
+duration.  Typically, the width of a note head. See also
 @internalsref{spacing-spanner-interface}.")
-     (springs-and-rods ,boolean? "Dummy variable for triggering spacing routines.")
+     (springs-and-rods ,boolean? "Dummy variable for triggering
+spacing routines.")
      (stacking-dir ,ly:dir? "Stack objects in which direction?")
-     (staff-padding ,ly:dimension?
-                   "Maintain this much space between reference points
-and the staff.  Its effect is to align objects of differing
-sizes (like the dynamic @b{p} and @b{f}) on their baselines.")
+     (staff-padding ,ly:dimension? "Maintain this much space between
+reference points and the staff.  Its effect is to align objects of
+differing sizes (like the dynamic @b{p} and @b{f}) on their
+baselines.")
      (staff-position ,number? "Vertical position, measured in half
 staff spaces, counted from the middle line.")
      (staff-space ,ly:dimension? "Amount of space between staff lines,
-expressed in global staff-space.")
-     (stemlet-length ,number? "How long should a stem over a rest be?")
-     (stem-attachment ,number-pair? "A  (@var{x} . @var{y}) pair where the stem attaches to the notehead.")
-     (stem-end-position ,number? "Where does the stem end (the end is opposite to the support-head.")
+expressed in global @code{staff-space}.")
+     (stem-attachment ,number-pair? "A @code{(@var{x} . @var{y})} pair
+where the stem attaches to the notehead.")
+     (stem-end-position ,number? "Where does the stem end (the end is
+opposite to the support-head)?")
      ;;[TODO: doco]
      (stem-spacing-correction ,number? "Optical correction amount for
-stems that are placed in tight configurations. For opposite
+stems that are placed in tight configurations.  For opposite
 directions, this amount is the correction for two normal sized stems
 that overlap completely.")
+     (stemlet-length ,number? "How long should a stem over a rest
+be?")
      (stencil ,ly:stencil? "The symbol to print.")
-     (stencils ,list? "Multiple stencils, used as intermediate value.")
+     (stencils ,list? "Multiple stencils, used as intermediate
+value.")
+     (strict-grace-spacing ,boolean? "If set, grace notes 
+are not spaced separately, but put before musical columns.")
      (strict-note-spacing ,boolean? "If set, unbroken columns
 with non-musical material (clefs, barlines, etc.) are not spaced
 separately, but put before musical columns.")
-     (strict-grace-spacing ,boolean? "If set, grace notes 
-are not spaced separately, but put before musical columns.")
-     (string-count ,integer? "The number of strings in a fret diagram.")
-     (string-fret-finger-combinations ,list? "List consisting of (string-number fret-number finger-number) entries.")
-     (stroke-style ,string? "set to \"grace\" to turn stroke through flag on.")
+     (string-count ,integer? "The number of strings in a fret
+diagram.")
+     (string-fret-finger-combinations ,list? "List consisting of
+@code{(@var{string-number} @var{fret-number} @var{finger-number})}
+entries.")
+     (stroke-style ,string? "Set to @code{\"grace\"} to turn stroke
+through flag on.")
      (style ,symbol? "This setting determines in what style a grob is
-typeset. Valid choices depend on the @code{stencil} callback reading
+typeset.  Valid choices depend on the @code{stencil} callback reading
 this property.")
+
      (text ,markup? "Text markup.  See @usermanref{Text markup}.")
 ;;FIXME -- Should both be the same?
      (text-direction ,ly:dir? "This controls the ordering of the
-words. The default RIGHT is for roman text. Arabic or hebrew should
-use LEFT.")
+words.  The default @code{RIGHT} is for roman text.  Arabic or Hebrew
+should use @code{LEFT}.")
      (thick-thickness ,number? "Bar line thickness, measured in
 @code{line-thickness}.")
      (thickness ,number? "Line thickness, generally measured in
 @code{line-thickness}.")
      (thin-kern ,number? "The space after a hair-line in a bar line.")
-     (threshold ,number-pair? "(@var{min} . @var{max}), where
+     (threshold ,number-pair? "@code{(@var{min} . @var{max})}, where
 @var{min} and @var{max} are dimensions in staff space.")
-     (tie-configuration ,list? "List of (@var{position} . @var{dir})
-pairs, indicating the desired tie configuration where @var{position} is
-the offset from the center of the
-staff in staff space and @var{dir} indicates the direction of the tie
-(1=>up, -1=>down, 0=>center).  A non-pair entry in the list will cause
-the corresponding tie to be formatted automatically.")
+     (tie-configuration ,list? "List of @code{(@var{position} .
+@var{dir})} pairs, indicating the desired tie configuration, where
+@var{position} is the offset from the center of the staff in staff
+space and @var{dir} indicates the direction of the tie
+(@code{1}=>up, @code{-1}=>down, @code{0}=>center).  A non-pair entry
+in the list causes the corresponding tie to be formatted
+automatically.")
      (transparent ,boolean? "This makes the grob invisible.")
-     (uniform-stretching ,boolean? "If set, items stretch proportional
-to their durations. This looks better in complex polyphonic patterns")
-     (used ,boolean? "If set, this spacing column is kept in the spacing problem")
+
+     (uniform-stretching ,boolean? "If set, items stretch
+proportionally to their durations.  This looks better in complex
+polyphonic patterns.")
+     (used ,boolean? "If set, this spacing column is kept in the
+spacing problem")
+
+     (vertical-skylines ,ly:skyline-pair? "Two skylines, one above and
+one below this grob.")
+
      (when ,ly:moment? "Global time step associated with this column
 happen?")
-     (word-space ,ly:dimension? "space to insert between words in texts.")
-     (width ,ly:dimension? "The width of a grob measured in staff space.")
+     (width ,ly:dimension? "The width of a grob measured in staff
+space.")
+     (word-space ,ly:dimension? "Space to insert between words in
+texts.")
+
      (zigzag-length ,ly:dimension? "The length of the lines of a
-zigzag, relative to @code{zigzag-width}. A value of 1 gives 60-degree
-zigzags.")
-     (zigzag-width ,ly:dimension? "The width of one
-zigzag-squiggle. This number will be adjusted slightly so that the
-glissando line can be constructed from a whole number of squiggles.")
+zigzag, relative to @code{zigzag-width}.  A value of@tie{}@code{1}
+gives 60-degree zigzags.")
+     (zigzag-width ,ly:dimension? "The width of one zigzag squiggle.
+This number is adjusted slightly so that the glissando line can
+be constructed from a whole number of squiggles.")
      )))
 
 
@@ -452,11 +558,10 @@ glissando line can be constructed from a whole number of squiggles.")
      (apply define-internal-grob-property x))
    
    `(
-
      ;;;;;;;;;;;;;;;;
      ;; grobs & grob arrays. (alphabetical)
-     (Y-common ,ly:grob? "See X-common")
      (X-common ,ly:grob? "Common refpoint for axis group.")
+     (Y-common ,ly:grob? "See @code{X-common}.")
      (cached-pure-extents ,vector? "Used by a VerticalAxisGroup to cache the Y-extents of different column ranges.")
      (axis-group-parent-X ,ly:grob? "Containing X axis group")
      (axis-group-parent-Y ,ly:grob? "Containing Y axis group")
@@ -576,7 +681,7 @@ acts as an index for looking up a Stencil object.")
      (shorten ,ly:dimension? "The amount of space that a
 stem. Internally used to distribute beam shortening over stems. ")
      (skyline-distance ,number? "The distance between this staff and the next one, as determined by a skyline algorithm.")
-     (skyline-horizontal-padding ,number? "For determining the vertical distance between 2 staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves will be placed in such a configuration.")
+     (skyline-horizontal-padding ,number? "For determining the vertical distance between 2 staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.")
  
      (use-breve-rest ,boolean? "Use breve rests for measures longer
 than a whole rest.")
index c421eefdf58690f562e9765d58e686441123e4df..03ac6f83e3dd3317bfec84ba56447d617dadd8ea 100644 (file)
@@ -126,7 +126,7 @@ Syntax:
        )) 
     (ContextChange
      . (
-       (description .  "Change staffs in Piano staff. 
+       (description .  "Change staves in Piano staff. 
 
 Syntax @code{\\translator Staff = @var{new-id}}.")
        (iterator-ctor . , ly:change-iterator::constructor)
@@ -564,7 +564,7 @@ For example, transposed music.")
     (SkipMusic
      . (
        (description .  "Filler that takes up duration, does not print anything, and also
-does not create staffs or voices implicitly.
+does not create staves or voices implicitly.
 
 
 
index b44fc12e0e0ae5e464d88417a05fd1451beef32d..9c9e7acf03098bfdfdd1356261fa10761a4a103b 100644 (file)
 
 @c NOTE: This is documentation-generate.scm, not macros.itexi
 
+
 @ifhtml
+@c ***** HTML *****
+
 @macro usermanref{NAME}
 @ref{\\NAME\\,,,lilypond}
 @cindex \\NAME\\
 @end macro
-@end ifhtml
 
-@ifinfo
-@macro usermanref{NAME}
-@inforef{\\NAME\\,,,lilypond}
+@macro glossaryref{NAME}
+@ref{\\NAME\\,,,music-glossary}
 @cindex \\NAME\\
 @end macro
-@end ifinfo
 
-@iftex
-@macro usermanref{NAME}
-@ref{\\NAME\\}@c
+@macro inputfileref{DIR,NAME}
+@uref{source/\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
 @end macro
-@end iftex
 
-@ifhtml
-@macro glossaryref{NAME}
-@ref{\\NAME\\,,,music-glossary}
-@cindex \\NAME\\
+@macro q{TEXT}
+@html
+&lsquo;\\TEXT\\&rsquo;
+@end html
 @end macro
 @end ifhtml
 
+
 @ifinfo
+@c ***** info *****
+
+@macro usermanref{NAME}
+@inforef{\\NAME\\,,,lilypond}
+@cindex \\NAME\\
+@end macro
+
 @macro glossaryref{NAME}
 @inforef{\\NAME\\,,lilypond/music-glossary}
 @cindex \\NAME\\
 @end macro
-@end ifinfo
 
-
-@macro internalsref{NAME}
-@ref{\\NAME\\}
+@macro inputfileref{DIR,NAME}
+@file{\\DIR\\/\\NAME\\}
 @end macro
 
-@ifhtml
-
-@macro inputfileref{DIR,NAME}
-@uref{source/\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
+@macro q{TEXT}
+`\\TEXT\\'
 @end macro
+@end ifinfo
 
-@end ifhtml
 
-@ifinfo
+@iftex
+@c ***** TeX *****
 
-@macro inputfileref{DIR,NAME}
-@file{\\DIR\\/\\NAME\\}
+@macro usermanref{NAME}
+@ref{\\NAME\\}@c
 @end macro
 
-@end ifinfo
-
-@iftex
 @macro inputfileref{DIR,NAME}@c
 @file{\\DIR\\/\\NAME\\}@c
 @end macro
+
+@macro q{TEXT}
+`\\TEXT\\'
+@end macro
 @end iftex
 
 
+@macro internalsref{NAME}
+@ref{\\NAME\\}
+@end macro
+
+
 @ignore
 @omftitle LilyPond internals
 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen