]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/learning/tweaks.itely
Merge remote-tracking branch 'origin/translation'
[lilypond.git] / Documentation / fr / learning / tweaks.itely
index 739bcf5637024cf475d8c4ad637928ce5b872c49..616c31fe4895a2dd38c4c291ed1afb7bb78a7057 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: b93dbb4dd2fe708d0360f190cb4d06fa29bcae53
+    Translation of GIT committish: d46572826e777ed3e9fa4656535a6e9000f2ed9e
 
     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.17.6"
+@c \version "2.19.2"
 
 @c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
 @c Translation checkers: Jean-Charles Malahieude, John Mandereau
@@ -27,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
@@ -193,8 +194,18 @@ propriété en fonction de son nom.
 @cindex retouches, méthodologie
 @cindex méthodes de retouche
 
+@menu
+* La commande override::
+* La commande revert::
+* Le préfixe once::
+* La commande overrideProperty::
+* La commande tweak::
+@end menu
+
 
-@strong{La commande \override}
+@node La commande override
+@unnumberedsubsubsec La commande @code{@bs{}override}
+@translationof The override command
 
 @cindex override, commande
 @cindex override, syntaxe
@@ -270,7 +281,9 @@ 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
 
@@ -297,7 +310,7 @@ 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
 e4 f |
@@ -308,7 +321,9 @@ 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
@@ -335,7 +350,28 @@ g4 a
 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 \stemDown
+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
 
@@ -350,7 +386,9 @@ 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
 
@@ -477,11 +515,11 @@ crochet de triolet court.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -495,14 +533,14 @@ avec la commande @code{\override} :
 @cindex TupletNumber, exemple de dérogation
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -680,7 +718,7 @@ 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
@@ -702,7 +740,7 @@ 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
@@ -751,7 +789,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
@@ -958,8 +996,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é
@@ -970,29 +1012,29 @@ 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
 par des parenthèses et précédés par une apostrophe
@@ -1005,8 +1047,7 @@ par des parenthèses et précédés par une apostrophe
   @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
 
@@ -1066,9 +1107,17 @@ 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
-@c VO stencil
+
+@node La propriété stencil
+@unnumberedsubsubsec La propriété @code{stencil}
+@translationof The stencil property
 
 @cindex stencil, propriété
 
@@ -1151,8 +1200,9 @@ zéro :
 @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é
 
@@ -1187,8 +1237,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
@@ -1265,8 +1316,9 @@ 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é
 
@@ -1835,6 +1887,17 @@ 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
@@ -1925,8 +1988,9 @@ limiter les effets des autres commandes prédéfinies (fonctionnant
 précéder d'un @code{\once}, comme pour toute dérogation.
 
 
+@node Doigtés
 @unnumberedsubsubsec Doigtés
-@c VO Fingering
+@translationof Fingering
 
 @cindex doigtés, positionnement
 @cindex doigtés, accords
@@ -2049,7 +2113,7 @@ 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
@@ -2076,16 +2140,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
@@ -2294,7 +2375,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
 
@@ -2318,10 +2401,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
 
@@ -2357,8 +2442,9 @@ 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
@@ -2386,7 +2472,7 @@ 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
@@ -2399,8 +2485,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
@@ -2426,12 +2513,14 @@ 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
 chevaucheront pas horizontalement, nous devons donc corriger cette
-valeur de @code{extra-spacing-width} en @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
@@ -2440,38 +2529,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
+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
@@ -2567,17 +2837,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
@@ -2638,20 +2909,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}
@@ -2744,9 +3049,21 @@ 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
@@ -2791,8 +3108,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é
 
@@ -2834,25 +3152,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é
@@ -2860,21 +3176,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é
@@ -2887,8 +3200,9 @@ de référence de la note parente :
 @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
 
@@ -2907,7 +3221,7 @@ 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}.
@@ -2929,8 +3243,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
@@ -2955,8 +3270,9 @@ 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
@@ -2967,40 +3283,39 @@ f4-5
 
 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
+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 :
 
