]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/learning/tweaks.itely
Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation
[lilypond.git] / Documentation / fr / learning / tweaks.itely
index 016b5c431a6acf89c4119fb423443f7318091323..cf8aa9ef60e70c4cfeadae28cf19f8d8b2022c2e 100644 (file)
@@ -1,13 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
 @ignore
-    Translation of GIT committish: 2a87f1e1f98b76751482cae4474d41aa5e38e37b
+    Translation of GIT committish: 1d859642df3a961f6675a70387069cbaa56d8ce9
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.19.22"
 
 @c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
 @c Translation checkers: Jean-Charles Malahieude, John Mandereau
@@ -26,6 +27,7 @@ théoriquement de modifier chaque élément de votre partition.
 * Le manuel de référence des propriétés internes::
 * Apparence des objets::
 * Positionnement des objets::
+* Espacement vertical::
 * Collisions d'objets::
 * Autres retouches::
 @end menu
@@ -47,7 +49,7 @@ théoriquement de modifier chaque élément de votre partition.
 @subsection Introduction aux retouches
 @translationof Introduction to tweaks
 
-LilyPond regroupe sous le terme de @qq{retouches} (@emph{tweaks} en
+LilyPond regroupe sous le terme de « retouches » (@emph{tweaks} en
 anglais) les différents moyens dont dispose l'utilisateur pour
 intervenir sur l'interprétation du fichier d'entrée et pour modifier
 l'apparence du fichier de sortie.  Certaines retouches sont très
@@ -58,10 +60,10 @@ de musique imprimée.
 Dans ce chapitre, nous traitons des concepts de base nécessaires
 pour comprendre l'art de la retouche.  Puis nous présentons de
 nombreuses commandes déjà prêtes, qu'il suffit de recopier pour
-obtenir un résultat identique dans vos partitions ; nous en
-profitons pour expliquer comment ces commandes ont été construites, si
-bien que vous pouvez apprendre par la même occasion à développer
-vos propres retouches.
+obtenir un résultat identique dans vos partitions ; nous en profitons
+pour expliquer comment ces commandes ont été construites, si bien que
+vous pouvez apprendre par la même occasion à développer vos propres
+retouches.
 
 Avant de vous lancer dans ce chapitre, il peut être utile de revoir la
 section @ref{Contextes et graveurs}, dans la mesure où les contextes,
@@ -88,30 +90,29 @@ et les structures du programme LilyPond.  Nous allons donc, pour
 commencer, présenter certains termes qui servent à décrire ces
 opérations internes et ces structures.
 
-Le terme @qq{Objet} est un terme générique qui fait référence à
+Le terme « Objet » est un terme générique qui fait référence à
 une multitude de structures internes mises en place par LilyPond
 durant la compilation d'un fichier d'entrée.  Ainsi, quand une
-commande du type @code{\new Staff} apparaît, un nouvel objet
-du type @code{Staff} est créé.  Cet objet @code{Staff} contient
-alors toutes les propriétés associées à cette portée, par exemple son
-nom et son armure, ainsi que le détail des graveurs qui ont été
-désignés pour fonctionner dans ce contexte de portée.
-Certains objets peuvent contenir les propriétés de tous les autres
-contextes, comme les objets @code{Voice}, les objets @code{Score},
-les objets @code{Lyrics} ; d'autres se rapportent à tous les
-éléments de notation, comme les barres de mesure, les liaisons, les
-nuances, etc. Chaque objet dispose de son propre échantillon de valeurs
-pour le réglage des propriétés.
+commande du type @code{\new Staff} apparaît, un nouvel objet du type
+@code{Staff} est créé.  Cet objet @code{Staff} contient alors toutes les
+propriétés associées à cette portée, par exemple son nom et son armure,
+ainsi que le détail des graveurs qui ont été désignés pour fonctionner
+dans ce contexte de portée.  Certains objets peuvent contenir les
+propriétés de tous les autres contextes, comme les objets @code{Voice},
+les objets @code{Score}, les objets @code{Lyrics} ; d'autres se
+rapportent à tous les éléments de notation, comme les barres de mesure,
+les liaisons, les nuances, etc.  Chaque objet dispose de son propre
+échantillon de valeurs pour le réglage des propriétés.
 
 Certains types d'objet portent des noms spécifiques.  Les objets qui se
 rapportent à des éléments de notation sur le fichier de sortie, comme
 les notes, les hampes, les liaisons de phrasé ou de prolongation, les
-doigtés, les clefs, etc. sont appelés @qq{Objets de rendu} ; ils
-sont aussi connus sous le nom d'@qq{Objets graphiques} (en
-anglais : @emph{Graphical objects} ou @emph{Grobs} pour faire
-court).  Ce sont bien des objets au sens générique ci-dessus et, en
-tant que tels, ils reçoivent des propriétés qui leur sont associées,
-comme leur position, leur taille, leur couleur etc.
+doigtés, les clefs, etc. sont appelés « Objets de rendu » ; ils sont
+aussi connus sous le nom « d'Objets graphiques » (en anglais :
+@emph{Graphical objects} ou @emph{Grobs} pour faire court).  Ce sont
+bien des objets au sens générique ci-dessus et, en tant que tels, ils
+reçoivent des propriétés qui leur sont associées, comme leur position,
+leur taille, leur couleur, etc.
 
 Certains objets de rendu, comme les liaisons de phrasé, les soufflets
 de crescendo, les marques d'octaviation et beaucoup d'autres
@@ -121,10 +122,18 @@ unique endroit -- ils ont un point de départ, un point d'arrivée, et
 avec une forme étendue sont appelés des bandeaux (@emph{Spanners} en
 anglais).
 
-Il reste à expliquer ce que sont les @qq{interfaces}.  De nombreux
+De plus existent certains @emph{grobs} que l'on peut qualifier
+« d'astraits ».  Ils n'ont pas pour fonction intrinsèque d'imprimer
+quelque chose, mais plutôt de collecter, positionner et gérer d'autres
+objets.  Citons, parmi les plus courants, @code{DynamicLineSpanner},
+@code{BreakAlignment}, @code{NoteColumn}, @code{VerticalAxisGroup},
+@code{NonMusicalPaperColumn}.  Nous verrons plus avant comment les
+utiliser.
+
+Il reste à expliquer ce que sont les « interfaces ».  De nombreux
 objets, qui peuvent être très différents les uns des autres, ont pour
 point commun de devoir être compilés simultanément.  Par exemple, tous
-les @emph{grobs} ont une couleur, une taille, une position etc., et
+les @emph{grobs} ont une couleur, une taille, une position, etc. et
 toutes ces propriétés sont compilées simultanément durant
 l'interprétation du fichier d'entrée par LilyPond.  Pour alléger ces
 opérations internes, ces actions et propriétés communes sont regroupées
@@ -147,14 +156,14 @@ que nous serons amenés à utiliser dans ce chapitre.
 @cindex objets, conventions de nommage
 @cindex propriétés, conventions de nommage
 
-Nous avons eu un aperçu, dans @ref{Contextes et graveurs}, de
-la façon de nommer les objets.  Voici maintenant une liste de
-référence des types d'objets et de propriétés les plus courants,
-avec leurs conventions de nommage et quelques exemples
-de cas concrets.  La lettre @var{A} représente n'importe quel
-caractère alphabétique majuscule, et les lettres @var{aaa}
-un nombre indéterminé de caractères alphabétiques minuscules.
-Les autres caractères sont à prendre tels qu'ils se présentent.
+Nous avons eu un aperçu, dans @ref{Contextes et graveurs}, de la façon
+de nommer les objets.  Voici maintenant une liste de référence des types
+d'objets et de propriétés les plus courants, avec leurs conventions de
+nommage et quelques exemples de cas concrets.  La lettre @var{A}
+représente n'importe quel caractère alphabétique majuscule, et les
+lettres @var{aaa} un nombre indéterminé de caractères alphabétiques
+minuscules. Les autres caractères sont à prendre tels qu'ils se
+présentent.
 
 @multitable @columnfractions .33 .33 .33
 @headitem Type d'objet/propriété
@@ -180,10 +189,10 @@ Les autres caractères sont à prendre tels qu'ils se présentent.
   @tab direction, beam-thickness
 @end multitable
 
-Comme nous le verrons bientôt, les propriétés des différents
-types d'objet sont modifiées par des commandes différentes, si bien
-qu'il est bon de savoir reconnaître le type d'un objet en fonction du
-nom de ses propriétés.
+Comme nous le verrons bientôt, les propriétés des différents types
+d'objet sont modifiées par des commandes différentes, si bien qu'il est
+bon de savoir reconnaître le type d'un objet ou d'une propriété en
+fonction de son nom.
 
 
 @node Méthodes de retouche
@@ -193,7 +202,19 @@ nom de ses propriétés.
 @cindex retouches, méthodologie
 @cindex méthodes de retouche
 
-@strong{La commande \override}
+@menu
+* La commande override::
+* La commande revert::
+* Le préfixe once::
+* La commande overrideProperty::
+* La commande tweak::
+* Le préfixe single::
+@end menu
+
+
+@node La commande override
+@unnumberedsubsubsec La commande @code{@bs{}override}
+@translationof The override command
 
 @cindex override, commande
 @cindex override, syntaxe
@@ -219,7 +240,7 @@ il retourne.
 La syntaxe générale de cette commande est :
 
 @example
-\override @var{Contexte}.@var{ObjetDeRendu} #'@var{propriété-rendu} = #@var{valeur}
+\override @var{Contexte}.@var{ObjetDeRendu}.@var{propriété-rendu} = #@var{valeur}
 @end example
 
 @noindent
@@ -227,12 +248,12 @@ Elle attribue à la propriété appelée @var{propriété-rendu}, associée à
 l'objet @var{ObjetDeRendu}, appartenant lui-même au contexte
 @var{Contexte}, une valeur @var{valeur}.
 
