]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/user/text.itely
Merge branch 'master' into dev/texi2html
[lilypond.git] / Documentation / fr / user / text.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: bdf8540b74167817eab96ed3d13b35477217f9fe
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @c \version "2.11.51"
10
11 @c Translators: Jean-Charles Malahieude
12 @c Translation checkers: Valentin Villenave, John Mandereau
13
14 @node Text
15 @section Text
16
17 @lilypondfile[quote]{text-headword.ly}
18
19 Nous allons voir ici comment insérer dans une partition du texte, avec
20 différentes possibilité de formatage.
21
22 @cindex Texte, autres langues
23 Pour écrire des accents et autres caractères spéciaux, il suffit de
24 les insérer directement dans votre fichier LilyPond.  Ce fichier devra
25 être sauvegardé avec l'encodage UTF-8.  Pour plus d'informations, voir
26 @ref{Text encoding}.
27
28 @menu
29 * Writing text::                
30 * Formatting text::             
31 * Fonts::                       
32 @end menu
33
34
35 @node Writing text
36 @subsection Writing text
37
38 @menu
39 * Text scripts::                
40 * Text and line spanners::      
41 * Text spanners::               
42 * Text marks::                  
43 * New dynamic marks::           
44 @end menu
45
46 @node Text scripts
47 @unnumberedsubsubsec Text scripts
48
49 @c I'm not fond of this "étiquette" wording of yours Jean-Charles;
50 @c j'utiliserais simplement l'expression "bloc \markup" afin
51 @c d'éviter toute confusion avec les \tags (qui méritent davantage
52 @c le titre d'étiquette, stricto sensu) -vv
53
54 @cindex Étiquette de texte
55 @cindex blocs de texte
56 @cindex ajout de texte
57
58 Vous pouvez placer arbitrairement des chaînes de caractères, ou
59 @ref{Formatting text} en langage LilyPond, au dessus ou au dessous des
60 notes en employant la syntaxe @code{c^"text"}.  Par défaut, ces
61 indications n'affecteront en rien l'espacement des notes, sauf à
62 utiliser la commande @code{\textLengthOn}.
63
64 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
65 c4^"longtext" \textLengthOn c4_"longlongtext" c4
66 @end lilypond
67
68 @noindent
69 Pour revenir à l'espacement par défaut, utilisez @code{\textLengthOff}.
70
71 Des constructions plus élaborées d'étiquette peuvent être obtenues en
72 ayant recours à la commande @emph{markup} :
73
74 @lilypond[fragment,ragged-right,verbatim,quote]
75 c'4^\markup { bla \bold bla }
76 @end lilypond
77
78 La commande @code{\markup} est décrite plus en détails dans la section
79 @ref{Formatting text}.
80
81
82 @predefined
83
84 @funindex \textLengthOn
85 @code{\textLengthOn},
86 @funindex \textLengthOff
87 @code{\textLengthOff}.
88
89
90 @commonprop
91
92 S'assurer que tous les éléments textuels et les paroles respectent
93 les marges du document requiert des calculs relativement lourds ; c'est
94 la raison pour laquelle LilyPond, par défaut, ne s'en préoccupe pas.
95 Vous pouvez cependant l'y forcer en définissant
96
97 @example
98 \override Score.PaperColumn #'keep-inside-line = ##t
99 @end example
100
101
102 @seealso
103
104 Dans ce manuel : @ref{Formatting text}.
105
106 Référence du programme : @rinternals{TextScript}.
107
108
109 @node Text and line spanners
110 @unnumberedsubsubsec Text and line spanners
111
112 Certaines indications d'interprétation comme @i{rallentando}, 
113 @i{accelerando} ou @i{trilles}, s'incrivent textuellement et se
114 prolongent sur plusieurs mesures à l'aide d'une ligne pleine, pointillée
115 ou ondulée.
116
117 Les routines chargées de matérialiser un @emph{glissando} sont tout à
118 fait adaptées à une gestion précise, à la fois du placement du texte, et
119 du calcul de l'envergure de sa ligne d'extension.  La routine
120 @code{ly:line-interface::print} est plus particulièrement en charge de
121 déterminer les points d'ancrage de la ligne et de la dessiner selon le
122 style requis.
123   
124 Voici un exemple qui illustre les différents styles de ligne
125 disponibles, ainsi que la manière de les personnaliser.
126
127 @lilypond[relative=2,ragged-right,verbatim,fragment]
128 d2 \glissando d'2
129 \once \override Glissando #'style = #'dashed-line
130 d,2 \glissando d'2
131 \override Glissando #'style = #'dotted-line
132 d,2 \glissando d'2
133 \override Glissando #'style = #'zigzag
134 d,2 \glissando d'2
135 \override Glissando #'style = #'trill
136 d,2 \glissando d'2
137 @end lilypond
138
139 L'information qui va déterminer les extrémités est calculée à la
140 volée pour chaque objet graphique.  Il est tout à fait possible de les
141 régler vous-même :
142
143 @lilypond[relative=2,ragged-right,verbatim,fragment]
144 e2 \glissando f
145 \once \override Glissando #'bound-details #'right #'Y = #-2
146 e2 \glissando f
147 @end lilypond
148
149 L'objet @code{Glissando}, comme tous ceux qui utilisent la routine
150 @code{ly:line-interface::print}, comporte une liste 
151 d'associations.  Dans le code ci-dessus, la valeur de @code{Y} est
152 fixée, dans la liste d'associations, à @code{-2} pour l'ancrage à
153 droite.  Vous pouvez naturellement ajuster l'extrémité gauche en
154 remplaçant @code{right} (pour @code{droite}) par @code{left}.
155
156 Si @code{Y} n'est pas fixé, sa valeur sera calculée en fonction de la
157 hauteur du point de référence droite de la ligne.
158
159 Lorsque survient un saut de ligne, la liste des ancrages est
160 augmentée d'une liste complémentaire contenant @code{left-broken}
161 (brisure à gauche) et @code{right-broken} (brisure à droite), comme
162 dans l'exemple suivant :
163
164 @lilypond[relative=2,ragged-right,verbatim,fragment]
165 \override Glissando #'breakable = ##T 
166 \override Glissando #'bound-details #'right-broken #'Y = #-3
167 c1 \glissando \break
168 f1
169 @end lilypond
170
171 Vous disposez des propriétés suivantes :
172
173 @table @code
174 @item Y
175 Fixe l'ordonnée (coordonnée-Y) de l'extrémité, mesurée en taille de
176 portée.  Il s'agit par défaut du centre de l'objet de rattachement ;
177 pour un glissando, ce sera le milieu de la tête de note.
178
179 Pour des marques horizontales, telles du texte ou le trait d'un
180 trille, cette valeur est figée à 0.
181
182 @item attach-dir
183 Détermine l'endroit où la ligne commence et finit, relativement à
184 l'objet de rattachement. Autrement dit, une valeur de @code{-1} (ou
185 @code{LEFT} pour gauche) fera commencer ou finir la ligne du côté
186 gauche de la tête de note de référence.
187
188 @item X
189 Coordonnée absolue du point final. Dans la mesure où elle est calculée
190 à la volée, il n'y a pas vraiment de raison de l'outrepasser.
191
192 @item stencil
193 Sous-propriété contenant les éventuels symboles présents avant ou
194 après la ligne. Destinée à un usage interne, nous vous recommendons
195 d'utiliser plutôt @code{text}.
196
197 @item text
198 Marqueur qui sera analysé pour alimenter @code{stencil}.  On y trouve
199 habituellement les @i{cresc.} ou @i{tr} des extenseurs horizontaux.
200
201 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
202 \override TextSpanner #'bound-details #'left #'text
203    = \markup { \small \bold Slower }
204 c2\startTextSpan b c a\stopTextSpan
205 @end lilypond
206
207 @item stencil-align-dir-y
208 @item stencil-offset
209 Lorsqu'ils ne sont pas définis, le tracé est tout simplement
210 positionné conformément aux sous-propriétés @code{X} et @code{Y}.  En
211 fixant soit @code{stencil-align-dir-y}, soit @code{stencil-offset},
212 vous pouvez décaler le coin du marqueur par rapport à l'extrémité de
213 la ligne.
214
215 @lilypond[relative=1,fragment,verbatim]
216 \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN
217 \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP
218
219 \override TextSpanner #'bound-details #'left #'text = #"gggg"
220 \override TextSpanner #'bound-details #'right #'text = #"hhhh"
221 c4^\startTextSpan c c c \stopTextSpan
222 @end lilypond
223
224 @item arrow
225 Assigner à cette sous-propriété la valeur @code{vrai} (@code{#t})
226 produira une terminaison en pointe de flèche.
227
228 @item padding
229 Cette sous-propriété contrôle l'espace entre les extrémités de la
230 ligne, telles que définies, et la réalité.  Sans ce léger décalage, le
231 début et la fin d'un glissando seraient en plein milieu des têtes de note.
232
233 @end table
234
235 @seealso
236
237 Référence du programme : @rinternals{TextSpanner},
238 @rinternals{Glissando}, @rinternals{VoiceFollower},
239 @rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
240
241 Exemples : @rlsr{Expressive marks}.
242
243
244 @node Text spanners
245 @unnumberedsubsubsec Text spanners
246
247 @cindex Prolongateurs de texte
248
249 Certaines indications d'interprétation comme @i{rallentando} ou 
250 @i{accelerando} s'incrivent en toutes lettres et se prolongent sur
251 plusieurs mesures grâce à une ligne pointillée.  Les commandes
252 @code{\startTextSpan} et @code{\stopTextSpan}, respectivement
253 attachées à la première et à la dernière note qu'elles concernent,
254 déterminent l'envergure de ces prolongateurs, ou extenseurs.
255
256 La chaîne à imprimer, ainsi que son style, sont définis par des
257 propriétés, comme ici :
258
259 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
260 c1
261 \textSpannerDown
262 \override TextSpanner #'bound-details #'left #'text =
263   \markup { \upright "rall" } 
264 c2\startTextSpan b c\stopTextSpan a
265 \break
266 \textSpannerUp
267 \override TextSpanner #'bound-details #'left #'text =
268   \markup { \italic "rit" } 
269 c2\startTextSpan b c\stopTextSpan a
270 @end lilypond
271
272 @predefined
273
274 @funindex textSpannerUp
275 @code{\textSpannerUp},
276 @funindex textSpannerDown
277 @code{\textSpannerDown},
278 @funindex textSpannerNeutral
279 @code{\textSpannerNeutral}.
280
281
282 @commonprop
283
284 Pour obtenir une ligne pleine, utilisez
285
286 @example
287 \override TextSpanner #'style = #'line
288 @end example
289
290
291 @seealso
292
293 Référence du programme : @rinternals{TextSpanner}.
294
295
296 @node Text marks
297 @unnumberedsubsubsec Text marks
298
299 @cindex coda sur une barre de mesure
300 @cindex segno sur une barre de mesure
301 @cindex point d'orgue sur une barre de mesure
302 @cindex barres de mesure, symboles au dessus de
303 @funindex \mark
304
305 La commande @code{\mark} est tout d'abord conçue pour les
306 @ref{Rehearsal marks}.  Elle peut néanmoins servir à insérer des
307 signes de coda ou de segno, ou bien un point d'orgue, au dessus d'une
308 barre de mesure.  Couplez-la alors à la commande @code{\markup} pour
309 avoir accès au symbole approprié (ils sont répertoriés dans 
310 @ref{The Feta font}).
311
312
313 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
314 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
315 c1
316 @end lilypond
317
318 @noindent
319 Le résultat de @code{\mark} n'apparaîtra que sur la portée supérieure
320 d'un système.  Si vous introduisez la commande @code{\mark} au moment
321 d'une barre de mesure, la marque se placera au dessus de la barre.  Si
322 vous y faites appel au milieu d'une mesure, cette marque sera
323 positionnée entre les notes.  Si elle intervient en début de ligne,
324 elle sera placée juste avant la première note de cette portée.  Enfin,
325 une marque qui tomberait sur un saut de ligne sera imprimée au début
326 de la ligne suivante.
327 @c  IMO this is a bug; hopefully it'll be fixed soon, so I can
328 @c  delete this sentence.   -gp
329 Au cas où il n'y aurait pas de ligne à suivre, la marque ne sera pas imprimée.
330
331
332 @commonprop
333
334 Pour imprimer une marque à la fin de la portée en cours, procédez
335 ainsi :
336
337 @example
338 \override Score.RehearsalMark
339   #'break-visibility = #begin-of-line-invisible
340 @end example
341
342 @code{\mark} est souvent bien utile pour porter une indication à la
343 fin d'une mesure.  Pensez alors à modifier la propriété
344 @code{#'self-alignment}.  
345
346 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
347 \override Score.RehearsalMark
348   #'break-visibility = #begin-of-line-invisible
349 c1 c c c4 c c c
350 \once \override Score.RehearsalMark #'self-alignment-X = #right
351 \mark "D.S. al Fine "
352 @end lilypond
353
354 Les indications textuelles peuvent s'aligner par rapport à d'autres
355 objets que des barres de mesure, tels que l'armure, la clé ou le chiffre de
356 mesure : 
357
358 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
359 \relative {
360   c1
361   \key cis \major
362   \clef alto
363   \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
364   \mark "on key"
365   cis
366   \key ces \major
367   \override Score.RehearsalMark #'break-align-symbols = #'(clef)
368   \clef treble
369   \mark "on clef"
370   ces
371   \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
372   \key d \minor
373   \clef tenor
374   \time 3/4
375   \mark "on time"
376   c
377 }
378 @end lilypond
379
380 Les symboles pris en charge par @code{break-align-symbols} sont :
381 @code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
382 @code{staff-bar}, @code{left-edge}, @code{key-cancellation},
383 @code{key-signature}, et @code{time-signature}.
384
385 Par défaut, les indications textuelles sont alignées avec le milieu
386 des objets de notation. Bien entendu, vous pouvez modifier les
387 propriétés @code{break-align-anchor-alignment} ou
388 @code{break-align-anchor} des objets en question pour obtenir un autre
389 résultat.
390
391 @c KEEP LY
392 @lilypond[fragment,quote,ragged-right,verbatim]
393 {
394   \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
395   c1
396   \key cis \major
397
398   % La marque sera alignée sur le côté gauche de l'armure
399   \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
400   \mark \default
401   cis1
402   \key ces \major
403
404   % La marque sera alignée sur le côté droit de l'armure
405   \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
406   \mark \default
407   ces1
408   \key cis \major
409
410   %  La marque sera alignée sur le côté gauche de l'armure,
411   % puis décalée vers la droite de 2 unités.
412   \once \override Staff.KeySignature #'break-align-anchor = #2
413   \mark \default
414   ces1
415 }
416 @end lilypond
417
418 Bien que ces indications textuelles ne soient habituellement imprimées
419 qu'au niveau de la portée supérieure, vous pouvez forcer leur
420 affectation à chacune des portées :
421
422 @lilypond[quote,ragged-right,verbatim,relative=2]
423 {
424   \new Score \with {
425     \remove "Mark_engraver"
426   }
427   <<
428     \new Staff \with {
429       \consists "Mark_engraver"
430     }
431     { c''1 \mark "foo" c'' }
432     \new Staff \with {
433       \consists "Mark_engraver"
434     }
435     { c'1 \mark "foo" c' }
436   >>
437 }
438 @end lilypond
439
440
441 @seealso
442
443 Référence du programme : @rinternals{RehearsalMark}.
444
445
446 @node New dynamic marks
447 @unnumberedsubsubsec New dynamic marks
448
449 Grâce à la commande @code{make-dynamic-script}, vous pouvez créer de
450 nouvelles marques textuelles de nuances que vous combinerez
451 éventuellement avec les signes de nuances.
452 Notez bien que la police des nuances en contient que les caractères
453 @code{f,m,p,r,s} and @code{z}. 
454
455 Certains composants, tels que les marques de nuances, possèdent des
456 propriétés particulières et prédéfinies quant à leur police.  Lorsque
457 vous créez du texte en pareille situation, nous vous recommandons
458 d'utiliser @code{normal-text} pour annuler ces propriétés.  Voir 
459 @ref{Text markup commands} pour plus de détails.
460
461 @cindex make-dynamic-script
462
463 @lilypond[quote,verbatim,ragged-right]
464 sfzp = #(make-dynamic-script "sfzp")
465 \relative c' {
466   c4 c c\sfzp c
467 }
468 @end lilypond
469
470 @cindex Nuances éditoriales
471 @cindex Nuances, entre parenthèses
472
473 Vous pouvez aussi encadrer les nuances entre parenthèses ou entre
474 crochets.  Ceci est souvent utilisé pour ajouter des nuances propres à
475 une édition donnée.
476
477 @lilypond[quote,verbatim,ragged-right]
478 rndf = \markup{ \center-align {\line { \bold{\italic (}
479   \dynamic f \bold{\italic )} }} }
480 boxf = \markup{ \bracket { \dynamic f } }
481 { c'1_\rndf c'1_\boxf }
482 @end lilypond
483
484
485
486 @node Formatting text
487 @subsection Formatting text
488
489 @menu
490 * Text markup introduction::    
491 * Nested scores::               
492 * Page wrapping text::          
493 @end menu
494
495 @node Text markup introduction
496 @unnumberedsubsubsec Text markup introduction
497
498 @cindex étiquette
499 @cindex commentaire textuel
500 @cindex étiquette textuelle
501 @cindex texte ajouté
502
503 La commande @code{\markup} permet d'ajouter du texte.  Vous pouvez y
504 inclure des commandes, précédées d'un antislash @code{\} ; les
505 caractères @code{\} et @code{#} doivent être encadrés de guillemets
506 informatiques @code{"}.
507
508 @lilypond[quote,verbatim,fragment,relative=1]
509 c1^\markup { hello }
510 c1_\markup { hi there }
511 c1^\markup { hi \bold there, is \italic {anyone home?} }
512 c1_\markup { "\special {weird} #characters" }
513 @end lilypond
514
515 @noindent
516 Pour une liste des différentes commandes disponibles, consultez
517 @ref{Text markup commands}. 
518
519
520 @code{\markup} est avant tout conçu pour gérer les
521 @rinternals{TextScript}s, mais rien ne s'oppose à son utilisation
522 pour traiter du texte avec LilyPond.
523
524 @lilypond[quote,verbatim]
525 \header{ title = \markup{ \bold { foo \italic { bar! } } } }
526 \score{
527   \relative c'' {
528     \override Score.RehearsalMark
529       #'break-visibility = #begin-of-line-invisible
530     \override Score.RehearsalMark #'self-alignment-X = #right
531
532     \set Staff.instrumentName = \markup{ \column{ Alto solo } }
533     c2^\markup{ don't be \flat }
534     \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
535     b2\startTextSpan
536     a2\mark \markup{ \large \bold Fine }
537     r2\stopTextSpan
538     \bar "||"
539   }
540   \addlyrics { bar, foo \markup{ \italic bar! } }
541 }
542 @end lilypond
543
544 La commande @code{\markup} peut intervenir à tout moment, y compris en
545 dehors d'un bloc @code{\score}. Voir à ce sujet 
546 @ref{Multiple scores in a book}. 
547
548 @lilypond[quote,ragged-right,verbatim]
549 \markup{ Here is some text. }
550 @end lilypond
551
552 @cindex changer de police
553
554 Le @emph{markup} de l'exemple précédent montre comment utiliser les
555 commandes de changement de police. Les commandes @code{\bold} et
556 @code{\italic} n'affectent que le premier mot qui les suit ; encadrez
557 les par des accolades si vous désirez que ces commandent s'appliquent
558 à plusieurs mots.
559
560 @example
561 \markup @{ \bold @{ c'est moi @} @}
562 @end example
563
564 @noindent
565 Une bonne habitude à prendre consiste à utiliser des accolades même
566 pour un seul mot, comme ici :
567 @example
568 \markup @{ qui \italic @{ est @} là ? @}
569 @end example
570
571 En mode @emph{markup}, vous pouvez composer des expressions comme
572 en mathématiques, des documents XML ou bien les expressions musicales.
573 Vous pouvez empiler ces expressions grâce à la commande
574 @code{\column}, ou les centrer par rapport à leur milieu avec
575 @code{\center-align}. 
576
577 @lilypond[quote,verbatim,fragment,relative=1]
578 c1^\markup { \column { a bbbb \line { c d } } }
579 c1^\markup { \center-align { a bbbb c } }
580 c1^\markup { \line { a b c } }
581 @end lilypond
582
583 Des listes non précédées de commande ne sont pas isolées. Ainsi, 
584 @example
585 \center-align @{ @{ a b @} @{ c d @} @}
586 @end example
587
588 @noindent
589
590 est la même expression que
591
592 @example
593 \center-align @{ a b c d @}
594 @end example
595
596 @noindent
597
598 L'utilisation des @code{"} ou de la commande @code{\line} permet de
599 différencier les listes de mots.
600
601 @lilypond[quote,verbatim,fragment,relative=1]
602 \textLengthOn
603 c4^\markup{ \center-align { on three lines } }
604 c4^\markup{ \center-align { "all one line" } }
605 c4^\markup{ \center-align { { on three lines } } }
606 c4^\markup{ \center-align { \line { on one line } } }
607 @end lilypond
608
609 Vous pouvez stocker les étiquettes textuelles en tant que variables,
610 et attacher ces identificateurs à des notes, comme
611 @example
612 allegro = \markup @{ \bold \large @{ Allegro @} @}
613  @{ a^\allegro b c d @}
614 @end example
615
616 Certains objets possèdent leurs propres procédures d'alignement, qui
617 annuleront toute spécification d'alignement que vous pourriez affecter
618 à un argument de type @emph{markup} que vous leur auriez fourni.  Par
619 exemple, les @rinternals{RehearsalMark} sont centrées
620 horizontalement ; de fait, utiliser 
621 @code{\mark \markup @{ \left-align .. @}} sera sans effet.
622
623 Par ailleurs, le placement vertical n'est effectué qu'après la
624 création de l'objet @emph{étiquette textuelle}. Si donc vous souhaitez
625 déplacer une étiquette, il vous faudra utiliser la propriété
626 @code{#'padding} ou créer un @qq{point d'ancrage} à l'intérieur même
627 de l'étiquette (généralement avec @code{\hspace #0}).
628
629 @lilypond[quote,verbatim,fragment,relative=1]
630 \textLengthOn
631 c'4^\markup{ \raise #5 "not raised" }
632 \once \override TextScript #'padding = #3
633 c'4^\markup{ raised }
634 c'4^\markup{ \hspace #0 \raise #1.5 raised }
635 @end lilypond
636
637 Certaines situations particulières, telles que les indications de
638 nuance, possèdent des propriétés prédéfinies quant à leur police.
639 Nous vous conseillons, en pareil cas, de réinitialiser ces propriétés
640 en utilisant @code{normal-text}.  Pour plus d'informations, consultez
641 @ref{Text markup commands}. 
642
643
644 @seealso
645
646 Dans ce manuel : @ref{Text markup commands}.
647
648 Référence du programme : @rinternals{TextScript}.
649
650 Fichiers d'initialisation : @file{scm/@/new@/-markup@/.scm}.
651
652
653 @knownissues
654
655 Le crénage ou la génération de ligatures ne sont accessibles que lors
656 d'un retraitement par @TeX{}.  Dans ce cas, LilyPond n'en tient pas
657 compte, et l'espacement de tels textes sera trop large.
658
659 Les erreurs de syntaxe sont peu loquaces.
660
661
662 @node Nested scores
663 @unnumberedsubsubsec Nested scores
664
665 Rien ne s'oppose à ce qu'une étiquette ne comporte de la musique.  Il
666 suffit que l'expression en question contienne un bloc @code{\score} et
667 un bloc @code{\layout}.
668
669 @lilypond[quote,verbatim,ragged-right]
670 \relative {
671   c4 d^\markup {
672     \score {
673       \relative { c4 d e f }
674       \layout { }
675     }
676   }
677   e f
678 }
679 @end lilypond
680
681 @node Page wrapping text
682 @unnumberedsubsubsec Page wrapping text
683 Alors que @code{\markup} s'utilise pour traiter un bloc de texte
684 insécable, @code{\markuplines} permet, employé en tête de partition,
685 d'obtenir un bloc de lignes réparties différemment et au cas où sur
686 plusieurs pages.
687
688 @verbatim
689 \markuplines {
690   \justified-lines {
691     Un long texte constitué de lignes justifiées.
692     ...
693   }
694   \justified-lines {
695     Un autre grand paragraphe justifié.
696     ...
697   }
698   ...
699 }
700 @end verbatim
701
702 @code{\markuplines} prend en argument une liste de lignes de texte,
703 qui peut elle-même consister en une suite de commandes générant à leur
704 tour des lignes de texte, comme ici :
705
706 @verbatim
707 \markuplines {
708   \line { ... }    % une ligne alignée à gauche
709   \fill-line { \line { ... } } % une ligne centrée
710   \wordwrap-lines { ... } % une liste de lignes alignées à gauche
711   \justified-lines { ... } % une liste de lignes justifiées
712 }
713 @end verbatim
714
715 Les différentes commandes permettant de générer des listes de lignes
716 se trouve dans @ref{Text markup list commands}.
717
718 @seealso
719
720 Dans ce manuel : @ref{Text markup list commands}, 
721 @ref{New markup list command definition}.
722
723 @predefined
724
725 @funindex \markuplines
726 @code{\markuplines}
727
728
729 @node Fonts
730 @subsection Fonts
731
732 @cindex sélection de polices
733 @cindex grossissement des polices
734 @funindex font-interface
735
736 C'est en jouant sur les propriétés des objets décrites ci-après que
737 vous pourrez sélectionner une police parmi les familles de fontes
738 préconfigurées.  LilyPond utilise par défaut la police musicale feta.
739 Pour le texte, les polices sont sélectionnées par Pango/Fontconfig.
740 C'est New Century Schoolbook qui sert de police sérif par défaut, et
741 celles définies lors de l'installation de Pango pour ce qui est du
742 sans-serif et du @q{typewriter}.
743
744
745 @itemize @bullet
746 @item @code{font-encoding}
747 symbolise le tracé des glyphes. N'utilisez cette propriété que pour
748 traiter des éléments non textuels, comme :
749
750
751 @code{fetaBraces} pour les accolades de partition pianistique,
752 @code{fetaMusic} pour de la musique (y compris musique ancienne),
753 @code{fetaDynamic} pour les nuances et @code{fetaNumber} pour les
754 chiffres. 
755
756 @item @code{font-family}
757 symbolise les différentes familles de police : @code{roman} (Computer
758 Modern), @code{sans}-serif et @code{typewriter} (espacement fixe).
759
760 @item @code{font-shape}
761 symbolise le style des caractères. En pratique, chaque famille de
762 police dispose de @code{italic}, @code{caps} (petites capitales) ou
763 @code{upright} (droit).
764
765 @item @code{font-series}
766 symbolise le niveau de gras des caractères. Chaque style dispose, pour
767 chaque famille, de @code{medium} et @code{bold} (gras).
768
769 @end itemize
770
771 Les variantes ci-dessus mentionnées font référence à une feuille de
772 style prédéfinie.  Vous pouvez cependant faire appel à une autre
773 police, en utilisant la propriété @code{font-name} :
774
775 @lilypond[fragment,verbatim]
776 {
777   \override Staff.TimeSignature #'font-name = #"Charter"
778   \override Staff.TimeSignature #'font-size = #2
779   \time 3/4
780   c'1_\markup {
781     \override #'(font-name . "Vera Bold")
782       { This text is in Vera Bold }
783   }
784 }
785 @end lilypond
786
787 @noindent
788 Vous pouvez utiliser n'importe quelle police, du moment qu'elle est
789 accessible par Pango/Fontconfig.  Pour obtenir la liste de toutes
790 les polices disponibles sur votre machine, lancez
791 @example
792 lilypond -dshow-available-fonts blabla
793 @end example
794 (quel qu'il soit, le dernier argument est obligatoire).
795
796
797 La propriété @code{font-size} permet de régler la taille de la police.
798 La taille effective que vous obtiendrez dépend de
799 @code{text-font-size} tel que défini dans le bloc @code{\paper}.
800
801 @cindex taille de police
802 @cindex police, augmenter la taille
803
804
805 Vous pouvez aussi changer la police par défaut au niveau du document.
806 Il suffit alors de faire appel à @code{make-pango-font-tree} au sein
807 du bloc @code{paper}.  Vous définirez alors la police à utiliser pour
808 du texte respectivement en roman, sans serif et monospace, comme ici : 
809
810 @cindex polices, définir 
811 @cindex Pango
812
813
814 @lilypond[verbatim]
815 \paper  {
816   myStaffSize = #20
817
818   #(define fonts
819     (make-pango-font-tree "Times New Roman"
820                           "Nimbus Sans"
821                           "Luxi Mono"
822                            (/ myStaffSize 20)))
823 }
824
825 {
826   c'^\markup { roman: foo \sans bla \typewriter bar }
827 }
828 @end lilypond
829
830 @c we don't do Helvetica / Courier, since GS incorrectly loads
831 @c Apple TTF fonts
832
833
834
835 @seealso
836
837 Exemples : @rlsr{Text}.
838