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