]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/user/working.itely
lilypond-book robustness: ensure EOL at the end of @verbatim
[lilypond.git] / Documentation / fr / user / working.itely
index dfc0f09f48a6d5d8ccb0300fa83aac661b1ccf90..763724d3c937da0727fe88916054738a2ef335e2 100644 (file)
@@ -1,12 +1,17 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-   Translation of GIT committish: bfbaf6488d99ab4cdfcb4efdc67eaca63a636106
+   Translation of GIT committish: 148e80b8992a7fb9d59ec439c00b79decbbe3bad
 
    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.12.0"
+
+@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
 
@@ -16,16 +21,13 @@ ces astuces peuvent vous paraître évidentes, mais vous ne perdrez tout
 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 input files::
+* When things don't work::      
+* Scores and parts::            
 @end menu
 
-@node Suggestions for writing LilyPond files
-@section Suggestions for writing LilyPond files
+@node Suggestions for writing LilyPond input files
+@section Suggestions for writing LilyPond input files
 
 Maintenant vous êtes prêt à travailler sur de plus gros fichiers
 LilyPond --- des pièces entières, et plus seulement les petits
@@ -36,7 +38,7 @@ résultat que vous souhaitez, peu importe la manière dont le code est
 organisé.  Néanmoins, quelques critères doivent être pris en compte
 lorsque l'on écrit un fichier LilyPond.
 
-@itemize @bullet
+@itemize
 @item Si vous faites une erreur, la structure même du fichier LilyPond
 peut permettre de la localiser plus ou moins facilement.
 
@@ -56,9 +58,11 @@ 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,20 +71,20 @@ 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.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
+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
-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
+@item @strong{Ajoutez des contrôles}: @ruser{Octave checks}, et
+@ruser{Bar and bar number checks}.  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
 simple, peut-être une ou deux fois.  Pour de la musique très complexe,
 peut-être à chaque mesure.
 
@@ -103,8 +107,12 @@ 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{Mentionnez les durées} au début de chaque section ou
+variable.  Si vous saisissez @code{c4 d e} au début d'une phrase, vous
+vous épargnerez des problèmes si, plus tard, vous modifiez votre musique.
+
 @item @strong{Séparez les affinages de mise en forme} de la musique
-elle-même. Voyez @ref{Saving typing with identifiers and functions} et
+elle-même. Voyez @ref{Saving typing with variables and functions} et
 @ref{Style sheets}.
 
 @end itemize
@@ -116,13 +124,13 @@ elle-même. Voyez @ref{Saving typing with identifiers and functions} et
 Si vous saisissez de la musique à partir d'une partition existante,
 c'est-à-dire de la musique déjà écrite,
 
-@itemize @bullet
+@itemize
 
 @item n'entrez qu'un seul système de la partition originale
 à 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} ;
+utiliser les commandes @code{showLastLength} et @code{showFirstLength}
+pour accélérer la compilation --- voir @ruser{Skipping corrected music} ;
 
 @item définissez @code{mBreak = @{\break @}} et insérez
 @code{\mBreak} dans le fichier d'entrée pour obtenir des sauts de
@@ -132,6 +140,24 @@ 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.
 
+@item encadrez les notes d'une partie pour instrument transpositeur
+dans un 
+
+@example
+\transpose c tonalite-naturelle @{...@}
+@end example
+(où @code{tonatilte-naturelle} correspond à celle de l'instrument en
+question) de telle sorte que la musique comprise dans cette variable se
+retrouve en ut.  Vous pourrez toujours transposer à l'inverse si besoin
+lorsque vous ferez appel à cette variable.  Des erreurs de transposition
+seront moins susceptibles de se produire si la musique de toutes les
+variables est dans la même et unique tonalité.
+
+De la même manière, prénez toujours le do comme note de départ ou
+d'arrivée.  Ceci aura pour simple conséquence que les autres tonalités
+que vous utiliserez seront celles propres à chacun des instruments --
+sib pour une trompette en si bémol, ou lab pour une clarinette en la bémol.
+
 @end itemize
 
 
@@ -164,10 +190,10 @@ g4 c'8. e16
 @end example
 
 @item @strong{Séparez les retouches} des définitions de
