3.3.2 Titrages personnalisés
Mise en forme personnalisée des champs de titrage | ||
Mise en forme personnalisée des titrages | ||
Mise en forme personnalisée des entête et pied de page |
Mise en forme personnalisée des champs de titrage
Toutes les commandes de mise en forme d’un \markup
permettent de
personnaliser le texte des entête, pied de page et éléments de titrage
contenus dans un bloc \header
.
\score { \header { piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" } opus = \markup { \italic "BWV 846" } } { s1 } }
Voir aussi
Manuel de notation : Mise en forme du texte.
Mise en forme personnalisée des titrages
L’utilisation de commandes \markup
au sein d’un bloc
\header
permet de modifier aisément l’apparence du texte,
mais n’influence en rien le positionnement précis des éléments de
titrage. L’accès au positionnement des champs de titrage est géré par
les deux variables suivantes, attachées au bloc \paper
:
-
bookTitleMarkup
-
scoreTitleMarkup
Le positionnement des titres, avec les valeurs par défaut de ces
variables \markup
, est illustré à la rubrique
Mise en forme par défaut des titrages subalternes.
Voici les réglages par défaut de scoreTitleMarkup
, tels que
définis dans le fichier ‘ly/titling-init.ly’ :
scoreTitleMarkup = \markup { \column { \if \should-print-all-headers { \bookTitleMarkup \hspace #1 } \fill-line { \fromproperty #'header:piece \fromproperty #'header:opus } } }
Ceci aura donc pour effet de positionner les champs piece
et
opus
sur la même ligne, en opposition :
\score { \header { piece = "PRAELUDIUM I" opus = "BWV 846" } { s1 } }
Voici comment redéfinir le scoreTitleMarkup
de telle sorte que le
champ piece
, dont nous modifions la taille et la graisse, se
place au centre de cette ligne :
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:opus } } } \header { tagline = ##f } \score { \header { piece = "PRAELUDIUM I" opus = "BWV 846" } { s1 } } }
Les champs normalement absents du \header
d’un bloc \score
seront toutefois imprimés dès lors que vous aurez activé l’instruction
print-all-headers
au sein du bloc \paper
. Le principal
inconvénient de cette fonction réside dans le fait que les champs
dévolus au titrage des parties devront être supprimés dans
chacun des blocs \score
de votre fichier source – voir
Généralités en matière de titrages.
Afin d’éviter ce désagrément, ajoutez le champ que vous désirez voir
apparaître à la définition de scoreTitleMarkup
. Nous allons,
dans l’exemple suivant, ajouter au scoreTitleMarkup
le champ
composer
, normalement associé au bookTitleMarkup
;
chaque \score
pourra alors mentionner un compositeur différent.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:composer } } } \header { tagline = ##f } \score { \header { piece = "MENUET" composer = "Christian Petzold" } { s1 } } \score { \header { piece = "RONDEAU" composer = "François Couperin" } { s1 } } }
Rien ne vous empêche de créer votre propre champ personnalisé, puis d’y faire référence dans la définition du markup.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \override #`(direction . ,UP) \dir-column { \center-align \fontsize #-1 \bold \fromproperty #'header:mycustomtext %% User-defined field \center-align \fontsize #4 \bold \fromproperty #'header:piece } \fromproperty #'header:opus } } } \header { tagline = ##f } \score { \header { piece = "FUGA I" mycustomtext = "A 4 VOCI" %% User-defined field opus = "BWV 846" } { s1 } } }
Voir aussi
Manuel de notation : Généralités en matière de titrages.
Mise en forme personnalisée des entête et pied de page
L’utilisation de commandes \markup
au sein d’un bloc
\header
permet de modifier aisément l’apparence du texte,
mais n’influence en rien le positionnement précis des entête et pied
de page. L’accès au positionnement des champs concernés est géré par
les quatre variables suivantes, attachées au bloc \paper
:
-
oddHeaderMarkup
-
evenHeaderMarkup
-
oddFooterMarkup
-
evenFooterMarkup
L’instruction \if
au sein d’un \markup
permet d’ajouter
des éléments au texte des entêtes et pieds de page définis dans le bloc
\paper
, et ce uniquement lorsque certaines conditions sont
vérifiées. En voici la syntaxe :
\if \condition argument
La condition est testée à chaque fois que le markup où elle apparaît est évalué. Le markup argument sera imprimé si et seulement si cette condition est remplie.
LilyPond dispose d’ores et déjà d’un certain nombre de conditions
relatives à la numérotation des pages (la première, la dernière, une
page spécifique, etc.). Le test renversant la condition s’obtient en
remplaçant le \if
par un \unless
.
L’exemple suivant illustre la manière de centrer son numéro au bas de
chaque page. Il nous faut tout d’abord annuler les définitions de
oddHeaderMarkup
et evenHeaderMarkup
à l’aide d’un
markup \null
. Nous redéfinissons ensuite
oddFooterMarkup
pour qu’il contienne le numéro de page, centré.
Enfin, nous appliquons le même paramétrage au \evenFooterMarkup
.
\book { \paper { print-page-number = ##t print-first-page-number = ##t oddHeaderMarkup = \markup \null evenHeaderMarkup = \markup \null oddFooterMarkup = \markup { \fill-line { \if \should-print-page-number \fromproperty #'page:page-number-string } } evenFooterMarkup = \oddFooterMarkup } \score { \new Staff { s1 \break s1 \break s1 } } }
Voici une liste des procédures prédéfinies utilisables avec \if
ou \unless
.
Syntaxe
Condition testée
\on-first-page
c’est la première page du book.
\on-last-page
c’est la dernière page du book.
\on-first-page-of-part
c’est la première page de la partie.
\on-last-page-of-part
c’est la dernière page de la partie.
\on-page nombre
ceci est la page nombre
\single-page
ce book tient sur une page.
\should-print-page-numbers-global
il faut imprimer les numéros de page. 1
\should-print-page-number
il faut imprimer le numéro de cette page.
\should-print-all-headers
print-all-headers
est vrai.
Voir aussi
Manuel de notation : Conditions, Généralités en matière de titrages, Mise en forme par défaut des titrages subalternes.
fichiers d’initialisation : ‘../ly/titling-init.ly’.
Notes de bas de page
[1] \should-print-page-numbers-global
peut être
différent de \should-print-page-number
pour la première
page de l’ouvrage, selon le réglage affecté à
print-first-page-number
dans le bloc \paper
.