Disposición personalizada de cabeceras y pies de página

Las instrucciones \markup dentro del bloque \header son de utilidad para dar formato al texto de una manera sencilla, pero no permiten un control preciso sobre la colocación de las cabeceras y los pies de página. Para personalizar la colocación de los campos de texto, use una o más de las siguientes variables de \paper:

La instrucción de marcado \on-the-fly se puede utilizar para añadir elementos de forma condicional al texto de encabezamiento y pie de página definido dentro del bloque \paper, usando la sintaxis siguiente:

variable = \markup {
  …
  \on-the-fly  \procedimiento  marcado
  …
}

El procedimiento se llama cada vez que se evalúa la instrucción \markup en que ésta aparece. El procedimiento debería comprobar si se cumple una condición determinada e interpretar (es decir: imprimir) el argumento marcado si, y sólo si, la condición es verdadera.

Se proveen un cierto número de procedimientos ya hechos para la comprobación de diversas condiciones:

Nombre del procedimientoCondición que se comprueba
print-page-number-check-first¿debería imprimirse este número de página?
create-page-number-stencil¿es print-page-numbers verdadero?
print-all-headers¿es print-all-headers verdadero?
first-page¿es la primera página del libro?
not-first-page¿no es la primera página del libro?
(on-page nmbr)¿es el número de página = nmbr?
last-page¿es la última página del libro?
part-first-page¿es la primera página de la parte de libro?
not-part-first-page¿no es la primera página de la parte de libro?
part-last-page¿es la última página de la parte de libro?
not-single-page¿es el núm. de páginas en la parte de libro > 1?

El ejemplo siguiente centra los números de página en la parte baja de las páginas. En primer lugar, los ajustes predeterminados para oddHeaderMarkup y evenHeaderMarkup se eliminan definiéndolos como un marcado nulo. Después de esto, se redefine oddFooterMarkup con el número de página centrado. Finalmente, evenFooterMarkup recibe la misma disposición definiéndola como \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]

Se pueden combinar varias condiciones de \on-the-fly con un operador ‘and’, por ejemplo:

  \if \on-first-page
  \if \on-last-page
  { \markup … \fromproperty #'header: … }

determina si la salida es una sola página.

Véase también

Referencia de la notación: Explicación de los títulos, Presentación predeterminada de los títulos de partes de libro y partitura.

Archivos instalados: ../ly/titling-init.ly.


Referencia de la notación de GNU LilyPond v2.25.15 (rama de desarrollo).