[ << Musical notation ] | [Racine][Table des matières][Index][ ? ] | [ Specialist notation >> ] | ||
[ < Text marks ] | [ Plus haut: Text ] | [ Text markup introduction > ] |
1.8.2 Formatting text
Text markup introduction | ||
Nested scores | ||
Page wrapping text |
[ << Musical notation ] | [Racine][Table des matières][Index][ ? ] | [ Specialist notation >> ] | ||
[ < Formatting text ] | [ Plus haut: Formatting text ] | [ Nested scores > ] |
Text markup introduction
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" }
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! } } }
La commande \markup
peut intervenir à tout moment, y compris en
dehors d’un bloc \score
. Voir à ce sujet
Multiple scores in a book.
\markup{ Here is some text. }
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 } }
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 } } }
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 }
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.
See also
Dans ce manuel : Text markup commands.
Référence du programme : TextScript.
Fichiers d’initialisation : ‘scm/new-markup.scm’.
Known issues and warnings
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.
[ << Musical notation ] | [Racine][Table des matières][Index][ ? ] | [ Specialist notation >> ] | ||
[ < Text markup introduction ] | [ Plus haut: Formatting text ] | [ Page wrapping text > ] |
Nested scores
Rien ne s’oppose à ce qu’une étiquette ne comporte de la musique. Il
suffit que l’expression en question contienne un bloc \score
et
un bloc \layout
.
\relative { c4 d^\markup { \score { \relative { c4 d e f } \layout { } } } e f }
[ << Musical notation ] | [Racine][Table des matières][Index][ ? ] | [ Specialist notation >> ] | ||
[ < Nested scores ] | [ Plus haut: Formatting text ] | [ Fonts > ] |
Page wrapping text
Alors que \markup
s’utilise pour traiter un bloc de texte
insécable, \markuplines
permet, employé en tête de partition,
d’obtenir un bloc de lignes réparties différemment et au cas où sur
plusieurs pages.
\markuplines { \justified-lines { Un long texte constitué de lignes justifiées. ... } \justified-lines { Un autre grand paragraphe justifié. ... } ... }
\markuplines
prend en argument une liste de lignes de texte,
qui peut elle-même consister en une suite de commandes générant à leur
tour des lignes de texte, comme ici :
\markuplines { \line { ... } % une ligne alignée à gauche \fill-line { \line { ... } } % une ligne centrée \wordwrap-lines { ... } % une liste de lignes alignées à gauche \justified-lines { ... } % une liste de lignes justifiées }
Les différentes commandes permettant de générer des listes de lignes se trouve dans Text markup list commands.
See also
Dans ce manuel : Text markup list commands, New markup list command definition.
Predefined commands
\markuplines
.
[ << Musical notation ] | [Racine][Table des matières][Index][ ? ] | [ Specialist notation >> ] | ||
[ < Nested scores ] | [ Plus haut: Formatting text ] | [ Fonts > ] |