3.2.2 Titoli intestazioni e piè di pagina personalizzati
Titoli personalizzati | ||
Formattazione personalizzata dei titoli | ||
Formattazione personalizzata di intestazioni e piè di pagina |
Titoli personalizzati
Si possono usare i normali comandi \markup
per personalizzare qualsiasi
intestazione, piè di pagina e titolo di un blocco \header
.
\score { { s1 } \header { piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" } opus = \markup { \italic "BWV 846" } } }
Vedi anche
Guida alla notazione: Formattazione del testo.
Formattazione personalizzata dei titoli
I comandi \markup
nel blocco \header
sono utili solo per la
formattazione del testo, ma non consentono un controllo preciso sul
posizionamento dei titoli. Per personalizzare il posizionamento dei campi
testuali, cambiare una o entrambe le seguenti variabili \paper
:
-
bookTitleMarkup
-
scoreTitleMarkup
Il posizionamento dei titoli secondo i valori predefiniti di queste variabili
\markup
è mostrato negli esempi in
Formattazione predefinita dei titoli delle parti e dei brani.
Le impostazioni predefinite di scoreTitleMarkup
, definite in
‘ly/titling-init.ly’, sono:
scoreTitleMarkup = \markup { \column { \on-the-fly \print-all-headers { \bookTitleMarkup \hspace #1 } \fill-line { \fromproperty #'header:piece \fromproperty #'header:opus } } }
Questo pone i campi testuali piece
e opus
alle estremità opposte
della stessa riga:
\score { { s1 } \header { piece = "PRAELUDIUM I" opus = "BWV 846" } }
L’esempio seguente ridefinisce scoreTitleMarkup
in modo che il campo
testuale di piece
sia centrato e in un tipo di carattere più grande e
in grassetto.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:opus } } } \header { tagline = ##f } \score { { s1 } \header { piece = "PRAELUDIUM I" opus = "BWV 846" } } }
I campi testuali che non sono normalmente attivi nei blocchi \header
compresi in un blocco \score
possono essere stampati nello spazio
dedicato al titolo del brano aggiungendo print-all-headers
nel
blocco \paper
. Lo svantaggio di questo metodo è che i campi testuali
intesi esclusivamente per lo spazio del titolo della parte devono essere
manualmente soppressi in ogni blocco \score
. Vedi Come funzionano i titoli.
Per evitare ciò, è meglio mettere il campo testuale desiderato nella
definizione di scoreTitleMarkup
. Nell’esempio seguente il campo
composer
(solitamente associato a bookTitleMarkup
) viene
aggiunto a scoreTitleMarkup
, facendo sì che ogni brano possa elencare
un diverso compositore:
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:composer } } } \header { tagline = ##f } \score { { s1 } \header { piece = "MENUET" composer = "Christian Petzold" } } \score { { s1 } \header { piece = "RONDEAU" composer = "François Couperin" } } }
È anche possibile creare un campo testuale personalizzato e fare riferimento ad esso nella definizione di markup.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \override #`(direction . ,UP) { \dir-column { \center-align \fontsize #-1 \bold \fromproperty #'header:mycustomtext %% Campo definito dall'utente \center-align \fontsize #4 \bold \fromproperty #'header:piece } } \fromproperty #'header:opus } } } \header { tagline = ##f } \score { { s1 } \header { piece = "FUGA I" mycustomtext = "A 4 VOCI" %% Campo definito dall'utente opus = "BWV 846" } } }
Vedi anche
Guida alla notazione: Come funzionano i titoli.
Formattazione personalizzata di intestazioni e piè di pagina
I comandi \markup
nel blocco \header
sono utili solo per la
formattazione del testo, ma non consentono un controllo preciso sul
posizionamento di intestazioni e piè di pagina. Per personalizzare il
posizionamento dei campi testuali, usare una o entrambe le seguenti
variabili \paper
:
-
oddHeaderMarkup
-
evenHeaderMarkup
-
oddFooterMarkup
-
evenFooterMarkup
Il comando \on-the-fly
– usato all’interno di un blocco \markup
–
permette di aggiungere del testo a intestazioni e piè di pagina definiti nel
blocco \paper
, solo se certe condizioni sono soddisfatte, tramite la
seguente sintassi:
variabile = \markup { … \on-the-fly \procedura testo … }
La procedura viene chiamata ogni volta che viene elaborato il comando
\markup
nel quale essa si trova. La procedura verifica una
precisa condizione e interpreta (ovvero stampa) l’argomento testo se
e solo se la condizione è vera.
Sono disponibili varie procedure pronte per verificare varie condizioni:
Nome della procedura
Condizione verificata
print-page-number-check-first
stampare questa pagina?
create-page-number-stencil
print-page-numbers è vero?
print-all-headers
print-all-headers è vero?
first-page
prima pagina del libro?
not-first-page
non la prima pagina del libro?
(on-page nmbr)
numero pagina = nmbr?
last-page
ultima pagina del libero?
part-first-page
prima pagina della parte?
not-part-first-page
non la prima pagine della parte?
part-last-page
ultima pagina della parte?
not-single-page
pagine della parte > 1?
L’esempio seguente centra i numeri di pagina in fondo a ogni pagina.
Innanzitutto vengono annullate le impostazioni predefinite per
oddHeaderMarkup
e evenHeaderMarkup
definendo ciascuno di
essi come un markup null. Poi oddFooterMarkup
viene
ridefinito col numero di pagina centrato. Infine a evenFooterMarkup
viene assegnata la stessa formattazione di \oddFooterMarkup
:
\book { \paper { print-page-number = ##t print-first-page-number = ##t oddHeaderMarkup = \markup \null evenHeaderMarkup = \markup \null oddFooterMarkup = \markup { \fill-line { \on-the-fly \print-page-number-check-first \fromproperty #'page:page-number-string } } evenFooterMarkup = \oddFooterMarkup } \score { \new Staff { s1 \break s1 \break s1 } } }
Varie condizioni \on-the-fly
possono essere combinate insieme come se
si utilizzasse l’operatore logico ‘AND’ e il testo apparirà solo se tutte
le condizioni sono vere. Per esempio, queste due condizioni
\on-the-fly \first-page \on-the-fly \last-page{ \markup … \fromproperty #'header: … }
verificano se l’output è una pagina singola.
Vedi anche
Guida alla notazione: Come funzionano i titoli, Formattazione predefinita dei titoli delle parti e dei brani.
File installati: ‘../ly/titling-init.ly’.
Altre lingue: English, català, español, français.
About automatic language selection.