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 fijas

paper-height

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

top-margin

Margen entre el extremo superior de la página y la parte superior del área imprimible. Valor predeterminado: 5\mm.

bottom-margin

Margen entre el extremo inferior del área imprimible y la parte inferior de la página. Valor predeterminado: 6\mm.


Dimensiones verticales flexibles

En casi todos los casos es preferible que las distancias verticales entre ciertos elementos (como márgenes, títulos, sistemas y las distintas partituras) sean flexibles, de manera que se amplíen y compriman adecuadamente dependiendo de la situación. Están disponibles un cierto número de variables del bloque \paper (relacionadas más abajo) para realizar un ajuste fino del comportamiento de estas dimensiones frente a su ampliación o compresión.

Observe que las variables de \paper que se estudian en esta sección no controlan el espaciado de los pentagramas que están dentro de los sistemas individuales. El espaciado dentro de los sistemas se controla por medio de propiedades de grob, con ajustes que se escriben normalmente dentro de un bloque \score, y no dentro del bloque \paper. Véase Espaciado vertical entre sistemas.

Esctructura de las listas-A de espaciado para las variables de \paper

Cada una de estas variables es una lista-A (lista asociativa) que contiene cuatro claves:

Si una página tiene un margen inferior no justificado, la distancia resultante es la mayor de:

Modificación de las listas-A de espaciado para variables de \paper

Para fijar o modificar una sola clave para una variable de dimensión, utilice una declaración anidada:

\paper {
  system-system-spacing #'space = #10
}

Esto actualiza la clave especificada sin alterar ninguna de las otras claves ya establecidas para la misma variable. Para redefinir completamente una variable con una declaración, defínala como una lista-A:

\paper {
  system-system-spacing =
    #'((padding . 1)
       (space . 12)
       (minimum-distance . 8)
       (stretchability . 12))
}

Sin embargo, observe que cualquier clave que no esté relacionada en la definición de una lista-A aún se sobreescribirá; se restablecerán al valor cero (excepto stretchability, que toma el valor de space). Así, las dos declaraciones siguientes son equivalentes:

system-system-spacing =
  #'((space . 10))

system-system-spacing =
  #'((padding . 0)
     (space . 10)
     (minimum-distance . 0)
     (stretchability . 10))

Una consecuencia posiblemente no intencionada del ejemplo anterior es la eliminación de los valores predeterminados para padding y minimum-distance. Definir una variable como una lista-A (de cualquier tamaño) siempre restablece todos sus valores de clave predeterminados. Los ajustes predeterminados para las dimensiones flexibles verticales de \paper están definidas en ‘ly/paper-defaults-init.ly’.

Variables de dimensión de \paper verticales flexibles

Los nombres de estas variables siguen el formato superior-inferior-spacing, donde superior e inferior son los elementos que van a ser espaciados. Cada distancia se mide entre los puntos de referencia de los dos elementos: el punto de referencia de un elemento de marcado (de título o de nivel superior) es su punto más alto, y el punto de referencia de un sistema es la línea central de pentagrama más cercano. Observe que en estos nombres de variable, el término ‘markup’ se refiere tanto a elementos de marcado de título (bookTitleMarkup o scoreTitleMarkup) como a elementos de marcado del nivel superior (véase Estructura del archivo).

markup-system-spacing

distancia entre un elemento de marcado (de título o del nivel superior) y el sistema que le sigue.

score-markup-spacing

distancia entre el último sistema de una partitura y el elemento de marcado (de título o del nivel superior) que le sigue.

score-system-spacing

distancia entre el último sistema de una partitura y el primer sistema de la partitura que le sigue, cuando no existe ningún elemento de marcado (de título o del nivel superior) entre ellos.

system-system-spacing

distancia entre dos sistemas dentro de la misma partitura.

markup-markup-spacing

distancia entre dos elementos de marcado (de título o del nivel superior).

last-bottom-spacing

distancia desde el último sistema o elemento de marcado del nivel superior en una página, hasta la parte inferior de la zona imprimible (es decir, el extremo superior del margen inferior).

top-system-spacing

distancia desde la parte superior de la zona imprimible (es decir, el extremo inferior del margen superior) hasta el primer sistema de una página, cuando no hay ningún elemento de marcado (de título o del nivel superior) entre los dos.

top-markup-spacing

distancia desde el extremo superior de la zona imprimible (es decir, el extremo inferior del margen superior) hasta el primer elemento de marcado (de título o del nivel superior) sobre una página, cuando no hay ningún sistema entre los dos.

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

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-system-system-spacing

Engaña al divisor de páginas para que crea que system-system-spacing está establecido a algo distinto de lo que está realmente. Por ejemplo, si page-breaking-system-system-spacing #'padding se establece a algo mucho mayor que system-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, français.

LilyPond — Referencia de la notación