]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/user/working.itely
Merge branch 'master' into dev/texi2html
[lilypond.git] / Documentation / fr / user / working.itely
index ee9f076f904457dfaf1bc6fc6533c491e06ff380..7086f337b4cb28f473798caae59ff1836b45bd4c 100644 (file)
@@ -1,33 +1,35 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-   Translation of GIT committish: 3723b442fb7ec5d4e53d6b542248c57443662666
+   Translation of GIT committish: bfbaf6488d99ab4cdfcb4efdc67eaca63a636106
 
    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 Translators: Ludovic Sardain
+@c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau, Jean-Charles Malahieude
+
 @node Working on LilyPond projects
 @chapter Working on LilyPond projects
 
 Cette section explique comment résoudre ou éviter certains problèmes
 courants.  Si vous avez de l'expérience en programmation, beaucoup de
 ces astuces peuvent vous paraître évidentes, mais vous ne perdrez tout
-de même pas temps à lire ce chapitre.
+de même pas votre temps à lire ce chapitre.
 
 @menu
-* Suggestions for writing LilyPond files::
-* Saving typing with identifiers and functions::
-* Style sheets::
-* Updating old files::
-* Troubleshooting (taking it all apart)::
-* Minimal examples::
+* Suggestions for writing LilyPond files::  
+* When things don't work::      
+* Scores and parts::            
 @end menu
 
 @node Suggestions for writing LilyPond files
 @section Suggestions for writing LilyPond files
 
-Maintenant vous êtes prêts à travailler sur de plus gros fichiers
+Maintenant vous êtes prêt à travailler sur de plus gros fichiers
 LilyPond --- des pièces entières, et plus seulement les petits
 exemples du tutoriel.  Mais comment devriez-vous vous y prendre ?
 
@@ -38,7 +40,7 @@ lorsque l'on écrit un fichier LilyPond.
 
 @itemize @bullet
 @item Si vous faites une erreur, la structure même du fichier LilyPond
-peut permettre de la trouver plus ou moins facilement.
+peut permettre de la localiser plus ou moins facilement.
 
 @item Et si vous souhaitez partager vos fichiers avec quelqu'un
 d'autre, ou si vous souhaitez modifier vos propres fichiers dans
@@ -50,15 +52,17 @@ pendant une heure.
 l'utiliser avec une version plus récente de LilyPond ?  La syntaxe du
 langage d'entrée change parfois lorsque LilyPond s'améliore.  La
 plupart des changements peuvent être appliqués automatiquement avec
-@code{convert-ly}, mais quelques-uns peuvent demander une intervention
+@code{convert-ly}, mais quelques-uns peuvent requérir une intervention
 manuelle.  Vos fichiers LilyPond peuvent être structurés de manière à
 faciliter leur mise à jour.
 @end itemize
 
 @menu
-* General suggestions::
-* Typesetting existing music::
-* Large projects::
+* General suggestions::         
+* Typesetting existing music::  
+* Large projects::              
+* Saving typing with variables and functions::  
+* Style sheets::                
 @end menu
 
 @node General suggestions
@@ -67,17 +71,17 @@ faciliter leur mise à jour.
 Voici quelques conseils qui peuvent vous éviter certains problèmes ou
 en résoudre d'autres.
 
-@itemize @bullet
+@itemize
 @item @strong{Ajoutez le numéro de version dans chaque fichier}.
 Notez que chaque fichier modèle contient une ligne @code{\version
-"2.9.13"}.  Nous vous conseillons fortement d'inclure cette ligne,
+"2.11.32"}.  Nous vous conseillons fortement d'inclure cette ligne,
 même pour de petits fichiers.  Par expérience, il est très difficile
 de se rappeler quelle version de LilyPond on utilisait quelques
-années auparavant.  L'utilitaire @code{convert-ly} demande que vous
-spécifiiez quelle version de LilyPond vous utilisiez.
+années auparavant.  L'utilitaire @command{convert-ly} demande que vous
+spécifiiez la version de LilyPond vous utilisiez alors.
 
