3.2.2 Títols encapçalaments i peus de pàgina personalitzats
Formatat personalitzat del text dels títols | ||
Personalització dels títols | ||
Disposició personalitzada de capçaleres i peus de pàgina |
Formatat personalitzat del text dels títols
Es poden usar ordres \markup
estàndard per personalitzar el
text de qualsevol capçalera, peu o títol dins del bloc \header
.
\score { \header { piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" } opus = \markup { \italic "BWV 846" } } { s1 } }
Vegeu també
Referència de la notació: Donar format al text.
Personalització dels títols
Les ordres \markup
dins del bloc \header
són útils
per donar un format simple al text, però no permeten un control
precís sobre la col·locació dels títols. Per personalitzar la
col·locació dels camps de text, canvieu un o les dos variables
\paper
següents:
-
bookTitleMarkup
(marcatge del títol del llibre) -
scoreTitleMarkup
(marcatge del títol de la partitura)
La col·locació dels títols quan s’utilitzen els valors
predeterminats d’aquestes variables de \markup
es mostra
als exemple de
Presentació predeterminada dels títols de parts de llibre i partitura.
Els ajustos predeterminats per a scoreTitleMarkup
tal i com
estan definits al fitxer ‘ly/titling-init.ly’ són:
scoreTitleMarkup = \markup { \column { \if \should-print-all-headers { \bookTitleMarkup \hspace #1 } \fill-line { \fromproperty #'header:piece \fromproperty #'header:opus } } }
Això situa els camps de text piece
i opus
en extrems
oposats de la mateixa línia:
\score { \header { piece = "PRAELUDIUM I" opus = "BWV 846" } { s1 } }
Aquest exemple redefineix scoreTitleMarkup
de manera que el
camp de text piece
apareix centrat i en un tipus de lletra
gran i en negreta.
\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 } } }
Els camps de text que normalment no són efectius dins dels blocs
\header
d’una partitura es poden imprimir a la zona del
Títol de la partitura si es col·loca print-all-headers
dins
del bloc \paper
. Un desavantatge de la utilització
d’aquest mètode es que els camps de text que estan orientats
específicament per a la zona del títol de part de llibre han de
suprimir-se manualment en cada un dels blocs \score
.
Vegeu Explicació dels títols.
Per evitar-lo, afegiu el camp de text desitjat a la definició de
scoreTitleMarkup
. A l’exemple següent, el camp de text
composer
(associat normalment amb bookTitleMarkup
)
se afegeix a scoreTitleMarkup
, permetent que cada partitura
mostri un compositor diferent:
\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 } } }
També podem crear els nostres propis camps de text personalitzats, i referir-nos a ells a la definició de l’element de marcatge.
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \override #`(direction . ,UP) { \dir-column { \center-align \fontsize #-1 \bold \fromproperty #'header:mycustomtext %% Camp definit per l'usuari \center-align \fontsize #4 \bold \fromproperty #'header:piece } } \fromproperty #'header:opus } } } \header { tagline = ##f } \score { \header { piece = "FUGA I" mycustomtext = "A 4 VOCI" %% Camp definit per l'usuari opus = "BWV 846" } { s1 } } }
Vegeu també
Referència de la notació: Explicació dels títols.
Disposició personalitzada de capçaleres i peus de pàgina
Les ordres \markup
dins del bloc \header
són
d’utilitat per donar format al text d’una manera senzilla, però no
permeten un control precís sobre la col·locació de les capçaleres
i els peus de pàgina. Per personalitzar la col·locació dels camps
de text, useu una o més de les següents variables de \paper
:
-
oddHeaderMarkup
(marcatge d’encapçalament imparell) -
evenHeaderMarkup
(marcatge d’encapçalament parell) -
oddFooterMarkup
(marcatge de peu de pàgina imparell) -
evenFooterMarkup
(marcatge de peu de pàgina parell)
L’ordre de marcatge \on-the-fly
es pot utilitzar per afegir
elements de forma condicional al text d’encapçalament i peu de
pàgina definit dins del bloc \paper
, usant la sintaxi següent:
variable = \markup { … \on-the-fly \procediment marcatge … }
El procediment es crida cada cop que s’avalua l’ordre
\markup
en el qual apareix. El procediment hauria de
comprovar si es compleix una condició determinada i interpretar
(és a dir: gravar) l’argument marcatge si, i sols si, la
condició és vertadera.
Es proveeixen un cert nombre de procediments ja fets per a la comprovació de diverses condicions:
Nom del procediment
Condició que es comprova
print-page-number-check-first
s’hauria d’imprimir aquest número de pàgina?
create-page-number-stencil
és print-page-numbers vertader?
print-all-headers
és print-all-headers vertader?
first-page
és la primera pàgina del llibre?
not-first-page
no es la primera pàgina del llibre?
(on-page num)
és el número de pàgina = num?
last-page
és l’última pàgina del llibre?
part-first-page
és la primera pàgina de la part de llibre?
not-part-first-page
no es la primera pàgina de la part de llibre?
part-last-page
és l’última pàgina de la part de llibre?
not-single-page
és el nombre de pàgines en la part de llibre més gran que 1?
L’exemple següent centra els números de pàgina en la part baixa de
les pàgines. En primer lloc, els ajustaments predeterminats per a
oddHeaderMarkup
i evenHeaderMarkup
s’eliminen
definint-los com un marcatge nul. Després d’això, es defineix
oddFooterMarkup
amb el número de pàgina centrat.
Finalment, evenFooterMarkup
rep la mateixa disposició
definint-la com \oddFooterMarkup
:
\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 } } }
Es poden combinar diverses condicions de \on-the-fly
amb un
operador ‘and’, per exemple:
\if \on-first-page \if \on-last-page{ \markup … \fromproperty #'header: … }
determina si la sortida és una sola pàgina.
Vegeu també
Referència de la notació: Explicació dels títols, Presentació predeterminada dels títols de parts de llibre i partitura.
Fitxers instal·lats: ‘../ly/titling-init.ly’.