]> 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 f4d855fe702c3615e9e9c39d03a3fb685f64b6c3..cf8aa9ef60e70c4cfeadae28cf19f8d8b2022c2e 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: e0f3be42e16458e44183c142561ccdd05aa1bfb9
+    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.17.20"
+@c \version "2.19.22"
 
 @c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
 @c Translation checkers: Jean-Charles Malahieude, John Mandereau
@@ -49,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
@@ -90,7 +90,7 @@ 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
@@ -107,12 +107,12 @@ les liaisons, les nuances, etc.  Chaque objet dispose de son propre
 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 :
+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.
+leur taille, leur couleuretc.
 
 Certains objets de rendu, comme les liaisons de phrasé, les soufflets
 de crescendo, les marques d'octaviation et beaucoup d'autres
@@ -122,7 +122,15 @@ 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
@@ -148,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é
@@ -181,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 ou d'une
-propriété en fonction de son nom.
+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
@@ -195,17 +203,18 @@ 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::
+* Le préfixe single::
 @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
@@ -239,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
@@ -252,22 +261,20 @@ 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.
 
-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 :
+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
@@ -281,9 +288,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
 
@@ -292,11 +299,11 @@ 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}
@@ -304,8 +311,8 @@ la valeur par défaut.
 
 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
@@ -321,9 +328,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
@@ -355,12 +362,12 @@ 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
+c4( d)
+\once \slurDashed
+e4( f) |
+g4( a)
 \once \hideNotes
-b c |
+b( c) |
 @end lilypond
 
 Les commandes prédéfinies de la forme @code{\@dots{}Neutral},
@@ -369,9 +376,9 @@ 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
 
@@ -386,9 +393,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
 
@@ -487,26 +494,26 @@ jusqu'à l'événement originel :
 
 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
+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 nolet doit être imprimé en rouge sur le premier
+le coefficient de n-olet doit être imprimé en rouge sur le premier
 crochet de triolet court.
 
 @cindex @code{\tweak}, exemple
@@ -523,7 +530,7 @@ crochet de triolet court.
 }
 @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} :
 
@@ -549,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
@@ -619,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).
 
@@ -628,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.
 
@@ -682,10 +748,10 @@ Nous obtenons :
 
 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é
@@ -729,8 +795,8 @@ 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
+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,
@@ -885,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
@@ -914,10 +980,10 @@ contrôlent les polices de caractères, et notamment
 
 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
@@ -1036,7 +1102,7 @@ pour obtenir des valeurs fait l'objet de la rubrique
   @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
@@ -1142,8 +1208,8 @@ 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
@@ -1172,6 +1238,7 @@ LilyPond dispose d'un raccourci -- @code{\omit} (pour « oublier »)
 -- à cet effet :
 
 @funindex \omit
+@funindex omit
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
@@ -1250,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
@@ -1359,7 +1426,7 @@ invisibles.  Attention : aucune apostrophe ne précède @code{white}
 -- 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 @qq{liste normale}, sont des variables.  Pour en
+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.
 
@@ -1477,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 }
@@ -1504,8 +1571,8 @@ régler le stencil de chacun sur @code{#f}, comme ceci :
 
 @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 }
@@ -1567,8 +1634,8 @@ 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 }
@@ -1593,8 +1660,8 @@ donnerait :
 
 @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 }
@@ -1659,8 +1726,8 @@ 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 }
@@ -1698,12 +1765,12 @@ 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
+« é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
@@ -1730,8 +1797,8 @@ augmente, les 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 }
@@ -1799,8 +1866,8 @@ 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
@@ -1856,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
@@ -1903,31 +1970,32 @@ automatiquement dès lors que @code{direction} est activé.
 @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}.
 
@@ -1977,7 +2045,7 @@ 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
 
 Les variantes @code{\xxxNeutral} et @code{\xxxNormal} de ces
@@ -1987,6 +2055,14 @@ 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
@@ -2146,7 +2222,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
@@ -2327,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
@@ -2349,11 +2425,11 @@ c4( c^\markup { \tiny \sharp } d4.) c8 |
 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é
@@ -2366,8 +2442,8 @@ 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
@@ -2375,9 +2451,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
 
@@ -2476,7 +2552,7 @@ 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
@@ -2727,7 +2803,7 @@ sur la distance de base (@code{basic-distance}) et le décalage
   >>
 >>
 @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}.
@@ -2782,7 +2858,7 @@ 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.
 
@@ -2837,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
@@ -2908,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}
@@ -2969,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
 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
@@ -2999,7 +3110,7 @@ trouver les propriétés à retoucher pour obtenir un déplacement.
 @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 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}
@@ -3035,7 +3146,7 @@ précédente peuvent nous aider à résoudre les collisions.
 @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
@@ -3095,8 +3206,8 @@ 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
@@ -3126,15 +3237,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é
@@ -3142,12 +3252,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 a\mp b\p
+\override DynamicLineSpanner.staff-padding = #3
+a4\f b\mf a\p b\mp
 @end lilypond
 
 
@@ -3232,8 +3338,7 @@ 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)
 f4-5
@@ -3244,15 +3349,15 @@ f4-5
 @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
