[ << Notation musicale générale ] | [Top][Contents][Index] | [ Notation spécialisée >> ] |
[ < Mise en forme du texte ] | [ Up : Mise en forme du texte ] | [ Sélection de la fonte et de la taille > ] |
Introduction au formatage de texte
Un bloc \markup
ou \markuplist
permet d’ajouter du texte
et dispose de sa propre syntaxe que nous appellerons le « mode
markup ». De tels blocs peuvent s’utiliser partout, comme indiqué
dans Vue d’ensemble des objets textuels.
En mode markup, les mots s’écrivent tels quels. Un mot isolé ne requiert pas de guillemets.
\markup intenso
Une suite de mots peut se regrouper en les bornant par des guillemets
informatiques "
.
\markup "molto intenso"
Au delà du simple fait de grouper des mots, les guillemets informatiques
permettent d’imprimer littéralement des caractères spéciaux – tels
qu’un ‘\’ ou un ‘#’ – sans influer sur le formatage du texte.
Il est de ce fait possible d’imprimer des guillemets
informatiques "
dès lors qu’ils sont précédés d’une oblique
inverse.
\relative { a'1^"\italic markup..." a_\markup { \italic "... imprime des lettres en \"italique\" !" } a a }
La mise en forme s’obtient à l’aide de commandes dédiées dont le nom est précédé d’une oblique inverse. Elles prennent un certain nombre d’arguments spécifiques à la commande. Une liste exhaustive des commandes spécifiques au mode markup est fournie dans l’annexe Commandes pour markup (en anglais).
\markup \italic "string. assai" \markup \with-color "red" intenso
Les commandes de markup peuvent être imbriquées. Un bloc markup sera clôturé dès lors que toutes les commandes qu’il contient auront reçu leurs arguments.
\markup \with-color "red" \italic intenso
Plusieurs expressions markup peuvent se regrouper par des accolades pour former une liste de markups. En l’absence de formatage particulier, les éléments d’une liste de markups sont affichés en enfilade.
\markup { molto \italic intenso }
Certaines commandes n’attendent pas un simple markup, mais une liste de markups, ce qui permet des présentations plus élaborées qu’une simple enfilade.
\markup \center-column { \bold "Des Simplicius Simplicissimus Jugend" "Karl Amadeus Hartmann" }
De plus, certaines commandes ne renvoient pas un markup, mais une liste de markups. Leur résultat peut alors s’utiliser là où on attendait une liste de markup. Une liste de ces commandes est fournie à l’annexe Commandes pour liste de markups (en anglais).
\markup \string-lines "Twinkle, twinkle, little star, How I wonder what you are!"
\markup \center-column \string-lines "Twinkle, twinkle, little star, How I wonder what you are!"
Les éléments d’une liste composite de markups sont tout bonnement traités comme des éléments de la liste principale.
\markup \center-column { \bold "Des Simplicius Simplicissimus Jugend" { Karl Amadeus \smallCaps Hartmann } }
Plusieurs éléments d’une liste de markups seront mis en rang sur
une même ligne s’ils sont regroupés à l’aide de la commande \line
.
\markup \center-column { \bold "Des Simplicius Simplicissimus Jugend" \line { Karl Amadeus \smallCaps Hartmann } }
Le comportement des commandes prenant en argument des markups mais s’appliquent à des listes de markups constitue une fonctionnalité spéciale. Lorsque leur dernier argument est une liste et non un markup, chacun des éléments de cette liste se voit appliquer le traitement de la commande.
\markup \box { Karl Amadeus \smallCaps Hartmann }
Dans ce cas, le résultat est par contre une liste de markup qui peut donc être passée à une commande attendant une liste de markups ou une commande attendant un markup, avec à nouveau le comportement que nous venons de voir.
\markup \center-column \box { Karl Amadeus \smallCaps Hartmann } \markup \rotate #30 \box { Karl Amadeus \smallCaps Hartmann }
L’application de la commande \line
à une liste de markups
permet qu’lle soit traitee comme un argument markup unique.
\markup \box { Karl Amadeus \smallCaps Hartmann } \markup \box \line { Karl Amadeus \smallCaps Hartmann }
Lorsque l’intégralité du contenu d’une expression \markup
est une liste de markups, elle est implicitement reproduite
avec la commande \line
. Ses éléments sont donc empilés
horizontalement et groupés dans un seul bloc de texte insécable.
La commande \markuplist
agit différemment : elle attend une
liste de markups et affiche individuellement les éléments
markups sur la page, les empilant verticalement, autorisant
par ailleurs les sauts de page. L’exemple ci-dessous illustre
cette différence.
\markup \box \wordwrap { Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. } \markuplist \box \wordwrap-lines { Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. }
Vous pouvez stocker les étiquettes textuelles en tant que variables, et attacher ces identificateurs à des notes, comme ici :
allegro = \markup \bold \large Allegro { d''8.^\allegro d'16 d'4 r2 }
La syntaxe de la commande \etc
permet de définir des raccourcis
personnalisés utilisables dans le cadre des commandes \markup
.
\markup reddish = \markup \with-color "tomato" \etc \markup { molto \reddish intenso }
Le fonctionnement interne de ces commandes et la façon d’en implémenter de nouveaux est abordée dans Fonctions pour markups.
Voir aussi
Manuel de notation : Commandes pour liste de markups, Commandes pour markup, Vue d’ensemble des objets textuels.
Manuel d’extension des fonctionnalités : Fonctions pour markups
Fichiers d’initialisation : scm/define-markup-commands.scm, scm/markup.scm.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
Problèmes connus et avertissements
Les messages d’erreur de syntaxe en mode markup sont peu explicites.
[ << Notation musicale générale ] | [Top][Contents][Index] | [ Notation spécialisée >> ] |
[ < Mise en forme du texte ] | [ Up : Mise en forme du texte ] | [ Sélection de la fonte et de la taille > ] |