]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into lilypond/translation
authorJohn Mandereau <john.mandereau@gmail.com>
Sun, 2 Sep 2007 11:47:19 +0000 (13:47 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Sun, 2 Sep 2007 11:47:19 +0000 (13:47 +0200)
* master:
  Minor fixes from mailist/bugs.

Documentation/de/user/advanced-notation.itely
Documentation/de/user/basic-notation.itely
Documentation/de/user/introduction.itely
Documentation/de/user/tutorial.itely
Documentation/fr/user/advanced-notation.itely
Documentation/fr/user/changing-defaults.itely
Documentation/po/de.po
make/doclang-targets.make

index dd02d2c0ad86af09852e508b01153037f5b131fd..331717ff07b668fbe593b9b5d58069a650e45522 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1
+    Translation of GIT committish: 718cc970304f6b9a3bb990259a048c06e56f4e48
 
 
     When revising a translation, copy the HEAD committish of the
index b8237628221f08f87a22ae88f4bb88e84e03d74c..a2dc24c598d7dda218e3d7390373a8d4a6b6f5ba 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1
+    Translation of GIT committish: 718cc970304f6b9a3bb990259a048c06e56f4e48
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -1064,7 +1064,8 @@ einfachen Noten.
 
 Siehe @ref{Chord names} für mehr Information.
 
-
+@c  I don't like having this here, but I can't think of
+@c  anywhere else to put it.  :(   -gp
 @node Stems
 @subsection Stems
 
@@ -1138,7 +1139,8 @@ Legato- und Bindebögen nicht in eine @code{<< \\ >>}-Umgebung
 hinein- noch aus hier hinaus ragen können. Die parallelen 
 Notenabschnitte aus unterschiedlichen @code{<< \\ >>}-Umgebungen
 hingegen gehören der gleichen Stimme an. Hier noch einmal das 
-gleiche Beispiel mit unterschiedlichen Notenköpfen für jede Stimme. 
+gleiche Beispiel mit unterschiedlichen Notenköpfen und Farben 
+für jede Stimme. 
 Die Veränderung der Notenköpfe in der Hauptstimme hat keine
 Auswirkung auf die Stimmen innerhalb der  @code{<< \\ >>}-Umgebungen, 
 und die Veränderung der Notenköpfe für die untere Stimme setzt 
@@ -1151,16 +1153,20 @@ zweiten Polyphonie-Umgebung angebunden.
 @lilypond[quote,verbatim,fragment]
 \new Staff \relative c' {
   \override NoteHead #'style = #'cross
+  \override NoteHead #'color = #red
   c16 d e f
   <<
     { g4 f e } \\
     { \override NoteHead #'style = #'triangle
+      \override NoteHead #'color = #blue
     r8 e4 d c8 ~ }
   >> |
   <<
     { d2 e2 } \\
     { c8 b16 a b8 g ~ g2 } \\
-    { \override NoteHead #'style = #'slash s4 b4 c2 }
+    { \override NoteHead #'style = #'slash 
+      \override NoteHead #'color = #green
+      s4 b4 c2 }
   >>
 }
 @end lilypond
@@ -1215,12 +1221,13 @@ Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung
 auftritt, gehört der Hauptstimme an. Das ist nützlich, wenn zusätzliche 
 Stimme auftreten, während die Hauptstimme sich fortsetzt. Hier also 
 eine bessere Version des Beispiels aus dem vorigen Abschnitt. Die 
-Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in einem 
-einzigen Stimmen (@code{voice})-Kontext befindet.
+farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in 
+einem einzigen Stimmen (@code{voice})-Kontext befindet.
 
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
   \override NoteHead #'style = #'cross
+  \override NoteHead #'color = #red
   c16 d e f
   \voiceOne
   <<
index 9dd9d2ae2204ed96f7e7db20f81f5b8be719917e..ca1e2046a3fe51a89179af9182f33d914911d63b 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1
+    Translation of GIT committish: 718cc970304f6b9a3bb990259a048c06e56f4e48
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -717,12 +717,19 @@ es sehr einfach, Musik und Text zu kombinieren.
 @node About this manual
 @section About this manual
 
-Das Handbuch ist in vier Bücher geteilt:
+Es gibt zwei Handbücher zu LilyPond: das @emph{Benutzerhandbuch} (dieses 
+Dokument) und das @emph{Handbuch über die Programmbenutzung}.
 
-@subsubheading Handbuch zum Lernen
+
+@subheading User manual
+
+Das Handbuch ist in drei Bücher geteilt.
+
+@subsubheading Learning manual
 
 In diesem Buch wird erklärt, wie man das Programm LilyPond erlernt; mit 
-einfachen Begriffen werden einige Schlüsselkonzepte erklärt.
+einfachen Begriffen werden einige Schlüsselkonzepte erklärt. Die Kapitel 
+sollten hintereinander gelsen werden.
 
 @itemize @bullet
 
@@ -730,27 +737,28 @@ einfachen Begriffen werden einige Schlüsselkonzepte erklärt.
 @ifhtml
 Die 
 @end ifhtml
-@emph{@ref{Tutorial}}
+@emph{@ref{Tutorial}},
 stellt eine einfache Einführung in den Musiksatz dar. Neulinge sollten hiermit 
 beginnen.
 
 @item
-@emph{@ref{Putting it all together}}
+@emph{@ref{Putting it all together}},
 erklärt generelle Konzepte des LilyPond-Dateiformates. Wenn Sie sich nicht 
 sicher sind, wohin ein Befehl gesetzt werden soll, lesen Sie hier nach.
 
 @item
-@emph{@ref{Working on LilyPond projects}}
+@emph{@ref{Working on LilyPond projects}},
 zeigt den wirklichen Einsatz von LilyPond und gibt Hinweise, wie einige 
 Probleme vermieden werden können.
 
 @item
-@emph{@ref{Tweaking output}}
+@emph{@ref{Tweaking output}},
 stellt dar, wie die Standardeinstellungen von LilyPond verändert werden können.
  
 @end itemize
 
-@subsubheading Alles über die Notation
+
+@subsubheading Notation reference
 
 In diesem Buch werden alle LilyPond-Befehle erklärt, die Notationszeichen 
 produzieren. Es geht von der Annahme aus, dass der Leser sich mit den 
@@ -759,70 +767,42 @@ Grundkonzeption des Programmes im Handbuch zum Lernen bekannt gemacht hat.
 @itemize @bullet
 
 @item
-@emph{@ref{Basic notation}}
+@emph{@ref{Basic notation}},
 erklärt alles über die grundlegenden Notationskonstruktionen. Dieses Kapitel 
 ist für fast jedes Notationsprojekt  nützlich.
 
 @item
-@emph{@ref{Instrument-specific notation}}
+@emph{@ref{Instrument-specific notation}},
 erklärt spezifische Schwierigkeiten, die sich bei bestimmten Notationstypen 
 ergeben. Dieses Kapitel ist nur in entsprechenden Fällen bestimmter Instrumente 
 oder bei Gesang zu konsultieren.
 
 @item
-@emph{@ref{Advanced notation}}
+@emph{@ref{Advanced notation}},
 erklärt komplizierte oder unübliche Anwendungen nach Notationsgegenstand geordnet.
 
 @item
-@emph{@ref{Changing defaults}}
+@emph{@ref{Changing defaults}},
 erklärt, wie des Layout getrimmt werden kann.
 
 @item
-@emph{@ref{Non-musical notation}}
+@emph{@ref{Non-musical notation}},
 zeigt alles, was nicht direkt mit den Noten zu tun hat wie Titel, mehrere Sätze oder 
 wie man ein MIDI-Instrument auswählt.
 
 @item
-@emph{@ref{Spacing issues}}
+@emph{@ref{Spacing issues}},
 befasst sich mit globalen Fragen wie der Definition von Papierformaten 
 oder wie man Seitenumbrüche definiert.
 
 @item
-@emph{@ref{Interfaces for programmers}}
+@emph{@ref{Interfaces for programmers}},
 demonstriert die Erstellung von musikalischen Funktionen.
 
 @end itemize
 
 
-@subsubheading Programmbenutzung
-
-In diesem Buch wird erklärt, wie das Programm aufgerufen wird und wie sich 
-die von LilyPond erstellte Notation in andere Programm integrieren lässt.
-
-@itemize @bullet
-
-
-@item
-@emph{@rprogram{Running LilyPond}}
-zeigt, wie LilyPond und die Hilfsprogramme gestartet werden. Zusätzlich 
-wird hier gezeigt, wie Quelldateien von älteren LilyPond-Versionen 
-aktualisiert werden können.
-
-@item
-@emph{@rprogram{LilyPond-book}}
-zeigt die Details der Integration von Noten in Texte wie etwa dieses 
-Handbuch.
-
-@item
-@emph{@rprogram{Converting from other formats}}
-erklärt die Funktionsweise der Konvertierungsprogramme. Diese Programme 
-sind im LilyPond-Paket enthalten und können ein ganze Anzahl von Formaten 
-in das @code{.ly}-Format umwandeln.
-
-@end itemize
-
-
-@subsubheading Anhänge
+@subsubheading Appendices
 
 In diesem Buch werden nützliche Referenztabellen gezeigt.
 
@@ -831,44 +811,85 @@ In diesem Buch werden nützliche Referenztabellen gezeigt.
 @ifhtml
 Die
 @end ifhtml
-@emph{@ref{Literature list}}
+@emph{@ref{Literature list}},
 enthält einige wichtige Quellen für alle, die mehr über Notation und 
 den Notensatz erfahren wollen.
 
 @item
-Das 
-@emph{@ref{Scheme tutorial}}
+Die 
+@emph{@ref{Scheme tutorial}},
 stellt eine kurze Einleitung in die Scheme-Sprache dar, mit dem 
 die musikalischen Funktionen gebildet werden.
 
 @item
-@emph{@ref{Notation manual tables}}
+@emph{@ref{Notation manual tables}},
 sind Tabellen, in denen Akkordbezeichnungen, MIDI-Instrumente, 
 Farbbezeichnungen und die Zeichen der Feta-Schriftart gesammelt sind.
 
 @item
-@emph{@ref{Templates}}
+@emph{@ref{Templates}},
 von LilyPond-Stücken. Kopieren Sie einfach hier, fügen Sie in ihre Datei 
 ein und schreiben Sie noch die Noten dazu. Das ist alles!
 
 @item
 Die
-@emph{@ref{Cheat sheet}}
+@emph{@ref{Cheat sheet}},
 zeigt die wichtigsten LilyPond-Befehle.
 
 @item
 Der
-@emph{@ref{LilyPond command index}}
+@emph{@ref{LilyPond command index}},
 listet alle Befehle auf, die mit @code{\} anfangen.
 
 @item
 Der 
-@emph{@ref{LilyPond index}}
+@emph{@ref{LilyPond index}},
 ist ein vollständiger Index.
 
 @end itemize
 
-@subsubheading Andere Information
+
+@subheading Program usage
+
+In diesem Buch wird erklärt, wie das Programm ausgeführt wird und 
+wie die Notation von LilyPond in andere Programme integriert werden 
+kann.
+
+@itemize @bullet
+
+@item
+@emph{@rprogram{Install}},
+erklärt wie LilyPond installiert wird (inclusive Kompilation, wenn es 
+nötig sein sollte).
+
+@item
+@emph{@rprogram{Setup}},
+erklärt wie der Computer eingerichtet wird, damit LilyPond optimal genutzt 
+werden kann. Hierzu gehören etwa spezielle Umgebungen für bestimmte 
+Texteditoren.
+
+@item
+@emph{@rprogram{Running LilyPond}},
+zeigt, wie LilyPond und seine Hilfprogramme gestartet werden. Zusätzlich 
+wird hier erklärt, wie Quelldateien von alten LilyPond-Versionen aktualisiert 
+werden können.
+
+@item
+@emph{@rprogram{LilyPond-book}},
+erklärt die Details, um einen Text mit eingefügten Notenbeispielen (wie 
+etwa dieses Handbuch) zu 
+erstellen.
+
+@item
+@emph{@rprogram{Converting from other formats}},
+erklärt, wie die Konvertierungsprogramme aufgerufen werden. Diese 
+Programme kommen mit LilyPond zusammen und konvertieren eine Vielzahl 
+von Notensatzformaten in das @code{.ly}-Format.
+
+@end itemize
+
+
+@subsubheading Other information
 
 Es gibt einige andere Orte, die sehr wertvolle Information enthalten.
 @itemize @bullet
@@ -881,7 +902,7 @@ Es gibt einige andere Orte, die sehr wertvolle Information enthalten.
 
 @item
 @ifnottex
-Das @ref{Top,Music glossary,,Musik-Glossar}, erklärt musikalische Ausdrücke 
+Das @ref{Top,Musik-Glossar,,music-glossary}, erklärt musikalische Ausdrücke 
 und stellt Übersetzungen für einige Sprachen bereit. Es ist auch als PDF 
 erhältlich.
 @end ifnottex
@@ -918,7 +939,7 @@ Die
 Programmreferenz
 @end iftex
 @ifnottex
-@ref{Top,Program reference,,lilypond-internals}
+@ref{Top,Programmreferenz,,lilypond-internals}
 @end ifnottex
 ist eine Sammlung intensiv verlinkter HTML-Seiten,
 die alle Details jeder einzelnen LilyPond-Klasse, jedes Objektes und 
@@ -946,7 +967,8 @@ ist auch als
 große HTML-Seite erhältlich,
 @end iftex
 @ifhtml
-@uref{source/Documentation/user/lilypond-big-page.html, eine große Seite erhältlich},
+@uref{source/Documentation/user/lilypond-big-page.html, eine große Seite 
+erhältlich},
 @end ifhtml
 die auf einfache Art mit der Suchfunktion Ihres Browsers durchsucht werden kann.
 
index 56765247bc8f62b6251819d3b00f8db007d5ad5f..65095abfe8912176f28a8fcf0d8d90c471c09740 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 3db3697bb5109201192c9cecdd2e4b7a5520421a
+    Translation of GIT committish: 718cc970304f6b9a3bb990259a048c06e56f4e48
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -1423,16 +1423,15 @@ dient es als Einleitung zum Rest des Handbuches.
 @subsection Version number
 
 @cindex Versionsnummern
-Der @code{\version}-Befehl zeigt an, für welche LilyPond-Version
-eine Quelldatei geschrieben worden ist. Um etwa eine Datei für die
-Version 2.11.23 zu markieren, wird einfach
+Der @code{\version}-Befehl zeigt an, welche LilyPond-Version
+für eine bestimmte Quelldatei benutzt worden ist:
 
 @example
 \version "2.11.23"
 @end example
 
 @noindent
-am Anfang der Textdatei eingefügt.
+Üblicherweise wird dieser Befehl am Anfang der Textdatei eingefügt.
 
 Durch diese Versionsmarkierung werden zukünftige Aktualisierungen
 des LilyPond-Programmes einfacher gemacht. Syntax-Änderungen
@@ -1673,4 +1672,7 @@ dieses Dokuments an (wenn Sie das nicht schon tun) und klicken
 Sie auf die Notenbilder, um die dazugehörige Textdatei anzuschauen,
 mit der dieses Notenbild erstellt worden ist.
 
+Mehr Information über die Struktur des restlichen Benutzerhandbuches 
+erhalten Sie im Abschnitt @ref{About this manual}.
+
 
index f9e4edd7427909d639a4c2c3b86a1629f1627a8f..149d28566767d838833d78455370a2822af5dd8c 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of ../user/lilypond.tely
 @ignore
-    Translation of GIT committish: d5b91d83f5dfec811302de39dbabdb189024f67a
+    Translation of GIT committish: 3b48b5e31e0e8fe0a01b539dcb19e23e9fbf89de
 
 
     When revising a translation, copy the HEAD committish of the
 @node Advanced notation
 @chapter Advanced notation
 
-UNTRANSLATED NODE: IGNORE ME
+Ce chapitre traite de fonctions avancées ou moins usuelles de la notation.
+
+@menu
+* Text::                        
+* Preparing parts::             
+* Orchestral music::            
+* Contemporary notation::       
+* Educational use::             
+@end menu
+
+
 
-@menu 
-* Text::
-* Preparing parts::
-* Orchestral music::
-* Contemporary notation::
-* Educational use::
-@end menu 
 @node Text
 @section Text
 
-UNTRANSLATED NODE: IGNORE ME
+Nous allons voir ici comment insérer du texte, selon différents
+formatages, dans vos partitions.
+
+@cindex Texte, autres langues
+Pour écrire des accents et autres caractères spéciaux, il suffit de
+les insérer directement dans votre fichier LilyPond.  Ce fichier devra
+être sauvegardé avec l'encodage UTF-8.  Pour plus d'informations, voir
+@ref{Text encoding}.
+
+@menu
+* Text scripts::                
+* Text and line spanners::      
+* Text spanners::               
+* Text marks::                  
+* Text markup::                 
+* Nested scores::               
+* Page wrapping text::          
+* Overview of text markup commands::  
+* Overview of text markup list commands::  
+* Font selection::              
+* New dynamic marks::           
+@end menu
+
 
-@menu 
-* Text scripts::
-* Text and line spanners::
-* Text spanners::
-* Text marks::
-* Text markup::
-* Nested scores::
-* Page wrapping text::
-* Overview of text markup commands::
-* Overview of text markup list commands::
-* Font selection::
-* New dynamic marks::
-@end menu 
 @node Text scripts
 @subsection Text scripts
 
-UNTRANSLATED NODE: IGNORE ME
+@c I'm not fond of this "étiquette" wording of yours Jean-Charles;
+@c j'utiliserais simplement l'expression "bloc \markup" afin
+@c d'éviter toute confusion avec les \tags (qui méritent davantage
+@c le titre d'étiquette, stricto sensu) -vv
+
+@cindex Étiquette de texte
+@cindex blocs de texte
+@cindex ajout de texte
+
+Vous pouvez placer arbitrairement des chaînes de caractères, ou
+@ref{Text markup} en langage LilyPond, au dessus ou au dessous des
+notes en employant la syntaxe @code{c^"text"}.  Par défaut, ces
+indications n'affecteront en rien l'espacement des notes, sauf à
+utiliser la commande @code{\fatText}.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c4^"longtext" \fatText c4_"longlongtext" c4
+@end lilypond
+
+@noindent
+Pour revenir à l'espacement par défaut, utilisez @code{\emptyText}.
+
+Des constructions plus élaborées d'étiquette peuvent être obtenues en
+ayant recours à la commande @emph{markup} :
+@lilypond[fragment,ragged-right,verbatim,quote]
+c'4^\markup { bla \bold bla }
+@end lilypond
+
+La commande @code{\markup} est décrite plus en détails dans la section
+@ref{Text markup}.
+
+
+@refcommands
+
+@funindex \fatText
+@code{\fatText},
+@funindex \emptyText
+@code{\emptyText}.
+
+
+@commonprop
+
+S'assurer que tous les éléments textuels et les paroles respectent
+les marges du document requiert des calculs relativement lourds ; c'est
+la raison pour laquelle LilyPond, par défaut, ne s'en préoccupe pas.
+Vous pouvez cependant l'y forcer en définissant
+
+@example
+\override Score.PaperColumn #'keep-inside-line = ##t
+@end example
+
+
+@seealso
+
+Dans ce manuel : @ref{Text markup}.
+
+Référence du programme : @internalsref{TextScript}.
+
 
 @node Text and line spanners
 @subsection Text and line spanners
 
-UNTRANSLATED NODE: IGNORE ME
+Certaines indications d'interprétation comme @i{rallentando}, 
+@i{accelerando} ou @i{trilles}, s'incrivent textuellement et se
+prolongent sur plusieurs mesures à l'aide d'une ligne pleine, pointillée
+ou ondulée.
+
+Les routines chargées de matérialiser un @emph{glissando} sont tout à
+fait adaptées à une gestion précise, à la fois du placement du texte, et
+du calcul de l'envergure de sa ligne d'extension.  La routine
+@code{ly:line-interface::print} est plus particulièrement en charge de
+déterminer les points d'ancrage de la ligne et de la dessiner selon le
+style requis.
+  
+Voici un exemple qui illustre les différents styles de ligne
+disponibles, ainsi que la manière de les personnaliser.
+
+@lilypond[relative=2,ragged-right,verbatim,fragment]
+d2 \glissando d'2
+\once \override Glissando #'dash-fraction = #0.5
+d,2 \glissando d'2
+\override Glissando #'style = #'dotted-line
+d,2 \glissando d'2
+\override Glissando #'style = #'zigzag
+d,2 \glissando d'2
+\override Glissando #'style = #'trill
+d,2 \glissando d'2
+@end lilypond
+
+L'information qui va déterminer les extrémités est calculée à la
+volée pour chaque objet graphique.  Il est tout à fait possible de les
+régler vous-même :
+
+@lilypond[relative=2,ragged-right,verbatim,fragment]
+e2 \glissando f
+\once \override Glissando #'bound-details #'right #'Y = #-2
+e2 \glissando f
+@end lilypond
+
+L'objet @code{Glissando}, comme tous ceux qui utilisent la routine
+@code{ly:line-interface::print}, comporte une liste 
+d'associations.  Dans le code ci-dessus, la valeur de @code{Y} est
+fixée, dans la liste d'associations, à @code{-2} pour l'ancrage à
+droite.  Vous pouvez naturellement ajuster l'extrémité gauche en
+remplaçant @code{right} (pour @code{droite}) par @code{left}.
+
+Si @code{Y} n'est pas fixé, sa valeur sera calculée en fonction de la
+hauteur du point de référence droite de la ligne.
+
+Lorsque survient un saut de ligne, la liste des ancrages est
+augmentée d'une liste complémentaire contenant @code{left-broken}
+(brisure à gauche) et @code{right-broken} (brisure à droite), comme
+dans l'exemple suivant :
+
+@lilypond[relative=2,ragged-right,verbatim,fragment]
+\override Glissando #'breakable = ##T 
+\override Glissando #'bound-details #'right-broken #'Y = #-3
+c1 \glissando \break
+f1
+@end lilypond
+
+Vous disposez des propriétés suivantes :
+
+@table @code
+@item Y
+Fixe l'ordonnée (coordonnée-Y) de l'extrémité, mesurée en taille de
+portée.  Il s'agit par défaut du centre de l'objet de rattachement ;
+pour un glissando, ce sera le milieu de la tête de note.
+
+Pour des marques horizontales, telles du texte ou le trait d'un
+trille, cette valeur est figée à 0.
+
+@item attach-dir
+Détermine l'endroit où la ligne commence et finit, relativement à
+l'objet de rattachement. Autrement dit, une valeur de @code{-1} (ou
+@code{LEFT} pour gauche) fera commencer ou finir la ligne du côté
+gauche de la tête de note de référence.
+
+@item X
+Coordonnée absolue du point final. Dans la mesure où elle est calculée
+à la volée, il n'y a pas vraiment de raison de l'outrepasser.
+
+@item stencil
+Sous-propriété contenant les éventuels symboles présents avant ou
+après la ligne. Destinée à un usage interne, nous vous recommendons
+d'utiliser plutôt @code{text}.
+
+@item text
+Marqueur qui sera analysé pour alimenter @code{stencil}.  On y trouve
+habituellement les @i{cresc.} ou @i{tr} des extenseurs horizontaux.
+
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+\override TextSpanner #'bound-details #'left #'text
+   = \markup { \small \bold Slower }
+c2\startTextSpan b c a\stopTextSpan
+@end lilypond
+
+@item stencil-align-dir-y
+@item stencil-offset
+Lorsqu'ils ne sont pas définis, le tracé est tout simplement
+positionné conformément aux sous-propriétés @code{X} et @code{Y}.  En
+fixant soit @code{stencil-align-dir-y}, soit @code{stencil-offset},
+vous pouvez décaler le coin du marqueur par rapport à l'extrémité de
+la ligne.
+
+@lilypond[relative=1,fragment,verbatim]
+\override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN
+\override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP
+
+\override TextSpanner #'bound-details #'left #'text = #"gggg"
+\override TextSpanner #'bound-details #'right #'text = #"hhhh"
+c4^\startTextSpan c c c \stopTextSpan
+@end lilypond
+
+@item arrow
+Assigner à cette sous-propriété la valeur @code{vrai} (@code{#t})
+produira une terminaison en pointe de flèche.
+
+@item padding
+Cette sous-propriété contrôle l'espace entre les extrémités de la
+ligne, telles que définies, et la réalité.  Sans ce léger décalage, le
+début et la fin d'un glissando seraient en plein milieu des têtes de note.
+
+@end table
+
+@seealso
+
+Référence du programme : @internalsref{TextSpanner},
+@internalsref{Glissando}, @internalsref{VoiceFollower},
+@internalsref{TrillSpanner}, @internalsref{line-spanner-interface}.
+
+Exemples : @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
+
 
 @node Text spanners
 @subsection Text spanners
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Prolongateurs de texte
+
+Certaines indications d'interprétation comme @i{rallentando} ou 
+@i{accelerando} s'incrivent en toutes lettres et se prolongent sur
+plusieurs mesures grâce à une ligne pointillée.  Les commandes
+@code{\startTextSpan} et @code{\stopTextSpan}, respectivement
+attachées à la première et à la dernière note qu'elles concernent,
+déterminent l'envergure de ces prolongateurs, ou extenseurs.
+
+La chaîne à imprimer, ainsi que son style, sont définis par des
+propriétés, comme ici :
+
+@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+c1
+\textSpannerDown
+\override TextSpanner #'bound-details #'left #'text =
+  \markup { \upright "rall" } 
+c2\startTextSpan b c\stopTextSpan a
+\break
+\textSpannerUp
+\override TextSpanner #'bound-details #'left #'text =
+  \markup { \italic "rit" } 
+c2\startTextSpan b c\stopTextSpan a
+@end lilypond
+
+@refcommands
+
+@funindex textSpannerUp
+@code{\textSpannerUp},
+@funindex textSpannerDown
+@code{\textSpannerDown},
+@funindex textSpannerNeutral
+@code{\textSpannerNeutral}.
+
+
+@commonprop
+
+Pour obtenir une ligne pleine, utilisez
+
+@example
+\override TextSpanner #'dash-fraction = #'()
+@end example
+
+
+@seealso
+
+Référence du programme : @internalsref{TextSpanner}.
+
 
 @node Text marks
 @subsection Text marks
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex coda sur une barre de mesure
+@cindex segno sur une barre de mesure
+@cindex point d'orgue sur une barre de mesure
+@cindex barres de mesure, symboles au dessus de
+@funindex \mark
+
+La commande @code{\mark} est tout d'abord conçue pour les
+@ref{Rehearsal marks}.  Elle peut néanmoins servir à insérer des
+signes de coda ou de segno, ou bien un point d'orgue, au dessus d'une
+barre de mesure.  Couplez-la alors à la commande @code{\markup} pour
+avoir accès au symbole approprié (ils sont répertoriés dans 
+@ref{The Feta font}).
+
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+c1 \mark \markup { \musicglyph #"scripts.ufermata" }
+c1
+@end lilypond
+
+@noindent
+Le résultat de @code{\mark} n'apparaîtra que sur la portée supérieure
+d'un système.  Si vous introduisez la commande @code{\mark} au moment
+d'une barre de mesure, la marque se placera au dessus de la barre.  Si
+vous y faites appel au milieu d'une mesure, cette marque sera
+positionnée entre les notes.  Si elle intervient en début de ligne,
+elle sera placée juste avant la première note de cette portée.  Enfin,
+une marque qui tomberait sur un saut de ligne sera imprimée au début
+de la ligne suivante.
+@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
+@c  delete this sentence.   -gp
+Au cas où il n'y aurait pas de ligne à suivre, la marque ne sera pas imprimée.
+
+
+@commonprop
+
+Pour imprimer une marque à la fin de la portée en cours, procédez
+ainsi :
+
+@example
+\override Score.RehearsalMark
+  #'break-visibility = #begin-of-line-invisible
+@end example
+
+@code{\mark} est souvent bien utile pour porter une indication à la
+fin d'une mesure.  Pensez alors à modifier la propriété
+@code{#'self-alignment}.  
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+\override Score.RehearsalMark
+  #'break-visibility = #begin-of-line-invisible
+c1 c c c4 c c c
+\once \override Score.RehearsalMark #'self-alignment-X = #right
+\mark "D.S. al Fine "
+@end lilypond
+
+Les indications textuelles peuvent s'aligner par rapport à d'autres
+objets que des barres de mesure, tels que l'armure, la clé ou le chiffre de
+mesure : 
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+\relative {
+  c1
+  \key cis \major
+  \clef alto
+  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
+  \mark "on key"
+  cis
+  \key ces \major
+  \override Score.RehearsalMark #'break-align-symbols = #'(clef)
+  \clef treble
+  \mark "on clef"
+  ces
+  \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
+  \key d \minor
+  \clef tenor
+  \time 3/4
+  \mark "on time"
+  c
+}
+@end lilypond
+
+Les symboles pris en charge par @code{break-align-symbols} sont :
+@code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
+@code{staff-bar}, @code{left-edge}, @code{key-cancellation},
+@code{key-signature}, et @code{time-signature}.
+
+Par défaut, les indications textuelles sont alignées avec le milieu
+des objets de notation. Bien entendu, vous pouvez modifier les
+propriétés @code{break-align-anchor-alignment} ou
+@code{break-align-anchor} des objets en question pour obtenir un autre
+résultat.
+
+@c KEEP LY
+@lilypond[fragment,quote,ragged-right,verbatim]
+{
+  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
+  c1
+  \key cis \major
+
+  % La marque sera alignée sur le côté gauche de l'armure
+  \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
+  \mark \default
+  cis1
+  \key ces \major
+
+  % La marque sera alignée sur le côté droit de l'armure
+  \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
+  \mark \default
+  ces1
+  \key cis \major
+
+  %  La marque sera alignée sur le côté droit de l'armure,
+  % puis décalée vers la droite de 2 unités.
+  \once \override Staff.KeySignature #'break-align-anchor = #2
+  \mark \default
+  ces1
+}
+@end lilypond
+
+Bien que ces indications textuelles ne soient habituellement imprimées
+qu'au niveau de la portée supérieure, vous pouvez forcer leur
+affectation à chacune des portées :
+
+@lilypond[quote,ragged-right,verbatim,relative=2]
+{
+  \new Score \with {
+    \remove "Mark_engraver"
+  }
+  <<
+    \new Staff \with {
+      \consists "Mark_engraver"
+    }
+    { c''1 \mark "foo" c'' }
+    \new Staff \with {
+      \consists "Mark_engraver"
+    }
+    { c'1 \mark "foo" c' }
+  >>
+}
+@end lilypond
+
+
+@seealso
+
+Référence du programme : @internalsref{RehearsalMark}.
+
 
 @node Text markup
 @subsection Text markup
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex étiquette
+@cindex commentaire textuel
+@cindex étiquette textuelle
+@cindex texte ajouté
+
+La commande @code{\markup} permet d'ajouter du texte.  Vous pouvez y
+inclure des commandes, précédées d'un antislash @code{\} ; les
+caractères @code{\} et @code{#} doivent être encadrés de guillemets
+informatiques @code{"}.
+
+@lilypond[quote,verbatim,fragment,relative=1]
+c1^\markup { hello }
+c1_\markup { hi there }
+c1^\markup { hi \bold there, is \italic {anyone home?} }
+c1_\markup { "\special {weird} #characters" }
+@end lilypond
+
+@noindent
+Pour une liste des différentes commandes disponibles, consultez
+@ref{Overview of text markup commands}. 
+
+
+@code{\markup} est avant tout conçu pour gérer les
+@internalsref{TextScript}s, mais rien ne s'oppose à son utilisation
+pour traiter du texte avec LilyPond.
+
+@lilypond[quote,verbatim]
+\header{ title = \markup{ \bold { foo \italic { bar! } } } }
+\score{
+  \relative c'' {
+    \override Score.RehearsalMark
+      #'break-visibility = #begin-of-line-invisible
+    \override Score.RehearsalMark #'self-alignment-X = #right
+
+    \set Staff.instrumentName = \markup{ \column{ Alto solo } }
+    c2^\markup{ don't be \flat }
+    \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
+    b2\startTextSpan
+    a2\mark \markup{ \large \bold Fine }
+    r2\stopTextSpan
+    \bar "||"
+  }
+  \addlyrics { bar, foo \markup{ \italic bar! } }
+}
+@end lilypond
+
+La commande @code{\markup} peut intervenir à tout moment, y compris en
+dehors d'un bloc @code{\score}. Voir à ce sujet 
+@ref{Multiple scores in a book}. 
+
+@lilypond[quote,ragged-right,verbatim]
+\markup{ Here is some text. }
+@end lilypond
+
+@cindex changer de police
+
+Le @emph{markup} de l'exemple précédent montre comment utiliser les
+commandes de changement de police. Les commandes @code{\bold} et
+@code{\italic} n'affectent que le premier mot qui les suit ; encadrez
+les par des accolades si vous désirez que ces commandent s'appliquent
+à plusieurs mots.
+
+@example
+\markup @{ \bold @{ c'est moi @} @}
+@end example
+
+@noindent
+Une bonne habitude à prendre consiste à utiliser des accolades même
+pour un seul mot, comme ici :
+@example
+\markup @{ qui \italic @{ est @} là ? @}
+@end example
+
+En mode @emph{markup}, vous pouvez composer des expressions comme
+en mathématiques, des documents XML ou bien les expressions musicales.
+Vous pouvez empiler ces expressions grâce à la commande
+@code{\column}, ou les centrer par rapport à leur milieu avec
+@code{\center-align}. 
+
+@lilypond[quote,verbatim,fragment,relative=1]
+c1^\markup { \column { a bbbb \line { c d } } }
+c1^\markup { \center-align { a bbbb c } }
+c1^\markup { \line { a b c } }
+@end lilypond
+
+Des listes non précédées de commande ne sont pas isolées. Ainsi, 
+@example
+\center-align @{ @{ a b @} @{ c d @} @}
+@end example
+
+@noindent
+
+est la même expression que
+
+@example
+\center-align @{ a b c d @}
+@end example
+
+@noindent
+
+L'utilisation des @code{"} ou de la commande @code{\line} permet de
+différencier les listes de mots.
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\fatText
+c4^\markup{ \center-align { on three lines } }
+c4^\markup{ \center-align { "all one line" } }
+c4^\markup{ \center-align { { on three lines } } }
+c4^\markup{ \center-align { \line { on one line } } }
+@end lilypond
+
+Vous pouvez stocker les étiquettes textuelles en tant que variables,
+et attacher ces identificateurs à des notes, comme
+@example
+allegro = \markup @{ \bold \large @{ Allegro @} @}
+ @{ a^\allegro b c d @}
+@end example
+
+Certains objets possèdent leurs propres procédures d'alignement, qui
+annuleront toute spécification d'alignement que vous pourriez affecter
+à un argument de type @emph{markup} que vous leur auriez fourni.  Par
+exemple, les @internalsref{RehearsalMark} sont centrées
+horizontalement ; de fait, utiliser 
+@code{\mark \markup @{ \left-align .. @}} sera sans effet.
+
+Par ailleurs, le placement vertical n'est effectué qu'après la
+création de l'objet @emph{étiquette textuelle}. Si donc vous souhaitez
+déplacer une étiquette, il vous faudra utiliser la propriété
+@code{#'padding} ou créer un @qq{point d'ancrage} à l'intérieur même
+de l'étiquette (généralement avec @code{\hspace #0}).
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\fatText
+c'4^\markup{ \raise #5 "not raised" }
+\once \override TextScript #'padding = #3
+c'4^\markup{ raised }
+c'4^\markup{ \hspace #0 \raise #1.5 raised }
+@end lilypond
+
+Certaines situations particulières, telles que les indications de
+nuance, possèdent des propriétés prédéfinies quant à leur police.
+Nous vous conseillons, en pareil cas, de réinitialiser ces propriétés
+en utilisant @code{normal-text}.  Pour plus d'informations, consultez
+@ref{Overview of text markup commands}. 
+
+
+@seealso
+
+Dans ce manuel : @ref{Overview of text markup commands}.
+
+Référence du programme : @internalsref{TextScript}.
+
+Fichiers d'initialisation : @file{scm/@/new@/-markup@/.scm}.
+
+
+@refbugs
+
+Le crénage ou la génération de ligatures ne sont accessibles que lors
+d'un retraitement par @TeX{}.  Dans ce cas, LilyPond n'en tient pas
+compte, et l'espacement de tels textes sera trop large.
+
+Les erreurs de syntaxe sont peu loquaces.
+
 
 @node Nested scores
 @subsection Nested scores
 
-UNTRANSLATED NODE: IGNORE ME
+Rien ne s'oppose à ce qu'une étiquette ne comporte de la musique.  Il
+suffit que l'expression en question contienne un bloc @code{\score} et
+un bloc @code{\layout}.
+
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+  c4 d^\markup {
+    \score {
+      \relative { c4 d e f }
+      \layout { }
+    }
+  }
+  e f
+}
+@end lilypond
 
 @node Page wrapping text
 @subsection Page wrapping text
-
-UNTRANSLATED NODE: IGNORE ME
+Alors que @code{\markup} s'utilise pour traiter un bloc de texte
+insécable, @code{\markuplines} permet, employé en tête de partition,
+d'obtenir un bloc de lignes réparties différemment et au cas où sur
+plusieurs pages.
+
+@verbatim
+\markuplines {
+  \justified-lines {
+    Un long texte constitué de lignes justifiées.
+    ...
+  }
+  \justified-lines {
+    Un autre grand paragraphe justifié.
+    ...
+  }
+  ...
+}
+@end verbatim
+
+@code{\markuplines} prend en argument une liste de lignes de texte,
+qui peut elle-même consister en une suite de commandes générant à leur
+tour des lignes de texte, comme ici :
+
+@verbatim
+\markuplines {
+  \line { ... }    % une ligne alignée à gauche
+  \fill-line { \line { ... } } % une ligne centrée
+  \wordwrap-lines { ... } % une liste de lignes alignées à gauche
+  \justified-lines { ... } % une liste de lignes justifiées
+}
+@end verbatim
+
+Les différentes commandes permettant de générer des listes de lignes
+se trouve dans @ref{Overview of text markup list commands}.
+
+@seealso
+
+Dans ce manuel : @ref{Overview of text markup list commands}, 
+@ref{New markup list command definition}.
+
+@refcommands
+
+@funindex \markuplines
+@code{\markuplines}
 
 @node Overview of text markup commands
 @subsection Overview of text markup commands
 
-UNTRANSLATED NODE: IGNORE ME
+Vous pouvez utiliser les commandes suivantes au sein d'un bloc
+@code{\markup @{ @}}.
 
 @include markup-commands.tely
+
 @node Overview of text markup list commands
 @subsection Overview of text markup list commands
 
-UNTRANSLATED NODE: IGNORE ME
+Vous pouvez utiliser les commandes suivantes avec @code{\markuplines}.
 
 @include markup-list-commands.tely
+
 @node Font selection
 @subsection Font selection
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex sélection de polices
+@cindex grossissement des polices
+@funindex font-interface
+
+C'est en jouant sur les propriétés des objets décrites ci-après que
+vous pourrez sélectionner une police parmi les familles de fontes
+préconfigurées.  LilyPond utilise par défaut la police musicale feta.
+Pour le texte, les polices sont sélectionnées par Pango/Fontconfig.
+C'est New Century Schoolbook qui sert de police sérif par défaut, et
+celles définies lors de l'installation de Pango pour ce qui est du
+sans-serif et du @q{typewriter}.
+
+
+@itemize @bullet
+@item @code{font-encoding}
+symbolise le tracé des glyphes. N'utilisez cette propriété que pour
+traiter des éléments non textuels, comme :
+
+
+@code{fetaBraces} pour les accolades de partition pianistique,
+@code{fetaMusic} pour de la musique (y compris musique ancienne),
+@code{fetaDynamic} pour les nuances et @code{fetaNumber} pour les
+chiffres. 
+
+@item @code{font-family}
+symbolise les différentes familles de police : @code{roman} (Computer
+Modern), @code{sans}-serif et @code{typewriter} (espacement fixe).
+
+@item @code{font-shape}
+symbolise le style des caractères. En pratique, chaque famille de
+police dispose de @code{italic}, @code{caps} (petites capitales) ou
+@code{upright} (droit).
+
+@item @code{font-series}
+symbolise le niveau de gras des caractères. Chaque style dispose, pour
+chaque famille, de @code{medium} et @code{bold} (gras).
+
+@end itemize
+
+Les variantes ci-dessus mentionnées font référence à une feuille de
+style prédéfinie.  Vous pouvez cependant faire appel à une autre
+police, en utilisant la propriété @code{font-name} :
+
+@lilypond[fragment,verbatim]
+{
+  \override Staff.TimeSignature #'font-name = #"Charter"
+  \override Staff.TimeSignature #'font-size = #2
+  \time 3/4
+  c'1_\markup {
+    \override #'(font-name . "Vera Bold")
+      { This text is in Vera Bold }
+  }
+}
+@end lilypond
+
+@noindent
+Vous pouvez utiliser n'importe quelle police, du moment qu'elle est
+accessible par Pango/Fontconfig.  Pour obtenir la liste de toutes
+les polices disponibles sur votre machine, lancez
+@example
+lilypond -dshow-available-fonts blabla
+@end example
+(quel qu'il soit, le dernier argument est obligatoire).
+
+
+La propriété @code{font-size} permet de régler la taille de la police.
+La taille effective que vous obtiendrez dépend de
+@code{text-font-size} tel que défini dans le bloc @code{\paper}.
+
+@cindex taille de police
+@cindex police, augmenter la taille
+
+
+Vous pouvez aussi changer la police par défaut au niveau du document.
+Il suffit alors de faire appel à @code{make-pango-font-tree} au sein
+du bloc @code{paper}.  Vous définirez alors la police à utiliser pour
+du texte respectivement en roman, sans serif et monospace, comme ici : 
+
+@cindex polices, définir 
+@cindex Pango
+
+
+@lilypond[verbatim]
+\paper  {
+  myStaffSize = #20
+
+  #(define fonts
+    (make-pango-font-tree "Times New Roman"
+                          "Nimbus Sans"
+                          "Luxi Mono"
+                           (/ myStaffSize 20)))
+}
+
+{
+  c'^\markup { roman: foo \sans bla \typewriter bar }
+}
+@end lilypond
+
+@c we don't do Helvetica / Courier, since GS incorrectly loads
+@c Apple TTF fonts
+
+
+
+@seealso
+
+Exemples : @lsr{text,font@/-family@/-override.ly}.
+
 
 @node New dynamic marks
 @subsection New dynamic marks
 
-UNTRANSLATED NODE: IGNORE ME
+Grâce à la commande @code{make-dynamic-script}, vous pouvez créer de
+nouvelles marques textuelles de nuances que vous combinerez
+éventuellement avec les signes de nuances.
+Notez bien que la police des nuances en contient que les caractères
+@code{f,m,p,r,s} and @code{z}. 
+
+Certains composants, tels que les marques de nuances, possèdent des
+propriétés particulières et prédéfinies quant à leur police.  Lorsque
+vous créez du texte en pareille situation, nous vous recommandons
+d'utiliser @code{normal-text} pour annuler ces propriétés.  Voir 
+@ref{Overview of text markup commands} pour plus de détails.
+
+@cindex make-dynamic-script
+
+@lilypond[quote,verbatim,ragged-right]
+sfzp = #(make-dynamic-script "sfzp")
+\relative c' {
+  c4 c c\sfzp c
+}
+@end lilypond
+
+@cindex Nuances éditoriales
+@cindex Nuances, entre parenthèses
+
+Vous pouvez aussi encadrer les nuances entre parenthèses ou entre
+crochets.  Ceci est souvent utilisé pour ajouter des nuances propres à
+une édition donnée.
+
+@lilypond[quote,verbatim,ragged-right]
+rndf = \markup{ \center-align {\line { \bold{\italic (}
+  \dynamic f \bold{\italic )} }} }
+boxf = \markup{ \bracket { \dynamic f } }
+{ c'1_\rndf c'1_\boxf }
+@end lilypond
+
+
 
 @node Preparing parts
 @section Preparing parts
 
-UNTRANSLATED NODE: IGNORE ME
+Cette section décrit plusieurs fonctions qui permettent de préparer
+un matériel d'orchestre, autrement dit une partition par pupitre.
+
+@menu
+* Multi measure rests::         
+* Metronome marks::             
+* Rehearsal marks::             
+* Bar numbers::                 
+* Instrument names::            
+* Instrument transpositions::   
+* Ottava brackets::             
+* Different editions from one source::  
+@end menu
+
 
-@menu 
-* Multi measure rests::
-* Metronome marks::
-* Rehearsal marks::
-* Bar numbers::
-* Instrument names::
-* Instrument transpositions::
-* Ottava brackets::
-* Different editions from one source::
-@end menu 
 @node Multi measure rests
 @subsection Multi measure rests
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex mesures à compter
+@cindex mesure entière de silence
+@cindex Silences, multi-mesures
+@cindex Silences, mesure entère
+@cindex une pause par mesure
+@funindex R
+
+Un silence valant une ou plusieurs mesures entières s'entre avec un
+@samp{R} majuscule.  Ceci ne peut être utile que pour une mesure complètement
+vide, et pour générer des parties séparées : ce silence sera alors
+répété sur autant de mesures que nécessaire, ou bien imprimé une seule
+fois.  La répétition est contrôlée par la propriété
+@code{Score.skipBars}.  Au cas où ce commutateur est défini comme
+vrai (lettre @code{##t} pour @q{true}), les mesures vides ne seront pas répétées, et le nombre exact de
+mesures sera ajouté.
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\time 4/4 r1 | R1 | R1*2 \time 3/4 R2. \time 2/4 R2 \time 4/4
+\set Score.skipBars = ##t R1*17 R1*4
+@end lilypond
+
+Le @code{1} de @code{R1} est le même que celui utilisé pour la durée
+des notes.  Vous devrez donc, si le morceau n'est pas à 4/4, stipuler
+un autre durée, qui pourra contenir des points d'augmentation ou être
+libellé sous forme de fraction :
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\set Score.skipBars = ##t
+\time 3/4
+R2. | R2.*2
+\time 13/8
+R1*13/8
+R1*13/8*12 |
+\time 10/8 R4*5*4 |
+@end lilypond
+
+Un @code{R} qui s'étend sur une seule mesure s'imprime tantôt comme
+une pause, tantôt comme une brève, et sera centré sur la mesure
+quelle que soit la métrique.
+
+Dans le cas où ce silence ne dure que quelques mesures, LilyPond
+imprime sur la portée des @qq{ silences d'église }, simple suite de
+rectangles.  La propriété @code{MultiMeasureRest.expand-limit} permet
+d'obtenir un silence unique.
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\set Score.skipBars = ##t
+R1*2 | R1*5 | R1*9
+\override MultiMeasureRest #'expand-limit = 1
+R1*2 | R1*5 | R1*9
+@end lilypond
+
+@cindex texte et silence multi-mesures
+@cindex script et silence multi-mesures
+@cindex point d'orgue et silence multi-measures
+
+Vous pouvez aussi ajouter du texte à un silence multi-mesures en utilisant
+la syntaxe @var{note}-@code{markup} (cf. @ref{Text markup}).  La
+variable @code{\fermataMarkup} permet d'ajouter un point d'orgue.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\set Score.skipBars = ##t
+\time 3/4
+R2.*10^\markup { \italic "ad lib." }
+R2.^\fermataMarkup
+@end lilypond
+
+Attention !  c'est @code{MultiMeasureRestText} qui créera le texte, et
+non @code{TextScript}.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\override TextScript #'padding = #5
+R1^"low"
+\override MultiMeasureRestText #'padding = #5
+R1^"high"
+@end lilypond
+
+Pour aligner votre texte sur le début de la mesure, rattachez-le à un
+silence invisible de longueur zéro comme ceci :
+
+@example
+s1*0^"Allegro"
+R1*4
+@end example
+
+
+@seealso
+
+Référence du programme : @internalsref{MultiMeasureRestMusic},
+@internalsref{MultiMeasureRest}.
+
+L'objet de rendu @internalsref{MultiMeasureRestNumber} traite les
+nombres, et @internalsref{MultiMeasureRestText} le texte ajouté par
+l'utilisateur. 
+
+
+@refbugs
+
+Vous ne pouvez pas utiliser de doigtés (p.ex. @code{R1-4}) pour
+positionner des nombres au dessus d'un silence multi-mesures, ni
+modifier la hauteur.
+
+@cindex condenser les silences
+
+Condenser plusieurs silences en un unique silence multi-mesures ne peut 
+être automatisé.  Les silences multi-mesures peuvent générer des
+collisions avec d'autres silences.
+
+Pensez à indiquer explicitement la durée de la note qui suit un
+silence multi-mesures, car elle sera par défaut égale à la durée totale
+des mesures à compter. Ainsi, dans l'exemple ci-après, les deux do
+dièses vaudront chacun quatre mesures à 4/4.
+@example
+R1*4 cis cis
+@end example
+Lorsque @code{skipBars} est activé, le résultat semblera correct, mais
+la numérotation des mesures sera suspendue. 
+
+
 
 @node Metronome marks
 @subsection Metronome marks
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Tempo
+@cindex battements par minute
+@cindex indication métronomique
+
+Le métronome se règle de la manière suivante,
+@example
+\tempo @var{durée} = @var{par minute}
+@end example
+
+Les indications métronomiques seront interprétées, dans le fichier
+MIDI, comme des changements de tempo.  Ils seront imprimés sur la
+partition comme ici :
+@funindex \tempo
+@lilypond[quote,ragged-right,verbatim,fragment]
+\tempo 8.=120 c''1
+@end lilypond
+
+
+@commonprop
+
+Vous pouvez indiquer un changement de tempo pour le fichier MIDI sans
+pour autant l'imprimer.  Il suffit alors de le rendre invisible pour
+l'impression :
+@example
+\once \override Score.MetronomeMark #'transparent = ##t
+@end example
+
+Vous pouvez imprimer d'autres indications métronomiques, telles que
+des équivalences, en utilisant ce type d'étiquette textuelle :
+@lilypond[quote,ragged-right,verbatim,relative,fragment]
+c4^\markup {
+  (
+  \smaller \general-align #Y #DOWN \note #"16." #1
+  =
+  \smaller \general-align #Y #DOWN \note #"8" #1
+  ) }
+@end lilypond
+
+@noindent
+Pour plus de détails, voir @ref{Text markup}.
+
+
+@seealso
+
+Référence du programme : @internalsref{MetronomeMark}.
+
+
+@refbugs
+
+Les risques de collision ne sont pas vérifiés.  Dans le cas où il y
+aurait des notes au dessus de la portée ou d'autres objets
+(articulations, liaisons, texte, etc), l'indication métronomique peut
+venir en surimpression.  Augmentez alors le décalage de cette
+indication par rapport à la portée :
+
+@example
+\override Score.MetronomeMark #'padding = #2.5
+@end example
+
 
 @node Rehearsal marks
 @subsection Rehearsal marks
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Repères, indication de
+@funindex \mark
+
+Indiquer un repère s'obtient grâce à la commande @code{\mark}.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+c1 \mark \default
+c1 \mark \default
+c1 \mark #8
+c1 \mark \default
+c1 \mark \default
+@end lilypond
+
+@noindent
+La lettre@tie{}@q{I} n'est pas utilisée, conformément aux usages de la
+gravure.  Cependant, vous pourrez intégrer la lettre @q{I} en utilisant
+
+@example
+\set Score.markFormatter = #format-mark-alphabet
+@end example
+
+Lorsque vous utilisez @code{\mark \default}, le repère s'incrémente
+automatiquement ; toutefois donner un nombre en argument permet de
+spécifier manuellement le repère en question.  La valeur à utiliser
+est enregistrée dans la propriété @code{rehearsalMark}.
+
+Le style du repère est déterminé par la propriété
+@code{markFormatter}.  Il s'agit d'une fonction qui prend en arguments
+le repère en cours (un entier) ainsi que le contexte en cours, et
+retournera un objet de type étiquette.  Dans l'exemple qui suit,
+@code{markFormatter} est réglé pour une procédure type. Quelques
+mesure plus loin, son comportement est modifié pour imprimer un
+repère encadré.
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+\set Score.markFormatter = #format-mark-numbers
+c1 \mark \default
+c1 \mark \default
+\set Score.markFormatter = #format-mark-box-numbers
+c1 \mark \default
+c1 \mark \default
+c1
+@end lilypond
+
+Le fichier @file{scm/@/translation@/-functions@/.scm} comporte les
+définitions de @code{format-mark-numbers} (comportement par défaut), 
+@code{format-mark-box-numbers},
+@code{format-mark-letters} et @code{format-mark-box-letters}.  Vous
+pouvez vous en inspirer pour d'autres fonctions de formatage.
+
+@code{format-mark-barnumbers}, @code{format-mark-box-barnumbers} et 
+@code{format-mark-circle-barnumbers}  permettent d'imprimer le numéro
+de mesure au lieu des compteurs alphabétique ou numérique.
+
+On peut aussi spécifier manuellement une marque de repère :
+
+@example
+\mark "A1"
+@end example
+
+@noindent
+@code{Score.markFormatter} sera sans effet sur des repères ainsi
+définis.  Un @code{\markup} peut néanmoins s'utiliser en argument.
+
+@example
+\mark \markup@{ \box A1 @}
+@end example
+
+@cindex segno
+@cindex coda
+@cindex D.S al Fine
+
+Un @code{\mark} peut contenir un glype musical tel que le signe
+@emph{segno}.  
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative]
+c1 \mark \markup { \musicglyph #"scripts.segno" }
+c1 \mark \markup { \musicglyph #"scripts.coda" }
+c1 \mark \markup { \musicglyph #"scripts.ufermata" }
+c1
+@end lilypond
+
+@noindent
+Pour connaître les différents symboles accessibles par
+@code{\musicglyph}, consultez @ref{The Feta font}.
+
+Pour affiner le positionnement des repères, veuillez vous référer à
+@ref{Text marks}.
+
+@seealso
+
+Dans ce manuel : @ref{Text marks}.
+
+Référence du programme : @internalsref{RehearsalMark}.
+
+Fichiers d'initialisation : @file{scm/@/translation@/-functions@/.scm}
+contient les définitions de @code{format-mark-numbers} et
+@code{format-mark-letters}.  Elles seront source d'inspiration pour
+d'autres fonctions de formatage.
+
+Exemples : @lsr{parts,rehearsal-mark-numbers.ly}
+
 
 @node Bar numbers
 @subsection Bar numbers
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Mesure, numéro de
+@cindex numéros de mesure
+@funindex currentBarNumber
+
+Les numéros de mesure sont imprimés par défaut à chaque début de
+ligne.  Ce nombre est stocké par la propriété @code{currentBarNumber}
+qui sera mis à jour à chaque mesure.
+
+@lilypond[verbatim,ragged-right,quote,fragment,relative]
+\repeat unfold 4 {c4 c c c} \break
+\set Score.currentBarNumber = #50
+\repeat unfold 4 {c4 c c c}
+@end lilypond
+
+L'impression d'un numéro de mesure ne peut intervenir que s'il y a une
+barre.  Aussi, pour pouvoir le faire au début d'un morceau,
+devrez-vous ajouter une barre vide :
+
+@lilypond[verbatim,ragged-right,quote,fragment,relative]
+\set Score.currentBarNumber = #50
+\bar ""
+\repeat unfold 4 {c4 c c c} \break
+\repeat unfold 4 {c4 c c c}
+@end lilypond
+
+Vous pouvez imprimer un numéro de mesure à intervalles réguliers plutôt
+qu'en tête de chaque ligne.  C'est ce qu'illustre l'exemple suivant,
+dont la source complète est 
+@lsr{staff,making-bar-numbers-appear-at-regular-intervals.ly}.
+
+@lilypondfile[ragged-right,quote]{bar-number-regular-interval.ly}
+
+Désactiver le graveur concerné --- @code{Bar_number_engraver} ---
+donnera une partition sans numéros de mesure.
+
+@lilypond[verbatim,ragged-right,quote]
+\layout {
+  \context {
+    \Score
+    \remove "Bar_number_engraver"
+  }
+}
+\relative c''{
+c4 c c c \break
+c4 c c c
+}
+@end lilypond
+
+
+@seealso
+
+Référence du programme : @internalsref{BarNumber}.
+
+Exemples : @lsrdir{staff}
+
+
+@refbugs
+
+Les numéros de mesure peuvent entrer en collision avec les crochets de
+@internalsref{StaffGroup}. La propriété @code{padding} --- décalage
+--- de l'objet @internalsref{BarNumber} permet alors d'ajuster leur
+positionnement. 
+
 
 @node Instrument names
 @subsection Instrument names
 
-UNTRANSLATED NODE: IGNORE ME
+Dans un conducteur, les noms d'instrument sont portés en regard de
+chacune des portées.
+
+Ce résultat s'obtient en spécifiant
+@internalsref{Staff}.@code{instrumentName} et
+@internalsref{Staff}.@code{shortInstrumentName}, ou
+@internalsref{PianoStaff}.@code{instrumentName} et 
+@internalsref{PianoStaff}.@code{shortInstrumentName}.  L'argument
+textuel apparaîtra avant le début de la portée.  La première ligne
+affichera @code{instrumentName}, et les suivantes
+@code{shortInstrumentName}. 
+
+@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
+\set Staff.instrumentName = "Ploink "
+\set Staff.shortInstrumentName = "Plk "
+c1
+\break
+c''
+@end lilypond
+
+Le recours à la commande @code{\markup} permet de construire des noms
+d'instruments particuliers, tels que
+
+@lilypond[quote,fragment,verbatim,ragged-right]
+\set Staff.instrumentName = \markup {
+  \column { "Clarinetti"
+            \line { "in B" \smaller \flat } } }
+c''1
+@end lilypond
+
+Si vous centrez le nom d'un instrument, il faudra le faire pour tous
+
+@lilypond[quote,verbatim,ragged-right]
+{ <<
+\new Staff {
+  \set Staff.instrumentName = \markup {
+    \center-align { "Clarinetti"
+      \line { "in B" \smaller \flat } } }
+  c''1
+}
+\new Staff {
+  \set Staff.instrumentName = \markup{ \center-align { Vibraphone }}
+  c''1
+}
+>>
+}
+@end lilypond
+
+Losque le nom d'un instrument est relativement long, il est judicieux
+d'augmenter le retrait --- @code{indent} --- au sein du bloc
+@code{\layout}. 
+
+Procédez comme suit pour centrer des noms d'instruments tout en
+préservant un décalage par rapport à la portée :
+
+@lilypond[quote,verbatim,ragged-right]
+\new StaffGroup \relative
+<<
+  \new Staff {
+    \set Staff.instrumentName = \markup { \hcenter-in #10 "blabla" }
+    c1 c1
+  }
+  \new Staff {
+    \set Staff.instrumentName = \markup { \hcenter-in #10 "blo" }
+    c1 c1
+  }
+>>
+@end lilypond
+
+Des noms d'instruments peuvent s'utiliser dans d'autres contextes, tels
+que @code{GrandStaff}, @code{ChoirStaff}, ou @code{StaffGroup}, à
+condition de leur affecter le graveur approprié :
+
+@example
+\layout@{
+  \context @{\GrandStaff \consists "Instrument_name_engraver"@}
+@}
+@end example
+
+@noindent
+Pour de plus amples informations sur la manière d'activer ou
+désactiver un graveur, voir @ref{Modifying context plug-ins}.
+
+Vous pouvez changer d'instrument en cours de morceau :
+
+@lilypond[quote,fragment,verbatim,ragged-right]
+\set Staff.instrumentName = "First"
+\set Staff.shortInstrumentName = "one"
+c1 c c c \break
+c1 c c c \break
+\set Staff.instrumentName = "Second"
+\set Staff.shortInstrumentName = "two"
+c1 c c c \break
+c1 c c c \break
+@end lilypond
+
+
+@seealso
+
+Référence du programme : @internalsref{InstrumentName}.
+
+
 
 @node Instrument transpositions
 @subsection Instrument transpositions
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex transposition, MIDI
+@cindex transposition, instrument
+
+Vous pouvez spécifier la tonalité d'un instrument transpositeur, ce
+qui est le cas pour de nombreux instruments à vent comme la clarinette
+(si bémol, la ou mi bémol), le cor (fa), ou la trompette (si bémol,
+ut, ré ou mi bémol).
+
+Cette transposition s'indique après le mot-clé @code{\transposition}.
+
+@example
+\transposition bes   %% clarinette en si bémol
+@end example
+
+@noindent
+Cette commande détermine la propriété @code{instrumentTransposition},
+dont la valeur sera utilisée pour le fichier MIDI et en cas de
+citation.  Elle n'affecte en rien la manière dont les notes seront
+imprimées sur la portée.  Référez-vous à la section @ref{Transpose}
+pour obtenir un autre résultat.
+
+La hauteur donnée en argument à @code{\transposition} doit
+correspondre à la note entendue lorsqu'un @code{do} écrit sur la
+portée est joué par l'instrument transpositeur.  Par exemple, lorsque
+vous saisissez une partition en notes réelles, toutes les voix
+devraient être en ut ; pour les instruments transpositeurs, il faudra
+procéder de cette manière : 
+
+@example
+clarinet = @{
+  \transposition c'
+  ...
+@}
+saxophone = @{
+  \transposition c'
+  ...
+@}
+@end example
+
+Lorsque vous entrez de la musique à partir d'une partie transposée,
+utilisez la commande @code{\transposition}.  Si l'on prend l'exemple
+des parties de cor, leur tonalité change souvent au cours d'un morceau ;
+en recopiant cette partie, utilisez @code{\transposition} ainsi :
+
+@example
+\transposition d'
+c'4^"en RÉ"
+...
+\transposition g'
+c'4^"en SOL"
+...
+@end example
+
 
 @node Ottava brackets
 @subsection Ottava brackets
 
-UNTRANSLATED NODE: IGNORE ME
+Les marques d'octaviation, @emph{Ottava}, permettent d'introduire une
+transposition spécifique d'une octave pour la portée en cours.  C'est
+la fonction @code{set-octavation} qui s'en charge.
+
+@cindex ottava
+@cindex 15ma
+@cindex octaviation
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\relative c''' {
+  a2 b
+  #(set-octavation 1)
+  a b
+  #(set-octavation 0)
+  a b
+}
+@end lilypond
+
+La fonction @code{set-octavation} peut aussi prendre en argument les
+valeurs -1@tie{}(pour 8va bassa), 2@tie{}(pour 15ma --- 2 octaves) ou
+-2@tie{}(pour 15ma bassa).   En interne, cette fonction détermine les
+propriétés @code{ottavation} (p.ex. en @code{"8va"} ou @code{"8vb"})
+et @code{centralCPosition}.  Vous pouvez modifier le texte d'une marque
+d'octaviation en définissant @code{ottavation} après avoir fait appel
+à @code{set-octavation} :
+
+@lilypond[quote,ragged-right,verbatim]
+{
+  #(set-octavation 1)
+  \set Staff.ottavation = #"8"
+  c'''
+}
+@end lilypond
+
+
+@seealso
+
+Référence du programme : @internalsref{OttavaBracket}.
+
+
+@refbugs
+
+@code{set-octavation} gère difficilement les changements de clé qui
+pourraient intervenir alors qu'elle est effective.
+
 
 @node Different editions from one source
 @subsection Different editions from one source
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex \tag
+@cindex tag
+
+La commande @code{\tag} affecte un nom à des expressions musicales.
+Les expressions ainsi balisées pourront être filtrées par la suite.
+Ce mécanisme permet d'obtenir différentes versions à partir d'une même
+source musicale. 
+
+Dans l'exemple qui suit, nous obtenons deux versions du même extrait,
+l'une pour le conducteur, l'autre pour l'instrumentiste, et qui
+comportera les ornements. 
+
+@example
+c1
+<<
+  \tag #'partie <<
+    R1 \\
+    @{
+      \set fontSize = #-1
+      c4_"cue" f2 g4 @}
+  >>
+  \tag #'conducteur R1
+>>
+c1
+@end example
+
+Ce principe peut s'appliquer aux articulations, textes, etc.  Il
+suffit de positionner 
+@example
+-\tag #@var{votre-balise}
+@end example
+avant l'articulation, comme ici :
+@example
+c1-\tag #'part ^4
+@end example
+
+Ceci définira une note avec une indication de doigté conditionnelle.
+
+@cindex keepWithTag
+@cindex removeWithTag
+C'est grâce aux commandes @code{\keepWithTag} et @code{\removeWithTag}
+que vous filtrerez les expressions balisées.  Par exemple :
+@example
+<<
+  @var{de la musique}
+  \keepWithTag #'score @var{de la musique}
+  \keepWithTag #'part @var{de la musique}
+>>
+@end example
+donnerait :
+
+@lilypondfile[ragged-right,quote]{tag-filter.ly}
+
+Les arguments de la commande @code{\tag} doivent être un symbole (tel
+que @code{#'score} ou @code{#'part}), suivi d'une expression musicale.
+Vous pouvez utiliser de multiples balises dans un morceau en
+saisissant plusieurs @code{\tag}.
+
+@example
+  \tag #'original-part \tag #'transposed-part @dots{}
+@end example
+
+
+@seealso
+
+Exemples : @lsr{parts,tag@/-filter@/.ly}
+
+
+@refbugs
+
+Lorsqu'elles comportent des silences, ceux-ci ne seront pas fusionnés
+si vous imprimez une partition avec les deux sections balisées.
+
 
 @node Orchestral music
 @section Orchestral music
 
-UNTRANSLATED NODE: IGNORE ME
+La musique pour orchestre implique certaines spécificités, que ce soit
+au niveau du conducteur --- la partition du chef --- ou pour les
+partitions de chaque pupitre.  Cette section vous apprendra à gérer
+certains problèmes courants de la musique orchestrale.
 
 @menu 
 * Automatic part combining::
@@ -163,35 +1530,425 @@ UNTRANSLATED NODE: IGNORE ME
 * Formatting cue notes::
 * Aligning to cadenzas::
 @end menu 
+
+
+
 @node Automatic part combining
 @subsection Automatic part combining
+@cindex regroupement automatique de parties
+@cindex parties, combiner des
+
+Le regroupement automatique de parties vous permet de fusionner deux
+pupitres sur une seule portée, ceci dans le but de créer des
+partitions d'orchestre.  Lorsque les deux parties sont identiques sur
+une certaine durée, une seule s'affiche.  Lorsqu'elles diffèrent, 
+deux voix séparées apparaissent, avec des hampes dont la direction est
+gérée automatiquement.  Vous pouvez aussi identifier et faire
+ressortir les solos et parties @emph{a due}.
+
+Voici la syntaxe qui permet de combiner des parties :
+
+@example
+\partcombine @var{musicexpr1} @var{musicexpr2}
+@end example
+
+
+L'exemple suivant illustre les fonctionnalités élémentaires du
+combinateur de parties : positionner les parties sur une portée, gérer
+la direction des hampes et de la polyphonie.
+
+@lilypond[quote,verbatim,ragged-right,fragment]
+\new Staff \partcombine
+  \relative g' { g g a( b) c c r r }
+  \relative g' { g g r4 r e e g g }
+@end lilypond
+
+Le premier @code{sol} n'apparaît qu'une seule fois, alors qu'il a été
+spécifié deux fois (une fois dans chacune des parties).  La direction
+des hampes et des liaisons de tenue ou de phrasé est gérée
+automatiquement, selon qu'il s'agisse d'un solo ou d'un unisson.  La
+première partie, dont le contexte s'appellera @code{one}, aura toujours
+ses hampes dirigées vers le haut et sera notée @q{Solo}, alors que la
+deuxième, appelée @code{two}, aura des hampes vers le bas et sera
+notée @q{Solo@tie{}II}.
+
+Si votre intention n'est que de fusionner les parties, sans ajouter de
+texte, assignez faux à la propriété @code{printPartCombineTexts}.
+
+@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
+\new Staff <<
+  \set Staff.printPartCombineTexts = ##f
+  \partcombine
+    \relative g' { g a( b) r }
+    \relative g' { g r4 r f }
+>>
+@end lilypond
+
+Le texte imprimé pour les sections solo ou à l'unisson se règle par
+les propriétés @code{soloText}, @code{soloIIText}, et @code{aDueText}. 
+
+@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
+\new Staff <<
+  \set Score.soloText = #"ichi"
+  \set Score.soloIIText = #"ni"
+  \set Score.aDueText = #"tachi"
+  \partcombine
+    \relative g' { g4 g a( b) r }
+    \relative g' { g4 g r r f }
+>>
+@end lilypond
+
+LilyPond interprète dans un contexte @internalsref{Voice} les
+arguments fournis à @code{\partcombine}.  Si vous travaillez avec des
+octaves relatives, spécifiez @code{\relative} dans chacune des
+expressions musicales, comme ceci :
+
+@example
+\partcombine
+  \relative @dots{} @var{musicexpr1}
+  \relative @dots{} @var{musicexpr2}
+@end example
+
+@noindent
+Une section @code{\relative} en dehors de @code{\partcombine} sera
+sans effet sur les hauteurs de @var{musicexpr1} et @var{musicexpr2}.
+
+@seealso
+
+Référence du programme : @internalsref{PartCombineMusic}.
+
+@refbugs
+
+Lorsque @code{printPartCombineTexts} est actif et que les deux voix
+jouent souvent les mêmes notes, le combinateur peut afficher @code{a2}
+plus d'une fois par mesure.
+
+@code{\partcombine} ne peut s'inscrire dans un bloc @code{\times}.
+
+@code{\partcombine} ne peut s'inscrire dans un bloc @code{\relative}.
+
+En interne, @code{\partcombine} interprète les deux arguments en tant
+que @code{Voice}s, dénommées @code{one} et @code{two}, puis décide de
+quand les parties seront fusionnées.  Par conséquent, si les arguments
+changent pour d'autres noms de contexte @internalsref{Voice}, les
+événements qu'ils contiendraient seront ignorés. 
 
-UNTRANSLATED NODE: IGNORE ME
 
 @node Hiding staves
 @subsection Hiding staves
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Frenched scores
+@cindex Masquer des portées
+
+Dans les partitions d'orchestre, les portées qui n'ont que des
+silences sont habituellement masquées afin de gagner de la place.  Ce
+style d'édition s'appelle en anglais @qq{French Score}.
+Cette fonctionnalité est activée par défaut dans les contextes 
+@internalsref{Lyrics}, @internalsref{ChordNames} et
+@internalsref{FiguredBass}.  Lorsque des lignes appartenant à ces
+contextes se retrouvent vides après placement des sauts de ligne,
+elles sont effacées.
+
+En ce qui concerne les portées normales, il existe un contexte
+@internalsref{Staff} spécifique qui permet d'arriver à ce résultat :
+les portées ne contenant rien ou uniquement des silences multi-mesures
+seront retirées.  La définition de ce contexte est enregistrée dans la
+variable @code{\RemoveEmptyStaffContext}.  Voyez comment la deuxième
+portée disparaît du deuxième système :
+
+@lilypond[quote,ragged-right,verbatim]
+\layout {
+  \context { \RemoveEmptyStaffContext }
+}
+
+{
+  \relative c' <<
+    \new Staff { e4 f g a \break c1 }
+    \new Staff { c4 d e f \break R1 }
+  >>
+}
+@end lilypond
+
+Le premier système comportera absolument toutes les portées.  Si vous
+voulez masquer les portées vides y compris pour le premier système,
+vous devrez assigner vrai à la propriété @code{remove-first} dans
+@internalsref{VerticalAxisGroup}. 
+
+@example
+\override Score.VerticalAxisGroup #'remove-first = ##t
+@end example
+
+Pour masquer d'autres types de contextes, vous pouvez utiliser 
+@code{\AncientRemoveEmptyStaffContext} ou
+@code{\RemoveEmptyRhythmicStaffContext}. 
+
+Une application particulière de cette fonctionnalité est la création
+d'une @emph{ossia} --- variante d'une partie de la mélodie --- affichée à
+l'aide d'une portée supplémentaire.
+
 
 @node Quoting other voices
 @subsection Quoting other voices
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex cues
+@cindex citation
+
+Grâce aux citations de répliques, vous pouvez insérer directement dans une partie
+des fragments d'une autre partie.  Avant qu'une partie ne puisse être
+mentionnée ailleurs, elle doit être considérée comme reproductible.
+C'est le but de la commande @code{\addQuote}.
+
+@example
+\addQuote @var{nom} @var{musique}
+@end example
+
+
+@noindent
+Ici, @var{nom} représente une chaîne d'identification, et
+@var{musique} n'importe quelle musique.  Voici un exemple de
+@code{\addQuote} :
+
+@example
+\addQuote clarinet \relative c' @{
+  f4 fis g gis
+@}
+@end example
+
+Vous devez placer cette commande au niveau le plus haut, c'est à dire
+en dehors de tout bloc de musique.
+
+Après avoir fait appel à @code{\addquote}, la citation interviendra
+en utilisant @code{\quoteDuring} ou @code{\cueDuring} :
+
+@example
+\quoteDuring #@var{nom} @var{musique}
+@end example
+
+Au cours d'une partie, des extraits de répliques peuvent être cités en
+utilisant la commande @code{\quoteDuring}.
+
+@example
+\quoteDuring #"clarinet" @{ s2. @}
+@end example
+
+Cela citera trois noires (la durée de @code{s2.}) appartenant à la
+voix @code{clarinette} précédemment générée.
+
+Plus précisément, on s'arrête à cet instant de la partie en cours
+d'impression, et l'on extrait les notes à ce même instant dans la voix
+citée --- celle qui contient @code{\addQuote}.  C'est la raison pour
+laquelle l'argument de @code{\addQuote} doit englober toute la voix en
+question, y compris les éventuels silences à son début.
+
+Les citations tiennent compte des transpositions, aussi bien celle de
+l'instrument d'origine que celle de la partie où elle intervient, dans
+la mesure où elles sont spécifiées par la commande @code{\transposition}.
+
+@lilypond[quote,ragged-right,verbatim]
+\addQuote clarinet \relative c' {
+  \transposition bes
+  f4 fis g gis
+}
+
+{
+  e'8 f'8 \quoteDuring #"clarinet" { s2 }
+}
+@end lilypond
+
+Le type d'événements pris en charge pour la citation peut se régler
+avec la propriété @code{quotedEventTypes}.  Par défaut, sa valeur est
+fixée à @code{(note-event rest-event)}, ce qui signifie que seuls les
+notes et silences seront mentionnés par @code{\quoteDuring}.
+Définir
+
+@example
+\set Staff.quotedEventTypes =
+       #'(note-event articulation-event dynamic-event)
+@end example
+
+@noindent
+reproduira les notes (mais pas les silences), ainsi que les scripts
+et nuances.
+
+@refbugs
+
+Seul le contenu de la première @internalsref{Voice} rencontrée dans la
+partie marquée d'une commande @code{\addQuote} pourra être retenu. Par
+voie de conséquence, @code{music} ne saurait comprendre de @code{\new}
+ou une instance @code{context Voice} qui la ferait passer à une autre voix.
+
+Citer des notes d'ornement ne fonctionne pas, et peut même entraîner
+un blocage de LilyPond.
+
+Citer des triolets imbriqués peut entraîner un résultat de médiocre qualité.
+
+
+@seealso
+
+Dans ce manuel : @ref{Instrument transpositions}.
+
+Exemples : @lsr{parts,quote.ly}, @lsr{parts,quote-transportation.ly}
+
+Référence du programme : @internalsref{QuoteMusic}.
+
 
 @node Formatting cue notes
 @subsection Formatting cue notes
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex petites notes, formater des
+
+La section précédente indiquait comment insérer des notes d'une autre
+voix.  Nous allons maintenant voir une fonction musicale avancée,
+@code{\cueDuring}, qui facilite le formatage des petites notes.
+
+Sa syntaxe est :
+
+@example
+  \cueDuring #@var{nom} #@var{updown} @var{musique}
+@end example
+
+Des notes issues de la partie @var{nom} s'insèreront dans une
+@internalsref{Voice} nommée @code{cue}, simultanément avec
+@var{musique} --- habituellement un silence.  L'apparition des petites
+notes initialise une polyphonie temporaire pour la portée concernée.  
+L'argument @var{updown} détermine si ces petites notes seront
+attachées à la première ou à la seconde voix.
+
+
+@lilypond[verbatim,ragged-right]
+smaller = {
+  \set fontSize = #-2
+  \override Stem #'length-fraction = #0.8
+  \override Beam #'thickness = #0.384
+  \override Beam #'length-fraction = #0.8
+}
+
+\addQuote clarinet \relative {
+  R1*20
+  r2 r8 c' f f
+}
+
+\new Staff \relative  <<
+
+  % setup a context for cue notes.
+  \new Voice = "cue" { \smaller \skip 1*21 }
+
+  \set Score.skipBars = ##t
+
+  \new Voice {
+    R1*20
+    \cueDuring #"clarinet" #UP {
+      R1
+    }
+    g4 g2.
+  }
+>>
+@end lilypond
+
+
+Quelques indications pour une citation efficace :
+
+@itemize @bullet
+@item
+ Les notes de la citation sont dans une police plus petite.
+@item
+ La citation comporte une étiquette indiquant l'instrument qui joue.
+@item
+ Lorsque la partie originale reprend sa place, rappeler l'instrument.
+
+@c really?  Are you sure about that last point?  I'll check after 3.0 -gp
+
+@c Yes, this is good practice.  Otherwise, the start of the original
+@c part can only be seen from the font size.  This is not good enough
+@c for sight-reading.  It is possilbe to use other
+@c markers (e.g. a big close-bracket over the staff) to indicate the cue
+@c   notes are
+@c finished.
+@c -hwn
+
+
+Tout autre modification introduite par la citation devrait être
+annulée.  Par exemple, si l'instrument cité utilise une autre clé, il
+faudra revenir à la clé habituelle.
+
+@end itemize
+
+La macro @code{\transposedCueDuring} est particulièrement adaptée pour
+des instrument ayant une tessiture éloignée, comme dans le cas d'un
+piccolo cité dans une partie de contrebasson.
+
+@lilypond[verbatim,ragged-right,quote]
+picc = \relative c''' {
+  \clef "treble^8"
+  R1 |
+  c8 c c e g2 |
+  a4 g g2 |
+}
+\addQuote "picc" { \picc }
+
+cbsn = \relative c, {
+  \clef "bass_8"
+  c4 r g r
+  \transposedCueDuring #"picc" #UP c,, { R1 } |
+  c4 r g r |
+}
+
+<<
+  \context Staff = "picc" \picc
+  \context Staff = "cbsn" \cbsn
+>>
+@end lilypond
+
+
 
 @node Aligning to cadenzas
 @subsection Aligning to cadenzas
 
-UNTRANSLATED NODE: IGNORE ME
+Dans un contexte orchestral, une cadence constitue un problème
+spécifique.  Lors du montage d'une partition contenant une cadence,
+tous les autres instruments doivent sauter autant de notes que ce
+qu'en comporte la cadence, faute de quoi il démarreraient trop tôt ou
+trop tard. 
+
+Les fonctions @code{mmrest-of-length} ou @code{skip-of-length}
+permettent de résoudre ce problème.  Ces fonctions Scheme prennent en
+argument un fragment de musique, et génèrent un @code{\skip} ou un
+silence multi-mesures d'une durée correspondant à ce fragment.
+L'exemple qui suit illustre l'utilisation de @code{mmrest-of-length}. 
+
+@lilypond[verbatim,ragged-right,quote]
+cadenza = \relative c' {
+  c4 d8 << { e f g } \\ { d4. } >>
+  g4 f2 g4 g
+}
+
+\new GrandStaff <<
+  \new Staff { \cadenza c'4 }
+  \new Staff {
+    #(ly:export (mmrest-of-length cadenza))
+    c'4
+  }
+>>
+@end lilypond
+
+
+
 
 @node Contemporary notation
 @section Contemporary notation
 
-UNTRANSLATED NODE: IGNORE ME
+Les compositeurs du XXe siècle ont largement étendu le vocabulaire
+musical.  Face à cette expansion, de nombreuses innovations ont été
+tentées en matière de notation musicale.  L'ouvrage de Kurt Stone,
+@q{Music Notation in the 20th century} (cf. @ref{Literature
+list}), nous en propose une vue d'ensemble.
+
+Cette section aborde des aspects que l'on ne rencontre pas en notation
+traditionnelle, tels que hauteurs, ligatures de triolets ou
+articulations.  Pour tout ce qui relève de la notation traditionnelle
+au sein de la musique contemporaine, comme les microintervalles, les
+n-olets imbriqués ou les points d'orgue inhabituels, référez-vous aux
+sections appropriées de la documentation.
 
 @menu 
 * Polymetric notation::
@@ -203,45 +1960,445 @@ UNTRANSLATED NODE: IGNORE ME
 * Improvisation::
 * Selecting notation font size::
 @end menu 
+
+
 @node Polymetric notation
 @subsection Polymetric notation
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex métrique composite
+@cindex composite, métrique
+@cindex métrique polymétrique
+@cindex polymétrie
+
+LilyPond ne gère pas les métriques composites de manière explicite,
+mais on peut contourner ce problème.  Dans l'exemple suivant,
+l'indicateur de métrique est obtenu grâce à une étiquette textuelle.
+Cette étiquette vient s'insérer dans l'objet graphique (@emph{grob})
+@internalsref{TimeSignature}.  Voir aussi
+@lsr{contemporary,compound-time-signature}. 
+
+
+@lilypond[verbatim,ragged-right]
+% create 2/4 + 5/8
+tsMarkup =\markup {
+  \override #'(baseline-skip . 2) \number {
+    \column { "2" "4" }
+    \vcenter "+"
+    \bracket \column { "5" "8" }
+  }
+}
+
+{
+  \override Staff.TimeSignature #'stencil = #ly:text-interface::print
+  \override Staff.TimeSignature #'text = #tsMarkup
+  \time 3/2
+  c'2 \bar ":" c'4 c'4.
+}
+@end lilypond
+
+Il arrive aussi que chaque portée ait sa propre métrique.  Vous y
+parviendrez en déplaçant le @internalsref{Timing_translator} dans le
+contexte @internalsref{Staff}.
+
+@example
+\layout @{
+  \context @{ \Score
+     \remove "Timing_translator"
+     \remove "Default_bar_line_engraver"
+  @}
+  \context @{
+    \Staff
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  @}
+
+@}
+@end example
+
+
+Maintenant, chacune des portées dispose de sa propre métrique.
+@example
+<<
+  \new Staff @{
+    \time 3/4
+    c4 c c | c c c |
+  @}
+  \new Staff @{
+    \time 2/4
+    c4 c | c c | c c
+  @}
+  \new Staff @{
+    \time 3/8
+    c4. c8 c c c4. c8 c c
+  @}
+>>
+@end example
+
+@lilypond[quote,ragged-right]
+\layout{
+  \context{
+     \Score
+     \remove "Timing_translator"
+     \remove "Default_bar_line_engraver"
+    }
+  \context{ \Staff
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  }
+}
+
+\relative c' <<
+  \new Staff {
+    \time 3/4
+    c4 c c | c c c |
+  }
+  \new Staff {
+    \time 2/4
+    c4 c | c c | c c
+  }
+  \new Staff {
+    \time 3/8
+    c4. c8 c c c4. c8 c c
+  }
+>>
+@end lilypond
+
+
+Une autre forme de notation polymétrique consiste dans le fait que des
+notes aient une durée relative différente selon la portée.  
+
+Vous pouvez créer une telle notation en définissant une métrique
+commune à toutes les portées,  que vous proratiserez manuellement
+selon le cas en utilisant @code{timeSignatureFraction} pour obtenir la
+division adéquate pour chaque portée.  Les durées, dans chacune des
+portées, seront alors échelonnées par rapport à la métrique commune.
+L'échelle de représentation se règle avec @code{\compressMusic} ---
+qui fonctionne comme @code{\times}, sans toutefois créer de crochet.
+La syntaxe appropriée est :
+@example
+\compressMusic #'(@var{numérateur} . @var{dénominateur}) @var{exprmusicale}
+@end example
+
+
+L'exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et
+10/8.  Pour la deuxième portée, les durées sont multipliées par 2/3,
+de telle sorte que @w{2/3 * 9/8 = 3/4} ; pour la troisième, elles sont
+multipliées par 3/5, de telle sorte que @w{3/5 * 10/8 = 3/4}.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\relative c' { <<
+  \new Staff {
+    \time 3/4
+    c4 c c | c c c |
+  }
+  \new Staff {
+    \time 3/4
+    \set Staff.timeSignatureFraction = #'(9 . 8)
+    \compressMusic #'(2 . 3)
+      \repeat unfold 6 { c8[ c c] }
+  }
+  \new Staff {
+    \time 3/4
+    \set Staff.timeSignatureFraction = #'(10 . 8)
+    \compressMusic #'(3 . 5) {
+      \repeat unfold 2 { c8[ c c] }
+      \repeat unfold 2 { c8[ c] }
+      | c4. c4. \times 2/3 { c8 c c } c4
+    }
+  }
+>> }
+@end lilypond
+
+
+
+
+@refbugs
+
+L'utilisation de métriques différentes en parallèle entraine un
+alignement vertical.  De ce fait, les barres de mesure ont tendance à
+fausser l'espacement régulier.
+
 
 @node Time administration
 @subsection Time administration
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex Temps, gestion du
+
+Le temps est administré par le @internalsref{Time_signature_engraver},
+qui réside en principe dans le contexte @internalsref{Score}.  Sa
+gestion traite les variables suivantes :
+
+@table @code
+@item currentBarNumber
+Le numéro de mesure.
+
+@item measureLength
+La longueur de la mesure, dans la métrique en cours.  Pour une mesure
+à 4/4, elle est de@tie{}1, et de 3/4 pour une mesure à 6/8.
+
+@item measurePosition
+Le moment où l'on en est dans la mesure en cours.  Cette quantité est
+remise à@tie{}0 dès lors qu'on dépasse @code{measureLength} ; la variable
+@code{currentBarNumber} est alors incrémentée.  
+
+@item timing
+Lorsqu'on lui assigne la valeur @emph{vrai}, les valeurs ci-dessus
+mentionnées sont mises à jour à chaque pas.  Fixée à @emph{faux}, le
+graveur restera indéfiniment dans la mesure en cours.
+@end table
+
+Le calage peut être modifié en réglant explicitement l'une de ces
+variables.  Dans l'exemple qui suit, nous réglons la métrique à 4/4,
+tout en fixant @code{measureLength} à 5/4.  Un peu plus loin, nous
+raccourcissons la mesure de 1/8, en assignant 7/8 à
+@code{measurePosition}, alors que nous en sommes à 2/4 dans la
+mesure ; la barre de mesure tombera donc à @w{2/4 + 3/8}.  Les 3/8
+résultent du fait que 5/4 équivaut à 10/8, mais nous nous sommes recalés
+à 7/8 de la mesure ;  donc @w{10/8 @minus{} 7/8 = 3/8}.
+
+@lilypond[quote,ragged-right,verbatim,relative,fragment]
+\set Score.measureLength = #(ly:make-moment 5 4)
+c1 c4
+c1 c4
+c4 c4
+\set Score.measurePosition = #(ly:make-moment 7 8)
+b8 b b
+c4 c1
+@end lilypond
+
+@noindent
+Comme le montre cet exemple, @code{ly:make-moment n m} construit une
+durée de n/m fois une ronde.  
+Par conséquent, @code{ly:make-moment 1 8} correspond à une croche, et
+@code{ly:make-moment 7 16} à la durée de sept doubles croches.
+
 
 @node Proportional notation (introduction)
 @subsection Proportional notation (introduction)
+@cindex Notation proportionnelle
+
+Voir @ref{Proportional notation}.
+
+
+@c À faire : supprimer tout ça ?
+
+Les notes peuvent s'espacer proportionnellement en assignant une durée
+à @code{proportionalNotationDuration}
+
+@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
+<<
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \new Staff { c8[ c c c c c]  c4 c2 r2 }
+  \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
+>>
+@end lilypond
+
+Manipuler cette propriété affectera l'espacement idéal uniquement pour
+des notes consécutives.  Pour obtenir une véritable notation
+proportionnelle, vous devrez tenir compte des réglages suivants :
+
+@itemize @bullet
+
+@item La véritable notation proportionnelle exige que des symboles
+puissent en écraser d'autres.  Pour y parvenir, il faut retirer le
+@internalsref{Separating_line_group_engraver} du contexte
+@internalsref{Staff}. 
+
+@item L'influence en matière d'espacement induite par le formatage
+(clés, barres de mesure, etc) s'annule en assignant
+@emph{vrai}@tie{}(#t) à la propriété @code{strict-note-spacing} de
+l'objet @internalsref{SpacingSpanner}.
+
+@item Les affinages optiques se règlent en assignant @emph{vrai} à la
+propriété @code{uniform-stretching} du @internalsref{SpacingSpanner}. 
+
+
+@end itemize
+
+@seealso
+
+Exemples : @lsr{spacing,proportional@/-spacing@/.ly}, 
+@lsr{spacing,proportional@/-strict@/-grace@/-notes@/.ly}, et
+@lsr{spacing,proportional@/-strict@/-notespacing@/.ly}
+
+Le fichier @file{input/proportional.ly} illustre la notation
+proportionnelle stricte.
 
-UNTRANSLATED NODE: IGNORE ME
 
 @node Clusters
 @subsection Clusters
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex cluster
+
+Un cluster indique un agrégat de sons.  On peut le représenter par une
+plage limitée par un ambitus (notes extrêmes).  On obtient une telle notation en
+appliquant la fonction @code{makeClusters} à une séquence d'accords,
+comme  
+@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+\makeClusters { <c e > <b f'> }
+@end lilypond
+
+Des notes ordinaires et des clusters peuvent cohabiter sur une même
+portée, y compris simultanément --- en pareil cas, rien ne sera fait
+pour tenter d'empécher les chevauchements entre notes et clusters.
+
+@seealso
+
+Référence du programme : @internalsref{ClusterSpanner},
+@internalsref{ClusterSpannerBeacon},
+@internalsref{Cluster_spanner_engraver}.
+
+Exemples : @lsr{contemporary,cluster@/.ly}.
+
+@refbugs
+
+Les expressions musicales du type @code{<< @{ g8 e8 @} a4 >>} ne
+seront pas imprimées de façon acceptable.  utilisez plutôt 
+@code{<g a>8 <e a>8} . 
+
 
 @node Special noteheads
 @subsection Special noteheads
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex têtes de note, spéciales
+
+Certains instruments utilisent des têtes de note différentes à des
+fins spécifiques ---ds croix pour le @q{parlato} des chanteurs ou les
+notes étouffées des guitares ; des losanges pour les harmoniques des
+cordes.  Il existe un raccourci (@code{\harmonic}) pour les notes en
+losange ; pour les autres styles de tête, il vous faudra jouer avec la
+propriété 
+
+@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
+c4 d
+\override NoteHead #'style = #'cross
+e f
+\revert NoteHead #'style
+e d <c f\harmonic> <d a'\harmonic>
+@end lilypond
+
+@noindent
+Pour une liste exhaustive des styles de tête de note, consultez 
+@ref{Note head styles}.
+
+
+@seealso
+
+Référence du programme : @internalsref{NoteHead}.
+
 
 @node Feathered beams
 @subsection Feathered beams
 
-UNTRANSLATED NODE: IGNORE ME
+Les ligatures en soufflet s'obtiennent en définissant la propriété
+@code{grow-direction} d'une barre de ligature.  La fonction
+@code{\featherDurations} sert à ajuster la durée des notes.
+
+@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
+\override Beam #'grow-direction = #LEFT
+\featherDurations #(ly:make-moment 5 4) 
+{
+  c16[ c c c c c c]
+}
+@end lilypond
+
+@refbugs
+
+La commande @code{\featherDurations} ne permet de traiter que de très
+courts extraits.
 
 @node Improvisation
 @subsection Improvisation
 
-UNTRANSLATED NODE: IGNORE ME
+L'improvisation peut quelquefois s'indiquer à l'aide de notes de forme
+allongée (@emph{slash}).  Ces têtes de notes sont créées  par
+l'adjonction du graveur @internalsref{Pitch_squash_engraver} au
+contexte @internalsref{Voice}, de telle sorte que la commande
+
+@example
+\set squashedPosition = #0
+\override NoteHead #'style = #'slash
+@end example
+
+@noindent
+active les notes penchées.
+
+Vous disposez des raccourcis @code{\improvisationOn} et son corollaire
+@code{\improvisationOff} pour cette séquence, comme l'illustre
+l'exemple ci dessous.
+
+@lilypond[verbatim,ragged-right,quote]
+\new Voice \with {
+  \consists Pitch_squash_engraver
+} \transpose c c' {
+  e8 e g a a16(bes)(a8) g \improvisationOn
+  e8
+  ~e2~e8 f4 fis8
+  ~fis2 \improvisationOff a16(bes) a8 g e
+}
+@end lilypond
+
 
 @node Selecting notation font size
 @subsection Selecting notation font size
 
-UNTRANSLATED NODE: IGNORE ME
+Le plus sûr moyen de régler la taille de la police, quelque soit le
+contexte, consiste à définir la propriété @code{fontSize}.
+
+@lilypond[quote,fragment,relative=1,verbatim]
+c8
+\set fontSize = #-4
+c f
+\set fontSize = #3
+g
+@end lilypond
+
+@noindent
+Ceci ne modifiera en rien la taille des différents symboles tels que
+ligatures ou liaisons.
+
+En interne, la propriété @code{fontSize} d'un contexte aura pour effet
+de définir la propriété @code{font-size} pour tous les objets de
+rendu.  La valeur de @code{font-size} est un entier représentant la
+taille proportionnellement à la hauteur standard de la portée en
+cours.  Chaque incrément correspond à une augmentation d'environ
+12@tie{}% de la taille de la police. Un pas de six aboutit exactement
+au doublement de la taille.  La fonction Scheme @code{magstep}
+convertit le nombre affecté à @code{font-size} en facteur d'échelle.
+Vous pouvez aussi définir directement la propriété @code{font-size} de
+manière à n'affecter seulement que certains objets de rendu.
+
+@lilypond[quote,fragment,relative=1,verbatim]
+c8
+\override NoteHead #'font-size = #-4
+c f
+\override NoteHead #'font-size = #3
+g
+@end lilypond
+
+Pour changer la taille des symboles musicaux (police Feta), LilyPond met
+à l'échelle la fonte dont la taille est la plus proche de la taille voulue ---
+cf. @ref{Setting the staf size}.  La taille standard, pour laquelle
+@code{font-size} vaut 0, dépend de la hauteur de la portée.  À une
+portée de 20 points correspond une police de 10 points.
+
+La propriété @code{font-size} ne peut intervenir que pour les objets
+qui utilisent des polices, autrement dit ceux qui disposent de
+l'interface de rendu @internalsref{font-interface}.
+
+@refcommands
+
+Les commandes suivantes définissent @code{fontSize} pour la voix en
+cours :
+
+@funindex \tiny
+@code{\tiny},
+@funindex \small
+@code{\small},
+@funindex \normalsize
+@code{\normalsize}.
+
+
 
 @node Educational use
 @section Educational use
@@ -304,7 +2461,3 @@ 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 5b5ddadadd0457a60a5e5445adf3053f4d53dbb9..7c21c1515c5c0be7095e12275c103da4ab093dca 100644 (file)
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of ../user/lilypond.tely
 @ignore
-    Translation of GIT committish: d5b91d83f5dfec811302de39dbabdb189024f67a
-
+    Translation of GIT committish: da55a1ec3c4b8195efc910b0c986c27f244def85
 
     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
 
-UNTRANSLATED NODE: IGNORE ME
 
-@menu 
-* Automatic notation::
-* Interpretation contexts::
-* The \override command::
-@end menu 
+LilyPond est conçu pour engendrer, par défaut, des partitions de la
+plus haute qualité.  Cependant, on peut parfois avoir à modifier cette
+mise en page par défaut.  Celle-ci est réglée par tout un ensemble de
+@qq{leviers et manettes}, dont ce chapitre ne cherche pas à faire
+l'inventaire exhaustif.  Le propos est plutôt ici de mettre en évidence
+les différents groupes auxquels s'apparentent ces contrôles, et d'expliquer
+comment trouver le bon levier pour obtenir tel ou tel effet en particulier.
+
+@cindex Référence du programme
+
+Les moyens de contrôle des différents réglages sont décrits dans un document
+à part entière, la
+@iftex
+référence du programme
+@end iftex
+@ifnottex
+@ref{Top,Référence du programme,,lilypond-internals}.
+@end ifnottex
+Ce guide répertorie toutes les variables, fonctions et autre options que
+LilyPond met à votre disposition.  Il est consultable en ligne, au format HTML,
+@c leave the @uref as one long line.
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,on@/-line},
+mais est également inclus dans la documentation fournie avec le logiciel.
+
+Il est quatre domaines dans lesquels on peut modifier les réglages par défaut :
+
+@itemize @bullet
+@item
+La notation automatique, ce qui revient à modifier la manière dont les éléments
+de notation sont automatiquement créés -- par exemple, les règles de ligatures.
+
+@item
+L'apparence, qui se rapporte aux objets pris individuellement -- ainsi de la direction 
+des hampes, du placement des indications textuelles.
+
+@item
+Les contextes, qui recouvrent la manière dont les évènements musicaux sont représentés sous forme de
+notation -- par exemple, le fait d'attribuer un chiffre de mesure distinct à chaque portée.
+
+@item
+La mise en page, autrement dit les marges, l'espacement, la taille du papier ; tous ces facteurs
+font l'objet des chapitres @ref{Non-musical notation} et @ref{Spacing issues}.
+@end itemize
+
+En sous-main, LilyPond se sert du langage Scheme (un dérivé du LISP) comme
+infrastructure.  Modifier les choix de mise en page revient à pénétrer dans
+les entrailles du programme, et de ce fait requiert l'emploi du Scheme.
+Les fragments de Scheme, dans un fichier @code{.ly}, sont introduits par le
+caractère @q{hash}, (@code{#}, improprement surnommé @q{dièse}).@footnote{Le 
+@ref{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
+des listes, des chaînes de caractères ou des symboles, en Scheme.}
+
+
+@menu
+* Automatic notation::          
+* Interpretation contexts::     
+* The \override command::       
+@end menu
+
+
 @node Automatic notation
 @section Automatic notation
 
-UNTRANSLATED NODE: IGNORE ME
+Cette section s'intéresse à la manière dont les altérations accidentelles 
+et les ligatures sont automatiquement ajoutées.
+
+@menu
+* Automatic accidentals::       
+* Setting automatic beam behavior::  
+@end menu
 
-@menu 
-* Automatic accidentals::
-* Setting automatic beam behavior::
-@end menu 
 @node Automatic accidentals
 @subsection Automatic accidentals
+@cindex Altérations accidentelles automatiques
+
+Une fonction a été créée pour regrouper les règles suivant lesquelles
+s'impriment les altérations.  Elle s'invoque de la manière suivante :
+
+@funindex set-accidental-style
+@example
+#(set-accidental-style 'REGLE)
+@end example
+
+@c TODO: check the context stuff below
+@c -does it *really* work?
+@c -the default contexts as specified in
+@c  scm/music-function.scm seem to be different -vv
+
+Cette fonction prend pour argument le nom de la règle d'altérations,
+auquel peut s'ajouter, comme argument facultatif, le contexte
+devant être affecté :
+
+@example
+#(set-accidental-style 'REGLE #('CONTEXTE#))
+@end example
+
+Si aucun contexte n'est spécifié, le contexte @code{Staff} sera affecté ; 
+cependant on peut souhaiter l'appliquer au contexte @code{Voice} en lieu 
+et place.
+
+Les régles d'altérations suivantes sont possibles :
+
+@table @code
+@item default
+C'est la règle d'impression par défaut, qui se rapporte à l'usage 
+en vigueur au XVIIIème siècle : les altérations accidentelles sont valables toute
+une mesure, et uniquement à leur propre octave.
+
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              %#(set-accidental-style 'default) 
+       \musicA }
+       \context Staff = "down"{
+              %#(set-accidental-style 'default)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'default" }}}
+}
+@end lilypond
+
+@item voice
+En principe, LilyPond se souvient de toutes les altérations présentes sur la
+portée (contexte Staff).  Avec cette règle, cependant, les altérations sont indépendantes
+pour chacune des voix. 
+
+
+@example
+ \new Staff <<
+        #(set-accidental-style 'voice)
+       @{ @dots{} @}
+       >>
+@end example
+
+De ce fait, les altérations d'une voix sont ignorées dans les autres voix,
+ce qui peut donner lieu à un résultat malencontreux.  Dans l'exemple suivant,
+il est difficile de dire si le deuxième @samp{la} est dièse ou naturel.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'voice) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'voice)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'voice" }}}
+}
+@end lilypond
+
+La règle @code{voice} n'est à envisager que dans le cas de voix devant être lues par
+des musiciens différents. S'il s'agit d'un @q{conducteur}, ou d'une portée destinée
+à un seul musicien, il vaut mieux utiliser @code{modern} ou @code{modern-cautionary}.
+
+
+@item modern
+@funindex modern style accidentals
+Cette règle est la plus courante au XXème siècle.  Les altérations accidentelles
+sont imprimées comme avec le style @code{default}, mais lorsque une note non-altérée
+apparaît à une octave différente, ou bien dans la mesure suivante, des bécarres de précaution
+sont ajoutés.  Dans l'exemple suivant, notez ainsi les deux bécarres dans la
+deuxième mesure de la main droite.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern" }}}
+}
+@end lilypond
+
+@item @code{modern-cautionary}
+@funindex modern-cautionary
+Cette règle est équivalente à @code{modern}, mais les bécarres de précaution sont
+imprimés de façon particulière : soit plus petits, soit (par défaut) entre parenthèses.
+Il est possible de le définir au moyen de la propriété @code{cautionary-style}
+pour l'objet @internalsref{AccidentalSuggestion}.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern-cautionary) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern-cautionary)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-cautionary" }}}
+}
+@end lilypond
+
+@funindex modern-voice
+@item modern-voice
+Cette règle sert aux altérations dans de la musique polyphonique destinée
+autant à des musiciens différents qu'à quelqu'un qui lirait l'ensemble des voix.
+Les altérations sont imprimées voix par voix, mais les autres voix, dans le même 
+contexte @internalsref{Staff}, en @emph{tiennent compte} cette fois.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern-voice) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern-voice)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-voice" }}}
+}
+@end lilypond
+
+@funindex modern-voice-cautionary
+@item modern-voice-cautionary
+Cette régle est similaire à la précédente, mais les altérations de précautions
+(celles que n'aurait pas ajoutées @code{voice}), sont imprimées de façon
+particulière.  On retrouve donc toutes les altérations qu'imprimerait
+@code{default}, mais certaines sont considérées comme étant @qq{de précaution}.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern-voice-cautionary) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern-voice-cautionary)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-voice-cautionary" }}}
+}
+@end lilypond
+
+@item piano
+@funindex piano accidentals
+Cette règle est adaptée aux contextes GrandStaff -- ce qui n'empêche pas de devoir la spécifier 
+pour chaque portée individuelle au sein du contexte GrandStaff.
+
+@example
+\new GrandStaff @{ <<
+  \new Staff = "up" @{ <<
+    #(set-accidental-style 'piano)
+    @{ @dots{} @}
+  >> @}
+  \new Staff = "down"@{ <<
+    #(set-accidental-style 'piano)
+  @{ @dots{} @}
+  >> @}
+>> @}
+@end example
+
+Cette règle est communément employée pour les partitions de piano au XXème siècle.
+Très similaire à @code{modern} de par son comportement, elle s'en distingue en ce que
+les altérations tiennent compte des autre portées du contexte @internalsref{GrandStaff} ou
+@internalsref{PianoStaff}.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'piano) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'piano)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'piano" }}}
+}
+@end lilypond
+
+@item piano-cautionary
+@funindex #(set-accidental-style 'piano-cautionary)
+Identique à @code{#(set-accidental-style 'piano)}, mais les altérations de précaution
+sont imprimées différemment.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'piano-cautionary) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'piano-cautionary)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'piano-cautionary" }}}
+}
+@end lilypond
+
+@item no-reset
+@funindex no-reset accidental style
+C'est la même règle que @code{default}, mais l'effet des altérations accidentelles
+ne cesse jamais, même dans les mesures suivantes.
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'no-reset) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'no-reset)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'no-reset" }}}
+}
+@end lilypond
+
+@item forget
+Tout le contraire de @code{no-reset}: l'effet des altérations cesse aussitôt,
+et de ce fait, toutes les altérations, quelque soit leur place dans la mesure, sont
+imprimées, en fonction de l'armure éventuelle.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'forget) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'forget)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'forget" }}}
+}
+@end lilypond
+@end table
+
+
+@seealso
+
+Référence du programme : @internalsref{Accidental_engraver},
+@internalsref{Accidental}, @internalsref{AccidentalSuggestion} et @internalsref{AccidentalPlacement}.
+
+
+@refbugs
+
+Les notes simultanées sont considérées comme des évènements séquentiels.
+Ce qui implique que, dans un accord, les altérations accidentelles sont 
+imprimées comme si les notes de l'accords apparaissaient une par une, en fonction
+de l'ordre dans lequels elles ont été saisies -- ce qui peut poser problème lorsqu'au
+sein d'un accord certaines altérations dépendent les unes des autres. Ce problème
+est à résoudre manuellement, en insérant des @code{!} et des @code{?} après les notes
+concernées.
 
-UNTRANSLATED NODE: IGNORE ME
 
 @node Setting automatic beam behavior
 @subsection Setting automatic beam behavior
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex autoBeamSettings
+@funindex (end * * * *)
+@funindex (begin * * * *)
+@cindex ligatures automatiques, réglage
+@cindex réglage des ligatures automatiques
+
+@c [TODO: use \applyContext]
+
+Dans les métriques courantes, les ligatures automatiques peuvent commencer
+sur n'importe quelle note, mais ne peuvent se terminer qu'à certains points précis
+dans la mesure : sur une pulsation, ou après toute durée spécifiée par les propriétés
+nommées @code{autoBeamSettings}.  Ces propriétés consistent en une liste de règles
+relatives au début ou à la fin des ligatures.  Par défaut, elles sont définies dans
+le fichier
+@file{scm/@/auto@/-beam@/.scm}.
+
+On peut ajouter à cette liste une nouvelle règle, au moyen de la commande
+@example
+#(override-auto-beam-setting '(extrémité p q n m) a b [contexte])
+@end example
+
+@itemize @bullet
+
+@item @code{extrémité} désigne le début (@code{begin}) ou la fin (@code{end}) de la ligature.
+
+@item @code{p/q} désigne la valeur rythmique de la note que l'on veut affecter, ou de la
+plus brève des notes concernées.  Si cette règle doit s'appliquer à toutes les ligatures,
+remplacez @code{p} et @code{q} par des étoiles @qq{@code{*}}.
+
+
+@item @code{n/m} est le chiffre de mesure dans lequel la règle doit s'appliquer. Si
+celle-ci doit s'appliquer dans toutes les métriques, remplacez @code{n} et @code{m}
+par des étoiles @qq{@code{*}}.
+
+@item @code{a/b} est l'emplacement, dans la mesure, auquel les ligatures doivent
+débuter ou s'achever (suivant la valeur @q{extrémité} que nous venons de voir).
+
+
+@item @code{contexte} est un argument facultatif, qui détermine le contexte dans lequel
+la règle doit s'appliquer.  Par défaut, il s'agit de @code{'Voice}.
+@code{#(score-override-auto-beam-setting '(A B C D) E F)} équivaut à
+@code{#(override-auto-beam-setting '(A B C D) E F 'Score)}.
+
+@end itemize
+
+Par exemple, si l'on veut que les ligatures s'achèvent toujours après la première noire :
+
+
+@example
+#(override-auto-beam-setting '(end * * * *) 1 4)
+@end example
+
+On peut obliger une règle de ligatures à ne s'appliquer qu'à des groupes dont la note
+la plus brève est d'une valeur précise :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 2/4
+#(override-auto-beam-setting '(end 1 16 * *) 1 16)
+a16 a a a a a a a |
+a32 a a a a16 a a a a a |
+#(override-auto-beam-setting '(end 1 32 * *) 1 16)
+a32 a a a a16 a a a a a |
+@end lilypond
+
+On peut obliger une règle de ligatures à ne s'appliquer que pour un chiffre de mesure
+précis :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 5/8
+#(override-auto-beam-setting '(end * * 5 8) 2 8)
+c8 c d d d
+\time 4/4
+e8 e f f e e d d
+\time 5/8
+c8 c d d d
+@end lilypond
+
+Enfin, on peut désactiver une règle de ligatures au moyen du réglage suivant :
+
+@example
+#(revert-auto-beam-setting '(extrémité p q n m) a b [contexte])
+@end example
+
+@noindent
+@code{extrémité}, @code{p}, @code{q}, @code{n}, @code{m}, @code{a}, @code{b} et @code{contexte}
+étant les mêmes que plus haut.  Il est même possible de désactiver des règles que l'on n'a pas
+explicitement créées : les règles par défaut, qui se trouvent dans le fichier @file{scm/@/auto@/-beam@/.scm}.
+
+
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 4/4
+a16 a a a a a a a a a a a a a a a
+#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
+a16 a a a a a a a a a a a a a a a
+@end lilypond
+
+La commande @code{revert-auto-beam-setting} requiert exactement les mêmes arguments
+que la règle d'origine.  En d'autres termes, les étoiles ne seront pas prises en compte ici.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 1/4
+#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
+a16 a a a
+#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % ceci ne désactive pas la règle !
+a a a a
+#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % ceci marche
+a a a a
+@end lilypond
+
+
+
+@c TODO:  old material -- not covered by above stuff, I think.
+Si, dans une mesure à 5/4, l'on veut que les ligatures soient regroupées temps par temps,
+il est nécessaire d'indiquer toutes les terminaisons de ligatures.
+@example
+#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
+#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
+#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
+#(override-auto-beam-setting '(end * * * *) 5 4 'Staff)
+@dots{}
+@end example
+
+La même syntaxe peut servir à définir les points de départ des ligatures.
+Dans l'exemple suivant, les ligatures automatiques  ne peuvent se terminer 
+que sur une noire pointée.
+@example
+#(override-auto-beam-setting '(end * * * *) 3 8)
+#(override-auto-beam-setting '(end * * * *) 1 2)
+#(override-auto-beam-setting '(end * * * *) 7 8)
+@end example
+@c ???? Je n'y comprends rien --vv
+Dans une mesure à 4/4, cela implique que les ligatures ne peuvent se terminer que sur
+la troisième croche, ou sur le quatrième temps (après la valeur de deux fois trois croches).
+
+Si une ligature se fait de manière inattendue, pensez à vérifer les règles automatiques
+dans le fichier @file{scm/@/auto@/-beam@/.scm} pour rechercher d'éventuels conflits, dans
+la mesure ou les règles par défaut s'ajoutent à vos propres règles.  Il est alors nécessaire
+de désactiver toute règle par défaut conduisant à des ligatures indésirables.
+
+Ainsi, pour obtenir des ligatures en groupes de @code{(3 4 3 2)} notes, dans une mesure à 12/8,
+il faudra préalablement utiliser :
+
+@example
+%%% annulons les réglages par défaut relatifs à 12/8, dans scm/auto-beam.scm 
+#(revert-auto-beam-setting '(end * * 12 8) 3 8)
+#(revert-auto-beam-setting '(end * * 12 8) 3 4)
+#(revert-auto-beam-setting '(end * * 12 8) 9 8)
+
+%%% puis ajoutons nos propres règles
+#(override-auto-beam-setting '(end 1 8 12 8) 3 8)
+#(override-auto-beam-setting '(end 1 8 12 8) 7 8)
+#(override-auto-beam-setting '(end 1 8 12 8) 10 8)
+@end example
+
+@cindex ligatures automatiques
+@cindex groupes de notes
+@funindex autoBeaming
+@cindex paroles
+
+Si des ligatures sont utilisées dans les paroles d'une chanson (pour indiquer des mélismes),
+les ligatures automatiques doivent être désactivées, avec @code{\autoBeamOff}.
+
+
+@refcommands
+
+@funindex \autoBeamOff
+@code{\autoBeamOff},
+@funindex \autoBeamOn
+@code{\autoBeamOn}.
+
+@commonprop
+
+Les groupes de notes reliées par les ligatures peuvent être spécifiés au moyen
+de la propriété @code{beatGrouping}.
+
+@lilypond[quote,verbatim,relative=2,fragment,ragged-right]
+\time 5/16
+\set beatGrouping = #'(2 3)
+c8[^"(2+3)" c16 c8]
+\set beatGrouping = #'(3 2)
+c8[^"(3+2)" c16 c8]
+@end lilypond
+
+
+@refbugs
+
+Si une partition se termine alors qu'une ligature automatique est restée inachevée,
+cette dernière ligature ne sera pas imprimée du tout.  C'est également valable dans
+le cas d'une musique polyphonique, saisie avec la syntaxe @code{<< @dots{} \\ @dots{}
+>>}, où une voix se terminerait sans que la dernière ligature
+soit achevée.
 
 @node Interpretation contexts
 @section Interpretation contexts
 
-UNTRANSLATED NODE: IGNORE ME
-
-@menu 
-* Contexts explained::
-* Creating contexts::
-* Changing context properties on the fly::
-* Modifying context plug-ins::
-* Layout tunings within contexts::
-* Changing context default settings::
-* Defining new contexts::
-* Aligning contexts::
-* Vertical grouping of grobs::
-@end menu 
+This section describes what contexts are, and how to modify them.
+
+@menu
+* Contexts explained::          
+* Creating contexts::           
+* Changing context properties on the fly::  
+* Modifying context plug-ins::  
+* Layout tunings within contexts::  
+* Changing context default settings::  
+* Defining new contexts::       
+* Aligning contexts::           
+* Vertical grouping of grobs::  
+@end menu
+
+
 @node Contexts explained
 @subsection Contexts explained
 
-UNTRANSLATED NODE: IGNORE ME
+When music is printed, a lot of notational elements must be added to the
+output.  For example, compare the input and output of the following example:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+cis4 cis2. g4
+@end lilypond
+
+The input is rather sparse, but in the output, bar lines, accidentals,
+clef, and time signature are added.  LilyPond @emph{interprets} the
+input.  During this step, the musical information is inspected in time
+order, similar to reading a score from left to right.  While reading
+the input, the program remembers where measure boundaries are, and which
+pitches require explicit accidentals.  This information can be presented on
+several levels.  For example, the effect of an accidental is limited
+to a single staff, while a bar line must be synchronized across the
+entire score.
+
+Within LilyPond, these rules and bits of information are grouped in
+@emph{Contexts}.  Some examples of contexts are @context{Voice},
+@context{Staff}, and @context{Score}.  They are hierarchical, for
+example: a @context{Staff} can contain many @context{Voice}s, and a
+@context{Score} can contain many @context{Staff} contexts.
+
+@quotation
+@image{context-example,5cm,,}
+@end quotation
+
+Each context has the responsibility for enforcing some notation rules,
+creating some notation objects and maintaining the associated
+properties.  For example, the @context{Voice} context may introduce an
+accidental and then the @context{Staff} context maintains the rule to
+show or suppress the accidental for the remainder of the measure.  The
+synchronization of bar lines is handled at @context{Score} context.
+
+However, in some music we may not want the bar lines to be
+synchronized -- consider a polymetric score in 4/4 and 3/4 time.  In
+such cases, we must modify the default settings of the @context{Score}
+and @context{Staff} contexts.
+
+For very simple scores, contexts are created implicitly, and you need
+not be aware of them.  For larger pieces, such as anything with more
+than one staff, they must be
+created explicitly to make sure that you get as many staves as you
+need, and that they are in the correct order.  For typesetting pieces
+with specialized notation, it can be useful to modify existing or
+to define new contexts.
+
+
+A complete description of all available contexts is in the program
+reference, see
+@ifhtml
+@internalsref{Contexts}.
+@end ifhtml
+@ifnothtml
+Translation @arrow{} Context.
+@end ifnothtml
+
+@c [TODO: describe propagation]
+
 
 @node Creating contexts
 @subsection Creating contexts
 
-UNTRANSLATED NODE: IGNORE ME
+For scores with only one voice and one staff, contexts are
+created automatically.  For more complex scores, it is necessary to
+create them by hand.  There are three commands that do this.
+
+@itemize @bullet
+
+@item
+The easiest command is @code{\new}, and it also the quickest to type.
+It is prepended to a music expression, for example
+
+@funindex \new
+@cindex new contexts
+@cindex Context, creating
+
+@example
+\new @var{type} @var{music expression}
+@end example
+
+@noindent
+where @var{type} is a context name (like @code{Staff} or
+@code{Voice}).  This command creates a new context, and starts
+interpreting the @var{music expression} with that.
+
+A practical application of @code{\new} is a score with many
+staves.  Each part that should be on its own staff, is preceded with
+@code{\new Staff}.
+
+@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
+<<
+  \new Staff { c4 c }
+  \new Staff { d4 d }
+>>
+@end lilypond
+
+The @code{\new} command may also give a name to the context,
+
+@example
+\new @var{type} = @var{id} @var{music}
+@end example
+However, this user specified name is only used if there is no other
+context already earlier with the same name.
+
+
+@funindex \context
+
+@item
+Like @code{\new}, the @code{\context} command also directs a music
+expression to a context object, but gives the context an explicit name.  The
+syntax is
+
+@example
+\context @var{type} = @var{id} @var{music}
+@end example
+
+This form will search for an existing context of type @var{type}
+called @var{id}.  If that context does not exist yet, a new
+context with the specified name is created.  This is useful if
+the context is referred to later on.  For example, when
+setting lyrics the melody is in a named context
+
+@example
+\context Voice = "@b{tenor}" @var{music}
+@end example
+
+@noindent
+so the texts can be properly aligned to its notes,
+
+@example
+\new Lyrics \lyricsto "@b{tenor}" @var{lyrics}
+@end example
+
+@noindent
+
+Another possible use of named contexts is funneling two different
+music expressions into one context.  In the following example,
+articulations and notes are entered separately,
+
+@example
+music = @{ c4 c4 @}
+arts = @{ s4-. s4-> @}
+@end example
+
+They are combined by sending both to the same @context{Voice} context,
+
+@example
+<<
+  \new Staff \context Voice = "A" \music
+  \context Voice = "A" \arts
+>>
+@end example
+@lilypond[quote,ragged-right]
+music = { c4 c4 }
+arts = { s4-. s4-> }
+\relative c'' <<
+  \new Staff \context Voice = "A" \music
+  \context Voice = "A" \arts
+>>
+@end lilypond
+
+With this mechanism, it is possible to define an Urtext (original
+edition), with the option to put several distinct articulations on the
+same notes.
+
+@cindex creating contexts
+
+@item
+The third command for creating contexts is
+@example
+\context @var{type} @var{music}
+@end example
+
+
+@noindent
+This is similar to @code{\context} with @code{= @var{id}}, but matches
+any context of type @var{type}, regardless of its given name.
+
+This variant is used with music expressions that can be interpreted at
+several levels.  For example, the @code{\applyOutput} command (see
+@ref{Running a function on all layout objects}).  Without an explicit
+@code{\context}, it is usually applied to @context{Voice}
+
+@example
+\applyOutput #'@var{context} #@var{function}   % apply to Voice
+@end example
+
+To have it interpreted at the @context{Score} or @context{Staff} level use
+these forms
+
+@example
+\applyOutput #'Score #@var{function}
+\applyOutput #'Staff #@var{function}
+@end example
+
+@end itemize
+
 
 @node Changing context properties on the fly
 @subsection Changing context properties on the fly
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex properties
+@funindex \set
+@cindex changing properties
+
+Each context can have different @emph{properties}, variables contained
+in that context.  They can be changed during the interpretation step.
+This is achieved by inserting the @code{\set} command in the music,
+
+@example
+\set @var{context}.@var{prop} = #@var{value}
+@end example
+
+For example,
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set Score.skipBars = ##t
+R1*2
+@end lilypond
+
+This command skips measures that have no notes.  The result is that
+multi-rests are condensed.  The value assigned is a Scheme object.  In
+this case, it is @code{#t}, the boolean True value.
+
+If the @var{context} argument is left out, then the current bottom-most
+context (typically @context{ChordNames}, @context{Voice}, or
+@context{Lyrics}) is used.  In this example,
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c8 c c c
+\set autoBeaming = ##f
+c8 c c c
+@end lilypond
+
+@noindent
+the @var{context} argument to @code{\set} is left out, so automatic
+beaming is switched off in the current @internalsref{Voice}.  Note that
+the bottom-most context does not always contain the property that you
+wish to change -- for example, attempting to set the @code{skipBars}
+property (of the bottom-most context, in this case @code{Voice}) will
+have no effect.
+
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set skipBars = ##t
+R1*2
+@end lilypond
+
+Contexts are hierarchical, so if a bigger context was specified, for
+example @context{Staff}, then the change would also apply to all
+@context{Voice}s in the current stave.  The change is applied
+@q{on-the-fly}, during the music, so that the setting only affects the
+second group of eighth notes.
+
+@funindex \unset
+
+There is also an @code{\unset} command,
+@example
+\unset @var{context}.@var{prop}
+@end example
+
+@noindent
+which removes the definition of @var{prop}.  This command removes
+the definition only if it is set in @var{context}, so
+
+@example
+\set Staff.autoBeaming = ##f
+@end example
+
+@noindent
+introduces a property setting at @code{Staff} level.  The setting also
+applies to the current @code{Voice}.  However,
+
+@example
+\unset Voice.autoBeaming
+@end example
+
+@noindent
+does not have any effect.  To cancel this setting, the @code{\unset}
+must be specified on the same level as the original @code{\set}.  In
+other words, undoing the effect of @code{Staff.autoBeaming = ##f}
+requires
+@example
+\unset Staff.autoBeaming
+@end example
+
+Like @code{\set}, the @var{context} argument does not have to be
+specified for a bottom context, so the two statements
+
+@example
+\set Voice.autoBeaming = ##t
+\set autoBeaming = ##t
+@end example
+
+@noindent
+are equivalent.
+
+
+@cindex \once
+Settings that should only apply to a single time-step can be entered
+with @code{\once}, for example in
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\once \set fontSize = #4.7
+c4
+c4
+@end lilypond
+
+the property @code{fontSize} is unset automatically after the second
+note.
+
+A full description of all available context properties is in the
+program reference, see
+@ifhtml
+@internalsref{Tunable context properties}.
+@end ifhtml
+@ifnothtml
+Translation @arrow{} Tunable context properties.
+@end ifnothtml
+
 
 @node Modifying context plug-ins
 @subsection Modifying context plug-ins
 
-UNTRANSLATED NODE: IGNORE ME
+Notation contexts (like @code{Score} and @code{Staff}) not only
+store properties,
+they also contain plug-ins called @q{engravers} that create notation
+elements.  For example, the @code{Voice} context contains a
+@code{Note_head_engraver} and the @code{Staff} context contains a
+@code{Key_signature_engraver}.
+
+For a full a description of each plug-in, see
+@ifhtml
+@internalsref{Engravers}.
+@end ifhtml
+@ifnothtml
+Program reference @arrow Translation @arrow{} Engravers.
+@end ifnothtml
+Every context described in
+@ifhtml
+@internalsref{Contexts}
+@end ifhtml
+@ifnothtml
+Program reference @arrow Translation @arrow{} Context.
+@end ifnothtml
+lists the engravers used for that context.
+
+
+It can be useful to shuffle around these plug-ins.  This is done by
+starting a new context with @code{\new} or @code{\context}, and
+modifying it,
+
+@funindex \with
+
+@example
+\new @var{context} \with @{
+  \consists @dots{}
+  \consists @dots{}
+  \remove @dots{}
+  \remove @dots{}
+  @emph{etc.}
+@}
+@{
+  @emph{..music..}
+@}
+@end example
+
+@noindent
+where the @dots{} should be the name of an engraver.  Here is a simple
+example which removes @code{Time_signature_engraver} and
+@code{Clef_engraver} from a @code{Staff} context,
+
+@lilypond[quote,relative=1,verbatim,fragment]
+<<
+  \new Staff {
+    f2 g
+  }
+  \new Staff \with {
+     \remove "Time_signature_engraver"
+     \remove "Clef_engraver"
+  } {
+    f2 g2
+  }
+>>
+@end lilypond
+
+In the second staff there are no time signature or clef symbols.  This
+is a rather crude method of making objects disappear since it will affect
+the entire staff.  This method also influences the spacing, which may or
+may not be desirable.  A more
+sophisticated method of blanking objects is shown in @ref{Common tweaks}.
+
+The next example shows a practical application.  Bar lines and time
+signatures are normally synchronized across the score.  This is done
+by the @code{Timing_translator} and @code{Default_bar_line_engraver}.
+This plug-in keeps an administration of time signature, location
+within the measure, etc.  By moving thes engraver from @code{Score} to
+@code{Staff} context, we can have a score where each staff has its own
+time signature.
+
+@cindex polymetric scores
+@cindex Time signatures, multiple
+
+@lilypond[quote,relative=1,ragged-right,verbatim,fragment]
+\new Score \with {
+  \remove "Timing_translator"
+  \remove "Default_bar_line_engraver"
+} <<
+  \new Staff \with {
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  } {
+      \time 3/4
+      c4 c c c c c
+  }
+  \new Staff \with {
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  } {
+       \time 2/4
+       c4 c c c c c
+  }
+>>
+@end lilypond
+
 
 @node Layout tunings within contexts
 @subsection Layout tunings within contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Each context is responsible for creating certain types of graphical
+objects.  The settings used for printing these objects are also stored by
+context.  By changing these settings, the appearance of objects can be
+altered.
+
+The syntax for this is
+
+@example
+\override @var{context}.@var{name} #'@var{property} = #@var{value}
+@end example
+
+Here @var{name} is the name of a graphical object, like @code{Stem} or
+@code{NoteHead}, and @var{property} is an internal variable of the
+formatting system (@q{grob property} or @q{layout property}).  The latter is a
+symbol, so it must be quoted.  The subsection @ref{Constructing a
+tweak}, explains what to fill in for @var{name}, @var{property}, and
+@var{value}.  Here we only discuss the functionality of this command.
+
+The command
+
+@verbatim
+\override Staff.Stem #'thickness = #4.0
+@end verbatim
+
+@noindent
+makes stems thicker (the default is 1.3, with staff line thickness as a
+unit).  Since the command specifies @context{Staff} as context, it only
+applies to the current staff.  Other staves will keep their normal
+appearance.  Here we see the command in action:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\override Staff.Stem #'thickness = #4.0
+c4
+c4
+c4
+@end lilypond
+
+The @code{\override} command changes the definition of the @code{Stem}
+within the current @context{Staff}.  After the command is interpreted
+all stems are thickened.
+
+Analogous to @code{\set}, the @var{context} argument may be left out,
+causing the default context @context{Voice} to be used.  Adding
+@code{\once} applies the change during one timestep only.
+
+@lilypond[quote,fragment,verbatim,relative=2]
+c4
+\once \override Stem #'thickness = #4.0
+c4
+c4
+@end lilypond
+
+The @code{\override} must be done before the object is
+started.  Therefore, when altering @emph{Spanner} objects such as slurs
+or beams, the @code{\override} command must be executed at the moment
+when the object is created.  In this example,
+
+@lilypond[quote,fragment,verbatim,relative=2]
+\override Slur #'thickness = #3.0
+c8[( c
+\override Beam #'thickness = #0.6
+c8 c])
+@end lilypond
+
+@noindent
+the slur is fatter but the beam is not.  This is because the command for
+@code{Beam} comes after the Beam is started, so it has no effect.
+
+Analogous to @code{\unset}, the @code{\revert} command for a context
+undoes an @code{\override} command; like with @code{\unset}, it only
+affects settings that were made in the same context.  In other words, the
+@code{\revert} in the next example does not do anything.
+
+@example
+\override Voice.Stem #'thickness = #4.0
+\revert Staff.Stem #'thickness
+@end example
+
+Some tweakable options are called @q{subproperties} and reside inside
+properties.  To tweak those, use commands of the form
+
+@c leave this as a long long
+@example
+\override @var{context}.@var{name} #'@var{property} #'@var{subproperty} = #@var{value}
+@end example
+
+@noindent
+such as
+
+@example
+\override Stem #'details #'beamed-lengths = #'(4 4 3)
+@end example
+
+
+@seealso
+
+Internals: @internalsref{OverrideProperty}, @internalsref{RevertProperty},
+@internalsref{PropertySet}, @internalsref{Backend}, and
+@internalsref{All layout objects}.
+
+
+@refbugs
+
+The back-end is not very strict in type-checking object properties.
+Cyclic references in Scheme values for properties can cause hangs
+or crashes, or both.
+
 
 @node Changing context default settings
 @subsection Changing context default settings
 
-UNTRANSLATED NODE: IGNORE ME
+The adjustments of the previous subsections (@ref{Changing context
+properties on the fly}, @ref{Modifying context plug-ins}, and
+@ref{Layout tunings within contexts}) can also be entered separately
+from the music in the @code{\layout} block,
+
+@example
+\layout @{
+  @dots{}
+  \context @{
+    \Staff
+
+    \set fontSize = #-2
+    \override Stem #'thickness = #4.0
+    \remove "Time_signature_engraver"
+  @}
+@}
+@end example
+
+The @code{\Staff} command brings in the existing definition of the
+staff context so that it can be modified.
+
+The statements
+@example
+\set fontSize = #-2
+\override Stem #'thickness = #4.0
+\remove "Time_signature_engraver"
+@end example
+
+@noindent
+affect all staves in the score.  Other contexts can be modified
+analogously.
+
+The @code{\set} keyword is optional within the @code{\layout} block, so
+
+@example
+\context @{
+  @dots{}
+  fontSize = #-2
+@}
+@end example
+
+@noindent
+will also work.
+
+
+
+@refbugs
+
+It is not possible to collect context changes in a variable and apply
+them to a @code{\context} definition by referring to that variable.
+
+The @code{\RemoveEmptyStaffContext} will overwrite your current
+@code{\Staff} settings.  If you wish to change the defaults for a
+staff which uses @code{\RemoveEmptyStaffContext}, you must do so
+after calling @code{\RemoveemptyStaffContext}, ie
+
+@example
+\layout @{
+  \context @{
+    \RemoveEmptyStaffContext
+
+    \override Stem #'thickness = #4.0
+  @}
+@}
+@end example
+
 
 @node Defining new contexts
 @subsection Defining new contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Specific contexts, like @context{Staff} and @code{Voice}, are made of
+simple building blocks.  It is possible to create new types of
+contexts with different combinations of engraver plug-ins.
+
+The next example shows how to build a different type of
+@context{Voice} context from scratch.  It will be similar to
+@code{Voice}, but only prints centered slash noteheads.  It can be used
+to indicate improvisation in jazz pieces,
+
+@lilypond[quote,ragged-right]
+\layout { \context {
+  \name ImproVoice
+  \type "Engraver_group"
+  \consists "Note_heads_engraver"
+  \consists "Text_engraver"
+  \consists Pitch_squash_engraver
+  squashedPosition = #0
+  \override NoteHead #'style = #'slash
+  \override Stem #'transparent = ##t
+  \alias Voice
+}
+\context { \Staff
+  \accepts "ImproVoice"
+}}
+
+\relative c'' {
+  a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
+   c4 c^"undress" c_"while playing :)" c }
+  a1
+}
+@end lilypond
+
+
+These settings are defined within a @code{\context} block inside a
+@code{\layout} block,
+
+@example
+\layout @{
+  \context @{
+    @dots{}
+  @}
+@}
+@end example
+
+In the following discussion, the example input shown should go in place
+of the @dots{} in the previous fragment.
+
+First it is necessary to define a name for the new context:
+
+@example
+\name ImproVoice
+@end example
+
+Since it is similar to the @context{Voice}, we want commands that work
+on (existing) @context{Voice}s to remain working.  This is achieved by
+giving the new context an alias @context{Voice},
+
+@example
+\alias Voice
+@end example
+
+The context will print notes and instructive texts, so we need to add
+the engravers which provide this functionality,
+
+@example
+\consists Note_heads_engraver
+\consists Text_engraver
+@end example
+
+but we only need this on the center line,
+
+@example
+\consists Pitch_squash_engraver
+squashedPosition = #0
+@end example
+
+The @internalsref{Pitch_squash_engraver} modifies note heads (created
+by @internalsref{Note_heads_engraver}) and sets their vertical
+position to the value of @code{squashedPosition}, in this case@tie{}@code{0},
+the center line.
+
+The notes look like a slash, and have no stem,
+
+@example
+\override NoteHead #'style = #'slash
+\override Stem #'transparent = ##t
+@end example
+
+All these plug-ins have to cooperate, and this is achieved with a
+special plug-in, which must be marked with the keyword @code{\type}.
+This should always be @internalsref{Engraver_group},
+
+@example
+\type "Engraver_group"
+@end example
+
+Put together, we get
+
+@example
+\context @{
+  \name ImproVoice
+  \type "Engraver_group"
+  \consists "Note_heads_engraver"
+  \consists "Text_engraver"
+  \consists Pitch_squash_engraver
+  squashedPosition = #0
+  \override NoteHead #'style = #'slash
+  \override Stem #'transparent = ##t
+  \alias Voice
+@}
+@end example
+
+@funindex \accepts
+Contexts form hierarchies.  We want to hang the @context{ImproVoice}
+under @context{Staff}, just like normal @code{Voice}s.  Therefore, we
+modify the @code{Staff} definition with the @code{\accepts}
+command,
+
+@example
+\context @{
+  \Staff
+  \accepts ImproVoice
+@}
+@end example
+
+@funindex \denies
+The opposite of @code{\accepts} is @code{\denies},
+which is sometimes needed when reusing existing context definitions.
+
+Putting both into a @code{\layout} block, like
+
+@example
+\layout @{
+  \context @{
+    \name ImproVoice
+    @dots{}
+  @}
+  \context @{
+    \Staff
+    \accepts "ImproVoice"
+  @}
+@}
+@end example
+
+Then the output at the start of this subsection can be entered as
+
+@example
+\relative c'' @{
+  a4 d8 bes8
+  \new ImproVoice @{
+    c4^"ad lib" c
+    c4 c^"undress"
+    c c_"while playing :)"
+  @}
+  a1
+@}
+@end example
+
 
 @node Aligning contexts
 @subsection Aligning contexts
 
-UNTRANSLATED NODE: IGNORE ME
+New contexts may be aligned above or below exisiting contexts.  This
+could be useful in setting up a vocal staff (@ref{Vocal ensembles}) and
+in ossia,
+
+@cindex ossia
+@findex alignAboveContext
+@findex alignBelowContext
+
+@lilypond[quote,ragged-right]
+ossia = { f4 f f f }
+\score{
+  \relative c' \new Staff = "main" {
+    c4 c c c
+    <<
+      \new Staff \with {alignAboveContext=main} \ossia
+      { d8 f d f d f d f }
+    >>
+  }
+}
+@end lilypond
+
 
 @node Vertical grouping of grobs
 @subsection Vertical grouping of grobs
 
-UNTRANSLATED NODE: IGNORE ME
+The VerticalAlignment and VerticalAxisGroup grobs work together.
+VerticalAxisGroup groups together different grobs like Staff, Lyrics,
+etc. VerticalAlignment then vertically aligns the different grobs
+grouped together by VerticalAxisGroup. There is usually only one
+VerticalAlignment per score but every Staff, Lyrics, etc. has its own
+VerticalAxisGroup. 
+
 
 @node The \override command
 @section The @code{\override} command
 
-UNTRANSLATED NODE: IGNORE ME
-
-@menu 
-* Constructing a tweak::
-* Navigating the program reference::
-* Layout interfaces::
-* Determining the grob property::
-* Objects connected to the input::
-* Using Scheme code instead of \tweak::
-* \set versus \override::
-* Difficult tweaks::
-@end menu 
+In the previous section, we have already touched on a command that
+changes layout details: the @code{\override} command.  In this section,
+we will look in more detail at how to use the command in practice.  The
+general syntax of this command is:
+
+@example
+\override @var{context}.@var{layout_object} #'@var{layout_property} = #@var{value}
+@end example
+
+This will set the @var{layout_property} of the specified @var{layout_object},
+which is a member of the @var{context}, to the @var{value}.
+
+@menu
+* Constructing a tweak::        
+* Navigating the program reference::  
+* Layout interfaces::           
+* Determining the grob property::  
+* Objects connected to the input::  
+* Using Scheme code instead of \tweak::  
+* \set versus \override::       
+* Difficult tweaks::            
+@end menu
+
+
+
 @node Constructing a tweak
 @subsection Constructing a tweak
 
-UNTRANSLATED NODE: IGNORE ME
+Commands which change output generally look like
+
+@example
+\override Voice.Stem #'thickness = #3.0
+@end example
+
+@noindent
+To construct this tweak we must determine these bits of information:
+
+@itemize
+@item the context: here @context{Voice}.
+@item the layout object: here @code{Stem}.
+@item the layout property: here @code{thickness}.
+@item a sensible value: here @code{3.0}.
+@end itemize
+
+Some tweakable options are called @q{subproperties} and reside inside
+properties.  To tweak those, use commands in the form
+
+@example
+\override Stem #'details #'beamed-lengths = #'(4 4 3)
+@end example
+
+@cindex internal documentation
+@cindex finding graphical objects
+@cindex graphical object descriptions
+@cindex tweaking
+@funindex \override
+@cindex internal documentation
+
+For many properties, regardless of the data type of the property, setting the
+property to false ( @code{##f} ) will result in turning it off, causing
+Lilypond to ignore that property entirely.  This is particularly useful for
+turning off grob properties which may otherwise be causing problems.
+
+We demonstrate how to glean this information from the notation manual
+and the program reference.
+
+
+
 
 @node Navigating the program reference
 @subsection Navigating the program reference
 
-UNTRANSLATED NODE: IGNORE ME
+Suppose we want to move the fingering indication in the fragment
+below:
+
+@lilypond[quote,fragment,relative=2,verbatim]
+c-2
+\stemUp
+f
+@end lilypond
+
+If you visit the documentation on fingering instructions (in
+@ref{Fingering instructions}), you will notice:
+
+@quotation
+@seealso
+
+Program reference: @internalsref{Fingering}.
+
+@end quotation
+
+
+@c  outdated info; probably will delete.
+@ignore
+This fragment points to two parts of the program reference: a page
+on @code{FingerEvent} and one on @code{Fingering}.
+
+The page on @code{FingerEvent} describes the properties of the music
+expression for the input @code{-2}.  The page contains many links
+forward.  For example, it says
+
+@quotation
+Accepted by: @internalsref{Fingering_engraver},
+@end quotation
+
+@noindent
+That link brings us to the documentation for the Engraver, the
+plug-in, which says
+
+@quotation
+This engraver creates the following layout objects: @internalsref{Fingering}.
+@end quotation
+
+In other words, once the @code{FingerEvent}s are interpreted, the
+@code{Fingering_engraver} plug-in will process them.
+@end ignore
+
+@ignore
+@c  I can't figure out what this is supposed to mean.  -gp
+
+The @code{Fingering_engraver} is also listed to create
+@internalsref{Fingering} objects,
+
+@c  old info?  it doesn't make any sense to me with our current docs.
+This is also the
+second bit of information listed under @b{See also} in the Notation
+manual.
+@end ignore
+
+@ifnothtml
+The programmer's reference is available as an HTML document.  It is
+highly recommended that you read it in HTML form, either online or
+by downloading the HTML documentation.  This section will be much more
+difficult to understand if you are using the 
+PDF manual.
+@end ifnothtml
+
+Follow the link to @internalsref{Fingering}.  At the top of the
+page, you will see
+
+@quotation
+Fingering objects are created by: @internalsref{Fingering_engraver} and
+@internalsref{New_fingering_engraver}.
+@end quotation
+
+By following related links inside the program reference, we can follow the
+flow of information within the program:
+
+@itemize @bullet
+
+@item @internalsref{Fingering}:
+@internalsref{Fingering} objects are created by:
+@internalsref{Fingering_engraver}
+
+@item @internalsref{Fingering_engraver}:
+Music types accepted: @internalsref{fingering-event}
+
+@item @internalsref{fingering-event}:
+Music event type @code{fingering-event} is in Music expressions named
+@internalsref{FingerEvent}
+@end itemize
+
+This path goes against the flow of information in the program: it
+starts from the output, and ends at the input event.  You could
+also start at an input event, and read with the flow of
+information, eventually ending up at the output object(s).
+
+The program reference can also be browsed like a normal document.  It
+contains chapters on
+@ifhtml
+@internalsref{Music definitions},
+@end ifhtml
+@ifnothtml
+@code{Music definitions}
+@end ifnothtml
+on @internalsref{Translation}, and the @internalsref{Backend}.  Every
+chapter lists all the definitions used and all properties that may be
+tuned.
+
 
 @node Layout interfaces
 @subsection Layout interfaces
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex interface, layout
+@cindex layout interface
+@cindex grob
+
+The HTML page that we found in the previous section describes the
+layout object called @internalsref{Fingering}.  Such an object is a
+symbol within the score.  It has properties that store numbers (like
+thicknesses and directions), but also pointers to related objects.  A
+layout object is also called a @emph{Grob}, which is short for Graphical
+Object.  For more details about Grobs, see @internalsref{grob-interface}.
+
+The page for @code{Fingering} lists the definitions for the
+@code{Fingering} object.  For example, the page says
+
+@quotation
+@code{padding} (dimension, in staff space):
+
+@code{0.5}
+@end quotation
+
+@noindent
+which means that the number will be kept at a distance of at least 0.5
+of the note head.
+
+
+Each layout object may have several functions as a notational or
+typographical element.  For example, the Fingering object
+has the following aspects
+
+@itemize @bullet
+@item
+Its size is independent of the horizontal spacing, unlike slurs or beams.
+
+@item
+It is a piece of text.  Granted, it is usually a very short text.
+
+@item
+That piece of text is typeset with a font, unlike slurs or beams.
+
+@item
+Horizontally, the center of the symbol should be aligned to the
+center of the notehead.
+
+@item
+Vertically, the symbol is placed next to the note and the staff.
+
+@item
+The vertical position is also coordinated with other superscript
+and subscript symbols.
+@end itemize
+
+Each of these aspects is captured in so-called @emph{interface}s,
+which are listed on the @internalsref{Fingering} page at the bottom
+
+@quotation
+This object supports the following interfaces:
+@internalsref{item-interface},
+@internalsref{self-alignment-interface},
+@internalsref{side-position-interface}, @internalsref{text-interface},
+@internalsref{text-script-interface}, @internalsref{font-interface},
+@internalsref{finger-interface}, and @internalsref{grob-interface}.
+@end quotation
+
+Clicking any of the links will take you to the page of the respective
+object interface.  Each interface has a number of properties.  Some of
+them are not user-serviceable (@q{Internal properties}), but others
+can be modified.
+
+We have been talking of @emph{the} @code{Fingering} object, but actually it
+does not amount to much.  The initialization file (see
+@ref{Default files})
+@file{scm/@/define@/-grobs@/.scm} shows the soul of the @q{object},
+
+@example
+(Fingering
+  . ((padding . 0.5)
+     (avoid-slur . around)
+     (slur-padding . 0.2)
+     (staff-padding . 0.5)
+     (self-alignment-X . 0)
+     (self-alignment-Y . 0)
+     (script-priority . 100)
+     (stencil . ,ly:text-interface::print)
+     (direction . ,ly:script-interface::calc-direction)
+     (font-encoding . fetaNumber)
+     (font-size . -5)          ; don't overlap when next to heads.
+     (meta . ((class . Item)
+     (interfaces . (finger-interface
+                    font-interface
+                    text-script-interface
+                    text-interface
+                    side-position-interface
+                    self-alignment-interface
+                    item-interface))))))
+@end example
+
+@noindent
+As you can see, the @code{Fingering} object is nothing more than a
+bunch of variable settings, and the webpage in the Program Reference
+is directly generated from this definition.
+
 
 @node Determining the grob property
 @subsection Determining the grob property
 
-UNTRANSLATED NODE: IGNORE ME
+Recall that we wanted to change the position of the @b{2} in
+
+@lilypond[quote,fragment,relative=2,verbatim]
+c-2
+\stemUp
+f
+@end lilypond
+
+Since the @b{2} is vertically positioned next to its note, we have to
+meddle with the interface associated with this positioning.  This is
+done using @code{side-position-interface}.  The page for this interface
+says
+
+@quotation
+@code{side-position-interface}
+
+Position a victim object (this one) next to other objects (the
+support).  The property @code{direction} signifies where to put the
+victim object relative to the support (left or right, up or down?)
+@end quotation
+
+@cindex padding
+@noindent
+Below this description, the variable @code{padding} is described as
+
+@quotation
+@table @code
+@item padding
+(dimension, in staff space)
+
+Add this much extra space between objects that are next to each other.
+@end table
+@end quotation
+
+By increasing the value of @code{padding}, we can move the
+fingering away from the notehead.  The following command inserts
+3 staff spaces of white
+between the note and the fingering:
+@example
+\once \override Voice.Fingering #'padding = #3
+@end example
+
+Inserting this command before the Fingering object is created,
+i.e., before @code{c2}, yields the following result:
+
+@lilypond[quote,relative=2,fragment,verbatim]
+\once \override Voice.Fingering #'padding = #3
+c-2
+\stemUp
+f
+@end lilypond
+
+
+In this case, the context for this tweak is @context{Voice}.  This
+fact can also be deduced from the program reference, for the page for
+the @internalsref{Fingering_engraver} plug-in says
+
+@quotation
+Fingering_engraver is part of contexts: @dots{} @internalsref{Voice}
+@end quotation
+
 
 @node Objects connected to the input
 @subsection Objects connected to the input
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex \tweak
+
+In some cases, it is possible to take a short-cut for tuning graphical
+objects.  For objects that result directly from a piece of the input,
+you can use the @code{\tweak} function, for example
+
+@lilypond[relative=2,fragment,verbatim,ragged-right]
+<
+  c
+  \tweak #'color #red d
+  g
+  \tweak #'duration-log #1  a
+>4-\tweak #'padding #10 -.
+@end lilypond
+
+As you can see, properties are set in the objects directly,
+without mentioning the grob name or context where this should be
+applied.
+
+This technique only works for objects that are directly connected to
+an @internalsref{event} from the input, for example
+
+@itemize @bullet
+@item note heads, caused by chord-pitch (i.e., notes inside a chord)
+@item articulation signs, caused by articulation instructions
+@end itemize
+
+It notably does not work for stems and accidentals (these are caused
+by note heads, not by music events) or clefs (these are not caused by
+music inputs, but rather by the change of a property value).
+
+There are very few objects which are @emph{directly} connected to
+output.  A normal note (like @code{c4}) is not directly connected
+to output, so
+
+@example
+\tweak #'color #red c4
+@end example
+
+@noindent
+does not change color.  See @ref{Displaying music expressions}, for
+details.
+
 
 @node Using Scheme code instead of \tweak
 @subsection Using Scheme code instead of @code{\tweak}
 
-UNTRANSLATED NODE: IGNORE ME
+The main disadvantage of @code{\tweak} is its syntactical
+inflexibility.  For example, the following produces a syntax error.
+
+@example
+F = \tweak #'font-size #-3 -\flageolet
+
+\relative c'' @{
+  c4^\F c4_\F
+@}
+@end example
+
+@noindent
+With other words, @code{\tweak} doesn't behave like an articulation
+regarding the syntax; in particular, it can't be attached with
+@samp{^} and @samp{_}.
+
+Using Scheme, this problem can be circumvented.  The route to the
+result is given in @ref{Adding articulation to notes (example)},
+especially how to use @code{\displayMusic} as a helping guide.
+
+@example
+F = #(let ((m (make-music 'ArticulationEvent
+                          'articulation-type "flageolet")))
+       (set! (ly:music-property m 'tweaks)
+             (acons 'font-size -3
+                    (ly:music-property m 'tweaks)))
+       m)
+\relative c'' @{
+  c4^\F c4_\F
+@}
+@end example
+
+@noindent
+Here, the @code{tweaks} properties of the flageolet object
+@samp{m} (created with @code{make-music}) are extracted with
+@code{ly:music-property}, a new key-value pair to change the
+font size is prepended to the property list with the
+@code{acons} Scheme function, and the result is finally
+written back with @code{set!}.  The last element of the
+@code{let} block is the return value, @samp{m} itself.
+
 
 @node \set versus \override
 @subsection @code{\set} vs. @code{\override}
 
-UNTRANSLATED NODE: IGNORE ME
+We have seen two methods of changing properties: @code{\set} and
+@code{\override}.  There are actually two different kinds of
+properties.
+
+Contexts can have properties, which are usually named in
+@code{studlyCaps}.  They mostly control the translation from
+music to notatino, eg. @code{localKeySignature} (for determining
+whether to print accidentals), @code{measurePosition} (for
+determining when to print a barline).  Context properties can
+change value over time while interpreting a piece of music;
+@code{measurePosition} is an obvious example of
+this.  Context properties are modified with @code{\set}.
+
+There is a special type of context property: the element
+description. These properties are named in @code{StudlyCaps}
+(starting with capital letters).  They contain the
+@q{default settings} for said graphical object as an
+association list.  See @file{scm/@/define@/-grobs@/.scm}
+to see what kind of settings there are.  Element descriptions
+may be modified with @code{\override}.
+
+@code{\override} is actually a shorthand;
+
+@example
+\override @var{context}.@var{name} #'@var{property} = #@var{value}
+@end example
+
+@noindent
+is more or less equivalent to
+
+@c  leave this long line -gp
+@example
+\set @var{context}.@var{name} #'@var{property} = #(cons (cons '@var{property} @var{value}) <previous value of @var{context})
+@end example
+
+The value of @code{context} (the alist) is used to initalize
+the properties of individual grobs.  Grobs also have
+properties, named in Scheme style, with
+@code{dashed-words}.  The values of grob properties change
+during the formatting process: formatting basically amounts
+to computing properties using callback functions.
+
+@code{fontSize} is a special property: it is equivalent to
+entering @code{\override ... #'font-size} for all pertinent
+objects.  Since this is a common change, the special
+property (modified with @code{\set}) was created.
+
 
 @node Difficult tweaks
 @subsection Difficult tweaks
 
-UNTRANSLATED NODE: IGNORE ME
+There are a few classes of difficult adjustments.
+
+@itemize @bullet
+
+
+@item
+One type of difficult adjustment is the appearance of spanner objects,
+such as slur and tie.  Initially, only one of these objects is created,
+and they can be adjusted with the normal mechanism.  However, in some
+cases the spanners cross line breaks.  If this happens, these objects
+are cloned.  A separate object is created for every system that it is
+in.  These are clones of the original object and inherit all
+properties, including @code{\override}s.
+
+
+In other words, an @code{\override} always affects all pieces of a
+broken spanner.  To change only one part of a spanner at a line break,
+it is necessary to hook into the formatting process.  The
+@code{after-line-breaking} callback contains the Scheme procedure that
+is called after the line breaks have been determined, and layout
+objects have been split over different systems.
+
+In the following example, we define a procedure
+@code{my-callback}.  This procedure
+
+@itemize @bullet
+@item
+determines if we have been split across line breaks
+@item
+if yes, retrieves all the split objects
+@item
+checks if we are the last of the split objects
+@item
+if yes, it sets @code{extra-offset}.
+@end itemize
+
+This procedure is installed into @internalsref{Tie}, so the last part
+of the broken tie is translated up.
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (my-callback grob)
+  (let* (
+         ; have we been split?
+         (orig (ly:grob-original grob))
+
+         ; if yes, get the split pieces (our siblings)
+         (siblings (if (ly:grob? orig)
+                     (ly:spanner-broken-into orig) '() )))
+
+   (if (and (>= (length siblings) 2)
+             (eq? (car (last-pair siblings)) grob))
+     (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
+
+\relative c'' {
+  \override Tie #'after-line-breaking =
+  #my-callback
+  c1 ~ \break c2 ~ c
+}
+@end lilypond
+
+@noindent
+When applying this trick, the new @code{after-line-breaking} callback
+should also call the old one @code{after-line-breaking}, if there is
+one.  For example, if using this with @code{Hairpin},
+@code{ly:hairpin::after-line-breaking} should also be called.
+
+
+@item Some objects cannot be changed with @code{\override} for
+technical reasons.  Examples of those are @code{NonMusicalPaperColumn}
+and @code{PaperColumn}.  They can be changed with the
+@code{\overrideProperty} function, which works similar to @code{\once
+\override}, but uses a different syntax.
+
+@example
+\overrideProperty
+#"Score.NonMusicalPaperColumn"  % Grob name
+#'line-break-system-details     % Property name
+#'((next-padding . 20))         % Value
+@end example
 
+Note, however, that @code{\override}, applied to
+@code{NoteMusicalPaperColumn} and @code{PaperColumn}, still works as
+expected within @code{\context} blocks.
 
--- SKELETON FILE --
-When you actually translate this file, please remove these lines as
-well as all `UNTRANSLATED NODE: IGNORE ME' lines.
+@end itemize
index e1eb5676c2aa7beaebd7bbf5071109c0bc52e3e2..ec47b97a7c11cb06de2f5f5f9d3fe6a5cec801a4 100644 (file)
@@ -1588,7 +1588,7 @@ msgstr "Überblick über Textbeschriftungsbefehle"
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
 msgid "Overview of text markup list commands"
-msgstr "Überblick über Textbeschriftungslistenbefehle"
+msgstr "Überblick über Textbeschriftungsbefehle für Listen"
 
 #. @node in ../../../Documentation/user/advanced-notation.itely
 #. @subsection in ../../../Documentation/user/advanced-notation.itely
index a04b0c67cc95456f4284b8df39e6d632a43964df..8366970f1f8b52376de0e42af1b78013bf6dd708 100644 (file)
@@ -49,7 +49,7 @@ LINKED_PNGS = henle-flat-gray.png baer-flat-gray.png lily-flat-bw.png
 # symlinking lily-*...
 $(outdir)/user-ln: $(top-build-dir)/Documentation/user/$(outdir)
        touch -mr $(top-build-dir)/Documentation/user/$(outdir) $@
-       $(PYTHON) $(buildscript-dir)/mass-link.py symbolic $(top-build-dir)/Documentation/user/$(outdir) $(outdir) 'lily-*.pdf' 'lily-*.tex' 'lily-*.texi' 'lily-*.ly' 'lily-*.txt' 'lily-*.png' 'henle-flat-gray.*' 'baer-flat-gray.*' 'lily-flat-bw.*'
+       $(PYTHON) $(buildscript-dir)/mass-link.py symbolic $(top-build-dir)/Documentation/user/$(outdir) $(outdir) 'lily-*.pdf' 'lily-*.tex' 'lily-*.texi' 'lily-*.ly' 'lily-*.txt' 'lily-*.png' 'henle-flat-gray.*' 'baer-flat-gray.*' 'lily-flat-bw.*' 'context-example.*'
        mkdir -p $(outdir)/lilypond
        cd $(outdir)/lilypond && $(foreach i, $(LINKED_PNGS), ln -sf ../../$(depth)/Documentation/user/$(i) $(i) &&) true