]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/usage/suggestions.itely
Imported Upstream version 2.14.2
[lilypond.git] / Documentation / fr / usage / suggestions.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2 @ignore
3    Translation of GIT committish: 057106293b07b74b00553fe4dc3dfac5c1f3b682
4
5    When revising a translation, copy the HEAD committish of the
6    version that you are working on.  For details, see the Contributors'
7     Guide, node Updating translation committishes..
8 @end ignore
9
10 @c \version "2.14.0"
11
12 @c Translators: Ludovic Sardain, Jean-Charles Malahieude
13 @c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau, Jean-Charles Malahieude
14
15 @node Suggestions pour la saisie de fichiers LilyPond
16 @chapter Suggestions pour la saisie de fichiers
17 @translationof Suggestions for writing files
18
19 Maintenant vous êtes prêt à travailler sur de plus gros fichiers
20 LilyPond -- des pièces entières, et plus seulement les petits
21 exemples du tutoriel.  Mais comment devriez-vous vous y prendre@tie{}?
22
23 Tant que LilyPond parvient à comprendre vos fichiers et produit le
24 résultat que vous souhaitez, peu importe la manière dont le code est
25 organisé.  Néanmoins, quelques critères doivent être pris en compte
26 lorsque l'on écrit un fichier LilyPond.
27
28 @itemize
29 @item
30 Si vous faites une erreur, la structure même du fichier LilyPond
31 peut permettre de la localiser plus ou moins facilement.
32
33 @item
34 Et si vous souhaitez partager vos fichiers avec quelqu'un d'autre, ou si
35 vous souhaitez modifier vos propres fichiers dans quelques années@tie{}?
36 Si certains fichiers LilyPond sont compréhensibles au premier coup
37 d'œil, d'autres vous feront vous arracher les cheveux pendant une heure.
38
39 @item
40 Et si vous souhaitez mettre à jour votre fichier pour l'utiliser avec
41 une version plus récente de LilyPond@tie{}?  La syntaxe du 
42 langage d'entrée change parfois lorsque LilyPond s'améliore.  La
43 plupart des changements peuvent être appliqués automatiquement avec
44 @code{convert-ly}, mais quelques-uns peuvent requérir une intervention
45 manuelle.  Vos fichiers LilyPond peuvent être structurés de manière à
46 faciliter leur mise à jour.
47 @end itemize
48
49 @menu
50 * Suggestions générales::
51 * Gravure de musique existante::
52 * Projets d'envergure::
53 * Résolution de problèmes::
54 * De la commande make et des fichiers Makefile::
55 @end menu
56
57
58 @node Suggestions générales
59 @section Suggestions générales
60 @translationof General suggestions
61
62 Voici quelques conseils qui peuvent vous éviter certains problèmes ou
63 en résoudre d'autres.
64
65 @itemize
66 @item @strong{Ajoutez le numéro de version dans chaque fichier}.
67 Notez que chaque fichier modèle contient une ligne
68 @code{\version@tie{}"@version{}"}.  Nous vous conseillons fortement
69 d'inclure cette ligne, même pour de petits fichiers.  Par expérience, il
70 est très difficile de se rappeler quelle version de LilyPond on
71 utilisait quelques années auparavant.  L'utilitaire @command{convert-ly}
72 demande que vous spécifiiez la version de LilyPond vous utilisiez alors.
73
74 @item @strong{Ajoutez des contrôles}
75 @rusernamed{Vérifications d'octave,d'octaviation} et
76 @rusernamed{Vérification des limites et numéros de mesure,de limite ou
77 numéro de mesure}.  Si vous avez ajouté des contrôles de loin en loin,
78 et que vous faites une erreur, vous pourrez la retrouver plus
79 rapidement.  @qq{De loin en loin}, qu'est-ce à dire@tie{}?  Cela dépend
80 de la complexité de la musique.  Pour de la musique très simple,
81 peut-être une ou deux fois.  Pour de la musique très complexe, peut-être
82 à chaque mesure.
83
84 @item @strong{Une mesure par ligne de texte}.
85 Si la musique en elle-même ou le résultat que vous désirez contient
86 quelque chose de compliqué, il est souvent bon de n'écrire qu'une seule
87 mesure par ligne. Économiser de la place en tassant huit mesures par
88 ligne, ça ne vaut pas vraiment le coup si l'on doit corriger vos
89 fichiers.
90
91 @item @strong{Ajoutez des commentaires}.
92 Utilisez soit des numéros de mesure (assez souvent), soit des références
93 au contenu musical -- @qq{second thème des violons}, @qq{quatrième
94 variation}, etc. Vous pouvez ne pas avoir besoin des commentaires
95 lorsque vous écrivez une pièce pour la première fois, mais si vous
96 souhaitez y revenir deux ou trois ans plus tard pour changer quelque
97 chose, ou si vous donnez le fichier source à un ami, ce sera beaucoup
98 plus difficile de déterminer vos intentions ou la manière dont votre
99 fichier est structuré si vous n'y avez pas adjoint de commentaires.
100
101 @item @strong{Indentez les accolades}.
102 Beaucoup de problèmes viennent d'un défaut de parité entre @code{@{} et
103 @code{@}}.
104
105 @item @strong{Mentionnez les durées}
106 au début de chaque section ou variable.  Si vous saisissez @code{c4 d e}
107 au début d'une phrase, vous vous épargnerez des problèmes si, plus tard,
108 vous modifiez votre musique.
109
110 @item @strong{Séparez les affinages de mise en forme}
111 de la musique elle-même.  Voyez
112 @rlearning{Économie de saisie grâce aux identificateurs et fonctions} et
113 @rlearning{Feuilles de style}.
114
115 @end itemize
116
117
118 @node Gravure de musique existante
119 @section Gravure de musique existante
120 @translationof Typesetting existing music
121
122 Si vous saisissez de la musique à partir d'une partition existante,
123 c'est-à-dire de la musique déjà écrite,
124
125 @itemize
126
127 @item 
128 n'entrez qu'un seul système de la partition originale
129 à la fois -- avec toujours une seule mesure par ligne de texte --,
130 et vérifiez chaque système lorsqu'il est terminé.  Vous pouvez
131 utiliser les commandes @code{showLastLength} et @code{showFirstLength}
132 pour accélérer la compilation -- voir
133 @ruser{Ignorer des passages de la partition}@tie{};
134
135 @item
136 définissez @code{mBreak = @{\break @}} et insérez @code{\mBreak} dans le
137 fichier d'entrée pour obtenir des sauts de ligne identiques à la
138 partition originale.  Cela facilite la comparaison entre la partition
139 originale et la partition de LilyPond.  Lorsque vous avez fini de relire
140 votre musique, vous pouvez définir @code{mBreak@tie{}=@tie{}@{@tie{}@}}
141 pour enlever tous ces sauts de ligne, et  laisser LilyPond placer les
142 sauts de ligne selon son propre algorithme@tie{};
143
144 @item
145 encadrez les notes d'une partie pour instrument transpositeur dans un
146
147 @example
148 \transpose c @var{tonalité-naturelle} @{...@}
149 @end example
150 (où @var{tonalité-naturelle} correspond à celle de l'instrument en
151 question) de telle sorte que la musique comprise dans cette variable se
152 retrouve en ut.  Vous pourrez toujours transposer à l'inverse si besoin
153 lorsque vous ferez appel à cette variable.  Des erreurs de transposition
154 seront moins susceptibles de se produire si la musique de toutes les
155 variables est dans la même et unique tonalité.
156
157 De la même manière, prenez toujours le do comme note de départ ou
158 d'arrivée.  Ceci aura pour simple conséquence que les autres tonalités
159 que vous utiliserez seront celles propres à chacun des instruments --
160 sib pour une trompette en si bémol, ou lab pour une clarinette en la bémol.
161
162 @end itemize
163
164
165 @node Projets d'envergure
166 @section Projets d'envergure
167 @translationof Large projects
168
169 Lorsque l'on travaille sur un gros projet, il devient vital
170 de structurer clairement ses fichiers LilyPond.
171
172 @itemize @bullet
173
174 @item @strong{Utilisez un identificateur pour chaque voix},
175 avec un minimum de structure dans la définition.  La structure de la
176 section @code{\score} est la plus susceptible de changer, notamment
177 dans une nouvelle version de LilyPond, alors que la définition du
178 @code{violon} l'est beaucoup moins.
179
180 @example
181 violin = \relative c'' @{
182 g4 c'8. e16
183 @}
184 ...
185 \score @{
186  \new GrandStaff @{
187    \new Staff @{
188      \violin
189    @}
190  @}
191 @}
192 @end example
193
194 @item @strong{Séparez les retouches} des définitions de musique.
195 Nous vous avons déjà invité à adopter une telle pratique, qui
196 par ailleurs devient vitale pour des projets d'importance.  Nous
197 pouvons avoir besoin de changer la définition de
198 @code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire
199 qu'une seule fois, et nous pourrons encore éviter de
200 modifier quoi que ce soit à l'intérieur de la définition
201 du @code{violon}.
202
203 @example
204 fpuisp = _\markup@{
205  \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
206 violin = \relative c'' @{
207 g4\fpuisp c'8. e16
208 @}
209 @end example
210
211 @end itemize
212
213
214 @node Résolution de problèmes
215 @section Résolution de problèmes
216 @translationof Troubleshooting
217
218 Tôt ou tard, vous écrirez un fichier que LilyPond ne peut pas
219 compiler.  Les messages que LilyPond affiche peuvent vous aider à
220 trouver l'erreur, mais dans beaucoup de cas vous aurez besoin de faire
221 quelques recherches pour déterminer la source du problème.
222
223 Pour ce faire, les outils les plus puissants sont le commentaire de
224 fin de ligne, indiqué par @code{%}, et le commentaire multilignes (ou
225 bloc de commentaire), indiqué par @code{%@{ ... %@}}.  Si vous ne
226 pouvez localiser le problème, commencez par mettre en commentaire de
227 grandes parties de votre fichier source.  Après avoir mis en
228 commentaire une section, essayez de compiler à nouveau.  Si cela
229 fonctionne, c'est que le problème se situe dans cette partie du
230 fichier.  Si cela ne fonctionne pas, continuez à mettre en commentaire
231 d'autres sections, jusqu'à ce que vous ayez quelque chose qui compile.
232
233 Dans un cas extrême, vous pourriez en arriver à
234
235 @example
236 \score @{
237   <<
238     % \melodie
239     % \harmonie
240     % \basse
241   >>
242   \layout@{@}
243 @}
244 @end example
245
246 @noindent
247 c'est-à-dire un fichier sans aucune musique.
248
249 Si cela se produit, ne vous découragez pas.  Décommentez un peu, la
250 partie de basse par exemple, et voyez si ça fonctionne.  Si ce n'est pas
251 le cas, placez en commentaire toute la partie de basse, mais laissez
252 @code{\basse} décommenté dans le bloc @code{\score}.
253
254 @example
255 basse = \relative c' @{
256 %@{
257   c4 c c c
258   d d d d
259 %@}
260 @}
261 @end example
262
263 Maintenant commencez à décommenter petit à petit le partie de
264 @code{basse} jusqu'à ce que vous localisiez la ligne qui pose
265 problème.
266
267 Une autre technique de débogage très utile est la construction
268 d'un @rwebnamed{Exemples minimaux,exemple minimaliste}.
269
270
271
272
273 @node De la commande make et des fichiers Makefile
274 @section De la commande @command{make} et des fichiers @code{Makefile}
275 @translationof Make and Makefiles
276
277 @cindex makefiles
278 @cindex make
279
280 La plupart des plates-formes sur lesquelles tourne LilyPond disposent
281 d'un logiciel appelé @code{make}.  Ce logiciel va lire un fichier
282 spécial, nommé @code{Makefile}, qui contient tout ce qu'il
283 faut -- les dépendances entre certains fichiers, les instructions
284 successives à traiter par le système -- pour aboutir au fichier que
285 vous désirez obtenir.  Il pourrait par exemple contenir tout ce qu'il
286 faut pour produire @file{ballade.pdf} et @file{ballade.midi} à partir de
287 @file{ballade.ly} en lançant LilyPond.
288
289 La création d'un @code{Makefile} peut se révéler pertinente pour
290 certains projets, que ce soit par simple goût personnel ou bien par
291 respect de ceux qui pourront accéder à vos sources.  Cette manière de
292 procéder est particulièrement indiquée lorsque vous travaillez sur un
293 projet de grande envergure impliquant de nombreuses inclusions de
294 fichiers et différentes éditions -- par exemple un conducteur et un
295 matériel d'orchestre complet avec la partition pour le chef et une
296 partition séparée pour chacun des pupitres -- ou bien si votre projet
297 requiert certaines commandes particulières comme @code{lilypond-book}.
298 Les @emph{Makefiles} varient tant en complexité qu'en flexibilité selon
299 les besoin et les aptitudes de celui qui les crée.  Le programme GNU Make
300 est installé par défaut sur les distributions Linux et sur MacOS@tie{}X,
301 et il en existe une version pour les environnements Windows.
302
303 Consultez le @strong{GNU Make Manual} pour plus de détails sur ce dont
304 @code{make} est capable -- vous pourrez même en trouver des versions
305 françaises à l'aide des moteurs de recherche --, dans la mesure où ce
306 qui suit ne donne qu'un bref apperçu de ses possibilités.
307
308 Les commandes permettant de définir les règles diffèrent selon la
309 plate-forme@tie{}: si les différents Linux et MacOS@tie{}X utilisent
310 @code{bash}, Windows utilise @code{cmd}.  Dans le cas de MacOS@tie{}X,
311 vous devrez toutefois configurer votre système de telle sorte qu'il
312 utilise l'interpréteur en ligne de commande.  Voici quelques exemples de
313 fichier @emph{Makefile}, avec une version pour Linux ou MacOS et une
314 pour Windows.
315
316 Pour commencer, une pièce à quatre mouvements pour orchestre et dont les
317 fichiers sont répartis selon l'arborescence suivante@tie{}:
318
319 @example
320 Symphonie/
321 |-- MIDI/
322 |-- Makefile
323 |-- Notes/
324 |   |-- alto.ily
325 |   |-- cor.ily
326 |   |-- cello.ily
327 |   |-- figures.ily
328 |   |-- hautbois.ily
329 |   |-- trioCordes.ily
330 |   |-- violonOne.ily
331 |   `-- violonTwo.ily
332 |-- Partitions/
333 |   |-- symphonie.ly
334 |   |-- symphonieI.ly
335 |   |-- symphonieII.ly
336 |   |-- symphonieIII.ly
337 |   `-- symphonieIV.ly
338 |-- PDF/
339 |-- Pupitres/
340 |   |-- symphon-alto.ly
341 |   |-- symphonie-cello.ly
342 |   |-- symphonie-cor.ly
343 |   |-- symphonie-hautbois.ly
344 |   |-- symphonie-violonUn.ly
345 |   `-- symphonie-violonDeux.ly
346 `-- symphonieDefs.ily
347 @end example
348
349 Les fichiers @file{.ly} des répertoires @code{Partitions} et
350 @code{Pupitres} récupèreront la notation des fichiers @file{.ily}
351 contenus dans le répertoire @code{Notes}@tie{}:
352
353 @example
354 %%% début du fichier "symphone-cello.ly"
355 \include ../symphonieDefs.ily
356 \include ../Notes/cello.ily
357 @end example
358
359 Le @emph{Makefile} répertorie des cibles correspondant à @code{score}
360 (l'intégrale au format conducteur), @code{mouvements} (chacun des
361 mouvements au format conducteur) et @code{pupitres} (une partition par
362 pupitre).  Il contient aussi une cible @code{archive} chargée de générer
363 une archive des fichiers source qui pourra être diffusée sur la toile ou
364 transmise par courriel.  Voici ce que contiendrait ce @emph{Makefile}
365 pour Linux ou MacOS@tie{}X.  Ce fichier doit être enregistré sous le nom
366 de @code{Makefile} à la racine du projet -- ici @code{Symphonie}.
367
368 @warning{Lorsque vous définissez une cible ou une règle sur plusieurs
369 lignes, les lignes à partir de la deuxième @strong{doivent} débuter par
370 une tabulation, non pas par des espaces.}
371
372 @example
373 # Le préfixe au nom des fichiers résultants
374 piece = symphonie
375 # Détermination du nombre de processeurs
376 CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//`
377 # La commande d'appel à lilypond
378 LILY_CMD = lilypond -ddelete-intermediate-files \
379                     -dno-point-and-click -djob-count=$(CPU_CORES)
380
381 # Les suffixes utilisés dans ce Makefile
382 .SUFFIXES: .ly .ily .pdf .midi
383
384 # Les fichiers sources et résultants sont recherchés dans les répertoires
385 # listés dans la variable VPATH.  Ceux-ci sont tous des sous-répertoires
386 # du répertoire courant (fourni par la variable de GNU make `CURDIR').
387 VPATH = \
388   $(CURDIR)/Partitions \
389   $(CURDIR)/PDF \
390   $(CURDIR)/Pupitres \
391   $(CURDIR)/Notes
392
393 # La règle type pour créer un PDF et un MIDI à partir d'un fichier
394 # source LY.
395 # Les .pdf résultants iront dans le sous-répertoire "PDF" et les fichiers
396 # .midi dans le sous-répertoire "MIDI".
397 %.pdf %.midi: %.ly
398         $(LILY_CMD) $<; \           # cette ligne commence par une tabulation
399         if test -f "$*.pdf"; then \
400             mv "$*.pdf" PDF/; \
401         fi; \
402         if test -f "$*.midi"; then \
403             mv "$*.midi" MIDI/; \
404         fi
405
406 notes = \
407   alto.ily \
408   cello.ily \
409   cor.ily \
410   hautbois.ily \
411   violonUn.ily \
412   violonDeux.ily
413
414 # Les dépendances selon le mouvement.
415 $(piece)I.pdf: $(piece)I.ly $(notes)
416 $(piece)II.pdf: $(piece)II.ly $(notes)
417 $(piece)III.pdf: $(piece)III.ly $(notes)
418 $(piece)IV.pdf: $(piece)IV.ly $(notes)
419
420 # Les dépendances pour la partition intégrale.
421 $(piece).pdf: $(piece).ly $(notes)
422
423 # Les dépendances pour les pupitres.
424 $(piece)-alto.pdf: $(piece)-alto.ly alto.ily
425 $(piece)-cello.pdf: $(piece)-cello.ly cello.ily
426 $(piece)-cor.pdf: $(piece)-cor.ly cor.ily
427 $(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily
428 $(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
429 $(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
430
431 # Lancer `make score' pour générer l'intégrale des quatre mouvements en
432 # un seul fichier.
433 .PHONY: score
434 score: $(piece).pdf
435
436 # Lancer `make parties' pour obtenir tous les pupitres.
437 # Lancer `make toto.pdf' pour obtenir la partie instrumentale de toto.
438 # Par exemple : `make symphonie-cello.pdf'.
439 .PHONY: parties
440 parties: $(piece)-cello.pdf \
441          $(piece)-violonUn.pdf \
442          $(piece)-violonDeux.pdf \
443          $(piece)-alto.pdf \
444          $(piece)-hautbois.pdf \
445          $(piece)-cor.pdf
446
447 # Lancer `make mouvements' pour générer un fichier séparé pour chacun
448 # des mouvements.
449 .PHONY: mouvements
450 mouvements: $(piece)I.pdf \
451             $(piece)II.pdf \
452             $(piece)III.pdf \
453             $(piece)IV.pdf
454
455 all: score parties mouvements
456
457 archive:
458         tar -cvvf symphonie.tar \      # cette ligne commence par une tabulation
459         --exclude=*pdf --exclude=*~ \
460         --exclude=*midi --exclude=*.tar \
461         ../Symphonie/*
462 @end example
463
464
465 Les choses se compliquent sous Windows.  Une fois GNU Make pour Windows
466 téléchargé et installé, il vous faudra correctement définir le chemin
467 d'accès au programme @emph{Make} -- dans les variables d'environnement
468 du système --  afin que l'interpréteur de commandes DOS puisse le
469 localiser.  Pour cela, faites un clic droite sur @qq{Poste de travail},
470 choisissez @code{Propriétés} puis @code{Avancées}.  Cliquez sur
471 @code{Variables d'environnement} puis, dans l'onglet
472 @code{Variables@tie{}système}, mettez @code{path} en surbrillance et
473 cliquez sur @code{Modifier}.  Ajoutez alors le chemin d'accès complet à
474 l'exécutable de GNU Make, qui devrait ressembler à@tie{}:
475
476 @example
477 C:\Program Files\GnuWin32\bin
478 @end example
479
480 Il va également falloir adapter le @emph{makefile} aux particularités de
481 l'interpréteur de commandes et à la présence d'espaces dans le nom de
482 certains répertoire de ce système.
483 La cible @code{archive} est tout bonnement supprimée, puisque Windows ne
484 dispose pas de la commande @code{tar}.  Enfin, les fichiers MIDI ont une
485 extension par défaut propre à Windows.
486
487
488 @example
489 ## VERSION POUR WINDOWS
490 ##
491 piece = symphonie
492 LILY_CMD = lilypond -ddelete-intermediate-files \
493                     -dno-point-and-click \
494                     -djob-count=$(NUMBER_OF_PROCESSORS)
495
496 #get the 8.3 name of CURDIR (workaround for spaces in PATH)
497 workdir = $(shell for /f "tokens=*" %%b in ("$(CURDIR)") \
498           do @@echo %%~sb)
499
500 .SUFFIXES: .ly .ily .pdf .mid
501
502 VPATH = \
503   $(workdir)/Partitions \
504   $(workdir)/PDF \
505   $(workdir)/Pupitress \
506   $(workdir)/Notes
507
508 %.pdf %.mid: %.ly
509         $(LILY_CMD) $<      # cette ligne commence par une tabulation
510         if exist "$*.pdf"  move /Y "$*.pdf"  PDF/ # tabulation au début
511         if exist "$*.mid" move /Y "$*.mid" MIDI/  # tabulation au début
512
513 notes = \
514   cello.ily \
515   figures.ily \
516   cor.ily \
517   hautbois.ily \
518   trioCordes.ily \
519   alto.ily \
520   violonUn.ily \
521   violonDeux.ily
522
523 $(piece)I.pdf: $(piece)I.ly $(notes)
524 $(piece)II.pdf: $(piece)II.ly $(notes)
525 $(piece)III.pdf: $(piece)III.ly $(notes)
526 $(piece)IV.pdf: $(piece)IV.ly $(notes)
527
528 $(piece).pdf: $(piece).ly $(notes)
529
530 $(piece)-cello.pdf: $(piece)-cello.ly cello.ily
531 $(piece)-cor.pdf: $(piece)-cor.ly cor.ily
532 $(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily
533 $(piece)-alto.pdf: $(piece)-alto.ly alto.ily
534 $(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
535 $(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
536
537 .PHONY: score
538 score: $(piece).pdf
539
540 .PHONY: parties
541 parties: $(piece)-cello.pdf \
542          $(piece)-violonUn.pdf \
543          $(piece)-violonDeux.pdf \
544          $(piece)-alto.pdf \
545          $(piece)-hautbois.pdf \
546          $(piece)-cor.pdf
547
548 .PHONY: mouvements
549 mouvements: $(piece)I.pdf \
550            $(piece)II.pdf \
551            $(piece)III.pdf \
552            $(piece)IV.pdf
553
554 all: score parties mouvements
555 @end example
556
557
558 Le @emph{Makefile} suivant convient pour un document
559 @command{lilypond-book} réalisé avec @LaTeX{}.  Ce projet contiendra un
560 index, ce qui nécessitera de lancer une deuxième fois @command{latex}
561 pour mettre à jour les liens.  Les fichiers résultants iront dans le
562 répertoire @code{out} pour ce qui est des .pdf et dans le répertoire
563 @code{htmlout} pour ce qui est du html.
564
565 @example
566 SHELL=/bin/sh
567 FILE=monprojet
568 OUTDIR=out
569 WEBDIR=htmlout
570 VIEWER=acroread
571 BROWSER=firefox
572 LILYBOOK_PDF=lilypond-book --output=$(OUTDIR) --pdf $(FILE).lytex
573 LILYBOOK_HTML=lilypond-book --output=$(WEBDIR) $(FILE).lytex
574 PDF=cd $(OUTDIR) && pdflatex $(FILE)
575 HTML=cd $(WEBDIR) && latex2html $(FILE)
576 INDEX=cd $(OUTDIR) && makeindex $(FILE)
577 PREVIEW=$(VIEWER) $(OUTDIR)/$(FILE).pdf &
578
579 all: pdf web keep
580
581 pdf:
582         $(LILYBOOK_PDF)  # tabulation en début de ligne
583         $(PDF)           # tabulation en début de ligne
584         $(INDEX)         # tabulation en début de ligne
585         $(PDF)           # tabulation en début de ligne
586         $(PREVIEW)       # tabulation en début de ligne
587
588 web:
589         $(LILYBOOK_HTML) # tabulation en début de ligne
590         $(HTML)          # tabulation en début de ligne
591         cp -R $(WEBDIR)/$(FILE)/ ./  # tabulation en début de ligne
592         $(BROWSER) $(FILE)/$(FILE).html &  # tabulation en début de ligne
593
594 keep: pdf
595         cp $(OUTDIR)/$(FILE).pdf $(FILE).pdf  # tabulation en début de ligne
596
597 clean:
598         rm -rf $(OUTDIR) # tabulation en début de ligne
599
600 web-clean:
601         rm -rf $(WEBDIR) # tabulation en début de ligne
602
603 archive:
604         tar -cvvf monprojet.tar \ # tabulation en début de ligne
605         --exclude=out/* \
606         --exclude=htmlout/* \
607         --exclude=monprojet/* \
608         --exclude=*midi \
609         --exclude=*pdf \
610         --exclude=*~ \
611         ../MonProjet/*
612 @end example
613
614 AVENIR: faire que ça marche sous Windows
615
616 Ce @emph{makefile} n'est malheureusement pas opérationnel sous Windows.
617 La seule alternative qui s'offre aux utilisateurs de Windows consiste à
618 créer un fichier de traitement par lot (@code{.bat}) qui contienne les
619 différentes commandes successives.  Bien que cette manière de procéder
620 ne tienne aucun compte des dépendances entre fichiers, elle permet de
621 réduire le nombre de processus à lancer dans une seule commande.  Vous
622 devrez enregistrer les lignes suivantes dans un fichier
623 @code{construire.bat} ou @code{construire.cmd}.  Ce fichier pourra être
624 exécuté soit en ligne de commande, soit par un double clic sur son
625 icone.
626
627 @example
628 lilypond-book --output=out --pdf monprojet.lytex
629 cd out
630 pdflatex monprojet
631 makeindex monprojet
632 pdflatex monprojet
633 cd ..
634 copy out\monprojet.pdf MonProjet.pdf
635 @end example
636
637
638 @seealso
639 Manuel d'utilisation :
640 @ref{Utilisation en ligne de commande},
641 @ref{lilypond-book}