]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/notation/changing-defaults.itely
Merge remote-tracking branch 'origin/translation' into staging
[lilypond.git] / Documentation / fr / notation / changing-defaults.itely
index 8bbfa48b5a119f61565d99baee9452120b5aa9c5..e866031266bdb225591789424995eb73164dc2fc 100644 (file)
@@ -1,13 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
 @ignore
-    Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
+    Translation of GIT committish: 89414291ba9ff99d3d5600580f0cd2b6e937b74b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.19.7"
 
 @c Translators: Valentin Villenave, Jean-Charles Malahieude
 @c Translation checkers: Gilles Thibault
@@ -63,11 +64,11 @@ symboles, en Scheme.}
 @section Contextes d'interprétation
 @translationof Interpretation contexts
 
-Cette section traite des contextes.
+Nous allons voir ici ce que sont les contextes et comment les modifier.
 
 @menu
 * Tout savoir sur les contextes::
-* Création d'un contexte::
+* Création et référencement d'un contexte::
 * Conservation d'un contexte::
 * Modification des greffons de contexte::
 * Modification des réglages par défaut d'un contexte::
@@ -104,14 +105,10 @@ Référence des propriétés internes :
 I knew it would... And leaving out some of them is perfectly fine
 with me.
 I do think that a list like this, with the main contexts and a
-brief
-description of  what they do (perhaps also with a note about what
-default
-behavior is associated with each of them, but this may be
-unmanageable),
-should be there, and then we could simply list the remaining ones
-without
-further explanation and with links to the IR.
+brief description of  what they do (perhaps also with a note about what
+default behavior is associated with each of them, but this may be
+unmanageable), should be there, and then we could simply list the
+remaining ones without further explanation and with links to the IR.
 @end ignore
 
 @c TODO Improve layout, order and consistency of wording -td
@@ -123,6 +120,7 @@ further explanation and with links to the IR.
 Les contextes sont hiérarchisés :
 
 @menu
+* Définitions de la sortie -- hiérarchie des contextes::
 * Score -- le père de tous les contextes::
 * Contextes de haut niveau -- les systèmes::
 * Contextes de niveau intermédiaire -- les portées::
@@ -130,6 +128,62 @@ Les contextes sont hiérarchisés :
 @end menu
 
 
+@node Définitions de la sortie -- hiérarchie des contextes
+@unnumberedsubsubsec Définitions de la sortie -- hiérarchie des contextes
+@translationof Output definitions - blueprints for contexts
+
+Les lignes qui suivent traitent de l'intérêt des définitions de sorties
+lorsque l'on travaille avec les contextes.  Des exemples de définitions
+seront présentés plus avant -- voir
+@ref{Modification de tous les contextes d'un même type}.
+
+@cindex définition de sortie
+@cindex sortie, définitions
+@funindex \layout
+
+Alors que la musique écrite dans un fichier fait référence à des types
+ou noms de contexte, les contextes ne sont effectivement créés que
+lorsque la musique est interprétée.  LilyPond interprète la musique sous
+le contrôle d'une « définition de sortie », voire différemment selon
+le cas et génère ainsi différents résultats.  La définition de sortie
+appropriée pour une sortie imprimable est spécifiée à l'aide d'un
+@code{\layout}.
+
+@funindex \midi
+
+Une définition de sortie beaucoup plus simple sera utilisée pour
+produire une sortie Midi, spécifiée à l'aide d'un @code{\midi}.
+LilyPond utilise en interne plusieurs autres définitions de sortie,
+notamment dans le cadre du combinateur automatique de parties (voir
+@ref{Regroupement automatique de parties}) ou la reproduction d'extraits
+(voir @ref{Citation d'autres voix}).
+
+Les définitions de sortie ont pour objet non seulement de définir la
+relation entre les contextes, mais aussi leurs réglages par défaut.  Si
+la plupart des adaptations prennent habituellement place au sein d'un
+bloc @code{\layout}, les réglages affectant le Midi ne seront effectifs
+que s'ils interviennent au sein d'un bloc @code{\midi}.
+
+
+@funindex autoBeaming
+
+Certains réglages affectent plusieurs sorties : par exemple, lorsque
+@code{autoBeaming} est désactivé dans un contexte, les ligatures sont
+considérées comme marquant un mélisme dans le but de faire correspondre
+la musique aux paroles comme indiqué dans
+@ref{Durée automatique des syllabes}.  Cette correspondance est
+respectée autant à l'écrit qu'à l'oral.  Des modifications apportées à
+@code{autoBeaming} par une définition de contexte au sein d'un bloc
+@code{\layout} ne seront pas reportées dans le bloc @code{\midi}
+correspondant ; paroles et musique ne seront alors plus synchrones dans
+le fichier Midi.
+
+@seealso
+Fichiers d'initialisation :
+@file{ly/engraver-init.ly},
+@file{ly/performer-init.ly}.
+
+
 @node Score -- le père de tous les contextes
 @unnumberedsubsubsec Score -- le père de tous les contextes
 @translationof Score - the master of all contexts
@@ -142,8 +196,7 @@ tonalité ; c'est donc là qu'il faut s'assurer que les différents
 toutes les portées.
 
 Dès lors que LilyPond rencontre un bloc @code{\score @{@dots{}@}}
-ou @code{\layout @{@dots{}@}}, se crée implicitement un contexte
-@code{Score}.
+se crée implicitement un contexte @code{Score}.
 
 
 @node Contextes de haut niveau -- les systèmes
@@ -189,7 +242,7 @@ plusieurs contextes @code{Voice}.
 
 De même nature qu'un @code{Staff}, mais destiné à n'imprimer que du
 rythme.  Quelle que soit la hauteur, les notes seront imprimées sur une
-même et unique ligne.
+même et unique ligne ; la sortie MIDI rendra les hauteurs saisies.
 
 @strong{@emph{TabStaff}}
 
@@ -216,9 +269,11 @@ particulièrement adapté au style mensural de musique ancienne.
 @unnumberedsubsubsec Contextes de bas niveau -- les voix
 @translationof Bottom-level contexts - voices
 
-Les contextes de niveau @qq{voix} initialisent un certain nombre de
-propriétés et activent les graveurs appropriés.  S'agissant de contextes
-du plus bas niveau, ils ne sauraient contenir d'autre contexte.
+Les contextes de niveau « voix » initialisent un certain nombre de
+propriétés et activent les graveurs appropriés.  Un contexte de bas
+niveau est un contexte n'ayant aucun contexte enfant -- ou
+@code{defaultchild}.  Bien qu'ils puissent accepter ou contenir des
+sous-contextes, ceux-ci devront être libellés et créés explicitement.
 
 @strong{@emph{Voice}}
 
@@ -294,152 +349,216 @@ context.
 @end ignore
 
 
-@node Création d'un contexte
-@subsection Création d'un contexte
-@translationof Creating contexts
-
-@c TODO more complete descriptions rather than learning style
+@node Création et référencement d'un contexte
+@subsection Création et référencement d'un contexte
+@translationof Creating and referencing contexts
 
-Lorsqu'une partition ne comporte qu'une portée avec une seule voix, les
-contextes sont créés automatiquement.  Dès que la structure s'étoffe, il
-devient nécessaire de les créer explicitement, en suivant l'une des
-trois méthodes suivantes :
-
-@itemize
-
-@item
-La commande la plus simple à utiliser est @code{\new} ; c'est aussi
-la plus courte.  Elle se place juste avant une expression musicale et se
-libelle ainsi :
+@cindex contexte, création
+@cindex contexte, référencement
 
 @funindex \new
-@cindex nouveau contexte
-@cindex contexte, création
+@funindex \context
+
+LilyPond crée automatiquement des contextes de bas niveau lorsque
+l'expression musicale intervient avant qu'un contexte adéquat n'existe,
+ce qui peut être pratique dans le cadre d'une partition simple ou de
+courts fragments tels ceux inclus dans cette documentation. Dès que la
+structure s'étoffe, il devient nécessaire de créer explicitement tous
+les contextes, à l'aide des commandes @code{\new} ou @code{\context}.
+Leur syntaxe est très similaire :
 
 @example
-\new @var{type} @var{expression_musicale}
+[\new | \context] @var{Contexte} [ = @var{nom}] [@var{musique}]
 @end example
 
 @noindent
-où @var{type} est le nom d'un contexte (par ex. @code{Staff} ou
-@code{Voice}).  Cette commande crée un nouveau contexte et y interprète
-le contenu de l'@var{expression_musicale}.
+où peuvent intervenir aussi bien @code{\new} que @code{\context}.
+Le @var{Contexte} est le nom du contexte à créer, qui éventuellement
+s'appellera plus particulièrement @var{nom} ; il contient l'expression
+musicale unique @var{musique} qui devra être interprétée dans ce
+contexte par les graveurs ou exécutants.
 
-C'est ce qui se passe lorsqu'une partition comporte plusieurs portées :
-chaque partie qui doit apparaître sur une portée spécifique est précédée
-d'un @code{\new Staff}.
+Le préfixe @code{\new} non suivi d'un nom s'utilise principalement pour
+créer une partition avec plusieurs portées :
 
-@lilypond[quote,verbatim,relative=2,ragged-right]
+@lilypond[quote,verbatim,relative=2]
 <<
-  \new Staff { c4 c }
-  \new Staff { d4 d }
+  \new Staff {
+    % leave the Voice context to be created implicitly
+    c4 c
+  }
+  \new Staff {
+    d4 d
+  }
 >>
 @end lilypond
 
-La commande @code{\new} vous permet aussi d'attribuer un nom au
-contexte que vous créez.
-
-@example
-\new @var{type} = @var{nom} @var{musique}
-@end example
-Le nom que vous spécifiez ne pourra être utilisé que s'il n'a pas déjà
-été attribué à un autre contexte.
+@noindent
+et pour regrouper des voix sur une même portée :
 
-@funindex \context
-@item
-Tout comme @code{\new}, la commande @code{\context} affectera une
-expression musicale à un objet contextuel ; elle lui attribuera de
-surcroît un nom.  La commande @code{\context} s'emploie de la façon
-suivante :
+@lilypond[quote,verbatim,relative=2]
+<<
+  \new Staff <<
+    \new Voice {
+      \voiceOne
+      c8 c c4 c c
+    }
+    \new Voice {
+      \voiceTwo
+      g4 g g g
+    }
+  >>
+>>
+@end lilypond
 
-@example
-\context @var{type} = @var{nom} @var{musique}
-@end example
+@noindent
+@code{\new} est à priviliégier lorsque les contextes ne sont pas nommés.
 
-LilyPond va dans un premier temps vérifier l'existence d'un contexte du
-type @var{type} appelé @var{nom}.  En l'absence d'un tel contexte,
-LilyPond crée un nouveau contexte du nom que vous avez spécifié.  Cette
-procédure est tout à fait pertinente lorsque vous faites appel à ce
-contexte particulier par la suite.  Prenons le cas d'un chant :
-nous commençons par nommer la ligne mélodique,
+La différence entre les commandes @code{\new} et @code{\context} se
+situe au niveau de leurs effets :
 
-@example
-\context Voice = "@b{tenor}" @var{musique}
-@end example
+@itemize
+@item
+La commande @code{\new}, suivie ou non d'un nom, crée un tout
+nouveau contexte même s'il en existe déjà un portant le même nom :
 
-@noindent
-de telle sorte que le texte s'aligne correctement sur les notes :
+@lilypond[quote,verbatim,relative=2]
+<<
+  \new Staff <<
+    \new Voice = "A" {
+      \voiceOne
+      c8 c c4 c c
+    }
+    \new Voice = "A" {
+      \voiceTwo
+      g4 g g g
+    }
+  >>
+>>
+@end lilypond
 
-@example
-\new Lyrics \lyricsto "@b{tenor}" @var{paroles}
-@end example
+@item
+La commande @code{\context} avec nommage créera un contexte distinct
+uniquement dans le cas où ne préexiste aucun contexte du même nom dans
+la même hiérarchie de contextes.  Dans le cas contraire, il servira de
+référence au contexte précédemment créé, et son expression musicale sera
+transmise dans ce contexte pour interprétation.
 
-@noindent
+Cette procédure est tout à fait pertinente lorsque l'on sépare mise en
+forme de la partition et contenu musical.  Les deux formulations
+ci-après sont tout à fait valides :
 
-L'une des autres utilisations de contextes explicitement nommés consiste
-à fusionner deux expressions musicales dans un même contexte.  Dans
-l'exemple qui suit, notes et articulations sont saisies indépendamment.
+@lilypond[quote,verbatim]
+\score {
+  <<
+    % score layout
+    \new Staff <<
+      \new Voice = "one" {
+        \voiceOne
+      }
+      \new Voice = "two" {
+        \voiceTwo
+      }
+    >>
 
-@example
-music = @{ c4 c4 @}
-arts = @{ s4-. s4-> @}
-@end example
+    % musical content
+    \context Voice = "one" {
+      \relative c'' {
+        c4 c c c
+      }
+    }
+    \context Voice = "two" {
+      \relative c'' {
+        g8 g g4 g g
+      }
+    }
+  >>
+}
+@end lilypond
 
-Elles sont ensuite fusionnées par affectation au même contexte
-@code{Voice} :
+@lilypond[quote,verbatim]
+\score {
+  <<
+    % score layout
+    \new Staff <<
+      \context Voice = "one" {
+        \voiceOne
+      }
+      \context Voice = "two" {
+        \voiceTwo
+      }
+    >>
 
-@example
-<<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
-@end example
-@lilypond[quote,ragged-right]
-music = { c4 c4 }
-arts = { s4-. s4-> }
-\relative c'' <<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
+    % musical content
+    \context Voice = "one" {
+      \relative c'' {
+        c4 c c c
+      }
+    }
+    \context Voice = "two" {
+      \relative c'' {
+        g8 g g4 g g
+      }
+    }
+  >>
+}
 @end lilypond
 
-Grâce à ce mécanisme, vous pouvez tout à fait générer une version
-@qq{Urtext} (édition originale) et optionnellement ajouter distinctement
-des articulations à ces mêmes notes.
-
-@cindex création de contextes
+@noindent
+Par ailleurs, le recours à des variables produira les mêmes effets --
+voir @rlearning{Organisation du code source avec des variables}.
 
 @item
-Voici une troisième manière de créer un contexte :
+La commande @code{\context} utilisée sans nommage recherchera le premier
+de tous les contextes du même type précédemment créés dans la même
+hiérarchie de contextes ; l'expression musicale lui sera alors transmise
+pour interprétation.  Bien que rarement utilisée, cette formulation de
+@code{\context} sans nommage ni expression musicale permet de définir le
+contexte dans lequel une procédure Scheme comportant une clause
+@code{\applyContext} devra s'exécuter.
 
 @example
-\context @var{type} @var{musique}
+\new Staff \relative c' @{
+  c1
+  \context Timing
+  \applyContext #(lambda (ctx)
+                   (newline)
+                   (display (ly:context-current-moment ctx)))
+  c1
+@}
 @end example
 
