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