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 {
\on-the-fly \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 {
\on-the-fly \print-page-number-check-first
\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:
\on-the-fly \first-page \on-the-fly \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’.