-@item @strong{Ajoutez des contrôles}: @ref{Bar check}, @ref{Octave
-check} et @ref{Barnumber check}.  Si vous avez ajouté des contrôles de
+@item @strong{Ajoutez des contrôles}: @ruser{Bar check}, @ruser{Octave
+check} et @ruser{Barnumber check}.  Si vous avez ajouté des contrôles de
 loin en loin, et que vous faites une erreur, vous pourrez la retrouver
 plus rapidement.  @qq{De loin en loin}, qu'est-ce à dire ?  Cela
 dépend de la complexité de la musique.  Pour de la musique très
@@ -88,11 +92,11 @@ peut-être à chaque mesure.
 le résultat que vous désirez contient quelque chose de compliqué, il
 est souvent bon de n'écrire qu'une seule mesure par ligne.  Économiser
 de la place en tassant huit mesures par ligne, ça ne vaut pas vraiment
-le coup si vous avez à corriger vos fichiers.
+le coup si l'on doît corriger vos fichiers.
 
 @item @strong{Ajoutez des commentaires}.  Utilisez soit des
 numéros de mesure (assez souvent), soit des références au contenu
-musical (@q{second thème des violons,} @q{quatrième variation,} etc.).
+musical --- @qq{second thème des violons}, @qq{quatrième variation}, etc.
 Vous pouvez ne pas avoir besoin des commentaires lorsque vous écrivez
 une pièce pour la première fois, mais si vous souhaitez y revenir deux
 ou trois ans plus tard pour changer quelque chose, ou si vous donnez
@@ -103,8 +107,8 @@ structuré si vous n'y avez pas adjoint de commentaires.
 @item @strong{Indentez les accolades}.  Beaucoup de problèmes
 viennent d'un défaut de parité entre @code{@{} et @code{@}}.
 
-@item @strong{Séparez les retouches de mise en forme} de la musique
-elle-même. Voyez @ref{Saving typing with identifiers and functions} et
+@item @strong{Séparez les affinages de mise en forme} de la musique
+elle-même. Voyez @ref{Saving typing with variables and functions} et
 @ref{Style sheets}.
 
 @end itemize
@@ -122,15 +126,15 @@ c'est-à-dire de la musique déjà écrite,
 à la fois --- mais toujours une seule mesure par ligne de texte ---,
 et vérifiez chaque système lorsqu'il est terminé.  Vous pouvez
 utiliser la commande @code{showLastLength} pour accélérer la
-compilation --- voir @ref{Skipping corrected music} ;
+compilation --- voir @ruser{Skipping corrected music} ;
 
 @item définissez @code{mBreak = @{\break @}} et insérez
-@code{\mBreak} dans le fichier d'entrée à chaque saut de ligne dans la
-partition originale.  Cela facilite la comparaison entre la partition
-originale et la partition de LilyPond.  Lorsque vous avez fini de
-relire votre musique, vous pouvez définir @code{mBreak = @{ @}} pour
-enlever tous ces sauts de ligne, et laisser LilyPond placer les sauts
-de ligne selon son propre algorithme.
+@code{\mBreak} dans le fichier d'entrée pour obtenir des sauts de
+ligne identiques à la partition originale.  Cela facilite la
+comparaison entre la partition originale et la partition de 
+LilyPond.  Lorsque vous avez fini de relire votre musique, vous pouvez
+définir @code{mBreak = @{ @}} pour enlever tous ces sauts de ligne, et
+laisser LilyPond placer les sauts de ligne selon son propre algorithme.
 
 @end itemize
 
@@ -143,7 +147,7 @@ de structurer clairement ses fichiers LilyPond.
 
 @itemize @bullet
 
-@item @strong{utilisez un identificateur pour chaque voix},
+@item @strong{Utilisez un identificateur pour chaque voix},
 avec un minimum de structure dans la définition.  La structure de la
 section @code{\score} est la plus susceptible de changer, notamment
 dans une nouvelle version de LilyPond, alors que la définition du
@@ -165,7 +169,7 @@ g4 c'8. e16
 
 @item @strong{Séparez les retouches} des définitions de
 musique.  Ce conseil a été vu dans @ref{General suggestions},