+position et l'inclinaison des n-olets, coulés, liaisons de phrasé et
 barres de ligature.
 
 Voici un exemple où la liaison de phrasé recouvre la liaison
@@ -3289,18 +3394,26 @@ 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
@@ -3313,29 +3426,38 @@ 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''
+      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.
 
 
 @node La propriété force-hshift
@@ -3347,10 +3469,10 @@ 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 }
     \\
@@ -3363,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 :
 
@@ -3380,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 |
 }
@@ -3426,16 +3545,16 @@ 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 |
+    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 {
@@ -3468,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
@@ -3500,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
@@ -3508,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
@@ -3519,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
@@ -3534,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
@@ -3568,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
@@ -3579,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
@@ -3594,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
@@ -3620,7 +3739,7 @@ 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
@@ -3640,9 +3759,9 @@ 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 |
+    r2 c''4.\( g8 |
     \once \override Tie.staff-position = #3.5
     bes1~ |
     \bar "||"
@@ -3653,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
@@ -3668,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
@@ -3691,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
@@ -3721,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 |
+    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
@@ -3736,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
@@ -3753,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
@@ -3796,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 |
+    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
@@ -3831,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
@@ -3867,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 |
+    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
@@ -3910,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
@@ -3955,15 +4074,8 @@ lhMusic = \relative c' {
 * 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
 @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
 
 
 @node Liaison entre plusieurs voix
@@ -3977,37 +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.
+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.
 
-@cindex Stem, exemple de dérogation
-@cindex transparent, exemple d'utilisation de la propriété
+@cindex Stem, exemple de suppression
+@cindex Flag, exemple de suppression
+@cindex @code{\omit}, exemple d'utilisation
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<<
-  {
-    \tweak Flag.transparent ##t
-    b8~ b\noBeam
-  }
-\\
-  { b8[ g] }
->>
-@end lilypond
-
-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 Flag.transparent ##t
-    \tweak Stem.length #8
-    b8~ b8\noBeam
+    \once \omit Stem
+    \once \omit Flag
+    b8~ 8\noBeam
   }
 \\
   { b[ g8] }
@@ -4015,38 +4115,10 @@ réglant la longueur (@code{length}) sur @code{8},
 @end lilypond
 
 
-@funindex \single
-@cindex affinage généré par une dérogation
-
-Nous aurions pu, pour déroger à la transparence d'un objet
-graphique, utiliser le raccourci @code{\omit} que nous avons vu
-plus haut.  L'affinage constitue une opération différente en ceci
-qu'il n'affecte que les propriétés générées par une expression
-musicale unique.  Nous pourrions tout à fait convertir des
-dérogations en affinages à l'aide d'un @code{\single} et ré-écrire
-l'exemple précédent de cette manière :
-
-@lilypond[quote,fragment,relative=2,verbatim]
-<<
-  {
-    \single \hide Stem
-    \single \hide Flag
-    \tweak Stem.length #8
-    b8~ b\noBeam
-  }
-\\
-  { b8[ g] }
->>
-@end lilypond
-
-Dans ce cas particulier, la différence avec un @code{\once \hide}
-n'est pas flagrante.  Elle prend cependant toute son importance
-lorsque plusieurs objets de retrouvent au même instant musical --
-comme les têtes des notes d'un accord.  En effet, la présence d'un
-@code{\once} sera répercutée à tous les objets, alors qu'un
-@code{\single} n'affectera, lui, qu'un seul objet, celui généré
-par l'expression musicale qui le suit directement.
-
+@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
@@ -4076,10 +4148,10 @@ 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
+    a'4 a a
     \once \hide Score.MetronomeMark
     % Invisible tempo marking to lengthen fermata in MIDI
     \tempo 4=80
@@ -4098,10 +4170,10 @@ 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
+    a'4 a a
     \once \omit Score.MetronomeMark
     % Invisible tempo marking to lengthen fermata in MIDI
     \tempo 4=80
@@ -4182,10 +4254,10 @@ normal = {
 
 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,
@@ -4240,22 +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?)
    #{ <>^\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 |
@@ -4274,16 +4343,13 @@ 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 #@})
 @end example
@@ -4302,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 |
@@ -4314,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 #})
 
-\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 |
@@ -4342,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 :
@@ -4351,16 +4414,13 @@ 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 #@})
 
@@ -4384,16 +4444,13 @@ 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
-     (parser location string)
+     (string)
      (string?)
    #{ <>^\markup \bold \box #string #})
 
@@ -4414,9 +4471,9 @@ inst =
   }
 }
 
-\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 |
@@ -4426,7 +4483,7 @@ 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
@@ -4435,16 +4492,13 @@ 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
-     (parser location string)
+     (string)
      (string?)
    #@{ <>^\markup \bold \box #string #@})
 
@@ -4469,16 +4523,13 @@ 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
-     (parser location string)
+     (string)
      (string?)
    #{ <>^\markup \bold \box #string #})
 
@@ -4495,9 +4546,9 @@ inst =
   }
 }
 
-\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 |
@@ -4512,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
@@ -4529,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 :
 
@@ -4580,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
 
@@ -4613,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}
@@ -4724,7 +4775,7 @@ 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
   a2 b | c2 d | e2 f | g2 a |