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