]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/usage/lilypond-book.itely
Run scripts/auxiliar/update-with-convert-ly.sh
[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: 0a003d729ded8b728bf627c87c196719676dba6b
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.19.21"
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 {
103   c'2 e2 \tuplet 3/2 { 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{@dots{}nous vous épargnons le verbiage de la console@dots{}}
138 @emph{Compilation de lilybook.tex...}
139 cd out
140 pdflatex lilybook
141 @emph{@dots{}nous vous épargnons le verbiage de la console@dots{}}
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 {
168   c'2 e2 \tuplet 3/2 { 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 {
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@{@dots{}@}} qui permet de directement saisir
237 du code LilyPond simple ;
238
239 @item
240 l'environnement @code{\begin@{lilypond@}@dots{}\end@{lilypond@}} qui
241 permet de saisir directement du code LilyPond plus élaboré ;
242
243 @item
244 la commande @code{\lilypondfile@{@dots{}@}} qui permet d'insérer un
245 fichier LilyPond ;
246
247 @item
248 la commande @code{\musicxmlfile@{@dots{}@}} qui permet d'insérer un
249 fichier 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@}@dots{}\end@{lilypond@}
432 \onlyFirstNSystems@{1@}
433 \begin@{lilypond@}@dots{}\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@{@dots{}@}} qui permet de directement
461 saisir du code LilyPond simple ;
462
463 @item
464 l'environnement @code{@@lilypond@dots{}@@end lilypond} qui permet
465 de saisir directement du code LilyPond plus élaboré ;
466
467 @item
468 la commande @code{@@lilypondfile@{@dots{}@}} qui permet d'insérer un
469 fichier LilyPond ;
470
471 @item
472 la commande @code{@@musicxmlfile@{@dots{}@}} qui permet d'insérer un
473 fichier MusicXML qui sera alors traité par @code{musicxml2ly} puis
474 @code{lilypond}.
475
476 @end itemize
477
478
479 Il suffit, pour inclure de la musique, d'utiliser l'une des instructions
480 suivantes dans votre fichier source :
481
482 @example
483 @@lilypond[liste,des,options]
484   VOTRE CODE LILYPOND
485 @@end lilypond
486
487 @@lilypond[liste,des,options]@{ VOTRE CODE LILYPOND @}
488
489 @@lilypondfile[liste,des,options]@{@var{fichier}@}
490
491 @@musicxmlfile[liste,des,options]@{@var{fichier}@}
492 @end example
493
494 Par ailleurs, l'utilisation d'un @code{@@lilypondversion} permet
495 d'afficher la version de LilyPond utilisée.
496
497 Le traitement du fichier source par @command{lilypond-book} génère un
498 fichier Texinfo (extension @file{.itexi}) qui contiendra les balises
499 @code{@@image} pour les formats HTML, Info ou imprimable.  Les images
500 générées par @command{lilypond-book} sont au format EPS et PDF en vue
501 d'une impression, et au format PNG pour leur utilisation en HTML ou
502 Info.
503
504 En voici deux exemples.  Un environnement @code{lilypond}
505
506 @example
507 @@lilypond[fragment]
508 c' d' e' f' g'2 g'
509 @@end lilypond
510 @end example
511
512 @noindent
513 produit
514
515 @lilypond[fragment]
516 c' d' e' f' g'2 g'
517 @end lilypond
518
519 La version abrégée
520
521 @example
522 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
523 @end example
524
525 @noindent
526 produit
527
528 @lilypond[fragment,staffsize=11]{<c' e' g'>}
529
530 Contrairement à @LaTeX{}, @code{@@lilypond@{@dots{}@}} ne va pas
531 intégrer d'image dans le document, mais générer un paragraphe.
532
533
534 @node HTML
535 @subsection HTML
536 @translationof HTML
537
538 Afin d'insérer de la musique dans vos fichiers HTML,
539 @code{lilypond-book} dispose des environnements et commandes
540 suivantes :
541
542 @itemize
543
544 @item
545 la commande @code{<lilypond @dots{} />} qui permet de directement saisir
546 du code LilyPond simple ;
547
548 @item
549 l'environnement @code{<lilyond>@dots{}</lilypond>} qui permet de saisir
550 directement du code LilyPond plus élaboré ;
551
552 @item
553 la commande @code{<lilypondfile>@dots{}</lilypondfile>} qui permet
554 d'insérer un fichier LilyPond ;
555
556 @item
557 la commande @code{<musicxmlfile>@dots{}</musicxmlfile>} qui permet
558 d'insérer un fichier MusicXML qui sera alors traité par
559 @code{musicxml2ly} puis @code{lilypond}.
560
561 @end itemize
562
563
564 Il suffit, pour inclure de la musique, d'utiliser l'une des instructions
565 suivantes dans votre fichier source :
566
567 @example
568 <lilypond liste des options>
569   VOTRE CODE LILYPOND
570 </lilypond>
571
572 <lilypond liste des options: VOTRE CODE LILYPOND />
573
574 <lilypondfile liste des options>@var{fichier}</lilypondfile>
575
576 <musicxmlfile liste des options>@var{fichier}</musicxmlfile>
577 @end example
578
579 Il suffit, pour inclure de la musique, d'utiliser
580
581 @example
582 <lilypond fragment relative=2>
583 \key c \minor c4 es g2
584 </lilypond>
585 @end example
586
587 @noindent
588 @command{lilypond-book} produira alors un fichier HTML contenant les
589 balises d'image pour les fragments de musique :
590
591 @lilypond[fragment,relative=2]
592 \key c \minor c4 es g2
593 @end lilypond
594
595 Pour insérer l'image au fil du texte, il suffit d'utiliser
596 @code{<lilypond @dots{} />}, tout en séparant options et musique par un
597 caractère deux points, comme ici :
598
599 @example
600 De la musique <lilypond relative=2: a b c/> au milieu d'une ligne de texte.
601 @end example
602
603 Lorsque l'inclusion concerne des fichiers indépendants, utilisez
604
605 @example
606 <lilypondfile @var{option1} @var{option2}@dots{}>@var{fichier}</lilypondfile>
607 @end example
608
609 La syntaxe pour @code{<musicXmlfile>} est identique à celle de
610 @code{<lilypondfile>}, à ceci près qu'elle fait référence à un fichier
611 MusicXML plutôt qu'à un fichier LilyPond.
612
613 Une liste des différentes options utilisables avec les balises
614 @code{lilypond} et @code{lilypondfile} est disponible, à la rubrique
615 @ref{Options applicables aux fragments de musique}.
616
617 Par ailleurs, la commande @code{<lilypondversion/>} vous permet
618 d'afficher le numéro de version de LilyPond.
619
620 @cindex titrage et HTML
621 @cindex prévisualisation d'image
622 @cindex thumbnail
623
624
625 @node DocBook
626 @subsection DocBook
627 @translationof DocBook
628
629 L'inclusion de documents LilyPond ne doit nuire en rien à la conformité
630 du document DocBooK ; l'utilisation d'éditeurs spécialisés ainsi
631 que d'outils de validation en sera ainsi préservée.  C'est la raison
632 pour laquelle nous ne définirons pas de balise spécifique ; nous
633 respecterons plutôt les conventions des éléments standard de DocBook.
634
635
636 @subheading Conventions communes
637
638 Quel que soit le type d'extrait à inclure, nous utiliserons les
639 éléments @code{mediaobject} et @code{inlinemediaobject}, de telle sorte
640 que ces inclusions soient incorporées directement ou non dans le
641 document final.  Les options de formatage des extraits en question sont
642 fournies par la propriété @code{role} de l'élément central -- voir les
643 paragraphes suivants.  Les balises sont déterminées de manière à ce que
644 les éditeurs DocBook prennent en charge du mieux possible leur contenu.
645 Les fichiers DocBook destinés à un traitement par
646 @command{lilypond-book} doivent avoir une extension @file{.lyxml}.
647
648
649 @subheading Inclusion d'un fichier LilyPond
650
651 Il s'agit en fait du cas le plus simple.  Le fichier à inclure doit
652 avoir une extension @file{.ly} et sera inséré comme n'importe quel
653 @code{imageobject}, en respectant la structure suivante :
654
655 @example
656 <mediaobject>
657   <imageobject>
658     <imagedata fileref="music1.ly" role="printfilename" />
659   </imageobject>
660 </mediaobject>
661 @end example
662
663 Vous pouvez utiliser, en tant que balise externe, aussi bien
664 @code{mediaobject} que @code{inlinemediaobject}.
665
666
667 @subheading Inclusion de code LilyPond
668
669 L'inclusion de code LilyPond se réalise à l'aide d'un
670 @code{programlisting} auquel on associe le langage @code{lilypond}.  En
671 voici la syntaxe :
672
673 @example
674 <inlinemediaobject>
675   <textobject>
676     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
677 \context Staff \with @{
678   \remove "Time_signature_engraver"
679   \remove "Clef_engraver"@}
680   @{ c4( fis) @}
681     </programlisting>
682   </textobject>
683 </inlinemediaobject>
684 @end example
685
686 Comme vous le remarquez, la balise externe -- qu'il s'agisse d'un
687 @code{mediaobject} ou d'un @code{inlinemediaobject} -- comporte un bloc
688 @code{textobject} qui contiendra le @code{programlisting}.
689
690
691 @subheading Génération du document DocBook
692
693 @command{lilypond-book} génère, à partir d'un fichier @file{.lyxml}, un
694 document DocBook tout à fait valide -- extension @file{.xml} -- que vous
695 pourrez ensuite traiter avec votre application habituelle.  Dans le cas
696 de @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, vous
697 obtiendrez alors automatiquement un fichier PDF.  Les feuilles de style
698 XSL DocBook officielles permettent de générer du HTML (HTML Help,
699 JavaHelp, etc.) ; vous pourriez néanmoins devoir y apporter quelques
700 adaptations.
701
702
703 @node Options applicables aux fragments de musique
704 @section Options applicables aux fragments de musique
705 @translationof Music fragment options
706
707 Dans les lignes qui suivent, l'appellation @qq{commande LilyPond} fait
708 référence à toutes celles vues plus haut et qui font appel à
709 @command{lilypond-book} pour produire un extrait musical.  Pour plus de
710 simplicité, nous ne parlerons que de la syntaxe applicable à @LaTeX{}.
711
712 Nous attirons votre attention sur le fait que les différentes options
713 sont lues de la gauche vers la droite.  Si une option est transmise
714 plusieurs fois, seule la dernière sera prise en compte.
715
716 Les commandes LilyPond acceptent les options suivantes :
717
718 @table @code
719 @item staffsize=@var{hauteur}
720 Définit la taille de portée à @var{hauteur} exprimée en points.
721
722 @item ragged-right
723 Produit des lignes en pleine largeur avec un espacement naturel.  En
724 d'autres termes, sera ajoutée la commande de mise en forme
725 @code{ragged-right = ##t}.  Il s'agit de l'option par défaut de la
726 commande @code{\lilypond@{@}} en l'absence d'option @code{line-width}.
727 C'est aussi l'option par défaut pour l'environnement @code{lilypond}
728 lorsque l'option @option{fragment} est activée sans avoir défini
729 explicitement de longueur de ligne.
730
731 @item noragged-right
732 Dans le cas où l'extrait tient sur une seule ligne, la portée sera
733 étirée pour correspondre à la longueur de ligne du texte.  Autrement
734 dit, la commande de mise en forme @code{ragged-right = ##f} s'ajoute à
735 l'extrait LilyPond.
736
737 @item line-width
738 @itemx line-width=@var{taille}\@var{unité}
739 Détermine la longueur de ligne à @var{taille}, exprimée en @var{unité}.
740 @var{unité} peut prendre les valeurs @code{cm}, @code{mm}, @code{in} ou
741 @code{pt}.  Cette option n'affectera que le résultat de LilyPond -- la
742 longueur de la portée -- et en aucun cas la mise en forme du texte.
743
744 En l'absence d'argument, la longueur de ligne sera définie à une valeur
745 par défaut telle que calculée par un algorithme heuristique.
746
747 Lorsque l'option @code{line-width} n'est pas utilisée,
748 @command{lilypond-book} tentera de déterminer des valeurs par défaut
749 pour les cas où les environnements @code{lilypond} ne font pas appel à
750 @option{ragged-right}.
751
752 @item papersize=@var{chaîne}
753 Détermine le format du papier à @var{chaîne} tel que défini dans le
754 fichier @file{scm/paper.scm} -- @code{a5}, @code{quarto},
755 @code{11x17}, etc.
756
757 Toute valeur non mentionnée dans @file{scm/paper.scm} sera rejetée.
758 @code{lilypond-book} émettra un message d'avertissement et l'extrait
759 utilisera le format par défaut, à savoir @code{a4}.
760
761 @item notime
762 Désactive l'impression des métriques et barres de mesure pour
763 l'intégralité de la partition.
764
765 @item fragment
766 Laisse à @command{lilypond-book} le soin d'ajouter ce qui est
767 indispensable, de telle sorte que vous pouvez vous contenter d'un
768
769 @example
770 c'4
771 @end example
772
773 @noindent
774 sans @code{\layout}, @code{\score}, etc.
775
776 @item nofragment
777 N'ajoute rien à ce qui se trouve dans l'environnement LilyPond.  À noter
778 qu'il s'agit de l'option par défaut.
779
780 @item indent=@var{taille}\@var{unité}
781 Définit l'indentation du premier système à @var{taille}, exprimée en
782 @var{unité} -- @code{cm}, @code{mm}, @code{in} ou @code{pt}.  Cette
783 option n'affecte que LilyPond, et en aucun cas la mise en forme du
784 texte.
785
786 @item noindent
787 Ramène l'indentation du premier système à zéro.  Cette option n'affecte
788 que LilyPond, et en aucun cas la mise en forme du texte.  Dans la mesure
789 où il s'agit du comportement par défaut, point n'est besoin de spécifier
790 @code{noindent}.
791
792 @item quote
793 Réduit la longueur des lignes musicales de @math{2*0.4}@dmn{in} (soit
794 @math{2 * 10,16} @dmn{mm}) pour renvoyer l'extrait dans un bloc de
795 citation.  La valeur @qq{0,4 pouce} est contrôlée par l'option
796 @option{exampleindent}.
797
798 @item exampleindent
799 Détermine la valeur de l'indentation qui sera utilisée par l'option
800 @option{quote}.
801
802 @item relative
803 @itemx relative=@var{n}
804 Utilise le mode d'octave relative.  Les notes sont donc par défaut
805 positionnées relativement au do central.  L'argument -- un nombre entier
806 -- fourni à l'option @code{relative} spécifie l'octave de départ de
807 l'extrait ; @code{1} correspond au do central.  Cette option
808 @option{relative} n'a d'effet que si elle est utilisée en combinaison
809 avec l'option @option{fragment} ; autrement dit, l'option
810 @option{fragment} est implicite dès lors que @code{relative} est
811 explicité.
812 @end table
813
814
815 La documentation de LilyPond, comme nous l'avons déjà vu, use
816 abondamment de @command{lilypond-book}.  Elle utilise à cet effet
817 quelques options particulières.
818
819 @table @code
820 @item verbatim
821 L'argument de la commande LilyPond est recopié textuellement dans le
822 fichier généré, avant l'image de la partition.  Cependant, cette option
823 n'est pas pleinement opérationnelle lorsqu'un @code{\lilypond@{@}} se
824 trouve au milieu d'un paragraphe.
825
826 L'utilisation conjointe d'un @option{verbatim} et de la commande
827 @code{lilypondfile} permet de n'inclure textuellement qu'une seule
828 partie du fichier source.  @code{lilypond-book} reproduira alors
829 textuellement la partie du fichier source comprise entre les
830 commentaires @code{begin verbatim} et éventuellement
831 @code{end verbatim}.  Si l'on considère le fichier source suivant,
832 la musique sera interprétée en mode relatif, mais la recopie du code ne
833 comportera pas l'assertion du bloc @code{relative} :
834
835 @example
836 \relative @{ % begin verbatim
837   c'4 e2 g4
838   f2 e % end verbatim
839 @}
840 @end example
841
842 @noindent
843 donnera dans un bloc @emph{verbatim} précédant la partition :
844
845 @example
846   c4 e2 g4
847   f2 e
848 @end example
849
850 @noindent
851 Si d'aventure vous désirez traduire les commentaires et noms de
852 variable dans le rendu textuel plutôt que dans le fichier source, vous
853 devrez définir la variable d'environnement @code{LYDOC_LOCALEDIR} qui
854 pointera vers un répertoire contenant l'arborescence des catalogues de
855 messages -- fichiers d'extension @code{.mo} -- du domaine
856 @code{lilypond-doc}.
857
858 @item addversion
859 Cette option, effective uniquement avec Texinfo, permet d'ajouter une
860 ligne @code{\version @@w@{"@@version@{@}"@}} au @code{verbatim}.
861
862 @item texidoc
863 Option disponible uniquement avec Texinfo.@*
864 Dès lors qu'un fichier @file{toto.ly} contient dans sa section
865 @code{\header} un champ @code{texidoc}, l'appel de @command{lilypond}
866 avec l'option @option{--header=@/texidoc} créera le fichier
867 @file{toto.texidoc}.  Par ailleurs, c'est le contenu de ce
868 @file{toto.texidoc} qui sera ensuite recopié par
869 @command{lilypond-book} en préambule de l'extrait de partition -- soit
870 avant l'environnement @code{example} créé par un @code{quote}.
871
872 Prenons par exemple le fichier @file{toto.ly} dont le contenu est
873
874 @example
875 \header @{
876   texidoc = "This file demonstrates a single note."
877 @}
878 @{ c'4 @}
879 @end example
880
881 @noindent
882 et quelque part dans notre document Texinfo @file{test.texinfo}
883
884 @example
885 @@lilypondfile[texidoc]@{toto.ly@}
886 @end example
887
888 @noindent
889 La ligne de commande suivante produira le résultat escompté.
890
891 @example
892 lilypond-book --pdf --process="lilypond \
893   -dbackend=eps --header=texidoc" test.texinfo
894 @end example
895
896 La plupart des fichiers de test contenus dans le répertoire @file{input}
897 de la distribution est constituée de la sorte.
898
899 Cette option est fort utile dans le cadre de l'adaptation en langue
900 étrangère.  En effet, s'il est spécifié dans le document Texinfo une
901 clause @code{@@documentlanguage @var{LANGUE}}, la présence d'une
902 variable @code{texidoc@var{LANGUE}} dans l'entête du fichier
903 @file{toto.ly} entraînera la reproduction -- par l'appel
904 @code{lilypond} @option{--header=@/texidoc@var{LANGUE}} -- du
905 contenu de @file{toto.texidoc@var{LANGUE}} en lieu et place de celui de
906 @file{toto.texidoc}.
907
908 @item doctitle
909 Option disponible uniquement avec Texinfo.@*
910 Cette option fonctionne selon le même principe que l'option
911 @code{texidoc} : lorsqu'un fichier @file{toto.ly} contient dans
912 son @code{\header} une variable @code{doctitle} et que @code{lilypond}
913 est appelé avec l'option @code{doctitle}, le contenu de cette variable
914 -- une simple ligne de @var{texte} -- sera recopié dans un fichier
915 @file{toto.doctitle} puis inséré dans le document Texinfo sous la
916 forme @code{@@lydoctitle @var{texte}}.  @code{@@lydoctitle} doit
917 faire l'objet d'une macro, définie dans le document Texinfo.
918
919 Il en va de l'option @code{doctitle} comme de l'option @code{texidoc} en
920 matière d'adaptation en langue étrangère.
921
922 @item nogettext
923 Option disponible uniquement pour Texinfo.@*
924 Commentaires et noms de variable ne seront pas traduits dans la recopie
925 textuelle du code.
926
927 @item printfilename
928 Lorsqu'un fichier source LilyPond est inclus à l'aide de
929 @code{\lilypondfile}, le nom du fichier sera reproduit juste au dessus
930 de l'extrait.  Si le résultat est un fichier HTML, il s'agira alors d'un
931 lien.  Seul le nom du fichier est imprimé ; autrement dit, le
932 chemin d'accès au fichier est tronqué.
933
934 @end table
935
936
937 @node Utilisation de lilypond-book
938 @section Utilisation de @command{lilypond-book}
939 @translationof Invoking lilypond-book
940
941 @command{lilypond-book} produit un fichier qui aura, selon le format de
942 sortie spécifié, l'extension @file{.tex}, @file{.texi}, @file{.html} ou
943 @file{.xml}.  Les fichiers @file{.tex}, @file{.texi} et @file{.xml}
944 nécessitent un traitement complémentaire.
945
946
947 @subheading Instructions spécifiques à certains formats
948
949
950 @subsubheading @LaTeX{}
951
952 Un document @LaTeX{} destiné à l'impression ou à la publication peut se
953 traiter de deux manières différentes :  générer directement un PDF
954 à l'aide de PDF@LaTeX{}, ou bien générer un fichier avec @LaTeX{}
955 qui sera ensuite passé à un traducteur DVI-PostScript comme
956 @command{dvips}.  La première façon est de loin la plus simple et c'est
957 celle que nous vous recommandons@footnote{Sachant que vous ne disposez
958 pas forcément de PDF@LaTeX{} et @LaTeX{} pour compiler un document
959 @LaTeX{}, nous vous présentons les deux méthodes.} ; quelque soit
960 votre préférence, sachez que vous pouvez aller du PostScript au PDF avec
961 des outils tels que @command{ps2pdf} et @command{pdf2ps} -- tous deux
962 inclus dans la distribution de Ghostscript.
963
964 La production d'un PDF avec PDF@LaTeX{} se fait en lançant les commandes
965
966 @example
967 lilypond-book --pdf monfichier.lytex
968 pdflatex monfichier.tex
969 @end example
970
971 @cindex type1, polices
972 @cindex dvips
973 @cindex utilisation de dvips
974
975 La séquence @LaTeX{}/@command{dvips}/@command{ps2pdf} suivante permet de
976 produire un PDF :
977
978 @example
979 lilypond-book monfichier.lytex
980 latex monfichier.tex
981 dvips -Ppdf monfichier.dvi
982 ps2pdf monfichier.ps
983 @end example
984
985 @noindent
986 Le fichier @file{.dvi} généré lors de ce traitement ne contient aucune
987 tête de note, ce qui est tout à fait normal ; elles seront incluses
988 lors de la génération du @file{.ps} puis dans le @file{.pdf}.
989
990 La commande @command{dvips} peut déclencher certains messages concernant
991 des fontes, que vous pouvez ignorer sans scrupule.@*
992 Si vous utilisez @command{latex} en mode colonnage, n'oubliez pas
993 d'ajouter @option{-t landscape} aux options de @command{dvips}.
994
995 Les environnements tels que
996
997 @example
998 \begin@{lilypond@} @dots{} \end@{lilypond@}
999 @end example
1000
1001 @noindent
1002 ne sont pas interprétés par @LaTeX{}.  En fait, @code{lilypond-book}
1003 extrait ces « environnements » dans des fichiers accessoires et les
1004 traite par LilyPond.  Il récupère ensuite les graphiques résultants et
1005 crée un fichier @file{.tex} dans lequel les macros
1006 @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} sont alors
1007 remplacées par des commandes « d'inclusion de graphique ».  C'est
1008 seulement à ce moment là que @LaTeX{} est lancé -- bien que @LaTeX{}
1009 aura préalablement tourné, cela aura été en fait sur un document
1010 « vide » et pour calculer certains éléments comme @code{\linewidth}.
1011
1012 @knownissues
1013 La commande @code{\pageBreak} est inopérante dans un environnement
1014 @code{\begin@{lilypond@}@dots{}\end@{lilypond@}}.
1015
1016 Il en va de même pour un certain nombre de variables appartenant au bloc
1017 @code{\paper}.  Utilisez, entre autres, un @code{\newcommand} avec la
1018 macrocommande @code{\betweenLilyPondSystem} dans le préambule.
1019
1020 @example
1021 \newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
1022 @end example
1023
1024
1025 @subsubheading Texinfo
1026
1027 La génération d'un document Texinfo -- quel que soit le format final --
1028 s'obtient grâce aux commandes Texinfo habituelles, c'est à dire
1029 @command{texi2pdf}, @command{texi2dvi} ou @command{makeinfo} selon le
1030 résultat que vous désirez obtenir.
1031 @ifinfo
1032 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, et
1033 @ref{Creating an Info File, , , texinfo, GNU Texinfo}.
1034 @end ifinfo
1035 @ifnotinfo
1036 Pour plus de détails, consultez la documentation de Texinfo.
1037 @end ifnotinfo
1038
1039
1040 @subheading Options en ligne de commande
1041
1042 @command{lilypond-book} accepte les options suivantes :
1043
1044 @table @code
1045 @item -f @var{format}
1046 @itemx --format=@var{format}
1047 Spécifie le type de document à traiter : @code{html}, @code{latex},
1048 @code{texi} (valeur par défaut) ou @code{docbook}.  Lorsque cette
1049 option n'est pas mentionnée, @command{lilypond-book} tente de déterminer
1050 automatiquement le format -- voir @ref{Extensions de nom de fichier}.  À
1051 l'heure actuelle, @code{texi} est équivalant à @code{texi-html}.
1052
1053 @c This complicated detail is not implemented, comment it out -jm
1054 @ignore
1055 The @code{texi} document type produces a Texinfo file with music
1056 fragments in the printed output only.  For getting images in the HTML
1057 version, the format @code{texi-html} must be used instead.
1058 @end ignore
1059
1060 @item -F @var{filtre}
1061 @itemx --filter=@var{filtre}
1062 Passe les extrait au travers de @var{filtre} avant de traiter le
1063 fichier.  Cette option permet de, par exemple, appliquer les mises à
1064 jour de LilyPond aux extraits avant de traiter le fichier :
1065
1066 @example
1067 lilypond-book --filter='convert-ly --from=2.0.0 -' mon-book.tely
1068 @end example
1069
1070 @item -h
1071 @itemx --help
1072 Affiche un bref résumé des options.
1073
1074 @item -I @var{dir}
1075 @itemx --include=@var{répertoire}
1076 Ajoute @var{répertoire} au chemin des inclusions.  Si des extraits ont
1077 déjà été compilés dans l'un des répertoires inclus,
1078 @command{lilypond-book} ne les réécrira pas dans le répertoire de
1079 sortie ; il sera donc nécessaire, dans la suite du traitement par
1080 @command{makeinfo} ou @command{latex}, de penser à utiliser cette même
1081 option @code{-I @var{répertoire}}.
1082
1083 @item -l @var{loglevel}
1084 @itemx --loglevel=@var{loglevel}
1085 Détermine le degré de verbosité à @var{loglevel}. Les différentes
1086 valeurs admises sont @code{NONE}, @code{ERROR}, @code{WARNING},
1087 @code{PROGRESS} (par défaut) et @code{DEBUG}. Lorsque cette option n'est
1088 pas activée, c'est le niveau déterminé par la variable d'environnement
1089 @code{LILYPOND_BOOK_LOGLEVEL} qui sera utilisé.
1090
1091 @item -o @var{dir}
1092 @itemx --output=@var{répertoire}
1093 Regroupe les fichiers générés dans @var{répertoire}.
1094 @command{lilypond-book} crée un certain nombre de fichiers à l'usage de
1095 LilyPond.  Afin d'éviter de polluer votre répertoire source, nous vous
1096 conseillons d'utiliser l'option @option{--output}, puis de vous rendre
1097 dans ce répertoire pour y lancer les commandes @command{latex} ou
1098 @command{makeinfo}.
1099
1100 @example
1101 lilypond-book --output=out monfichier.lytex
1102 cd out
1103 @dots{}
1104 @end example
1105
1106 @item --skip-lily-check
1107 Désactive la mise en échec en l'absence de sortie de lilypond.@*
1108 Option utilisée pour la documentation au format Info sans images.
1109
1110 @item --skip-png-check
1111 Désactive la mise en échec en l'absence d'images PNG correspondant aux
1112 fichiers EPS.@*
1113 Option utilisée pour la documentation au format Info sans images.
1114
1115 @item --lily-output-dir=@var{rép}
1116 Écrit les fichiers lily-XXX dans @var{rép} et crée un lien vers le
1117 répertoire spécifié par @code{--output}.  Cette option permet
1118 d'économiser du temps lors de la génération de documents qui se trouvent
1119 dans différents répertoires et partagent un certain nombre d'extraits
1120 identiques.
1121
1122 @item --lily-loglevel=@var{loglevel}
1123 Détermine le degré de verbosité lors des appels à @command{lilypond}.
1124 Les valeurs autorisée de @var{loglevel} sont : @code{NONE},
1125 @code{ERROR}, @code{WARNING}, @code{BASIC_PROGRESS}, @code{PROGRESS},
1126 @code{INFO} (par défaut) et @code{DEBUG}.  Lorsque cette option n'est
1127 pas activée, c'est le niveau déterminé par la variable d'environnement
1128 @code{LILYPOND_LOGLEVEL} qui sera utilisé.
1129
1130 @item --info-images-dir=@var{répertoire}
1131 Formate la sortie Texinfo de telle sorte que Info cherche les images
1132 de musique dans @var{répertoire}.
1133
1134 @item --latex-program=@var{programme}
1135 Utilise l'exécutable @command{programme} en lieu et place de
1136 @command{latex}.  C'est l'option que vous utiliserez si vous préférez
1137 @command{xelatex} par exemple.
1138
1139 @item --left-padding=@var{distance}
1140 Décale les figures EPS de @var{distance} -- exprimée en millimètres
1141 (3 par défaut).  Cette option est utile lorsque les lignes de musique
1142 débordent sur la marge droite.
1143
1144 Rappelez-vous que la largeur d'un système dépend des élément contenus
1145 dans sa marge gauche, tels que numéro de mesure et nom d'instrument.
1146 Cette option permet de @qq{raccourcir} les lignes et de les décaler vers
1147 la droite, de la distance donnée en argument.
1148
1149 @item -P @var{commande}
1150 @itemx --process=@var{commande}
1151 Traite les extraits LilyPond avec @var{commande}.  Par défaut, il s'agit
1152 de @code{lilypond}.@*
1153 Rappelez-vous que @code{lilypond-book} ne peut en même temps traiter
1154 l'option @option{--filter} et l'option @option{--process}.
1155
1156 @item --pdf
1157 Crée des fichiers PDF pour les retraiter avec PDF@LaTeX{}.
1158
1159 @item --redirect-lilypond-output
1160 Le résultat des commandes est habituellement affiché dans le terminal.
1161 Cette option permet de rediriger tout le verbiage dans un journal situé
1162 dans le même répertoire que le fichier source.
1163
1164 @item --use-source-file-names
1165 Cette option permet d'affecter aux fichiers correspondant aux extraits
1166 de musique le même nom que leur source.  Elle n'est fonctionnelle que
1167 dans le cas où la partition est incluse à l'aide de @code{lilypondfile},
1168 et que les répertoires mentionnés par les options @code{--output-dir} et
1169 @code{--lily-output-dir} diffèrent.
1170
1171 @item -V
1172 @itemx --verbose
1173 @command{lilypond-book} sait être volubile !  Cette option est
1174 équivalente à @code{--loglevel=DEBUG}.
1175
1176 @item -v
1177 @itemx --version
1178 Affiche le numéro de version.
1179 @end table
1180
1181
1182 @knownissues
1183
1184 @code{lilypond-book} ne sait pas interpréter la commande Texinfo
1185 @code{@@pagesize}.  Dans le même ordre d'idée, des commandes @LaTeX{}
1186 modifiant les marges et longueur de ligne mentionnées après le préambule
1187 seront ignorées.
1188
1189 Lorsqu'une section LilyPond contient plusieurs @code{\score}, seul le
1190 premier sera traité.
1191
1192
1193 @node Extensions de nom de fichier
1194 @section Extensions de nom de fichier
1195 @translationof Filename extensions
1196
1197 Vous pouvez affecter à votre fichier source n'importe quelle extension.
1198 Nous vous recommandons cependant un certain nombre d'extensions selon le
1199 format de sortie désiré -- voir @ref{Utilisation de lilypond-book}.  Une
1200 extension hors du commun vous obligera à spécifier le format de sortie,
1201 alors que @code{lilpond-book} est en mesure de déterminer le format de
1202 sortie en fonction de l'extension du fichier source.
1203
1204 @quotation
1205 @multitable @columnfractions .2 .5
1206 @item @strong{extension} @tab @strong{format résultant}
1207 @item
1208 @item @file{.html} @tab HTML
1209 @item @file{.htmly} @tab HTML
1210 @item @file{.itely} @tab Texinfo
1211 @item @file{.latex} @tab @LaTeX{}
1212 @item @file{.lytex} @tab @LaTeX{}
1213 @item @file{.lyxml} @tab DocBook
1214 @item @file{.tely} @tab Texinfo
1215 @item @file{.tex} @tab @LaTeX{}
1216 @item @file{.texi} @tab Texinfo
1217 @item @file{.texinfo} @tab Texinfo
1218 @item @file{.xml} @tab HTML
1219 @end multitable
1220 @end quotation
1221
1222 Lorsque le fichier source a la même extension que celle que
1223 @code{lilypond-book} affectera au fichier résultant et que vous
1224 lancez @code{lilypond-book} à partir du répertoire le contenant, vous
1225 verrez assurément un message du type @qq{La sortie va écraser le fichier
1226 d'entrée}.  Aussi ne saurions-nous trop vous conseiller d'utiliser
1227 l'option @option{--output}.
1228
1229
1230 @node  Modèles pour lilypond-book
1231 @section Modèles pour lilypond-book
1232 @translationof lilypond-book templates
1233
1234 Voici quelques canevas dédiés à @code{lilypond-book}.  Si vous ne savez
1235 pas de quoi il retourne, lisez le chapitre @ref{lilypond-book}.
1236
1237
1238 @subsection @LaTeX{}
1239
1240 Vous pouvez inclure des partitions LilyPond dans un document LaTeX.
1241
1242 @example
1243 \documentclass[]@{article@}
1244
1245 \begin@{document@}
1246
1247 Des bananes alitées sur du LaTeX.
1248
1249 \begin@{lilypond@}
1250 \relative @{
1251   a'4 b c d
1252 @}
1253 \end@{lilypond@}
1254
1255 Encore des banalités LaTeX, puis quelques options entre crochets.
1256
1257 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1258 d4 c b a
1259 \end@{lilypond@}
1260 \end@{document@}
1261 @end example
1262
1263
1264 @subsection Texinfo
1265
1266 Un document Texinfo est tout à fait capable de comporter des fragments
1267 de partition LilyPond.  Si vous ne le savez pas encore, sachez que
1268 l'intégralité de ce manuel est rédigée en Texinfo.
1269
1270 @example
1271 \input texinfo @c -*-texinfo-*-
1272 @@node Top
1273 @@top
1274
1275 Du verbiage à la mode Texinfo
1276
1277 @@lilypond
1278 \relative @{
1279   a4 b c d
1280 @}
1281 @@end lilypond
1282
1283 Toujours plus de texte Texinfo, puis des options entre crochets.
1284
1285 @@lilypond[verbatim,fragment,ragged-right]
1286 d4 c b a
1287 @@end lilypond
1288
1289 @@bye
1290 @end example
1291
1292
1293 @subsection html
1294
1295 @example
1296 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1297 <!-- header_tag -->
1298 <HTML>
1299 <body>
1300
1301 <p>
1302 Un document pour lilypond-book peut absolument mélanger musique et
1303 texte.  Par exemple,
1304 <lilypond>
1305 \relative @{
1306   a'4 b c d
1307 @}
1308 </lilypond>
1309 </p>
1310
1311 <p>
1312 Pourquoi pas un peu plus de lilypond, avec des options pour changer :
1313
1314 <lilypond fragment quote staffsize=26 verbatim>
1315 a4 b c d
1316 </lilypond>
1317 </p>
1318
1319 </body>
1320 </html>
1321
1322
1323 @end example
1324
1325
1326 @subsection xelatex
1327
1328 @verbatim
1329 \documentclass{article}
1330 \usepackage{ifxetex}
1331 \ifxetex
1332 %pour ce qui est de xetex
1333 \usepackage{xunicode,fontspec,xltxtra}
1334 \setmainfont[Numbers=OldStyle]{Times New Roman}
1335 \setsansfont{Arial}
1336 \else
1337 %inutile en l'absence de pdftex
1338 \usepackage[T1]{fontenc}
1339 \usepackage[utf8]{inputenc}
1340 \usepackage{mathptmx}%Times
1341 \usepackage{helvet}%Helvetica
1342 \fi
1343 %ici les paquetages que pdftex sait interpréter
1344 \usepackage[ngerman,finnish,english]{babel}
1345 \usepackage{graphicx}
1346
1347 \begin{document}
1348 \title{Un petit document avec LilyPond et xelatex}
1349 \maketitle
1350
1351 Les commandes habituelles de \textbf{fontes} sont fonctionnelles y
1352 compris au fil du texte, étant donné qu'\textsf{elles sont prises en
1353 charge par \LaTeX{} and XeteX.} Lorsque vous avez besoin de commandes
1354 particulières du style \verb+\XeTeX+, pensez à les inclure dans un
1355 environnement \verb+\ifxetex+. Vous pourrez ainsi utiliser la \ifxetex
1356 commande \XeTeX{} \else commande XeTeX \fi qui, elle, n'est pas reconnue
1357 par le \LaTeX traditionnel.
1358
1359 Vous pouvez inclure des commandes LilyPond directement dans votre texte,
1360 comme ici~:
1361
1362 \begin{lilypond}
1363 {a2 b c'8 c' c' c'}
1364 \end{lilypond}
1365
1366 \noindent
1367 puis reprendre le fil de votre discours.
1368
1369 Les fontes utilisées dans les extraits LilyPond  devront être définies
1370 au sein de l'extrait. Lisez le manuel d'utilisation si vous ne
1371 maîtrisez pas lilypond-book.
1372
1373 \selectlanguage{ngerman}
1374 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle anderen
1375 seltsamen Zeichen: ß, æ, ł, ã, č, wenn sie von der Schriftart unterstützt
1376 werden.
1377
1378 \end{document}
1379 @end verbatim
1380
1381
1382 @node Gestion de la table des matières
1383 @section Gestion de la table des matières
1384 @translationof Sharing the table of contents
1385
1386 Les fonctions ici mentionnées sont incluses dans le paquetage
1387 OrchestralLily, disponible sur
1388
1389 @example
1390 @url{http://repo.or.cz/w/orchestrallily.git}
1391 @end example
1392
1393 Certains utilisateurs privilégient la flexibilité dans la gestion du
1394 texte ; ils génèrent la table des matières à partir de LilyPond et
1395 la récupèrent dans @LaTeX{}.
1396
1397
1398 @subsubheading Export de la table à partir de LilyPond
1399
1400 Nous partons du principe que LilyPond a généré un seul fichier
1401 comportant tous les mouvement de la partition.
1402
1403 @smallexample
1404 #(define (oly:create-toc-file layout pages)
1405   (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1406     (if (not (null? label-table))
1407       (let* ((format-line (lambda (toc-item)
1408              (let* ((label (car toc-item))
1409                     (text  (caddr toc-item))
1410                     (label-page (and (list? label-table)
1411                                      (assoc label label-table)))
1412                     (page (and label-page (cdr label-page))))
1413                (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1414              (formatted-toc-items (map format-line (toc-items)))
1415              (whole-string (string-join formatted-toc-items ",\n"))
1416              (output-name (ly:parser-output-name parser))
1417              (outfilename (format "~a.toc" output-name))
1418              (outfile (open-output-file outfilename)))
1419         (if (output-port? outfile)
1420             (display whole-string outfile)
1421             (ly:warning (_ "Impossible d'ouvrir le fichier ~a contenant les informations de TdM") outfilename))
1422         (close-output-port outfile)))))
1423
1424 \paper @{
1425   #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1426 @}
1427 @end smallexample
1428
1429
1430 @subsubheading Import de la table dans @LaTeX{}
1431
1432 L'entête de votre fichier @LaTeX{} doit comporter les lignes
1433
1434 @c no, this doesn't require the smallexample, but since the other
1435 @c two blocks on this page use it, I figured I might as well
1436 @c user it here as well, for consistency. -gp
1437 @smallexample
1438 \usepackage@{pdfpages@}
1439 \includescore@{nomdelapartition@}
1440 @end smallexample
1441
1442 @noindent
1443 où @code{\includescore} est défini ainsi :
1444
1445 @smallexample
1446 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1447 % \includescore@{PossibleExtension@}
1448 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1449
1450 % Read in the TOC entries for a PDF file from the corresponding .toc file.
1451 % This requires some heave latex tweaking, since reading in things from a file
1452 % and inserting it into the arguments of a macro is not (easily) possible
1453
1454 % Solution by Patrick Fimml on #latex on April 18, 2009:
1455 % \readfile@{filename@}@{\variable@}
1456 % reads in the contents of the file into \variable (undefined if file
1457 % doesn't exist)
1458 \newread\readfile@@f
1459 \def\readfile@@line#1@{%
1460 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1461 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1462 \ifeof\readfile@@f\else%
1463 \readfile@@line@{#1@}%
1464 \fi%
1465 @}
1466 \def\readfile#1#2@{%
1467 \openin\readfile@@f=#1 %
1468 \ifeof\readfile@@f%
1469 \typeout@{No TOC file #1 available!@}%
1470 \else%
1471 \gdef#2@{@}%
1472 \readfile@@line@{#2@}%
1473 \fi
1474 \closein\readfile@@f%
1475 @}%
1476
1477
1478 \newcommand@{\includescore@}[1]@{
1479 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1480 \let\oly@@addtotoc\undefined
1481 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1482 \ifx\oly@@addtotoc\undefined
1483 \includepdf[pages=-]@{\oly@@fname@}
1484 \else
1485 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1486 @{\oly@@fname@}@}\includeit
1487 \fi
1488 @}
1489 @end smallexample
1490
1491
1492 @node Autres méthodes d'association texte-musique
1493 @section Autres méthodes d'association texte-musique
1494 @translationof Alternate methods of mixing text and music
1495
1496 D'autres moyens de mélanger musique et texte sans recourir à
1497 @command{lilypond-book} sont abordés au chapitre
1498 @ref{Inclusion de partition LilyPond dans d'autres programmes}.