-Le contexte @var{Contexte} peut être omis (c'est généralement
-le cas) quand il n'y a pas d'ambiguïté et qu'il s'agit d'un contexte
-de très bas niveau, comme @code{Voice}, @code{ChordNames}
-ou @code{Lyrics}.  Dans les exemples qui suivent, le contexte sera
-très souvent omis.  Nous verrons plus tard dans quelles
-circonstances il doit impérativement être indiqué.
+Le contexte @var{Contexte} peut être omis (c'est généralement le cas)
+quand il n'y a pas d'ambiguïté et qu'il s'agit d'un contexte de très bas
+niveau, comme @code{Voice}, @code{ChordNames} ou @code{Lyrics}.  Dans les
+exemples qui suivent, le contexte sera très souvent omis. Nous verrons
+plus tard dans quelles circonstances il doit impérativement être
+indiqué.
 
 Les sections ci-dessous traitent largement des propriétés et de leurs
 valeurs -- voir @ref{Types de propriétés} -- mais, pour illustrer la
@@ -240,27 +261,36 @@ mise en forme et l'utilisation de ces commandes, nous nous limiterons à
 n'employer que quelques propriétés et valeurs simples, facilement
 compréhensibles.
 
-Nous ne parlerons dans l'immédiat ni du @code{#'}, qui précède
-toujours la propriété, ni du @code{#}, qui précède toujours la
-valeur.  Ces deux éléments doivent obligatoirement être
-présents sous cette forme.  Voici la commande la plus fréquente
-pour faire des retouches, et pratiquement tout le reste de ce
-chapitre aura pour but montrer, à travers des exemples, comment
-l'utiliser.  L'exemple ci-dessous change la couleur des têtes de
-notes :
+Lilypond reconnaît comme expression primaire les éléments musicaux tels
+que les notes, durées et annotations (les @emph{markups}).  D'autres
+expressions de base comme les nombres, chaînes de caractères et listes
+sont gérées en « mode Scheme », mode appelé en faisant précéder une
+valeur par un @samp{#}.  Bien que certaines valeurs puissent disposer
+d'une représentation tout à fait valide dans le mode musical de
+LilyPond, les exemples de ce manuel mentionnent un@samp{#} pour plus de
+clarté.  Pour de plus amples informations quant au mode Scheme,
+consultez @rextend{Syntaxe Scheme dans LilyPond}.
+
+La commande @code{\override} est la plus fréquemment utilisée pour faire
+des retouches, et pratiquement tout le reste de ce chapitre aura pour
+but de montrer, à travers des exemples, comment l'utiliser.  L'exemple
+ci-dessous change la couleur des têtes de notes :
 
 @cindex couleur,exemple d'utilisation de la propriété
 @cindex NoteHead, exemple de dérogation
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c4 d
-\override NoteHead #'color = #red
+\override NoteHead.color = #red
 e4 f |
-\override NoteHead #'color = #green
+\override NoteHead.color = #green
 g4 a b c |
 @end lilypond
 
-@strong{La commande \revert}
+
+@node La commande revert
+@unnumberedsubsubsec La commande @code{@bs{}revert}
+@translationof The revert command
 
 @cindex revert, commande
 
@@ -269,35 +299,38 @@ g4 a b c |
 
 Une fois qu'elle a été modifiée, la propriété conserve sa nouvelle
 valeur jusqu'à ce qu'elle soit à nouveau modifiée ou qu'elle rencontre
-la commande @code{\revert}.  La commande @code{\revert} obéit à
-la syntaxe ci-dessous et ramène la valeur de la propriété à sa valeur
-d'origine.  Attention : dans le cas où plusieurs @code{\override}
-ont été employés, il ne s'agit pas de la valeur précédente mais bien de
-la valeur par défaut.
+la commande @code{\revert}.  La commande @code{\revert} obéit à la
+syntaxe ci-dessous et ramène la valeur de la propriété à sa valeur
+d'origine.  Attention : dans le cas où plusieurs @code{\override} ont
+été employés, il ne s'agit pas de la valeur précédente mais bien de la
+valeur par défaut.
 
 @example
-\revert @var{Contexte}.@var{ObjetDeRendu} #'@var{propriété-de-rendu}
+\revert @var{Contexte}.@var{ObjetDeRendu}.@var{propriété-de-rendu}
 @end example
 
 Tout comme pour la commande @code{\override}, la mention du
 @var{Contexte} est souvent facultative.  Elle sera omise dans de
-nombreux exemples ci-dessous.  Voici un exemple qui ramène la
-couleur des deux dernières notes à leur valeur par défaut :
+nombreux exemples ci-dessous.  Voici un exemple qui ramène la couleur
+des deux dernières notes à leur valeur par défaut :
 
 @cindex couleur,exemple d'utilisation de la propriété
 @cindex NoteHead, exemple de dérogation
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
 c4 d
-\override NoteHead #'color = #red
+\override NoteHead.color = #red
 e4 f |
-\override NoteHead #'color = #green
+\override NoteHead.color = #green
 g4 a
-\revert NoteHead #'color
+\revert NoteHead.color
 b4 c |
 @end lilypond
 
-@strong{Le préfixe \once}
+
+@node Le préfixe once
+@unnumberedsubsubsec Le préfixe @code{@bs{}once}
+@translationof The once prefix
 
 @funindex \once
 @funindex once
@@ -316,15 +349,36 @@ d'une seule note :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c4 d
-\override NoteHead #'color = #red
+\override NoteHead.color = #red
 e4 f |
-\once \override NoteHead #'color = #green
+\once \override NoteHead.color = #green
 g4 a
-\revert NoteHead #'color
+\revert NoteHead.color
 b c |
 @end lilypond
 
-@strong{La commande \overrideProperty}
+Le préfixe @code{\once} peut s'utiliser avec de nombreuses
+commandes prédéfinies pour en limiter les effets à un seul instant
+musical :
+
+@lilypond[quote,verbatim,relative=1]
+c4( d)
+\once \slurDashed
+e4( f) |
+g4( a)
+\once \hideNotes
+b( c) |
+@end lilypond
+
+Les commandes prédéfinies de la forme @code{\@dots{}Neutral},
+@code{\@dots{}Off} et @code{\un@dots{}} font appel, en interne, à
+une instruction @code{\revert} plutôt que @code{\override} ; les
+préfixer d'un @code{\once} est donc sans effet.
+
+
+@node La commande overrideProperty
+@unnumberedsubsubsec La commande @code{@bs{}overrideProperty}
+@translationof The overrideProperty command
 
 @cindex overrideProperty, commande
 
@@ -338,7 +392,10 @@ ici par souci d'exhaustivité ; pour le détail, voir
 
 @c Maybe explain in a later iteration  -td
 
-@strong{La commande \tweak}
+
+@node La commande tweak
+@unnumberedsubsubsec La commande @code{@bs{}tweak}
+@translationof The tweak command
 
 @cindex tweak, commande
 
@@ -361,7 +418,7 @@ d'abord ce que donnerait @code{\once \override} :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 <c e g>4
-\once \override NoteHead #'font-size = #-3
+\once \override NoteHead.font-size = #-3
 <c e g>4
 <c e g>4
 @end lilypond
@@ -387,7 +444,7 @@ accord peut être modifiée de cette manière :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 <c e g>4
-<c \tweak #'font-size #-3 e g>4
+<c \tweak font-size #-3 e g>4
 @end lilypond
 
 Vous noterez que la syntaxe de @code{\tweak} est différente de
@@ -399,7 +456,7 @@ pas nécessaire d'insérer un signe égal.  La syntaxe générale
 de la commande @code{\tweak} est donc, tout simplement :
 
 @example
-\tweak #'@var{propriété-de-rendu} #@var{valeur}
+\tweak @var{propriété-de-rendu} #@var{valeur}
 @end example
 
 La commande @code{\tweak} est aussi utilisée quand on veut, dans
@@ -410,8 +467,8 @@ une série d'articulations, n'en modifier qu'une seule.  Ainsi :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 a4^"Black"
-  -\tweak #'color #red ^"Red"
-  -\tweak #'color #green _"Green"
+  -\tweak color #red ^"Red"
+  -\tweak color #green _"Green"
 @end lilypond
 
 @noindent
@@ -430,50 +487,50 @@ explicitement l'objet de rendu, si tant est que LilyPond puisse remonter
 jusqu'à l'événement originel :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-<\tweak Accidental #'color #red   cis4
- \tweak Accidental #'color #green es
+<\tweak Accidental.color #red   cis4
+ \tweak Accidental.color #green es
                                   g>
 @end lilypond
 
 Cette forme développée de la commande @code{\tweak} correspond à :
 @example
-\tweak @var{objet-de-rendu} #'@var{propriété-de-rendu} @var{valeur}
+\tweak @var{objet-de-rendu}.@var{propriété-de-rendu} #@var{valeur}
 @end example
 
-@cindex nolets imbriqués
+@cindex n-olets imbriqués
 @cindex triolets imbriqués
-@cindex crochet de nolet
-@cindex nolet, crochet
+@cindex crochet de n-olet
+@cindex n-olet, crochet
 @cindex triolet, crochet
 
 @funindex TupletBracket
 
-Quand plusieurs nolets sont imbriqués et commencent au même instant
+Quand plusieurs n-olets sont imbriqués et commencent au même instant
 musical, c'est encore la commande @code{\tweak} qui est utilisée pour
 changer l'apparence de l'un d'entre eux.  Dans l'exemple suivant, le
-long crochet de nolet et le premier des trois crochets courts commencent
-au même instant musical ; une commande @code{\override}
-s'appliquerait donc à la fois aux deux.  En revanche, @code{\tweak}
-permet de les dissocier.  La première commande @code{\tweak} indique que
-le long crochet doit être placé au-dessus des notes, et la seconde
-indique que le coefficient de nolet doit être imprimé en rouge sur le
-premier crochet de triolet court.
+long crochet de n-olet et le premier des trois crochets courts commencent
+au même instant musical ; une commande @code{\override} s'appliquerait
+donc à la fois aux deux.  En revanche, @code{\tweak} permet de les
+dissocier.  La première commande @code{\tweak} indique que le long
+crochet doit être placé au-dessus des notes, et la seconde indique que
+le coefficient de n-olet doit être imprimé en rouge sur le premier
+crochet de triolet court.
 
 @cindex @code{\tweak}, exemple
 @cindex direction, exemple d'utilisation de la propriété
 @cindex couleur, exemple d'utilisation de la propriété
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-\tweak #'direction #up
-\times 4/3 {
-  \tweak #'color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+\tweak direction #up
+\tuplet 3/4 {
+  \tweak color #red
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
-Si les nolets imbriqués ne commencent pas au même moment,
+Si les n-olets imbriqués ne commencent pas au même moment,
 leur apparence peut alors être modifiée de la façon habituelle,
 avec la commande @code{\override} :
 
@@ -482,18 +539,15 @@ avec la commande @code{\override} :
 @cindex transparence, exemple d'utilisation de la propriété
 @cindex TupletNumber, exemple de dérogation
 
-@c NOTE Tuplet brackets collide if notes are high on staff
-@c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
-\once \override TupletNumber
-  #'text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 { c8[ c c] }
+\once \override TupletNumber.text = #tuplet-number::calc-fraction-text
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
-  \once \override TupletNumber #'transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \once \override TupletNumber.transparent = ##t
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -502,6 +556,65 @@ Manuel de notation :
 @ruser{La commande d'affinage (@emph{tweak})}.
 
 
+@node Le préfixe single
+@unnumberedsubsubsec Le préfixe @code{@bs{}single}
+@translationof The single prefix
+
+@funindex \single
+@funindex single
+
+@cindex tweak généré par override
+
+Supposons que nous voulions mettre en exergue certaines têtes de note --
+plus grosses et en rouge -- et, pour nous simplifier la vie, que nous
+avons réalisé un fonction à ce effet :
+
+@lilypond[quote,verbatim]
+emphNoteHead = {
+  \override NoteHead.color = #red
+  \override NoteHead.font-size = 2
+}
+\relative {
+  c''4 a \once \emphNoteHead f d |
+}
+@end lilypond
+
+Le préfixe @code{\once} fonctionne à merveille dans le cas d'une note
+isolée ou de l'intégralité d'un accord, mais ne permet pas de souligner
+individuellement l'une des notes d'un accord.  Nous avons vu comment un
+@code{\tweak} permet d'y arriver -- voir @ref{La commande tweak}.  Un
+@code{\tweak} ne peut toutefois pas s'utiliser dans une fonction ; un
+@code{\single} permet d'appliquer la fonction une seule fois :
+
+@lilypond[quote,verbatim]
+emphNoteHead = {
+  \override NoteHead.color = #red
+  \override NoteHead.font-size = 2
+}
+\relative {
+   <c'' a \single \emphNoteHead f d>4
+}
+@end lilypond
+
+En résumé, l'instruction @code{\single} convertit les instructions
+@code{\override} en @code{\tweak} de telle sorte que lorsque plusieurs
+objets se trouvent en un même point du temps musical, comme la tête des
+notes formant un accord, @code{\single} n'en affectera qu'une seule,
+celle générée par l'expression musicale qui vient juste après,
+contrairement à un @code{\once} qui en affectera tous les objets.
+
+Cette utilisation de @code{\single} permet d'appliquer individuellement
+n'importe quel raccourci de fonction contenant des @code{\override} aux
+notes d'un accord.  Néanmoins, l'instruction @code{\single} ne permet
+pas de convertir des @code{\revert}, @code{\set} ou @code{\unset} en
+@code{\tweak}.
+
+@seealso
+Manuel d'initiation :
+@ref{La commande tweak},
+@ref{Utilisation de variables dans les retouches}.
+
+
 @node Le manuel de référence des propriétés internes
 @section Le manuel de référence des propriétés internes
 @translationof The Internals Reference manual
@@ -572,8 +685,8 @@ Prenons un exemple concret tiré d'un morceau de musique connu :
 
 Admettons que nous voulions rendre les traits de liaison plus épais.
 Est-ce possible ?  Une liaison est assurément un objet de rendu, si
-bien que la question est @qq{Existe-t-il une propriété attachée aux
-liaisons et qui en contrôle l'épaisseur ?} Pour y répondre, nous
+bien que la question est « Existe-t-il une propriété attachée aux
+liaisons et qui en contrôle l'épaisseur ? »  Pour y répondre, nous
 consultons la Référence des propriétés internes (ou RPI pour faire
 court).
 
@@ -581,7 +694,7 @@ Vous trouverez sur le site de LilyPond @uref{http://lilypond.org} la
 RPI correspondant à votre version du programme.  Allez sur la page
 Documentation et cliquez sur Référence des propriétés internes.
 Pour l'apprentissage, mieux vaut utiliser la version HTML standard,
-et non la @qq{page unique en anglais} ou le PDF.  Durant la lecture
+et non la « page unique en anglais » ou le PDF.  Durant la lecture
 des prochains paragraphes, il vous est conseillé de vous y reporter
 réellement afin que les explications prennent tout leur sens.
 
@@ -600,10 +713,9 @@ page.  Mais lorsque vous connaissez le nom de l'objet à retoucher, le
 plus simple est de consulter la RPI.
 
 La page de la RPI sur les liaisons commence par préciser que les objets
-Liaison sont créés par le graveur Slur_engraver.  Vient ensuite la liste
-des réglages standard.  Attention : ceux-ci @strong{ne suivent pas}
-l'ordre alphabétique.  Il faut donc les parcourir en entier pour trouver
-la propriété susceptible de contrôler l'épaisseur des traits de liaison.
+« Liaison » sont créés par le graveur Slur_engraver.  Vient ensuite la
+liste des réglages standard ; vous y trouverez la propriété susceptible
+de contrôler l'épaisseur des traits de liaison.
 
 @example
 @code{thickness} (nombre)
@@ -612,10 +724,10 @@ la propriété susceptible de contrôler l'épaisseur des traits de liaison.
 @end example
 
 Voilà qui semble approprié pour changer l'épaisseur (@emph{thickness} en
-anglais).  On apprend que la valeur de @code{thickness}
-est un simple nombre (@emph{number}), qu'elle est par défaut définie
-à 1,2 et que l'unité de mesure est fixée par une autre propriété
-appelée @code{line-thickness}.
+anglais).  On apprend que la valeur de @code{thickness} est un simple
+nombre (@emph{number}), qu'elle est par défaut définie à 1,2 et que
+l'unité de mesure est fixée par une autre propriété appelée
+@code{line-thickness}.
 
 Comme il a été indiqué, on ne trouve que peu, voire pas du tout
 d'explication dans la RPI, mais nous en savons assez pour essayer
@@ -631,16 +743,15 @@ dans un premier temps, pour nous assurer que la commande fonctionne.
 Nous obtenons :
 
 @example
-\override Slur #'thickness = #5.0
+\override Slur.thickness = #5.0
 @end example
 
-N'oublions pas le @code{#'} qui doit précéder le nom de la propriété et
-le @code{#} qui doit précéder la nouvelle valeur.
+N'oublions pas le @code{#} qui doit précéder la nouvelle valeur.
 
-La dernière question est : @qq{Où placer cette commande ?}
-Tant qu'on n'est pas sûr de soi, la meilleure réponse est @qq{À
+La dernière question est : « Où placer cette commande ? »
+Tant qu'on n'est pas sûr de soi, la meilleure réponse est « À
 l'intérieur de l'expression musicale, avant la première liaison et
-proche d'elle.}  Essayons :
+proche d'elle. »  Essayons :
 
 @cindex Slur, exemple de dérogation
 @cindex thickness, exemple d'utilisation de la propriété
@@ -651,7 +762,7 @@ proche d'elle.}  Essayons :
   \time 6/8
   {
     % Increase thickness of all following slurs from 1.2 to 5.0
-    \override Slur #'thickness = #5.0
+    \override Slur.thickness = #5.0
     r4 bes8 bes[( g]) g |
     g8[( es]) es d[( f]) as |
     as8 g
@@ -665,7 +776,7 @@ proche d'elle.}  Essayons :
 @noindent
 et nous constatons que le trait de liaison est beaucoup plus épais.
 
-Telle est la façon normale de construire les commandes
+Telle est la façon normale de construire des commandes
 @code{\override}.  Comme nous aurons l'occasion de le voir
 par la suite, le problème est parfois plus complexe.  Dans
 l'immédiat, nous en savons assez pour construire nos propres
@@ -673,31 +784,29 @@ commandes -- mais il faut encore s'exercer.  Les exemples
 suivants sont là dans cette intention.
 
 
-@subheading Détermination du contexte adéquat
+@subsubsubheading Détermination du contexte adéquat
 @c VO Finding the context
 
 @cindex contexte, détermination du
 @cindex contexte, identification correcte du
 
-Tout d'abord, de quoi avions-nous besoin pour préciser le
-contexte ?  À quoi devait-il ressembler ?  Gageons que les
-liaisons appartiennent au contexte Voix, dans la mesure où
-elles sont étroitement liées à une ligne mélodique, mais
-comment en être sûr ?  Pour répondre à cette question,
-revenons en haut de la page de la RPI consacrée aux liaisons ;
-il est écrit : @qq{Les objets Liaison sont créés par le graveur
-Slur_engraver}.  Ainsi les liaisons seront créées dans n'importe
-quel contexte où se trouve le @code{Slur_engraver}.  Suivons
-le lien vers la page @code{Slur_engraver}.  Tout en bas, on
-lit que le @code{Slur_engraver} est un élément appartenant
-à cinq contextes Voix, dont le contexte de voix
-standard, @code{Voice}.  Notre hypothèse était donc juste.
-Et parce que @code{Voice} est un contexte de très bas
+Tout d'abord, de quoi avions-nous besoin pour préciser le contexte ?  À
+quoi devait-il ressembler ?  Gageons que les liaisons appartiennent au
+contexte Voix, dans la mesure où elles sont étroitement liées à une
+ligne mélodique, mais comment en être sûr ?  Pour répondre à cette
+question, revenons en haut de la page de la RPI consacrée aux liaisons ;
+il est écrit : « Les objets Liaison sont créés par le graveur
+Slur_engraver. »  Ainsi les liaisons seront créées dans n'importe quel
+contexte où se trouve le @code{Slur_engraver}.  Suivons le lien vers la
+page @code{Slur_engraver}.  Tout en bas, on lit que le
+@code{Slur_engraver} est un élément appartenant à sept contextes Voix,
+dont le contexte de voix standard, @code{Voice}.  Notre hypothèse était
+donc juste.  Et parce que @code{Voice} est un contexte de très bas
 niveau, qu'il est activé sans ambiguïté par le fait que l'on est
 en train de saisir des notes, on peut ici ne pas le mentionner.
 
 
-@subheading Redéfinition pour une seule occurrence
+@subsubsubheading Redéfinition pour une seule occurrence
 @c VO Overriding once only
 
 @cindex dérogation pour une seule fois
@@ -707,14 +816,14 @@ en train de saisir des notes, on peut ici ne pas le mentionner.
 @funindex once
 
 Dans le dernier exemple ci-dessus, @emph{toutes} les liaisons étaient
-plus épaisses.  Et si on veut épaissir uniquement la première
-liaison ?  On recourt alors à la commande @code{\once}.  Placée
-juste avant la commande @code{\override}, elle lui indique de ne changer
-que la liaison commençant avec la note @strong{juste après}.  Si la note
-juste après n'ouvre pas une liaison, la commande sera sans aucun effet
--- elle ne reste pas en mémoire jusqu'à la prochaine liaison, elle est
-purement et simplement ignorée.  Il faut donc que la commande introduite
-par @code{\once} soit insérée comme suit :
+plus épaisses.  Et si on veut épaissir uniquement la première liaison ?
+On recourt alors à la commande @code{\once}.  Placée juste avant la
+commande @code{\override}, elle lui indique de ne changer que la liaison
+commençant avec la note @strong{juste après}.  Si la note juste après
+n'ouvre pas une liaison, la commande sera sans aucun effet -- elle ne
+reste pas en mémoire jusqu'à la prochaine liaison, elle est purement et
+simplement ignorée.  Il faut donc que la commande introduite par
+@code{\once} soit insérée comme suit :
 
 @cindex Slur, exemple de dérogation
 @cindex thickness, exemple d'utilisation de la propriété
@@ -728,7 +837,7 @@ par @code{\once} soit insérée comme suit :
   {
     r4 bes8
     % Increase thickness of immediately following slur only
-    \once \override Slur #'thickness = #5.0
+    \once \override Slur.thickness = #5.0
     bes8[( g]) g |
     g8[( es]) es d[( f]) as |
     as8 g
@@ -746,7 +855,7 @@ La commande @code{\once} peut aussi être utilisée devant la commande
 @code{\set}.
 
 
-@subheading Rétablissement
+@subsubsubheading Rétablissement
 @c VO Reverting
 
 @cindex revert
@@ -759,10 +868,9 @@ La commande @code{\once} peut aussi être utilisée devant la commande
 
 Et si l'on voulait que les deux premières liaisons soient plus
 épaisses ?  On pourrait bien sûr utiliser deux commandes, chacune
-précédée de @code{\once}, et placées juste avant la note par laquelle
+précédée de @code{\once} et placée juste avant la note par laquelle
 débute la liaison :
 
-
 @cindex liaison, exemple de dérogation
 @cindex thickness, exemple d'utilisation de la propriété
 @cindex épaisseur, exemple d'utilisation
@@ -774,10 +882,10 @@ débute la liaison :
   {
     r4 bes8
     % Increase thickness of immediately following slur only
-    \once \override Slur #'thickness = #5.0
+    \once \override Slur.thickness = #5.0
     bes[( g]) g |
     % Increase thickness of immediately following slur only
-    \once \override Slur #'thickness = #5.0
+    \once \override Slur.thickness = #5.0
     g8[( es]) es d[( f]) as |
     as8 g
   }
@@ -804,11 +912,11 @@ la seconde liaison la commande @code{\revert}, qui ramène la propriété
   {
     r4 bes8
     % Increase thickness of all following slurs from 1.2 to 5.0
-    \override Slur #'thickness = #5.0
+    \override Slur.thickness = #5.0
     bes[( g]) g |
     g8[( es]) es
     % Revert thickness of all following slurs to default of 1.2
-    \revert Slur #'thickness
+    \revert Slur.thickness
     d8[( f]) as |
     as8 g
   }
@@ -843,7 +951,7 @@ introduiront des termes nouveaux.
 Supposons maintenant que nous voulions imprimer des paroles en italique.
 Quelle formulation de la commande @code{\override} allons-nous
 utiliser ?  Nous consultons en premier lieu, comme précédemment, la
-page de la RPI qui contient la liste @qq{Tous les objets de rendu}, et
+page de la RPI qui contient la liste « Tous les objets de rendu », et
 recherchons un objet qui contrôle les paroles.  Nous trouvons
 @code{LyricText}, qui semble approprié.  Nous cliquons dessus et nous
 voyons apparaître les différentes propriétés des paroles, parmi
@@ -868,14 +976,14 @@ s'y rapportent, parmi lesquels LyricText.
 Nous avons alors sous les yeux tous les réglages des propriétés qui
 contrôlent les polices de caractères, et notamment
 @code{font-shape(symbole)}, où @code{symbole} peut prendre la valeur
-@code{upright}, @code{italics} ou @code{caps}.
+@code{upright}, @code{italic} ou @code{caps}.
 
 Vous remarquerez que @code{font-series} et @code{font-size} figurent
 aussi dans la liste.  La question qui ne manque pas de se poser
-est : @qq{Comment se fait-il que les propriétés @code{font-series}
+est : « Comment se fait-il que les propriétés @code{font-series}
 et @code{font-size} se retrouvent à la fois dans @code{LyricText} et
 dans l'interface @code{font-interface} alors que ce n'est pas le cas
-pour @code{font-shape} ?}  La réponse est que lorsqu'un objet
+pour @code{font-shape} ? »  La réponse est que lorsqu'un objet
 @code{LyricText} est créé, les valeurs globales par défaut de
 @code{font-series} et @code{font-size} sont modifiées, mais pas celles
 de @code{font-shape}.  Les possibilités de modification dans
@@ -889,25 +997,20 @@ Voyons maintenant si nous sommes en mesure de formuler la commande
 @code{LyricText}, la propriété est @code{font-shape} et la valeur est
 @code{italic}.  Comme auparavant, nous laissons de côté le contexte.
 
-Signalons rapidement -- même si cette remarque est importante -- que,
-puisque les valeurs de @code{font-shape} se présentent sous forme de
-symboles, elles doivent être précédées d'une simple apostrophe,
-@code{'}.  C'est pour cette raison qu'il fallait une apostrophe devant
-@code{thickness} dans l'exemple précédent, et qu'il en faut une devant
-@code{font-shape}.  Ce sont à chaque fois des symboles, qui sont
-interprétés comme tels par LilyPond.  Certains symboles peuvent être des
-noms de propriété, comme @code{thickness} ou @code{font-shape},
-d'autres sont des valeurs à attribuer aux propriétés, comme
-@code{italic}.  À ne pas confondre avec les chaînes de caractères
-libres, qui se présentent comme @code{"un texte libre"} ; pour plus
-de détails sur les symboles et les chaînes de caractères, voir le
-@rextend{Tutoriel Scheme}.
+Signalons rapidement -- même si cette remarque est importante -- que
+certaines valeurs de propriétés se présentent sous forme de
+symboles, comme @code{italic}, et doivent donc être précédées
+d'une simple apostrophe, Ces symboles seront alors interprétés
+comme tels par LilyPond.  À ne pas confondre avec les chaînes de
+caractères libres qui se présentent comme @code{"un texte
+libre"} ; pour plus de détails sur les symboles et les chaînes de
+caractères, voir le @rextend{Tutoriel Scheme}.
 
 Ainsi, la commande @code{\override} pour mettre les paroles en italique
 est :
 
 @example
-\override LyricText #'font-shape = #'italic
+\override LyricText.font-shape = #'italic
 @end example
 
 @noindent
@@ -929,7 +1032,7 @@ comme ceci :
     as8 g
   }
   \addlyrics {
-    \override LyricText #'font-shape = #'italic
+    \override LyricText.font-shape = #'italic
     The man who | feels love's sweet e -- | mo -- tion
   }
 }
@@ -938,35 +1041,9 @@ comme ceci :
 @noindent
 et voilà les paroles en italiques.
 
-
-@subheading Spécification du contexte en mode lyrique
-@c VO Specifying the context in lyric mode
-
-@cindex contexte, spécification en mode lyrique
-@cindex mode lyrique, spécification de contexte en
-
-Lorsqu'il s'agit de paroles et qu'on cherche à préciser le contexte
-sur le modèle de ce qui a été fait précédemment, la commande échoue.
-Car une syllabe saisie en mode Paroles (lyricmode) se termine
-obligatoirement par une espace, un saut de ligne ou un nombre.  Tout
-autre caractère compte comme un élément de la syllabe.  C'est pourquoi
-il faut une espace ou un saut de ligne avant le @code{@}} final, pour
-éviter qu'il ne soit assimilé à la dernière syllabe.  De même, il faut
-insérer des espaces de part et d'autre du point, @qq{.}, qui sépare le
-nom de contexte du nom de l'objet, faute de quoi les deux noms seront
-joints et l'interpréteur ne pourra pas les reconnaître.  La formulation
-correcte est donc :
-
-@example
-\override Lyrics . LyricText #'font-shape = #'italic
-@end example
-
 @warning{Dans la saisie des paroles, pensez à toujours laisser une
 espace entre la dernière syllabe et l'accolade fermante.}
 
-@warning{Lorsqu'on retouche des paroles, toujours placer des espaces
-autour du point qui sépare le nom de contexte du nom d'objet.}
-
 @seealso
 Manuel d'extension :
 @rextend{Tutoriel Scheme}.
@@ -985,8 +1062,12 @@ règles liées à ce type.  Le type de propriété est toujours donné entre
 parenthèses après le nom de propriété dans la RPI.  Voici une liste des
 différents types de propriétés, avec les règles qui les régissent et
 quelques exemples d'utilisation.  Il faut, bien sûr, toujours ajouter un
-symbole @emph{hash}, @code{#}, devant ces valeurs lors de la saisie de
-la commande @code{\override}.
+symbole @emph{hash} (@code{#}) devant ces valeurs lors de la saisie de
+la commande @code{\override}, ce même si cette valeur comporte
+déjà un @code{#} en premier caractère.  Les exemples ici présentés
+ne sont que de simples illustrations ; l'utilisation de Scheme
+pour obtenir des valeurs fait l'objet de la rubrique
+@rextend{Scheme et les calculs}.
 
 @multitable @columnfractions .2 .45 .35
 @headitem Type de propriété
@@ -997,43 +1078,42 @@ la commande @code{\override}.
        sous la forme @code{#t} ou @code{#f}
   @tab @code{#t}, @code{#f}
 @item Dimension (en espaces de portée)
-  @tab Un nombre positif décimal (en unités de lignes de portée)
+  @tab Un nombre décimal (en unités de lignes de portée)
   @tab @code{2.5}, @code{0.34}
 @item Direction
-  @tab Une direction valide ou son équivalent numérique (valeur décimale
-       comprise entre -1 et 1 seulement)
-  @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @code{-1}
+  @tab Une direction valide ou son équivalent numérique (@code{0}
+  ou @code{CENTER} indiquent une position neutre)
+  @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @w{@code{-1}}
 @item Entier (@emph{Integer} en anglais)
-  @tab Un nombre entier positif
-  @tab @code{3}, @code{1}
+  @tab Un nombre entier
+  @tab @code{3}, @code{-1}
 @item Liste
-  @tab Plusieurs valeurs séparées par une espace, encadrées par des
-parenthèses et précédées par une apostrophe
-  @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+  @tab Une séquence de constantes ou symboles séparés par une
+  espace, encadrées par des parenthèses et précédées par une apostrophe
+  @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()},
        @code{'(1.0 0.25 0.5)}
 @item Markup (ou étiquette)
   @tab Toute commande @code{\markup} valide
-  @tab @code{\markup @{ \italic "cresc." @}}
+  @tab @code{\markup @{ \italic "cresc." @}}, @code{"bagpipe"}
 @item Durée (@emph{Moment} en anglais)
   @tab Une durée de note construite avec la fonction make-moment
-  @tab @code{(ly:make-moment 1 4)}, @code{(ly:make-moment 3 8)}
+  @tab @code{(ly:make-moment 1/4)}, @code{(ly:make-moment 3/8)}
 @item Nombre
-  @tab Une valeur décimale positive ou négative
-  @tab @code{3.5}, @code{-2.45}
+  @tab Une valeur positive ou négative, qui peut être décimale
+  @tab @code{3}, @w{@code{-2.45}}
 @item Paire (de nombres)
-  @tab Deux nombres séparées par @qq{espace point espace}, encadrés
+  @tab Deux nombres séparées par « espace point espace », encadrés
 par des parenthèses et précédés par une apostrophe
   @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
 @item Symbole
   @tab L'un des symboles autorisés pour cette propriété, précédé par une
-apostrophe
+  apostrophe
   @tab @code{'italic}, @code{'inside}
 @item Inconnu (@emph{Unknown} en anglais)
   @tab Un processus, ou @code{#f} pour empêcher toute action
   @tab @code{bend::print}, @code{ly:text-interface::print}, @code{#f}
 @item Vecteur
-  @tab Une liste de trois éléments encadrés par des parenthèses et
-précédés par apostrophe-hash, @code{'#}
+  @tab Des constantes encadrés par @code{#(}@dots{}@code{)}
   @tab @code{'#(#t #t #f)}
 @end multitable
 
@@ -1093,11 +1173,19 @@ L'objet @code{BarLine} est également lié à plusieurs interfaces, dont la
 mesure -- et de beaucoup d'autres objets, bien sûr.  Examinons chacune
 d'elles tour à tour.
 
+@menu
+* La propriété stencil::
+* La propriété break-visibility::
+* La propriété transparent::
+* La propriété color::
+@end menu
+
 
-@subheading stencil
+@node La propriété stencil
+@unnumberedsubsubsec La propriété @code{stencil}
+@translationof The stencil property
 
 @cindex stencil, propriété
-@c VO stencil
 
 Cette propriété contrôle l'apparence des barres de mesure en précisant
 le type de symbole (glyphe) à imprimer.  Comme pour de nombreuses
@@ -1111,7 +1199,7 @@ encore, le contexte concerné (@code{Voice} en l'occurrence) :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override BarLine #'stencil = ##f
+  \override BarLine.stencil = ##f
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1120,16 +1208,16 @@ encore, le contexte concerné (@code{Voice} en l'occurrence) :
 
 Les barres de mesure sont encore là !  Pourquoi ?  Retournons
 à la RPI et regardons de nouveau la page qui traite des propriétés de
-@code{BarLine}.  En haut de la page, il est précisé que @qq{Les objets
-BarLine sont créés par le graveur Bar_engraver}.  Allons à la page de
+@code{BarLine}.  En haut de la page, il est précisé que « Les objets
+BarLine sont créés par le graveur Bar_engraver ».  Allons à la page de
 @code{Bar_engraver}.  Tout en bas se trouve la liste des contextes dans
 lesquels fonctionne ce graveur.  Tous sont du type @code{Staff}, de
 sorte que, si la commande @code{\override} n'a pas fonctionné comme
 prévu, c'est parce que @code{Barline} n'appartient pas au contexte par
 défaut, @code{Voice}.  Si le contexte spécifié est erroné, la commande
 ne fonctionne pas.  Cela n'entraîne pas de message d'erreur, et rien
-n'apparaît dans le fichier log.  Essayons de corriger en mentionnant le
-bon contexte :
+n'apparaît dans le fichier @emph{log}.  Essayons de corriger en
+mentionnant le bon contexte :
 
 @cindex BarLine, exemple de dérogation
 @cindex stencil, exemple d'utilisation de la propriété
@@ -1137,14 +1225,30 @@ bon contexte :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'stencil = ##f
+  \override Staff.BarLine.stencil = ##f
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
 }
 @end lilypond
 
-Cette fois, les barres de mesure ont disparu.
+Cette fois, les barres de mesure ont disparu.  Désactiver la
+propriété @code{stencil} est une opération tellement fréquente que
+LilyPond dispose d'un raccourci -- @code{\omit} (pour « oublier »)
+-- à cet effet :
+
+@funindex \omit
+@funindex omit
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \omit Staff.BarLine
+  c4 b8 c d16 c d8 |
+  g,8 a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
 
 Vous remarquerez que l'affectation de la valeur @code{#f} à la propriété
 @code{stencil} déclenchera une erreur dès lors que l'objet en question se
@@ -1152,19 +1256,20 @@ doit d'avoir des dimensions pour les nécessités du traitement.  Ce sera
 le cas, par exemple, si vous effacez le @code{stencil} d'un objet
 @code{NoteHead}.  Il vaut mieux, en pareil cas, utiliser la fonction
 @code{point-stencil} qui, quant à elle, attribue à l'objet une taille à
-zero :
+zéro :
 
 @lilypond[quote,verbatim,relative=2]
 {
   c4 c
-  \once \override NoteHead #'stencil = #point-stencil
+  \once \override NoteHead.stencil = #point-stencil
   c4 c
 }
 @end lilypond
 
 
-@subheading visibilité des barres (break-visibility)
-@c VO break-visibility
+@node La propriété break-visibility
+@unnumberedsubsubsec La propriété @code{break-visibility}
+@translationof The break-visibility property
 
 @cindex break-visibility, propriété
 
@@ -1174,12 +1279,13 @@ booléens.  Ceux-ci indiquent respectivement si les barres de mesure
 doivent être imprimées ou non à la fin de la ligne, à l'intérieur de la
 ligne et au début de la ligne.  Dans notre cas, nous voulons que toutes
 les barres soient supprimées, si bien que la valeur dont nous avons
-besoin est @code{'#(#f #f #f)}.  Essayons, sans oublier
-d'ajouter le contexte @code{Staff}.  Vous remarquerez que, en plus de
-cette valeur, nous ajoutons @code{#'#} devant la parenthèse ouvrante.
-Le @code{'#} est nécessaire car il fait partie intégrante de la valeur
-contenant un vecteur, et le premier @code{#} est là, comme toujours avec
-la commande @code{\override}, pour introduire la valeur elle-même.
+besoin est @code{#(#f #f #f)}.  Essayons, sans oublier d'ajouter le
+contexte @code{Staff}.  Vous remarquerez que, en plus de cette valeur,
+nous ajoutons @code{##} devant la parenthèse ouvrante.  Un second
+@code{#} est nécessaire car il fait partie intégrante de la valeur
+contenant un vecteur, et le premier @code{#} est là, comme
+toujours avec la commande @code{\override}, pour introduire la
+valeur elle-même.
 
 @cindex BarLine, exemple de dérogation
 @cindex break-visibility exemple d'utilisation de la propriété
@@ -1187,7 +1293,7 @@ la commande @code{\override}, pour introduire la valeur elle-même.
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
+  \override Staff.BarLine.break-visibility = #'#(#f #f #f)
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1198,8 +1304,9 @@ Comme on peut le constater, cette solution-là aussi supprime les barres
 de mesure.
 
 
-@subheading transparence
-@c VO transparent
+@node La propriété transparent
+@unnumberedsubsubsec La propriété @code{transparent}
+@translationof The transparent property
 
 @cindex transparent, propriété
 @cindex transparence
@@ -1210,7 +1317,7 @@ mettre @code{#t} pour rendre l'objet transparent.  Dans cet exemple,
 essayons de rendre transparente la métrique (@emph{time signature} en
 anglais) plutôt que les barres de mesure.  Pour cela, il nous faut
 trouver le nom du @emph{grob} chargé de l'indication de mesure.  De
-retour sur la page @qq{Tous les objets de rendu} de la RPI, nous
+retour sur la page « Tous les objets de rendu » de la RPI, nous
 cherchons les propriétés de l'objet @code{TimeSignature}.  Celui-ci est
 géré par le graveur @code{Time_signature_engraver} qui, comme vous
 pouvez le constater, appartient au contexte @code{Staff} et peut se
@@ -1223,7 +1330,24 @@ pour rendre la métrique transparente est :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.TimeSignature #'transparent = ##t
+  \override Staff.TimeSignature.transparent = ##t
+  c4 b8 c d16 c d8 |
+  g,8 a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
+
+@noindent
+L'utilisation de la propriété @code{transparent} étant
+relativement fréquent, LilyPond dispose d'un raccourci à cet
+effet : @code{\hide} (pour « masquer ».
+
+@funindex \hide
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \hide Staff.TimeSignature
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1231,11 +1355,12 @@ pour rendre la métrique transparente est :
 @end lilypond
 
 @noindent
-La métrique a bien disparu mais la commande a laissé un blanc en lieu et
-place du chiffrage.  Ce peut être souhaitable dans le cadre d'un
-exercice, afin que les élèves aient la place pour compléter, mais dans
-d'autres circonstances, ce peut être gênant.  Pour y remédier,
-attribuons plutôt au stencil des métriques la valeur @code{#f} :
+La métrique a bien disparu dans les deux cas, mais la commande a
+laissé un blanc en lieu et place du chiffrage.  Ce peut être
+souhaitable dans le cadre d'un exercice, afin que les élèves aient
+la place pour compléter, mais dans d'autres circonstances, ce peut
+être gênant.  Pour y remédier, attribuons plutôt au stencil des
+métriques la valeur @code{#f} :
 
 @cindex TimeSignature, exemple de dérogation
 @cindex stencil, exemple d'utilisation de la propriété
@@ -1243,7 +1368,7 @@ attribuons plutôt au stencil des métriques la valeur @code{#f} :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.TimeSignature #'stencil = ##f
+  \override Staff.TimeSignature.stencil = ##f
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1252,12 +1377,15 @@ attribuons plutôt au stencil des métriques la valeur @code{#f} :
 
 @noindent
 La différence est flagrante : le fait d'attribuer au stencil la
-valeur @code{#f} supprime totalement l'objet, tandis que le fait de le
-rendre @code{transparent} le laisse en place, mais de façon invisible.
+valeur @code{#f} ou grâce à @code{\omit} supprime totalement
+l'objet, tandis que le fait de le rendre @code{transparent} -- ce
+qui s'obtient aussi par la commande @code{\hide} -- le laisse en
+place, mais de façon invisible.
 
 
-@subheading couleur
-@c VO color
+@node La propriété color
+@unnumberedsubsubsec La propriété @code{color}
+@translationof The color property
 
 @cindex color, propriété
 
@@ -1285,7 +1413,7 @@ Pour mettre les barres de mesure en blanc, on écrit :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'color = #white
+  \override Staff.BarLine.color = #white
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1295,12 +1423,12 @@ Pour mettre les barres de mesure en blanc, on écrit :
 @noindent
 et nous constatons que les barres de mesure sont une fois de plus
 invisibles.  Attention : aucune apostrophe ne précède @code{white}
--- il ne s'agit pas d'un symbole mais d'une @strong{fonction}.  Quand on
-l'invoque, elle fournit une liste de valeurs internes requises pour
-changer la couleur en blanc.  Les autres couleurs aussi, dans la
-@qq{liste normale}, sont des fonctions.  Pour en être certain, vous
-pouvez faire l'essai en choisissant une autre fonction de la liste en
-guise de couleur.
+-- il ne s'agit pas d'un symbole mais d'une @strong{variable}.
+Quand on l'invoque, elle fournit une liste de valeurs internes
+requises pour changer la couleur en blanc.  Les autres couleurs
+aussi, dans la « liste normale », sont des variables.  Pour en
+être certain, vous pouvez faire l'essai en choisissant une autre
+variable de la liste en guise de couleur.
 
 @cindex couleur X11
 @cindex X11, couleurs
@@ -1309,9 +1437,9 @@ guise de couleur.
 
 Le deuxième moyen de changer la couleur consiste à utiliser la deuxième
 @ruser{Liste des couleurs}, dite noms de couleurs X11.  Ceux-ci doivent
-obligatoirement être précédés d'une autre fonction, qui convertit les
-noms de couleurs X11 en une liste de valeurs internes, @code{x11-color},
-comme ceci :
+obligatoirement être précédés d'une fonction, @code{x11-color},
+qui convertit les noms symboliques de couleur X11 en une liste de
+valeurs internes comme ceci :
 
 @cindex BarLine, exemple de dérogation
 @cindex color, exemple d'utilisation de la propriété
@@ -1319,7 +1447,7 @@ comme ceci :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'color = #(x11-color 'white)
+  \override Staff.BarLine.color = #(x11-color 'white)
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1329,20 +1457,22 @@ comme ceci :
 @noindent
 Vous noterez que, dans ce cas, la fonction @code{x11-color} admet un
 symbole comme argument ; il faut donc placer une apostrophe devant
-le symbole et insérer les deux à l'intérieur de parenthèses.
+le symbole de telle sorte qu'il ne soit pas interprété comme une
+variable, et insérer l'appel à la fonction à l'intérieur de
+parenthèses.
 
 @cindex rgb, couleur
 @cindex couleurs rgb
 
 @funindex rgb-color
 
-Il existe une troisième fonction, écrite pour convertir les valeurs RVB
-en couleurs internes -- la fonction @code{rgb-color}.  Elle comporte
-trois arguments, donnant respectivement l'intensité du rouge, du vert et
-du bleu.  Ces arguments prennent des valeurs comprises entre 0 et 1.
-Ainsi, pour choisir la couleur rouge, la valeur serait
-@code{(rgb-color 1 0 0)} ; pour le blanc, ce serait
-@code{(rgb-color 1 1 1)} :
+Il existe une autre fonction, chargée elle de convertir les
+valeurs RVB en couleurs internes -- la fonction @code{rgb-color}.
+Elle comporte trois arguments, donnant respectivement l'intensité
+du rouge, du vert et du bleu.  Ces arguments prennent des valeurs
+comprises entre 0 et 1.  Ainsi, pour choisir la couleur rouge, la
+valeur serait @code{(rgb-color 1 0 0)} ; pour le blanc, ce serait
+@code{(rgb-color 1 1 1)} :
 
 @cindex BarLine, exemple de dérogation
 @cindex color, exemple d'utilisation de la propriété
@@ -1350,7 +1480,7 @@ Ainsi, pour choisir la couleur rouge, la valeur serait
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'color = #(rgb-color 1 1 1)
+  \override Staff.BarLine.color = #(rgb-color 1 1 1)
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1359,7 +1489,7 @@ Ainsi, pour choisir la couleur rouge, la valeur serait
 
 Enfin, il existe une échelle de gris parmi les possibilités de couleurs
 X11.  Elle va du noir (@code{'grey0}) au blanc (@code{'grey100}), avec
-un pas de 1.  Essayons de l'utiliser en attribuant à tous les objets de
+un pas de 1.  Essayons de l'utiliser en attribuant à tous les objets de
 notre exemple différentes nuances de gris :
 
 @cindex StaffSymbol, exemple de dérogation
@@ -1374,12 +1504,12 @@ notre exemple différentes nuances de gris :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
-  \override Staff.TimeSignature #'color = #(x11-color 'grey60)
-  \override Staff.Clef          #'color = #(x11-color 'grey60)
-  \override Voice.NoteHead      #'color = #(x11-color 'grey85)
-  \override Voice.Stem          #'color = #(x11-color 'grey85)
-  \override Staff.BarLine       #'color = #(x11-color 'grey10)
+  \override Staff.StaffSymbol.color = #(x11-color 'grey30)
+  \override Staff.TimeSignature.color = #(x11-color 'grey60)
+  \override Staff.Clef.color = #(x11-color 'grey60)
+  \override Voice.NoteHead.color = #(x11-color 'grey85)
+  \override Voice.Stem.color = #(x11-color 'grey85)
+  \override Staff.BarLine.color = #(x11-color 'grey10)
   c4 b8 c d16 c d8 |
   g,8 a16 b8 c d4 e16 |
   e8
@@ -1414,8 +1544,8 @@ nouvelle portée temporaire, du type @rglos{ossia}.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
@@ -1435,14 +1565,14 @@ régler le stencil de chacun sur @code{#f}, comme ceci :
 
 @cindex alignAboveContext, exemple d'utilisation de la propriété
 @cindex @code{\with}, exemple
-@cindex stencil, exemple d'utilisation de la propriété
 @cindex Clef, exemple de dérogation
 @cindex TimeSignature, exemple de dérogation
+@funindex \omit
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
@@ -1450,8 +1580,8 @@ régler le stencil de chacun sur @code{#f}, comme ceci :
         alignAboveContext = #"main"
       }
       {
-        \override Staff.Clef #'stencil = ##f
-        \override Staff.TimeSignature #'stencil = ##f
+        \omit Staff.Clef
+        \omit Staff.TimeSignature
         { f8 f c }
       }
     >>
@@ -1468,14 +1598,15 @@ d'ossia.
 
 Mais alors, quelle différence y a-t-il à modifier le contexte de portée
 au moyen de @code{\with} ou à modifier les stencils de la clef et de la
-métrique  avec @code{\override} ?  La principale différence est que
-les changements opérés dans une clause @code{\with} sont réalisés au
-moment où le contexte est créé et restent par la suite les valeurs
-@strong{par défaut} aussi longtemps que ce contexte existe, tandis que
-les commandes @code{\set} ou @code{\override} insérées dans la musique
-sont dynamiques -- elles provoquent des changements synchronisés avec un
-point particulier de la musique.  Si les changements sont annulés ou
-désactivés par @code{\unset} ou @code{\revert}, les réglages reprennent
+métrique  avec @code{\override} ou @code{\omit} comme ici ?  La
+principale différence est que les changements opérés dans une
+clause @code{\with} sont réalisés au moment où le contexte est
+créé et restent par la suite les valeurs @strong{par défaut} aussi
+longtemps que ce contexte existe, tandis que les commandes
+@code{\set} ou @code{\override} insérées dans la musique sont
+dynamiques -- elles provoquent des changements synchronisés avec
+un point particulier de la musique.  Si les changements sont annulés ou
+dés activés par @code{\unset} ou @code{\revert}, les réglages reprennent
 leurs valeurs par défaut, c'est-à-dire celles qui ont été fixées dans la
 clause @code{\with}, ou, en l'absence de celle-ci, les valeurs par
 défaut normales.
@@ -1503,17 +1634,43 @@ Remplaçons donc l'exemple ci-dessus par celui-ci :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
       \new Staff \with {
         alignAboveContext = #"main"
         % Don't print clefs in this staff
-        \override Clef #'stencil = ##f
+        \override Clef.stencil = ##f
         % Don't print time signatures in this staff
-        \override TimeSignature #'stencil = ##f
+        \override TimeSignature.stencil = ##f
+      }
+      { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Nous pourrions tout aussi bien utiliser les raccourcis
+@code{\hide} et @code{\omit} pour activer la propriété
+@code{transparent} et désactiver le @code{stencil}, ce qui
+donnerait :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative {
+    r4 g'8 g c4 c8 d |
+    e4 r8
+    <<
+      { f8 c c }
+      \new Staff \with {
+        alignAboveContext = #"main"
+        % Don't print clefs in this staff
+        \omit Clef
+        % Don't print time signatures in this staff
+        \omit TimeSignature
       }
       { f8 f c }
     >>
@@ -1544,7 +1701,7 @@ taille de police de chaque type d'objet avec des commandes comme
 celle-ci pour les têtes de notes (@code{NoteHead}) :
 
 @example
-\override NoteHead #'font-size = #-2
+\override NoteHead.font-size = #-2
 @end example
 
 soit nous changeons la taille de toutes les polices à la fois grâce à la
@@ -1569,15 +1726,15 @@ Essayons sur l'exemple d'ossia :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
       \new Staff \with {
         alignAboveContext = #"main"
-        \override Clef #'stencil = ##f
-        \override TimeSignature #'stencil = ##f
+        \omit Clef
+        \omit TimeSignature
         % Reduce all font sizes by ~24%
         fontSize = #-2
       }
@@ -1608,14 +1765,14 @@ sous-section montrera comment faire.
 @cindex écartement des lignes, modification
 
 Dans LilyPond, les écartements et longueurs sont généralement mesurés en
-@qq{intervalles de lignes} (@emph{staff-spaces} en anglais),
+« intervalles de lignes » (@emph{staff-spaces} en anglais),
 c'est-à-dire l'écartement qui sépare deux lignes adjacentes dans la
 portée -- plus rarement, il est question de demi-intervalles de lignes.
 Les propriétés d'épaisseur (@code{thickness}), quant à elles, sont
 généralement mesurées en unités d'une propriété interne appelée
-@qq{épaisseur de ligne} (@code{line-thickness}).  Par exemple, les
-lignes de crescendo/decrescendo présentent par défaut une épaisseur de
-unité de @code{line-thickness}, alors que l'épaisseur d'une hampe
+« épaisseur de ligne » (@code{line-thickness}).  Par exemple, les
+lignes de (de)crescendo présentent par défaut une épaisseur d'une
+unité de @code{line-thickness}, alors que l'épaisseur d'une hampe
 est de 1,3.  Toutefois, certaines propriétés d'épaisseur sont
 différentes : par exemple, l'épaisseur des ligature --
 @code{beam-thickness} -- se mesure en espaces de portée.
@@ -1624,9 +1781,9 @@ Dans ces conditions, comment ajuster les longueurs à la taille des
 polices de caractères ?  La solution consiste à utiliser une
 fonction spéciale appelée @code{magstep} -- pseudo facteur de zoom --,
 créée précisément dans ce but.  Elle comporte un argument, le changement
-de taille de police (#-2 dans l'exemple précédent), à partir duquel elle
-applique un facteur de mise à l'échelle qui réduit, ou augmente, les
-objets en question.  Voici comment elle s'utilise :
+de taille de police (@code{#-2} dans l'exemple précédent), à partir
+duquel elle applique un facteur de mise à l'échelle qui réduit, ou
+augmente, les objets en question.  Voici comment elle s'utilise :
 
 @cindex alignAboveContext, exemple d'utilisation de la propriété
 @cindex @code{\with}, exemple
@@ -1640,18 +1797,18 @@ objets en question.  Voici comment elle s'utilise :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
       \new Staff \with {
         alignAboveContext = #"main"
-        \override Clef #'stencil = ##f
-        \override TimeSignature #'stencil = ##f
+        \omit Clef
+        \omit TimeSignature
         fontSize = #-2
         % Reduce stem length and line spacing to match
-        \override StaffSymbol #'staff-space = #(magstep -2)
+        \override StaffSymbol.staff-space = #(magstep -2)
       }
       { f8 f c }
     >>
@@ -1678,7 +1835,7 @@ tous les objets peuvent être modifiées de manière analogue.
 Pour de petits changements d'échelle, comme dans l'exemple ci-dessus, il
 n'est généralement pas utile d'ajuster l'épaisseur des différentes
 lignes telles que les barres de mesure, les ligatures, les soufflets de
-crescendo ou decrescendo, les liaisons, etc.  Si l'épaisseur d'un objet
+crescendo ou decrescendo, les liaisons, etc.  Si l'épaisseur d'un objet
 en particulier doit être ajustée, le mieux est de modifier sa propriété
 @code{thickness}.  Nous avons vu plus haut, dans
 @ref{Propriétés des objets de rendu}, un exemple de modification de
@@ -1709,12 +1866,12 @@ peut être changée de la même manière.
 
 Dans la notation musicale, il y a des objets qui appartiennent à la
 portée et d'autres qui sont placés à l'extérieur de la portée. On les
-appelle respectivement les @qq{objets de la portée} (@emph{within-staff
-objects} en anglais) et les @qq{objets extérieurs à la portée}
+appelle respectivement les « objets de la portée » (@emph{within-staff
+objects} en anglais) et les « objets extérieurs à la portée »
 (@emph{outside-staff objects} en anglais).
 
 Les objets de la portée sont ceux qui sont placés sur la portée
--- les têtes de notes et les hampes, les altérations, etc.  Leur
+-- les têtes de notes et les hampes, les altérations, etc.  Leur
 position est généralement déterminée par la musique elle-même -- ils
 sont placés verticalement sur des lignes spécifiques ou sont liés à
 d'autres objets placés de cette manière.  Normalement, les collisions
@@ -1766,10 +1923,10 @@ chevauchement.
 @lilypond[quote,ragged-right,verbatim]
 <<
   \new Staff {
-    \relative c' { c4 a, }
+    \relative { c'4 a, }
   }
   \new Staff {
-    \relative c'''' { c4 a, }
+    \relative { c''''4 a, }
   }
 >>
 @end lilypond
@@ -1780,7 +1937,7 @@ chevauchement.
 @translationof Within-staff objects
 
 Nous avons vu que les commandes @code{\voiceXXX} jouent sur la
-direction des liaisons, des doigtés et sur toute autre chose liée à
+direction des liaisons, des doigtés et sur tout autre élément lié à
 l'orientation des hampes. Ces commandes sont essentielles dans
 la musique polyphonique pour distinguer des lignes mélodiques
 entremêlées.  Mais il arrive qu'on ait besoin de modifier ce
@@ -1792,42 +1949,53 @@ nombre de commandes déjà prêtes qui évitent, pour les modifications les
 plus courantes, d'avoir à encoder les retouches.
 
 Certains objets comme les traits des liaisons se recourbent tantôt
-vers le haut, tantôt vers le bas ; d'autres encore, comme les
-hampes et les crochets, peuvent se décaler vers la gauche ou vers la
-droite selon qu'ils pointent vers le haut ou vers le bas.  Ce
-comportement est géré automatiquement dès lors que @code{direction} est
-activé.
+vers le haut, tantôt vers le bas ; d'autres encore, comme les hampes et
+les crochets, peuvent se décaler vers la gauche ou vers la droite selon
+qu'ils pointent vers le haut ou vers le bas.  Ce comportement est géré
+automatiquement dès lors que @code{direction} est activé.
+
+
+@menu
+* La propriété direction::
+* Doigtés::
+@end menu
+
+
+@node La propriété direction
+@unnumberedsubsubsec La propriété @code{direction}
+@translationof The direction property
 
 @cindex down
 @cindex up
 @cindex center
 @cindex neutral
 
-L'exemple ci-dessous montre dans la première mesure le comportement par
-défaut des hampes -- celles des notes les plus hautes pointant vers le
-bas et celles des notes les plus basses pointant vers le haut ;
-viennent ensuite quatre notes avec les hampes forcées vers le bas, puis
-quatre autres avec les hampes forcées vers le haut, et pour finir quatre
-notes de nouveau avec le comportement par défaut.
 
-@cindex Stem, exemple de dérogation
+L'exemple ci-dessous montre dans la première mesure le positionnement
+par défaut des liaisons -- celles des notes les plus hautes en surplomb
+des têtes et celles des notes les plus basses au-dessous ; viennent
+ensuite une mesure avec les liaisons forcées vers le bas, puis une
+mesure avec les liaisons forcées vers le haut, et pour finir une mesure
+où elles adoptent de nouveau le comportement par défaut.
+
+@cindex Slur, exemple de dérogation
 @cindex direction, exemple d'utilisation de la propriété
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-a4 g c a |
-\override Stem #'direction = #DOWN
-a4 g c a |
-\override Stem #'direction = #UP
-a4 g c a |
-\revert Stem #'direction
-a4 g c a |
+@lilypond[quote,verbatim,relative=2]
+a4( g) c( a) |
+\override Slur.direction = #DOWN
+a4( g) c( a) |
+\override Slur.direction = #UP
+a4( g) c( a) |
+\revert Slur.direction
+a4( g) c( a) |
 @end lilypond
 
 Nous utilisons ici les directions @code{DOWN} et @code{UP}.  Elles
 correspondent respectivement aux valeurs @code{-1} et @code{+1},
 que l'on peut utiliser à la place.  La valeur @code{0} peut aussi être
 utilisée dans certains cas.  Elle est interprétée comme un @code{UP}
-pour les hampes, et comme un @qq{centré} pour d'autres objets.  Il
+pour les liaisons, et comme un « centré » pour d'autres objets.  Il
 existe une direction, @code{CENTER}, qui correspond à la
 valeur @code{0}.
 
@@ -1868,7 +2036,8 @@ signification est précisée.
 @item @code{\textSpannerDown}
   @tab @code{\textSpannerUp}
   @tab @code{\textSpannerNeutral}
-  @tab Le texte saisi en tant qu'extension est au-dessous/au-dessus de la portée
+  @tab Le texte saisi en tant qu'extension est au-dessous/au-dessus de
+  la portée
 @item @code{\tieDown}
   @tab @code{\tieUp}
   @tab @code{\tieNeutral}
@@ -1876,18 +2045,28 @@ signification est précisée.
 @item @code{\tupletDown}
   @tab @code{\tupletUp}
   @tab @code{\tupletNeutral}
-  @tab Les nolets sont au-dessous/au-dessus des notes
+  @tab Les n-olets sont au-dessous/au-dessus des notes
 @end multitable
 
-Attention : ces commandes prédéfinies @strong{ne doivent pas} être
-précédées de @code{\once}.  Pour limiter l'effet à une seule note, il
-faut soit utiliser la commande équivalente @code{\once \override}, soit
-utiliser la commande prédéfinie, suivie, après la note à modifier, de la
-commande @code{\xxxNeutral} correspondante.
+Les variantes @code{\xxxNeutral} et @code{\xxxNormal} de ces
+commandes sont implémentées à l'aide de @code{\revert} ; elles
+@strong{ne doivent pas} être précédées de @code{\once}.  Pour
+limiter les effets des autres commandes prédéfinies (fonctionnant
+à base de @code{\override}) à une seule note, il faut les faire
+précéder d'un @code{\once}, comme pour toute dérogation.
 
+Dans le cas où un seul objet de rendu doit déroger à la règle, LilyPond
+dispose des indicateurs de positionnement @code{^} et @code{_} :
 
+@lilypond[quote,verbatim,relative=2]
+a4( g) c( a) |
+a4^( g) c_( a) |
+@end lilypond
+
+
+@node Doigtés
 @unnumberedsubsubsec Doigtés
-@c VO Fingering
+@translationof Fingering
 
 @cindex doigtés, positionnement
 @cindex doigtés, accords
@@ -1909,9 +2088,9 @@ les deux suivantes montrent l'effet lorsqu'on indique @code{DOWN} et
 
 @lilypond[quote,verbatim,relative=2]
 c4-5 a-3 f-1 c'-5 |
-\override Fingering #'direction = #DOWN
+\override Fingering.direction = #DOWN
 c4-5 a-3 f-1 c'-5 |
-\override Fingering #'direction = #UP
+\override Fingering.direction = #UP
 c4-5 a-3 f-1 c'-5 |
 @end lilypond
 
@@ -1956,8 +2135,7 @@ le placement de tous ou certains chiffres de doigté, comme ceci :
 
 On peut aller encore plus loin dans le positionnement des doigtés pour
 chacune des notes d'un accord grâce à la commande
-@code{\set fingeringOrientations}.  La syntaxe de cette commande
-est :
+@code{\set fingeringOrientations}.  La syntaxe de cette commande est :
 
 @example
 @code{\set fingeringOrientations = #'([up] [left/right] [down])}
@@ -2011,10 +2189,10 @@ Voici quelques exemples :
 Si les indications de doigtés paraissent un peu serrées, on peut
 toujours réduire la taille de police (@code{font-size}).  La valeur
 par défaut donnée dans la RPI à la page de l'objet
-@code{Fingering} étant @code{-5}, essayons @code{-7} :
+@code{Fingering} étant @code{-5}, essayons @w{@code{-7}} :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-\override Fingering #'font-size = #-7
+\override Fingering.font-size = #-7
 \set fingeringOrientations = #'(left)
 <f-2>4
 <c-1 e-2 g-3 b-5>4
@@ -2038,16 +2216,33 @@ par défaut donnée dans la RPI à la page de l'objet
 @translationof Outside-staff objects
 
 Les objets extérieurs à la portée sont placés automatiquement de façon à
-éviter les collisions.  Les objets avec la plus petite valeur de la
-propriété @code{outside-staff-priority} sont placés au plus près de la
-portée, tandis que les autres sont écartés autant qu'il faut pour éviter
-les collisions.  La @code{outside-staff-priority} est définie dans la
-@code{grob-interface} ; elle est donc une propriété commune à tous
-les objets de rendu.  Par défaut, elle est réglée sur @code{#f} pour
-tous les objets de la portée, et porte une valeur numérique appropriée à
-chacun des objets extérieurs à la portée, à mesure qu'ils sont créés.
-Le tableau suivant montre la valeur numérique par défaut pour
-quelques-uns des objets extérieurs à la portée les plus courant.
+éviter les collisions.  Il est toutefois possible, grâce à
+différentes méthodes, de rectifier un positionnement automatique
+qui se révèlerait ne pas être optimal.
+
+@menu
+* La propriété outside-staff-priority::
+* La commande textLengthOn::
+* Positionnement des nuances::
+* Dimensionnement des objets graphiques::
+@end menu
+
+
+@node La propriété outside-staff-priority
+@unnumberedsubsubsec La propriété @code{outside-staff-priority}
+@translationof The outside-staff-priority property
+
+Les objets avec la plus petite valeur de la propriété
+@code{outside-staff-priority} sont placés au plus près de la
+portée, tandis que les autres sont écartés autant qu'il faut pour
+éviter les collisions.  La @code{outside-staff-priority} est
+définie dans la @code{grob-interface} ; elle est donc une
+propriété commune à tous les objets de rendu.  Par défaut, elle
+est réglée sur @code{#f} pour tous les objets de la portée, et
+porte une valeur numérique appropriée à chacun des objets
+extérieurs à la portée, à mesure qu'ils sont créés.  Le tableau
+suivant montre la valeur numérique par défaut pour quelques-uns
+des objets extérieurs à la portée les plus courant.
 
 @cindex spanners
 @cindex bandeaux
@@ -2119,7 +2314,7 @@ d'entre eux.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 % Set details for later Text Spanner
-\override TextSpanner #'(bound-details left text)
+\override TextSpanner.bound-details.left.text
     = \markup { \small \bold Slower }
 % Place dynamics above staff
 \dynamicUp
@@ -2171,12 +2366,12 @@ créé dans le contexte @code{Staff} :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 % Set details for later Text Spanner
-\override TextSpanner #'(bound-details left text)
+\override TextSpanner.bound-details.left.text
     = \markup { \small \bold Slower }
 % Place dynamics above staff
 \dynamicUp
 % Place following Ottava Bracket below Text Spanners
-\once \override Staff.OttavaBracket #'outside-staff-priority = #340
+\once \override Staff.OttavaBracket.outside-staff-priority = #340
 % Start Ottava Bracket
 \ottava #1
 c'4 \startTextSpan
@@ -2208,7 +2403,7 @@ notes auxquelles elles se rattachent sont relativement hautes.  Ceci
 peut avoir pour conséquence de remonter d'autant les objets externes
 (@emph{outside-staff objects}) tels les articulations.  La propriété
 @code{avoid-slur} de l'articulation en question peut se voir déterminée
-à @code{'inside} dans le but de @qq{ramener} cette articulation à
+à @code{'inside} dans le but de « ramener » cette articulation à
 l'intérieur de la liaison.  Cette propriété @code{avoid-slur} ne sera
 toutefois effective que dans la mesure où la
 @code{outside-staff-priority} est désactivée (valeur @code{#f}).  Dans
@@ -2220,21 +2415,21 @@ L'exemple suivant illustre ces deux différentes méthodes.
 @lilypond[quote,verbatim,relative=2]
 c4( c^\markup { \tiny \sharp } d4.) c8 |
 c4(
-\once \override TextScript #'avoid-slur = #'inside
-\once \override TextScript #'outside-staff-priority = ##f
+\once \override TextScript.avoid-slur = #'inside
+\once \override TextScript.outside-staff-priority = ##f
 c4^\markup { \tiny \sharp } d4.) c8 |
-\once \override Slur #'outside-staff-priority = #500
+\once \override Slur.outside-staff-priority = #500
 c4( c^\markup { \tiny \sharp } d4.) c8 |
 @end lilypond
 
 Le fait de changer la @code{outside-staff-priority} peut aussi servir à
 contrôler le positionnement vertical des objets individuels, quoique le
 résultat ne soit pas toujours formidable.  Imaginons que nous voulions
-placer @qq{Text3} au-dessus de @qq{Text4} dans l'exemple de la section
+placer « Text3 » au-dessus de « Text4 » dans l'exemple de la section
 @ref{Comportement automatique}, plus haut.  Il nous suffit pour cela de
 regarder dans la Référence des propriétés internes ou dans le tableau
 plus haut la priorité de @code{TextScript}, et d'augmenter la priorité
-de @qq{Text3} jusqu'à une valeur très haute :
+de « Text3 » jusqu'à une valeur très haute :
 
 @cindex TextScript, exemple de dérogation
 @cindex outside-staff-priority, exemple d'utilisation de la propriété
@@ -2242,13 +2437,13 @@ de @qq{Text3} jusqu'à une valeur très haute :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 c2^"Text1"
 c2^"Text2" |
-\once \override TextScript #'outside-staff-priority = #500
+\once \override TextScript.outside-staff-priority = #500
 c2^"Text3"
 c2^"Text4" |
 @end lilypond
 
-S'il est vrai que cela place @qq{Text3} au-dessus de @qq{Text4}, ça le
-place aussi plus haut que @qq{Text2} tandis que @qq{Text4} dégringole.
+S'il est vrai que cela place « Text3 » au-dessus de « Text4 », ça le
+place aussi plus haut que « Text2 » tandis que « Text4 » dégringole.
 Ce n'est peut-être pas si bien que ça.  En fait, ce que nous aimerions
 faire, c'est placer toutes les annotations à égale distance de la
 portée.  Pour cela, nous avons besoin d'espacer horizontalement les
@@ -2256,7 +2451,9 @@ notes pour laisser plus de place au texte.  C'est possible grâce à la
 commande @code{textLengthOn}.
 
 
-@subheading \textLengthOn
+@node La commande textLengthOn
+@unnumberedsubsubsec La commande @code{@bs{}textLengthOn}
+@translationof The textLengthOn command
 
 @cindex notes, répartition selon le texte
 
@@ -2269,8 +2466,7 @@ Par défaut, l'espacement horizontal d'un texte produit sous forme de
 @emph{markup} (ou d'étiquette) n'est pas pris en compte, dans la mesure
 où ce qui est concerné n'entre pas dans la musique.  La commande
 @code{\textLengthOn} inverse ce comportement, faisant en sorte que les
-notes soient espacées autant qu'il le faut pour s'adapter au
-texte :
+notes soient espacées autant qu'il le faut pour s'adapter au texte :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \textLengthOn  % Cause notes to space out to accommodate text
@@ -2281,10 +2477,12 @@ c2^"Text4" |
 @end lilypond
 
 La commande qui permet de revenir au comportement par défaut est
-@code{\textLengthOff}.  Rappelez-vous que @code{\once} ne
-fonctionne qu'avec @code{\override}, @code{\set}, @code{\revert} ou
-@code{\unset}, et donc ne peut pas être utilisé avec
-@code{\textLengthOn}.
+@code{\textLengthOff}.  Alternativement, lorsque l'instruction
+@code{\textLengthOn} se limite à un seul instant musical, vous
+pouvez la préfixer d'un @code{\once}.@*
+LilyPond dispose de commandes équivalentes et dévolues au
+traitement des repères et indications de tempo :
+@code{\markLengthOn} et @code{\markLengthOff}.
 
 @cindex étiquette de texte et collision
 
@@ -2308,26 +2506,27 @@ c,,2^"Text" c'' |
 R1 |
 
 % Turn off collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
+\once \override TextScript.outside-staff-priority = ##f
 c,,2^"Long Text   " c'' |
 R1 |
 
 % Turn off collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
+\once \override TextScript.outside-staff-priority = ##f
 \textLengthOn        % and turn on textLengthOn
 c,,2^"Long Text   "  % Spaces at end are honored
 c''2 |
 @end lilypond
 
 
-@subheading Nuances
-@c VO Dynamics
+@node Positionnement des nuances
+@unnumberedsubsubsec Positionnement des nuances
+@translationof Dynamics placement
 
 @cindex modification du positionnement des nuances
 @cindex nuances, modification du positionnement
 
 Les indications de nuance se placent normalement sous la portée, mais on
-peut les placer au-dessus avec la commande @code{dynamicUp}.  Elles se
+peut les placer au-dessus avec la commande @code{\dynamicUp}.  Elles se
 positionnent verticalement par rapport à la note à laquelle elles sont
 liées et se décalent vers le bas (ou le haut) en fonction des objets de
 la portée comme les liaisons de phrasé ou les numéros de mesure.  Cela
@@ -2345,16 +2544,15 @@ ees,2.~\)\mf ees4 r8 |
 De toute façon, si les notes et les nuances qui leur sont liées sont
 trop proches, le positionnement automatique évitera les collisions en
 déplaçant davantage les nuances suivantes, mais le résultat peut ne
-pas être très satisfaisant, comme le montre cet exemple
-artificiel :
+pas être très satisfaisant, comme le montre cet exemple artificiel :
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
-a4\f b\mf c\mp b\p
+a4\f b\mf a\mp b\p
 @end lilypond
 
 @noindent
-Si une telle situation devait survenir dans de la musique @qq{réelle},
+Si une telle situation devait survenir dans de la musique « réelle »,
 il serait préférable d'espacer un peu plus les notes, de façon que les
 indications de nuance puissent toutes se situer à la même distance de la
 portée.  S'il est possible de faire cela pour les textes de
@@ -2363,8 +2561,9 @@ pas d'équivalent pour les indications de nuance.  Il nous faut donc
 chercher à faire cela avec la commande @code{\override}.
 
 
-@subheading Dimensionnement des objets graphiques
-@c VO Grob sizing
+@node Dimensionnement des objets graphiques
+@unnumberedsubsubsec Dimensionnement des objets graphiques
+@translationof Grob sizing
 
 @cindex grob, dimensionnement
 @cindex dimensionnement des grobs
@@ -2388,14 +2587,16 @@ comme étant nulle, si bien qu'ils peuvent se chevaucher
 horizontalement.  Pour remédier à cela, on a ajouté l'infini à
 l'extension gauche et moins l'infini à l'extension droite, en
 attribuant à @code{extra-spacing-width} la valeur
-@code{'(+inf.0 . -inf.0)}. Pour être sûr que les objets ne se
+@code{'(+inf.0 . -inf.0)}.  Pour être sûr que les objets ne se
 chevaucheront pas horizontalement, nous devons donc corriger cette
-valeur de @code{extra-spacing-width} en @w{@code{'(0 . 0)}}, afin que
-leur vraie largeur se manifeste.  La commande pour y parvenir avec des
-indications de nuances est :
+valeur de @code{extra-spacing-width} pour leur attribuer un peu
+d'espace supplémentaire.  L'unité de base est ici la largeur
+séparant deux lignes de portée ; décaler le bord gauche d'une
+demie unité vers la gauche et le bord droit d'une demie unité vers
+la droite devrait suffire :
 
 @example
-\override DynamicText #'extra-spacing-width = #'(0 . 0)
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
 @end example
 
 @noindent
@@ -2404,38 +2605,219 @@ Voyons si ça marche sur notre exemple précédent :
 @cindex DynamicText, exemple de dérogation
 @cindex extra-spacing-width, exemple d'utilisation de la propriété
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\dynamicUp
-\override DynamicText #'extra-spacing-width = #'(0 . 0)
-a4\f b\mf c\mp b\p |
-@end lilypond
-
-@noindent
-Bon, cela a mis un terme aux déplacements verticaux des
-nuances mais il reste deux problèmes.  Il faudrait que les
-nuances soient un peu plus écartées et ce serait mieux si
-elles étaient toutes à la même distance de la portée.  Le
-premier problème est simple à résoudre.  Au lieu d'attribuer
-à @code{extra-spacing-width} la valeur zéro, nous pourrions
-mettre un peu plus.  L'unité est la distance entre deux lignes
-de portée, donc en écartant le bord gauche d'une demie unité
-et le bord droit d'une demie unité, on obtient :
-
-@cindex DynamicText, exemple de dérogation
-@cindex extra-spacing-width, exemple d'utilisation de la propriété
-
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
 % Extend width by 1 staff space
-\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
-a4\f b\mf c\mp b\p
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
+a4\f b\mf a\mp b\p
 @end lilypond
 
 @noindent
 C'est mieux mais nous voulons peut-être aligner les indications de
 nuance sur une même ligne plutôt que de les voir monter et
 descendre avec les notes.  La propriété qui gère cela est
-@code{staff-padding} ; la section suivante lui est consacrée.
+@code{staff-padding} -- voir @ref{Collisions d'objets}.
+
+
+@node Espacement vertical
+@section  Espacement vertical
+@translationof Vertical spacing
+
+En règle générale, LilyPond est plutôt performant en matière
+d'espacement vertical des objets musicaux.  Examinons ce qui se passe
+avec un chant simple à deux voix accompagnées au piano :
+
+@lilypond[quote,fragment,ragged-right]
+<<
+  \new ChoirStaff
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
+
+Il n'y a rien à redire quant à l'espacement vertical.  Toutefois,
+partons du principe que nous travaillons avec un éditeur dont les
+exigences en matière d'espacement vertical sont les suivantes : les
+paroles doivent être clairement détachées des notes, l'accompagnement de
+piano séparé du chant et les portées de piano rapprochées l'une de
+l'autre.  Commençons par les paroles.
+
+Les paroles résident dans un système ; les commandes dévolues à leur
+espacement sont donc mentionnées à la section
+@ruser{Espacement vertical au sein d'un système}. Nous y constatons que
+les paroles sont des lignes de non-portée (@code{non-staff lines}) ; les
+commandes qui gèrent leur espacement font donc référence à la propriété
+@code{nonstaff}.  Les décaler de la portée à laquelle elles sont
+attachées (celle du haut) jouera sur la propriété @code{relatedstaff},
+les décaler de la ligne inférieure sur la propriété
+@code{unrelatedstaff}.  Les parties vocales sont membre d'un
+@code{VerticalAxisGroup} ; ce sont donc les propriétés de ce groupe qui
+doivent être ajustées.  Faisons un premier essai pour voir :
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+  \new ChoirStaff
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics \with {
+      \override VerticalAxisGroup.
+        nonstaff-relatedstaff-spacing.padding = #5
+      \override VerticalAxisGroup.
+        nonstaff-unrelatedstaff-spacing.padding = #5
+    }
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
+
+L'espacement est maintenant quelque peu exagéré.  Lorsque nous
+affectons 5 à la variable @code{padding}, LilyPond ajoute cinq espaces
+de portée à la distance séparant deux objets, ce qui est plus que
+généreux.  Nous nous limiterons à 2.
+
+Occupons-nous à présent de séparer l'accompagnement du chant.  La
+musique vocale fait l'objet d'un @code{ChoirStaff} ; il nous faut donc
+augmenter l'espace entre ce groupe et la portée de piano qui le suit.
+Nous y parviendrons en modifiant la variable @code{basic-distance} de
+l'élément @code{staffgroup-staff-spacing} du @code{StaffGrouper}.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+  \new ChoirStaff \with {
+    \override StaffGrouper.
+      staffgroup-staff-spacing.basic-distance = #15
+  }
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics \with {
+      \override VerticalAxisGroup.
+        nonstaff-relatedstaff-spacing.padding = #2
+      \override VerticalAxisGroup.
+        nonstaff-unrelatedstaff-spacing.padding = #2
+    }
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
+
+Excellent.  Ne reste plus qu'à répondre à la dernière exigence :
+resserrer les portées du piano.  Pour y parvenir, nous ajusterons à
+nouveau les propriétés du @code{StaffGrouper}, ici en jouant à la fois
+sur la distance de base (@code{basic-distance}) et le décalage
+(@code{padding}) comme ci-dessous :
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+  \new ChoirStaff \with {
+    \override StaffGrouper.
+      staffgroup-staff-spacing.basic-distance = #15
+  }
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics \with {
+      \override VerticalAxisGroup.
+        nonstaff-relatedstaff-spacing.padding = #2
+      \override VerticalAxisGroup.
+        nonstaff-unrelatedstaff-spacing.padding = #2
+    }
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff \with {
+    \override StaffGrouper.staff-staff-spacing = #'(
+                            (basic-distance . 0)
+                            (padding . 0))
+  }
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
+
+Les portées sont vraiment rapprochées, mais c'est ce que veut l'éditeur.
+On pourra toujours les écarter au besoin en jouant sur les éléments
+@code{padding} ou @code{basic-distance}.
+
+Il existe bien des manières de modifier l'espacement vertical.  Le point
+crucial à ne pas oublier est que l'espacement des objets au sein d'un
+regroupement -- un @code{StaffGroup}, tels @code{GrandStaff} ou
+@code{PianoStaff} -- dépend des variables d'espacement d'un
+@code{StaffGrouper} ; l'espacement de portées non regroupées (comme
+@code{Lyrics} et @code{Staff}) dépend des variables d'un
+@code{VerticalAxisGroup}.  Voir
+@ruser{Variables d'espacement vertical fluctuant} et
+@ruser{Espacement vertical au sein d'un système} pour de plus amples
+détails.
 
 
 @node Collisions d'objets
@@ -2476,16 +2858,16 @@ changée grâce aux commandes prédéfinies dont la liste a été donnée
 plus haut à propos des objets de portée (voir
 @ref{Objets inclus dans la portée}).
 Les queues de note, les liaisons de phrasé et de prolongation, les
-crochets, les nuances et les nolets peuvent facilement être
+crochets, les nuances et les n-olets peuvent facilement être
 repositionnés de cette manière.  En contrepartie, vous n'avez le choix
 qu'entre deux positions, sans personnalisation possible.
 
 @item
 Les @strong{propriétés d'objet}, auxquelles LilyPond a recours pour
 positionner les objets, sont modifiables avec @code{\override}.  Il y a
-deux avantages à changer ces propriétés : (a) d'autres objets
+deux avantages à changer ces propriétés : (a) d'autres objets
 pourront être déplacés automatiquement si nécessaire pour faire de la
-place, et (b) la même retouche peut s'appliquer à toutes les occurrences
+place, et (b) la même retouche peut s'appliquer à toutes les occurrences
 du même type d'objet.  Ces propriétés sont :
 
 @itemize
@@ -2531,17 +2913,18 @@ objet qui accepte la @code{side-position-interface} et l'objet le plus
 proche (généralement une note ou une ligne de portée) ;
 @code{staff-padding} ne s'applique qu'aux objets qui sont toujours
 placés au-dehors de la portée -- il contrôle l'espace minimum à insérer
-entre l'objet et la portée.  Attention : par défaut,
-@code{staff-padding} concerne les objets positionnés par rapport
-à la portée et n'a aucun effet sur les objets qui sont positionnés par
-rapport à une note ; il est toutefois possible de le régler pour
-fonctionner avec ces derniers.
+entre la portée et l'objet extérieur.  Attention : @code{staff-padding}
+concerne les objets positionnés par rapport à la portée et n'a aucun
+effet sur les objets qui sont positionnés par rapport à une note ; tout
+aménagement qui lui serait apporté ne provoquera pas d'eereur, mais sera
+ignoré.
 
 Pour trouver quelle propriété @code{padding} employer pour l'objet que
 vous cherchez à repositionner, il vous faut consulter les propriétés de
-l'objet dans la RPI.  Prenez garde que les propriétés @code{padding} ne
-sont pas forcément traitées dans l'objet en question ; il faut
-alors regarder les objets qui semblent s'en rapprocher.
+l'objet dans la Référence des propriétés internes.  Prenez garde que les
+propriétés @code{padding} ne sont pas forcément traitées dans l'objet en
+question ; il faut alors regarder les objets qui semblent s'en
+rapprocher.
 
 Toutes les valeurs @code{padding} sont exprimées en espace de portée.
 Pour la plupart des objets, la valeur par défaut est aux alentours de
@@ -2602,20 +2985,54 @@ collision entre des objets comme les silences valant mesure entière,
 les liaisons et les notes de différentes voix.
 
 
+@item
+@code{horizontal-shift}
+
+@cindex horizontal-shift, propriété
+@cindex notes, empilement
+@cindex empilement de notes
+@cindex notes, collisions
+@cindex collisions de notes
+@cindex shift, commandes
+@funindex \shiftOff
+@funindex shiftOff
+@funindex \shiftOn
+@funindex shiftOn
+@funindex \shiftOnn
+@funindex shiftOnn
+@funindex \shiftOnnn
+@funindex shiftOnnn
+
+Au sein d'une même voix, toutes les notes intervenant au même instant
+musical sont regroupées dans un empilement (une colonne) et est créé un
+objet @code{NoteColumn} afin de contrôler le positionnement horizontal
+de ce groupe de notes -- voir « Empilement de notes » dans
+@ref{Instanciation explicite des voix}.  Si, et seulement si deux ou
+plusieurs empilements au sein d'un même contexte de portée ont une
+orientation de hampe identique et se produisent au même instant musical,
+les valeurs de leurs propriétés @code{horizontal-shift} permettront de
+les ordonner, les empilements de rang supérieur étant progressivement
+décalés pour éviter les chevauchements des têtes.  Cette propriété est
+déterminée par les commandes @code{\voiceXXX} et peut se voir aménagée
+par une commande @code{\override} ou, plus habituellemnt, par les
+commandes @code{\shiftOn}.  Notez bien que cette propriété ne fait
+qu'affecter un rang aux empilements pour leur décalage ; elle ne
+détermine en rien la magnitude du décalage, qui sera augmentera
+progressivement et selon un pas proprotionnel à la largeur des têtes de
+chaque rang.  Le pas, généralement de la moitié de la largeur d'une
+tête, peut aller jusqu'à la pleine largeur de tête en cas de groupes
+resserrés.
+
 @item
 @code{force-hshift}
 
 @cindex force-hshift, propriété
 
-Des notes très proches dans un accord, ou des notes simultanées dans
-différentes voix, peuvent être disposées sur deux colonnes, rarement
-plus, pour éviter que les têtes de notes ne se chevauchent.  On parle
-alors de colonnes (ou empilement) de notes et un objet appelé
-@code{NoteColumn} est créé pour placer les notes sur la colonne.
-
 La propriété @code{force-hshift} appartient à @code{NoteColumn} (en
 réalité à la @code{note-column-interface}).  Le fait de la modifier
-permet de déplacer un empilement selon l'unité appropriée aux colonnes
+permet de déplacer un empilement dans le cas de chevauchement
+d'empilements.  Notez bien qu'elle sera sans effet en l'absence de
+chevauchement.  Elle s'exprime en unité appropriée aux colonnes
 de notes, à savoir la largeur des têtes de note de la première voix.
 Son utilisation est réservée à des situations complexes dans lesquelles
 les commandes habituelles @code{\shiftOn}
@@ -2663,14 +3080,14 @@ perturber quoi que ce soit.
 @cindex positions, propriété
 
 Cette propriété est très utile pour ajuster manuellement l'inclinaison
-et la hauteur des barres de ligature, des liaisons et des nolets.  Elle
+et la hauteur des barres de ligature, des liaisons et des n-olets.  Elle
 est suivie de deux nombres qui donnent la position des extrémités gauche
-et droite des barres, liaisons, etc. par rapport à la ligne médiane de
+et droite des barres, liaisons, etc. par rapport à la ligne médiane de
 la portée.  L'unité de référence est l'intervalle de lignes de portée.
 Attention toutefois au fait que les liaisons et phrasés ne peuvent pas
 être repositionnés n'importe où.  LilyPond commence par dresser la liste
 des emplacements possibles pour les liaisons et choisit par défaut la
-liaison qui @qq{semble la meilleure}.  Si la propriété @code{positions}
+liaison qui « semble la meilleure ».  Si la propriété @code{positions}
 a été retouchée, la liaison la plus proche de la position demandée sera
 retenue dans la liste.
 @end table
@@ -2687,17 +3104,17 @@ trouver les propriétés à retoucher pour obtenir un déplacement.
 
 
 @multitable @columnfractions .5 .5
-@headitem Type d'objet              @tab Nom d'objet
-@item Articulations                 @tab @code{Script}
-@item Barres de ligature            @tab @code{Beam}
-@item Doigté                        @tab @code{Fingering}
-@item Liaisons de phrasé            @tab @code{Slur}
-@item Liaisons de prolongation      @tab @code{Tie}
-@item Nolets                        @tab @code{TupletBracket}
-@item Nuances (verticalement)       @tab @code{DynamicLineSpanner}
-@item Nuances (horizontalement)     @tab @code{DynamicText}
-@item Reprises / marques de texte   @tab @code{RehearsalMark}
-@item Texte, p.ex. @code{^"texte"}  @tab @code{TextScript}
+@headitem Type d'objet                @tab Nom d'objet
+@item Articulations                   @tab @code{Script}
+@item Barres de ligature              @tab @code{Beam}
+@item Doigté                          @tab @code{Fingering}
+@item Liaisons de phrasé              @tab @code{Slur}
+@item Liaisons de prolongation        @tab @code{Tie}
+@item N-olets                         @tab @code{TupletBracket}
+@item Nuances (verticalement)         @tab @code{DynamicLineSpanner}
+@item Nuances (horizontalement)       @tab @code{DynamicText}
+@item Reprises / marques de texte     @tab @code{RehearsalMark}
+@item Texte, par ex. @code{^"texte"}  @tab @code{TextScript}
 @end multitable
 
 
@@ -2708,16 +3125,28 @@ trouver les propriétés à retoucher pour obtenir un déplacement.
 Voyons maintenant comment les propriétés décrites dans la section
 précédente peuvent nous aider à résoudre les collisions.
 
+@menu
+* La propriété padding::
+* La propriété right-padding::
+* La propriété staff-padding::
+* La propriété self-alignment-X::
+* La propriété staff-position::
+* La propriété extra-offset::
+* La propriété positions::
+* La propriété force-hshift::
+@end menu
+
 
-@subheading la propriété padding
-@c VO padding property
+@node La propriété padding
+@unnumberedsubsubsec La propriété @code{padding}
+@translationof The padding property
 
 @cindex décalage (padding)
 @cindex résolution des chevauchements de notation
 @cindex chevauchement de notation
 
 En jouant sur la propriété @code{padding} (littéralement
-@qq{rembourrage}), on augmente (ou on diminue) la distance entre
+« rembourrage »), on augmente (ou on diminue) la distance entre
 des symboles qui sont imprimés au-dessus ou en dessous des notes.
 
 @cindex Script, exemple de dérogation
@@ -2725,7 +3154,7 @@ des symboles qui sont imprimés au-dessus ou en dessous des notes.
 
 @lilypond[quote,fragment,relative=1,verbatim]
 c2\fermata
-\override Script #'padding = #3
+\override Script.padding = #3
 b2\fermata
 @end lilypond
 
@@ -2734,11 +3163,11 @@ b2\fermata
 
 @lilypond[quote,fragment,relative=1,verbatim]
 % This will not work, see below:
-\override MetronomeMark #'padding = #3
+\override MetronomeMark.padding = #3
 \tempo 4=120
 c1 |
 % This works:
-\override Score.MetronomeMark #'padding = #3
+\override Score.MetronomeMark.padding = #3
 \tempo 4=80
 d1 |
 @end lilypond
@@ -2755,8 +3184,9 @@ fait partie d'un ensemble d'objets positionnés en fonction de leur
 les autres objets du groupe.
 
 
-@subheading la propriété right-padding
-@c VO right-padding
+@node La propriété right-padding
+@unnumberedsubsubsec La propriété @code{right-padding}
+@translationof The right-padding property
 
 @cindex right-padding, propriété
 
@@ -2776,18 +3206,16 @@ comme ceci :
 
 @lilypond[quote,ragged-right,verbatim]
 sesquisharp = \markup { \sesquisharp }
-\relative c'' {
-  c4
+\relative {
+  c''4
   % This prints a sesquisharp but the spacing is too small
-  \once \override Accidental
-    #'stencil = #ly:text-interface::print
-  \once \override Accidental #'text = #sesquisharp
+  \once \override Accidental.stencil = #ly:text-interface::print
+  \once \override Accidental.text = #sesquisharp
   cis4 c
   % This improves the spacing
-  \once \override Score.AccidentalPlacement #'right-padding = #0.6
-  \once \override Accidental
-    #'stencil = #ly:text-interface::print
-  \once \override Accidental #'text = #sesquisharp
+  \once \override Score.AccidentalPlacement.right-padding = #0.6
+  \once \override Accidental.stencil = #ly:text-interface::print
+  \once \override Accidental.text = #sesquisharp
   cis4 |
 }
 @end lilypond
@@ -2800,25 +3228,23 @@ la propriété @code{text} de @code{Accidental}, déclaré comme étant un
 signe sesqui-dièse.  Celui-ci est ensuite repoussé devant la tête de
 note par la retouche de @code{right-padding}.
 
-@noindent
-
 
-@subheading la propriété staff-padding
-@c VO staff-padding property
+@node La propriété staff-padding
+@unnumberedsubsubsec La propriété @code{staff-padding}
+@translationof The staff-padding property
 
 @cindex alignement d'objets sur une ligne de base
 @cindex objets, alignement sur une ligne de base
 
 @code{staff-padding} sert à aligner des objets tels que des nuances
-sur une ligne fictive à une hauteur donnée par rapport à la portée
-plutôt qu'à une hauteur qui varie en fonction de la position de la note
-sur laquelle porte l'objet.  Ce n'est pas une propriété de
-@code{DynamicText} mais de @code{DynamicLineSpanner}, car la ligne
-fictive est destinée à s'appliquer autant à @strong{toutes} les nuances,
-notamment celles qui sont créées comme des bandeaux en longueur (en
-anglais @emph{Spanners}).  Tel est donc le moyen d'aligner les
-indications de nuance, comme dans cet exemple repris de la section
-précédente :
+sur une ligne fictive à une distance donnée par rapport à la portée en
+l'absence d'autre élément de notation qui les repousserait.  Ce n'est
+pas une propriété de @code{DynamicText} mais de
+@code{DynamicLineSpanner}, car la ligne fictive est destinée à
+s'appliquer autant à @strong{toutes} les nuances, notamment celles qui
+sont créées comme des bandeaux en longueur (en anglais @emph{Spanners}).
+Tel est donc le moyen d'aligner les indications de nuance, comme dans
+cet exemple repris de la section précédente :
 
 @cindex DynamicText, exemple de dérogation
 @cindex extra-spacing-width, exemple d'utilisation de la propriété
@@ -2826,21 +3252,18 @@ précédente :
 @cindex staff-padding, exemple d'utilisation de la propriété
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\dynamicUp
-% Extend width by 1 unit
-\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
-% Align dynamics to a base line 2 units above staff
-\override DynamicLineSpanner #'staff-padding = #2
-a4\f b\mf c\mp b\p
+\override DynamicLineSpanner.staff-padding = #3
+a4\f b\mf a\p b\mp
 @end lilypond
 
 
-@subheading la propriété self-alignment-X
-@c VO self-alignment-X property
+@node La propriété self-alignment-X
+@unnumberedsubsubsec La propriété @code{self-alignment-X}
+@translationof The self-alignment-X property
 
-L'exemple suivant montre comment résoudre une collision entre une
-indication de corde et une hampe, en alignant le coin droit sur le point
-de référence de la note parente :
+L'exemple suivant montre comment ajuster le positionnement d'une
+indication de corde relativement à une hampe, en alignant le coin
+droit sur le point de référence de la note parente :
 
 @cindex StringNumber, exemple de dérogation
 @cindex self-alignment-X, exemple d'utilisation de la propriété
@@ -2848,13 +3271,14 @@ de référence de la note parente :
 @lilypond[quote,fragment,ragged-right,verbatim,relative=3]
 \voiceOne
 <a\2>
-\once \override StringNumber #'self-alignment-X = #RIGHT
+\once \override StringNumber.self-alignment-X = #RIGHT
 <a\2>
 @end lilypond
 
 
-@subheading la propriété staff-position
-@c VO staff-position property
+@node La propriété staff-position
+@unnumberedsubsubsec La propriété @code{staff-position}
+@translationof The staff-position property
 
 @cindex collision d'objets à l'intérieur d'une portée
 
@@ -2873,10 +3297,10 @@ type :
 Ici, la meilleure solution consiste à déplacer le symbole de pause vers
 le bas -- puisque cette pause appartient à la voix deux.  Par défaut,
 dans la @code{\voiceTwo} (c'est-à-dire dans la seconde voix d'une
-construction @code{<<@{@dots{}@} \\ @{@dots{}@}>>}), la propriété
+construction @code{<<@{ @dots{} @} \\ @{ @dots{} @}>>}), la propriété
 @code{staff-position} est réglée sur @code{-4} pour les
 @code{MultiMeasureRest} ; nous avons donc besoin de la déplacer, disons,
-de quatre demi-intervalles vers le bas, ce qui donne @code{-8}.
+de quatre demi-intervalles vers le bas, ce qui donne @code{-8}.
 
 @cindex MultiMeasureRest, exemple de dérogation
 @cindex staff-position, exemple d'utilisation de la propriété
@@ -2885,7 +3309,7 @@ de quatre demi-intervalles vers le bas, ce qui donne @code{-8}.
 <<
   { c4 c c c }
   \\
-  \override MultiMeasureRest #'staff-position = #-8
+  \override MultiMeasureRest.staff-position = #-8
   { R1 }
 >>
 @end lilypond
@@ -2895,8 +3319,9 @@ car la ligne supplémentaire au-dessus du silence est insérée
 automatiquement.
 
 
-@subheading la propriété extra-offset
-@c VO extra-offset property
+@node La propriété extra-offset
+@unnumberedsubsubsec La propriété @code{extra-offset}
+@translationof The extra-offset property
 
 @cindex positionnement des objets
 @cindex positionnement des grobs
@@ -2908,81 +3333,87 @@ entièrement le placement d'un objet, aussi bien horizontalement que
 verticalement.
 
 Dans l'exemple suivant, la seconde indication de doigté est déplacée
-légèrement vers la gauche et de 1,8 intervalle de lignes vers le
-bas :
+légèrement vers la gauche et de 1,8 intervalle de lignes vers le bas :
 
 @cindex Fingering, exemple de dérogation
 @cindex extra-offset, exemple d'utilisation de la propriété
 
-@lilypond[quote,fragment,relative=1,verbatim]
-\stemUp
+@lilypond[quote,relative=1,verbatim]
 f4-5
-\once \override Fingering #'extra-offset = #'(-0.3 . -1.8)
+\once \override Fingering.extra-offset = #'(-0.3 . -1.8)
 f4-5
 @end lilypond
 
 
-@subheading la propriété positions
-@c VO positions property
+@node La propriété positions
+@unnumberedsubsubsec La propriété @code{positions}
+@translationof The positions property
 
-@cindex contrôle des nolets, liaisons, phrasés et ligatures
-@cindex gestion manuelle des nolets, liaisons, phrasés et ligatures
-@cindex ligatures de nolet, gestion manuelle
+@cindex contrôle des n-olets, liaisons, phrasés et ligatures
+@cindex gestion manuelle des n-olets, liaisons, phrasés et ligatures
+@cindex ligatures de n-olet, gestion manuelle
 @cindex liaisons, gestion manuelle
 @cindex phrasés, gestion manuelle
 @cindex ligatures, gestion manuelle
 
 La propriété @code{positions} permet de contrôler manuellement la
-position et l'inclinaison des nolets, coulés, liaisons de phrasé et
-barres de ligature.  Voici un exemple avec une horrible liaison de
-phrasé -- horrible pour avoir tenté de contourner la liaison de
-l'acciaccature.
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4 \acciaccatura e8\( d8 c~ c d c d\)
-@end lilypond
+position et l'inclinaison des n-olets, coulés, liaisons de phrasé et
+barres de ligature.
 
-@noindent
-Nous pourrions tout simplement déplacer la liaison de phrasé au-dessus
-des notes, et ce serait la meilleure solution :
+Voici un exemple où la liaison de phrasé recouvre la liaison
+d'articulation :
 
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\phrasingSlurUp
-\acciaccatura e8\( d8 c~ c d c d\)
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+a8 \( ( a'16 ) a \)
 @end lilypond
 
-@noindent
-Mais si, pour une quelconque raison, cette solution n'était pas
-envisageable, l'autre solution consiste à déplacer légèrement vers le
-bas l'extrémité gauche de la liaison de phrasé, grâce à la propriété
-@code{positions}.  Cela corrige en même temps la forme plutôt
-disgracieuse de la liaison.
-
 @cindex PhrasingSlur, exemple de dérogation
 @cindex positions, exemple d'utilisation de la propriété
 
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\once \override PhrasingSlur #'positions = #'(-4 . -3)
-\acciaccatura e8\( d8 c~ c d c d\)
+@noindent
+Nous pourrions envisager de remonter quelque peu les extrémités
+de la liaison de phrasé.  Commençons par repositionner l'extrémité
+gauche à 2,5 espaces de portée au-dessus de la ligne médiane, et
+la droite à 4,5 ; LilyPond choisira la courbe dont les extrémités
+seront les plus approchantes de celle déterminées :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
+a8 \( ( a'16 ) a \)
 @end lilypond
 
+C'est déjà mieux, mais ne pourrait-on pas maintenant abaisser un
+peu l'extrémité droite de la liaison d'articulation ?  Vous
+constaterez qu'il n'est pas possible d'y arriver, tout simplement
+parce qu'il n'y a pas de meilleur candidat ; la propriété
+@code{positions} n'est alors d'aucune utilité.  Les liaisons,
+aussi bien de tenue que d'articulation ou de phrasé, peuvent se
+positionner et se dessiner tout en finesse lorsque nécessaire --
+voir à ce sujet @ruser{Modification des liaisons}.
+
 Voici un autre exemple. Comme nous pouvons le constater, les barres de
 ligature chevauchent les liaisons de tenue :
 
-@lilypond[quote,verbatim,fragment,ragged-right]
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 {
   \time 4/2
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c1~ 2. e8 f }
     \\
-    { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
+    {
+      e'8 e e e
+      e e e e
+      f2 g
+    }
   >>
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c,,1~ 2. e8 f }
     \\
-    { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
+    {
+      e'8 e e e
+      e e e e
+      f2 g
+    }
   >>
 }
 @end lilypond
@@ -2990,48 +3421,58 @@ ligature chevauchent les liaisons de tenue :
 @noindent
 On peut y remédier en déplaçant manuellement vers le haut les deux
 extrémités des ligatures de croches, non plus à 1,81 intervalle
-au-dessous de la ligne médiane mais, disons, à 1 :
+au-dessous de la ligne médiane mais, disons, à 1 :
 
 @cindex Beam, exemple de dérogation
 @cindex positions, exemple d'utilisation de la propriété
 
-@lilypond[quote,verbatim,fragment,ragged-right]
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 {
   \time 4/2
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c1~ 2. e'8 f' }
     \\
     {
-      \override Beam #'positions = #'(-1 . -1)
-      e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g''
+      \override Beam.positions = #'(-1 . -1)
+      e'8 e e e
+      e e e e
+      f2 g
     }
   >>
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c,,1~ 2. e'8 f' }
     \\
-    { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
+    {
+      e'8 e e e
+      e e e e
+      f2 g
+      \revert Beam.positions
+    }
   >>
 }
 @end lilypond
 
 @noindent
-Vous remarquerez que la retouche continue de s'appliquer au
-second bloc de croches de la première voix mais qu'il ne s'applique
-à aucune mesure de la deuxième voix.
+Vous remarquerez que la retouche continue de s'appliquer au second bloc
+de croches de la deuxième voix mais qu'il ne s'applique à aucune des
+ligatures de la première voix, même dans la seconde mesure.  Dès que la
+dérogation ne doit plus s'appliquer, il suffit de l'annuler comme
+indiqué ici.
 
 
-@subheading la propriété force-hshift
-@c VO force-hshift property
+@node La propriété force-hshift
+@unnumberedsubsubsec La propriété @code{force-hshift}
+@translationof The force-hshift property
 
 Maintenant, nous sommes prêts à appliquer les dernières corrections à
 l'exemple de Chopin présenté à la fin de @ref{J'entends des Voix}, que
 nous avions laissé dans cet état :
 
 @lilypond[quote,verbatim,fragment,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
   \key aes \major
   <<
-    { c2 aes4. bes8 }
+    { c''2 aes4. bes8 }
     \\
     { <ees, c>2 des }
     \\
@@ -3044,16 +3485,20 @@ nous avions laissé dans cet état :
 
 @noindent
 La note intermédiaire du premier accord, le la bémol à la quatrième
-voix, doit rester dans le même empilement que la note haute.  Pour y
-remédier, nous réglons le @code{force-hshift} -- qui est une propriété
-de @code{NoteColumn} -- de cette note sur zéro.
+voix, doit rester dans le même empilement que la note haute, ce
+pourquoi nous utilisons un @code{\shiftOff}
 
 Quant au second accord, il serait préférable que le fa s'aligne avec le
 la et que la note la plus basse se positionne un peu plus sur la droite
 pour éviter que les hampes se chevauchent.  Pour cela, nous réglons le
 @code{force-hshift} au niveau du @code{NoteColumn} du ré bémol de telle
 sorte qu'il se déplace de la moitié d'un espace de portée vers la
-droite.
+droite et le @code{force-hshift} du fa sur zéro.  Vous noterez la
+présence du @code{\once} qui évite la propagation de ces réglages
+au-delà de cet instantn musical particulier -- bien que la présence du
+@code{\once} et du second @code{\override} de la quatrième voix ne
+soient pas indispensables dans ce court extrait, ce ne serait pas
+montrer l'exemple que de les omettre.
 
 Et voici le résultat final :
 
@@ -3061,22 +3506,15 @@ Et voici le résultat final :
 @cindex force-hshift, exemple d'utilisation de la propriété
 
 @lilypond[quote,verbatim,fragment,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
   \key aes \major
   <<
-    { c2 aes4. bes8 }
+    { c''2 aes4. bes8 }
     \\
-    {
-      <ees, c>2
-      \once \override NoteColumn #'force-hshift = #0.5
-      des2
-    }
+    { <ees, c>2 \once \override NoteColumn.force-hshift = #0.5 des }
     \\
     \\
-    {
-      \override NoteColumn #'force-hshift = #0
-      aes'2 f4 fes
-    }
+    { \once \shiftOff aes'2 \once \shiftOff f4 fes }
   >> |
   <c ees aes c>1 |
 }
@@ -3093,9 +3531,8 @@ nombre de retouches jusqu'à l'obtention du résultat attendu.  Cet
 exemple a été choisi en raison des problèmes inhabituels de notation
 qu'il soulevait et pour vous apprendre à les résoudre grâce au Manuel de
 notation.  Il n'est pas représentatif d'une opération normale de
-gravure ; que ces difficultés ne vous découragent donc pas !
-Des difficultés comme celles-ci ne sont, heureusement, pas
-courantes !
+gravure ; que ces difficultés ne vous découragent donc pas !  Des
+difficultés comme celles-ci ne sont, heureusement, pas courantes !
 
 Cet exemple est tiré de la Première Ballade de Chopin, Op. 23, mesures
 6 à 9 ; cela correspond à la transition entre le Lento d'ouverture
@@ -3108,23 +3545,23 @@ pas fait apparaître les indications de nuance, de doigté ni de pédale.
 @c This example should not be indexed
 @c line-width ensures no break
 @lilypond[quote,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4.\( g8 |
-    \once \override Tie #'staff-position = #3.5
+    r2 c''4.\( g8 |
+    \once \override Tie.staff-position = #3.5
     bes1~ |
     \bar "||"
     \time 6/4
     \mergeDifferentlyHeadedOn
     \mergeDifferentlyDottedOn
-    bes2.^\markup { \bold "Moderato" } r8
+    bes2.\tempo "Moderato" r8
     <<
       { c,8 d fis bes a }
       \new Voice {
         \voiceTwo
         c,8~
         % Reposition the c2 to the right of the merged note
-        \once \override NoteColumn #'force-hshift = #1.0
+        \once \override NoteColumn.force-hshift = #1.0
         % Move the c2 out of the main note column
         % so the merge will work
         \shiftOnn
@@ -3136,8 +3573,7 @@ rhMusic = \relative c'' {
         % Stem on the d2 must be down to permit merging
         \stemDown
         % Stem on the d2 should be invisible
-        \tweak Stem #'transparent ##t
-        \tweak Flag #'transparent ##t
+        \tweak Flag.transparent ##t
         d2
       }
       \new Voice {
@@ -3151,8 +3587,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2( |
+lhMusic = \relative {
+  r2 <c' g ees>2( |
   <d g, d>1)\arpeggio |
   r2. d,,4 r4 r |
   r4
@@ -3183,7 +3619,7 @@ opportun.  Si vous avez oublié comment faire, reportez-vous à
 @ref{J'entends des Voix} et @ref{Instanciation explicite des voix}.
 Nous opterons ici pour une déclaration explicite des voix du passage
 polyphonique, puisque LilyPond est alors plus performant en matière
-d'évitement des collisions. 
+d'évitement des collisions.
 
 Commençons par saisir les notes comme appartenant à deux variables,
 mettons en place l'ossature des portées dans un bloc @code{\Score} et
@@ -3191,9 +3627,9 @@ voyons ce que LilyPond propose par défaut :
 
 @c line-width ensures no break
 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4. g8 |
+    r2 c''4. g8 |
     bes1~ |
     \time 6/4
     bes2. r8
@@ -3202,7 +3638,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3217,8 +3653,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2 |
+lhMusic = \relative {
+  r2 <c' g ees>2 |
   <d g, d>1 |
   r2. d,,4 r4 r |
   r4
@@ -3251,9 +3687,9 @@ Voici le résultat :
 
 @c line-width ensures no break
 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4.\( g8 |
+    r2 c''4.\( g8 |
     bes1~ |
     \time 6/4
     bes2. r8
@@ -3262,7 +3698,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3277,8 +3713,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2( |
+lhMusic = \relative {
+  r2 <c' g ees>2( |
   <d g, d>1) |
   r2. d,,4 r4 r |
   r4
@@ -3303,30 +3739,30 @@ La première mesure est maintenant correcte.  La seconde contient un
 arpège et doit se terminer par une double barre.  Comment faire, puisque
 cela n'a pas été traité dans le Manuel d'initiation ?  C'est alors
 qu'il faut nous reporter au Manuel de notation.  Quand on cherche
-@qq{arpège} et @qq{barre de mesure} dans l'index, on voit aisément qu'il
+« arpège » et « barre de mesure » dans l'index, on voit aisément qu'il
 faut ajouter @code{\arpeggio} à un accord pour produire un arpège et
-qu'une double barre est le résultat de la commande
-@code{\bar "||"}.  Rien de plus facile !  Nous devons ensuite
-corriger la collision entre la liaison et l'indication de mesure.  Le
-mieux est de déplacer la liaison vers le haut.  La méthode pour déplacer
-les objets a déjà été présentée dans @ref{Déplacement d'objets}, et l'on
-sait que, pour des objets positionnés par rapport à la portée, il nous
-faut modifier leur propriété @code{staff-position}, exprimée en
-demi-intervalles de lignes par rapport à la ligne médiane de la portée.
-Voici donc la retouche à insérer juste devant la première note
-liée ; elle est censée déplacer la liaison vers le haut de 3,5
-demi-intervalles de lignes au-dessus de la ligne médiane :
-
-@code{\once \override Tie #'staff-position = #3.5}
+qu'une double barre est le résultat de la commande @code{\bar "||"}.
+Rien de plus facile !  Nous devons ensuite corriger la collision entre
+la liaison et l'indication de mesure.  Le mieux est de déplacer la
+liaison vers le haut.  La méthode pour déplacer les objets a déjà été
+présentée dans @ref{Déplacement d'objets}, et l'on sait que, pour des
+objets positionnés par rapport à la portée, il nous faut modifier leur
+propriété @code{staff-position}, exprimée en demi-intervalles de lignes
+par rapport à la ligne médiane de la portée.  Voici donc la retouche à
+insérer juste devant la première note liée ; elle est censée déplacer la
+liaison vers le haut de 3,5 demi-intervalles de lignes au-dessus de la
+ligne médiane :
+
+@code{\once \override Tie.staff-position = #3.5}
 
 Cela s'adjoint à la deuxième mesure, pour donner :
 
 @c line-width ensures no break
 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4.\( g8 |
-    \once \override Tie #'staff-position = #3.5
+    r2 c''4.\( g8 |
+    \once \override Tie.staff-position = #3.5
     bes1~ |
     \bar "||"
     \time 6/4
@@ -3336,7 +3772,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3351,8 +3787,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2( |
+lhMusic = \relative {
+  r2 <c' g ees>2( |
   <d g, d>1)\arpeggio |
   r2. d,,4 r4 r |
   r4
@@ -3374,17 +3810,17 @@ lhMusic = \relative c' {
 @end lilypond
 
 Venons-en à la troisième mesure et au début de la section Moderato.
-Dans le Tutoriel, il est indiqué comment insérer du texte en gras à
-l'aide de la commande @code{\markup} ; pas de problème, du coup,
-pour ajouter @qq{Moderato} en gras.  Mais comment faire pour fusionner
-les notes de différentes voix ?  C'est là que le Manuel de notation
-peut nous venir en aide.  Une recherche sur @qq{fusionnement de notes}
-dans l'index nous renvoie au chapitre @ruser{Résolution des collisions},
-et plus précisément aux commandes permettant de fusionner des notes en
-fonction de leur type et selon qu'elles sont pointées ou non.  Dans
-notre exemple, pour la durée de la polyphonie de la troisième mesure,
-nous avons besoin de fusionner deux types de notes ; grâce aux
-informations trouvées dans le Manuel de notation, nous ajoutons
+Dans le Tutoriel, il est indiqué comment insérer une indication de tempo
+à l'aide de la commande @code{\tempo} ; pas de problème, du coup, pour
+ajouter « Moderato ».  Mais comment faire pour fusionner les notes de
+différentes voix ?  C'est là que le Manuel de notation peut nous venir
+en aide.  Une recherche sur « fusionnement de notes » dans l'index nous
+renvoie au chapitre @ruser{Résolution des collisions}, et plus
+précisément aux commandes permettant de fusionner des notes en fonction
+de leur type et selon qu'elles sont pointées ou non.  Dans notre exemple,
+pour la durée de la polyphonie de la troisième mesure, nous avons besoin
+de fusionner deux types de notes ; grâce aux informations trouvées dans
+le Manuel de notation, nous ajoutons
 
 @example
 \mergeDifferentlyHeadedOn
@@ -3404,14 +3840,14 @@ au début de cette section et
 
 @c line-width ensures no break
 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4.\( g8 |
-    \once \override Tie #'staff-position = #3.5
+    r2 c''4.\( g8 |
+    \once \override Tie.staff-position = #3.5
     bes1~ |
     \bar "||"
     \time 6/4
-    bes2.^\markup { \bold "Moderato" } r8
+    bes2.\tempo "Moderato" r8
     \mergeDifferentlyHeadedOn
     \mergeDifferentlyDottedOn
     % Start polyphonic section of four voices
@@ -3419,7 +3855,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3436,8 +3872,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2( |
+lhMusic = \relative {
+  r2 <c' g ees>2( |
   <d g, d>1)\arpeggio |
   r2. d,,4 r4 r |
   r4
@@ -3479,14 +3915,14 @@ Voici ce que donnent ces modifications :
 
 @c line-width ensures no break
 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4.\( g8 |
-    \once \override Tie #'staff-position = #3.5
+    r2 c''4.\( g8 |
+    \once \override Tie.staff-position = #3.5
     bes1~ |
     \bar "||"
     \time 6/4
-    bes2.^\markup { \bold "Moderato" } r8
+    bes2.\tempo "Moderato" r8
     \mergeDifferentlyHeadedOn
     \mergeDifferentlyDottedOn
     % Start polyphonic section of four voices
@@ -3514,8 +3950,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2( |
+lhMusic = \relative {
+  r2 <c' g ees>2( |
   <d g, d>1)\arpeggio |
   r2. d,,4 r4 r |
   r4
@@ -3550,14 +3986,14 @@ hampe transparente et déplacer le do avec la propriété
 
 @c line-width ensures no break
 @lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
   \new Voice {
-    r2 c4.\( g8 |
-    \once \override Tie #'staff-position = #3.5
+    r2 c''4.\( g8 |
+    \once \override Tie.staff-position = #3.5
     bes1~ |
     \bar "||"
     \time 6/4
-    bes2.^\markup { \bold "Moderato" } r8
+    bes2.\tempo "Moderato" r8
     \mergeDifferentlyHeadedOn
     \mergeDifferentlyDottedOn
     % Start polyphonic section of four voices
@@ -3567,7 +4003,7 @@ rhMusic = \relative c'' {
         \voiceTwo
         c,8~
         % Reposition the c2 to the right of the merged note
-        \once \override NoteColumn #'force-hshift = #1.0
+        \once \override NoteColumn.force-hshift = #1.0
         % Move the c2 out of the main note column
         % so the merge will work
         \shiftOnn
@@ -3579,8 +4015,7 @@ rhMusic = \relative c'' {
         % Stem on the d2 must be down to permit merging
         \stemDown
         % Stem on the d2 should be invisible
-        \tweak Stem #'transparent ##t
-        \tweak Flag #'transparent ##t
+        \tweak Flag.transparent ##t
         d2
       }
       \new Voice {
@@ -3594,8 +4029,8 @@ rhMusic = \relative c'' {
   }
 }
 
-lhMusic = \relative c' {
-  r2 <c g ees>2( |
+lhMusic = \relative {
+  r2 <c' g ees>2( |
   <d g, d>1)\arpeggio |
   r2. d,,4 r4 r |
   r4
@@ -3634,19 +4069,18 @@ lhMusic = \relative c' {
 @subsection Autres utilisations des retouches
 @translationof Other uses for tweaks
 
-@cindex transparent, utilisation de la propriété
-@cindex création d'objet invisible
+@menu
+* Liaison entre plusieurs voix::
+* Rendu MIDI d'un point d'orgue::
+@end menu
+
 @cindex suppression d'objets
 @cindex objets, suppression d'
-@cindex masquage d'objets
-@cindex objets, masquage d'
-@cindex invisibles, objets
-@cindex objets, invisibles
-@cindex liaison de tenue avec changement de voix
 
 
-@subheading Liaison entre plusieurs voix
-@c VO Tying notes across voices
+@node Liaison entre plusieurs voix
+@unnumberedsubsubsec Liaison entre plusieurs voix
+@translationof Tying notes across voices
 
 Voici un exemple qui montre comment créer une liaison de
 prolongation entre des notes appartenant à des voix différentes.  En
@@ -3655,39 +4089,25 @@ peuvent être ainsi liées.  La solution consiste à utiliser deux voix,
 dont l'une avec les notes liées
 
 @lilypond[quote,fragment,relative=2]
-<< { b8~ b8\noBeam } \\ { b[ g8] } >>
+<< { b8~ 8\noBeam } \\ { b8[ g] } >>
 @end lilypond
 
 @noindent
-et à rendre transparente la première hampe de cette voix ;
-on a alors l'impression que la liaison couvre les deux voix.
-
-@cindex Stem, exemple de dérogation
-@cindex transparent, exemple d'utilisation de la propriété
+et à supprimer la première hampe ascendante et le crochet dans cette
+voix ; on a alors l'impression que la liaison couvre les deux voix.
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<<
-  {
-    \tweak Stem #'transparent ##t
-    \tweak Flag #'transparent ##t
-    b8~ b\noBeam
-  }
-\\
-  { b8[ g] }
->>
-@end lilypond
+@cindex Stem, exemple de suppression
+@cindex Flag, exemple de suppression
+@cindex @code{\omit}, exemple d'utilisation
 
-Pour être sûr que la hampe que nous avons rendue transparente
-n'empiète pas trop sur le trait de liaison, nous pouvons l'allonger en
-réglant la longueur (@code{length}) sur @code{8},
+@funindex \omit
 
 @lilypond[quote,fragment,relative=2,verbatim]
 <<
   {
-    \tweak Stem #'transparent ##t
-    \tweak Flag #'transparent ##t
-    \tweak Stem #'length #8
-    b8~ b8\noBeam
+    \once \omit Stem
+    \once \omit Flag
+    b8~ 8\noBeam
   }
 \\
   { b[ g8] }
@@ -3695,8 +4115,14 @@ réglant la longueur (@code{length}) sur @code{8},
 @end lilypond
 
 
-@subheading Rendu MIDI d'un point d'orgue
-@c VO Simulating a fermata in MIDI
+@seealso
+Manuel d'initiation :
+@ref{Le préfixe once},
+@ref{La propriété stencil}.
+
+@node Rendu MIDI d'un point d'orgue
+@unnumberedsubsubsec Rendu MIDI d'un point d'orgue
+@translationof Simulating a fermata in MIDI
 
 @cindex stencil, utilisation de la propriété
 @cindex point d'orgue, rendu en MIDI
@@ -3722,11 +4148,11 @@ Nous montrons ci-dessous le résultat des deux méthodes :
 
 @lilypond[quote,verbatim,ragged-right]
 \score {
-  \relative c'' {
+  \relative {
     % Visible tempo marking
     \tempo 4=120
-    a4 a a
-    \once \override Score.MetronomeMark #'transparent = ##t
+    a'4 a a
+    \once \hide Score.MetronomeMark
     % Invisible tempo marking to lengthen fermata in MIDI
     \tempo 4=80
     a4\fermata |
@@ -3744,11 +4170,11 @@ Nous montrons ci-dessous le résultat des deux méthodes :
 
 @lilypond[quote,verbatim,ragged-right]
 \score {
-  \relative c'' {
+  \relative {
     % Visible tempo marking
     \tempo 4=120
-    a4 a a
-    \once \override Score.MetronomeMark #'stencil = ##f
+    a'4 a a
+    \once \omit Score.MetronomeMark
     % Invisible tempo marking to lengthen fermata in MIDI
     \tempo 4=80
     a4\fermata |
@@ -3776,7 +4202,7 @@ Glossaire musicologique :
 
 @node Utilisation de variables dans les retouches
 @subsection Utilisation de variables dans les retouches
-@translationof Using variables for tweaks
+@translationof Using variables for layout adjustments
 
 @cindex variables, utilisation dans les retouches
 @cindex utilisation de variables dans les retouches
@@ -3795,11 +4221,11 @@ enchâssées dans un @code{\markup} -- ce qui les rend pénibles à saisir
 @code{\revert} ?
 
 @example
-@code{\override Lyrics . LyricText #'font-shape = #'italic}
-@code{\override Lyrics . LyricText #'font-series = #'bold}
+@code{\override Lyrics.LyricText.font-shape = #'italic}
+@code{\override Lyrics.LyricText.font-series = #'bold}
 
-@code{\revert Lyrics . LyricText #'font-shape}
-@code{\revert Lyrics . LyricText #'font-series}
+@code{\revert Lyrics.LyricText.font-shape}
+@code{\revert Lyrics.LyricText.font-series}
 @end example
 
 Là encore, ce serait extrêmement pénible à saisir, surtout s'il y avait
@@ -3817,21 +4243,21 @@ milieu d'un bloc @code{\lyricmode} !
 
 @lilypond[quote,verbatim]
 emphasize = {
-  \override Lyrics.LyricText #'font-shape = #'italic
-  \override Lyrics.LyricText #'font-series = #'bold
+  \override Lyrics.LyricText.font-shape = #'italic
+  \override Lyrics.LyricText.font-series = #'bold
 }
 
 normal = {
-  \revert Lyrics.LyricText #'font-shape
-  \revert Lyrics.LyricText #'font-series
+  \revert Lyrics.LyricText.font-shape
+  \revert Lyrics.LyricText.font-series
 }
 
 global = { \key c \major \time 4/4 \partial 4 }
 
-SopranoMusic = \relative c' { c4 | e4. e8 g4 g    | a4   a   g  }
-AltoMusic    = \relative c' { c4 | c4. c8 e4 e    | f4   f   e  }
-TenorMusic   = \relative  { e4 | g4. g8 c4.  b8 | a8 b c d e4 }
-BassMusic    = \relative  { c4 | c4. c8 c4 c    | f8 g a b c4 }
+SopranoMusic = \relative { c'4 | e4. e8 g4 g    | a4   a   g  }
+AltoMusic    = \relative { c'4 | c4. c8 e4 e    | f4   f   e  }
+TenorMusic   = \relative  { e4 | g4. g8 c4.  b8 | a8 b c d e4 }
+BassMusic    = \relative  { c4 | c4. c8 c4 c    | f8 g a b c4 }
 
 VerseOne = \lyrics {
   E -- | ter -- nal \emphasize Fa -- ther, | \normal strong to save,
@@ -3886,24 +4312,19 @@ les parties avec tous les @code{#()}.  Celles-ci sont expliquées dans
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  (markup #:hspace 0
-          #:translate '(5 . 0)
-          #:line (#:dynamic "mp"
-                  #:text #:italic "dolce")))
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   (make-music
-    'TextScriptEvent
-    'direction UP
-    'text (markup #:bold (#:box string))))
+   #{ <>^\markup \bold \box #string #})
 
-\relative c'' {
+\relative {
   \tempo 4=50
-  a4.\mpdolce d8 cis4--\glissando a |
+  a'4.\mpdolce d8 cis4--\glissando a |
   b4 bes a2 |
   \inst "Clarinet"
   cis4.\< d8 e4 fis |
@@ -3922,18 +4343,15 @@ dans nos fichiers de musique, et je trouve personnellement tous ces
 @example
 %%% enregistrez ceci dans un fichier nommé "definitions.ily"
 mpdolce =
-#(make-dynamic-script
-  #@{ \markup @{ \hspace #0
-               \translate #'(5 . 0)
-               \line @{ \dynamic "mp"
-                       \text \italic "dolce" @} @}
-  #@})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   #@{ ^\markup \bold \box #string #@})
+   #@{ <>^\markup \bold \box #string #@})
 @end example
 
 Nous rappellerons ce fichier par une simple commande @code{\include} au
@@ -3950,9 +4368,9 @@ sous @file{musique.ly}).
 @example
 \include "definitions.ily"
 
-\relative c'' @{
+\relative @{
   \tempo 4=50
-  a4.\mpdolce d8 cis4--\glissando a |
+  a'4.\mpdolce d8 cis4--\glissando a |
   b4 bes a2 |
   \inst "Clarinet"
   cis4.\< d8 e4 fis |
@@ -3962,22 +4380,19 @@ sous @file{musique.ly}).
 
 @lilypond[quote,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
-\relative c'' {
+\relative {
   \tempo 4=50
-  a4.\mpdolce d8 cis4--\glissando a |
+  a'4.\mpdolce d8 cis4--\glissando a |
   b4 bes a2 |
   \inst "Clarinet"
   cis4.\< d8 e4 fis |
@@ -3990,8 +4405,8 @@ est peu visible, c'est pourquoi nous allons l'épaissir et le
 rapprocher des têtes de note.  Déplaçons l'indication métronomique
 au-dessus de la clef, au lieu de la laisser au-dessus de la première
 note.  Et pour finir, mon professeur de composition déteste les
-chiffrages de mesure en @qq{C}, nous allons donc le transformer en
-@qq{4/4}.
+chiffrages de mesure en « C », nous allons donc le transformer en
+« 4/4 ».
 
 Cependant, ne changez pas le fichier @file{musique.ly}.  Remplacez le
 fichier @file{definitions.ily} par ceci :
@@ -3999,72 +4414,66 @@ fichier @file{definitions.ily} par ceci :
 @example
 %%%  definitions.ily
 mpdolce =
-#(make-dynamic-script
-  #@{ \markup @{ \hspace #0
-               \translate #'(5 . 0)
-               \line @{ \dynamic "mp"
-                       \text \italic "dolce" @} @}
-  #@})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   #@{ ^\markup \bold \box #string #@})
+   #@{ <>^\markup \bold \box #string #@})
 
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark #'extra-offset = #'(-9 . 0)
-    \override MetronomeMark #'padding = #'3
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
+    \override MetronomeMark.padding = #'3
   @}
   \context @{
     \Staff
-    \override TimeSignature #'style = #'numbered
+    \override TimeSignature.style = #'numbered
   @}
   \context @{
     \Voice
-    \override Glissando #'thickness = #3
-    \override Glissando #'gap = #0.1
+    \override Glissando.thickness = #3
+    \override Glissando.gap = #0.1
   @}
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
 \layout{
   \context {
     \Score
-    \override MetronomeMark #'extra-offset = #'(-9 . 0)
-    \override MetronomeMark #'padding = #'3
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
+    \override MetronomeMark.padding = #'3
   }
   \context {
     \Staff
-    \override TimeSignature #'style = #'numbered
+    \override TimeSignature.style = #'numbered
   }
   \context {
     \Voice
-    \override Glissando #'thickness = #3
-    \override Glissando #'gap = #0.1
+    \override Glissando.thickness = #3
+    \override Glissando.gap = #0.1
   }
 }
 
-\relative c'' {
+\relative {
   \tempo 4=50
-  a4.\mpdolce d8 cis4--\glissando a |
+  a'4.\mpdolce d8 cis4--\glissando a |
   b4 bes a2 |
   \inst "Clarinet"
   cis4.\< d8 e4 fis |
@@ -4074,78 +4483,72 @@ inst =
 
 C'est encore mieux !  Mais supposons maintenant que je veuille
 publier cette pièce.  Mon professeur de composition n'aime pas les
-chiffrages de mesure en @qq{C}, mais moi je les aime bien.  Copions
+chiffrages de mesure en « C », mais moi je les aime bien.  Copions
 l'actuel @file{definitions.ily} dans le fichier
 @file{publication-web.ily}, et modifions ce dernier.  Puisque la musique
 est destinée à produire un fichier PDF affiché sur écran, nous allons
 aussi augmenter la taille globale de police.
 
 @example
-%%%  definitions.ily
+%%%  web-publish.ily
 mpdolce =
-#(make-dynamic-script
-  #@{ \markup @{ \hspace #0
-               \translate #'(5 . 0)
-               \line @{ \dynamic "mp"
-                       \text \italic "dolce" @} @}
-  #@})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   #@{ ^\markup \bold \box #string #@})
+   #@{ <>^\markup \bold \box #string #@})
 
 #(set-global-staff-size 23)
 
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark #'extra-offset = #'(-9 . 0)
-    \override MetronomeMark #'padding = #'3
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
+    \override MetronomeMark.padding = #'3
   @}
   \context @{
     \Staff
   @}
   \context @{
     \Voice
-    \override Glissando #'thickness = #3
-    \override Glissando #'gap = #0.1
+    \override Glissando.thickness = #3
+    \override Glissando.gap = #0.1
   @}
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
-     (parser location string)
+     (string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
 #(set-global-staff-size 23)
 
 \layout{
   \context { \Score
-    \override MetronomeMark #'extra-offset = #'(-9 . 0)
-    \override MetronomeMark #'padding = #'3
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
+    \override MetronomeMark.padding = #'3
   }
   \context { \Voice
-    \override Glissando #'thickness = #3
-    \override Glissando #'gap = #0.1
+    \override Glissando.thickness = #3
+    \override Glissando.gap = #0.1
   }
 }
 
-\relative c'' {
+\relative {
   \tempo 4=50
-  a4.\mpdolce d8 cis4--\glissando a |
+  a'4.\mpdolce d8 cis4--\glissando a |
   b4 bes a2 |
   \inst "Clarinet"
   cis4.\< d8 e4 fis |
@@ -4160,8 +4563,8 @@ musique.
 
 Il est possible, bien sûr, de rendre cela encore plus pratique.  Nous
 pourrions créer un fichier @file{definitions.ily} qui ne contiendrait
-que les définitions de @code{mpdolce} et de @code{inst}, un
-fichier @file{publication-web.ily} qui ne contiendrait que la section
+que les définitions de @code{mpdolce} et de @code{inst}, un fichier
+@file{publication-web.ily} qui ne contiendrait que la section
 @code{layout} décrite ci-dessus et un fichier @file{universite.ily} qui
 ne contiendrait que les retouches pour produire le résultat que mon
 professeur préfère.  Le début du fichier @file{musique.ly} ressemblerait
@@ -4177,7 +4580,7 @@ alors à
 
 Cette approche peut être utile même si vous ne produisez qu'un seul
 jeu de partitions.  J'utilise personnellement une demi-douzaine de
-fichiers de @qq{feuille de style} pour mes projets.  Je commence
+fichiers de « feuille de style » pour mes projets.  Je commence
 chaque fichier de musique par @code{\include "../global.ily"} qui
 contient :
 
@@ -4202,17 +4605,18 @@ La référence des propriétés internes contient beaucoup d'informations
 sur LilyPond.  Cependant vous pouvez en découvrir encore plus en
 consultant les fichiers internes de LilyPond.  Pour cela, il vous faut
 d'abord connaître le répertoire @emph{ad hoc} sur votre système.
-L'emplacement du répertoire dépend (a) du fait que, pour vous procurer
-LilyPond, vous avez téléchargé un paquet précompilé sur lilypond.org, ou
+L'emplacement du répertoire dépend (a) du fait que, pour vous procurer
+LilyPond, vous avez téléchargé un paquet précompilé sur lilypond.org ou
 vous l'avez installé grâce à votre gestionnaire de paquetages
-(c'est-à-dire distribué avec Linux ou installé avec fink ou cygwin), ou
+(c'est-à-dire distribué avec GNU/Linux ou installé avec fink ou cygwin), ou
 encore vous l'avez compilé directement à partir des sources ; et
-(b) du système d'exploitation sur lequel il tourne.
+(b) du système d'exploitation sur lequel il tourne.
+
 
-@strong{Téléchargé depuis lilypond.org}
+@subsubsubheading Téléchargé depuis lilypond.org
 
 @itemize @bullet
-@item Linux
+@item GNU/Linux
 
 @example
 @file{@var{INSTALLDIR}/lilypond/usr/@/share/lilypond/current/}
@@ -4227,7 +4631,7 @@ encore vous l'avez compilé directement à partir des sources ; et
 Pour accéder à ce dossier, deux possibilités : soit, dans un
 Terminal, taper @code{cd} suivi du chemin complet ci-dessus ; soit
 Control-cliquer (ou clic droit) sur l'application LilyPond
-et sélectionner @qq{Afficher le contenu du paquet}.
+et sélectionner « Afficher le contenu du paquet ».
 
 @item Windows
 
@@ -4238,13 +4642,13 @@ Dans l'Explorateur Windows, voir
 
 @end itemize
 
-@strong{Installé par un gestionnaire de paquetages ou compilé d'après
-les sources}
+
+@subsubsubheading Installé par un gestionnaire de paquetages ou compilé d'après les sources
 
 @code{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, où
 @var{PREFIX} est déterminé par votre gestionnaire de paquetages ou par
-le script @code{configure}, et @var{X.Y.Z} est le numéro de version de
-LilyPond.
+le script @code{configure}, et @var{X.Y.Z} représente le numéro de
+version de LilyPond.
 
 @smallspace
 
@@ -4260,7 +4664,7 @@ Commençons par examiner quelques fichiers contenus dans @file{ly/}.
 Nous ouvrons @file{ly/property-init.ly} dans un éditeur de texte --
 celui que vous avez l'habitude d'utiliser pour les fichiers @file{.ly}
 fera très bien l'affaire.  Ce fichier contient les définitions de toutes
-les commandes standard prédéfinies de LilyPond, comme @code{\stemUp} et
+les commandes standard prédéfinies de LilyPond, comme @code{\tieUp} et
 @code{\slurDotted}.  Vous pouvez constater que ce n'est rien d'autre
 que des définitions de variables composées d'un ou plusieurs groupes
 de commandes @code{\override}.  Par exemple, @code{\tieDotted}
@@ -4268,8 +4672,8 @@ est défini comme :
 
 @example
 tieDotted = @{
-  \override Tie #'dash-period = #0.75
-  \override Tie #'dash-fraction = #0.1
+  \override Tie.dash-period = #0.75
+  \override Tie.dash-fraction = #0.1
 @}
 @end example
 
@@ -4283,15 +4687,15 @@ Voici les fichiers les plus utiles dans le répertoire @file{ly/} :
 @headitem Nom de fichier
   @tab Contenu
 @item @file{ly/engraver-init.ly}
-  @tab Définitions des Contextes de graveurs
+  @tab Définition des contextes de graveurs
 @item @file{ly/paper-defaults-init.ly}
   @tab Réglages papier par défaut
 @item @file{ly/performer-init.ly}
-  @tab Définitions des Contextes d'interprétation
+  @tab Définition des contextes d'interprétation
 @item @file{ly/property-init.ly}
-  @tab Définitions de toutes les commandes prédéfinies courantes
+  @tab Définition de toutes les commandes prédéfinies courantes
 @item @file{ly/spanner-init.ly}
-  @tab Définitions des commandes prédéfinies pour les bandeaux
+  @tab Définition des commandes prédéfinies pour les bandeaux
 @end multitable
 
 Les autres réglages (comme les définitions de commandes @emph{markup})
@@ -4321,7 +4725,7 @@ sont :
   @tab Réglages par défaut pour les sorties MIDI
 @item @file{scm/output-lib.scm}
   @tab Réglages affectant l'apparence des frets, couleurs, altérations,
-       barres de mesure etc.
+       barres de mesureetc.
 @item @file{scm/parser-clef.scm}
   @tab Définition des clefs prises en charge
 @item @file{scm/script.scm}
@@ -4351,7 +4755,6 @@ un réglage dynamique de la propriété par le simple fait d'invoquer la
 procédure.  Dans cet exemple, nous colorons les têtes de notes en
 fonction de leur position sur la portée.
 
-
 @cindex x11-color, exemple d'utilisation de la fonction
 @cindex NoteHead, exemple de dérogation
 @cindex color, détermination de la propriété par une procédure Scheme
@@ -4372,13 +4775,12 @@ fonction de leur position sur la portée.
        ((0) (x11-color 'violet ))  ; for B
        )))
 
-\relative c' {
+\relative {
   % Arrange to obtain color from color-notehead procedure
-  \override NoteHead #'color = #color-notehead
+  \override NoteHead.color = #color-notehead
   a2 b | c2 d | e2 f | g2 a |
 }
 @end lilypond
 
 Vous trouverez dans @rextend{Fonctions de rappel} d'autres exemples
 d'utilisation de ces interfaces programmables.
-