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 – see 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.