-mais pour les gros projets c'est absolument vital.  Nous
+mais pour les projets d'importance c'est absolument vital.  Nous
 pouvons avoir besoin de changer la définition de
 @code{fthenp}, mais dans ce cas nous n'aurons besoin de le faire
 qu'une seule fois, et nous pourrons encore éviter de
@@ -183,8 +187,8 @@ g4\fthenp c'8. e16
 @end itemize
 
 
-@node Saving typing with identifiers and functions
-@section Saving typing with identifiers and functions
+@node Saving typing with variables and functions
+@subsection Saving typing with variables and functions
 
 @cindex variables
 @cindex identificateurs
@@ -194,9 +198,9 @@ Jusqu'à maintenant, vous avez vu ce type de code :
 @lilypond[quote,verbatim,ragged-right]
 hornNotes = \relative c'' { c4 b dis c }
 \score {
- {
-   \hornNotes
- }
 {
+    \hornNotes
 }
 }
 @end lilypond
 
@@ -208,9 +212,9 @@ fragA = \relative c'' { a4 a8. b16 }
 fragB = \relative c'' { a8. gis16 ees4 }
 violin = \new Staff { \fragA \fragA \fragB \fragA }
 \score {
- {
-   \violin
- }
 {
+    \violin
 }
 }
 @end lilypond
 
