4.1.2 Formateo de las páginas

Los márgenes, encabezamientos y pies de página y otras variables de diseño de página se establecen automáticamente de acuerdo con el tamaño del papel.

El valor predeterminado de los márgenes está accesible en el archivo ‘ly/paper-defaults-init.ly’. Estos valores se aplican al tamaño predeterminado del papel (A4, a no ser que se especifique de otra forma) y se escalan adecuadamente para otros tamaños del papel.

Esta sección relaciona y describe cierto número de variables del papel que se pueden alterar.


Dimensiones verticales

Estas variables se utilizan para establecer las diferentes dimensiones verticales de la página:

after-title-spacing

Especifica cómo calcular el espacio entre un título (o un elemento de marcado del nivel superior) y el sistema que le sigue. Es una lista asociativa con cinco componentes:

  • space: cantidad de espacio que puede ensancharse entre la línea base de un título y el centro del pentagrama que le sigue;
  • padding: cantidad mínima de espacio vacío que se debe dejar entre un título y el pentagrama que le sigue;
  • stretchability: facilidad con que el espacio ensanchable aumenta cuando se estira una página. Si es cero, la distancia al pentagrama siguiente no se ensancha en absoluto;
  • minimum-distance: distancia mínima que poner entre la línea de base de un título y el centro del pentagrama que le sigue. Se diferencia de padding en que la altura de un pentagrama no tiene ningún efecto sobre la aplicación de minimum-distance (mientras que la altura del pentagrama es crucial para padding).

Por ejemplo, los valores predeterminados son:

after-title-spacing = #'((space . 2) (padding . 0.5))

Si una página tiene la parte de abajo no ajustada, space no se ensancha. Concretamente, la distancia que resulta sobre esta página es la mayor de

  • space,
  • minimum-distance, y
  • padding más la menor distancia necesaria para eliminar la superposición.
before-title-spacing

Especifica el espacio entre un sistema y el título (o elemento de marcado del nivel superior) que le sigue. Las distancias se miden a partir del centro del último pentagrama del sistema hasta la línea de base del título que le sigue. Véase after-title-spacing.

between-scores-system-spacing

Especifica el espacio entre dos sistemas si están en diferentes partituras, pero no hay ningún título entre ellas. Véase after-title-spacing.

between-system-spacing

Especifica el espacio entre el centro del pentagrama inferior de un sistema y el centro del pentagrama superior del sistema siguiente. Véase after-title-spacing.

between-title-spacing

Especifica el espacio entre dos títulos (o elementos de marcado del nivel superior). Las distancias se miden a partir de la línea de base de del primer título hasta la línea de base del segundo. Véase after-title-spacing.

bottom-margin

Margen entre el pie y el final de la página. Valor predeterminado: 6\mm.

bottom-system-spacing

Especifica el espacio desde el centro del último pentagrama (o la línea de base del último elemento de marcado del nivel superior) hasta el final del área imprimible (es decir, el límite superior del margen inferior). Véase after-title-spacing.

top-title-spacing

Especifica el espacio desde el principio del área imprimible (es decir, el límite inferior del margen superior) hasta la línea de base del título. Véase after-title-spacing.

top-system-spacing

Especifica el espacio desde el principio del área imprimible (es decir, el límite inferior del margen superior) hasta el centro del primer pentagrama. Sólo tiene efecto si no hay ningún título al principio de la página (en cuyo caso se utiliza en su lugar top-title-spacing). Véase after-title-spacing.

paper-height

Altura de la página. Predeterminado: altura del tamaño actual del papel. Para ver más detalles, consulte Tamaño del papel.

top-margin

Margen entre el encabezamiento y la parte alta del papel. Predeterminado: 5\mm.

Fragmentos de código seleccionados

El encabezamiento y el pie se crean por parte de las funciones make-footer y make-header, definidas dentro de \paper. Las implementaciones predeterminadas están en ‘ly/paper-defaults.ly’ y en ‘ly/titling-init.ly’.

El diseño de la página en sí está realizado por dos funciones dentro del bloque \paper, page-music-height y page-make-stencil. El primero informa al algoritmo de saltos de línea de la cantidad de espacio que está disponible en una página, y el último crea la propia página dado el sistema que poner sobre ella.

Se pueden definir valores del bloque \paper en Scheme. En tal caso, mm, in, pt, y cm son variables que están definidas en ‘paper-defaults.ly’ con valores en milímetros. Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:

\paper {
 #(define bottom-margin (* 2 cm))
}

Ejemplo:

\paper {
  paper-width = 2\cm
  top-margin = 3\cm
  bottom-margin = 3\cm
  ragged-last-bottom = ##t
}

Este segundo ejemplo centra los números de página en la parte baja del papel.

