]> 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 62e328eed606a5c6efee4924c580efcac96272e3..d66c0d0d7c301551dd7f9d3da0064b72833d13ae 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 47c20999a49c7c77167089761a4dd964884e53fe
+    Translation of GIT committish: 45f95ed2dabb3aef3c9a6995701dc255ba88d68a
 
     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.11"
+@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
@@ -194,17 +195,17 @@ propriété en fonction de son nom.
 @cindex méthodes de retouche
 
 @menu
-* La commande \override::
-* La commande \revert::
-* Le préfixe \once::
-* La commande \overrideProperty::
-* La commande \tweak::
+* La commande override::
+* La commande revert::
+* Le préfixe once::
+* La commande overrideProperty::
+* La commande tweak::
 @end menu
 
 
-@node La commande \override
-@unnumberedsubsubsec La commande @code{\override}
-@translationof The \override command
+@node La commande override
+@unnumberedsubsubsec La commande @code{@bs{}override}
+@translationof The override command
 
 @cindex override, commande
 @cindex override, syntaxe
@@ -280,9 +281,9 @@ g4 a b c |
 @end lilypond
 
 
-@node La commande \revert
-@unnumberedsubsubsec La commande @code{\revert}
-@translationof The \revert command
+@node La commande revert
+@unnumberedsubsubsec La commande @code{@bs{}revert}
+@translationof The revert command
 
 @cindex revert, commande
 
@@ -320,9 +321,9 @@ b4 c |
 @end lilypond
 
 
-@node Le préfixe \once
-@unnumberedsubsubsec Le préfixe @code{\once}
-@translationof The \once prefix
+@node Le préfixe once
+@unnumberedsubsubsec Le préfixe @code{@bs{}once}
+@translationof The once prefix
 
 @funindex \once
 @funindex once
@@ -362,15 +363,15 @@ g4 a
 b c |
 @end lilypond
 
-Les commandes prédéfinies de la forme @code{\...Neutral},
-@code{\...Off} et @code{\un...} font appel, en interne, à une
-instruction @code{\revert} plutôt que @code{\override} ; les
+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{\overrideProperty}
-@translationof The \overrideProperty command
+@node La commande overrideProperty
+@unnumberedsubsubsec La commande @code{@bs{}overrideProperty}
+@translationof The overrideProperty command
 
 @cindex overrideProperty, commande
 
@@ -385,9 +386,9 @@ ici par souci d'exhaustivité ; pour le détail, voir
 @c Maybe explain in a later iteration  -td
 
 
-@node La commande \tweak
-@unnumberedsubsubsec La commande @code{\tweak}
-@translationof The \tweak command
+@node La commande tweak
+@unnumberedsubsubsec La commande @code{@bs{}tweak}
+@translationof The tweak command
 
 @cindex tweak, commande
 
@@ -2145,7 +2146,7 @@ qui se révèlerait ne pas être optimal.
 
 @menu
 * La propriété outside-staff-priority::
-* La commande \textLengthOn::
+* La commande textLengthOn::
 * Positionnement des nuances::
 * Dimensionnement des objets graphiques::
 @end menu
@@ -2374,9 +2375,9 @@ notes pour laisser plus de place au texte.  C'est possible grâce à la
 commande @code{textLengthOn}.
 
 
-@node La commande \textLengthOn
-@unnumberedsubsubsec La commande @code{\textLengthOn}
-@translationof The \textLengthOn command
+@node La commande textLengthOn
+@unnumberedsubsubsec La commande @code{@bs{}textLengthOn}
+@translationof The textLengthOn command
 
 @cindex notes, répartition selon le texte
 
@@ -2471,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
@@ -2512,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
@@ -2526,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
@@ -2653,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
@@ -2942,15 +3127,14 @@ note par la retouche de @code{right-padding}.
 @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é
@@ -2958,12 +3142,8 @@ 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
 
 
@@ -2971,9 +3151,9 @@ a4\f b\mf c\mp b\p
 @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é
@@ -3007,7 +3187,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}.
@@ -3109,12 +3289,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'' }
   >>
@@ -3133,7 +3313,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)
@@ -3141,7 +3321,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'' }
   >>
@@ -3270,7 +3450,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
       }
@@ -3336,7 +3515,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
@@ -3396,7 +3575,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
@@ -3470,7 +3649,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
@@ -3553,7 +3732,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
@@ -3713,7 +3892,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
       }
@@ -3795,7 +3973,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
@@ -3808,9 +3986,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] }
@@ -3824,10 +4001,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] }
@@ -3852,7 +4028,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] }
@@ -4060,12 +4236,9 @@ 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
@@ -4094,12 +4267,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
@@ -4134,12 +4304,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
@@ -4171,12 +4338,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
@@ -4204,12 +4368,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
@@ -4255,12 +4416,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
@@ -4289,12 +4447,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
@@ -4332,8 +4487,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