-@noindent
-Très comparable à une déclaration @code{\context = @var{nom}},
-cette méthode permet de s'affranchir du type de contexte.
+@end itemize
 
-Cette variante s'utilise lorsque les expression musicales peuvent être
-interprétées à différents niveaux, comme par exemple lorsque intervient
-la commande @code{\applyOutput} -- pour de plus amples détails, voir
-@rextend{Application d'une fonction à tous les objets de mise en forme}.
-En l'absence de @code{\context} explicite, LilyPond considère qu'il
-s'agit de @code{Voice}.
+Un contexte auquel il est ultérieurement fait référence doit
+impérativement être nommé.  C'est le cas par exemple lorsque des paroles
+sont associées à de la musique :
 
 @example
-\applyOutput #'@var{contexte} #@var{fonction}   % s'applique à Voice
+\new Voice = "tenor" @var{musique}
+@dots{}
+\new Lyrics \lyricsto "tenor" @var{paroles}
 @end example
 
-Vous devrez respecter ces formulations si la fonction doit
-s'interpréter au niveau @code{Score} ou @code{Staff} :
+@noindent
+L'association de paroles à de la musique est abordée en détails à la
+rubrique @ref{Durée automatique des syllabes}.
+
+Les propriétés de tous les contextes d'un même type se modifient au sein
+d'un bloc @code{\layout}, selon une syntaxe différente -- voir
+@ref{Modification de tous les contextes d'un même type}.  Une telle
+construction permet de séparer mise en forme et contenu musical.
+Lorsque un seul contexte requiert une adaptation, mieux vaut recourir à
+un bloc @code{\with} -- voir
+@ref{Modification d'un contexte particulier}.
 
-@example
-\applyOutput #'Score #@var{fonction}
-\applyOutput #'Staff #@var{fonction}
-@end example
+@seealso
+Manuel d'initiation :
+@rlearning{Organisation du code source avec des variables}.
 
-@end itemize
+Manuel de notation :
+@ref{Modification d'un contexte particulier},
+@ref{Durée automatique des syllabes}.
 
 
 @node Conservation d'un contexte
@@ -460,12 +579,12 @@ l'aide de la commande @code{\lyricsto} ou si des événements surviennent
 à nouveau pour ce contexte précédemment actif.
 
 Une exception cependant à cette règle : en présence d'un contexte
-@code{Staff} ou dans une construction @code{<<...>>}, un seul des
+@code{Staff} ou dans une construction @code{<< @dots{} >>}, un seul des
 contextes @code{Voice} inclus restera actif jusqu'à la fin du contexte
-@code{Staff} ou de la construction @code{<<...>>}, y compris s'il y
+@code{Staff} ou de la construction @code{<< @dots{} >>}, y compris s'il y
 a des @qq{trous}.  Le contexte alors persistant sera le premier
-rencontré dans la construction @code{@{...@}} sans tenir compte des
-éventuels @code{<<...>>} qu'elle pourrait contenir.
+rencontré dans la construction @code{@{ @dots{} @}} sans tenir compte
+des éventuels @code{<< @dots{} >>} qu'elle pourrait contenir.
 
 Un contexte restera actif dès lors qu'il s'y passera toujours quelque
 chose.  Un contexte @code{Staff} restera actif si l'une des voix qu'il
@@ -644,7 +763,7 @@ graveurs :
   @emph{etc.}
 @}
 @{
-  @emph{..musique..}
+  @emph{@dots{}musique@dots{}}
 @}
 @end example
 
@@ -692,14 +811,16 @@ peut désormais avoir sa propre métrique.
     \new Staff \with {
       \consists "Timing_translator"
       \consists "Default_bar_line_engraver"
-    } {
+    }
+    \relative c'' {
         \time 3/4
         c4 c c c c c
     }
   \new Staff \with {
     \consists "Timing_translator"
     \consists "Default_bar_line_engraver"
-  } {
+  }
+  \relative c'' {
       \time 2/4
       c4 c c c c c
   }
@@ -788,6 +909,10 @@ indépendamment de la musique dans un bloc @code{\layout} -- placé dans
 le bloc @code{\score} auquel ces modifications doivent s'appliquer -- au
 moyen d'un bloc @code{\context}.
 
+Les réglages dévolus à la sortie MIDI viendront quant à eux se placer
+dans un bloc @code{\midi} -- voir
+@ref{Définitions de la sortie -- hiérarchie des contextes}.
+
 @example
 \layout @{
   \context @{
@@ -818,7 +943,7 @@ contexte :
   \layout {
     \context {
       \Staff
-      \override Stem #'thickness = #4.0
+      \override Stem.thickness = #4.0
     }
   }
 }
@@ -846,7 +971,7 @@ en définissant directement une propriété de contexte :
 
 @item
 à l'aide d'une commande prédéfinie comme @code{\dynamicUp}, ou bien une
-expression musicale telle que @code{\accidentalStyle "dodecaphonic"} :
+expression musicale telle que @code{\accidentalStyle dodecaphonic} :
 
 @c KEEP LY
 @lilypond[quote,verbatim]
@@ -870,7 +995,7 @@ expression musicale telle que @code{\accidentalStyle "dodecaphonic"} :
 
 @item
 à l'aide d'une variable personnalisée contenant un bloc @code{\with} :
-pour de plus amples iformations sur le bloc @code{\with}, voir
+pour de plus amples informations sur le bloc @code{\with}, voir
 @ref{Modification d'un contexte particulier}.
 
 @c KEEP LY
@@ -919,7 +1044,7 @@ musical.
   \layout {
     \accidentalStyle dodecaphonic
     \set fontSize = #-4
-    \override Voice.Stem #'thickness = #4.0
+    \override Voice.Stem.thickness = #4.0
   }
 }
 @end lilypond
@@ -934,20 +1059,23 @@ musical.
 
 Dans le cas d'un contexte pris individuellement, ses propriétés se
 modifient à l'aide d'un bloc @code{\with}.  Toutes les autres instances
-de contexte appartenant au même type seront affectés des réglages
+de contexte appartenant au même type seront affectées des réglages
 prédéfinis par LilyPond, modifiés le cas échéant par un bloc
 @code{\layout}.  Le bloc @code{\with} se place directement à la suite de
 la commande @code{\new} @var{type-de-contexte}.
 
 @example
-\new Staff
-\with @{
-  [réglages pour ce contexte pris individuellement]
-@} @{
-...
+\new Staff \with @{ [réglages pour ce contexte pris individuellement] @}
+@{
+  @dots{}
 @}
 @end example
 
+Dans la mesure où une telle « modification de contexte » est spécifiée
+au sein même de la musique, ses effets toucheront @b{toutes} les sorties
+(imprimable @b{et} Midi), contrairement à ce qui se passe lorsque les
+adaptations sont réalisées dans la définition d'une sortie.
+
 La spécification des adaptations peut se faire de différentes manières :
 
 @itemize
@@ -959,10 +1087,7 @@ contexte :
 @lilypond[quote,verbatim]
 \score {
   \new Staff {
-    \new Voice
-    \with {
-      \override Stem #'thickness = #4.0
-    }
+    \new Voice \with { \override Stem.thickness = #4.0 }
     {
       \relative c'' {
         a4^"Hampes épaisses" a a a
@@ -985,10 +1110,8 @@ en définissant directement une propriété de contexte :
         a4 a a a
       }
     }
-    \new Staff
-    \with {
-      fontSize = #-4
-    } {
+    \new Staff \with { fontSize = #-4 }
+    {
       \relative c'' {
         a4^"Smaller font" a a a
         a4 a a a
@@ -1013,11 +1136,9 @@ en définissant directement une propriété de contexte :
         }
       }
     }
-    \new Staff
-    \with { \accidentalStyle dodecaphonic }
+    \new Staff \with { \accidentalStyle dodecaphonic }
     {
-      \new Voice
-      \with { \dynamicUp }
+      \new Voice \with { \dynamicUp }
       {
         \relative c'' {
           a4^"Nuances en surplomb" a a a
@@ -1051,7 +1172,8 @@ contexte,
 
 @item
 en l'absence de quoi sera retenue la valeur par défaut issue du bloc
-@code{\context} approprié le plus récent dans le bloc @code{\layout},
+@code{\context} approprié le plus récent dans les blocs @code{\layout}
+ou @code{\midi},
 
 @item
 en l'absence de quoi s'appliqueront les réglages prédéfinis de LilyPond.
@@ -1066,7 +1188,7 @@ Manuel de notation :
 @ref{Contextes de bas niveau -- les voix},
 @ref{La commande de fixation (set)},
 @ref{La commande de dérogation (override)},
-@ref{Le bloc \layout}.
+@ref{Le bloc layout}.
 
 
 @node Définition de nouveaux contextes
@@ -1109,9 +1231,8 @@ jazz.
   \consists "Text_engraver"
   \consists "Pitch_squash_engraver"
   squashedPosition = #0
-  \override NoteHead #'style = #'slash
-  \override Stem #'transparent = ##t
-  \override Flag #'transparent = ##t
+  \override NoteHead.style = #'slash
+  \hide Flag
   \alias Voice
 }
 \context { \Staff
@@ -1144,49 +1265,56 @@ Tout d'abord, il convient de donner un nom à notre nouveau contexte :
 \name ImproVoice
 @end example
 
-Comme il est très semblable à @code{Voice}, nous souhaitons que
-toutes les commandes associées au @code{Voice} déjà existant restent
-valables.  D'où nécessité de la commande @code{\alias}, qui va
-l'associer au contexte @code{Voice} :
+Comme il est très semblable à un contexte @code{Voice}, nous
+souhaitons que toutes les commandes associées au @code{Voice} déjà
+existant restent valables.  D'où nécessité de la commande
+@code{\alias}, qui va l'associer au contexte @code{Voice} :
 
 @example
 \alias Voice
 @end example
 
 Ce contexte doit pouvoir imprimer des notes et des indications
-textuelles ; on ajoute donc les graveurs appropriés :
+textuelles ; on ajoute donc les graveurs appropriés ainsi que celui
+dévolu au regroupement sous forme de colonne des notes, hampes et
+silences qui interviennent au même moment musical :
 
 @example
 \consists "Note_heads_engraver"
 \consists "Text_engraver"
+\consists "Rhythmic_column_engraver"
 @end example
 
-Cependant, on veut que les notes s'affichent toutes au centre de
-la portée :
+Toutes les notes devraient s'afficher au centre de la portée :
 
 @example
 \consists "Pitch_squash_engraver"
 squashedPosition = #0
 @end example
 
-Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes
-créées par le @rinternals{Note_heads_engraver}, et les @qq{écrase} pour
-qu'elles aient toutes la même position verticale, définie par
-@code{squashedPosition} : ici il s'agit de la valeur @code{0},
-c'est-à-dire la ligne du milieu.
+Le graveur @code{Pitch_squash_engraver} intercepte les notes créées par
+le @code{Note_heads_engraver}, et les « écrase » pour qu'elles aient
+toutes la même position verticale, définie par @code{squashedPosition} :
+ici il s'agit de la valeur @code{0}, c'est-à-dire la ligne du milieu.
 
 On veut que les notes aient la forme d'une barre oblique, sans
 aucune hampe :
 
 @example
-\override NoteHead #'style = #'slash
-\override Stem #'transparent = ##t
-\override Flag #'transparent = ##t
+\override NoteHead.style = #'slash
+\hide Stem
 @end example
 
-Afin que tous ces graveurs puissent travailler de concert, on leur
-adjoint un sous-programme spécial, introduit par la commande
-@code{\type} : il s'agit de @code{Engraver_group},
+Tous ces modules doivent communiquer sous le contrôle du contexte.  Les
+mécanismes permettant aux contextes de communiquer sont établis dès lors
+que le mot-clé @code{\type} précède le contexte.  La plupart des
+contextes mentionnés au sein d'un bloc @code{\layout} seront de type
+@code{Engraver_group}.  Certains contextes spécifiques, ainsi que ceux
+mentionnés dans les blocs @code{\midi}, reposent sur d'autres types de
+contexte.  Recopier un contexte préexistant pour en modifier la
+définition lui affecte le type adéquat.  Dans la mesure où notre exemple
+consiste à créer une définition de toute pièce, son type doit être
+explicitement spécifié.
 
 @example
 \type "Engraver_group"
@@ -1200,11 +1328,11 @@ Récapitulons ; on se retrouve avec le bloc suivant :
   \type "Engraver_group"
   \consists "Note_heads_engraver"
   \consists "Text_engraver"
+  \consists "Rhythmic_column_engraver"
   \consists "Pitch_squash_engraver"
   squashedPosition = #0
-  \override NoteHead #'style = #'slash
-  \override Stem #'transparent = ##t
-  \override Flag #'transparent = ##t
+  \override NoteHead.style = #'slash
+  \hide Flag
   \alias Voice
 @}
 @end example
@@ -1214,7 +1342,7 @@ Récapitulons ; on se retrouve avec le bloc suivant :
 Ce n'est pas tout.  En effet, on veut intégrer le nouveau contexte
 @code{ImproVoice} dans la hiérarchie des contextes.  Tout comme le
 contexte @code{Voice}, sa place est au sein du contexte @code{Staff}.
-Nous allons donc modifier le contexte @code{Staff},
+Nous allons donc modifier la définition du contexte @code{Staff},
 au moyen de la commande @code{\accepts} :
 
 @example
@@ -1259,6 +1387,19 @@ On peut alors saisir la musique, comme dans l'exemple plus haut :
 @}
 @end example
 
+Pour être tout à fait complet, les modifications apportée à la
+hiérarchie des contextes devraient être répétés au niveau du bloc
+@code{\midi} de telle sorte que la sortie Midi dépende des mêmes
+relations.
+
+@seealso
+Référence des propriétés internes :
+@rinternals{Engraver_group},
+@rinternals{Note_heads_engraver},
+@rinternals{Text_engraver},
+@rinternals{Rhythmic_column_engraver},
+@rinternals{Pitch_squash_engraver}.
+
 
 @node Ordonnancement des contextes
 @subsection Ordonnancement des contextes
@@ -1273,38 +1414,48 @@ Les contextes viennent en principe se positionner selon leur ordre
 d'apparition dans le fichier source.  Lorsque plusieurs contextes sont
 imbriqués, le contexte englobant supportera les différents contextes
 mentionnés dans le fichier source, à la stricte condition qu'ils soient
-dûment @qq{agréés}.  Les contextes imbriqués qui ne font pas partie de
-la @qq{liste d'agréments} du contexte englobant se retrouveront en
+dûment « agréés ».  Les contextes imbriqués qui ne font pas partie de
+la « liste d'agréments » du contexte englobant se retrouveront en
 dessous de celui-ci au lieu d'y être imbriqués.
 
-La liste des @qq{agréments} d'un contexte se gère à l'aide des
-instructions @code{\accepts} et @code{\denies} -- @code{\accepts} pour
+La liste des « agréments » d'un contexte se gère à l'aide des
+instructions @code{\accepts} ou @code{\denies} -- @code{\accepts} pour
 ajouter un contexte à la liste, et @code{\denies} pour retirer
-l'agrément.  Il est par exemple peu conventionnel que les accords nommés
-apparaissent dans un contexte @code{Staff} ; autrement dit, le
-contexte @code{ChordNames} ne fait pas partie de la @qq{liste
-d'agréments} du contexte @code{Staff} par défaut.  Néanmoins, et s'il
-devait en être ainsi, vous pourriez le spécifier.
+l'agrément.
+
+Par exemple, on ne trouve normalement pas de portées regroupées par un
+crochet au sein d'un groupe matérialisé par une accolade et des barres
+d'un seul tenant ; un @code{GrandStaff} n'accepte donc pas, par défaut,
+d'englober un @code{StaffGroup}.
 
 @lilypond[verbatim,quote]
 \score {
-  \new Staff {
-    c' d' e' f'
-    \chords { d1:m7 b1:min7.5- }
-  }
+  \new GrandStaff <<
+    \new StaffGroup <<
+      \new Staff { c'1 }
+      \new Staff { d'1 }
+    >>
+    \new Staff { \set Staff.instrumentName = bottom f'1 }
+  >>
 }
 @end lilypond
 
+Néanmoins, et grâce à une instruction @code{\accepts}, un
+@code{StaffGroup} peut se voir ajouté au contexte @code{GrandStaff} :
+
 @lilypond[verbatim,quote]
 \score {
-  \new Staff {
-    c' d' e' f'
-    \chords { d1:m7 b1:min7.5- }
-  }
+  \new GrandStaff <<
+    \new StaffGroup <<
+      \new Staff { c'1 }
+      \new Staff { d'1 }
+    >>
+    \new Staff { \set Staff.instrumentName = bottom f'1 }
+  >>
   \layout {
     \context {
-      \Staff
-      \accepts "ChordNames"
+      \GrandStaff
+      \accepts "StaffGroup"
     }
   }
 }
@@ -1314,12 +1465,27 @@ L'instruction @code{\denies} permet, lorsqu'un nouveau contexte reprend
 les définitions d'un contexte existant, d'en ajuster les composantes.
 C'est par exemple le cas du contexte @code{VaticanaStaff}, réplique du
 contexte @code{Staff} au sein duquel le contexte @code{VaticanaVoice} se
-substitue au contexte @code{Voice} dans la @qq{liste d'agrément}.
+substitue au contexte @code{Voice} dans la « liste d'agrément ».
+
+@cindex contextes implicites
+@cindex implicites, contextes
+@funindex \defaultchild
 
 Gardez à l'esprit que, face à une instruction qui ne s'appliquerait à
 aucun contexte déjà existant, LilyPond créera un nouveau contexte
-implicite.  Ceci peut engendrer une nouvelle portée ou une autre
-partition.
+implicite.
+
+Lors de la définition d'un contexte, les types de contextes
+sous-jascents susceptibles d'être créés implicitement sont spécifiés à
+l'aide d'une commande @code{\defaultchild}. Un certain nombre
+d'événements musicaux requièrent un contexte de plus bas niveau ; face à
+un tel événement, LilyPond crée autant de « sous-contextes » que
+nécessaire, jusqu'au contexte ne comportant aucun @emph{defaultchild}.
+
+La création implicite de contexte peut donc finir par engendrer de
+manière intempestive une nouvelle portée ou une autre partition.
+L'utilisation d'une instruction @code{\new} pour créer explicitement des
+contextes permet d'éviter ces problèmes.
 
 @cindex alignAboveContext
 @cindex alignBelowContext
@@ -1340,11 +1506,11 @@ autres contextes existants.  Le repositionner au-dessus du contexte
 
 Il en va de même pour les contextes temporaires de paroles au sein d'un
 système à plusieurs portées comme un @code{ChoirStaff} lorsque, par
-exemple, un couplet supplémentaire apparaît à l'occasion d'une
-reprise.  Ce contexte de paroles temporaire se place par défaut sous les
-portées inférieures.  Lui adjoindre une instruction
-@code{alignBelowContext} dès son initialisation permet de l'accoler au
-contexte de paroles (nommé) qui contient le premier couplet.
+exemple, un couplet supplémentaire apparaît à l'occasion d'une reprise.
+Ce contexte de paroles temporaire se place par défaut sous les portées
+inférieures.  Lui adjoindre une instruction @code{alignBelowContext} dès
+son initialisation permet de l'accoler au contexte de paroles (nommé)
+qui contient le premier couplet.
 
 Des exemples de repositionnement de contexte temporaire sont disponibles
 aux rubriques @rlearning{Expressions musicales imbriquées},
@@ -1509,11 +1675,12 @@ francophones.
 @cindex interfaces de rendu
 @cindex rendu, interfaces de
 @cindex objets graphiques
+@cindex grob
 
 Tous les éléments de notation sont considérés comme des objets
 graphiques (en anglais @emph{Graphical Object}, d'où le diminutif
 @emph{Grob}).  Chaque objet est doté d'un certain nombre de propriétés
-(l'épaisseur du trait, l'orientation,  etc.), et lié à d'autres objets.
+(l'épaisseur du trait, l'orientation, etc.), et lié à d'autres objets.
 Le fonctionnement de ces objets est décrit en détail dans
 @rinternals{grob-interface}.
 
@@ -1690,7 +1857,7 @@ doigté de la note.  La commande suivante insère trois unités d'espace
 vide entre la note et le doigté :
 
 @example
-\once \override Voice.Fingering #'padding = #3
+\once \override Voice.Fingering.padding = #3
 @end example
 
 En ajoutant cette commande avant la création du doigté (de l'objet
@@ -1698,7 +1865,7 @@ En ajoutant cette commande avant la création du doigté (de l'objet
 suivant :
 
 @lilypond[quote,relative=2,verbatim]
-\once \override Voice.Fingering #'padding = #3
+\once \override Voice.Fingering.padding = #3
 c-2
 \stemUp
 f
@@ -1801,7 +1968,7 @@ objets graphiques.
 La syntaxe employée pour ce faire est
 
 @example
-\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
+\override @var{contexte}.@var{objet}.@var{propriété} = #@var{valeur}
 @end example
 
 Ici @var{objet} est un objet graphique, tel que @code{Stem} (les hampes)
@@ -1815,7 +1982,7 @@ n'est ici que d'examiner l'emploi de cette commande.
 La commande suivante :
 
 @verbatim
-\override Staff.Stem #'thickness = #4.0
+\override Staff.Stem.thickness = #4.0
 @end verbatim
 
 @noindent
@@ -1827,7 +1994,7 @@ autres portées demeureront intactes.
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c4
-\override Staff.Stem #'thickness = #4.0
+\override Staff.Stem.thickness = #4.0
 c4
 c4
 c4
@@ -1844,7 +2011,7 @@ qu'une seule fois.
 
 @lilypond[quote,fragment,verbatim,relative=2]
 c4
-\once \override Stem #'thickness = #4.0
+\once \override Stem.thickness = #4.0
 c4
 c4
 @end lilypond
@@ -1856,9 +2023,9 @@ la commande @code{\override} doit être saisie avant que l'objet soit
 créé.
 
 @lilypond[quote,fragment,verbatim,relative=2]
-\override Slur #'thickness = #3.0
+\override Slur.thickness = #3.0
 c8[( c
-\override Beam #'beam-thickness = #0.6
+\override Beam.beam-thickness = #0.6
 c8 c])
 @end lilypond
 
@@ -1874,8 +2041,8 @@ même contexte.  Ainsi dans l'exemple suivant, la commande @code{\revert}
 est sans effet.
 
 @example
-\override Voice.Stem #'thickness = #4.0
-\revert Staff.Stem #'thickness
+\override Voice.Stem.thickness = #4.0
+\revert Staff.Stem.thickness
 @end example
 
 Il existe, à l'intérieur même de certaines propriétés, des options que
@@ -1890,7 +2057,7 @@ l'on nomme @qq{sous-propriétés}.  La syntaxe est alors
 Ainsi, par exemple :
 
 @example
-\override Stem #'(details beamed-lengths) = #'(4 4 3)
+\override Stem.details.beamed-lengths = #'(4 4 3)
 @end example
 
 @end ignore
@@ -1932,7 +2099,7 @@ doit être précédée du caractère @code{#}.
 
 Les propriétés des contextes se libellent sous la forme
 @code{minusculeMajuscule}.  Leur rôle consiste principalement à traduire
-la musique en notation : par exemple, @code{localKeySignature}
+la musique en notation : par exemple, @code{localAlterations}
 déterminera quand imprimer une altération accidentelle, et
 @code{measurePosition} quand imprimer une barre de mesure.  La valeur
 des propriétés des contextes peuvent évoluer au fur et à mesure que l'on
@@ -2081,33 +2248,15 @@ liste Scheme ; on peut les consulter dans le fichier
 @code{\override} est en fait un raccourci :
 
 @example
-\override @var{contexte}.@var{NomObjet} #'@var{propriété} = #@var{valeur}
-@end example
-
-@noindent
-plus ou moins équivalent à
-
-@c  leave this long line -gp
-@example
-\set @var{contexte}.@var{NomObjet}  =
-  #(cons (cons '@var{propriété} @var{valeur})
-         <valeur antérieure de @var{contexte}.@var{NomObjet}>)
+\override [@var{contexte}.]@var{NomObjet}.@var{propriété} = #@var{valeur}
 @end example
 
-La valeur de @var{contexte}.@var{NomObjet} (une liste associative, ou
-@emph{alist}) permet d'initialiser les propriétés des objets un par un.
-Les objets eux-mêmes ont leurs propriétés, dont les noms, dans la
-tradition du langage Scheme, comprennent un trait d'union
-(@code{toto-titi}).  Ces propriétés internes changent constamment au
-cours de la mise en page : en fait, la gravure d'une page n'est autre
-que le calcul de toutes ces propriétés au moyen de fonctions de rappel.
-
 Nous pouvons donc par exemple accroître l'épaisseur des hampes en jouant
 sur la propriété @code{thickness} de l'objet @code{stem} :
 
 @lilypond[quote,verbatim,relative=2]
 c4 c
-\override Voice.Stem #'thickness = #3.0
+\override Voice.Stem.thickness = #3.0
 c4 c
 @end lilypond
 
@@ -2115,11 +2264,11 @@ Lorsqu'aucun contexte n'est spécifié dans une clause @code{\override},
 celle-ci s'appliquera au contexte le plus bas :
 
 @lilypond[quote,verbatim,relative=2]
-{ \override Staff.Stem #'thickness = #3.0
+{ \override Staff.Stem.thickness = #3.0
   <<
     {
       e4 e
-      \override Stem #'thickness = #0.5
+      \override Stem.thickness = #0.5
       e4 e
     } \\ {
       c4 c c c
@@ -2128,18 +2277,40 @@ celle-ci s'appliquera au contexte le plus bas :
 }
 @end lilypond
 
+Certaines @qq{sous-propriétés} sont parfois contenues dans une
+propriété.  La commande devient alors :
+
+@example
+\override Stem.details.beamed-lengths = #'(4 4 3)
+@end example
+
+ou, pour modifier les extrémités d'un objet à extension :
+
+@example
+\override TextSpanner.bound-details.left.text = #"texte de gauche"
+\override TextSpanner.bound-details.right.text = #"texte de droite"
+@end example
+
 @cindex annulation d'un override
 @cindex override, annulation des effets
 @funindex \revert
 
 Les effets d'un @code{\override} prennent fin à l'aide de l'instruction
-@code{\revert} :
+@code{\revert}.
+
+La syntaxe de la commande @code{\revert} command est :
+
+@example
+\revert [@var{contexte}.]@var{NomObjet}.@var{propriété}
+@end example
+
+Par exemple :
 
 @lilypond[quote,verbatim,relative=2]
 c4
-\override Voice.Stem #'thickness = #3.0
+\override Voice.Stem.thickness = #3.0
 c4 c
-\revert Voice.Stem #'thickness
+\revert Voice.Stem.thickness
 c4
 @end lilypond
 
@@ -2152,11 +2323,11 @@ mentionné :
   <<
     {
       e4
-      \override Staff.Stem #'thickness = #3.0
+      \override Staff.Stem.thickness = #3.0
       e4 e e
     } \\ {
       c4 c c
-      \revert Staff.Stem #'thickness
+      \revert Staff.Stem.thickness
       c4
     }
   >>
@@ -2174,11 +2345,11 @@ la suit directement :
 {
   <<
     {
-      \override Stem #'thickness = #3.0
+      \override Stem.thickness = #3.0
       e4 e e e
     } \\ {
       c4
-      \once \override Stem #'thickness = #3.0
+      \once \override Stem.thickness = #3.0
       c4 c c
     }
   >>
@@ -2190,7 +2361,7 @@ Les commandes permettant de modifier l'apparence de la partition
 ressemblent en général à
 
 @example
-\override Voice.Stem #'thickness = #3.0
+\override Voice.Stem.thickness = #3.0
 @end example
 
 @noindent
@@ -2205,13 +2376,6 @@ du trait).
 @item la valeur désirée : ici @code{3.0} (par défaut, elle est de 1.3).
 @end itemize
 
-Certaines @qq{sous-propriétés} sont parfois contenues dans une
-propriété.  La commande devient alors :
-
-@example
-\override Stem #'(details beamed-lengths) = #'(4 4 3)
-@end example
-
 @cindex documentation exhaustive
 @cindex trouver des objets graphiques
 @cindex objets graphiques, description
@@ -2245,11 +2409,11 @@ L'utilisation d'un @code{\override} pour modifier les propriétés d'un
 objet graphique affectera toutes les instances de l'objet en question au
 sein du contexte, et ce dès son apparition.  Il peut parfois être
 préférable de n'affecter qu'un seul objet en particulier plutôt que tous
-les objets du contexte.  C'est là rôle de l'instruction @code{\tweak},
+les objets du contexte.  C'est là le rôle de l'instruction @code{\tweak},
 dont la syntaxe est :
 
 @example
-\tweak @var{objet-de-rendu} #'@code{objet-propriété} @code{valeur}
+\tweak [@var{objet-de-rendu}.]@code{objet-propriété} @code{valeur}
 @end example
 
 Mention de l'@var{objet-de-rendu} est optionnel.
@@ -2267,13 +2431,13 @@ Dans l'accord suivant, les notes sont modifiées une par une :
 @lilypond[relative=2,verbatim,ragged-right]
 <
   c
-  \tweak #'color #red
+  \tweak color #red
   d
   g
-  \tweak #'duration-log #1 
+  \tweak duration-log #1 
    a
 >4
--\tweak #'padding #8
+-\tweak padding #8
 -^
 @end lilypond
 
@@ -2303,7 +2467,7 @@ d'un traitement et n'est donc pas directement rendue ; c'est
 pourquoi le code suivant ne sera d'aucun effet :
 
 @example
-\tweak #'color #red c4
+\tweak color #red c4
 @end example
 
 @noindent
@@ -2335,10 +2499,10 @@ colorisée, et l'aspect d'une autre est changé.
 
 @lilypond[relative=2,verbatim,quote]
 < c
-  \tweak #'color #red
+  \tweak color #red
   d
   g
-  \tweak #'duration-log #1
+  \tweak duration-log #1
   a
 > 4
 @end lilypond
@@ -2347,7 +2511,7 @@ L'instruction @code{\tweak} permet aussi de modifier l'aspect d'une
 liaison :
 
 @lilypond[verbatim,quote,relative=1]
-c-\tweak #'thickness #5 ( d e f)
+c-\tweak thickness #5 ( d e f)
 @end lilypond
 
 La commande @code{\tweak} ne sera pleinement fonctionnelle que si elle
@@ -2359,9 +2523,9 @@ objets seront créés à partir d'événements appartenant à un
 @code{EventChord} (un événement d'accord) :
 
 @lilypond[relative=2,verbatim,quote]
-\tweak #'color #red c4
-\tweak #'color #red <c e>4
-<\tweak #'color #red c>4
+\tweak color #red c4
+\tweak color #red <c e>4
+<\tweak color #red c>4
 @end lilypond
 
 La commande @code{\tweak} simple ne saurait servir à modifier un élément
@@ -2371,8 +2535,9 @@ la mesure où elles seront ultérieurement générées et après les têtes de
 note (objets @code{NoteHead}, plutôt qu'au fil des éléments musicaux
 saisis.
 
-De tels objets créés indirectement peuvent être ajustés que par une
-forme dévelppée de la commande @code{\tweak} :
+De tels objets créés indirectement ne peuvent être ajustés que par une
+forme développée de la commande @code{\tweak}, autrement dit
+lorsque l'objet est explicitement mentionné :
 
 @lilypond[relative=2,verbatim,quote]
 \tweak Stem.color #red
@@ -2390,10 +2555,10 @@ même élément de notation :
 
 @lilypond[verbatim,quote,relative=1]
 c
--\tweak #'style #'dashed-line
--\tweak #'dash-fraction #0.2
--\tweak #'thickness #3
--\tweak #'color #red
+-\tweak style #'dashed-line
+-\tweak dash-fraction #0.2
+-\tweak thickness #3
+-\tweak color #red
  \glissando
 f'
 @end lilypond
@@ -2427,20 +2592,69 @@ pour la première rencontrée dans le fichier source.
 @subsection @code{\set} ou @code{\override}
 @translationof set versus override
 
-@c TODO -- This section is probably unnecessary now.
+@c TODO -- Should't a bunch of that be explained earlier?
 
-@ignore
-Si les propriétés peuvent être modifiées de deux façons, par les
-commandes @code{\set} et @code{\override}, c'est qu'il y a deux types de
-propriétés.
+@funindex \set
+@funindex \override
 
-La propriété @code{fontSize} est une exception : c'est un raccourci, qui
-équivaudrait à saisir @w{@code{\override @dots{} #'font-size}} pour tous
-les objets textuels.  Dans la mesure où il s'agit d'une manipulation
-très courante, une propriété spéciale a été créée.  Elle doit être
-modifiée avec la commande @code{\set}.
+Les instructions @code{\set} et @code{\override} manipulent toutes deux
+des propriétés associées à des contextes.  Dans tous les cas, ces
+propriétés tiennent compte de la hiérarchie des contextes : les
+propriétés qui n'ont pas été définies dans le contexte lui-même
+héritent des valeurs de leur contexte parent respectif.
+
+Les valeurs et durée de vie des propriétés d'un contexte sont dynamiques
+et ne sont accessibles qu'au moment où la musique est interprétée.  Lors
+de la création d'un contexte, ses propriétés sont initialisées à partir
+de la définition du contexte correspondant et de ses éventuelles
+adaptations.  Toute modification ultérieure ne sera obtenue que par des
+commandes d'adaptation des propriétés, libellées au sein même de la
+musique.
+
+Les définitions d'un objet graphique (@emph{graphical object} abrégé en
+@emph{grob}) constituent une catégorie spécifique de propriétés de
+contexte.  Dans la mesure où leur structure, enregistrement et
+utilisation diffèrent des propriétés de contextes habituelles, on ne
+peut y accéder qu'à l'aide d'un jeu de commandes différent et font
+l'objet d'un traitement à part au sein de la documentation.
+
+Contrairement aux propriétés de contextes habituelles, les définitions
+de @emph{grob} sont subdivisées en propriétés de @emph{grob}.  Un
+@emph{grob} est créé par un graveur lors de l'interprétation d'une
+expression musicale et reçoit ses propriétés initiales à partir de la
+définition de @emph{grob} en cours dans le contexte du graveur.  Le
+graveur (ou tout autre « agent » de LilyPond) peut alors ajouter ou
+modifier des propriétés à cet objet, sans pour autant affecter la
+définition du @emph{grob} dans ce contexte.
+
+Ce que nous appelons « propriétés de @emph{grob} » dans le cadre
+de l'affinage par l'utilisateur sont en fait les propriétés de la
+définition d'un objet dans un contexte.  Contrairement aux propriétés
+de contexte habituelles, les définitions d'un @emph{grob} doivent être
+enregistrées pour pouvoir garder trace de ses composants, les propriétés
+individuelles du @emph{grob} (ainsi que leurs sous-propriétés),
+séparément.  Il sera dès lors possible de définir ces composants dans
+différents contextes et ainsi disposer d'une définition globale du
+@emph{grob} à l'instant où la création de cet objet assemblera les
+éléments relatifs aux différents contextes attachés au contexte en cours
+et à ses parents.
+
+Les définitions de @emph{grob} se manipulent à l'aide des commandes
+@code{\override} et @code{\revert}, et leur nom commence par une
+capitale (comme @samp{NoteHead}) alors que les propriétés de contexte
+ordinaires -- elles commencent par une minuscule -- se manipulent avec
+@code{\set} et @code{\unset}.
+
+@cindex tweak, relation avec @code{\override}
+@funindex \tweak
+@funindex \overrideProperty
 
-@end ignore
+Les instructions spéciales @code{\tweak} et @code{\overrideProperty}
+modifient les propriétés de @emph{grob} en court-circuitant totalement
+les propriétés de contexte.  En fait, elles capturent les @emph{grobs}
+au moment de leur création pour y injecter directement des propriétés soit
+émanant d'un événement musical retouché, soit lorsqu'ils sont d'une
+qualité particulière.
 
 
 @node Modification de listes associatives
@@ -2495,7 +2709,7 @@ imbriquée} :
 % reduced space between staves
 \new PianoStaff \with {
   % this is the nested declaration
-  \override StaffGrouper #'staff-staff-spacing #'basic-distance = #7
+  \override StaffGrouper.staff-staff-spacing.basic-distance = #7
 } <<
   \new Staff { \clef treble c''1 }
   \new Staff { \clef bass   c1   }
@@ -2515,7 +2729,7 @@ forme d'une liste associative :
 
 @lilypond[quote,verbatim]
 \new PianoStaff \with {
-  \override StaffGrouper #'staff-staff-spacing =
+  \override StaffGrouper.staff-staff-spacing =
     #'((basic-distance . 0)
        (minimum-distance . 0)
        (padding . 0)
@@ -2535,10 +2749,10 @@ non mentionnées seront ramenées à zéro -- à l'exception de
 équivalentes.
 
 @example
-\override StaffGrouper #'staff-staff-spacing =
+\override StaffGrouper.staff-staff-spacing =
   #'((basic-distance . 7))
 
-\override StaffGrouper #'staff-staff-spacing =
+\override StaffGrouper.staff-staff-spacing =
   #'((basic-distance . 7)
      (minimum-distance . 0)
      (padding . 0)
@@ -2559,7 +2773,7 @@ valeur des clés individuellement par des déclarations imbriquées.
 
 @warning{Les déclarations imbriquées ne sont pas fonctionnelles dans le
 cas des listes associatives des propriétés de contexte -- telles
-@code{beamExceptions}, @code{keySignature},
+@code{beamExceptions}, @code{keyAlterations},
 @code{timeSignatureSettings}, etc.  Ces propriétés ne sont modifiables
 qu'au travers d'une complète redéfinition de leur liste associative.}
 
@@ -2652,7 +2866,7 @@ précédemment saisie.
 
 Ce mode, activé par la commande @code{\markup}, permet d'interpréter les
 saisies comme étant des @emph{markups} (annotations ou étiquettes) --
-voir @rusernamed{Text markup commands,Commandes pour le mode markup}.
+voir @ref{Commandes pour markup}.
 
 
 @c silly work-around for texinfo broken-ness
@@ -2700,7 +2914,15 @@ tantôt par la droite, ou être centrées.  La plupart de ces choix peuvent
 dans certains cas, d'imposer l'orientation ou le positionnement des
 éléments.
 
-@strong{Indicateurs de position d'une articulation}
+@menu
+* Indicateurs de position d'une articulation::
+* La propriété direction::
+@end menu
+
+
+@node Indicateurs de position d'une articulation
+@unnumberedsubsubsec Indicateurs de position d'une articulation
+@translationof Articulation direction indicators
 
 Certains positionnements sont opérés par défaut -- toujours au-dessus ou
 toujours en dessous (nuances ou points d'orgue) -- alors que d'autres
@@ -2737,7 +2959,10 @@ c2( c)
 c2^( c)
 @end lilypond
 
-@strong{La propriété @code{direction}}
+
+@node La propriété direction
+@unnumberedsubsubsec La propriété @code{direction}
+@translationof The direction property
 
 Le positionnement ou l'orientation de nombreux objets de rendu sont
 gérés par la propriété @code{direction}.
@@ -2888,7 +3113,7 @@ défini par le nombre d'éléments dans la liste des valeurs de
 
 @lilypond[verbatim,quote,relative=1]
 \new Staff \with {
-  \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7)
+  \override StaffSymbol.line-positions = #'(7 3 0 -4 -6 -7)
 }
 { a4 e' f b | d1 }
 @end lilypond
@@ -2899,7 +3124,7 @@ par ce réglage.
 
 @lilypond[verbatim,quote,relative=1]
 \new Staff \with {
-  \override StaffSymbol #'width = #23
+  \override StaffSymbol.width = #23
 }
 { a4 e' f b | d1 }
 @end lilypond
@@ -2922,9 +3147,15 @@ Tout extenseur dispose de la @code{spanner-interface}.  Quelques uns,
 tout particulièrement ceux chargés de dessiner une ligne droite entre
 deux objets, disposent aussi de la @code{line-spanner-interface}.
 
++@menu
+* Utilisation de spanner-interface::
+* Utilisation de line-spanner-interface::
+@end menu
+
 
+@node Utilisation de spanner-interface
 @unnumberedsubsubsec Utilisation de @code{spanner-interface}
-@translationof Using the @code{spanner-interface}
+@translationof Using the spanner-interface
 
 Cette interface fournit deux propriétés qui s'appliquent à certains
 extenseurs.
@@ -2960,11 +3191,11 @@ Cette propriété est sans effet sur :
 @end ignore
 
 @lilypond[verbatim,quote,relative=2]
-a~a
+a~ a
 a
 % increase the length of the tie
--\tweak #'minimum-length #5
-~a
+-\tweak minimum-length #5
+~ a
 @end lilypond
 
 @lilypond[verbatim,quote,relative=2]
@@ -2972,7 +3203,7 @@ a1
 \compressFullBarRests
 R1*23
 % increase the length of the rest bar
-\once \override MultiMeasureRest #'minimum-length = #20
+\once \override MultiMeasureRest.minimum-length = #20
 R1*23
 a1
 @end lilypond
@@ -2980,7 +3211,7 @@ a1
 @lilypond[verbatim,quote,relative=2]
 a \< a a a \!
 % increase the length of the hairpin
-\override Hairpin #'minimum-length = #20
+\override Hairpin.minimum-length = #20
 a \< a a a \!
 @end lilypond
 
@@ -2988,15 +3219,15 @@ Cette propriété permet aussi de jouer sur l'envergure d'une liaison
 d'articulation ou de phrasé.
 
 @lilypond[verbatim,quote,relative=2]
-a( a)
+a( g)
 a
--\tweak #'minimum-length #5
-( a)
+-\tweak minimum-length #5
+( g)
 
-a\( a\)
+a\( g\)
 a
--\tweak #'minimum-length #5
-\( a\)
+-\tweak minimum-length #5
+\( g\)
 @end lilypond
 
 Certains objets requièrent un appel explicite à la procédure
@@ -3011,12 +3242,12 @@ propriété @code{springs-and-rods} n'est pas définie :
 e \glissando c'
 
 % not effective alone
-\once \override Glissando #'minimum-length = #20
+\once \override Glissando.minimum-length = #20
 e, \glissando c'
 
 % effective only when both overrides are present
-\once \override Glissando #'minimum-length = #20
-\once \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
+\once \override Glissando.minimum-length = #20
+\once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
 e, \glissando c'
 @end lilypond
 
@@ -3024,12 +3255,12 @@ Il en va de même pour l'objet @code{Beam} (ligature) :
 
 @lilypond[verbatim,quote,relative=1]
 % not effective alone
-\once \override Beam #'minimum-length = #20
+\once \override Beam.minimum-length = #20
 e8 e e e
 
 % effective only when both overrides are present
-\once \override Beam #'minimum-length = #20
-\once \override Beam #'springs-and-rods = #ly:spanner::set-spacing-rods
+\once \override Beam.minimum-length = #20
+\once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
 e8 e e e
 @end lilypond
 
@@ -3045,7 +3276,7 @@ la note qui le borne :
 
 @lilypond[verbatim,quote,relative=2]
 a \< a a a a \! a a a \break
-\override Hairpin #'to-barline = ##f
+\override Hairpin.to-barline = ##f
 a \< a a a a \! a a a
 @end lilypond
 
@@ -3055,8 +3286,9 @@ affecter @code{#t}) dans le cas d'une liaison d'articulation ou de
 phrasé !
 
 
+@node Utilisation de line-spanner-interface
 @unnumberedsubsubsec Utilisation de @code{line-spanner-interface}
-@translationof Using the @code{line-spanner-interface}
+@translationof Using the line-spanner-interface
 
 Un certain nombre d'objets disposent de la propriété
 @code{line-spanner-interface}, entre autres :
@@ -3080,8 +3312,8 @@ demeure relativement simple :
 
 @lilypond[relative=2,quote,verbatim]
 e2 \glissando b
-\once \override Glissando #'(bound-details left Y) = #3
-\once \override Glissando #'(bound-details right Y) = #-2
+\once \override Glissando.bound-details.left.Y = #3
+\once \override Glissando.bound-details.right.Y = #-2
 e2 \glissando b
 @end lilypond
 
@@ -3100,8 +3332,8 @@ terminaisons à cet endroit se gèrent grâce aux sous-clés
 ci-dessous :
 
 @lilypond[relative=2,ragged-right,verbatim,quote]
-\override Glissando #'breakable = ##t
-\override Glissando #'(bound-details right-broken Y) = #-3
+\override Glissando.breakable = ##t
+\override Glissando.bound-details.right-broken.Y = #-3
 c1 \glissando \break
 f1
 @end lilypond
@@ -3140,7 +3372,7 @@ sous-propriété utilisée pour ajouter @i{cresc.}, @i{tr} ou autre texte à
 un extenseur horizontal.
 
 @lilypond[quote,ragged-right,relative=2,verbatim]
-\override TextSpanner #'(bound-details left text)
+\override TextSpanner.bound-details.left.text
    = \markup { \small \bold Slower }
 c2\startTextSpan b c a\stopTextSpan
 @end lilypond
@@ -3154,15 +3386,11 @@ définie par les sous-propriétés @code{X} et @code{Y}.  L'utilisation de
 le symbole verticalement par rapport au coin de la ligne :
 
 @lilypond[relative=1,quote,verbatim]
-\override TextSpanner
-  #'(bound-details left stencil-align-dir-y) = #-2
-\override TextSpanner
-  #'(bound-details right stencil-align-dir-y) = #UP
-
-\override TextSpanner
-  #'(bound-details left text) = #"ggg"
-\override TextSpanner
-  #'(bound-details right text) = #"hhh"
+\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2
+\override TextSpanner.bound-details.right.stencil-align-dir-y = #UP
+
+\override TextSpanner.bound-details.left.text = #"ggg"
+\override TextSpanner.bound-details.right.text = #"hhh"
 c4^\startTextSpan c c c \stopTextSpan
 @end lilypond
 
@@ -3245,6 +3473,8 @@ certains objets ; elles sont couvertes par une rubrique spécifique.
 
 @cindex stencil, suppression
 
+@funindex \omit
+
 Tout objet de rendu se voit attribuer une propriété @code{stencil}.
 Elle est par défaut définie par la fonction chargée de dessiner cet
 objet.  Lorsque cette propriété est désactivée de force -- en lui
@@ -3254,9 +3484,20 @@ s'opère à l'aide d'un @code{\revert}.
 
 @lilypond[quote,verbatim,relative=1]
 a1 a
-\override Score.BarLine #'stencil = ##f
+\override Score.BarLine.stencil = ##f
+a a
+\revert Score.BarLine.stencil
+a a a
+@end lilypond
+
+Cette opération relativement courante fait l'objet du racourci
+@code{\omit} :
+
+@lilypond[quote,verbatim,relative=1]
+a1 a
+\omit Score.BarLine
 a a
-\revert Score.BarLine #'stencil
+\undo \omit Score.BarLine
 a a a
 @end lilypond
 
@@ -3267,13 +3508,24 @@ a a a
 
 @cindex transparent, objet
 
+@funindex \hide
+
 Tout objet de rendu dispose d'une propriété de transparence, qui est par
 défaut définie à @code{#f}.  Le fait de l'activer rendra l'objet
 transparent tout en préservant la place qu'il occupe.
 
 @lilypond[quote,verbatim,relative=2]
 a4 a
-\once \override NoteHead #'transparent = ##t
+\once \override NoteHead.transparent = ##t
+a a
+@end lilypond
+
+Cette opération relativement courante fait l'objet du racourci
+@code{\hide} :
+
+@lilypond[quote,verbatim,relative=2]
+a4 a
+\once \hide NoteHead
 a a
 @end lilypond
 
@@ -3299,7 +3551,7 @@ l'ordre dans lequel ils sont dessinés, ce qui peut laisser apparaître
 un fantôme de l'objet blanchi comme ci-dessous :
 
 @lilypond[quote,verbatim,relative=2]
-\override Staff.Clef #'color = #white
+\override Staff.Clef.color = #white
 a1
 @end lilypond
 
@@ -3321,8 +3573,8 @@ avoir un @code{layer} de valeur inférieure, disons @w{@code{-1}}, pour
 pouvoir être dessiné avant.
 
 @lilypond[quote,verbatim,relative=2]
-\override Staff.Clef #'color = #white
-\override Staff.Clef #'layer = #-1
+\override Staff.Clef.color = #white
+\override Staff.Clef.layer = #-1
 a1
 @end lilypond
 
@@ -3403,7 +3655,7 @@ ces réglages par défaut.
 @item @code{KeySignature}        @tab @code{Staff}          @tab @code{begin-of-line-visible}
 @c omit LeftEdge until it can be explained -td
 @c @item @code{LeftEdge}         @tab @code{Score}          @tab @code{center-invisible}
-@item @code{OctavateEight}       @tab @code{Staff}          @tab @code{begin-of-line-visible}
+@item @code{ClefModifier}       @tab @code{Staff}          @tab @code{begin-of-line-visible}
 @item @code{RehearsalMark}       @tab @code{Score}          @tab @code{end-of-line-invisible}
 @item @code{TimeSignature}       @tab @code{Staff}          @tab @code{all-visible}
 
@@ -3416,7 +3668,7 @@ visibilité des barres de mesure :
 f4 g a b
 f4 g a b
 % Remove bar line at the end of the current line
-\once \override Score.BarLine #'break-visibility = #'#(#f #t #t)
+\once \override Score.BarLine.break-visibility = #'#(#f #t #t)
 \break
 f4 g a b
 f4 g a b
@@ -3437,7 +3689,7 @@ ligne, à moins d'être différent de 1.
 aucune.  Vous devrez utiliser @code{begin-of-line-invisible} pour les
 voir et @code{all-invisible} pour les masquer.
 @item Armure -- voir ci-après.
-@item Indication d'octaviation -- voir ci-après.
+@item Modificateur de clef -- voir ci-après.
 @end itemize
 
 
@@ -3445,7 +3697,7 @@ voir et @code{all-invisible} pour les masquer.
 @unnumberedsubsubsec Considérations spécifiques
 @translationof Special considerations
 
-@strong{@emph{Visibilité après changement explicite}}
+@subsubsubheading Visibilité après changement explicite
 
 @cindex armure, visibilité après changement explicite
 @cindex explicitKeySignatureVisibility
@@ -3464,7 +3716,7 @@ le passage en si bémol majeur malgré l'activation de
 \key g \major
 f4 g a b
 % Try to remove all key signatures
-\override Staff.KeySignature #'break-visibility = #all-invisible
+\override Staff.KeySignature.break-visibility = #all-invisible
 \key bes \major
 f4 g a b
 \break
@@ -3490,14 +3742,14 @@ cas forcer la @code{break-visibility} de ces objets pour les supprimer.
 \key g \major
 f4 g a b
 \set Staff.explicitKeySignatureVisibility = #all-invisible
-\override Staff.KeySignature #'break-visibility = #all-invisible
+\override Staff.KeySignature.break-visibility = #all-invisible
 \key bes \major
 f4 g a b \break
 f4 g a b
 f4 g a b
 @end lilypond
 
-@strong{@emph{Visibilité des altérations de précaution}}
+@subsubsubheading Visibilité des altérations de précaution
 
 L'impression d'altérations de précaution au moment d'un changement
 explicite de tonalité sera annulée dès lors que vous aurez désactivé la
@@ -3508,7 +3760,7 @@ propriété @code{printKeyCancellation} du contexte @code{Staff} :
 f4 g a b
 \set Staff.explicitKeySignatureVisibility = #all-invisible
 \set Staff.printKeyCancellation = ##f
-\override Staff.KeySignature #'break-visibility = #all-invisible
+\override Staff.KeySignature.break-visibility = #all-invisible
 \key bes \major
 f4 g a b \break
 f4 g a b
@@ -3520,7 +3772,7 @@ permettront d'indiquer le changement de tonalité.
 
 @c TODO Add visibility of cautionary accidentals before notes
 
-@strong{@emph{Barres de mesure automatiques}}
+@subsubsubheading Barres de mesure automatiques
 
 @cindex automaticBars
 @cindex barres de mesure, suppression
@@ -3538,21 +3790,23 @@ intervenir qu'à l'occasion d'un @code{\bar} explicite.
 
 @c TODO Add example
 
-@strong{@emph{Clefs octaviées}}
+@subsubsubheading Clefs transposées
 
-@cindex octaviation, visibilité de la clef
-@cindex visibilité d'un clef octaviée
-@cindex clef, visibilité de l'octaviation
+@cindex octaviation
+@cindex clef transposée, visibilité
+@cindex visibilité d'une clef transposée
+@cindex clef, visibilité de la transposition
 
-L'indication d'octaviation d'une clef est produite par l'objet de rendu
-@code{OctavateEight}.  Sa visibilité étant gérée par héritage direct de
-l'objet @code{Clef}, nul n'est besoin de forcer un quelconque
-@code{break-visibility} au niveau des objets @code{OctavateEight} pour
-éliminer une indication d'octaviation lorsque la clef est invisible.
+L'indication de transposition d'une clef est produite par l'objet
+de rendu @code{ClefModifier}.  Sa visibilité étant gérée par
+héritage direct de l'objet @code{Clef}, nul n'est besoin de forcer
+un quelconque @code{break-visibility} au niveau des objets
+@code{ClefModifier} pour éliminer une indication de transposition
+lorsque la clef est invisible.
 
 Lors d'un changement explicite de clef, la propriété
 @code{explicitClefVisibility} gère à la fois le symbole de la clef et
-l'indication d'octaviation qui lui est attachée.
+l'indication de transposition qui lui est attachée.
 
 @seealso
 Manuel d'initiation :
@@ -3581,13 +3835,13 @@ ainsi que la manière de les spécifier.
 
 @lilypond[relative=2,ragged-right,verbatim,quote]
 d2 \glissando d'2
-\once \override Glissando #'style = #'dashed-line
+\once \override Glissando.style = #'dashed-line
 d,2 \glissando d'2
-\override Glissando #'style = #'dotted-line
+\override Glissando.style = #'dotted-line
 d,2 \glissando d'2
-\override Glissando #'style = #'zigzag
+\override Glissando.style = #'zigzag
 d,2 \glissando d'2
-\override Glissando #'style = #'trill
+\override Glissando.style = #'trill
 d,2 \glissando d'2
 @end lilypond
 
@@ -3597,7 +3851,7 @@ objet graphique, mais rien ne vous empêche de les forcer :
 @c TODO Complete
 @lilypond[relative=2,ragged-right,verbatim,quote]
 e2 \glissando f
-\once \override Glissando #'(bound-details right Y) = #-2
+\once \override Glissando.bound-details.right.Y = #-2
 e2 \glissando f
 @end lilypond
 
@@ -3649,7 +3903,7 @@ forme soit réellement opportun ; en voici une :
 
 @lilypond[quote,verbatim,relative=1]
 g4\< e' d' f\!
-\override Hairpin #'rotation = #'(20 -1 0)
+\override Hairpin.rotation = #'(20 -1 0)
 g,,4\< e' d' f\!
 @end lilypond
 
@@ -3671,7 +3925,7 @@ textes trop haut.
 
 @c KEEP LY
 @lilypond[quote,verbatim,relative=1]
-\override TextScript #'outside-staff-priority = ##f
+\override TextScript.outside-staff-priority = ##f
 g4^\markup { \rotate #30 "un sol" }
 b^\markup { \rotate #30 "un si" }
 des^\markup { \rotate #30 "un ré bémol" }
@@ -3691,6 +3945,7 @@ approches permettant de fignoler l'apparence d'une partition.
 * Regroupement vertical d'objets graphiques::
 * Modification des stencils::
 * Modification de l'allure des éléments::
+* Modification de bandeaux avec rupture::
 * Conteneurs requalifiants::
 @end menu
 
@@ -3790,12 +4045,12 @@ défaut, puis repositionnement par modification successive du
 @lilypond[verbatim,quote,relative=2]
 a-3
 a
--\tweak #'X-offset #0
--\tweak #'Y-offset #0
+-\tweak X-offset #0
+-\tweak Y-offset #0
 -3
 a
--\tweak #'X-offset #-1
--\tweak #'Y-offset #1
+-\tweak X-offset #-1
+-\tweak Y-offset #1
 -3
 @end lilypond
 
@@ -3850,7 +4105,7 @@ valeur de @code{direction}.
 @unnumberedsubsubsec Utilisation de @code{self-alignment-interface}
 @translationof Using the self-alignment-interface
 
-@emph{Réalignement d'objets horizontalement}
+@subsubsubheading Réalignement d'objets horizontalement
 
 L'alignement horizontal d'un objet disposant de la
 @code{self-alignment-interface} dépend de la valeur de sa propriété
@@ -3875,18 +4130,18 @@ affectées à une même note :
 
 @lilypond[quote,verbatim,relative=1]
 a'
--\tweak #'self-alignment-X #-1
+-\tweak self-alignment-X #-1
 ^"left-aligned"
--\tweak #'self-alignment-X #0
+-\tweak self-alignment-X #0
 ^"center-aligned"
--\tweak #'self-alignment-X #RIGHT
+-\tweak self-alignment-X #RIGHT
 ^"right-aligned"
--\tweak #'self-alignment-X #-2.5
+-\tweak self-alignment-X #-2.5
 ^"aligned further to the right"
 @end lilypond
 
 
-@emph{Réalignement d'objets verticalement}
+@subsubsubheading Réalignement d'objets verticalement
 
 L'alignement vertical suit le même principe : la propriété
 @code{Y-offset} doit alors engager la procédure
@@ -3907,7 +4162,7 @@ de son parent.  Les valeurs symboliques @code{DOWN}, @code{CENTER} et
 et @code{1}.
 
 
-@emph{Réalignement d'objets sur les deux axes}
+@subsubsubheading Réalignement d'objets sur les deux axes
 
 Définir à la fois @code{X-offset} et @code{Y-offset} permet de réaligner
 un objet sur les deux axes.
@@ -3917,9 +4172,9 @@ sorte qu'elle se place au plus près de la tête de note.
 
 @lilypond[quote,verbatim,relative=2]
 a
--\tweak #'self-alignment-X #0.5  % move horizontally left
--\tweak #'Y-offset #ly:self-alignment-interface::y-aligned-on-self
--\tweak #'self-alignment-Y #-1  % move vertically up
+-\tweak self-alignment-X #0.5  % move horizontally left
+-\tweak Y-offset #ly:self-alignment-interface::y-aligned-on-self
+-\tweak self-alignment-Y #-1  % move vertically up
 -3  % third finger
 @end lilypond
 
@@ -3945,7 +4200,7 @@ example shows the difference:
 
 
 @ignore
-@unnumberedsubsubsec Utilisation de @code{centered-on-parent}
+@unnumberedsubsubsec Utilisation de @code{centered-on-parent}
 
 @c Cannot document as they do not seem to operate consistently on all objects -td
 @c TODO investigate further
@@ -3968,25 +4223,25 @@ nous citerons @code{ambitus}, @code{breathing-sign}, @code{clef},
 @code{custos}, @code{staff-bar}, @code{left-edge},
 @code{key-cancellation}, @code{key-signature}, et @code{time-signature}.
 
-Ces indications et numéros de mesure sont par défaut centrés
-horizontalement au-dessus de l'objet :
+Chaque objet possède son propre point de référence par défaut, sur
+lequel viendra s'aligner les indications de repère :
 
 @lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Clef
-\override Score.RehearsalMark #'break-align-symbols = #'(clef)
+% The rehearsal mark will be aligned to the right edge of the Clef
+\override Score.RehearsalMark.break-align-symbols = #'(clef)
 \key a \major
 \clef treble
 \mark "↓"
 e1
-% The rehearsal mark will be centered above the Time Signature
-\override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
+% The rehearsal mark will be aligned to the left edge of the Time Signature
+\override Score.RehearsalMark.break-align-symbols = #'(time-signature)
 \key a \major
 \clef treble
 \time 3/4
 \mark "↓"
 e2.
 % The rehearsal mark will be centered above the Breath Mark
-\override Score.RehearsalMark #'break-align-symbols = #'(breathing-sign)
+\override Score.RehearsalMark.break-align-symbols = #'(breathing-sign)
 \key a \major
 \clef treble
 \time 4/4
@@ -4005,15 +4260,15 @@ l'alignement se fera sur la barre de mesure ou, dans le cas où la barre
 de mesure est invisible, à l'endroit même où la barre prendrait place.
 
 @lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Key Signature
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+% The rehearsal mark will be aligned to the right edge of the Key Signature
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef treble
 \mark "↓"
 e1
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to the right edge of the Clef
 \set Staff.explicitKeySignatureVisibility = #all-invisible
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef bass
 \mark "↓"
@@ -4021,7 +4276,7 @@ gis,,1
 % The rehearsal mark will be centered above the Bar Line
 \set Staff.explicitKeySignatureVisibility = #all-invisible
 \set Staff.explicitClefVisibility = #all-invisible
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef treble
 \mark "↓"
@@ -4033,20 +4288,20 @@ comme l'illustre l'exemple suivant.  Toutefois, si la partition comporte
 plusieurs portées, ce réglage devra apparaître dans chacune des portées.
 
 @lilypond[verbatim,quote,relative=1]
-% The RehearsalMark will be centered above the Key Signature
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
+% The RehearsalMark will be aligned with the right edge of the Key Signature
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
 \key a \major
 \clef treble
 \time 4/4
 \mark "↓"
 e1
-% The RehearsalMark will be aligned with the left edge of the Key Signature
-\once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
+% The RehearsalMark will be centered above the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #CENTER
 \mark "↓"
 \key a \major
 e1
-% The RehearsalMark will be aligned with the right edge of the Key Signature
-\once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
+% The RehearsalMark will be aligned with the left edge of the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
 \key a \major
 \mark "↓"
 e1
@@ -4058,14 +4313,14 @@ ou la droite.  La valeur est exprimée en espaces de portée.
 @lilypond[verbatim,quote,relative=1]
 % The RehearsalMark will be aligned with the left edge of the Key Signature
 % and then shifted right by 3.5 staff-spaces
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
-\once \override Score.KeySignature #'break-align-anchor = #3.5
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
+\once \override Score.KeySignature.break-align-anchor = #3.5
 \key a \major
 \mark "↓"
 e1
 % The RehearsalMark will be aligned with the left edge of the Key Signature
 % and then shifted left by 2 staff-spaces
-\once \override Score.KeySignature #'break-align-anchor = #-2
+\once \override Score.KeySignature.break-align-anchor = #-2
 \key a \major
 \mark "↓"
 e1
@@ -4118,8 +4373,8 @@ remplacée par une croix inscrite dans un cercle :
 
 @lilypond[verbatim,quote]
 XinO = {
-  \once \override NoteHead  #'stencil = #ly:text-interface::print
-  \once \override NoteHead #'text = \markup {
+  \once \override NoteHead.stencil = #ly:text-interface::print
+  \once \override NoteHead.text = \markup {
     \combine
       \halign #-0.7 \draw-circle #0.85 #0.2 ##f
       \musicglyph #"noteheads.s2cross"
@@ -4140,7 +4395,7 @@ commande de @emph{markup} @code{\musicglyph} -- voir
 
 @seealso
 Manuel de notation :
-@ref{Text markup commands},
+@ref{Commandes pour markup},
 @ref{Éléments graphiques dans du texte formaté},
 @ref{La fonte Feta},
 @ref{Mise en forme du texte}.
@@ -4163,12 +4418,30 @@ Manuel de notation :
 @cindex Bézier, points de contrôle d'une courbe
 @cindex points de contrôle, courbe de Bézier
 
-Les liaisons, qu'elles soient de prolongation, d'articulation ou de
-phrasé, sont dessinées sous la forme de courbes de Bézier de degré
-trois.  Lorsque l'aspect de la liaison automatiquement calculé n'est pas
-satisfaisant,  il peut être modifié manuellement, en fournissant
-explicitement les quatre points de contrôle qui permettront de définir
-cette courbe.
+Les liaisons, qu'elles soient de prolongation (@code{Tie}),
+d'articulation (@code{Slur}), de phrasé (@code{PhrasingSlur}), de
+laisser-vibrer (@code{LaissezVibrerTie} ou de reprise
+(@code{RepeatTie}), sont dessinées sous la forme de courbes de
+Bézier de degré trois.  Lorsque l'aspect de la liaison
+automatiquement calculé n'est pas satisfaisant, il peut être
+modifié manuellement de deux manières différentes :
+
+@enumerate a
+@item
+en spécifiant l'ajustement qui doit être apporté aux points de
+contrôle de la courbe calculée automatiquement, ou
+@item
+en fournissant explicitement les quatre points de contrôle qui
+permettront de définir cette courbe.
+@end enumerate
+
+Ces deux méthodes sont expliquées ci-dessous.  La première
+convient mieux dans le cas d'une légère adaptation de la courbe ;
+la seconde sera plus efficace lorsqu'il s'agira de créer une courbe
+sur une seule et unique note.
+
+@subsubsubheading Courbes de Bézier cubiques
+@c VO  Cubic Bézier curves
 
 Quatre points définissent une courbe de Bézier cubique. Les premier et
 quatrième points sont les points de départ et d'arrivée de la
@@ -4176,21 +4449,144 @@ courbe ; les deux autres points de contrôle -- P1 et P2 -- en
 détermineront l'allure.  La courbe se trace en partant du point P0, en
 se dirigeant vers P1 et en arrivant au point P3 selon la direction
 @w{P2-P3}.  La courbe est à l'intérieur de l'enveloppe convexe des
-points de contrôle.
+points de contrôle.  Tout déplacement (translation, rotation,
+échelonnement) des points de contrôle sera répercuté sur le dessin
+de la courbe.
+
+
+@subsubsubheading Spécification de l'ajustement des points de contrôle
+@c VO Specifying displacements from current control points
 
 Voici par exemple une liaison de prolongation dont l'allure n'est pas
 des plus heureuses, même en optant pour un @code{\tieDown}.
 
+@cindex galbe des liaisons
+@funindex \shape
+
+@lilypond[verbatim,quote,relative=1]
+<<
+  { e1~ 1 }
+\\
+  { r4 <g c,> <g c,> <g c,> }
+>>
+@end lilypond
+
+L'ajustement des points de contrôle de cette liaison de tenue à
+l'aide de @code{\shape} permet d'éviter les collisions.
+
+L'instruction @code{\shape} obéit à la syntaxe
+
+@example
+[-]@code{\shape} @var{déplacements} @var{élément}
+@end example
+
+Ceci aura pour effet de repositionner les points de contrôle de
+@var{élément} des différents montants fournis par
+@var{déplacements}.  L'argument @var{déplacements} est constitué
+d'une liste de paires de nombres ou bien d'une liste de telles
+listes.  Chacun des membres de l'une des paires indique
+l'ajustement de la coordonnée d'un point de contrôle.  Lorsque
+@var{élément} est textuel, il en résulte une dérogation
+particulière appliquée au type d'objet considéré, alors que dans
+le cas d'une expression musicale sera appliqué un affinage
+approprié.
+
+En d'autres termes, la fonction @code{\shape} se comporte soit
+comme un @code{\once \override}, soit comme un @code{\tweak} selon
+que l'argument @var{élément} est un nom d'objet -- tel « Slur »
+-- ou une expression musicale tel un « ( ».  L'argument
+@var{déplacements} spécifie les ajustements à apporter aux quatre
+points de contrôle, sous la forme d'une liste de paires
+@w{@code{(dx . dy)}} dont les valeurs sont exprimées en espace de
+portée ; on utilisera une liste de listes de paires dans le cas où
+la courbe comporte plusieurs segments.
+
+La fonction sera précédée d'un tiret si et seulement si elle doit
+s'appliquer sous forme de @code{\tweak}.
+
+Pour l'exemple qui nous occupe, l'adaptation sous forme
+dérogatoire -- recours à @code{\once\override} -- de la fonction
+@code{\shape}, nous pouvons remonter la liaison d'un demi espace
+de portée :
+
+@lilypond[verbatim,quote,relative=1]
+<<
+  {
+    \shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 0.5)) Tie
+    e1~ 1
+  }
+\\
+  { r4 <g c,> <g c,> <g c,> }
+>>
+@end lilypond
+
+La liaison est maintenant mieux positionnée ; mais sa partie
+centrale pourrait être un peu plus relevée, en procédant comme
+ci-dessous, cette fois en utilisant la formulation d'affinage
+-- la forme @code{\tweak} :
+
 @lilypond[verbatim,quote,relative=1]
 <<
-  { e1~ e }
+  {
+    e1-\shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) ~ e
+  }
 \\
   { r4 <g c,> <g c,> <g c,> }
 >>
 @end lilypond
 
-L'un des moyens d'améliorer cette liaison consiste à modifier
-manuellement ses quatre points de contrôle.
+L'adaptation du positionnement horizontal des points de contrôle
+se réalise de la même manière, ce qui permet de gérer le galbe de
+deux courbes débutant au même instant musical :
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+c8(\( a) a'4 e c\)
+\shape #'((0.7 . -0.4) (0.5 . -0.4) (0.3 . -0.3) (0 . -0.2)) Slur
+\shape #'((0 . 0) (0 . 0.5) (0 . 0.5) (0 . 0)) PhrasingSlur
+c8(\( a) a'4 e c\)
+@end lilypond
+
+La fonction @code{\shape} permet aussi d'adapter les points de
+contrôle d'une courbe qui se prolonge après un saut de ligne.
+Chaque portion de la courbe peut se voir appliquer sa propre liste
+d'ajustements.  Lorsque l'un des segments ne nécessite pas de
+retouche, il suffit de lui fournir une liste vide.  Dans l'exemple
+suivant, le saut de ligne laisse à croire qu'il y a non pas une
+seule mais deux liaisons :
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+c4( f g c
+\break
+d,4 c' f, c)
+@end lilypond
+
+Regalber les deux moitiés de la liaison rend plus évident le fait
+qu'elle d'étend par delà le saut de ligne :
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+% () may be used as a shorthand for ((0 . 0) (0 . 0) (0 . 0) (0 . 0))
+% if any of the segments does not need to be changed
+\shape #'(
+           (( 0 . 0) (0 . 0) (0 . 0) (0 . 1))
+           ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5))
+         ) Slur
+c4( f g c
+\break
+d,4 c' f, c)
+@end lilypond
+
+La présence d'une courbe en S requiert obligatoirement d'ajuster
+manuellement les points de contrôle -- LilyPond n'optera jamais
+automatiquement pour un tel galbe.
+
+@lilypond[verbatim,quote,relative=2]
+c8( e b-> f d' a e-> g)
+\shape #'((0 . -1) (5.5 . -0.5) (-5.5 . -10.5) (0 . -5.5)) PhrasingSlur
+c8\( e b-> f d' a e-> g\)
+@end lilypond
+
+@subsubsubheading Déclaration explicite des points de contrôle
+@c VO Specifying control points explicitly
 
 Les coordonnées des points de contrôle sont données en unités d'espace
 de portée.  L'abscisse est relative au point de référence de la note de
@@ -4199,30 +4595,35 @@ de la portée.  Les différentes coordonnées sont entrées sous la forme
 d'une liste de quatre paires de nombres décimaux (ou nombres réels).
 L'une des manières de procéder consiste à tout d'abord estimer les
 coordonnées des deux extrémités puis, par tâtonnement, déterminer les
-deux points intermédiaires.
+deux points intermédiaires.  Gardez à l'esprit que ces valeurs
+pourront devoir être revues si la musique ou sa mise en forme sont
+modifées.
 
-Remarque intéressante au sujet des courbes : une courbe sera
-symétrique si ses points de contrôle sont symétriques.  L'une des
-propriétés avantageuses des courbes de Bézier est que leur
-transformation -- déplacement, rotation ou échelonnement -- est
-réalisable en simplement corrigeant de manière identique ses points de
-contrôle.
+L'une des situation où spécifier explicitement les points de
+contrôle se révèle être tout à fait appropriée est lorsqu'ils se
+réfèrent à une seul et unique note.  L'exemple suivant illustre
+l'un des moyens d'indiquer une liaison qui se prolonge sur les
+alternatives d'une répétition.
 
-Pour l'exemple qui nous occupe, l'adaptation suivante nous permet
-d'obtenir un résultat plutôt satisfaisant.  Notez bien l'endroit où
-cette adaptation est stipulée : juste avant la note de départ de la
-liaison.
-
-@lilypond[verbatim,quote,relative=1]
-<<
+@lilypond[verbatim,quote,relative=2]
+c1
+\repeat volta 3 { c4 d( e f }
+\alternative {
+  { g2) d }
   {
-    \once \override Tie
-      #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
-     e1 ~ e
+    g2
+    % create a slur and move it to a new position
+    % the <> is just an empty chord to carry the slur termination
+    -\tweak control-points #'((-2 . 3.8) (-1 . 3.9) (0 . 4) (1 . 3.4)) ( <> )
+    f,
   }
-\\
-  { r4 <g c,> <g c,> <g c,> }
->>
+  {
+    e'2
+    % create a slur and move it to a new position
+    -\tweak control-points #'((-2 . 3) (-1 . 3.1) (0 . 3.2) (1 . 2.4)) ( <> )
+    f,
+  }
+}
 @end lilypond
 
 @knownissues
@@ -4237,6 +4638,117 @@ Référence des propriétés internes :
 @rinternals{TieColumn}.
 
 
+@node Modification de bandeaux avec rupture
+@subsection Modification de bandeaux avec rupture
+@translationof Modifying broken spanners
+
+@menu
+* Utilisation de alterBroken::
+@end menu
+
+@node Utilisation de alterBroken
+@unnumberedsubsubsec Utilisation de @code{@bs{}alterBroken}
+@translationof Using alterBroken
+
+@cindex extenseur, modification
+@cindex bandeau, modification
+@cindex bandeau avec rupture, modification
+@cindex extension avec rupture, modification
+@funindex \alterBroken
+
+Lorsqu'un bandeau ou l'extension d'un objet rencontre un saut de ligne
+ou une rupture, chacun de ses tronçons hérite des attributs de l'objet
+originel.  Par voie de conséquence, la modification d'une extension avec
+rupture produira les mêmes effets sur chacun des segments.  Dans
+l'exemple ci-dessous, la modification apportée à @code{thickness}
+s'applique aussi bien avant qu'après le saut de ligne.
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+r2
+\once\override Slur.thickness = 10
+c8( d e f
+\break
+g8 f e d) r2
+@end lilypond
+
+La commande @code{\alterBroken} permet de modifier indépendamment
+l'apparence de chacune des parties d'un bandeau.  Selon le cas, cette
+commande génèrera soit un @code{\override}, soit un @code{\tweak} qui
+s'appliquera à la propriété du bandeau.
+
+La commande @code{\alterBroken} répond à la syntaxe :
+
+@example
+[-]@code{\alterBroken} @var{propriété} @var{valeurs} @var{élément}
+@end example
+
+L'argument @var{valeurs} est constitué d'une liste de valeurs, une pour
+chaque tronçon.  Lorsque @var{élément} est un nom d'objet graphique,
+tels @code{Slur} ou @code{Staff.PianoPedalBracket}, il en résulte un
+@code{\override} du type de @emph{grob} spécifié.  Lorsque @var{élément}
+est une expression musicale comme « ( » ou « [ », en résulte cette même
+expression musicale à laquelle s'applique un @code{\tweak}.
+@c closing ) and ]
+
+Le tiret introduisant la commande @code{\alterBroken} est impératif dans
+le cadre d'un @code{\tweak} ; il est superflu pour un @code{\override}.
+
+Dans sa variante @code{\override}, la commande @code{\alterBroken} peut
+se préfixer d'un @code{\once} ou d'un @code{\temporary} qui seront
+annulés par un @code{\revert} suivi de la @var{propriété}.
+
+Le code ci-dessous applique un @code{\override} indépendant à chacun
+des segments du phrasé de l'exemple précédent :
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+r2
+\alterBroken thickness #'(10 1) Slur
+c8( d e f
+\break
+g8 f e d) r2
+@end lilypond
+
+La commande @code{\alterBroken} peut s'utiliser avec tout objet étendu,
+y compris @code{Tie}, @code{PhrasingSlur}, @code{Beam} et
+@code{TextSpanner}.  Par exemple, un éditeur préparant une édition
+critique pourrait faire ressortir l'absence d'une partie de liaison de
+phrasé dans l'une des sources, en optant pour un tracé pointillé du
+seul segment ajouté.  L'exemple ci-dessous illustre la manière de
+procéder, ici avec la variante @code{\tweak} de la commande :
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+% The empty list is conveniently used below, because it is the
+% default setting of dash-definition, resulting in a solid curve.
+c2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e
+\break
+g2 e\)
+@end lilypond
+
+Il est important de considérer que @code{\alterBroken} affectera à
+chaque portion d'un bandeau interrompu la valeur correspondante de
+@var{valeurs}.  Si d'aventure il y a moins de valeurs que de tronçons,
+toute portion additionnelle se verra assigner une liste vide.  Ceci peut
+conduire à des résultats inattendus dans le cas où la propriété de rendu
+ne bascule pas sur une liste vide par défaut.  En pareil cas, chaque
+segment devrait se voir assigner une valeur appropriée.
+
+
+@knownissues
+Les sauts de ligne peuvent intervenir à différents endroits pour
+répondre à des modifications de mise en forme.  Les réglages adoptés par
+@code{\alterBroken} peuvent devenir inadaptés si le bandeau n'est plus
+rompu ou est découpé en plus de segments que prévu.  L'introduction
+explicite d'un @code{\break} peut alors pallier ces situations.
+
+La commande @code{\alterBroken} est inopérante sur les propriétés d'un
+bandeau qui sont traitées avant la procédure de saut de ligne, comme
+@code{direction}.
+
+@seealso
+Manuel d'extension :
+@rextend{Retouches complexes}.
+
+
 @node Conteneurs requalifiants
 @subsection Conteneurs requalifiants
 @translationof Unpure-pure containers
@@ -4312,12 +4824,12 @@ initiale aux fins d'ajustement lors des phases ultérieures d'espacement.
                               '(-0.5 . 0.5)))))
 
 squareLineCircleSpace = {
-  \override NoteHead #'stencil = #square-line-circle-space
+  \override NoteHead.stencil = #square-line-circle-space
 }
 
 smartSquareLineCircleSpace = {
   \squareLineCircleSpace
-  \override NoteHead #'Y-extent =
+  \override NoteHead.Y-extent =
    #(ly:make-unpure-pure-container
       ly:grob::stencil-height
       (lambda (grob start end) (ly:grob::stencil-height grob)))
@@ -4378,8 +4890,8 @@ forme
 @example
 fonction =
 #(define-music-function
-     (parser location @var{arg1} @var{arg2} @dots{})
-     (@var{type1?} @var{type2?} @dots{})
+     (parser location @var{arg1} @var{arg2}@dots{})
+     (@var{type1?} @var{type2?}@dots{})
    #@{
      @var{@dots{}musique@dots{}}
    #@})
@@ -4463,15 +4975,15 @@ padText =
      (parser location padding)
      (number?)
    #{
-     \once \override TextScript #'padding = #padding
+     \once \override TextScript.padding = #padding
    #})
 
-\relative c''' {
+\relative c'' {
   c4^"piu mosso" b a b
   \padText #1.8
-  c4^"piu mosso" d e f
+  c4^"piu mosso" b a b
   \padText #2.6
-  c4^"piu mosso" fis a g
+  c4^"piu mosso" b a b
 }
 @end lilypond
 
@@ -4502,7 +5014,7 @@ tempoPadded =
      (parser location padding tempotext)
      (number? markup?)
    #{
-     \once \override Score.MetronomeMark #'padding = #padding
+     \once \override Score.MetronomeMark.padding = #padding
      \tempo \markup { \bold #tempotext }
    #})