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