@@ -223,17 +227,17 @@ dolce = \markup{ \italic \bold dolce }
 padText = { \once \override TextScript #'padding = #5.0 }
 fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
 violin = \relative c'' {
- \repeat volta 2 {
-   c4._\dolce b8 a8 g a b |
-   \padText
-   c4.^"hi there!" d8 e' f g d |
-   c,4.\fthenp b8 c4 c-. |
- }
 \repeat volta 2 {
+    c4._\dolce b8 a8 g a b |
+    \padText
+    c4.^"hi there!" d8 e' f g d |
+    c,4.\fthenp b8 c4 c-. |
 }
 }
 \score {
- {
-   \violin
- }
 {
+    \violin
 }
 \layout{ragged-right=##t}
 }
 @end lilypond
@@ -246,19 +250,19 @@ lire, et particulièrement la dernière ligne.
 
 @example
 violin = \relative c'' @{
- \repeat volta 2 @{
-   c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
-   \once \override TextScript #'padding = #5.0
-   c4.^"hi there!" d8 e' f g d |
-   c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
-     \hspace #0.1 \dynamic p @} b8 c4 c-. |
- @}
 \repeat volta 2 @{
+    c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
+    \once \override TextScript #'padding = #5.0
+    c4.^"hi there!" d8 e' f g d |
+    c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
+      \hspace #0.1 \dynamic p @} b8 c4 c-. |
 @}
 @}
 @end example
 
 Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
 rencontre @code{\padText}, il le remplace par le contenu que nous lui
-avons défini --- c'est-à-dire le contenu à droite de @code{padText=}).
+avons défini --- c'est-à-dire le contenu à droite de @code{padText=}.
 
 LilyPond gère également des substitutions non-statiques --- vous
 pouvez les voir comme des fonctions.
@@ -266,16 +270,16 @@ pouvez les voir comme des fonctions.
 @lilypond[quote,verbatim,ragged-right]
 padText =
 #(define-music-function (parser location padding) (number?)
- #{
-   \once \override TextScript #'padding = #$padding
- #})
 #{
+    \once \override TextScript #'padding = #$padding
 #})
 
 \relative c''' {
- c4^"piu mosso" b a b
- \padText #1.8
- c4^"piu mosso" d e f
- \padText #2.6
- c4^"piu mosso" fis a g
 c4^"piu mosso" b a b
 \padText #1.8
 c4^"piu mosso" d e f
 \padText #2.6
 c4^"piu mosso" fis a g
 }
 @end lilypond
 
@@ -289,7 +293,7 @@ chaque fichier @code{.ly}.
 
 
 @node Style sheets
-@section Style sheets
+@subsection Style sheets
 
 La sortie que produit LilyPond peut être largement modifiée --- voir
 @ref{Tweaking output} pour plus de détails.  Mais que faire si vous
@@ -303,41 +307,41 @@ les parties avec tous les @code{#()}.  Celles-ci sont expliquées dans
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
 Il y a quelques problèmes de chevauchement ; nous allons arranger
 cela en utilisant les techniques de @ref{Moving objects}.  On peut
-aussi aussi faire quelque chose pour les définitions de @code{mpdolce}
+aussi faire quelque chose pour les définitions de @code{mpdolce}
 et @code{tempoMark}.  Elles produisent le résultat que nous désirons,
 mais nous pourrions aussi vouloir les utiliser dans une autre pièce.
-Nous pourrions simplement les copier et les coller au début de chaque
+Il suffirait de les copier et les coller au début de chaque
 fichier, mais c'est fastidieux.  De plus, cela laisse les définitions
 dans nos fichiers de musique, et je trouve personnellement tous ces
-@code{#()} assez laids.  Cachons-les dans un autre fichier :
+@code{#()} assez laids.  Stockons-les dans un autre fichier :
 
 @example
 %%% enregistrez ceci dans un fichier nommé "definitions.ly"
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #@{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup @{ \bold $markp @}
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup @{ \bold $markp @}
 #@})
 @end example
 
@@ -351,30 +355,30 @@ sous @file{"musique.ly"}).
 \include "definitions.ly"
 
 \relative c'' @{
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 #:line(#:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
@@ -383,7 +387,7 @@ est peu visible, c'est pourquoi nous allons l'épaissir et le
 rapprocher des têtes de notes.  Déplaçons l'indication métronomique
 au-dessus de la clef, au lieu de la laisser au-dessus de la première
 note.  Et pour finir, mon professeur de composition déteste les
-chiffrages de mesure en "C", nous allons donc le transformer en "4/4".
+chiffrages de mesure en @qq{C}, nous allons donc le transformer en @qq{4/4}.
 
 Cependant, ne changez pas le fichier @file{musique.ly}.  Remplacez le
 fichier @file{definitions.ly} par ceci :
@@ -391,65 +395,65 @@ fichier @file{definitions.ly} par ceci :
 @example
 %%%  definitions.ly
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #@{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup @{ \bold $markp @}
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup @{ \bold $markp @}
 #@})
 
 \layout@{
- \context @{ \Score
-   \override MetronomeMark #'extra-offset = #'(-9 . 0)
-   \override MetronomeMark #'padding = #'3
- @}
- \context @{ \Staff
-   \override TimeSignature #'style = #'numbered
- @}
- \context @{ \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- @}
 \context @{ \Score
+    \override MetronomeMark #'extra-offset = #'(-9 . 0)
+    \override MetronomeMark #'padding = #'3
 @}
 \context @{ \Staff
+    \override TimeSignature #'style = #'numbered
 @}
 \context @{ \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 @}
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 \layout{
- \context { \Score
-   \override MetronomeMark #'extra-offset = #'(-9 . 0)
-   \override MetronomeMark #'padding = #'3
- }
- \context { \Staff
-   \override TimeSignature #'style = #'numbered
- }
- \context { \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- }
 \context { \Score
+    \override MetronomeMark #'extra-offset = #'(-9 . 0)
+    \override MetronomeMark #'padding = #'3
 }
 \context { \Staff
+    \override TimeSignature #'style = #'numbered
 }
 \context { \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 }
 }
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
 C'est encore mieux !  Mais supposons maintenant que je veuille publier
 cette pièce.  Mon professeur de composition n'aime pas les chiffrages
-de mesure en "C", mais moi je les aime bien.  Copions l'actuel
+de mesure en @qq{C}, mais moi je les aime bien.  Copions l'actuel
 @file{definitions.ly} dans le fichier @file{publication-web.ly}, et
 modifions ce dernier.  Puisque la musique est destinée à produire un
 fichier PDF affiché sur écran, nous allons aussi augmenter la taille
@@ -458,88 +462,88 @@ globale de police.
 @example
 %%%  definitions.ly
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #@{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup @{ \bold $markp @}
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup @{ \bold $markp @}
 #@})
 
 #(set-global-staff-size 23)
 \layout@{
- \context @{ \Score
-   \override MetronomeMark #'extra-offset = #'(-9 .  0)
-   \override MetronomeMark #'padding = #'3
- @}
- \context @{ \Staff
- @}
- \context @{ \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- @}
 \context @{ \Score
+    \override MetronomeMark #'extra-offset = #'(-9 .  0)
+    \override MetronomeMark #'padding = #'3
 @}
 \context @{ \Staff
 @}
 \context @{ \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 @}
 @}
 @end example
 
 @lilypond[quote,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 #:line( #:dynamic "mp" #:text #:italic "dolce" )))
 tempoMark = #(define-music-function (parser location markp) (string?)
 #{
- \once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $markp }
 \once \override Score . RehearsalMark #'self-alignment-X = #left
 \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
 \mark \markup { \bold $markp }
 #})
 
 #(set-global-staff-size 23)
 \layout{
- \context { \Score
-   \override MetronomeMark #'extra-offset = #'(-9 . 0)
-   \override MetronomeMark #'padding = #'3
- }
- \context { \Voice
-   \override Glissando #'thickness = #3
-   \override Glissando #'gap = #0.1
- }
 \context { \Score
+    \override MetronomeMark #'extra-offset = #'(-9 . 0)
+    \override MetronomeMark #'padding = #'3
 }
 \context { \Voice
+    \override Glissando #'thickness = #3
+    \override Glissando #'gap = #0.1
 }
 }
 
 \relative c'' {
- \tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- \once \override Score.RehearsalMark #'padding = #2.0
- \tempoMark "Poco piu mosso"
- cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 \tempo 4=50
 a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
 \once \override Score.RehearsalMark #'padding = #2.0
 \tempoMark "Poco piu mosso"
 cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 }
 @end lilypond
 
 Il ne nous reste plus qu'à remplacer @code{\include "definitions.ly"}
-par @code{\include "web-publish.ly"} dans notre fichier de musique.
+par @code{\include "publication-web.ly"} dans notre fichier de musique.
 
 Il est possible, bien sûr, de rendre cela encore plus pratique.  Nous
 pourrions créer un fichier @file{definitions.ly} qui ne contiendrait
 que les définitions de @code{mpdolce} et de @code{tempoMark}, un
 fichier @file{publication-web.ly} qui ne contiendrait que la section
-@code{layout} décrite ci-dessus et un fichier @file{university.ly} qui
+@code{layout} décrite ci-dessus et un fichier @file{universite.ly} qui
 ne contiendrait que les retouches pour produire le résultat que mon
-professeur préfère.  Le début du fichier @file{music.ly} ressemblerait
+professeur préfère.  Le début du fichier @file{musique.ly} ressemblerait
 alors à
 
 @example
 \include "definitions.ly"
 
 %%%  Décommentez seulement une de ces deux lignes !
-\include "web-publish.ly"
-%\include "university.ly"
+\include "publication-web.ly"
+%\include "universite.ly"
 @end example
 
 Cette approche peut être utile même si vous ne produisez qu'un seul
-jeu de partitions.  J'utilise une demi-douzaine de fichiers de
-@qq{feuille de style} pour mes projets.  Je commence chaque fichier de
-musique musical par @code{\include "../global.ly"} qui contient :
+jeu de partitions.  J'utilise personnellement une demi-douzaine de
+fichiers de @qq{feuille de style} pour mes projets.  Je commence
+chaque fichier de musique par @code{\include "../global.ly"} qui contient :
 
 @example
 %%%   global.ly
-\version "2.9.13"
+\version @w{"@version{}"}
 #(ly:set-option 'point-and-click #f)
 \include "../init/init-defs.ly"
 \include "../init/init-mise-en-page.ly"
@@ -547,8 +551,17 @@ musique musical par @code{\include "../global.ly"} qui contient :
 \include "../init/init-papier.ly"
 @end example
 
+@node When things don't work
+@section When things don't work
+
+@menu
+* Updating old files::          
+* Troubleshooting (taking it all apart)::  
+* Minimal examples::            
+@end menu
+
 @node Updating old files
-@section Updating old files
+@subsection Updating old files
 
 La syntaxe de LilyPond change de temps en temps.  Ces changements de
 syntaxe du langage d'entrée accompagnent les améliorations du
@@ -557,15 +570,15 @@ plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles
 fonctionnalités.
 
 LilyPond est fourni avec un utilitaire qui facilite cette mise à
-jour : @code{convert-ly}.  Pour savoir comment utiliser ce programme,
-voir @ref{Updating files with convert-ly}.
+jour : @command{convert-ly}.  Pour savoir comment utiliser ce programme,
+voir @rprogram{Updating files with convert-ly}.
 
-Malheureusement, @code{convert-ly} ne peut pas réaliser tous les
-changements.  Il s'occupe des changements qui ne requièrent qu'une
+Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
+modifications.  Il s'occupe des changements qui ne requièrent qu'une
 simple substitution de texte --- comme @code{raggedright} devenant
 @code{ragged-right} ---, les autres étant trop compliqués à effectuer.
-Les changements de syntaxe qui ne sont pas gérés par @code{convert-ly}
-sont énumérés dans @ref{Updating files with convert-ly}.
+Les changements de syntaxe qui ne sont pas gérés par @command{convert-ly}
+sont énumérés dans @rprogram{Updating files with convert-ly}.
 
 Par exemple, dans les versions 2.4 et antérieures de LilyPond,
 les accents et les lettres non anglaises étaient entrées en
@@ -579,7 +592,7 @@ fichiers LilyPond manuellement.
 
 
 @node Troubleshooting (taking it all apart)
-@section Troubleshooting (taking it all apart)
+@subsection Troubleshooting (taking it all apart)
 
 Tôt ou tard, vous écrirez un fichier que LilyPond ne peut pas
 compiler.  Les messages que LilyPond affiche peuvent vous aider à
@@ -596,16 +609,16 @@ fonctionne, c'est que le problème se situe dans cette partie du
 fichier.  Si cela ne fonctionne pas, continuez à mettre en commentaire
 d'autres sections, jusqu'à ce que vous ayez quelque chose qui compile.
 
-Dans un cas extrême, vous pourriez arriver à
+Dans un cas extrême, vous pourriez en arriver à
 
 @example
 \score @{
- <<
-   % \melodie
-   % \harmonie
-   % \basse
- >>
- \layout@{@}
 <<
+    % \melodie
+    % \harmonie
+    % \basse
 >>
 \layout@{@}
 @}
 @end example
 
@@ -620,8 +633,8 @@ cas, placez en commentaire toute la partie de basse, mais laissez
 @example
 basse = \relative c' @{
 %@{
- c4 c c c
- d d d d
 c4 c c c
 d d d d
 %@}
 @}
 @end example
@@ -640,17 +653,17 @@ d'@ref{Minimal examples}.
 
 
 @node Minimal examples
-@section Minimal examples
+@subsection Minimal examples
 
 Un exemple minimal est un exemple de code aussi court que possible.
-De tels exemples sont bien plus compréhensibles que des exemple
+De tels exemples sont bien plus compréhensibles que des exemples
 longs.  Les exemples minimaux sont utilisés pour
 
 @itemize
 @item les rapports de bogue,
 @item les demandes d'aide sur les listes de diffusion,
 @item un ajout à
-@uref{http://lsr@/.dsi@/.unimi/2.it/,LilyPond Snippet Repository}.
+@uref{http://lsr@/.dsi@/.unimi@/.it/,LilyPond Snippet Repository}.
 @end itemize
 
 Pour construire un exemple minimal, la règle est très simple : enlevez
@@ -662,7 +675,7 @@ pouvez les décommenter au lieu de les resaisir.
 Il y a deux exceptions à cette règle du strict nécessaire :
 
 @itemize
-@item incluez le numéro de @code{\version},
+@item incluez le numéro de @code{\version} en début de fichier
 @item si possible, utilisez @code{\paper@{ ragged-right=##t @}} au
 début de votre exemple.
 @end itemize
@@ -670,8 +683,135 @@ début de votre exemple.
 Tout l'intérêt d'un exemple minimal réside dans sa facilité de lecture :
 @itemize
 @item évitez d'utiliser des notes, armures ou métriques compliquées, à
-moins que vous vouliez montrer quelque chose en rapport avec
+moins que vous ne vouliez montrer quelque chose en rapport avec
 celles-ci,
 @item n'utilisez pas de commandes @code{\override} sauf si elles font
 l'intérêt de l'exemple.
 @end itemize
+
+@node Scores and parts
+@section Scores and parts
+
+Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
+D'abord dans les parties séparées destinées aux musiciens, et ensuite
+dans le conducteur destiné au chef.  Les variables sont là pour vous éviter
+un double travail.  La musique n'est entrée qu'une seule fois, et stockée dans
+une variable, dont le contenu servira à imprimer à la fois la partie
+séparée et la partition d'orchestre.
+
+Il est judicieux de définir les notes dans un fichier séparé. Par
+exemple, supposons que le fichier @file{musique-Cor.ly} contienne la
+partie suivante pour un duo cor/@/basson.
+
+@example
+notesCor = \relative c @{
+  \time 2/4
+  r4 f8 a cis4 f e d
+@}
+@end example
+
+@noindent
+On établira alors une partie séparée en constituant un nouveau fichier :
+
+@example
+\include "musique-Cor.ly"
+\header @{
+  instrument = "Cor en Fa"
+@}
+
+@{
+ \transpose f c' \notesCor
+@}
+@end example
+
+À la ligne
+
+@example
+\include "musique-Cor.ly"
+@end example
+
+@noindent
+sera substitué le contenu du fichier @file{musique-Cor.ly}, et de ce
+fait la variable @code{notesCor} se trouvera définie.  La commande
+@code{\transpose f@tie{}c'} indique que son argument @code{\notesCor}
+sera transposé à la quinte supérieure : le son réel @samp{f} s'écrit
+@code{c'}, ce qui est la caractéristique d'un Cor en Fa. La transposition
+est visible comme suit :
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
+pendant plusieurs mesures.  Un silence spécial, appelé silence multi-mesures,
+l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
+durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une demi-pause,
+etc.  Cette durée peut être multipliée pour établir de plus longs silences.
+Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
+
+@example
+R2*3
+@end example
+
+Dans une partie séparée, les silences multi-mesures sont compressés.
+Il faut pour cela définir la propriété @code{skipBars} à @q{vrai} :
+
+@example
+\set Score.skipBars = ##t
+@end example
+
+@noindent
+Cette commande assigne la valeur @q{vrai} --- @q{true} en anglais, et
+@samp{#t} dans le langage Scheme --- à cette propriété dans le
+contexte @code{Score}.  Si l'on ajoute dans la musique ci-dessus le
+silence multi-mesures et cette option, on obtient le résultat suivant :
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  \set Score.skipBars = ##t
+  R2*3
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
+voix de notre duo se trouve dans le fichier @file{musique-Basson.ly} en
+tant que variable @code{notesBasson}, on établira un conducteur avec
+
+@example
+\include "musique-Basson.ly"
+\include "musique-Cor.ly"
+
+<<
+  \new Staff \notesCor
+  \new Staff \notesBasson
+>>
+@end example
+
+@noindent
+ce qui équivaut à
+
+@lilypond[quote,ragged-right]
+\relative c <<
+  \new Staff {
+    \time 2/4 R2*3
+    r4 f8 a cis4 f e d
+  }
+  \new Staff {
+    \clef bass
+    r4 d,8 f | gis4 c | b bes |
+    a8 e f4 | g d | gis f
+  }
+>>
+@end lilypond
+
+Des informations plus détaillées sur la mise en place de conducteurs
+et de parties séparées se trouvent dans le manuel : voir
+@ruser{Writing parts}.
+
+Les variables (@q{propriétés}) réglables sont abordées en détail dans
+@ruser{Changing context properties on the fly}.