]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/user/fundamental.itely
Merge master into nested-bookparts
[lilypond.git] / Documentation / fr / user / fundamental.itely
index 6dbe855075ea3a8ee0f215853509f5f83fece02a..84d6d4a8bea5aae0944e51ff80d1f049fb8115f5 100644 (file)
@@ -1,26 +1,30 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond-learning.tely
 @ignore
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: 007d0b5b94c36f9d9e228309d5b0e6a67ae27ebc
+    Translation of GIT committish: a4836ce5ec9488d795344735f2febc880fbb6a2f
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.51"
+@c \version "2.11.61"
 
 
-@c Translators: Valentin Villenave
-@c Translation checkers: Jean-Charles Malahieude, John Mandereau
+@c Translators: Valentin Villenave, Jean-Charles Malahieude
+@c Translation checkers: John Mandereau
 
 @node Fundamental concepts
 @chapter Fundamental concepts
 
 
 @node Fundamental concepts
 @chapter Fundamental concepts
 
+Le tutoriel nous a montré comment obtenir une édition de toute beauté à
+partir d'un simple fichier texte.  Nous nous intéresserons dans cette
+partie aux concepts et techniques qui permettent d'obtenir des
+partitions complexes de même qualité.
 
 @menu
 
 @menu
-* How LilyPond input files work::
-* Voices contain music::
-* Contexts and engravers::
-* Extending the templates::
+* How LilyPond input files work::  
+* Voices contain music::        
+* Contexts and engravers::      
+* Extending the templates::     
 @end menu
 
 @node How LilyPond input files work
 @end menu
 
 @node How LilyPond input files work
@@ -35,93 +39,179 @@ sommairement l'organisation du code LilyPond, en privilégiant
 la simplicité au détriment de certains détails.  Vous trouverez une
 description plus complète dans @ruser{File structure}.
 
 la simplicité au détriment de certains détails.  Vous trouverez une
 description plus complète dans @ruser{File structure}.
 
-@menu 
-* Introduction to the LilyPond file structure::
-* Score is a (single) compound musical expression::
-* Nesting music expressions::
-* On the un-nestedness of brackets and ties::
+@menu
+* Introduction to the LilyPond file structure::  
+* Score is a (single) compound musical expression::  
+* Nesting music expressions::   
+* On the un-nestedness of brackets and ties::  
 @end menu
 
 @node Introduction to the LilyPond file structure
 @subsection Introduction to the LilyPond file structure
 
 @end menu
 
 @node Introduction to the LilyPond file structure
 @subsection Introduction to the LilyPond file structure
 
-@c FIXME this subsection translation is very outdated
-@c but wait until it is in a stable state in English
+@cindex format d'entrée
+@cindex structure de ficher
 
 
-La plupart des exemples de ce manuel sont de courts fragments, par exemple
+Un fichier d'entrée LilyPond ressemble à :
 
 @example
 
 @example
-c4 a b c
+\version @w{"@version{}"}
+\score @{
+  @var{...expression musicale composite...}  % c'est là qu'est la musique !
+  \header @{ @}
+  \layout @{ @}
+  \midi @{ @}
+@}
 @end example
 
 @end example
 
