Referència de la notació del GNU LilyPond: 3.2.2 Títols encapçalaments i peus de pàgina personalitzats

### 3.2.2 Títols encapçalaments i peus de pàgina personalitzats

#### 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`’.

#### LilyPond — Referència de la notació v2.22.2 (branca estable).