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 }
}

[image of music]

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:

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 }
}

[image of music]

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 }
  }
}

[image of music]

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 }
  }
}

[image of music]

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 }
  }
}

[image of music]

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:

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 }
  }
}

[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’.


LilyPond — Referència de la notació v2.23.82 (branca de desenvolupament).