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