\paper {
  print-page-number = ##t
  print-first-page-number = ##t
  oddHeaderMarkup = \markup \fill-line { " " }
  evenHeaderMarkup = \markup \fill-line { " " }
  oddFooterMarkup = \markup { \fill-line {
     \bold \fontsize #3 \on-the-fly #print-page-number-check-first
     \fromproperty #'page:page-number-string } }
  evenFooterMarkup = \markup { \fill-line {
     \bold \fontsize #3 \on-the-fly #print-page-number-check-first
     \fromproperty #'page:page-number-string } }
}

También podemos definir estos valores en Scheme. En tal caso, mm, in, pt y cm son variables definidas en ‘paper-defaults-init.ly’ con valores en milímetros. Es la razón por la que el valor se debe multiplicar en el ejemplo

\paper {
  #(define bottom-margin (* 2 cm))
}

El encabezamiento y el pie se crean por parte de las funciones make-footer y make-header, definidas en \paper. Las implementaciones predeterminadas están en ‘ly/paper-defaults-init.ly’ y en ‘ly/titling-init.ly’.

La propia disposición de la página se realiza por parte de dos funciones del bloque \paper, page-music-height y page-make-stencil. La primera dice al algoritmo de saltos de línea cuánto espacio se puede emplear en la página, y la segunda crea la página en sí dado el sistema que poner en ella.

Véase también

Referencia de la notación: Espaciado vertical entre sistemas.

Fragmentos de código: Spacing.


Dimensiones horizontales

Existe un cierto número de variables que determinan las dimensiones horizontales de una página:

binding-offset

Se aumenta la cantidad inner-margin para asegurar que el encuadernado no va a tapar nada. Sólo funciona con two-sided establecido al valor verdadero. Valor predeterminado: 0.

horizontal-shift

Medida en que todos los sistemas (incluidos los títulos de cabecera y los separadores de sistemas) se desplazan a la derecha. Predeterminado: 0.0.

indent

Nivel de sangrado para el primer sistema de una partitura. Valor predeterminado: 15\mm.

inner-margin

Margen que tienen todas las páginas en el lado interior si son parte de un libro. Sólo funciona con two-sided establecido al valor verdadero. Valor predeterminado: 10\mm.

left-margin

El margen entre el límite izquierdo del papel y el comienzo de los sistemas. Predeterminado: 10\mm.

line-width

Ancho de los sistemas. Predeterminado: paper-width menos left-margin y right-margin.

outer-margin

Margen que todas las páginas tienen en la parte exterior si son parte de un libro. Sólo funciona con two-sided establecido al valor verdadero. Valor predeterminado: 20\mm.

paper-width

Ancho de la página. Predeterminado: la anchura del tamaño actual del papel. Para ver más detalles, consulte Tamaño del papel.

right-margin

Margen entre el borde derecho de la página y el final de cada sistema. Valor predeterminado: 10\mm.

short-indent

Nivel de sangrado para todos los sistemas de una partitura excepto el primero. Predeterminado: 0.

Si hay valores sin ajustar, se toman los predeterminados. Se ajusta su valor exacto, dependiendo del tamaño de papel especificado. Por el momento, los siguientes valores se ven afectados por este escalado:

Los ajustes para line-width, left-margin, right-margin y paper-width dependen entre sí, pero no tienen que especificarse completamente.

\paper {
  left-margin = 30\mm
}

En este ejemplo, sólo se establece un valor para left-margin. El valor de right-margin sigue siendo el predeterminado, line-width se calcula automáticamente.

\paper {
  line-width = 150\mm
}

Aquí left-margin y right-margin se ajustan al mismo valor. Por tanto, line-width se sustrae de paper-width y se divide entre dos. Esto significa que los sistemas se imprimen centrados en la página, si sólo se especifica line-width.

Tienen lugar algunas comprobaciones para asegurar que los valores se establecen correctamente. Si los valores no encajasen o los sistemas se fueran a salir de la página, se imprime una advertencia y se establecen los valores predeterminados.

\paper {
  paper-width = 210\mm
  left-margin = 20\mm
  right-margin = 30\mm
  line-width = 100\mm
}

Estas comprobaciones se pueden evitar estableciendo check-consistency al valor falso.

\paper {
  paper-width = 210\mm
  left-margin = 20\mm
  line-width = 200\mm
  check-consistency = ##f
}

Nota: Si paper-width se ajusta manualmente, line-width, left-margin, indent y short-indent podrían tener que ajustarse también.

Véase también

Fragmentos de código: Spacing.


Otras variables de diseño de página

Estas variables se pueden usar para ajustar el diseño de la página en general.

auto-first-page-number

El algoritmo de división de páginas está afectado por el hecho de que el número de la primera página sea par o impar. Si está establecido al valor verdadero, el algoritmo de división de páginas decide si comenzar con un número par o impar. Esto hace que el número de la primera página se quede como está, o que se aumente en una unidad. Predeterminado: ##f.

blank-last-page-force

Penalización por terminar la partitura en una página de numeración impar. Predeterminado: 0.

blank-page-force

Penalización por tener una página en blanco en medio de una partitura. Esto no se usa por parte de ly:optimal-breaking porque éste nunca considera la posibilidad de tener páginas en blanco en mitad de una partitura. Predeterminado: 5.

check-consistency

Si es verdadero, comprobar si left-margin, right-margin y line-width encajan entre sí. También asegurar que su combinación no excede del paper-width disponible. Valor predeterminado: ##t.

first-page-number

Valor del número de la primera página. Predeterminado: #1.

max-systems-per-page

Máximo número de sistemas que tendrán cabida en una página. Está contemplado por el momento solamente por parte del algoritmo ly:optimal-breaking. Predeterminado: no establecido.

min-systems-per-page

Mínimo número de sistemas que habrá en una página. Puede hacer que las páginas se llenen en exceso si se establece a un valor grande. Por el momento solamente está contemplado por parte del algoritmo ly:optimal-breaking. Predeterminado: no establecido.

page-breaking-between-system-spacing

Engaña al divisor de páginas para que crea que between-system-spacing está establecido a algo distinto de lo que está realmente. Por ejemplo, si page-breaking-between-system-spacing #'padding se establece a algo mucho mayor que between-system-spacing #'padding, entonces el divisor de páginas colocará menos sistemas en cada página. Predeterminado: no establecido.

page-count

Número de páginas que usar para una partitura. Predeterminado: sin fijar.

page-limit-inter-system-space

Si tiene un valor verdadero, limita el espacio entre los sistemas de una página en la que sobra mucho espacio. Predeterminado: ##f. Para ver más detalles, consulte Espaciado vertical entre sistemas.

page-limit-inter-system-space-factor

Factor usado por page-limit-inter-system-space. Predeterminado: 1.4. Para ver más detalles, consulte Espaciado vertical entre sistemas.

page-spacing-weight

Importancia relativa del espacio (vertical) de las páginas y el espaciado (horizontal) de las líneas. Los valores altos hacen que el espaciado de la página tenga más importancia. Predeterminado: #10.

print-all-headers

Si está establecido a un valor verdadero, imprime todas las cabeceras para cada una de las \score en la salida impresa. Normalmente sólo se imprimen las variables de encabezamiento de pieza y opus. Predeterminado: ##f.

print-first-page-number

Si está establecido a un valor verdadero, se imprime un número de página en la primera página. Predeterminado: ##f.

print-page-number

Si está establecido a un valor falso, no se imprimen los números de página. Predeterminado: ##t.

ragged-bottom

Si está establecido a un valor verdadero, los sistemas no ocuparán verticalmente toda la altura de la página. Esto no afecta a la última página. Predeterminado: ##f.

Esto se debería establecer al valor verdadero para piezas que tienen sólo dos o tres sistemas por página, por ejemplo partituras orquestales.

ragged-last

Si está establecido a un valor verdadero, el último sistema de la partitura no llenará la anchura de la línea. En su lugar, el último sistema termina en su longitud horizontal natural. Predeterminado: ##f.

ragged-last-bottom

Si está establecido a un valor falso, los sistemas se repartirán verticalmente por toda la última página. Predeterminado: ##t.

Las piezas que llenan generosamente dos o más páginas deberían tener esto establecido al valor verdadero.

También afecta a la última página de las partes de libro, es decir, partes de un libro que se han creado con bloques \bookpart.

ragged-right

Si está establecido a un valor verdadero, los sistemas no llenarán el ancho de línea disponible. En su lugar, los sistemas terminan en su longitud horizontal natural. Predeterminado: ##f.

Si la partitura sólo tiene un sistema, el valor predeterminado es ##t.

system-separator-markup

Objeto de marcado que se inserta entre los sistemas. Se suele usar para partituras orquestales. Predeterminado: sin establecer.

Se ofrece la instrucción de marcado \slashSeparator como un valor predeterminado apropiado, por ejemplo

[image of music]

system-count

Cantidad de sistemas que usar por parte de la partitura. Predeterminado: sin establecer.

systems-per-page

Número de sistemas que se deben colocar en cada página. Está contemplado solamente por parte del algoritmo ly:optimal-breaking por el momento. Predeterminado: no establecido.

two-sided

Si es verdadero, usar inner-margin, outer-margin y binding-offset para determinad los márgenes dependiendo de si el número de página es par o impar. Esto sobreescribe a left-margin y a right-margin. Valor predeterminado: ##f.

Véase también

Fragmentos de código: Spacing.

Advertencias y problemas conocidos

El encabezamiento de página predeterminado pone el número de página y el campo instrument del bloque \header sobre la misma línea.

Los títulos de cabecera (tomados de la sección \header{}) se tratan como un sistema, por lo que ragged-bottom y ragged-last-bottom añaden espacio entre los títulos y el primer sistema de la partitura.


Otros idiomas: English, deutsch.

LilyPond — Referencia de la notación