Suivant : , Haut : Mise en forme du texte


Introduction aux étiquettes de texte

La commande \markup permet d'ajouter du texte. Vous pouvez y inclure des commandes, précédées d'un antislash \ ; les caractères \ et # doivent être encadrés de guillemets informatiques ".

     
     c1^\markup { hello }
     c1_\markup { hi there }
     c1^\markup { hi \bold there, is \italic {anyone home?} }
     c1_\markup { "\special {weird} #characters" }

[image of music]

Pour une liste des différentes commandes disponibles, consultez Text markup commands.

\markup est avant tout conçu pour gérer les TextScripts, mais rien ne s'oppose à son utilisation pour traiter du texte avec LilyPond.

     
     \header{ title = \markup{ \bold { foo \italic { bar! } } } }
     \score{
       \relative c'' {
         \override Score.RehearsalMark
           #'break-visibility = #begin-of-line-invisible
         \override Score.RehearsalMark #'self-alignment-X = #right
     
         \set Staff.instrumentName = \markup{ \column{ Alto solo } }
         c2^\markup{ don't be \flat }
         \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
         b2\startTextSpan
         a2\mark \markup{ \large \bold Fine }
         r2\stopTextSpan
         \bar "||"
       }
       \addlyrics { bar, foo \markup{ \italic bar! } }
     }

[image of music]

La commande \markup peut intervenir à tout moment, y compris en dehors d'un bloc \score. Voir à ce sujet Plusieurs partitions dans un même ouvrage.

     
     \markup{ Here is some text. }

[image of music]

Le markup de l'exemple précédent montre comment utiliser les commandes de changement de police. Les commandes \bold et \italic n'affectent que le premier mot qui les suit ; encadrez les par des accolades si vous désirez que ces commandent s'appliquent à plusieurs mots.

\markup { \bold { c'est moi } }

Une bonne habitude à prendre consiste à utiliser des accolades même pour un seul mot, comme ici :

\markup { qui \italic { est } là ? }

En mode markup, vous pouvez composer des expressions comme en mathématiques, des documents XML ou bien les expressions musicales. Vous pouvez empiler ces expressions grâce à la commande \column, ou les centrer par rapport à leur milieu avec \center-column.

     
     c1^\markup { \column { a bbbb \line { c d } } }
     c1^\markup { \center-column { a bbbb c } }
     c1^\markup { \line { a b c } }

[image of music]

Des listes non précédées de commande ne sont pas isolées. Ainsi,

\center-column { { a b } { c d } }

est la même expression que

\center-column { a b c d }

L'utilisation des " ou de la commande \line permet de différencier les listes de mots.

     
     \textLengthOn
     c4^\markup{ \center-column { on three lines } }
     c4^\markup{ \center-column { "all one line" } }
     c4^\markup{ \center-column { { on three lines } } }
     c4^\markup{ \center-column { \line { on one line } } }

[image of music]

Vous pouvez stocker les étiquettes textuelles en tant que variables, et attacher ces identificateurs à des notes, comme

allegro = \markup { \bold \large { Allegro } }
 { a^\allegro b c d }

Certains objets possèdent leurs propres procédures d'alignement, qui annuleront toute spécification d'alignement que vous pourriez affecter à un argument de type markup que vous leur auriez fourni. Par exemple, les RehearsalMark sont centrées horizontalement ; de fait, utiliser \mark \markup { \left-align .. } sera sans effet.

Par ailleurs, le placement vertical n'est effectué qu'après la création de l'objet étiquette textuelle. Si donc vous souhaitez déplacer une étiquette, il vous faudra utiliser la propriété #'padding ou créer un « point d'ancrage » à l'intérieur même de l'étiquette (généralement avec \hspace #0).

     
     \textLengthOn
     c'4^\markup{ \raise #5 "not raised" }
     \once \override TextScript #'padding = #3
     c'4^\markup{ raised }
     c'4^\markup{ \hspace #0 \raise #1.5 raised }

[image of music]

Certaines situations particulières, telles que les indications de nuance, possèdent des propriétés prédéfinies quant à leur police. Nous vous conseillons, en pareil cas, de réinitialiser ces propriétés en utilisant normal-text. Pour plus d'informations, consultez Text markup commands.

Voir aussi

Dans ce manuel : Text markup commands.

Référence du programme : TextScript.

Fichiers d'initialisation : scm/new-markup.scm.

Problèmes connus et avertissements

Le crénage ou la génération de ligatures ne sont accessibles que lors d'un retraitement par TeX. Dans ce cas, LilyPond n'en tient pas compte, et l'espacement de tels textes sera trop large.

Les erreurs de syntaxe sont peu loquaces.

Cette page documente LilyPond-2.11.58 (branche de développement).

Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs

Vos suggestions à propos de la documentation sont les bienvenues.

Autres langues : English, español.