21.2.3 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 en les désactivant par
un #f. 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 = ##f evenHeaderMarkup = ##f 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-pagec’est la première page du book. \on-last-pagec’est la dernière page du book. \on-first-page-of-partc’est la première page de la partie. \on-last-page-of-partc’est la dernière page de la partie. \on-page nombrececi est la page nombre \single-pagece book tient sur une page. \should-print-page-numbers-globalil faut imprimer les numéros de page. 7 \should-print-page-numberil faut imprimer le numéro de cette page. \should-print-all-headersprint-all-headersest 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.
Footnotes
(7)
\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.
![[image of music]](../9b/lily-ca71dd9e.png)