-musique.  Ce conseil a été vu dans @ref{General suggestions},
-mais pour les projets d'importance c'est absolument vital.  Nous
+musique.  Nous vous avons déjà invité à adopter une telle pratique, qui
+par ailleurs devient vitale pour des projets d'importance.  Nous
 pouvons avoir besoin de changer la définition de
-@code{fthenp}, mais dans ce cas nous n'aurons besoin de le faire
+@code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire
 qu'une seule fois, et nous pourrons encore éviter de
 modifier quoi que ce soit à l'intérieur de la définition
 du @code{violon}.
@@ -183,8 +209,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
@@ -204,9 +230,9 @@ Vous comprendrez combien cela peut être utile pour écrire de la
 musique minimaliste :
 
 @lilypond[quote,verbatim,ragged-right]
-fragA = \relative c'' { a4 a8. b16 }
-fragB = \relative c'' { a8. gis16 ees4 }
-violin = \new Staff { \fragA \fragA \fragB \fragA }
+fragmentA = \relative c'' { a4 a8. b16 }
+fragmentB = \relative c'' { a8. gis16 ees4 }
+violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
 \score {
   {
     \violin
@@ -214,7 +240,7 @@ violin = \new Staff { \fragA \fragA \fragB \fragA }
 }
 @end lilypond
 
-Cependant, vous pouvez aussi utiliser ces identificateurs
+Néanmoins vous pouvez aussi utiliser ces identificateurs
 --- aussi connus sous le nom de variables, macros, ou commandes
 (définies par l'utilisateur) --- pour des retouches :
 
@@ -256,6 +282,9 @@ violin = \relative c'' @{
 @}
 @end example
 
+@c TODO Replace the following with a better example  -td
+@c Skylining handles this correctly without padText
+
 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=}.
@@ -281,15 +310,15 @@ padText =
 
 Utiliser les identificateurs est aussi un bon moyen pour vous épargner
 du travail si la syntaxe de LilyPond change un jour --- voir
-@ref{Updating old files}.  Si vous avez une seule définition, par
-exemple @code{\dolce}, pour tous vos fichiers (voir @ref{Style
-sheets}), et que la syntaxe change, alors vous n'aurez qu'à mettre à
+@ref{Updating old input files}.  Si vous avez une seule définition, par
+exemple @code{\dolce}, pour tous vos fichiers (voir @ref{Style sheets}),
+et que la syntaxe change, alors vous n'aurez qu'à mettre à 
 jour votre seule définition @code{\dolce}, au lieu de devoir modifier
 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
@@ -324,7 +353,7 @@ cela en utilisant les techniques de @ref{Moving objects}.  On peut
 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.
-Il suffirait de les copier et les coller au début de chaque
+Il suffirait de les copier et 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.  Stockons-les dans un autre fichier :
@@ -380,7 +409,7 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 
 C'est mieux, mais effectuons encore quelques retouches.  Le glissando
 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
+rapprocher des têtes de note.  Déplaçons l'indication métronomique
 au-dessus de la clef, au lieu de la laisser au-dessus de la première
 note.  Et pour finir, mon professeur de composition déteste les
 chiffrages de mesure en @qq{C}, nous allons donc le transformer en @qq{4/4}.
@@ -539,7 +568,7 @@ chaque fichier de musique par @code{\include "../global.ly"} qui contient :
 
 @example
 %%%   global.ly
-\version "2.11.32"
+\version @w{"@version{}"}
 #(ly:set-option 'point-and-click #f)
 \include "../init/init-defs.ly"
 \include "../init/init-mise-en-page.ly"
@@ -547,8 +576,17 @@ chaque fichier de musique par @code{\include "../global.ly"} qui contient :
 \include "../init/init-papier.ly"
 @end example
 
-@node Updating old files
-@section Updating old files
+@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 input files
+@subsection Updating old input 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,14 +595,14 @@ 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,
+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 toutes les
+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}
+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,
@@ -579,7 +617,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 à
@@ -640,7 +678,7 @@ 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 exemples
@@ -668,6 +706,7 @@ début de votre exemple.
 @end itemize
 
 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 ne vouliez montrer quelque chose en rapport avec
@@ -675,3 +714,130 @@ 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} --- @emph{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{The set command}.