@@ -3008,12 +3323,12 @@ ligature chevauchent les liaisons de tenue :
 {
   \time 4/2
   <<
-    { 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'' }
   >>
   <<
-    { 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'' }
   >>
@@ -3032,7 +3347,7 @@ au-dessous de la ligne médiane mais, disons, à 1 :
 {
   \time 4/2
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c'1 ~ 2. e'8 f' }
     \\
     {
       \override Beam.positions = #'(-1 . -1)
@@ -3040,7 +3355,7 @@ au-dessous de la ligne médiane mais, disons, à 1 :
     }
   >>
   <<
-    { 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'' }
   >>
@@ -3053,8 +3368,9 @@ second bloc de croches de la première voix mais qu'il ne s'applique
 à aucune mesure de la deuxième voix.
 
 
-@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
@@ -3078,15 +3394,22 @@ 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.
+remédier, nous pourrions utiliser @code{\shiftOff}, ce qui
+malheureusement générera des avertissements au sujet d'empilements qui
+se chevauchent.  Nous préférons régler le @code{force-hshift} -- qui est
+une propriété de @code{NoteColumn} -- de cette note sur zéro.
 
 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 :
 
@@ -3099,17 +3422,11 @@ Et voici le résultat final :
   <<
     { c2 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 \override NoteColumn.force-hshift = 0 aes'2
+      \once \override NoteColumn.force-hshift = 0 f4 fes }
   >> |
   <c ees aes c>1 |
 }
@@ -3168,7 +3485,6 @@ 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
         d2
       }
@@ -3234,7 +3550,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
@@ -3294,7 +3610,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
@@ -3368,7 +3684,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
@@ -3451,7 +3767,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
@@ -3611,7 +3927,6 @@ 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
         d2
       }
@@ -3666,6 +3981,11 @@ lhMusic = \relative c' {
 @subsection Autres utilisations des retouches
 @translationof Other uses for tweaks
 
+@menu
+* Liaison entre plusieurs voix::
+* Rendu MIDI d'un point d'orgue::
+@end menu
+
 @cindex transparent, utilisation de la propriété
 @cindex création d'objet invisible
 @cindex suppression d'objets
@@ -3677,8 +3997,9 @@ lhMusic = \relative c' {
 @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
@@ -3687,7 +4008,7 @@ 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 } \\ { b[ g8] } >>
 @end lilypond
 
 @noindent
@@ -3700,9 +4021,8 @@ 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~ 8\noBeam
   }
 \\
   { b8[ g] }
@@ -3716,10 +4036,9 @@ réglant la longueur (@code{length}) sur @code{8},
 @lilypond[quote,fragment,relative=2,verbatim]
 <<
   {
-    \tweak Stem.transparent ##t
     \tweak Flag.transparent ##t
     \tweak Stem.length #8
-    b8~ b8\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b[ g8] }
@@ -3744,7 +4063,7 @@ l'exemple précédent de cette manière :
     \single \hide Stem
     \single \hide Flag
     \tweak Stem.length #8
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
@@ -3760,8 +4079,9 @@ comme les têtes des notes d'un accord.  En effet, la présence d'un
 par l'expression musicale qui le suit directement.
 
 
-@subheading Rendu MIDI d'un point d'orgue
-@c VO Simulating a fermata in MIDI
+@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
@@ -3841,7 +4161,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
@@ -3951,20 +4271,15 @@ 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?)
-   (make-music
-    'TextScriptEvent
-    'direction UP
-    'text (markup #:bold (#:box string))))
+   #{ <>^\markup \bold \box #string #})
 
 \relative c'' {
   \tempo 4=50
@@ -3987,12 +4302,9 @@ 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
@@ -4027,12 +4339,9 @@ 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
@@ -4064,12 +4373,9 @@ 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
@@ -4080,7 +4386,7 @@ inst =
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4097,12 +4403,9 @@ inst =
 
 @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
@@ -4113,7 +4416,7 @@ inst =
 \layout{
   \context {
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context {
@@ -4148,12 +4451,9 @@ aussi augmenter la taille globale de police.
 @example
 %%%  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
@@ -4166,7 +4466,7 @@ inst =
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4182,12 +4482,9 @@ inst =
 
 @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
@@ -4199,7 +4496,7 @@ inst =
 
 \layout{
   \context { \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context { \Voice
@@ -4225,8 +4522,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
@@ -4275,7 +4572,7 @@ encore vous l'avez compilé directement à partir des sources ; et
 (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 GNU/Linux
@@ -4305,8 +4602,7 @@ 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