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:

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 procedimentCondició que es comprova
print-page-number-check-firsts’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-pageno 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-pageno 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 }
  }
}

[image of music]

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.


Referència de la notació del GNU LilyPond v2.25.15 (branca de desenvolupament).