21.6 Referencia a números de página

Un lugar determinado de una partitura puede señalizarse usando la instrucción \label (etiqueta), ya sea en el nivel superior o dentro de la música. Podemos referirnos a esta etiqueta más tarde dentro de un elemento de marcado, para obtener el número de la página en la que se sitúa el punto señalizado, usando la instrucción de marcado \page-ref.

\header { tagline = ##f }
\book {
  \label #'firstScore
  \score {
    {
      c'1
      \pageBreak \mark A \label #'markA
      c'1
    }
  }
  \markup { La primera partitura comienza en la página \page-ref #'firstScore "0" "?" }
  \markup { La marca A está en la página \page-ref #'markA "0" "?" }
}
[image of music]

La instrucción de marcado \page-ref toma tres argumentos:

  1. la etiqueta, un símbolo de Scheme, p.ej. #'firstScore;
  2. un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
  3. un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.

El motivo de que se necesite un medidor es que en el momento en que se están interpretando los marcados, los saltos de página aún no se han producido y por tanto los números de página no se conocen todavía. Para sortear este inconveniente, la interpretación real del marcado se retrasa hasta un momento posterior; sin embargo, las dimensiones del marcado se tienen que conocer de antemano, así que se usa el medidor para decidir estas dimensiones. Si el libro tiene entre 10 y 99 páginas, el medidor puede ser “00”, es decir, un número de dos dígitos.

Si el tamaño del texto final es diferente del medidor, puede ser útil configurar la alineación horizontal relativa al medidor con la propiedad x-align. Por omisión está alineado a la derecha.

\markup {
  \box
    \page-ref #'foo "???" "?" " right-aligned (default)"
}
\markup {
  \box
    \override #`(x-align . ,LEFT)
    \page-ref #'foo "???" "?" " left-aligned"
}
\markup {
  \box
    \override #'(x-align . -2.5)
    \page-ref #'foo "???" "?" " left outside"
}
[image of music]

En el ejemplo, el medidor ‘???’ es más ancho que el texto de sustitución ‘?’. La sustitución se usa porque la etiqueta #'foo no existe. La propiedad x-align se puede establecer con números cualesquiera. También se pueden usar los símbolos predefinidos LEFT, CENTER o RIGHT para fijar la alineación a la izquierda, centrada o a la derecha en relación al medidor.

Instrucciones predefinidas

\label, \page-ref.


Referencia de la notación de GNU LilyPond v2.25.31 (development-branch).