]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/usage/lilypond-book.itely
3c9a6a27a8e2a1187393ffe0668954c65e8313b7
[lilypond.git] / Documentation / fr / usage / lilypond-book.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2
3 @ignore
4     Translation of GIT committish: ede6552ee0a9954a6ced5922cfc0cfa2c40733af
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11
12 @c \version "2.13.36"
13
14 @c Translators: Jean-Charles Malahieude
15 @c Translation checkers:
16
17 @c Note: keep this node named so that `info lilypond-book' brings you here.
18 @node lilypond-book
19 @chapter Association musique-texte avec @command{lilypond-book}
20 @translationof lilypond-book
21
22 Vous pouvez inclure des partitions dans un document tout comme vous
23 feriez pour n'importe quelle image.  Ces images sont générées séparément
24 -- que ce soit sous forme de description PostScript ou au format PNG --
25 puis incluses dans votre document @LaTeX{} ou HTML.
26
27 @command{lilypond-book} permet d'automatiser ces opérations@tie{}: le
28 programme extrait de votre document les fragments de musique, les
29 traite grâce à @command{lilypond} puis en restitue la partition dans
30 votre document.  Largeur de ligne et taille de la fonte sont adaptées
31 pour correspondre à la mise en forme de votre document.
32
33 @command{lilypond-book} est un script indépendant de @command{lilypond}
34 et se lance en ligne de commande -- pour plus de précisions, consultez
35 @ref{Utilisation en ligne de commande}.  Si vous utilisez MacOS 10.3 ou
36 10.4 et rencontrez quelque difficulté avec @code{lilypond-book},
37 référez-vous à @rwebnamed{MacOS X,cette page}.
38
39 @command{lilypond-book} s'applique aux documents @LaTeX{}, HTML, Texinfo
40 et DocBook.
41
42 @cindex texinfo
43 @cindex latex
44 @cindex texinfo
45 @cindex texi
46 @cindex html
47 @cindex docbook
48 @cindex documents, ajout de musique
49 @cindex HTML, musique et
50 @cindex Texinfo, musique et
51 @cindex DocBook, musique et
52 @cindex @LaTeX{}, musique et
53
54
55 @menu
56 * Exemple de document musicologique::
57 * Association musique-texte::
58 * Options applicables aux fragments de musique::
59 * Utilisation de lilypond-book::
60 * Extensions de nom de fichier::
61 * Modèles pour lilypond-book::
62 * Autres méthodes d'association texte-musique::
63 @end menu
64
65
66 @node Exemple de document musicologique
67 @section Exemple de document musicologique
68 @translationof An example of a musicological document
69
70 @cindex musicologie
71
72 Un certain nombre d'ouvrages peuvent être illustrés par des extraits
73 musicaux, qu'il s'agisse d'un taité de musicologie, d'un carnet de chant
74 ou d'un manuel à l'exemple de celui que vous consultez actuellement.
75 Cet agencement peut se faire @qq{à la main} par importation d'un
76 graphique PostScript dans le traitement de texte.  Les développeurs de
77 LilyPond ont cependant créé un outil permettant d'automatiser ces
78 opérations pour ce qui concerne les documents HTML, @LaTeX{}, Texinfo et
79 DocBook.
80
81 Un script -- @code{lilypond-book} -- se charge d'extraire les fragments
82 de musique, puis de les mettre en forme avant de renvoyer la
83 @qq{partition} correspondante.  Voici un court exemple utilisable avec
84 @LaTeX{}.  Dans la mesure où il est suffisamment parlant, nous nous
85 abstiendrons de le commenter.
86
87
88 @subheading Fichier d'entrée
89
90 @quotation
91 @verbatim
92 \documentclass[a4paper]{article}
93
94 \begin{document}
95
96 Un document destiné à être traité par \verb+lilypond-book+ peut tout à
97 fait mélanger de la musique et du texte.
98 Par exemple,
99
100 \begin{lilypond}
101 \relative c' {
102   c2 e2 \times 2/3 { f8 a b } a2 e4
103 }
104 \end{lilypond}
105
106 Les options sont indiquées entre crochets.
107
108 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
109   c'4 f16
110 \end{lilypond}
111
112 Des extraits plus conséquents peuvent faire l'objet d'un fichier
113 indépendant, alors inclus avec \verb+\lilypondfile+.
114
115 \lilypondfile[quote,noindent]{screech-boink.ly}
116
117 (Si besoin, remplacez @file{screech@/-boink@/.ly} par
118 n'importe quel fichier @file{@/.ly} qui se trouve dans
119 le même répertoire que le présent fichier.)
120
121 \end{document}
122 @end verbatim
123 @end quotation
124
125
126 @subheading Traitement
127
128 Enregistrez ces lignes dans un fichier nommé @file{lilybook@/.lytex} puis,
129 dans un terminal, lancez
130
131 @c keep space after @version{} so TeX doesn't choke
132 @example
133 lilypond-book --output=out --pdf lilybook.lytex
134 @emph{lilypond-book (GNU LilyPond) @version{} }
135 @emph{Lecture de lilybook.lytex...}
136 @emph{..nous vous épargnons le verbiage de la console..}
137 @emph{Compilation de lilybook.tex...}
138 cd out
139 pdflatex lilybook
140 @emph{..nous vous épargnons le verbiage de la console..}
141 xpdf lilybook
142 @emph{(remplacez @command{xpdf} par votre lecteur de PDF habituel)}
143 @end example
144
145 Le traitement par @command{lilypond-book} puis @command{latex} va
146 générer un certain nombre de fichiers temporaires susceptibles
147 d'encombrer inutilement votre répertoire de travail, aussi nous vous
148 recommandons d'utiliser l'option @code{--output=@var{répertoire}} afin
149 que les fichiers créés soient isolés dans le sous-répertoire
150 @file{répertoire}.
151
152 Pour terminer, voici le résultat de cet exemple pour
153 @LaTeX{}.@footnote{Ce manuel étant réalisé avec Texinfo, il se peut que
154 la mise en forme diverge quelque peu.}
155
156
157 @page
158
159 @subheading Résultat
160
161 Un document destiné à être traité par @command{lilypond-book} peut tout à
162 fait mélanger de la musique et du texte.
163 Par exemple,
164
165 @lilypond
166 \relative c' {
167   c2 e2 \times 2/3 { f8 a b } a2 e4
168 }
169 @end lilypond
170
171 Les options sont indiquées entre crochets.
172
173 @lilypond[fragment,quote,staffsize=26,verbatim]
174 c'4 f16
175 @end lilypond
176
177 Des extraits plus conséquents peuvent faire l'objet d'un fichier
178 indépendant, alors inclus avec @code{\lilypondfile}.
179
180 @lilypondfile[quote,noindent]{screech-boink.ly}
181
182
183 @page
184
185 @node Association musique-texte
186 @section Association musique-texte
187 @translationof Integrating music and text
188
189 Nous allons nous intéresser, dans les lignes qui suivent, à la manière
190 d'intégrer LilyPond selon différents types de format.
191
192 @menu
193 * LaTeX::
194 * Texinfo::
195 * HTML::
196 * DocBook::
197 @end menu
198
199
200 @node LaTeX
201 @subsection @LaTeX{}
202 @translationof LaTeX
203
204 @LaTeX{} peut être considéré comme le standard de publication dans le
205 domaine des sciences exactes.  Il repose sur le moteur typographique
206 @TeX{}, le @emph{nec plus ultra} en la matière.
207
208 Consultez
209 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/french/,
210 @emph{The Not So Short Introduction to @LaTeX{}} en français} pour un
211 aperçu des possibilités de @LaTeX{}.
212
213 Il suffit, pour inclure de la musique, d'utiliser
214
215 @example
216 \begin@{lilypond@}[liste,des,options]
217   VOTRE CODE LILYPOND
218 \end@{lilypond@}
219 @end example
220
221 @noindent
222 ou
223
224 @example
225 \lilypondfile[liste,des,options]@{@var{fichier}@}
226 @end example
227
228 @noindent
229 ou encore
230
231 @example
232 \lilypond[liste,des,options]@{ VOTRE CODE LILYPOND @}
233 @end example
234
235 Par ailleurs, la commande @code{\lilypondversion} vous permet d'afficher
236 le numéro de version de LilyPond.
237 Lancer @command{lilypond-book} produira un fichier qui sera ensuite
238 traité par @LaTeX{}.
239
240 Voici quelques exemples.  L'environnement @code{lilypond}
241
242 @example
243 \begin@{lilypond@}[quote,fragment,staffsize=26]
244   c' d' e' f' g'2 g'2
245 \end@{lilypond@}
246 @end example
247
248 @noindent
249 produit
250
251 @lilypond[quote,fragment,staffsize=26]
252 c' d' e' f' g'2 g'2
253 @end lilypond
254
255 La version abrégée
256
257 @example
258 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
259 @end example
260
261 @noindent
262 produit
263
264 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
265
266 @noindent
267 Dans l'état actuel des choses, il n'est pas possible d'inclure des
268 accolades -- @code{@{} ou @code{@}} -- dans un
269 @code{\lilypond@{@}}@tie{}; cette commande n'est donc pertinente que
270 lorsque conjuguée à l'option @code{fragment}.
271
272 La longueur par défaut des portées sera ajustée en fonction des
273 commandes contenues dans le préambule du document -- ce qui précède la
274 ligne @code{\begin@{document@}}.  La commande @code{lilypond-book} les
275 transmet à @LaTeX{} afin de connaître la largeur du texte, et par voie
276 de conséquence déterminer la longueur des portées.  Notez bien que cet
277 algorithme heuristique n'est pas infaillible@tie{}; vous devrez alors
278 recourir à l'option @code{line-width}.
279
280 @cindex titrage et lilypond-book
281 @cindex \header et documents @LaTeX{}
282
283 Dès lors qu'elles auront été définies dans votre document, les macros
284 suivantes seront appelées avant chaque extrait musical@tie{}:
285
286 @itemize @bullet
287 @item @code{\preLilyPondExample} avant la musique,
288
289 @item @code{\postLilyPondExample} après la musique,
290
291 @item @code{\betweenLilyPondSystem[1]} entre les systèmes, si tant est
292 que @code{lilypond-book} a découpé la partition en plusieurs fichiers
293 PostScript.  Elle requiert un paramètre et reçoit le nombre de fichiers
294 inclus dans l'extrait.  Par défaut, elle insert simplement un
295 @code{\linebreak}.
296 @end itemize
297
298 @ignore
299 Broken stuff.  :(
300
301 @cindex Latex, feta symbols
302 @cindex fetachar
303
304 To include feta symbols (such as flat, segno, etc) in a LaTeX
305 document, use @code{\input@{titledefs@}}
306
307 @example
308 \documentclass[a4paper]@{article@}
309
310 \input@{titledefs@}
311
312 \begin@{document@}
313
314 \fetachar\fetasharp
315
316 \end@{document@}
317 @end example
318
319 The font symbol names are defined in the file feta20.tex; to find
320 the location of this file, use the command
321
322 @example
323 kpsewhich feta20.tex
324 @end example
325
326 @end ignore
327
328 @snippets
329
330 Lorsque, pour les besoins de la démonstration, certains éléments
331 musicaux tels que des liaisons -- de phrasé ou de prolongation --
332 continuent après le fragment qui vous intéresse, il suffit d'insérer un
333 saut de ligne et de limiter le nombre de systèmes à inclure.
334
335 En ce qui concerne @LaTeX{}, vous devrez définir
336 @code{\betweenLilyPondSystem} de telle sorte que l'inclusion cesse dès
337 que le nombre de systèmes requis est atteint.  Dans la mesure où
338 @code{\betweenLilyPondSystem} n'est appelé qu'@strong{après} le premier
339 système, inclure un seul système est un jeu d'enfant@tie{}:
340
341 @example
342 \def\betweenLilyPondSystem#1@{\endinput@}
343
344 \begin@{lilypond@}[fragment]
345   c'1\( e'( c'~ \break c' d) e f\)
346 \end@{lilypond@}
347 @end example
348
349 Pour un plus grand nombre de systèmes, il suffit d'insérer un test
350 conditionnel @TeX{} avant le @code{\endinput}.  À partir de l'exemple
351 qui suit, remplacez le @qq{2} par le nombre de systèmes dont vous aurez
352 besoin@tie{}:
353
354 @example
355 \def\betweenLilyPondSystem#1@{
356     \ifnum##1<2\else\expandafter\endinput\fi
357 @}
358 @end example
359
360 @noindent
361 Étant donné que @code{\endinput} arrête immédiatement le traitement du
362 fichier source en cours, l'insertion du @code{\expandafter} permet de
363 repousser ce @code{\endinput} après le @code{\fi}@tie{}; la clause
364 @w{@code{\if-\fi}} sera alors respectée.
365
366 Gardez à l'esprit que @code{\betweenLilyPondSystem} est effectif tant
367 que @TeX{} n'est pas sorti du groupe en cours -- tel que
368 l'environnement @LaTeX{} -- ou écrasé par une nouvelle définition pour
369 la suite du document la plupart du temps.  Pour réinitialiser cette
370 définition, insérez
371
372 @example
373 \let\betweenLilyPondSystem\undefined
374 @end example
375
376 @noindent
377 dans votre document @LaTeX{}.
378
379 La création d'une macro @TeX{} permet de se simplifier la vie@tie{}:
380
381 @example
382 \def\onlyFirstNSystems#1@{
383     \def\betweenLilyPondSystem##1@{%
384       \ifnum##1<#1\else\expandafter\endinput\fi@}
385 @}
386 @end example
387
388 @noindent
389 Il suffit alors, avant chacun des fragments à inclure, de spécifier le
390 nombre de systèmes requis@tie{}:
391
392 @example
393 \onlyFirstNSystems@{3@}
394 \begin@{lilypond@}...\end@{lilypond@}
395 \onlyFirstNSystems@{1@}
396 \begin@{lilypond@}...\end@{lilypond@}
397 @end example
398
399
400 @seealso
401 @command{lilypond-book} dispose d'options en ligne de commande
402 particulières.  Elles sont consultables, ainsi que d'autres détails
403 spécifiques au traitement de documents @LaTeX{}, au chapitre
404 @ref{Utilisation de lilypond-book}.
405
406
407 @node Texinfo
408 @subsection Texinfo
409 @translationof Texinfo
410
411 Texinfo est le format standard pour toute la documentation du projet
412 GNU.  À titre d'exemple, toute la documentation de LilyPond -- qu'il
413 s'agisse des versions HTML, PDF ou info -- est générée à partir de
414 documents Texinfo.
415
416 Dans le fichier source, on spécifie qu'il s'agit de musique avec
417
418 @example
419 @@lilypond[liste,des,options]
420   VOTRE CODE LILYPOND
421 @@end lilypond
422 @end example
423
424 @noindent
425 ou
426
427 @example
428 @@lilypond[liste,des,options]@{ VOTRE CODE LILYPOND @}
429 @end example
430
431 @noindent
432 ou bien encore
433
434 @example
435 @@lilypondfile[liste,des,options]@{@var{fichier}@}
436 @end example
437
438 Par ailleurs, l'utilisation d'un @code{@@lilypondversion} permet
439 d'afficher la version de LilyPond utilisée.
440
441 Le traitement du fichier source par @command{lilypond-book} génère un
442 fichier Texinfo (extension @file{@/.itexi}) qui contiendra les balises
443 @code{@@image} pour les formats HTML, Info ou imprimable.  Les images
444 générées par @command{lilypond-book} sont au format EPS et PDF en vue
445 d'une impression, et au format PNG pour leur utilisation en HTML ou
446 Info.
447
448 En voici deux exemples.  Un environnement @code{lilypond}
449
450 @example
451 @@lilypond[fragment]
452 c' d' e' f' g'2 g'
453 @@end lilypond
454 @end example
455
456 @noindent
457 produit
458
459 @lilypond[fragment]
460 c' d' e' f' g'2 g'
461 @end lilypond
462
463 La version abrégée
464
465 @example
466 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
467 @end example
468
469 @noindent
470 produit
471
472 @lilypond[fragment,staffsize=11]{<c' e' g'>}
473
474 Contrairement à @LaTeX{}, @code{@@lilypond@{@dots{}@}} ne va pas
475 intégrer d'image dans le document, mais générer un paragraphe.
476
477
478 @node HTML
479 @subsection HTML
480 @translationof HTML
481
482 Il suffit, pour inclure de la musique, d'utiliser
483
484 @example
485 <lilypond fragment relative=2>
486 \key c \minor c4 es g2
487 </lilypond>
488 @end example
489 @noindent
490 @command{lilypond-book} produira alors un fichier HTML contenant les
491 balises d'image pour les fragments de musique@tie{}:
492
493 @lilypond[fragment,relative=2]
494 \key c \minor c4 es g2
495 @end lilypond
496
497 Pour insérer l'image au fil du texte, il suffit d'utiliser
498 @code{<lilypond @dots{} />}, tout en séparant options et musique par un
499 caractère deux points, comme ici@tie{}:
500
501 @example
502 De la musique <lilypond relative=2: a b c/> au milieu d'une ligne de texte.
503 @end example
504
505 Lorsque l'inclusion  concerne des fichiers indépendants, utilisez
506
507 @example
508 <lilypondfile @var{option1} @var{option2} ...>@var{fichier}</lilypondfile>
509 @end example
510
511 Une liste des différentes options utilisables avec les balises
512 @code{lilypond} et @code{lilypondfile} est disponible, à la rubrique
513 @ref{Options applicables aux fragments de musique}.
514
515 Par ailleurs, la commande @code{\lilypondversion} vous permet d'afficher
516 le numéro de version de LilyPond.
517
518 @cindex titrage et HTML
519 @cindex prévisualisation d'image
520 @cindex thumbnail
521
522
523 @node DocBook
524 @subsection DocBook
525 @translationof DocBook
526
527 L'inclusion de documents LilyPond ne doit nuire en rien à la conformité
528 du document DocBooK@tie{}; l'utilisation d'éditeurs spécialisés ainsi
529 que d'outils de validation en sera ainsi préservée.  C'est la raison
530 pour laquelle nous ne définirons pas de balise spécifique@tie{}; nous
531 respecterons plutôt les conventions des éléments standards de DocBook.
532
533
534 @subheading Conventions communes
535
536 Quel que soit le type d'extrait à inclure, nous utiliserons les
537 éléments @code{mediaobject} et @code{inlinemediaobject}, de telle sorte
538 que ces inclusions soient incorporées directement ou non dans le
539 document final.  Les options de formatage des extraits en question sont
540 fournies par la propriété @code{role} de l'élément central -- voir les
541 paragraphes suivants.  Les balises sont déterminées de manière à ce que
542 les éditeurs DocBook prennent en charge du mieux possible leur contenu.
543 Les fichiers DocBook destinés à un traitement par
544 @command{lilypond-book} doivent avoir une extension @file{@/.lyxml}.
545
546
547 @subheading Inclusion d'un fichier LilyPond
548
549 Il s'agit en fait du cas le plus simple.  Le fichier à inclure doit
550 avoir une extension @file{@/.ly} et sera inséré comme n'importe quel
551 @code{imageobject}, en respectant la structure suivante@tie{}:
552
553 @example
554 <mediaobject>
555   <imageobject>
556     <imagedata fileref="music1.ly" role="printfilename" />
557   </imageobject>
558 </mediaobject>
559 @end example
560
561 Vous pouvez utiliser, en tant que balise externe, aussi bien
562 @code{mediaobject} que @code{inlinemediaobject}.
563
564
565 @subheading Inclusion de code LilyPond
566
567 L'inclusion de code LilyPond se réalise à l'aide d'un
568 @code{programlisting} auquel on associe le langage @code{lilypond}.  En
569 voici la syntaxe@tie{}:
570
571 @example
572 <inlinemediaobject>
573   <textobject>
574     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
575 \context Staff \with @{
576   \remove Time_signature_engraver
577   \remove Clef_engraver@}
578   @{ c4( fis) @}
579     </programlisting>
580   </textobject>
581 </inlinemediaobject>
582 @end example
583
584 Comme vous le remarquez, la balise externe -- qu'il s'agisse d'un
585 @code{mediaobject} ou d'un @code{inlinemediaobject} -- comporte un bloc
586 @code{textobject} qui contiendra le @code{programlisting}.
587
588
589 @subheading Génération du document DocBook
590
591 @command{lilypond-book} génère, à partir d'un fichier @file{@/.lyxml}, un
592 document DocBook tout à fait valide -- extension @file{@/.xml} -- que vous
593 pourrez ensuite traiter avec votre application habituelle.  Dans le cas
594 de @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, vous
595 obtiendrez alors automatiquement un fichier PDF.  Les feuilles de style
596 XSL@tie{}DocBook officielles permettent de générer du HTML (HTML Help,
597 JavaHelp etc.)@tie{}; vous pourriez néanmoins devoir y apporter quelques
598 adaptations.
599
600
601 @node Options applicables aux fragments de musique
602 @section Options applicables aux fragments de musique
603 @translationof Music fragment options
604
605 Dans les lignes qui suivent, l'appellation @qq{commande LilyPond} fait
606 référence à toutes celles vues plus haut et qui font appel à
607 @command{lilypond-book} pour produire un extrait musical.  Pour plus de
608 simplicité, nous ne parlerons que de la syntaxe applicable à @LaTeX{}.
609
610 Nous attirons votre attention sur le fait que les différentes options
611 sont lues de la gauche vers la droite.  Si une option est transmise
612 plusieurs fois, seule la dernière sera prise en compte.
613
614 Les commandes LilyPond acceptent les options suivantes@tie{}:
615
616 @table @code
617 @item staffsize=@var{hauteur}
618 Définit la taille de portée à @var{hauteur} exprimée en points.
619
620 @item ragged-right
621 Produit des lignes en pleine largeur avec un espacement naturel.  En
622 d'autres termes, sera ajoutée la commande de mise en forme
623 @w{@code{ragged-right = ##t}}.  Il s'agit de l'option par défaut de la
624 commande @code{\lilypond@{@}} en l'absence d'option @code{line-width}.
625 C'est aussi l'option par défaut pour l'environnement @code{lilypond}
626 lorsque l'option @code{fragment} est activée sans avoir défini
627 explicitement de longueur de ligne.
628
629 @item noragged-right
630 Dans le cas où l'extrait tient sur une seule ligne, la portée sera
631 étirée pour correspondre à la longueur de ligne du texte.  Autrement
632 dit, la commande de mise en forme @code{ragged-right = ##f} s'ajoute à
633 l'extrait LilyPond.
634
635 @item line-width
636 @itemx line-width=@var{taille}\@var{unité}
637 Détermine la longueur de ligne à @var{taille}, exprimée en @var{unité}.
638 @var{unité} peut prendre les valeurs @code{cm}, @code{mm}, @code{in} ou
639 @code{pt}.  Cette option n'affectera que le résultat de LilyPond -- la
640 longueur de la portée -- et en aucun cas la mise en forme du texte.
641
642 En l'absence d'argument, la longueur de ligne sera définie à une valeur
643 par défaut telle que calculée par un algoritme heuristique.
644
645 Lorsque l'option @code{line-width} n'est pas utilisée,
646 @command{lilypond-book} tentera de déterminer des valeurs par défaut
647 pour les cas où les environnements @code{lilypond} ne font pas appel à
648 @code{ragged-right}.
649
650 @item notime
651 Désactive l'impression des métriques et barres de mesure pour
652 l'intégralité de la partition.
653
654 @item fragment
655 Laisse à @command{lilypond-book} le soin d'ajouter ce qui est
656 indispensable, de telle sorte que vous pouvez vous contenter d'un
657
658 @example
659 c'4
660 @end example
661
662 @noindent
663 sans @code{\layout}, @code{\score}, etc.
664
665 @item nofragment
666 N'ajoute rien à ce qui se trouve dans l'environnement LilyPond.  À noter
667 qu'il s'agit de l'option par défaut.
668
669 @item indent=@var{taille}\@var{unité}
670 Définit l'indentation du premier système à @var{taille}, exprimée en
671 @var{unité} -- @code{cm}, @code{mm}, @code{in} ou @code{pt}.  Cette
672 option n'affecte que LilyPond, et en aucun cas la mise en forme du
673 texte.
674
675 @item noindent
676 Ramène l'indentation du premier système à zéro.  Cette option n'affecte
677 que LilyPond, et en aucun cas la mise en forme du texte.  Dans la mesure
678 où il s'agit du comportement par défaut, point n'est besoin de spécifier
679 @code{noindent}.
680
681 @item quote
682 Réduit la longueur des lignes musicales de @math{2*0.4}@dmn{in} (soit
683 @math{2 * 10,16}@tie{}@dmn{mm}) pour renvoyer l'extrait dans un bloc de
684 citation.  La valeur @qq{0,4@tie{}pouce} est contrôlée par l'option
685 @code{exampleindent}.
686
687 @item exampleindent
688 Détermine la valeur de l'indentation qui sera utilisée par l'option
689 @code{quote}.
690
691 @item relative
692 @itemx relative=@var{n}
693 Utilise le mode d'octave relative.  Les notes sont donc par défaut
694 positionnées relativement au do central.  L'argument -- un nombre entier
695 -- fourni à l'option @code{relative} spécifie l'octave de départ de
696 l'extrait@tie{}; @code{1} correspond au do central.  Cette option
697 @code{relative} n'a d'effet que si elle est utilisée en combinaison avec
698 l'option @code{fragment}@tie{}; autrement dit, l'option @code{fragment}
699 est implicite dès lors que @code{relative} est explicité.
700 @end table
701
702
703 La documentation de LilyPond, comme nous l'avons déjà vu, use
704 abondamment de @command{lilypond-book}.  Elle utilise à cet effet
705 quelques options particulières.
706
707 @table @code
708 @item verbatim
709 L'argument de la commande LilyPond est recopié textuellement dans le
710 fichier généré, avant l'image de la partition.  Cependant, cette option
711 n'est pas pleinement opérationnelle lorsqu'un @code{\lilypond@{@}} se
712 trouve au milieu d'un paragraphe.
713
714 L'utilisation conjointe d'un @code{verbatim} et de la commande
715 @code{lilypondfile} permet de n'inclure textuellement qu'une seule
716 partie du fichier source.  @code{lilypond-book} reproduira alors
717 textuellement la partie du fichier source comprise entre les
718 commentaires @code{begin@tie{}verbatim} et éventuellement
719 @code{end@tie{}verbatim}.  Si l'on considère le fichier source suivant,
720 la musique sera interprétée en mode relatif, mais la recopie du code ne
721 comportera pas l'assertion du bloc @code{relative}@tie{}:
722
723 @example
724 \relative c' @{ % begin verbatim
725   c4 e2 g4
726   f2 e % end verbatim
727 @}
728 @end example
729
730 @noindent
731 donnera dans un bloc @emph{verbatim} précédant la partition@tie{}:
732
733 @example
734   c4 e2 g4
735   f2 e
736 @end example
737
738 @noindent
739 Si d'aventure vous désirez traduire les commentaires et noms de
740 variable dans le rendu textuel plutôt que dans le fichier source, vous
741 devrez définir la variable d'environnement @code{LYDOC_LOCALEDIR} qui
742 pointera vers un répertoire contenant l'arborescence des catalogues de
743 messages -- fichiers d'extension @code{.mo} -- du domaine
744 @code{lilypond-doc}.
745
746 @item addversion
747 Cette option, effective uniquement pour Texinfo, permet d'ajouter une
748 ligne @code{\version @@w@{"@@version@{@}"@}} au @code{verbatim}.
749
750 @item texidoc
751 Option disponible uniquement pour Texinfo.@*
752 Dès lors qu'un fichier @code{toto@/.ly} contient dans sa section
753 @code{\header} la variable @code{texidoc}, l'appel de @command{lilypond}
754 avec l'option @option{--header=@/texidoc} créera le fichier
755 @code{toto@/.texidoc}.  Par ailleurs, c'est le contenu de ce
756 @code{toto@/.texidoc} qui sera ensuite recopié par
757 @command{lilypond-book} en préambule de l'extrait de partition.
758
759 Prenons par exemple le fichier @file{toto@/.ly} dont le contenu est
760
761 @example
762 \header @{
763   texidoc = "This file demonstrates a single note."
764 @}
765 @{ c'4 @}
766 @end example
767
768 @noindent
769 et quelque part dans notre document Texinfo @file{test@/.texinfo}
770
771 @example
772 @@lilypondfile[texidoc]@{toto.ly@}
773 @end example
774
775 @noindent
776 La ligne de commande suivante produira le résultat escompté.
777
778 @example
779 lilypond-book --pdf --process="lilypond \
780   -dbackend=eps --header=texidoc" test.texinfo
781 @end example
782
783 La plupart des fichiers de test contenus dans le répertoire @file{input}
784 de la distribution est constituée de la sorte.
785
786 Cette option est fort utile dans le cadre de l'adaptation en langue
787 étrangère.  En effet, s'il est spécifié dans le document Texinfo une
788 clause @code{@@documentlanguage@tie{}@var{LANGUE}}, la présence d'une
789 variable @code{texidoc@var{LANGUE}} dans l'entête du fichier
790 @file{foo@/.ly} entraînera la reproduction -- par l'appel
791 @code{lilypond}@tie{}@option{--header=@/texidoc@var{LANGUE}} -- du
792 contenu de @file{toto@/.texidoc@var{LANGUE}} en lieu et place de celui de
793 @file{toto@/.texidoc}.
794
795 @item lilyquote
796 Option disponible uniquement pour Texinfo.@*
797 Cette option est équivalente à l'option @code{quote} à ceci près que
798 seule l'image de la partition -- ainsi que les éventuels blocs
799 @emph{verbatim} si vous la couplez à l'option @code{verbatim} -- fera
800 l'objet d'une citation.  Cette option permet l'inclusion de la partition
801 en omettant les commentaires contenus dans le bloc @code{texidoc} du
802 fichier source.
803
804 @item doctitle
805 Option disponible uniquement pour Texinfo.@*
806 Cette option fonctionne selon le même principe que l'option
807 @code{texidoc}@tie{}: lorsqu'un fichier @file{toto@/.ly} contient dans
808 son @code{\header} une variable @code{doctitle} et que @code{lilypond}
809 est appelé avec l'option @code{doctitle}, le contenu de cette variable
810 -- une simple ligne de @var{texte} -- sera recopié dans un fichier
811 @file{toto@/.doctitle} puis inséré dans le document Texinfo sous la
812 forme @code{@@lydoctitle@tie{}@var{texte}}.  @code{@@lydoctitle} doit
813 faire l'objet d'une macro, définie dans le document Texinfo.
814
815 Il en va de l'option @code{doctitle} comme de l'option @code{texidoc} en
816 matière d'adaptation en langue étrangère.
817
818 @item nogettext
819 Option disponible uniquement pour Texinfo.@*
820 Commentaires et noms de variable ne seront pas traduits dans la recopie
821 textuelle du code.
822
823 @item printfilename
824 Lorsqu'un fichier source LilyPond est inclus à l'aide de
825 @code{\lilypondfile}, le nom du fichier sera reproduit juste au dessus
826 de l'extrait.  Si le résultat est un fichier HTML, il s'agira alors d'un
827 lien.  Seul le nom du fichier est imprimé@tie{}; autrement dit, le
828 chemin d'accès au fichier est tronqué.
829
830 @end table
831
832
833 @node Utilisation de lilypond-book
834 @section Utilisation de @command{lilypond-book}
835 @translationof Invoking lilypond-book
836
837 @command{lilypond-book} produit un fichier qui aura, selon le format de
838 sortie spécifié, l'extension @file{@/.tex}, @file{@/.texi}, @file{@/.html} ou
839 @file{@/.xml}.  Les fichiers @file{@/.tex}, @file{@/.texi} et @file{@/.xml}
840 nécessitent un traitement complémentaire.
841
842
843 @subheading Instructions spécifiques à certains formats
844
845
846 @subsubheading @LaTeX{}
847
848 Un document @LaTeX{} destiné à l'impression ou à la publication peut se
849 traiter de deux manières différentes@tie{}:  générer directement un PDF
850 à l'aide de PDF@LaTeX{}, ou bien générer un fichier avec @LaTeX{}
851 qui sera ensuite passé à un traducteur DVI-PostScript comme
852 @command{dvips}.  La première façon est de loin la plus simple et c'est
853 celle que nous vous recommandons@footnote{Sachant que vous ne disposez
854 pas forcément de PDF@LaTeX{} et @LaTeX{} pour compiler un document
855 @LaTeX{}, nous vous présentons les deux méthodes.}@tie{}; quelque soit
856 votre préférence, sachez que vous pouvez aller du PostScript au PDF avec
857 des outils tels que @command{ps2pdf} et @command{pdf2ps} -- tous deux
858 inclus dans la distribution de Ghostscript.
859
860 La production d'un PDF avec PDF@LaTeX{} se fait en lançant les commandes
861
862 @example
863 lilypond-book --pdf monfichier.lytex
864 pdflatex monfichier.tex
865 @end example
866
867 @cindex type1, polices
868 @cindex dvips
869 @cindex utilisation de dvips
870
871 La séquence @LaTeX{}/@command{dvips}/@command{ps2pdf} suivante permet de
872 produire un PDF@tie{}:
873
874 @example
875 lilypond-book monfichier.lytex
876 latex monfichier.tex
877 dvips -Ppdf monfichier.dvi
878 ps2pdf monfichier.ps
879 @end example
880
881 @noindent
882 Le fichier @file{@/.dvi} généré lors de ce traitement ne contient aucune
883 tête de note, ce qui est tout à fait normal@tie{}; elles seront incluses
884 lors de la génération du @file{@/.ps} puis dans le @file{@/.pdf}.
885
886 La commande @command{dvips} peut déclencher certains messages concernant
887 des fontes, que vous pouvez ignorer sans scrupule.@*
888 Si vous utilisez @command{latex} en mode colonnage, n'oubliez pas
889 d'ajouter @option{-t landscape} aux options de @command{dvips}.
890
891
892 @subsubheading Texinfo
893
894 La génération d'un document Texinfo -- quel que soit le format final --
895 s'obtient grâce aux commandes Texinfo habituelles, c'est à dire
896 @command{texi2pdf}, @command{texi2dvi} ou @command{makeinfo} selon le
897 résultat que vous désirez obtenir.
898 @ifinfo
899 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, et @ref{Creating
900 an Info File, , , texinfo, GNU Texinfo}.
901 @end ifinfo
902 @ifnotinfo
903 Pour plus de détails, consultez la documentation de Texinfo.
904 @end ifnotinfo
905
906
907 @subheading Options en ligne de commande
908
909 @command{lilypond-book} accepte les options suivantes@tie{}:
910
911 @table @code
912 @item -f @var{format}
913 @itemx --format=@var{format}
914 Spécifie le type de document à traiter@tie{}: @code{html}, @code{latex},
915 @code{texi} (valeur par défaut) ou @code{docbook}.  Lorsque cette
916 option n'est pas mentionnée, @command{lilypond-book} tente de déterminer
917 automatiquement le format -- voir @ref{Extensions de nom de fichier}.  À
918 l'heure actuelle, @code{texi} est équivalant à @code{texi-html}.
919
920 @c This complicated detail is not implemented, comment it out -jm
921 @ignore
922 The @code{texi} document type produces a Texinfo file with music
923 fragments in the printed output only.  For getting images in the HTML
924 version, the format @code{texi-html} must be used instead.
925 @end ignore
926
927 @item -F @var{filtre}
928 @itemx --filter=@var{filtre}
929 Passe les extrait au travers de @var{filtre} avant de traiter le
930 fichier.  Cette option permet de, par exemple, appliquer les mises à
931 jour de LilyPond aux extraits avant de traiter le fichier@tie{}:
932
933 @example
934 lilypond-book --filter='convert-ly --from=2.0.0 -' mon-book.tely
935 @end example
936
937 @item -h
938 @itemx --help
939 Affiche un bref résumé des options.
940
941 @item -I @var{dir}
942 @itemx --include=@var{répertoire}
943 Ajoute @var{répertoire} au chemin des inclusions.  Si des extraits ont
944 déjà été compilés dans l'un des répertoires inclus,
945 @command{lilypond-book}  ne les rééecria pas dans le répertoire de
946 sortie@tie{}; il sera donc nécessaire, dans la suite du traitement par
947 @command{makeinfo} ou @command{latex}, de penser à utiliser cette même
948 option @code{-I @var{répertoire}}.
949
950 @item -o @var{dir}
951 @itemx --output=@var{répertoire}
952 Regroupe les fichiers générés dans @var{répetoire}.
953 @command{lilypond-book} crée un certain nombre de fichiers à l'usage de
954 LilyPond.  Afin d'éviter de polluer votre répertoire source, nous vous
955 conseillons d'utiliser l'option @option{--output}, puis de vous rendre
956 dans ce répertoire pour y lancer les commandes @command{latex} ou
957 @command{makeinfo}.
958
959 @example
960 lilypond-book --output=out monfichier.lytex
961 cd out
962 @dots{}
963 @end example
964
965 @itemx --skip-lily-check
966 Désactive la mise en échec en l'absence de sortie de lilypond.@*
967 Option utilisée pour la documentation au format Info sans images.
968
969 @itemx --skip-png-check
970 Désactive la mise en échec en l'absence d'images PNG correspondant aux
971 fichiers EPS.@*
972 Option utilisée pour la documentation au format Info sans images.
973
974 @itemx --lily-output-dir=@var{rép}
975 Écrit les fichiers lily-XXX dans @var{rép} et crée un lien vers le
976 répertoire spécifié par @code{--output}.  Cette option permet
977 d'économiser du temps lors de la génération de documents qui se trouvent
978 dans différents répertoires et partagent un certain nombre d'extraits
979 identiques.
980
981 @itemx --info-images-dir=@var{répertoire}
982 Formate la sortie Texinfo de telle sorte que Info cherche les images
983 de musique dans @var{répertoire}.
984
985 @itemx --latex-program=@var{programme}
986 Utilise l'exécutable @command{programme} en lieu et place de
987 @command{latex}.  C'est l'option que vous utiliserez si vous préférez
988 @command{xelatex} par exemple.
989
990 @itemx --left-padding=@var{distance}
991 Décale les figures EPS de @var{distance} -- exprimée en milimètres (3
992 par défaut).  Cette option est utile lorsque les lignes de musique
993 débordent sur la marge droite.
994
995 Rappelez-vous que la largeur d'un système dépend des élément contenus
996 dans sa marge gauche, tels que numéro de mesure et nom d'instrument.
997 Cette option permet de @qq{raccourcir} les lignes et de les décaler vers
998 la droite, de la distance donnée en argument.
999
1000 @item -P @var{commande}
1001 @itemx --process=@var{commande}
1002 Traite les extraits LilyPond avec @var{commande}.  Par défaut, il s'agit
1003 de @code{lilypond}.@*
1004 Rappelez-vous que @code{lilypond-book} ne peut en même temps traiter
1005 l'option @code{--filter} et l'option @code{--process}.
1006
1007 @item --pdf
1008 Crée des fichiers PDF pour les retraiter avec PDF@LaTeX{}.
1009
1010 @itemx --use-source-file-names
1011 Cette option permet d'affecter aux fichiers correspondant aux extraits
1012 de musique le même nom que leur source.  Elle n'est fonctionnelle que
1013 dans le cas où la partition est incluse à l'aide de @code{lilypondfile},
1014 et que les répertoires mentionnés par les options @code{--output-dir} et
1015 @code{--lily-output-dir} diffèrent.
1016
1017 @item -V
1018 @itemx --verbose
1019 @command{lilypond-book} sait être volubile@tie{}!
1020
1021 @item -v
1022 @itemx --version
1023 Affiche le numéro de version.
1024 @end table
1025
1026
1027 @knownissues
1028
1029 @code{lilypond-book} ne sait pas interpréter la commande Texinfo
1030 @code{@@pagesize}.  Dans le même ordre d'idée, des commandes @LaTeX{}
1031 modifiant les marges et longueur de ligne mentionnées après le préambule
1032 seront ignorées.
1033
1034 Lorsqu'une section LilyPond contient plusieurs @code{\score}, seul le
1035 premier sera traité.
1036
1037
1038 @node Extensions de nom de fichier
1039 @section Extensions de nom de fichier
1040 @translationof Filename extensions
1041
1042 Vous pouvez affecter à votre fichier source n'importe quelle extension.
1043 Nous vous recommandons cependant un certain nombre d'extensions selon le
1044 format de sortie désiré.  Une extension hors du commun vous obligera à
1045 spécifier le format de sortie, alors que @code{lilpond-book} est en
1046 mesure de déterminer le format de sortie en fonction de l'extension du
1047 fichier source.
1048
1049 @quotation
1050 @multitable @columnfractions .2 .5
1051 @item @strong{extension} @tab @strong{format résultant}
1052 @item
1053 @item @file{.html} @tab HTML
1054 @item @file{.htmly} @tab HTML
1055 @item @file{.itely} @tab Texinfo
1056 @item @file{.latex} @tab @LaTeX{}
1057 @item @file{.lytex} @tab @LaTeX{}
1058 @item @file{.lyxml} @tab DocBook
1059 @item @file{.tely} @tab Texinfo
1060 @item @file{.tex} @tab @LaTeX{}
1061 @item @file{.texi} @tab Texinfo
1062 @item @file{.texinfo} @tab Texinfo
1063 @item @file{.xml} @tab HTML
1064 @end multitable
1065 @end quotation
1066
1067 Lorsque le fichier source a la même extension que celle que
1068 @code{lilypond-book} affectera au fichier résultant et que vous
1069 lancez @code{lilypond-book} à partir du répertoire le contenant, vous
1070 verrez assurément un message du type @qq{La sortie va écraser le fichier
1071 d'entrée}.  Aussi ne saurions-nous trop vous conseiller d'utiliser
1072 l'option @code{--output}.
1073
1074
1075 @node  Modèles pour lilypond-book
1076 @section Modèles pour lilypond-book
1077 @translationof lilypond-book templates
1078
1079 Voici quelques canevas dédiés à @code{lilypond-book}.  Si vous ne savez
1080 pas de quoi il retourne, lisez le chapitre @ref{lilypond-book}.
1081
1082
1083 @subsection LaTeX
1084
1085 Vous pouvez inclure des partitions LilyPond dans un document LaTeX.
1086
1087 @example
1088 \documentclass[]@{article@}
1089
1090 \begin@{document@}
1091
1092 Des bananes alitées sur du LaTeX.
1093
1094 \begin@{lilypond@}
1095 \relative c'' @{
1096   a4 b c d
1097 @}
1098 \end@{lilypond@}
1099
1100 Encore des banalités LaTeX, puis quelques options entre crochets.
1101
1102 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1103 d4 c b a
1104 \end@{lilypond@}
1105 \end@{document@}
1106 @end example
1107
1108
1109 @subsection Texinfo
1110
1111 Un document Texinfo est tout à fait capable de comporter des fragments
1112 de partition LilyPond.  Si vous ne le savez pas encore, sachez que
1113 l'intégralité de ce manuel est rédigée en Texinfo.
1114
1115 @example
1116 \input texinfo @c -*-texinfo-*-
1117 @@node Top
1118 @@top
1119
1120 Du verbiage en mode Texinfo
1121
1122 @@lilypond
1123 \relative c' @{
1124   a4 b c d
1125 @}
1126 @@end lilypond
1127
1128 Toujours plus de texte Texinfo, puis des options entre crochets.
1129
1130 @@lilypond[verbatim,fragment,ragged-right]
1131 d4 c b a
1132 @@end lilypond
1133
1134 @@bye
1135 @end example
1136
1137
1138
1139 @subsection html
1140
1141 @example
1142 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1143 <!-- header_tag -->
1144 <HTML>
1145 <body>
1146
1147 <p>
1148 Un document pour lilypond-book peut absolument mélanger musique et
1149 texte.  Par exemple,
1150 <lilypond>
1151 \relative c'' @{
1152   a4 b c d
1153 @}
1154 </lilypond>
1155 </p>
1156
1157 <p>
1158 Pourquoi pas un peu plus de lilypond, avec des options pour changer :
1159
1160 <lilypond fragment quote staffsize=26 verbatim>
1161 a4 b c d
1162 </lilypond>
1163 </p>
1164
1165 </body>
1166 </html>
1167
1168
1169 @end example
1170
1171
1172 @subsection xelatex
1173
1174 @verbatim
1175 \documentclass{article}
1176 \usepackage{ifxetex}
1177 \ifxetex
1178 %pour ce qui est de xetex
1179 \usepackage{xunicode,fontspec,xltxtra}
1180 \setmainfont[Numbers=OldStyle]{Times New Roman}
1181 \setsansfont{Arial}
1182 \else
1183 %inutile en l'absence de pdftex
1184 \usepackage[T1]{fontenc}
1185 \usepackage[utf8]{inputenc}
1186 \usepackage{mathptmx}%Times
1187 \usepackage{helvet}%Helvetica
1188 \fi
1189 %ici les paquetages que pdftex sait interpréter
1190 \usepackage[ngerman,finnish,english]{babel}
1191 \usepackage{graphicx}
1192
1193 \begin{document}
1194 \title{Un petit document avec LilyPond et xelatex}
1195 \maketitle
1196
1197 Les commandes habituelles de \textbf{fontes} sont fonctionnelles y
1198 compris au fil du texte, étant donné qu'\textsf{elles sont prises en
1199 charge par \LaTeX{} and XeteX.} Lorsque vous avez besoin de commandes
1200 particulières du style \verb+\XeTeX+, pensez à les inclure dans un
1201 environnement \verb+\ifxetex+. Vous pourrez ainsi utiliser la \ifxetex
1202 commande \XeTeX{} \else commande XeTeX \fi qui, elle, n'est pas reconnue
1203 par le \LaTeX traditionnel.
1204
1205 Vous pouvez inclure des commandes LilyPond directement dans votre texte,
1206 comme ici~:
1207
1208 \begin{lilypond}
1209 {a2 b c'8 c' c' c'}
1210 \end{lilypond}
1211
1212 \noindent
1213 puis reprendre le fil de votre discours.
1214
1215 Les fontes utilisées dans les extraits LilyPond  devront être définies
1216 au sein de l'extrait. Lisez le manuel d'ustilisation si vous ne
1217 maîtrisez pas lilypond-book.
1218
1219 \selectlanguage{ngerman}
1220 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle anderen
1221 seltsamen Zeichen: ß, æ, ł, ã, č, wenn sie von der Schriftart unterstützt
1222 werden.
1223
1224 \end{document}
1225 @end verbatim
1226
1227
1228 @node Autres méthodes d'association texte-musique
1229 @section Autres méthodes d'association texte-musique
1230 @translationof Alternative methods of mixing text and music
1231
1232 D'autres moyens de mélanger musique et texte sans recourir à
1233 @command{lilypond-book} sont abordés au chapitre
1234 @ref{Inclusion de partition LilyPond dans d'autres programmes}.
1235