-Comme vous le savez maintenant (du moins nous l'espèrons), ceci ne
-peut pas être traité en tant que tel. Il s'agit de formes abrégées des
-exemples complets ; pour pouvoir être traitées, ces formeulations
-doivent au moins être encadrées par des accolades :
+@noindent
+Il existe de nombreuses variantes à ce schéma simpliste, mais cet
+exemple est un préambule à notre propos.
+
+@funindex \book
+@funindex \score
+@cindex book, livre, ouvrage
+@cindex livre
+@cindex score, partition
+@cindex partition
+
+Jusqu'à présent, les exemples que nous avons pu voir ne faisaient pas
+appel à la commande @code{\score@{@}}.  En fait, LilyPond ajoute
+automatiquement les commandes nécessaires au traitement d'un code
+simpliste.  LilyPond considère
 
 @example
 
 @example
-@{
-  c4 a b c
+\relative c'' @{
+  c4 a d c
 @}
 @end example
 
 @}
 @end example
 
-La plupart des exemples font aussi intervenir la commande
-@code{\relative}, suivie de @code{c'} ou @code{c''}.  Elle n'est pas à
-proprement parler nécessaire pour le traitement des exemples, mais
-dans la plupart des cas le résultat sera vraiment déplorable si vous
-l'oubliez.
-
-@lilypond[quote,fragment,ragged-right,verbatim]
-\relative c'' {
-  c4 a b c
-}
-@end lilypond
-
-C'est ici que nous passons aux choses sérieuses : le code LilyPond,
-sous cette forme, est en réalité un @emph{autre} raccourci. Même s'il
-est traité sans problème, et aboutit au bon résultat, c'est une forme
-abrégée de :
+@noindent
+comme un racourci de
 
 @example
 
 @example
-\score @{
-  \relative c'' @{
-    c4 a b c
+\book @{
+  \score @{
+    \new Staff @{
+      \new Voice @{
+        \relative c'' @{
+          c4 a b c
+        @}
+      @}
+    @}
+    \layout @{ @}
   @}
 @}
 @end example
 
   @}
 @}
 @end example
 
-Un bloc @code{\score} doit commencer par une et une seule expression
-musicale. Rappelez-vous que cette expression peut être ce que vous
-voulez, d'une note toute seule à un gigantesque
+En d'autres termes, si le code n'est constitué que d'une expression
+musicale simple, LilyPond interprètera le fichier tout comme si cette
+expression était incluse dans les commandes de notre premier exemple.
+
+@cindex implicit contexts
+
+@strong{Attention :}  de nombreux exemples, dans la documentation de
+LilyPond, ne font pas apparaître les commandes @code{\new Staff} ou
+@code{\new Voice}, même si elles seront créées implicitement.  Ce qui
+n'est pas primordial pour des exemples simples le devient dès que la
+situation devient un peu plus complexe.  Le fait de ne pas déclarer
+explicitement un contexte peut alors amener à des résultats quelque peu
+surprenants, comme la création d'une portée supplémentaire et
+indésirable.  La manière de créer explicitement des contextes est
+vue plus en détails au chapitre @ref{Contexts and engravers}.
+
+@warning{Dès lors que votre musique dépasse quelques lignes, nous vous
+engageons fortement à créer explicitement les voix et portées.}
+
+Mais revenons à notre premier exemple, et penchons nous tout d'abord sur
+la commande @code{\score}.
+
+Un bloc @code{\score} doit contenir une et une seule expression
+musicale, exprimée immédiatement à la suite de la commande
+@code{\score}.  Rappelez-vous que cette expression peut être n'importe
+quoi, d'une note isolée à un gigantesque
 
 @example
 @{
   \new GrandStaff <<
 
 @example
 @{
   \new GrandStaff <<
-    collez ici la partition complète de votre opéra de Wagner préféré
+    @var{...collez ici la partition complète d'un opéra de Wagner...}
   >>
 @}
 @end example
 
 @noindent
   >>
 @}
 @end example
 
 @noindent
-Dès lors que tout cela est entre accolades : @code{@{ ... @}}, c'est
-une et une seule expression musicale.
+Dès lors que tout cela est entre accolades : @code{@{ ... @}}, LilyPond
+le considère comme une et une seule expression musicale.
 
 
-Le bloc @code{\score} peut contenir d'autres éléments, tels que
+Comme nous l'avons vu précédemment, un bloc @code{\score} peut contenir
+d'autres informations :
 
 @example
 \score @{
   @{ c'4 a b c' @}
 
 @example
 \score @{
   @{ c'4 a b c' @}
+  \header @{ @}
   \layout @{ @}
   \midi @{ @}
   \layout @{ @}
   \midi @{ @}
-  \header @{ @}
 @}
 @end example
 
 @}
 @end example
 
-@noindent
-Certains préfèrent mettre ces commandes en dehors du bloc 
-@code{\score} --- par exemple, on met souvent le @code{\header}
-au-dessus. C'est juste là une autre forme abrégée que LilyPond
-accepte.
+@funindex \header
+@funindex \layout
+@funindex \midi
+@cindex header
+@cindex en-tête
+@cindex layout
+@cindex mise en forme
+@cindex midi
+
+Gardez à l'esprit que ces trois commandes -- @code{\header},
+@code{\layout} et @code{\midi} -- sont spécifiques :  à l'inverse de
+toutes les commandes débutant par une oblique inversée (@emph{backshash}
+pour @code{\}), @emph{elles ne constituent pas} des expressions
+musicales et ne seront donc pas interprétées comme telles.    Elles
+peuvent de ce fait être mentionnées à l'intérieur du bloc @code{\score},
+tout comme à l'extérieur.  En réalité, ces commandes sont la plupart du
+temps indépendantes du bloc @code{\score} -- la commande @code{\header}
+intervient bien souvent avant le bloc @code{\score} tout simplement
+parce que les en-têtes apparaissent au début de la partition.  C'est
+donc l'un des raccourcis que LilyPond prendra en considération.
+
+Les deux autres commandes -- @code{\layout @{ @}} et @code{\midi @{@}}
+-- que nous n'avons pas détaillées pour l'instant, auront respectivement
+pour effet lorsqu'elles interviennent de produire une sortie
+imprimable et un fichier MIDI.  Nous nous y intéressons plus
+particulièrement dans le manuel de notation, aux chapitres @ruser{Score
+layout} et @ruser{Creating MIDI files}.
+
+@cindex scores, multiples
+
+Vous pouvez tout à fait mentionner plusieurs blocs @code{\score}.  Ils
+seront traités comme autant de partitions indépendantes qui seront
+regroupées dans un seul fichier résultant.  La commande @code{\book} 
+(@emph{recueil} ou @emph{ouvrage}) pas obligatoire -- elle sera
+créée implicitement.  Néanmoins, le recours à la commande @code{\book}
+vous permettra d'obtenir des fichiers résultants distincts à partir
+d'un même fichier source @code{.ly} -- par exemple un fichier par pupitre.
+
+En résumé :
+
+Dès que LilyPond rencontre un bloc @code{\book}, il crée un
+fichier distinct (.pdf par exemple).  Dans le cas où il n'est pas
+mentionné explicitement, LilyPond regroupera l'intégralité du code dans
+un bloc @code{\book}.
+
+Tout bloc @code{\score} inclus dans un bloc @code{\book} constitue un
+fragment de musique.
+
+Tout bloc @code{\layout} affecte le bloc @code{\score} ou @code{\book}
+au sein duquel il intervient : si c'est à l'intérieur d'un bloc
+@code{\score}, seul celui-ci en sera affecté.  Dans le cas où le bloc
+@code{\layout} se trouve à l'extérieur du bloc @code{\score}, que le
+bloc @code{\book} soit explicite ou non, il affectera chacun des
+@code{\score} compris dans ce @code{\book}.
+
+Pour plus de détail à ce sujet, consultez 
+@ruser{Multiple scores in a book}.
 
 @cindex variables
 @cindex identificateurs
 
 @cindex variables
 @cindex identificateurs
@@ -145,10 +235,12 @@ variable @code{melodie}, c'est-à-dire tout ce qui suit le signe @code{=},
 et l'insérer partout où il rencontrera @code{\melodie}.  Vous êtes
 libre de choisir comment dénommer vos variables@footnote{Les noms de
 variables sont sensibles à la casse, et ne peuvent contenir ni
 et l'insérer partout où il rencontrera @code{\melodie}.  Vous êtes
 libre de choisir comment dénommer vos variables@footnote{Les noms de
 variables sont sensibles à la casse, et ne peuvent contenir ni
-chiffre, ni tiret, ni caractère accentué.} ; ce peut être
+chiffre, ni ponctuation, ni caractère accentué, ni espace.} ; ce peut être
 @code{melodie}, @code{global}, @code{maindroitepiano}, ou
 @code{melodie}, @code{global}, @code{maindroitepiano}, ou
-@code{laTeteAToto}.  Pour plus de détails, voir @ref{Saving
-typing with variables and functions}.
+@code{laTeteAToto}, tant qu'il ne s'agit pas de @qq{mot réservé}.  Pour
+plus de détails, voir @ref{Saving typing with variables and functions}. 
+
+@seealso
 
 Pour une description complète du format des fichiers d'entrée, voir 
 @ruser{File structure}.
 
 Pour une description complète du format des fichiers d'entrée, voir 
 @ruser{File structure}.
@@ -157,10 +249,15 @@ Pour une description complète du format des fichiers d'entrée, voir
 @node Score is a (single) compound musical expression
 @subsection Score is a (single) compound musical expression
 
 @node Score is a (single) compound musical expression
 @subsection Score is a (single) compound musical expression
 
-Dans la section précédente, nous avons vu l'organisation générale des
-fichiers d'entrée de LilyPond.  Mais c'est comme si nous avions éludé la
-question essentielle : comment diable peut-on savoir quoi mettre après
-@code{\score} ?
+@funindex \score
+@cindex partition
+@cindex Expression musicale composite
+
+Dans la section précédente, 
+@ref{Introduction to the LilyPond file structure},  nous
+avons vu l'organisation générale des fichiers d'entrée de LilyPond.
+Mais c'est comme si nous avions éludé la question essentielle : comment
+diable peut-on savoir quoi mettre après @code{\score} ?
 
 En fait, nous ne l'avons pas éludée du tout : le grand mystère est
 tout simplement qu'il n'y a @emph{pas} de mystère.  Allez,
 
 En fait, nous ne l'avons pas éludée du tout : le grand mystère est
 tout simplement qu'il n'y a @emph{pas} de mystère.  Allez,
@@ -183,7 +280,7 @@ et remonter la pente.
 \score @{
   @{   % cette accolade marque le début de l'expression musicale
     \new GrandStaff <<
 \score @{
   @{   % cette accolade marque le début de l'expression musicale
     \new GrandStaff <<
-    insérez ici votre opéra de Wagner préféré
+    @var{...insérez ici l'intégralité d'un opéra de Wagner...}
     >>
   @}   % cette accolade marque la fin de l'expression musicale
   \layout @{ @}
     >>
   @}   % cette accolade marque la fin de l'expression musicale
   \layout @{ @}
@@ -210,28 +307,31 @@ laissons cela de côté.  Par contre, un chanteur et un piano
 @}
 @end example
 
 @}
 @end example
 
-Vous vous souvenez que nous avons recours à @code{<<} et @code{>>}
-pour mettre en place des musiques simultanées.  Et, pour le
-coup, on aimerait @emph{vraiment} que la partie vocale et l'accompagnement
-soient imprimés ensemble...
-
-@example
-\score @{
-  @{
-    <<
-      \new Staff = "chanteur" <<
-        \new Voice = "chant" @{ @}
-      >>
-      \new Lyrics \lyricsto chant \new Lyrics @{ @}
-      \new PianoStaff = "piano" <<
-        \new Staff = "mainDroite" @{ @}
-        \new Staff = "mainGauche" @{ @}
-      >>
+Vous vous souvenez que nous avons recours à @code{<<} et @code{>>} 
+en lieu et place de @code{@{ ... @}} pour gérer des musiques
+simultanées.  Et,  pour le coup, on aimerait @emph{vraiment} que la
+partie vocale et l'accompagnement soient imprimés ensemble...  Bien que
+faire appel à @code{<< ... >>} ne soit pas réellement nécessaire pour la
+portée du chanteur, dans la mesure où elle ne contient qu'une seule
+expression musicale, nous vous recommandons de prendre l'habitude de
+l'encadrer ainsi plutôt que par de simples accolades --- une portée peut
+en effet contenir plusieurs voix. 
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+  <<
+    \new Staff = "singer" <<
+      \new Voice = "vocal" { c'1 }
+      \addlyrics { And }
     >>
     >>
-  @}
-  \layout @{ @}
-@}
-@end example
+    \new PianoStaff = "piano" <<
+      \new Staff = "upper" { c'1 }
+      \new Staff = "lower" { c'1 }
+    >>
+  >>
+  \layout { }
+}
+@end lilypond
 
 On y voit nettement plus clair maintenant.  Nous voici donc avec la
 partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
 
 On y voit nettement plus clair maintenant.  Nous voici donc avec la
 partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
@@ -249,40 +349,44 @@ accolades qui suivent @code{\new Voice = chant}, on pourrait commencer
 
 @example
 \relative c'' @{
 
 @example
 \relative c'' @{
-  a4 b c d
+  r4 d8\noBeam g, c4 r
 @}
 @end example
 
 Mais si l'on procédait ainsi, la section @code{\score} deviendrait
 vite assez touffue, et très rapidement on ne s'y retrouverait plus.
 @}
 @end example
 
 Mais si l'on procédait ainsi, la section @code{\score} deviendrait
 vite assez touffue, et très rapidement on ne s'y retrouverait plus.
-C'est pourquoi on utilisera plutôt des variables, ou identificateurs :
+C'est pourquoi on utilisera plutôt des variables, ou identificateurs.
+avec quelques notes de plus, nous pourrins avoir :
 
 
-@example
-melodie = @{ @}
-texte = @{ @}
-mainDroite = @{ @}
-mainGauche = @{ @}
-\score @{
-  @{
-    <<
-      \new Staff = "chanteur" <<
-        \new Voice = "chant" @{ \melodie @}
-      >>
-      \new Lyrics \lyricsto chant \new Lyrics @{ \texte @}
-      \new PianoStaff = "piano" <<
-        \new Staff = "mainDroite" @{ \mainDroite @}
-        \new Staff = "mainGauche" @{ \mainGauche @}
-      >>
+@lilypond[verbatim,quote,ragged-right]
+melody = \relative c'' { r4 d8\noBeam g, c4 r }
+text   = \lyricmode { And God said, }
+upper  = \relative c'' { <g d g,>2~ <g d g,> }
+lower  = \relative c { b2 e2 }
+
+\score {
+  <<
+    \new Staff = "singer" <<
+      \new Voice = "vocal" { \melody }
+      \addlyrics { \text }
     >>
     >>
-  @}
-  \layout @{ @}
-@}
-@end example
+    \new PianoStaff = "piano" <<
+      \new Staff = "upper" { \upper }
+      \new Staff = "lower" {
+        \clef "bass"
+        \lower
+      }
+    >>
+  >>
+  \layout { }
+}
+@end lilypond
 
 
-@noindent
-Souvenez-vous que vous pouvez donner aux variables le nom que vous
-voulez, à condition de respecter les caractères autorisés. Ces
-limitations sont décrites dans @ruser{File structure}.
+Respectez bien la différence entre les notes -- introduites par
+@code{\relative} --,  et les paroles -- introduites par
+@code{\lyricmode}.  Cette distinction est primordiale afin que LilyPond
+puisse interpréter ce qui les suit comme étant respectivemen de la
+musique ou du texte.
 
 Quand on écrit, ou que l'on lit, une section @code{\score}, mieux vaut
 y aller lentement et soigneusement. Commencez par le niveau le plus
 
 Quand on écrit, ou que l'on lit, une section @code{\score}, mieux vaut
 y aller lentement et soigneusement. Commencez par le niveau le plus
@@ -291,202 +395,1148 @@ une indentation stricte et propre est vraiment d'une aide précieuse :
 assurez-vous que chaque élément d'un même niveau a le même décalage
 horizontal dans votre éditeur de texte !
 
 assurez-vous que chaque élément d'un même niveau a le même décalage
 horizontal dans votre éditeur de texte !
 
+@seealso
+
+Manuel de notation : @ruser{Structure of a score}.
 
 
 @node Nesting music expressions
 @subsection Nesting music expressions
 
 
 
 @node Nesting music expressions
 @subsection Nesting music expressions
 
-@untranslated
+@cindex portées, temporaires
+@cindex ossias
+
+Déclarer toutes les portées dès le départ n'est pas une obligation ;
+elles peuvent intervenir temporairement n'importe où dans la partition.
+Ceci est tout à fait indiqué pour créer des sections @rglos{ossia}.
+L'exemple suivant illustre la manière de créer temporairement une
+nouvelle portée, l'espace de trois notes :
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff {
+        f8 f c
+      }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+Vous noterez la taille de la clef, identique à celle que l'on trouve
+lors d'un changement en cours de ligne --- légèrement plus petite que
+celle imprimée en tête de ligne.
+
+@cindex portée, positionnement
+
+Une section ossia se placera au dessus de la portée en procédant ainsi :
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" }
+      { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Cet exemple recourt à @code{\with}, que nous verrons en détail plus
+avant.  C'est un moyen de modifier le comportement par défaut d'une
+portée individuelle.  Nous indiquons ici que la nouvelle portée doit se
+placer au dessus de la portée @qq{main} plutôt qu'en dessous, ce
+qui est le comportement par défaut.
+
+Les ossia apparaissent souvent sans clef ni métrique, et dans une police
+plus petite.  Ceci requiert des commandes dont nous n'avons pas encore
+parlé.  Voir @ref{Size of objects} et @ruser{Ossia staves}.
+
 
 @node On the un-nestedness of brackets and ties
 @subsection On the un-nestedness of brackets and ties
 
 
 @node On the un-nestedness of brackets and ties
 @subsection On the un-nestedness of brackets and ties
 
-@untranslated
+@cindex crochets, imbrication
+
+Nous avons déjà rencontré plusieurs types de crochets au fil de nos
+fichiers LilyPond.  Ils obéissent à des règles différentes qui peuvent
+paraître déroutantes.  Avant d'examiner ces règles, voici une liste des 
+différents types de crochet :
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .3 .7
+@headitem Type de crochet
+  @tab Fonction
+@item @code{@{ .. @}}
+  @tab Délimite un segment de musique séquentielle
+@item @code{< .. >}
+  @tab Délimite les notes d'un accord
+@item @code{<< .. >>}
+  @tab Délimite des sections simultanées
+@item @code{( .. )}
+  @tab Marquent le début et la fin d'une liaison
+@item @code{\( .. \)}
+  @tab Marquent le début et la fin d'une liaison de phrasé
+@item @code{[ .. ]}
+  @tab Marquent le début et la fin d'une ligature manuelle
+@end multitable
+
+D'autres constructions permettent d'obtenir des lignes regroupant ou en
+travers des notes :  les liaisons de prolongation (indiquées par un
+tilde, @code{~}), les marques de nolet avec 
+@code{\times@tie{}x/y@tie{}@{..@}} ou
+encore les notes d'ornement avec @code{\grace@{..@}}.
+
+En dehors de LilyPond, l'imbrication correcte de différents types de
+crochets exige un strict respect des conventions, telles que 
+@code{<< [ @{ ( .. ) @} ] >>}, où les marques de fermeture interviennent
+obligatoirement dans l'ordre exactement inverse à celles d'ouverture.
+Ceci @strong{doit} être rigoureusement respecté pour les trois
+types de crochets utilisés pour @emph{délimiter} comme l'indique le
+tableau ci-dessus.  
+Une telle rigueur dans l'imbrication n'est @strong{pas} requise pour les
+types de crochets dont la fonction est de @emph{marquer}, selon le
+tableau ci-dessus, lorsqu'il sont utilisés en combinaison avec des
+liaisons de prolongation ou des nolets.  En effet, il ne s'agit pas
+de crochets ayant pour fonction de borner quelque chose ; ils agissent
+plutôt comme marquant le début de quelque chose et sa fin.
+
+Ainsi, et bien que ce ne soit pas très musical, une liaison de phrasé
+peut débuter avant l'insertion d'une ligature manuelle et s'arrêter
+avant la fin de la ligature :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+ { g8\( a b[ c b\) a] }
+@end lilypond
+
+De manière générale, différents types de crochets, notamment s'ils
+indiquent des nolets, liaisons de prolongation ou notes d'ornements,
+peuvent se mélanger entre eux.  L'exemple suivant montre une ligature
+qui se prolonge sur un triolet (ligne 1), puis une liaison qui se
+prolonge sur un triolet (ligne 2) et enfin une ligature et une liaison
+qui s'étendent sur un triolet, lui-même lié à un quintolet agrémenté
+d'une liaison de phrasé se poursuivant (lignes 3 et 4).
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+  r16[ g16 \times 2/3 {r16 e'8] }
+  g16( a \times 2/3 {b d) e' }
+  g8[( a \times 2/3 {b d') e'~]}
+  \times 4/5 {e'32\( a b d' e'} a'4.\)
+}
+@end lilypond
+
 
 @node Voices contain music
 @section Voices contain music
 
 
 @node Voices contain music
 @section Voices contain music
 
-@untranslated
+Les chanteurs utilisent leur voix pour chanter ; il en va de même pour 
+LilyPond.  En fait, la musique de chacun des instruments d'une partition
+est contenue dans des voix (@emph{Voices} en anglais) et qui se trouve
+être le concept fondamental de LilyPond.
 
 @menu
 
 @menu
-* I'm hearing Voices::
-* Explicitly instantiating voices::
-* Voices and vocals::
+* I'm hearing Voices::          
+* Explicitly instantiating voices::  
+* Voices and vocals::           
 @end menu
 
 @node I'm hearing Voices
 @subsection I'm hearing Voices
 
 @end menu
 
 @node I'm hearing Voices
 @subsection I'm hearing Voices
 
-@untranslated
+@cindex polyphonie
+@cindex calques (layers)
+@cindex voix multiples
+@cindex Voice, contexte
+@cindex contexte de voix
+@cindex musique simultanée
+@cindex musique concurrente
+
+Dans une partition gérée par LilyPond, le niveau le plus bas, ou bien
+élémentaire ou fondamental, est le @q{contexte de voix} -- @emph{Voice
+context} en anglais --.  Pour d'autres logiciels, on fait tantôt
+référence à la notion de @q{couche} ou de @q{calque}.
+
+En réalité, le contexte de voix est le seul à pouvoir contenir de la
+musique.  S'il n'est pas déclaré explicitement, il sera créé
+automatiquement comme nous l'avons vu au début de ce chapitre.  Certains
+instruments, le hautbois par exemple, ne peuvent jouer qu'une seule note
+à la fois.  On dit en pareil cas qu'il s'agit de musique monophonique,
+et nous n'aurons alors besoin que d'une seule voix.  Les intruments qui,
+comme le piano, peuvent émettre plusieurs sons en même temps, nécessitent
+de recourir à plusieurs voix pour gérer efficacement l'alignement des
+notes et rythmes différents.
+
+Si une voix unique peut tout à fat contenir plusieurs notes dans un
+accord, à partir de quand aurons-nous vraiment besoin de plusieurs 
+voix ?  Considérons déjà ces quatre accords :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+\key g \major
+<d g>4 <d fis> <d a'> <d g>
+@end lilypond
+
+Nous exprimons ici chacun des accords par l'utilisation de 
+symboles inférieur et supérieur simples, @code{< ... >}, puisque nous
+n'avons besoin que d'une seule voix.  Supposons maintenant que le fa
+dièse soit une croche, suivie d'un sol croche -- une note de passage
+vers le la ?  Nous avons alors deux notes qui débutent au même moment,
+mais dont la durée est différente : un ré noire et un fa dièse croche.
+Comment coder cela ?  Dans la mesure où toutes les notes d'un accord
+doivent avoir la même durée, nous ne pouvons pas écrire un accord.  Nous
+ne pouvons pas non plus écrire deux notes séparées, puisqu'elles
+débutent en même temps.  Nous avons alors besoin de deux voix.
+
+Voyons comment cela se pratique selon la grammaire de LilyPond.
+
+@funindex << \\ >>
+@funindex \\
+
+Le plus sûr moyen de saisir un fragment où plusieurs voix cohabitent
+sur la même portée, consiste à saisir chacune des voix séquentiellement
+(avec @code{@{...@}}), puis à les combiner en simultané à l'aide de
+symboles supérieur et inférieur doubles, @code{<<...>>}.  Les fragments
+devront être séparés par une double oblique inversée, @code{\\}, pour
+les affecter à des voix séparées.  Dans le cas contraire, les notes
+seraient toutes affectées à une même voix, ce qui pourait générer des
+erreurs.  Cette manière de procéder est tout à fait indiquée dans le cas
+d'une pièce ne comportant que quelques courts passages de polyphonie.
+
+Voici comment éclater les accords en deux voix, avec la note de passage
+et la liaison :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key g \major
+%    Voice "1"                  Voice "2"
+<< { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
+@end lilypond
+
+Notez que les hampes de la seconde voix sont dirigées vers le bas.
+
+Autre exemple :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key d \minor
+%    Voice "1"             Voice "2"
+<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
+<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+<< { a2. r4 }         \\ { fis2. s4 }       >> |
+@end lilypond
+
+Le recours à une construction @code{<< \\ >>} particulière à chaque
+mesure n'est pas nécessaire.  Bien qu'on y gagne en lisibilité si chaque
+mesure ne contient que quelques notes, il est plus judicieux de
+carrément séparer chaque voix :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key d \minor
+<< {
+  % Voice "1"
+  r4 g g4. a8 |
+  bes4 bes c bes |
+  a2. r4 |
+} \\ {
+  % Voice "2"
+  d,2 d4 g |
+  g4 g g8( a) g4 |
+  fis2. s4 |
+} >>
+@end lilypond
+
+
+Cet exemple ne comporte que deux voix, mais il peut être étendu pour
+traiter trois voix ou plus en ajoutant autant de séparateurs @code{\\}
+que de besoin.
+
+Les contextes @code{Voice} portent les noms @code{"1"}, @code{"2"}, etc.
+Pour chacun de ces contextes, la direction et l'orientation des
+liaisons, hampes, nuances, etc. est définie automatiquement.
+
+@lilypond[quote,verbatim,fragment]
+\new Staff \relative c' {
+  % Main voice
+  c16 d e f
+  %    Voice "1"     Voice "2"                 Voice "3"
+  << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
+  << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
+}
+@end lilypond
+
+Ces voix sont séparées de la voix principale qui contient les notes en 
+dehors de la construction @code{<< .. >>} -- que nous appellerons
+@emph{construction simultanée}.  Les liaisons, de prolongation ou non,
+ne peuvent relier des notes que si elles appartiennent à la même voix ;
+elles ne peuvent ni pénétrer une contruction simultanée, ni en sortir.  
+Inversement, les voix parallèles issues de constructions
+simultanées apparaissant sur une même portée appartiennent à la même
+voix.  Les autres propriétés liées au contexte de voix  s'appliquent
+tout au long des constructions simultanées.  Reprenons notre exemple, en
+affectant une couleur et une allure différentes aux notes de chacune des
+voix.  Vous noterez qu'un changement apporté à une voix ne se propage
+pas aux autres, et qu'il se reporte jusqu'au bout, et que la voix aux
+triangles bleus comporte une liaison de prolongation entre deux
+constructions.
+
+@lilypond[quote,verbatim]
+\new Staff \relative c' {
+  % Main voice
+  c16 d e f
+  << % Bar 1
+    {
+      \voiceOneStyle
+      g4 f e
+    }
+  \\
+    {
+      \voiceTwoStyle
+      r8 e4 d c8 ~
+    }
+  >>
+  << % Bar 2
+     % Voice 1 continues
+    { d2 e2 }
+  \\
+     % Voice 2 continues
+    { c8 b16 a b8 g ~ g2 }
+  \\
+    {
+      \voiceThreeStyle
+      s4 b4 c2
+    }
+  >>
+}
+@end lilypond
+
+@funindex \voiceOneStyle
+@funindex \voiceTwoStyle
+@funindex \voiceThreeStyle
+@funindex \voiceFourStyle
+@funindex \voiceNeutralStyle
+
+Les commandes @code{\voiceXXXStyle} sont principalement dédiées à une
+utilisation pédagogique, comme l'est ce document.  Elles modifient la
+couleur des hampes et ligatures et le style de tête des notes, pour
+permettre une meilleure distinction entre les différentes voix.   La
+première voix comporte des têtes en losange rouge, la deuxième en
+triangle bleu, la troisième en cercles barré vert, la quatrième (non
+utilisée ici) en croix magenta ;  @code{\voiceNeutralStyle} (non utilisé
+ici) revient au style par défaut.  Nous verrons plus tard comment créer
+de telles commandes.
+Voir @ref{Visibility and color of objects} et
+@ref{Using variables for tweaks}.
+
+La polyphonie ne modifie en rien la relation entre les notes au sein
+d'un bloc @code{\relative @{ @}}.  Chaque note est calculée par rapport
+à celle qui la précède, ou bien par rapport à la première note de
+l'accord qui précède.  Ainsi, dans
+
+@example
+\relative c' @{ noteA << < noteB noteC > \\ noteD >> noteE @}
+@end example
+
+@noindent
+@code{noteB} est relative à @code{noteA}                        @*
+@code{noteC} est relative à @code{noteB}, pas à @code{noteA}    @*
+@code{noteD} est relative à @code{noteB}, pas à @code{noteA} ni
+@code{noteC}                                                    @*
+@code{noteE} est relative à @code{noteD}, pas à @code{noteA}
+
+Une méthode alternative, et qui peut simplifier les choses si les notes 
+des différentes voix sont espacées, consiste à placer une commande
+@code{\relative} au début de chacune des voix :
+
+@example
+\relative c' @{ noteA ... @}
+<<
+  \relative c'' @{ < noteB noteC > ... @}
+\\
+  \relative g' @{ noteD ... @}
+>>
+\relative c' @{ noteE ... @}
+@end example
+
+Pour finir, analysons le principe d'utilisation des voix dans une pièce
+complexe.  Nous allons nous concentrer sur les deux premières mesures du
+second des Deux nocturnes, opus 32 de Chopin.  Cet exemple nous servira
+à plusieurs reprises, y compris dans le chapitre suivant, pour illustrer
+certaines techniques de notation.  Aussi, ne prétez pas trop d'attention
+à ce qui pour l'instant pourrait vous paraître vraiment mystérieux dans
+le code, et intéressons-nous uniquement à ce qui concerne la musique et
+les voix -- ce qui est plus compliqué sera décortiqué plus tard.
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  << % Voice one
+    { c2 aes4. bes8 }
+  \\ % Voice two
+    { aes2 f4 fes }
+  \\ % No voice three
+  \\ % Voice four
+    {
+      % Ignore these for now - they are explained in Ch 4
+      \once \override NoteColumn #'force-hshift = #0
+      <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5
+      des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+La direction des hampes sert souvent à indiquer dans la continuité deux
+lignes mélodiques simultanées.  Ici, les hampes des notes les plus
+hautes vont vers le haut, et celles des notes plus basses vers le
+bas.  C'est une première incation que nous avons eu recours à plus d'une
+voix.
+
+Mais le réel besoin de multiples voix se fait sentir dès lors que
+plusieurs notes qui débutent en même temps ont des durées différentes.
+C'est évident au troisième temps de la première mesure : le la bémol est
+une noire pointée, le fa une noire, et le ré bémol une blanche.  On ne
+peut les grouper dans un accord, puisque toutes les notes composant un
+accord doivent être de même durée.  On ne peut non plus les ecrire
+séquentiellement, puisqu'elles débutent toutes au même instant.  Ce
+fragment de mesure nécessite trois voix, et une bonne pratique voudrait
+que l'intégralité de la mesure soit sur trois voix, comme ci-dessous où
+nous avons une allure et une couleur différentes aux motes de chacune
+d'entre elles.  Une fois de plus, nous reviendrons plus tard sur le code
+que vous ne comprendriez pas.
+
+@c The following should appear as music without code
+@c The three voice styles should be defined in -init
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { % Voice one
+      \voiceOneStyle
+      c2 aes4. bes8
+    }
+  \\  % Voice two
+    { \voiceTwoStyle
+      aes2 f4 fes
+    }
+  \\  % No Voice three (we want stems down)
+  \\  % Voice four
+    { \voiceThreeStyle
+      % Ignore these for now - they are explained in Ch 4
+      \once \override NoteColumn #'force-hshift = #0
+      <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5
+      des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+Essayons à présent de coder cette musique en partant de zéro.  Comme
+nous le verrons, certaines difficultés vont se présenter.  Partons de ce
+que nous avons appris : utilisons la construction @code{<< \\  >>} pour
+saisir la première mesure dans trois voix :
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
+  >>
+  <c ees aes c>1
+}
+@end lilypond
+
+@cindex stem down
+@cindex hampes en bas
+@cindex stem up
+@cindex hampes en haut
+
+La direction des hampes est attribuée automatiquement : les voix
+impaires portent des hampes vers le haut, les voix paires des hampes
+vers le bas.  Les hampes des voix 1 et 2 sont orientées comme il faut
+mais celles de la voix 3 devraient, dans le cas qui nous occupe, aller
+vers le bas.  Nous pouvons corriger cela en sautant la voix 3 et en
+plaçant la musique dans la voix 4 :
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  << % Voice one
+    { c2 aes4. bes8 }
+  \\ % Voice two
+    { aes2 f4 fes   }
+  \\ % Omit Voice three
+  \\ % Voice four
+    { <ees c>2 des2 }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+Cette manipulation nous permet de régler la direction des hampes, mais
+engendre un problème que l'on rencontre parfois avec de multiples voix,
+à savoir que les hampes d'une voix peuvent chevaucher les têtes de note
+des autres voix.  En matière de mise en forme des notes, LilyPond
+tolère que des notes ou accords appartenant à deux voix se retrouvent
+dans le même empilement de notes (@emph{note column} en anglais) si tant
+est que ces hampes vont dans des directions opposées ; néanmoins les
+notes des troisième et quatrième voix seront décalées si nécessaire pour
+éviter que les têtes ne se chevauchent.  Cela marche plutôt bien, mais
+dans notre exemple, les notes de la voix la plus basse ne sont vraiment
+pas correctement placées.  LilyPond met à notre disposition plusieurs
+moyens d'ajuster le positionnement horizontal des notes.  Nous ne sommes
+pas encore tout à fait prêts pour voir comment corriger cela, aussi nous
+examinerons ce problème dans un autre chapitre (voir la propriété
+force-hshift  dans @ref{Fixing overlapping notation}).
+
+@seealso
+
+Manuel de notation : @ruser{Multiple voices}.
+
 
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
 
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
+@funindex \voiceOne
+@funindex \voiceTwo
+@funindex \voiceThree
+@funindex \voiceFour
+@funindex \oneVoice
+@funindex \new Voice
+@cindex Voice, création de contextes
+
 Les contextes @rinternals{Voice} peuvent être déclarés manuellement
 dans un bloc @code{<< >>} pour créer de la musique polyphonique, en
 utilisant @code{\voiceOne}, @dots{} jusqu'à @code{\voiceFour} pour
 assigner des directions de hampes et un déplacement horizontal pour
 Les contextes @rinternals{Voice} peuvent être déclarés manuellement
 dans un bloc @code{<< >>} pour créer de la musique polyphonique, en
 utilisant @code{\voiceOne}, @dots{} jusqu'à @code{\voiceFour} pour
 assigner des directions de hampes et un déplacement horizontal pour
-chaque partie.
+chaque partie.  Cette méthode apporte de la clarté pour des partitions
+plus importantes puisqu'elle permet de bien séparer les voix et de leur
+affecter un nom plus parlant.
+
+En particulier, la construction @code{<< \\ >>} que nous avons vue
+précédemment :
 
 
-En particulier,
 @example
 @example
-<< \upper \\ \lower >>
+\new Staff @{
+  \relative c' @{
+    << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+  @}
+@}
 @end example
 
 @noindent
 équivaut à
 
 @example
 @end example
 
 @noindent
 équivaut à
 
 @example
-<<
\new Voice = "1" @{ \voiceOne \upper @}
\new Voice = "2" @{ \voiceTwo \lower @}
+\new Staff <<
 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
 >>
 @end example
 
 >>
 @end example
 
+Toutes deux produiront
+
+@c The following example should not display the code
+@lilypond[ragged-right,quote]
+\new Staff <<
+  \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
+  \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+>>
+@end lilypond
+
 Les commandes @code{\voiceXXX} fixent la direction des hampes, des
 Les commandes @code{\voiceXXX} fixent la direction des hampes, des
-liaisons de prolongations et de phrasé, des articulations, des
+liaisons de prolongation et de phrasé, des articulations, des
 annotations, des points d'augmentation des notes pointées et des
 doigtés.  @code{\voiceOne} et @code{\voiceThree} font pointer ces objets
 vers le haut, alors que @code{\voiceTwo} et @code{\voiceFour} les font
 annotations, des points d'augmentation des notes pointées et des
 doigtés.  @code{\voiceOne} et @code{\voiceThree} font pointer ces objets
 vers le haut, alors que @code{\voiceTwo} et @code{\voiceFour} les font
-pointer vers le bas.  La commande @code{\oneVoice} les ramène aux
+pointer vers le bas.  Ces commandes génèrent par ailleurs un décalage
+horizontal de chacune des voix pour éviter tout risque de chevauchement
+entre plusieurs notes.  La commande @code{\oneVoice} les ramène aux
 critères normaux.
 
 critères normaux.
 
-Une expression séquentielle qui apparaît en premier dans un @code{<< >>}
-appartient à la voix principale.  Ceci est utile lorsque des voix
-supplémentaires apparaissent pendant que la voix principale est jouée.
-Voici une meilleure réalisation de l'exemple de la section précédente.
-Les notes colorées et en croix mettent en évidence le fait que la mélodie principale
-est maintenant dans un seul contexte de voix.
+Voyons, à l'aide de ces exemples simples, les effets respectifs de
+@code{\oneVoice}, @code{\voiceOne} et @code{voiceTwo} sur les
+annotations, liaisons de prolongation ou de phrasé, et sur les nuances.
 
 @lilypond[quote,ragged-right,verbatim]
 
 @lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
-  \override NoteHead #'style = #'cross
-  \override NoteHead #'color = #red
-  c16 d e f
+\relative c'{
+  % Default behavior or behavior after \oneVoice
+  c d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
   \voiceOne
   \voiceOne
-  <<
-    { g4 f e | d2 e2 }
-    \new Voice="1" { \voiceTwo
-      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
-      \oneVoice
-    }
-    \new Voice { \voiceThree
-      s2. | s4 b4 c2
-      \oneVoice
-    }
-  >>
+  c d8 ~ d e4 ( f g a ) b-> c
+  \oneVoice
+  c, d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  \voiceTwo
+  c d8 ~ d e4 ( f g a ) b-> c
   \oneVoice
   \oneVoice
+  c, d8 ~ d e4 ( f g a ) b-> c
 }
 @end lilypond
 
 }
 @end lilypond
 
-La définition correcte des voix permet à la mélodie d'être liée.
+Voyons à présent trois différentes façons d'exprimer un passage
+polyhonique, à partir d'un exemple de la section précédente.  Chacune
+d'elles aura ses avantages selon les circonstances.
+
+Une expression séquentielle qui apparaît en premier dans un @code{<< >>}
+-- attention, @strong{pas} dans une construction @code{<< \\ >>} --
+appartient à la voix principale.  Ceci est utile lorsque des voix
+supplémentaires apparaissent pendant que la voix principale est jouée.
+Voici une meilleure réalisation de notre exemple.
+Les notes colorées et en croix mettent en évidence le fait que la
+mélodie principale est maintenant dans un seul contexte de voix, ce qui
+permet d'ajouter une liaison de phrasé à l'ensemble.
+
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
+  \voiceOneStyle
+  % The following notes are monophonic
   c16^( d e f
   c16^( d e f
-  \voiceOne
+  % Start simultaneous section of three voices
   <<
   <<
+    % Continue the main voice in parallel
     { g4 f e | d2 e2) }
     { g4 f e | d2 e2) }
-    \context Voice="1" { \voiceTwo
+    % Initiate second voice
+    \new Voice {
+      % Set stems, etc, down
+      \voiceTwo
       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
-      \oneVoice
     }
     }
-    \new Voice { \voiceThree
-      s2. s4 b4 c2
-      \oneVoice
+    % Initiate third voice
+    \new Voice {
+      % Set stems, etc, up
+      \voiceThree
+      s2. | s4 b4 c2
     }
   >>
     }
   >>
-  \oneVoice
 }
 @end lilypond
 
 }
 @end lilypond
 
-Le fait d'éviter le séparateur @code{\\} permet aussi d'imbriquer des
-constructions polyphoniques, ce qui peut être une manière plus naturelle
-de saisir la musique.
+@cindex imbrication d'expressions musicales
+@cindex imbrication de constructions simultanées
+
+@cindex voix temporaires
+@cindex voix, imbrication
+
+
+Dans certaines circonstances de polyphonie complexe, vous pourrez être
+amené à recourir à une voix temporaire, ce qui peut être une manière
+plus naturelle de saisir la musique :
 
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
   c16^( d e f
 
 @lilypond[quote,ragged-right,verbatim]
 \new Staff \relative c' {
   c16^( d e f
-  \voiceOne
   <<
     { g4 f e | d2 e2) }
   <<
     { g4 f e | d2 e2) }
-    \context Voice="1" { \voiceTwo
+    \new Voice {
+      \voiceTwo
       r8 e4 d c8 ~ |
       <<
         {c8 b16 a b8 g ~ g2}
       r8 e4 d c8 ~ |
       <<
         {c8 b16 a b8 g ~ g2}
-        \new Voice { \voiceThree
+        \new Voice {
+          \voiceThree
           s4 b4 c2
           s4 b4 c2
-          \oneVoice
         }
       >>
         }
       >>
-    \oneVoice
     }
   >>
     }
   >>
-  \oneVoice
 }
 @end lilypond
 
 }
 @end lilypond
 
-Dans certaines circonstances de polyphonie complexe, vous pourrez être
-amené à recourir à des voix supplémentaires afin d'éviter des collisions
-de notes.  Ces voix additionnelles s'ajoutent en définissant un
-identificateur, comme le montre l'exemple suivant :
+@cindex spacing notes
 
 
-@lilypond[quote,verbatim,ragged-right]
-voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
+Cette manière de brièvement imbriquer des voix est bien utile pour de
+courts fragments de musique polyphonique.  Mais lorsqu'une portée est
+très souvent polyphonique, on peut y gagner en clarté si l'on utilise
+plusieurs voix sur l'ensemble de cette portée et que l'on positionne des 
+silences invisibles pour sauter les moments où il n'y a rien dans cette
+voix. 
 
 
-\relative c''' <<
-  { \voiceOne g4 ~  \stemDown g32[ f( es d c b a b64 )g] } \\
-  { \voiceThree  b4} \\
-  { \voiceFive d,} \\
-  { \voiceTwo g,}
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' <<
+  % Initiate first voice
+  \new Voice {
+    \voiceOne
+    c16^( d e f g4 f e | d2 e2) |
+  }
+  % Initiate second voice
+  \new Voice {
+    % Set stems, etc, down
+    \voiceTwo
+    s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
+  }
+  % Initiate third voice
+  \new Voice {
+    % Set stems, etc, up
+    \voiceThree
+    s1 | s4 b4 c2 |
+  }
 >>
 @end lilypond
 
 >>
 @end lilypond
 
+@subsubheading Note columns
+
+@cindex note column
+@cindex empilement de notes
+@cindex shift, commandes
+@cindex décalage, commandes
+@funindex \shiftOff
+@funindex \shiftOn
+@funindex \shiftOnn
+@funindex \shiftOnnn
+
+Les notes rapprochées d'un accord, ou des notes de différentes voix qui
+tombent ensemble, seront rangées sur deux colonnes, voire plus, pour
+palier d'éventuels chevauchements des têtes.  On appelle cela des
+empilements de notes.  Chaque voix dispose de plusieurs empilements, et 
+l'attribution d'un décalage à une voix en particulier s'appliquera à
+l'empilement en question s'il y avait risque de collision.
+Nous en avons une illustration à la deuxième mesure de l'exemple
+ci-dessus :  le do de la deuxième voix est décalé à droite du ré de la
+première voix et, dans l'accord final, le do de la troisième voix est
+lui aussi décalé à droite des autres notes.
+
+Les commandes @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, et 
+@code{\shiftOff} spécifient le degré nécessaire de décalage qui sera
+appliqué aux notes au accords de la voix en question afin d'éviter une
+collision.  Par défaut, les voix extérieures -- normalement les
+première et deuxième -- se verront attribuer @code{\shiftOff}, alors que
+les voix intérieures -- trois et quatre -- se verront attribuer
+@code{\shiftOn}.  Lorsqu'un décalage s'applique, les voix un et trois
+iront vers la droite, et les voix deux et quatre vers la gauche.
+
+@code{\shiftOnn} et @code{\shiftOnnn} définissent des degrés augmentés
+de décalage auquel on peut devoir temporairement recourir dans des
+situations complexes -- voir Real music example
+@ref{Real music example}.
+
+Un empilement peut ne contenir qu'une note ou un accord dans une voix
+aux hampes vers le haut, et une note ou un accord dans une voix
+aux hampes vers le bas.  Dans le cas où des notes, issues de deux voix
+ayant toutes deux des hampes dans la même direction, se retrouvent au
+même moment et qu'aucun décalage n'a été spécifié ou qu'ils sont
+identiques, LilyPond vous le signalera par le message @qq{Trop
+d'empilements en conflit}.
+
+@seealso
+
+Manuel de notation : @ruser{Multiple voices}.
+
 
 @node Voices and vocals
 @subsection Voices and vocals
 
 
 @node Voices and vocals
 @subsection Voices and vocals
 
-@untranslated
+La musique vocale est une gageure en soi : il nous faut combiner deux
+expressions différentes -- des notes et des paroles.
+
+@funindex \new Lyrics
+@funindex \lyricsto
+@cindex Lyrics, création d'un contexte
+@cindex paroles, affectation à une voix
+
+Nous avons déjà abordé la commande @code{\addlyrics}, qui permet de
+gérer des partitions simples.  Cette technique est cependant
+relativement limitée.  Pour de la musique un peu plus compliquée, il
+vous faudra contenir les paroles dans un contexte @code{Lyrics}, créé
+par la commande @code{\new Lyrics} ; vous relierez ensuite ces paroles
+aux notes grace à la commande @code{\lyricsto@{@}} et au nom assigné à
+la voix en question.
+
+@lilypond[quote,verbatim,fragment]
+<<
+  \new Voice = "one" \relative c'' {
+    \autoBeamOff
+    \time 2/4
+    c4 b8. a16 g4. f8 e4 d c2
+  }
+  \new Lyrics \lyricsto "one" {
+    No more let sins and sor -- rows grow.
+  }
+>>
+@end lilypond
+
+Notez bien que les paroles sont liées à un contexte de voix
+(@code{Voice}), @emph{non} à un contexte de portée (@code{Staff}).  Il
+est donc nécessaire de créer explicitement les contextes @code{Staff}
+et @code{Voice}.
+
+@cindex paroles et ligatures
+@cindex ligatures et paroles
+@funindex \autoBeamOff
+
+Si la ligature automatique que LilyPond applique par défaut
+est pleinement adaptée en matière de musique instrumentale, il
+n'en va pas de même dans le cas d'une musique associée à des paroles,
+et pour laquelle soit les ligatures sont carrément absentes, soit elles
+servent à indiquer un mélisme -- plusieurs notes pour une même syllabe.  
+Dans l'exemple qui suit, nous utilisons la commande @code{\autoBeamOff}
+afin de désactiver les ligatures automatiques.
+
+@funindex \new ChoirStaff
+@funindex \lyricmode
+@cindex structure d'une partition vocale
+
+Nous allons reprendre un extrait de Judas Maccabæus pour illustrer ce
+que cette technique apporte en flexibilité.  Nous commençons par
+utiliser des variables afin de séparer aussi bien la musique que les
+paroles, de la structure d'une portée.  Nous ajoutons par la même
+occasion un crochet spécifique aux portées pour chœur
+(@code{ChoirStaff}).  Quant aux blocs de paroles, nous les faisons
+précéder de la commande @code{\lyricmode} pour nous assurer qu'elles
+seront interprétées comme telles, et non comme de la musique.
+
+@lilypond[quote,verbatim]
+global = { \time 6/8 \partial 8 \key f \major}
+SopOneMusic = \relative c'' {
+  c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
+SopTwoMusic = \relative c' {
+  r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
+SopOneLyrics = \lyricmode {
+  Let | flee -- cy flocks the | hills a -- dorn, __ }
+SopTwoLyrics = \lyricmode {
+  Let | flee -- cy flocks the | hills a -- dorn, }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \new Voice = "SopOne" {
+        \global
+        \SopOneMusic
+      }
+      \new Lyrics \lyricsto "SopOne" {
+        \SopOneLyrics
+      }
+    >>
+    \new Staff <<
+      \new Voice = "SopTwo" {
+        \global
+        \SopTwoMusic
+      }
+      \new Lyrics \lyricsto "SopTwo" {
+        \SopTwoLyrics
+      }
+    >>
+  >>
+}
+@end lilypond
+
+Voici donc la structure de base valable pour toute partition vocale.  On
+peut y ajouter d'autres portées si besoin est, d'autres voix à
+chaque portée, plusieurs couplets aux paroles, et les variables
+contenant la musique peuvent même être stockées dans des fichiers
+indépendants dès lors que leur longueur devient conséquente. 
+
+@cindex structure d'hymne
+
+Voici maintenant la première ligne d'une hymne pour chœur à quatre voix
+mixtes, comportant quatre couplets.  Les paroles sont ici identiques
+pour les quatre voix.  Vous remarquerez le recours aux variables afin de
+séparer les notes et les paroles, de la structure de portée.  Vous
+noterez aussi une variable particulière, que nous avons appelée
+@q{MetriqueArmure}, et qui contient plusieurs commandes que nous
+utiliserons dans les deux portées.  Dans de nombreux autres exemples,
+elle s'appelle @q{global}.
+
+@lilypond[quote,verbatim]
+TimeKey = { \time 4/4 \partial 4 \key c \major}
+SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
+TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
+VerseOne   = \lyricmode {
+  E -- | ter -- nal fa -- ther, | strong to save, }
+VerseTwo   = \lyricmode {
+  O | Christ, whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode {
+  O | Ho -- ly Spi -- rit, | who didst brood }
+VerseFour  = \lyricmode {
+  O | Tri -- ni -- ty of | love and pow'r }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \clef "treble"
+      \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
+      \new Voice = "Alto" { \voiceTwo \AltoMusic }
+      \new Lyrics \lyricsto "Sop" { \VerseOne   }
+      \new Lyrics \lyricsto "Sop" { \VerseTwo   }
+      \new Lyrics \lyricsto "Sop" { \VerseThree }
+      \new Lyrics \lyricsto "Sop" { \VerseFour  }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
+      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
+    >>
+  >>
+}
+@end lilypond
+
+@cindex couplet et refrain
+
+Nous allons terminer en voyant comment coder un couplet pour soliste
+suivi d'un refrain à deux voix sur deux portées.  Les explications sont
+importantes, dans la mesure où les moyens mis en œuvre pour arriver à
+enchaîner le solo et la polyphonie dans une seule et même partition sont
+quelque peu tirés par les cheveux.
+
+Commençons par ouvrir un bloc @code{score} qui contiendra un
+@code{ChoirStaff}, puisque nous aimerions voir un crochet au début du
+système choral.  Nous devrions avoir, après @code{\new ChoirStaff}, un
+double inférieur pour synchroniser les portées ; mais comme nous
+reportons le parallélisme après le solo, nous utilisons des accolades --
+un double inférieur ne serait cependant pas génant.  À l'intérieur du
+@code{ChoirStaff}, nous voulons en premier la portée avec le couplet.
+Puisqu'elle englobe parallèlement des notes et des paroles, nous devons
+encadrer les @code{\new Voice} et @code{\new Lyrics} de doubles
+inférieur/supérieur pour les faire démarrer de concert : 
+
+@lilypond[quote,verbatim,ragged-right]
+versenotes = \relative c'' {
+  \clef "treble"
+  \key g \major
+  \time 3/4 g g g b b b
+}
+versewords = \lyricmode {
+  One two three four five six
+}
+\score {
+  \new Choirstaff {
+    \new Staff <<
+      \new Voice = "verse" {
+        \versenotes \break
+      }
+      \new Lyrics \lyricsto verse {
+        \versewords
+      }
+    >>
+  }
+}
+@end lilypond
+
+Voici la ligne du couplet réalisée.
+
+Nous poursuivons avec refrainA, sur la même portée, alors même qu'une 
+deuxième portée s'amorce en parallèle pour contenir refrainB.  Cette
+section parallèle doit s'enchaîner directement à la suite du
+@code{\break} de la voix contenant le couplet -- il s'agit bien de la
+@emph{même} voix.  Voici cette section parallèle.  On pourrait tout à
+fait ajouter encore d'autres portées ici, toujours de la même manière.
+
+@example
+<<
+  \refrainnotesA
+  \new Lyrics \lyricsto verse @{
+    \refrainwordsA
+  @}
+  \new Staff <<
+    \new Voice = "refrainB" @{
+      \refrainnotesB
+    @}
+    \new Lyrics \lyricsto "refrainB" @{
+      \refrainwordsB
+    @}
+  >>
+>>
+@end example
+
+Et voici le résultat final, avec ses deux portées pour la partie
+chorale, et qui montre comment la section en parallèle s'enchaîne avec
+la voix du couplet :
+
+@lilypond[quote,verbatim, ragged-right]
+versenotes = \relative c'' {
+  \clef "treble"
+  \key g \major
+  \time 3/4 g g g b b b
+}
+refrainnotesA = \relative c'' {
+  \time 2/4
+  c c g g \bar "|."
+}
+refrainnotesB = \relative c {
+  \clef "bass"
+  \key g \major
+  c e d d
+}
+versewords = \lyricmode {
+  One two three four five six
+}
+refrainwordsA = \lyricmode {
+  la la la la
+}
+refrainwordsB = \lyricmode {
+  dum dum dum dum
+}
+\score {
+  \new ChoirStaff {
+    \new Staff <<
+      \new Voice = "verse" {
+        \versenotes \break
+        <<
+          \refrainnotesA
+          \new Lyrics \lyricsto "verse" {
+            \refrainwordsA
+          }
+          \new Staff <<
+            \new Voice = "refrainB" {
+              \refrainnotesB
+            }
+            \new Lyrics \lyricsto "refrainB" {
+              \refrainwordsB
+            }
+          >>
+        >>
+      }
+      \new Lyrics \lyricsto "verse" {
+        \versewords
+      }
+    >>
+  }
+}
+@end lilypond
+
+@cindex book, exemple d'utilisation
+@cindex recueil, exemple d'utilisation
+@funindex \book
+
+Bien que ce que nous venons de voir constitue un exercice intéressant et
+fort utile pour comprendre comment s'articulent des blocs séquentiels et
+simultanés, nous aurions aussi pu coder notre exemple sous la forme de
+deux blocs @code{\score} au sein d'un bloc @code{\book} implicite :
+
+@lilypond[quote,verbatim,ragged-right]
+versenotes = \relative c'' {
+  \clef "treble"
+  \key g \major
+  \time 3/4 g g g b b b
+}
+refrainnotesA = \relative c'' {
+  \time 2/4
+  c c g g \bar "|."
+}
+refrainnotesB = \relative c {
+  \clef "bass"
+  \key g \major
+  c e d d
+}
+versewords = \lyricmode {
+  One two three four five six
+}
+refrainwordsA = \lyricmode {
+  la la la la
+}
+refrainwordsB = \lyricmode {
+  dum dum dum dum
+}
+\score {
+  \new Staff <<
+    \new Voice = "verse" {
+      \versenotes
+    }
+    \new Lyrics \lyricsto "verse" {
+      \versewords
+    }
+  >>
+}
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \new Voice = "refrainA" {
+        \refrainnotesA
+      }
+      \new Lyrics \lyricsto "refrainA" {
+        \refrainwordsA
+      }
+    >>
+    \new Staff <<
+      \new Voice = "refrainB" {
+        \refrainnotesB
+      }
+      \new Lyrics \lyricsto "refrainB" {
+        \refrainwordsB
+      }
+    >>
+  >>
+}
+@end lilypond
+
+@seealso
+
+Manuel de notation : @ruser{Vocal music}.
+
 
 @node Contexts and engravers
 @section Contexts and engravers
 
 
 @node Contexts and engravers
 @section Contexts and engravers
 
-Nous avons évoqué rapidement les contextes et graveurs dans les sections
-précédentes ; examinons en détail ces concepts essentiels dans la
+Nous avons évoqué rapidement les contextes et graveurs dans les chapitres
+précédents ; examinons en détail ces concepts essentiels à la
 maîtrise de LilyPond.
 
 @menu
 maîtrise de LilyPond.
 
 @menu
-* Contexts explained::
-* Creating contexts::
-* Engravers explained::
-* Modifying context properties::
-* Adding and removing engravers::
+* Contexts explained::          
+* Creating contexts::           
+* Engravers explained::         
+* Modifying context properties::  
+* Adding and removing engravers::  
 @end menu
 
 @node Contexts explained
 @subsection Contexts explained
 
 @end menu
 
 @node Contexts explained
 @subsection Contexts explained
 
-Imprimer de la musique impose d'ajouter un certain nombre d'éléments de notation.
-Par exemple, voici un fragment de partition, précédé du code qui l'engendre :
+@cindex contextes, les différents
+
+Imprimer de la musique impose d'ajouter un certain nombre d'éléments de
+notation.  Par exemple, voici un fragment de partition, précédé du code
+qui l'engendre :
 
 @lilypond[quote,verbatim,relative=2,fragment]
 cis4 cis2. g4
 @end lilypond
 
 
 @lilypond[quote,verbatim,relative=2,fragment]
 cis4 cis2. g4
 @end lilypond
 
-Si le code est assez austère, dans la parition ont été ajoutés un chiffre de mesure,
-des barres de mesure, des altérations et une clé.  Pour une bonne raison : LilyPond
-@emph{interprète} le code.  Il le compulse dans l'ordre chronologique, de même qu'on
-lit une partition de gauche à droite ; et pendant ce traitement, le logiciel garde en
-mémoire les limites des mesures, ou encore quelles hauteurs de notes demandent des
-altérations accidentelles.  Ces informations se présentent à plusieurs niveaux : ainsi,
-une altération n'a d'effet que sur une seule portée, tandis qu'une barre de mesure doit
-être synchronisée sur toute l'étendue verticale de la partition.
+Si le code est assez austère, dans la parition ont été ajoutés un
+chiffre de mesure, des barres de mesure, des altérations et une clé.
+Pour une bonne raison : LilyPond @emph{interprète} le code.  Il le
+compulse dans l'ordre chronologique, de même qu'on lit une partition de
+gauche à droite ; et pendant ce traitement, le logiciel garde en
+mémoire les limites des mesures, ou encore quelles hauteurs de note
+demandent des altérations accidentelles.  Ces informations se présentent
+à plusieurs niveaux : ainsi, une altération n'a d'effet que sur une
+seule portée, tandis qu'une barre de mesure doit être synchronisée sur
+toute l'étendue verticale de la partition.
 
 LilyPond regroupe ces règles et ces fragments d'information dans des
 @emph{Contextes}.  Certains contextes sont les voix (contexte @code{Voice}),
 les portées (contexte @code{Staff}), ou la partition dans son ensemble
 (contexte @code{Score}).  Ils sont ordonnés hiérarchiquement : ainsi un
 
 LilyPond regroupe ces règles et ces fragments d'information dans des
 @emph{Contextes}.  Certains contextes sont les voix (contexte @code{Voice}),
 les portées (contexte @code{Staff}), ou la partition dans son ensemble
 (contexte @code{Score}).  Ils sont ordonnés hiérarchiquement : ainsi un
-contexte @code{Staff} peut contenir plusieurs contextes @code{Voice}, et un
-contexte @code{Score} peut contenir plusieurs contextes @code{Staff}.
+contexte @code{Staff} peut contenir plusieurs contextes
+@code{Voice}, et un contexte @code{Score} peut contenir plusieurs
+contextes @code{Staff}.
 
 @quotation
 @image{context-example,5cm,,}
 
 @quotation
 @image{context-example,5cm,,}
@@ -495,189 +1545,658 @@ contexte @code{Score} peut contenir plusieurs contextes @code{Staff}.
 Chaque contexte est chargé de faire appliquer certaines règles de gravure,
 de créer certains objets, et de prendre en compte les propriétés qui leur
 sont associées.  Ainsi, le contexte @code{Voice} peut faire intervenir une
 Chaque contexte est chargé de faire appliquer certaines règles de gravure,
 de créer certains objets, et de prendre en compte les propriétés qui leur
 sont associées.  Ainsi, le contexte @code{Voice} peut faire intervenir une
-altération accidentelle, puis le contexte @code{Staff} devra déterminer si
-cette dernière devra être imprimée ou non dans la suite de la mesure.  Les barres
-de mesure, enfin, sont alignées verticalement grâce au contexte @code{Score}.
-
-En revanche, dans une musique polymétrique, par exemple mélant une portée à 3/4
-et une autre à 4/4, les barres de mesures n'ont plus à être alignées : il faut alors 
-modifier les comportement par défaut des contextes @code{Score} et @code{Staff}.
-
-Dans une partition très simple, les contextes sont créés implicitement, et peuvent
-être ignorés.  Mais lorsqu'il s'agit de morceaux plus amples -- entendons par là tout
-ce qui s'écrit sur plus d'une portée -- il faut les créer explicitement pour être sûr
-d'obtenir toutes les portées nécessaires, et dans le bon ordre.  Enfin pour des
-morceaux impliquant une notation spéciale, modifier les contextes ou en créer de nouveaux
+altération accidentelle, puis le contexte @code{Staff} devra déterminer s'il
+faudra imprimer ou non cette dernière dans la suite de la mesure.
+
+Les barres de mesure, quant à elles, sont alignées verticalement grâce au
+contexte @code{Score} par défaut. 
+En revanche, dans une musique polymétrique, par exemple mélant une
+portée à 3/4 et une autre à 4/4, les barres de mesures n'ont plus à être
+alignées : il faut alors modifier les comportement par défaut des
+contextes @code{Score} et @code{Staff}.
+
+Dans une partition très simple, les contextes sont créés implicitement,
+et peuvent être ignorés.  Mais lorsqu'il s'agit de morceaux plus amples
+-- entendons par là tout ce qui s'écrit sur plus d'une portée -- il faut
+les créer explicitement pour être sûr d'obtenir toutes les portées
+nécessaires, et dans le bon ordre.  Enfin pour des morceaux impliquant
+une notation spéciale, modifier les contextes ou en créer de nouveaux
 devient extrêment utile.
 
 devient extrêment utile.
 
-Une description exhaustive de tous les contextes disponibles peut être trouvée dans la
-référence du programme : voir
-@ifhtml
-@rinternals{Contexts}.
-@end ifhtml
-@ifnothtml
-Translation @expansion{} Context.
-@end ifnothtml
+En plus des contextes @code{Score,} @code{Staff} et @code{Voice}, sont
+disponibles d'autres contextes intermédiaires entre les niveaux 
+partition et portée, chargés de gèrer certains regroupement, tels que
+@code{PianoStaff} ou @code{ChoirStaff}.  Vous disposez aussi d'autres
+contextes de portée ou de voix alternatifs, ainsi que des contextes
+spécifiques pour les paroles, les percussions, les tablatures
+d'instruments frettés, la basse chifrée, etc.
 
 
-@c [TODO: describe propagation]
+Le nom de chacun des contextes est formé d'un ou plusieurs mots aux
+initiales en majuscule et directements accolés les uns aux autres sans
+ponctuation, comme par exemple @code{GregorianTranscriptionStaff}.
 
 
+@seealso
 
 
-@node Creating contexts
-@subsection Creating contexts
+Manuel de notation : @ruser{Contexts explained}.
 
 
-Dans une partition contenant une seule voix sur une seule portée,
-les contextes sont automatiquement créés.  Dans une partition plus complexe,
-il faut les crééer à la main.  Trois commandes le permettent :
 
 
-@itemize @bullet
-
-@item
-La plus facile, et la plus rapide à saisir, est @code{\new} -- @qq{nouveau} en français.
-Elle introduit une expression musicale, comme suit :
+@node Creating contexts
+@subsection Creating contexts
 
 @funindex \new
 @cindex nouveaux contextes
 @cindex Contextes, création de
 
 
 @funindex \new
 @cindex nouveaux contextes
 @cindex Contextes, création de
 
+Il en va des contextes comme de toute hiérarchie : il faut un sommet -- 
+le contexte @code{Score} en l'occurence.  La commande @code{\score} est
+chargée de le créer, mais pour des partitions simples, il le sera
+automatiquement. 
+
+Lorsqu'une partition ne comporte qu'une voix et une seule portée, vous
+pouvez laisser LilyPond créer automatiquement les contextes @code{Voice} 
+et @code{Staff} ; mais leur présence explicite devient indispenssable dès
+que la situation se complique.  
+Le moyen le plus simple est d'utiliser la commande @code{\new}.  Elle
+doit intervenir avant une expression musicale, ainsi :
+
 @example
 @example
-\new @var{Contexte} @var{expression musicale}
+\new @var{type} @var{expression-musicale}
 @end example
 
 @noindent
 @end example
 
 @noindent
-le choix du @var{Contexte} pouvant être, par exemple, @code{Staff} ou
-@code{Voice}.  Cette commande crée un contexte, puis interprète 
-l'@var{expression musicale} dans ledit contexte.
+où @var{type} correspond au nom du contexte (tels @code{Staff} ou
+@code{Voice}).  Cette commande crée un nouveau contexte, puis 
+interprète l'@var{expression-musicale} contenue dans ledit
+contexte.  
 
 
-En pratique, la commande @code{\new} peut servir dans une partition
-comprenant plusieurs portées.  Comme chaque partie doit se trouver sur sa propre
-portée, il faut la faire précéder de @code{\new Staff}.
+Notez bien qu'il n'existe pas de commande @code{\new Score}, puisque le
+contexte premier que constitue @code{Score} est créé par @code{\score}. 
 
 
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
-<<
-  \new Staff { c4 c }
-  \new Staff { d4 d }
->>
+Nous avons déjà vu au cours des chapitres précédents de nombreux
+exemples où des contextes @code{Staff} ou @code{Voice} étaient créés au
+besoin.  Dans un but didactique, voici maintenant une application
+complète et largement commentée : 
+
+@lilypond[quote,verbatim,ragged-right]
+\score {  % start of single compound music expression
+  <<  % start of simultaneous staves section
+    \time 2/4
+    \new Staff {  % create RH staff
+      \key g \minor
+      \clef "treble"
+      \new Voice {  % create voice for RH notes
+        \relative c'' {  % start of RH notes
+          d4 ees16 c8. |
+          d4 ees16 c8. |
+        }  % end of RH notes
+      }  % end of RH voice
+    }  % end of RH staff
+    \new Staff <<  % create LH staff; needs two simultaneous voices
+      \key g \minor
+      \clef "bass"
+      \new Voice {  % create LH voice one
+        \voiceOne
+        \relative g {  % start of LH voice one notes
+          g8 <bes d> ees, <g c> |
+          g8 <bes d> ees, <g c> |
+        }  % end of LH voice one notes
+      }  % end of LH voice one
+      \new Voice {  % create LH voice two
+        \voiceTwo
+        \relative g {  % start of LH voice two notes
+          g4 ees |
+          g4 ees |
+        }  % end of LH voice two notes
+      }  % end of LH voice two
+    >>  % end of LH staff
+  >>  % end of simultaneous staves section
+}  % end of single compound music expression
 @end lilypond
 
 @end lilypond
 
-La commande @code{\new} peut aussi permettre de nommer le contexte créé :
+Notez comment toute déclaration qui ouvre un bloc par une
+accolade, @code{@{}, ou un double signe inférieur, @code{<<}, est
+indentée de deux espaces supplémentaires, et de deux autres pour sa
+marque de fermeture.  Bien que ceci ne soit pas obligatoire, nous vous
+invitons à adopter cette pratique qui vous évitera nombre d'erreurs
+@qq{accolades non pairées}.  La structure de la musique apparaît ainsi
+au premier coup d'œil, et les défauts de parité plus facilement
+repérables.  Vous remarquerez que la portée MG est créée à l'aide d'un
+inférieur double -- nécessaire pour gérer ses deux voix -- alors que la
+portée MD ne contient qu'une seule expression musicale -- il n'y a
+qu'une voix -- bornée par des accolades simples.
+
+@cindex contexte, noms de
+@cindex nommage des contextes
+
+La commande @code{\new} peut aussi permettre de nommer le contexte créé,
+et ainsi le distinguer des autres contextes déjà existants :
 
 @example
 
 @example
-\new @var{Contexte} = @var{"inventezUnNom"} @var{musique}
+\new @var{type} = @var{"UnNom"} @var{expression-musicale}
 @end example
 @end example
-Le nom que vous choisirez ne pourra être attribué que si aucun autre contexte
-n'a été créé précédemment avec le même nom.
 
 
+Vous noterez la distinction entre le nom du type de contexte,
+@code{Staff}, @code{Voice}, etc, et le nom -- une simple suite de
+lettres au bon gré de l'utilisateur -- permettant d'identifier une
+instance particulière du type en question.  Comme nous l'avons déjà vu
+dans le chapitre consacré aux paroles (@ref{Voices and vocals}),
+cet identifiant permettra ensuite de se référer à ce contexte particulier.
 
 
-@funindex \context
 
 
-@item
-Tout comme @code{\new}, la commande @code{\context} envoie une expression musicale
-vers un contexte donné, mais attribue nécessairement un nom à ce contexte.  La
-syntaxe est la suivante :
+@node Engravers explained
+@subsection Engravers explained
 
 
-@example
-\context @var{Contexte} = @var{unNom} @var{musique}
-@end example
+@cindex engravers
+@cindex graveurs
+
+Tout point qui compose une partition générée par LilyPond est
+produit par un graveur (@emph{Engraver} en anglais).   Ainsi, il y en a
+un qui imprime les portées, un autre les têtes de note, un autre les
+hampes, un autre encore pour les ligatures, etc.  LilyPond dispose de
+plus de 120 graveurs ! La plupart des partitions ne requièrent de
+s'intéresser qu'à quelques uns seulement, et pour des partitions
+simples, vous n'aurez même pas à vous en préoccuper.
+
+Les graveurs résident et opèrent au sein des contextes.
+Les graveurs tels que le @code{Metronome_mark_engraver}, dont les effets 
+s'appliquent à la partition dans son intégralité, opèrent au sein du
+contexte de plus haut niveau -- le contexte @code{Score}. 
+
+Les graveurs @code{Clef_engraver} et @code{Key_engraver} seront logés
+dans chacun des contextes @code{Staff} ; deux portées peuvent requérir
+des clefs et des armures différentes.
+
+Les graveurs @code{Note_heads_engraver} et @code{Stem_engraver} résident
+dans chacun des contextes @code{Voice}, contexte du plus bas niveau.
+
+Chaque graveur confectionne les objets spécifiquement associés à sa
+fonction et traite les propriétés attachées à cette fonction.  Ces
+propriétés, tout comme celles relatives aux contextes, peuvent être
+modifiées afin d'influencer le comportement du graveur et par voie de
+conséquence le rendu des éléments dont il a la charge.
+
+Les graveurs ont tous un nom composé, formé des différents mots
+décrivant leur fonction. Seule l'initiale du premier mot est en
+majuscule, et les mots qui le composent sont joints par un caractère
+souligné.  Ainsi, le @code{Staff_symbol_engraver} est chargé de créer
+les lignes de la portée, et le @code{Clef_engraver} détermine la hauteur
+de référence de la portée en dessinant le symbole de la clef.
+
+Voici quelques uns des graveurs les plus courants, ainsi que leur
+fonction.  Vous noterez qu'il est facile d'en connaître la fonction à
+partir du nom, et vice versa.
+
+@multitable @columnfractions .3 .7
+@headitem Graveur
+  @tab Fonction
+@item Accidental_engraver
+  @tab Crée les altérations, y compris de précaution, accidentelles ou suggérées
+@item Beam_engraver
+  @tab Grave les ligatures
+@item Clef_engraver
+  @tab Grave les clefs
+@item Completion_heads_engraver
+  @tab Divise les notes qui dépassent de la mesure
+@item Dynamic_engraver
+  @tab Crée les soufflets et textes de nuance
+@item Forbid_line_break_engraver
+  @tab Empêche un saut de ligne si un élément musiocal est toujours actif
+@item Key_engraver
+  @tab Crée l'armure
+@item Metronome_mark_engraver
+  @tab Grave les indications métronomiques
+@item Note_heads_engraver
+  @tab Grave les têtes de note
+@item Rest_engraver
+  @tab Grave les silences
+@item Staff_symbol_engraver
+  @tab Grave les cinq lignes (par défaut) de la portée
+@item Stem_engraver
+  @tab Crée les hampes et les trémolos sur une hampe unique
+@item Time_signature_engraver
+  @tab Crée les métriques
+@end multitable
+
+@smallspace
+
+Nous verrons plus avant comment le résultat de LilyPond peut changer
+lorsqu'on modifie l'action des graveurs.
+
+@seealso
+
+Références internes : @rinternals{Engravers and Performers}.
 
 
-Cette commande va partir à la recherche d'un contexte déjà existant, de type
-@var{Contexte}, et portant le nom @var{unNom}.  Ce qui peut être fort utile 
-pour se référer à un contexte existant.  S'il s'avère que le contexte en question
-n'existe pas encore, il est créé.  Dans le cas de musique vocale avec des paroles,
-cela donne :
 
 
-@example
-\context Voice = "@b{tenor}" @var{musique}
-@end example
+@node Modifying context properties
+@subsection Modifying context properties
 
 
-@noindent
-et (pour que le texte soit aligné correctement avec les notes) :
+@cindex contexte, propriétés
+@cindex propriétés d'un contexte, modification
+@cindex modification des propriétés d'un contexte
+@funindex \set
+@funindex \unset
+
+Les contextes gèrent les différentes valeurs des nombreuses
+@emph{propriétés} qui leur sont attachées.  Beaucoup d'entre elles
+sont susceptibles d'être modifiées afin d'influer sur l'interprétation
+de l'input et ainsi changer l'apparence du résultat.  On les modifie 
+grace à la commande @code{\set}, qui s'utilise ainsi :
 
 @example
 
 @example
-\new Lyrics \lyricsto "@b{tenor}" @var{paroles}
+\set @emph{ContexteNommé}.@emph{propriétéNommée} = #@emph{valeur}
 @end example
 
 @end example
 
-@noindent
+Où @emph{ContexteNommé} est habituellement @code{Score},
+@code{Staff} ou @code{Voice}.  S'il n'est pas mentionné, il sera
+considéré comme étant @code{Voice}.
+
+Les noms des propriétés de contexte sont composés de mots accolés sans
+trait d'union ni caractère souligné, et dont seul le premier n'aura pas
+d'initiale en majuscule.  Voici quelques exemples de celles les plus
+communément utilisées.
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .25 .15 .45 .15
+@headitem propriétéNommée
+  @tab Type
+  @tab Fonction
+  @tab Exemple de valeur
+@item extraNatural
+  @tab Booléen
+  @tab Si vrai, ajoute un bécarre avant une altération accidentelle
+  @tab @code{#t}, @code{#f}
+@item currentBarNumber
+  @tab Entier
+  @tab Détermine le numéro de la mesure en cours
+  @tab @code{50}
+@item doubleSlurs
+  @tab Booléen
+  @tab Si vrai, imprime les liaisons au dessous et au dessus des notes
+  @tab @code{#t}, @code{#f}
+@item instrumentName
+  @tab Texte
+  @tab Détermine le nom à afficher en début de portée
+  @tab @code{"Cello I"}
+@item fontSize
+  @tab Réel
+  @tab Augmente ou diminue la taille de la fonte
+  @tab @code{2.4}
+@item stanza
+  @tab Texte
+  @tab Détermine le texte à imprimer avant le début d'un couplet
+  @tab @code{"2"}
+@end multitable
 
 
-Une autre utilité de dénommer les contextes est de superposer en un même
-contexte différentes expressions musicales.  Dans l'exemple suivant, les
-notes et les ponctuations ont été saisies séparément :
+@noindent
+où un boléen correspond soit à vrai (@code{#t} pour @emph{True} en
+anglais) ou faux (@code{#f} pour @emph{False} en anglais), un entier est
+un nombre entier positif, un réel est en nombre décimal positif ou
+négatif, et texte correspond à une suite de caractères encadrée par des
+apostrophes doubles.  Attention à la présence des dièses (@code{#}) dans
+deux cas particuliers : il sont partie intégrante des valeurs boléennes
+et précèdent les @code{t} ou @code{f}, mais doivent aussi précéder
+@emph{valeur} dans le libellé de la commande @code{\set}. Il faudra
+donc, dans le cas d'une valeur boléenne, ne pas oublier de saisir un
+double dièse -- par exemple @code{##t}.
+
+Avant de déterminer l'une de ces propriétés, nous devons savoir dans
+quel contexte elles interviennent.  Si cela est bien souvent évident, il
+peut arriver que cela tourne au cauchemar.  Lorsque vous ne spécifiez
+pas le bon contexte, aucun message d'erreur ne s'affiche et l'effet
+attendu n'est pas au rendez-vous.  Par exemple, le @code{instrumentName}
+est de manière incontestable membre du contexte @code{Staff}, puisque
+c'est bien la portée que l'on va nommer.
+Dans l'exemple suivant, la première portée affiche effectivement un nom,
+alors que ce n'est pas le cas pour la deuxième dans la mesure où le
+contexte n'a pas été spécifié.
 
 
-@example
-musique = @{ c4 c4 @}
-ponctuation = @{ s4-. s4-> @}
-@end example
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff \relative c'' {
+    \set Staff.instrumentName = #"Soprano"
+    c4 c
+ }
+  \new Staff \relative c' {
+  \set instrumentName = #"Alto"  % Wrong!
+  d4 d
+ }
+>>
+@end lilypond
 
 
-En les envoyant toutes deux dans le même contexte @code{Voice}, on les combine :
+Dans la mesure où le nom de contexte par défaut est @code{Voice}, la
+deuxième commande @code{\set} a défini @qq{Alto} comme propriété
+@code{instrumentName} du contexte de voix.  Puisque LilyPond n'ira pas
+chercher une telle propriété dans la contexte @code{Voice}, celle-ci ne
+sera pas interpétée.  Il ne s'agit pas d'une erreur, aucun message
+d'erreur ne sera ni émis ni enregistré. 
+
+De la même manière, une faute d'orthographe dans le nom de la propriété
+ne génèrera aucun message d'erreur et l'action escomptée ne se produira
+pas.  Vous pourriez déterminer par la commande @code{\set} n'importe
+quelle @q{propriété}, même fictive, à partir de n'importe quel nom et
+dans n'importe lequel des contextes disponibles.  Mais tant que ce nom
+est inconnu de LilyPond, rien ne se passera.  Certains éditeurs de texte
+disposent d'une prise en charge spécifique aux fichiers source LilyPond,
+à l'instar de LilyPondTool couplé à JEdit et qui documente les noms des
+pripriétés dans une infobulle lorsque vous les survolez à la souris, ou 
+les souligne différemment s'ils sont inconnus, comme ConTEXT.  Dans le
+cas où votre éditeur ne dispose pas de ces fonctionnalités, nous vous
+recommandons de vérifier le nom des propriétés que vous manipulez dans
+le Manuel de références internes -- voir 
+@rinternals{Tunable context properties}, ou @rinternals{Contexts}.
+
+La propriété @code{instrumentName} ne sera prise en compte que si elle
+est définie dans un contexte @code{Staff} ; d'autres propriétés peuvent
+par contre être définies dans plusieurs contextes différents.  C'est le
+cas de la propriété @code{extraNatural} qui est définie par défaut à ##t 
+(vrai) pour toutes les portées.  Si vous lui attribuez la valeur ##f
+(faux) dans un contexte @code{Staff} particulier, elle ne s'appliquera
+qu'aux altérations de la portée en question ; si vous lui attribuez la
+valeur @q{faux} au niveau du contexte @code{Score}, cela s'appliquera
+alors à toutes les portées.
+
+Voici comment supprimer les bécarres supplémentaires pour une portée :
 
 
-@example
+@lilypond[quote,verbatim,ragged-right]
 <<
 <<
-  \new Staff \context Voice = "A" \musique
-  \context Voice = "A" \ponctuation
+  \new Staff \relative c'' {
+    ais4 aes
+ }
+  \new Staff \relative c'' {
+    \set Staff.extraNatural = ##f
+    ais4 aes
+ }
 >>
 >>
-@end example
-@lilypond[quote,ragged-right]
-music = { c4 c4 }
-arts = { s4-. s4-> }
-\relative c'' <<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
+@end lilypond
+
+@noindent
+et pour toutes les portées :
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff \relative c'' {
+    ais4 aes
+ }
+  \new Staff \relative c'' {
+    \set Score.extraNatural = ##f
+    ais4 aes
+ }
 >>
 @end lilypond
 
 >>
 @end lilypond
 
-De cette façon, il est possible d'élaborer une édition Urtext (c'est-à-dire originale,
-la plupart du temps sans ponctuations), en laissant la possibilité d'ajouter différentes
-ponctuations sur les mêmes notes.
+Autre exemple, si la propriété @code{clefOctavation} est déterminée au
+niveau du contexte @code{Score}, elle modifiera la valeur de l'octave en
+cours pour toutes les portées actives ; cette valeur sera considérée
+comme étant la nouvelle valeur par défaut pour toutes les portées à
+venir.
+
+La commande opposée, @code{\unset}, efface la propriété du contexte ; la
+plupart des propriétés reviennent de ce fait à leur valeur par défaut.
+En règle générale, la commande @code{\unset} n'est pas nécessaire dès
+lors que vous faites appel à une nouvelle commande @code{\set} pour
+modifier le réglage.
+
+Les commandes @code{\set} et @code{\unset} peuvent intervenir n'importe
+où dans votre fichier source.  Elles seront effectives dès leur
+apparition et jusqu'à la fin de la partition, à moins d'être affectée
+par un @code{\unset} ou un nouveau @code{\set}.  À titre d'exemple, nous
+allons modifier jouer avec la taille des fontes, ce qui affecte entre
+autres la grosseur des tes de note.  Les modifications s'appliquent
+toujours par rapport à la valeur par défaut, non par rapport à la
+dernière valeur.
+
+@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
+c4
+% make note heads smaller
+\set fontSize = #-4
+d e
+% make note heads larger
+\set fontSize = #2.5
+f g
+% return to default size
+\unset fontSize
+a b
+@end lilypond
+
+Nous venons de voir comment déterminer la valeur de différents types de
+propriétés.  N'oubliez pas que les nombres, entiers ou réels, doivent
+être précédés d'un dièse (@code{#}) et les valeurs vrai ou faux de deux
+dièses -- respectivement ##t et ##f --. Une valeur textuelle doit être
+encadrée de guillemets anglais, @code{``@dots{ }''}, bien que, comme
+nous le constaterons plus tard, la commande @code{\markup} permet aussi
+de spécifier du texte.
+
+@unnumberedsubsubsec Setting context properties with @code{\with}
 
 
-@cindex crééer des contextes
+@funindex \with
+@cindex propriétés d'un contexte, définition avec \with
+
+Les propriétés d'un contexte peuvent aussi être réglées lors de la
+création de ce contexte.  Ceci constitue parfois une façon plus claire
+de spécifier les valeurs d'une propriété pour la durée de vie du
+contexte.  Lorsque vous créez un contexte à l'aide de la commande
+@code{\new}, vous pouvez la faire suivre immédiatement d'un bloc
+@code{\with @{ .. @}} qui contiendra les réglages des différentes
+propriétés.  Ainsi, si nous voulons par exemple annuler l'impression des
+bécarres supplémentaires sur la durée d'une portée, nous écririons :
 
 
-@item
-La dernière commande pour créer des contextes est
 @example
 @example
-\context @var{Contexte} @var{musique}
+\new Staff \with @{ extraNatural = ##f @}
 @end example
 
 @end example
 
+@noindent
+ce qui donnerait :
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff
+  \relative c'' {
+    gis ges aes ais
+  }
+  \new Staff \with { extraNatural = ##f }
+  \relative c'' {
+    gis ges aes ais
+  }
+>>
+@end lilypond
+
+Les propriétés réglées de cette manière peuvent néanmoins être modifiées
+de façon dynamique grace à @code{\set} ; un @code{\unset} les ramènera à
+leur valeur par défaut.
+
+La propriété @code{fontSize} constitue une exception : lorsqu'elle est
+déterminée au sein d'un bloc @code{\with}, cela redéfinit la valeur par
+défaut de la taille de fonte.  Une modification est possible par la
+commande @code{\set}, mais la commande @code{\unset fontSize} fera
+revenir à la nouvelle valeur par défaut.
+
+@unnumberedsubsubsec Setting context properties with @code{\context}
+
+Vous pouvez régler les valeurs des propriétés de contexte en une seule
+fois pour tous les contextes d'un même type, par exemple tous les
+contextes @code{Staff}.  Le type du contexte doit être donné
+explicitement d'après son nom, par exemple @code{Staff}, prédédé d'une
+oblique inverse, donc nous saisirons @code{\Staff}.  La manière de
+régler la valeur des propriétés est la même que ce que nous avons vu
+avec la commande @code{\with}, puisqu'on se place dans un bloc
+@code{\context} inclus dans un bloc @code{\layout}.  Chaque bloc
+@code{\context} affectera tous les contextes concernés par le bloc
+@code{\score} ou @code{\book} au sein duquel apparaît ce bloc
+@code{\layout}.  Voici comment le mettre en place :
+
+@lilypond[verbatim,quote]
+\score {
+  \new Staff {
+    \relative c'' {
+      cis4 e d ces
+    }
+  }
+  \layout {
+    \context {
+      \Staff
+      extraNatural = ##t
+    }
+  }
+}
+@end lilypond
 
 @noindent
 
 @noindent
-Elle ressemble à l'emploi de @code{\context} avec @code{= @var{unNom}}, mais
-cette fois elle se considèrera chez elle partout où elle trouvera un contexte
-de type @var{Contexte}, quel que puisse être son nom.
+Les propriétés de contextes ainsi définies peuvent être adaptées pour
+chacun des contextes en particulier grace à un bloc @code{\with} ou bien
+une commande @code{\set} au fil des notes.
 
 
-@c Au secours ! --vv
+@seealso
 
 
-Cette variante sert à des expressions musicales qui peuvent être interprétées à
-plusieurs niveaux.  Par exemple, une commande telle que @code{\applyOutput} (voir
-@c FIXME: broken link
-@c @ruser{Running a function on all layout objects}) : si elle n'est pas associée avec
-@code{\context}, elle s'applique par défaut dans le contexte @code{Voice}.
+Manuel de notation : @ruser{Changing context default settings},
+@ruser{The set command}.
 
 
-@example
-\applyOutput #'@var{Contexte} #@var{fonction}   % s'applique dans le contexte Voice
-@end example
+Références internes : @rinternals{Contexts},
+@rinternals{Tunable context properties}.
+
+@node Adding and removing engravers
+@subsection Adding and removing engravers
 
 
-Pour l'appliquer au contexte @code{Score} ou @code{Staff}, il faut utiliser :
+@cindex graveurs, ajout
+@cindex graveurs, suppression
 
 
-@example
-\applyOutput #'Score #@var{fonction}
-\applyOutput #'Staff #@var{fonction}
-@end example
+@funindex \consists
+@funindex \remove
 
 
-@end itemize
+Nous avons vu que chacun des différents contextes contient plusieurs 
+graveurs, et que chacun de ces graveurs est chargé de générer une
+part spécifique du résultat, qui les barres de mesure, qui la portée,
+qui les têtes de note, les hampes, etc.  Le fait de suprimer un graveur
+d'un contexte éliminera sa contribution à l'œuvre résultante.  Bien que
+ce soit là un moyen radical de modifier le résultat, cette pratique est
+dans quelques cas fort utile.
 
 
+@subsubheading Changing a single context
 
 
-@node Engravers explained
-@subsection Engravers explained
+Nous utilisons, pour supprimer un graveur d'un contexte, la commande
+@code{\with} dès la création dudit contexte, comme nous l'avons vu dans
+la section précédente.
 
 
-@untranslated
+Illustrons notre propose en reprenant un exemple du chapitre précédant,
+puor lui suprimer les lignes de la portée.  Pour mémoire, les lignes
+d'une portée sont générées par le Staff_symbol_engraver.
 
 
-@node Modifying context properties
-@subsection Modifying context properties
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \with {
+  \remove Staff_symbol_engraver
+}
+\relative c' {
+  c4
+  \set fontSize = #-4  % make note heads smaller
+  d e
+  \set fontSize = #2.5  % make note heads larger
+  f g
+  \unset fontSize  % return to default size
+  a b
+}
+@end lilypond
 
 
-@untranslated
+@cindex ambitus, graveur
 
 
-@node Adding and removing engravers
-@subsection Adding and removing engravers
+Vous pouvez aussi ajouter individuellement un graveur à un contexte. La
+commande se formule ainsi :
+
+@code{\consists @emph{Nom_du_graveur}}
+
+et se place dans un bloc @code{\with}.  Certianes partitions vocales
+font apparaître un @rglos{ambitus} au début de la portée, afin
+d'indiquer ses notes extrèmes.  L'ambitus est généré par
+l'@code{Ambitus_engraver}, que l'on peut adjoindre à n'importe quel
+contexte.  Si nous l'ajoutons au contexte @code{Voice}, seule la
+tessiture de cette voix sera calculée :
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff <<
+  \new Voice \with {
+    \consists Ambitus_engraver
+  }
+  \relative c'' {
+    \voiceOne
+    c a b g
+  }
+  \new Voice
+  \relative c' {
+    \voiceTwo
+    c e d f
+  }
+>>
+@end lilypond
+
+@noindent
+alors que si nous l'ajoutons au contexte @code{Staff},
+l'@code{Ambitus_engraver} calculera l'écart maximal à partir de toutes
+les notes de toutes les voix de la portée :
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \with {
+    \consists Ambitus_engraver
+  }
+  <<
+  \new Voice
+  \relative c'' {
+    \voiceOne
+    c a b g
+  }
+  \new Voice
+  \relative c' {
+    \voiceTwo
+    c e d f
+  }
+>>
+@end lilypond
+
+@subsubheading Changing all contexts of the same type
+
+@funindex \layout
+
+Les exemples ci-dessus nous ont montré comment ajouter ou retirer des
+graveurs à des contextes individuels.  Nous pourrions aussi ajouter ou
+suprimer des graveurs à tous les contextes d'un même type en insérant
+les commandes pour le contexte approprié, au sein d'un bloc
+@code{\layout}.  Si nous voulions afficher un ambitus pour chacune des
+portées d'un système à quatre portées, il nous suffirait d'écrire :
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  <<
+    \new Staff <<
+      \relative c'' { c a b g }
+    >>
+    \new Staff <<
+      \relative c' { c a b g }
+    >>
+    \new Staff <<
+      \clef "G_8"
+      \relative c' { c a b g }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \relative c { c a b g }
+    >>
+  >>
+  \layout {
+    \context {
+      \Staff
+      \consists Ambitus_engraver
+    }
+  }
+}
+@end lilypond
 
 
-@untranslated
+@noindent
+Vous réglerez de la même manière les propriétés de tous les contextes
+d'un type particulier si vous insérez les commandes @code{\set} dans un
+bloc @code{\context}.
+
+@seealso
+
+Manuel de notation : @ruser{Modifying context plug-ins}, 
+@ruser{Changing context default settings}.
 
 
 @node Extending the templates
 
 
 @node Extending the templates
@@ -692,14 +2211,16 @@ Les exemples qui suivent vous donneront des méthodes générales pour
 adapter des modèles.
 
 @menu
 adapter des modèles.
 
 @menu
-* Soprano and cello::
-* Four-part SATB vocal score::
-* Building a score from scratch::
+* Soprano and cello::           
+* Four-part SATB vocal score::  
+* Building a score from scratch::  
 @end menu
 
 @node Soprano and cello
 @subsection Soprano and cello
 
 @end menu
 
 @node Soprano and cello
 @subsection Soprano and cello
 
+@cindex modèles, modification des
+
 Commencez par le modèle qui vous semblera le plus proche de ce à quoi
 vous voulez aboutir.  Disons par exemple que vous voulez écrire une pièce
 pour soprano et violoncelle : dans ce cas l'on pourrait commencer par les
 Commencez par le modèle qui vous semblera le plus proche de ce à quoi
 vous voulez aboutir.  Disons par exemple que vous voulez écrire une pièce
 pour soprano et violoncelle : dans ce cas l'on pourrait commencer par les
@@ -716,16 +2237,16 @@ melodie = \relative c' @{
 @}
 
 texte = \lyricmode @{
 @}
 
 texte = \lyricmode @{
-  Laaa Siii Dooo Rééé
+  Aaa Bee Cee Dee
 @}
 
 \score@{
   <<
 @}
 
 \score@{
   <<
-    \new Voice = "voixUn" @{
+    \new Voice = "un" @{
       \autoBeamOff
       \melodie
     @}
       \autoBeamOff
       \melodie
     @}
-    \new Lyrics \lyricsto "voixUn" \texte
+    \new Lyrics \lyricsto "un" \texte
   >>
   \layout @{ @}
   \midi @{ @}
   >>
   \layout @{ @}
   \midi @{ @}
@@ -752,7 +2273,6 @@ melodie = \relative c' @{
 @}
 @end example
 
 @}
 @end example
 
-
 On n'a pas besoin de deux commandes @code{\version}.  Ce dont on a besoin,
 c'est la section @code{melodie}. De même, on n'a pas besoin de deux sections
 @code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
 On n'a pas besoin de deux commandes @code{\version}.  Ce dont on a besoin,
 c'est la section @code{melodie}. De même, on n'a pas besoin de deux sections
 @code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
@@ -762,11 +2282,11 @@ non plus de deux @code{\layout} ni de deux @code{\midi}.
 
 Si on se contente de couper et coller les sections @code{melodie}, on se
 retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
 
 Si on se contente de couper et coller les sections @code{melodie}, on se
 retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
-Appelons la section pour la soprano @code{musiqueSoprano} et celle pour le
-violoncelle @code{musiqueVioloncelle}.  Tant qu'on y est, renommons 
-@code{texte} en @code{parolesSoprano}.  Attention à bien renommer les
+Appelons la section pour la soprano @code{sopranoMusique} et celle pour le
+violoncelle @code{violoncelleMusique}.  Tant qu'on y est, renommons 
+@code{texte} en @code{sopranoParoles}.  Attention à bien renommer les
 deux occurrences de chacune de ces dénominations : c'est-à-dire la
 deux occurrences de chacune de ces dénominations : c'est-à-dire la
-définition de départ, où l'on trouve @code{mélodie = relative c' @{ },
+définition de départ, où l'on trouve @code{melodie = relative c' @{ },
 et l'endroit où cette dénomination est utilisée, dans la section 
 @code{\score}.
 
 et l'endroit où cette dénomination est utilisée, dans la section 
 @code{\score}.
 
@@ -775,7 +2295,7 @@ le veut l'usage, et donnons-lui d'autres notes.
 
 @example
 \version @w{"@version{}"}
 
 @example
 \version @w{"@version{}"}
-musiqueSoprano = \relative c' @{
+sopranoMusique = \relative c' @{
   \clef treble
   \key c \major
   \time 4/4
   \clef treble
   \key c \major
   \time 4/4
@@ -783,11 +2303,11 @@ musiqueSoprano = \relative c' @{
   a4 b c d
 @}
 
   a4 b c d
 @}
 
-parolesSoprano = \lyricmode @{
+sopranoParoles = \lyricmode @{
   Laaa Siii Dooo Rééé
 @}
 
   Laaa Siii Dooo Rééé
 @}
 
-musiqueVioloncelle = \relative c @{
+violoncelleMusique = \relative c @{
   \clef bass
   \key c \major
   \time 4/4
   \clef bass
   \key c \major
   \time 4/4
@@ -797,11 +2317,11 @@ musiqueVioloncelle = \relative c @{
 
 \score@{
   <<
 
 \score@{
   <<
-    \new Voice = "voixUn" @{
+    \new Voice = "un" @{
       \autoBeamOff
       \autoBeamOff
-      \musiqueSoprano
+      \sopranoMusique
     @}
     @}
-    \new Lyrics \lyricsto "voixUn" \parolesSoprano
+    \new Lyrics \lyricsto "un" \sopranoParoles
   >>
   \layout @{ @}
   \midi @{ @}
   >>
   \layout @{ @}
   \midi @{ @}
@@ -823,17 +2343,18 @@ encadrer la musique par des @code{<<} et @code{>>}, qui feront comprendre
 à LilyPond que plusieurs évènements --- ici, des objets @code{Staff} ---
 se déroulent en même temps.  Le bloc @code{\score} ressemble maintenant à
 
 à LilyPond que plusieurs évènements --- ici, des objets @code{Staff} ---
 se déroulent en même temps.  Le bloc @code{\score} ressemble maintenant à
 
+@c Indentation in this example is deliberately poor
 @example
 @example
-\score@{
+\score @{
   <<
   <<
-    <<
-      \new Voice = "voixUn" @{
-        \autoBeamOff
-        \musiqueSoprano
-      @}
-      \new Lyrics \lyricsto "voixUn" \parolesSoprano
-    >>
-    \new Staff \musiqueVioloncelle
+  <<
+    \new Voice = "un" @{
+      \autoBeamOff
+      \sopranoMusique
+    @}
+    \new Lyrics \lyricsto "un" \sopranoParoles
+  >>
+  \new Staff \violoncelleMusique
   >>
   \layout @{ @}
   \midi @{ @}
   >>
   \layout @{ @}
   \midi @{ @}
@@ -882,14 +2403,451 @@ celloMusic = \relative c {
 }
 @end lilypond
 
 }
 @end lilypond
 
+@seealso
+
+Les patrons originaux sont disponibles à l'annexe @qq{Modèles}, voir
+@ref{Single staff}. 
+
 
 @node Four-part SATB vocal score
 @subsection Four-part SATB vocal score
 
 
 @node Four-part SATB vocal score
 @subsection Four-part SATB vocal score
 
-@untranslated
+@cindex exemple, SATB
+@cindex SATB, squelette
+
+La plupart des œuvres écrites pour chœur à quatre voix mixtes et
+orchestre, comme Elias de Mendelssohn ou le Messie de Haendel, disposent
+la musique et les paroles du chœur sur quatre portées -- soprano, alto,
+ténor et basse -- surmontant une réduction pour piano de
+l'accompagnement orchestral.  En voici un exemple, tiré du Messie de
+Haendel :
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+global = { \key d \major \time 4/4 }
+sopranoMusic = \relative c'' {
+  \clef "treble"
+  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopranoWords = \lyricmode {
+  Wor -- thy is the lamb that was slain
+}
+altoMusic = \relative a' {
+  \clef "treble"
+  r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+}
+altoWords = \sopranoWords
+tenorMusic = \relative c' {
+  \clef "G_8"
+  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopranoWords
+bassMusic = \relative c' {
+  \clef "bass"
+  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopranoWords
+upper = \relative a' {
+  \clef "treble"
+  \global
+  r4 <a d fis>2 <a e' a>4 |
+  <d fis d'>4. <d fis d'>8 <a d a'>2 |
+  <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+  \clef "bass"
+  \global
+  <d d'>4 <d d'>2 <cis cis'>4 |
+  <b b'>4. <b' b'>8 <fis fis'>2 |
+  <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+  <<  % combine ChoirStaff and PianoStaff in parallel
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" { \global \sopranoMusic }
+      >>
+      \new Lyrics \lyricsto "sopranos" { \sopranoWords }
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" { \global \altoMusic }
+      >>
+      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" { \global \tenorMusic }
+      >>
+      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" { \global \bassMusic }
+      >>
+      \new Lyrics \lyricsto "basses" { \bassWords }
+    >>  % end ChoirStaff
+
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = "Piano"
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+    >>
+  >>
+}
+@end lilypond
+
+Aucun des modèles ne permet d'arriver exactement à cette mise en forme.
+Celui qui s'en rapprocherait le plus est @q{SATB vocal score and
+automatic piano reduction} -- voir @ref{Vocal ensembles} -- mais encore
+faudrait-t-il en modifier la mise en forme et refaire la partie de
+piano qui n'est plus une simple reprise des parties vocales.  Les
+variables qui gèrent la musique et les paroles du chœur ne nécessitent
+pas de modification, mais il nous faut d'autres variables pour la
+réduction de piano.
+
+L'ordre dans lequel apparaissent les contextes dans le @code{ChoirStaff}
+du modèle ne correspond pas à ce que nous voyons ci-dessus.  Il nous
+faudra y revenir pour obtenir quatre portées avec des paroles en dessous
+de chacune d'elles.  Toutes les voix devraient être @code{\voiceOne},
+ce qui est la postition par défaut ; il nous faudra donc éliminer toutes
+les commandes @code{\voiceXXX}.  Les ténors auront besoin d'une clé
+spécifique.  Enfin, nous n'avons pas encore abordé la façon dont les
+paroles sont présentées dans le modèle ; nous procèderons donc comme
+nous en avons l'habitude.  Il faudra aussi ajouter un nom à chaque portée.
+
+Une fois tout ceci accompli, voici notre @code{ChoirStaff} :
+
+@example
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" @{ \global \sopranoMusique @}
+      >>
+      \new Lyrics \lyricsto "sopranos" @{ \sopranoParoless @}
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" @{ \global \altoMusique @}
+      >>
+      \new Lyrics \lyricsto "altos" @{ \altoParoles @}
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" @{ \global \tenorMusique @}
+      >>
+      \new Lyrics \lyricsto "tenors" @{ \tenorParoless @}
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" @{ \global \basseMusique @}
+      >>
+      \new Lyrics \lyricsto "basses" @{ \basseParoles @}
+    >>  % fin du ChoirStaff
+@end example
+
+Il nous faut maintenant nous occuper de la partie de piano.  Nous allons
+nous contenter de simplement récupérer la partie de piano du modèle
+@q{Solo piano} :
+
+@example
+\new PianoStaff <<
+  \set PianoStaff.instrumentName = "Piano  "
+  \new Staff = "upper" \superieur
+  \new Staff = "lower" \inferieur
+>>
+@end example
+
+puis d'ajouter les définitions de variable pour @code{supérieur} et
+@code{inferieur}. 
+
+Les systèmes pour chœur et pour piano doivent être combinés à l'aide de
+doubles inférieur/supérieur puisqu'ils doivent s'empiler :
+
+@example
+<<  % combine ChoirStaff and PianoStaff one above the other
+  \new ChoirStaff <<
+    \new Staff = "sopranos" <<
+      \new Voice = "sopranos" @{ \global \sopranoMusique @}
+    >>
+    \new Lyrics \lyricsto "sopranos" @{ \sopranoParoless @}
+    \new Staff = "altos" <<
+      \new Voice = "altos" @{ \global \altoMusique @}
+    >>
+    \new Lyrics \lyricsto "altos" @{ \altoParoles @}
+    \new Staff = "tenors" <<
+      \clef "G_8"  % tenor clef
+      \new Voice = "tenors" @{ \global \tenorMusique @}
+    >>
+    \new Lyrics \lyricsto "tenors" @{ \tenorParoles @}
+    \new Staff = "basses" <<
+      \clef "bass"
+      \new Voice = "basses" @{ \global \bassesMusique @}
+    >>
+    \new Lyrics \lyricsto "basses" @{ \bassesParoles @}
+  >>  % end ChoirStaff
+
+  \new PianoStaff <<
+    \set PianoStaff.instrumentName = "Piano"
+    \new Staff = "upper" \superieur
+    \new Staff = "lower" \inferieur
+  >>
+>>
+@end example
+
+Une fois tout cela mis en place, et après avoir ajouté les notes et les
+paroles de ces trois mesures du Messie, nous obtenon :
+
+@lilypond[quote,verbatim,ragged-right,addversion]
+global = { \key d \major \time 4/4 }
+sopranoMusic = \relative c'' {
+  \clef "treble"
+  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopranoWords = \lyricmode {
+  Wor -- thy is the lamb that was slain
+}
+altoMusic = \relative a' {
+  \clef "treble"
+  r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+}
+altoWords = \sopranoWords
+tenorMusic = \relative c' {
+  \clef "G_8"
+  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopranoWords
+bassMusic = \relative c' {
+  \clef "bass"
+  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopranoWords
+upper = \relative a' {
+  \clef "treble"
+  \global
+  r4 <a d fis>2 <a e' a>4 |
+  <d fis d'>4. <d fis d'>8 <a d a'>2 |
+  <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+  \clef "bass"
+  \global
+  <d d'>4 <d d'>2 <cis cis'>4 |
+  <b b'>4. <b' b'>8 <fis fis'>2 |
+  <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+  <<  % combine ChoirStaff and PianoStaff in parallel
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" { \global \sopranoMusic }
+      >>
+      \new Lyrics \lyricsto "sopranos" { \sopranoWords }
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" { \global \altoMusic }
+      >>
+      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" { \global \tenorMusic }
+      >>
+      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" { \global \bassMusic }
+      >>
+      \new Lyrics \lyricsto "basses" { \bassWords }
+    >>  % end ChoirStaff
+
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = "Piano  "
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+    >>
+  >>
+}
+@end lilypond
+
 
 @node Building a score from scratch
 @subsection Building a score from scratch
 
 
 @node Building a score from scratch
 @subsection Building a score from scratch
 
-@untranslated
+@cindex modèles, création
+
+Après avoir acquis une certaine dextérité dans l'écriture de code
+LilyPond, vous devez vous sentir suffisament pret à vous lancer dans
+la création d'une partition à partir de zéro, autrement dit en ne
+partant pas d'un exemple.  Vous pourrez ainsi vous construire vos
+propres patrons selon le type de musique que vous affectionnez plus
+particulièrement.  Pour voir comment procéder, nous allons monter la
+partition d'un prélude pour orgue.
+
+Nous débutons par une section d'en-tête ; nous y mettrons entre autres
+le titre et le nom du compositeur.  Puis viennent toutes les définitions
+de toutes les variables. Nous treminons par le bloc @code{\score}.
+Attelons-nous pour cette aventure, en gardant bien à l'esprit ce que
+nous venons de dire ; nous nous occuperons des détails en temps voulu.
+
+Nous nous appuyons sur les deux premières mesures du prélude sur
+@emph{Jesu, meine Freude}, écrit pour orgue avec pédalier.  Vous pouvez
+voir ces deux mesures au bas de cette page.  La main droite comporte
+deux voix, la main gauche et le pédalier une seule.  Il nous faut donc
+quatre définitions de musique, plus une qui contiendra la métrique et
+l'armure :
+
+@example
+\version @w{"@version{}"}
+\header @{
+  title = "Jesu, meine Freude"
+  composer = "J S Bach"
+@}
+MetriqueArmure = @{ \time 4/4 \key c \minor @}
+ManuelUnVoixUnMusique = @{s1@}
+ManuelUnVoixDeuxMusique = @{s1@}
+ManuelDeuxMusique = @{s1@}
+PedalierOrgueMusique = @{s1@}
+
+\score @{
+@}
+@end example
+
+Pour l'instant, nous utilisons des silences invisibles, @code{s1}, en
+lieu et place des notes réelles.  On verra plus tard.
+
+Passons maintenant au bloc @code{\score} et à ce qu'il devrait contenir.
+Nous y recopions simplement la structure des portées que nous voulons.
+La musique pour orgue se présente généralement sous la forme de trois
+portées, une pour chaque main et une pour le pédalier.  Les portées du
+manuel sont regroupées, nous utiliserons donc un @code{PianoStaff}.  La
+première partie du manuel requiert deux voix et la seconde une seule.
+
+@example
+  \new PianoStaff <<
+    \new Staff = "ManualOne" <<
+      \new Voice @{ \ManuelUnVoixUnMusique @}
+      \new Voice @{ \ManuelUnVoixDeuxMusique @}
+    >>  % fin du contexte de portée ManuelUn
+    \new Staff = "ManualTwo" <<
+      \new Voice @{ \ManuelDeuxMusique @}
+    >>  % fin du contexte de portée ManuelDeux 
+  >>  % fin du contexte PianoStaff 
+@end example
+
+Il nous faut ajouter à cela une portée pour le pédalier.  Elle se place
+sous le système de piano, mais puisqu'elle doît rester synchrone avec
+lui, nous utilisons un double inférieur/supérieur pour les regrouper.
+Négliger ceci nous renverrait une erreur, et personne n'est à l'abri de
+cette faute ! Pour preuve, il vous suffit de copier l'exemple complet en
+fin de chapitre, de supprimer ces @code{<<} et @code{>>}, et de le
+compiler, pour savoir de quoi il retourne.
+
+@example
+<<  % Système pianistique et portée de pédalier sont synchrones 
+  \new PianoStaff <<
+    \new Staff = "ManualOne" <<
+      \new Voice @{ \ManuelUnVoixUnMusique @}
+      \new Voice @{ \ManuelUnVoixDeuxMusique @}
+    >>  % fin du contexte de portée ManuelUn
+    \new Staff = "ManualTwo" <<
+      \new Voice @{ \ManuelDeuxMusique @}
+    >>  % fin du contexte de portée ManuelDeux 
+  >>  % fin du contexte PianoStaff 
+  \new Staff = "PedalOrgan" <<
+    \new Voice @{ \PedalierOrgueMusique @}
+  >>
+>>
+@end example
+
+La construction en simultané -- @code{<< .. >>} -- n'est pas strictement
+obligatoire pour les portées manuel deux et pédalier, qui ne contiennent
+chacune qu'une seule expression musicale ; mais cela ne mange pas de
+pain, et c'est une bonne habitude que de toujours encadrer par un double
+inférieur/supérieur ce qui suit une sommande @code{\new Staff} au cas où
+il y aurait plusieurs voix.  Il en va autrement pour les contextes
+@code{Voice} : ils doivent être toujours suivis d'accolades -- 
+@code{@{ .. @}} --  au cas où vous avez employé plusieurs variables qui
+doivent intervenir consécutivement.
+
+Ajoutons donc cette structure au bloc @code{\score}, tout en fignolant
+l'indentation.  Nous en profitons pour ajouter les clés appropriées,
+effectuer les réglages concernant les hampes et liaisons de la portée
+supérieure grace à @code{\voiceOne} et @code{\voiceTwo}, et mettre en
+place la métrique et l'armure de chaque portée grace à notre variable
+@code{\MetriqueArmure}. 
+
+@example
+\score @{
+  <<  % Système pianistique et portée de pédalier sont synchrones 
+    \new PianoStaff <<
+      \new Staff = "ManualOne" <<
+        \TimeKey  % définition de la métrique et de l'armure
+        \clef "treble"
+        \new Voice @{ \voiceOne \ManuelUnVoixUnMusique @}
+        \new Voice @{ \voiceTwo \ManuelUnVoixDeuxMusique @}
+      >>  % fin du contexte de la portée ManuelUn
+      \new Staff = "ManualTwo" <<
+        \TimeKey
+        \clef "bass"
+        \new Voice @{ \ManuelDeuxMusique @}
+      >>  % fin du contexte de la portée ManuelDeux
+    >>  % fin du contexte PianoStaff
+    \new Staff = "PedalOrgan" <<
+      \TimeKey
+      \clef "bass"
+      \new Voice @{ \PedalierOrgueMusique @}
+    >>  % fin du contexte de la portée PedalOrgan
+  >>
+@}  % fin du contexte Score
+@end example
+
+Nous en avons fini avec la structure.  Toutes les partitions pour orgue
+auront cette structure, même si le nombre de voix peut chager.  Tout ce
+qui nous reste à faire maintenant consiste à saisir la musique et à
+regrouper toutes les parties.
+
+@lilypond[quote,verbatim,ragged-right,addversion]
+\header {
+  title = "Jesu, meine Freude"
+  composer = "J S Bach"
+}
+TimeKey = { \time 4/4 \key c \minor }
+ManualOneVoiceOneMusic = \relative g' {
+  g4 g f ees | d2 c2 |
+}
+ManualOneVoiceTwoMusic = \relative c' {
+  ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
+  c c4 b8 c8. g16 c b c d |
+}
+ManualTwoMusic = \relative c' {
+  c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
+  f ees f d g aes g f ees d e8~ ees16 f ees d |
+}
+PedalOrganMusic = \relative c {
+  r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+  r16 g ees f g f g8 c,2 |
+  }
+
+\score {
+  <<  % PianoStaff and Pedal Staff must be simultaneous
+    \new PianoStaff <<
+      \new Staff = "ManualOne" <<
+        \TimeKey  % set time signature and key
+        \clef "treble"
+        \new Voice { \voiceOne \ManualOneVoiceOneMusic }
+        \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
+      >>  % end ManualOne Staff context
+      \new Staff = "ManualTwo" <<
+        \TimeKey
+        \clef "bass"
+        \new Voice { \ManualTwoMusic }
+      >>  % end ManualTwo Staff context
+    >>  % end PianoStaff context
+    \new Staff = "PedalOrgan" <<
+      \TimeKey
+      \clef "bass"
+      \new Voice { \PedalOrganMusic }
+    >>  % end PedalOrgan Staff context
+  >>
+}  % end Score context
+@end lilypond
+