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