@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+ Translation of GIT committish: b446ebc24f8d43acb323818988fe8b1d8072afc8
When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.13.39"
@node Problemas de espaciado
@chapter Problemas de espaciado
ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
también como tabloide). Están contemplados muchos más tamaños de papel
de forma predeterminada. Para ver más detalles, consulte
-@file{scm/@/paper@/.scm} y busque la definición de @code{paper-alist}.
+@file{scm/paper.scm} y busque la definición de @code{paper-alist}.
@c TODO add a new appendix for paper sizes (auto-generated) -pm
@warning{El tamaño predeterminado del papel es @code{a4}.}
Se pueden añadir tamaños adicionales editando la definición de
-@code{paper-alist} en el archivo de inicio @file{scm/@/paper@/.scm},
+@code{paper-alist} en el archivo de inicio @file{scm/paper.scm},
aunque se sobreescribirán en la siguiente reinstalación del programa.
@cindex orientación
@seealso
Archivos instalados:
-@file{scm/@/paper@/.scm}.
+@file{scm/paper.scm}.
Fragmentos de código:
@rlsr{Spacing}.
@subsection Formateo de las páginas
@translationof Page formatting
+@funindex \paper
+
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
+@file{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.
@menu
-* Dimensiones verticales::
+* Dimensiones verticales fijas::
+* Dimensiones verticales flexibles::
* Dimensiones horizontales::
* Otras variables de diseño de página::
@end menu
-@node Dimensiones verticales
-@unnumberedsubsubsec Dimensiones verticales
-@translationof Vertical dimensions
+@node Dimensiones verticales fijas
+@unnumberedsubsubsec Dimensiones verticales fijas
+@translationof Fixed vertical dimensions
-Estas variables se utilizan para establecer las diferentes dimensiones
-verticales de la página:
+@table @code
+@item paper-height
+@funindex paper-height
-@funindex \paper
+Altura de la página. Valor predeterminado: altura del tamaño actual
+del papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
-@table @code
+@item top-margin
+@funindex top-margin
-@item after-title-space
-@funindex after-title-space
+Margen entre el extremo superior de la página y la parte superior del
+área imprimible. Valor predeterminado: @code{5\mm}.
-Espacio entre el título y el primer sistema.
-Predeterminado: @code{5\mm}.
+@item bottom-margin
+@funindex bottom-margin
-@item before-title-space
-@funindex before-title-space
+Margen entre el extremo inferior del área imprimible y la parte
+inferior de la página. Valor predeterminado: @code{6\mm}.
+@end table
-Distancia entre el último sistema de la pieza anterior y el título de
-la siguiente. Predeterminado: @code{10\mm}.
-@item between-system-padding
-@funindex between-system-padding
+@node Dimensiones verticales flexibles
+@unnumberedsubsubsec Dimensiones verticales flexibles
+@translationof Flexible vertical dimensions
-Distancia mínima que se deja siempre entre el símbolo más bajo de un
-sistema y el más alto del siguiente. Predeterminado: @code{4\mm}.
+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 @code{\paper}
+(relacionadas más abajo) para realizar un ajuste fino del
+comportamiento de estas dimensiones frente a su ampliación o
+compresión.
-El aumento de este valor separa más los sistemas cuyas cajas
-circundantes casi se tocan.
+Observe que las variables de @code{\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 @code{\score} o @code{layout},
+y no dentro del bloque @code{\paper}
+Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
-@item between-system-space
-@funindex between-system-space
-Distancia entre los sistemas. Es la distancia ideal desde el centro
-del pentagrama inferior de un sistema hasta el centro del pentagrama
-superior del sistema siguiente. Predeterminado: @code{20\mm}.
+@subsubheading Esctructura de las listas-A de espaciado para las variables de @code{\paper}
-El aumento de este valor da a la página un aspecto más regular a costa
-de utilizar más espacio vertical.
+Cada una de estas variables es una lista-A (lista asociativa) que
+contiene cuatro @emph{claves}:
-@item between-title-space
-@funindex between-title-space
+@itemize
+@item @code{padding} (relleno):
+mínimo espacio vertical vacío necesario entre dos elementos, medido en
+espacios de pentagrama. Se puede pensar como la altura mínima de un
+rectángulo invisible que abarca desde el punto más a la izquierda
+hasta el situado más a la derecha de los elementos combinados.
+
+@item @code{space} (espacio):
+distancia vertical predeterminada, medida en espacios de pentagrama,
+entre los @emph{puntos de referencia} de los dos elementos, cuando no
+resulte ninguna colisión, y no se produzca ninguna ampliación o
+compresión. El punto de referencia de un elemento de marcado (de
+título o del nivel jerárquico superior) es su punto más alto, y el
+punto de referencia de un sistema es el centro vertical del
+@code{StaffSymbol} más cercano
+(incluso si se trata de una línea que no es un pentagrama, como
+un contexto @code{Lyrics}).
+Los valores de @code{space} menores de @code{padding} o
+de @code{minimum-distance} no son significativos, porque la distancia
+resultante nunca será menor de @code{padding} o de
+@code{minimum-distance}.
+
+@item @code{minimum-distance} (distancia mínima):
+la distancia vertical mínima requerida, medida en espacios de
+pentagrama, entre los puntos de referencia de los dos elementos,
+cuando se produce una compresión. Los valores de
+@code{minimum-distance} menores de @code{padding} no son
+significativos, porque la distancia resultante nunca será menor de
+@code{padding}.
+
+@item @code{stretchability} (ampliabilidad):
+medida sin unidades de la propensión relativa de esta dimensión a
+ampliarse. Si es cero, la distancia no se ampliará (a no ser que
+resultasen colisiones). Si es positiva, la significación del valor de
+ampliabilidad de una dimensión concreta depende solamente de su
+relación con los valores de @code{stretchability} de las otras
+dimensiones. Por ejemplo, si una dimensión tiene el doble de
+@code{stretchability} que otra, se ampliará con el doble de facilidad.
+Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
+desencadena un error de programación y se ignora, pero se puede usar
+@code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
+fija un valor, el valor predeterminado se establece a @code{space}.
+Observe que la propensión de la dimensión a @emph{comprimirse} no se
+puede establecer directamente por el usuario y es igual a
+(@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
+@end itemize
-Distancia entre títulos consecutivos (p.ej., el título del libro y el
-título de una pieza). Predeterminado: @code{2\mm}.
+Si una página tiene un margen inferior no justificado, la distancia
+resultante es la mayor de:
-@item bottom-margin
-@funindex bottom-margin
+@itemize
+@item @code{space},
+@item @code{minimum-distance}, y
+@item @code{padding} más la menor distancia necesaria para eliminar las colisiones.
+@end itemize
-Margen entre el pie de página y la parte inferior del papel.
-Predeterminado: @code{6\mm}.
+Los métodos específicos para la modificación de las listas-A se
+estudian en @ref{Modificación de las listas-A}. Las variables de
+dimensión de @code{\paper} verticales flexibles sólo se pueden fijar
+dentro de un bloque @code{\paper}.
-@item foot-separation
-@funindex foot-separation
+El siguiente ejemplo muestra las
+dos formas en que pueden modificarse estas listas-A. La primera
+declaración actualiza un par clave-valor individualmente,
+y la segunda redefine la variable completamente:
-Distancia entre el sistema situado más abajo y el pie de página.
-Predeterminado: @code{4\mm}.
+@example
+\paper @{
+ system-system-spacing #'space = #8
-@item head-separation
-@funindex head-separation
+ score-system-spacing =
+ #'((padding . 1)
+ (space . 12)
+ (minimum-distance . 6)
+ (stretchability . 12))
+@}
+@end example
-Distancia entre el sistema situado más arriba y el encabezamiento de
-la página. Predeterminado: @code{4\mm}.
+Los ajustes predeterminados de inicio para estas variables están
+definidos en el archivo @file{ly/paper-defaults-init.ly}.
-@item page-top-space
-@funindex page-top-space
-Distancia desde la parte alta del área imprimible hasta el centro del
-primer pentagrama. Esto sólo funciona para pentagramas con una
-anchura vertical pequeña. Los pentagramas grandes se establecen con
-la parte alta de su caja circundante alineada a la parte alta del área
-imprimible. Predeterminado: @code{12\mm}.
+@subsubheading Variables de dimensión de @code{\paper} verticales flexibles
-@item paper-height
-@funindex paper-height
+Los nombres de estas variables siguen el formato
+@code{@var{superior}-@var{inferior}-spacing}, donde
+@code{@var{superior}} e @code{@var{inferior}} son los elementos que
+van a ser espaciados. Cada distancia se mide entre los puntos de
+referencia de los dos elementos
+(véase más arriba la descripción de la estructura de la lista-A).
+Observe que en estos nombres de variable, el término
+@q{@code{markup}} se refiere tanto a @emph{elementos de marcado de
+título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup}) como a
+@emph{elementos de marcado del nivel superior} (véase @ref{Estructura
+del archivo}).
-Altura de la página. Predeterminado: altura del tamaño actual del
-papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
+@table @code
+@item markup-system-spacing
+@funindex markup-system-spacing
-@item top-margin
-@funindex top-margin
+distancia entre un elemento de marcado (de título o del nivel
+superior) y el sistema que le sigue.
+
+@item score-markup-spacing
+@funindex 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.
+
+@item score-system-spacing
+@funindex 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.
+
+@item system-system-spacing
+@funindex system-system-spacing
+
+distancia entre dos sistemas dentro de la misma partitura.
+
+@item markup-markup-spacing
+@funindex markup-markup-spacing
+
+distancia entre dos elementos de marcado (de título o del nivel
+superior).
+
+@item last-bottom-spacing
+@funindex last-bottom-spacing
-Margen entre el encabezamiento y la parte alta del papel.
-Predeterminado: @code{5\mm}.
+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).
+@item top-system-spacing
+@funindex 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.
+
+@item top-markup-spacing
+@funindex 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.
@end table
Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
están definidas en @file{paper-defaults.ly} con valores en milímetros.
-Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
+Por ello el valor @w{@code{2 cm}} se debe multiplicar en el siguiente
+ejemplo:
@example
\paper @{
Ejemplo:
@example
-\paper@{
+\paper @{
paper-width = 2\cm
top-margin = 3\cm
bottom-margin = 3\cm
@}
@end example
-
@seealso
Referencia de la notación:
-@ref{Espaciado vertical entre sistemas}.
+@ref{Espaciado vertical flexible dentro de los sistemas}.
Fragmentos de código:
@rlsr{Spacing}.
@unnumberedsubsubsec Dimensiones horizontales
@translationof Horizontal dimensions
-@warning{Si se establece @code{paper-width} manualmente,
-@code{line-width}, @code{left-margin}, @code{indent} y
-@code{short-indent} pueden necesitar ajustarse también.}
Existe un cierto número de variables que determinan las dimensiones
horizontales de una página:
@table @code
+@item binding-offset
+@funindex binding-offset
+
+Se aumenta la cantidad @code{inner-margin} para asegurar que el
+encuadernado no va a tapar nada. Sólo funciona con @code{two-sided}
+establecido al valor verdadero. Valor predeterminado: @code{0}.
+
@item horizontal-shift
@funindex horizontal-shift
@item indent
@funindex indent
-Nivel de sangrado para el primer sistema de una partitura.
-Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
-viene determinado por @code{set-default-paper-size} o
-@code{set-paper-size}.
+Nivel de sangrado para el primer sistema de una partitura. Valor
+predeterminado: @code{15\mm}.
+
+@item inner-margin
+@funindex inner-margin
+
+Margen que tienen todas las páginas en el lado interior si son parte
+de un libro. Sólo funciona con @code{two-sided} establecido al valor
+verdadero. Valor predeterminado: @code{10\mm}.
@item left-margin
@funindex left-margin
El margen entre el límite izquierdo del papel y el comienzo de los
-sistemas. Predeterminado: @code{10\mm}, tal y como se define por
-parte de @code{set-default-paper-size} o de @code{set-paper-size}.
+sistemas. Predeterminado: @code{10\mm}.
@item line-width
@funindex line-width
Ancho de los sistemas. Predeterminado: @code{paper-width} menos
-@code{20\mm}, como viene determinado por @code{set-default-paper-size}
-o por @code{set-paper-size}.
+@code{left-margin} y @code{right-margin}.
+
+@item outer-margin
+@funindex outer-margin
+
+Margen que todas las páginas tienen en la parte exterior si son parte
+de un libro. Sólo funciona con @code{two-sided} establecido al valor
+verdadero. Valor predeterminado: @code{20\mm}.
@item paper-width
@funindex paper-width
Ancho de la página. Predeterminado: la anchura del tamaño actual del
papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
+@item right-margin
+@funindex right-margin
+
+Margen entre el borde derecho de la página y el final de cada sistema.
+Valor predeterminado: @code{10\mm}.
+
@item short-indent
@funindex short-indent
Nivel de sangrado para todos los sistemas de una partitura excepto el
-primero. Predeterminado: @code{0}, como se determina en
-@code{set-default-paper-size} o en @code{set-paper-size}.
+primero. Predeterminado: @code{0}.
@end table
+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:
+
+@itemize
+@item @var{left-margin}
+@item @var{right-margin}
+@item @var{top-margin}
+@item @var{bottom-margin}
+@item @var{head-separation}
+@item @var{foot-separation}
+@item @var{indent}
+@item @var{short-indent}
+@end itemize
+
+Los ajustes para @code{line-width}, @code{left-margin},
+@code{right-margin} y @code{paper-width} dependen entre sí, pero no
+tienen que especificarse completamente.
+
+@example
+\paper @{
+ left-margin = 30\mm
+@}
+@end example
+
+En este ejemplo, sólo se establece un valor para @code{left-margin}.
+El valor de @code{right-margin} sigue siendo el predeterminado,
+@code{line-width} se calcula automáticamente.
+
+@example
+\paper @{
+ line-width = 150\mm
+@}
+@end example
+
+Aquí @code{left-margin} y @code{right-margin} se ajustan al mismo
+valor. Por tanto, @code{line-width} se sustrae de @code{paper-width}
+y se divide entre dos. Esto significa que los sistemas se imprimen
+centrados en la página, si sólo se especifica @code{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.
+
+@example
+\paper @{
+ paper-width = 210\mm
+ left-margin = 20\mm
+ right-margin = 30\mm
+ line-width = 100\mm
+@}
+@end example
+
+Estas comprobaciones se pueden evitar estableciendo
+@code{check-consistency} al valor falso.
+
+@example
+\paper @{
+ paper-width = 210\mm
+ left-margin = 20\mm
+ line-width = 200\mm
+ check-consistency = ##f
+@}
+@end example
+
+@warning{Si @code{paper-width} se ajusta manualmente,
+@code{line-width}, @code{left-margin}, @code{indent} y
+@code{short-indent} podrían tener que ajustarse también.}
@seealso
Fragmentos de código:
@rlsr{Spacing}.
-@knownissues
-
-La opción @code{right-margin} está definida pero no establece aún el
-margen derecho. El valor del margen derecho se debe definir ajustando
-los valores de @code{left-margin} y de @code{line-width}.
-
@node Otras variables de diseño de página
@unnumberedsubsubsec Otras variables de diseño de página
nunca considera la posibilidad de tener páginas en blanco en mitad de
una partitura. Predeterminado: @code{5}.
+@item check-consistency
+@funindex check-consistency
+
+Si es verdadero, comprobar si @code{left-margin}, @code{right-margin}
+y @code{line-width} encajan entre sí. También asegurar que su
+combinación no excede del @code{paper-width} disponible. Valor
+predeterminado: @code{##t}.
+
@item first-page-number
@funindex first-page-number
Valor del número de la primera página. Predeterminado: @code{#1}.
@item max-systems-per-page
+@funindex 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
@code{ly:optimal-breaking}. Predeterminado: no establecido.
@item min-systems-per-page
+@funindex 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
@code{ly:optimal-breaking}. Predeterminado: no establecido.
-@item page-breaking-between-system-padding
-@funindex page-breaking-between-system-padding
+@item page-breaking-system-system-spacing
+@funindex page-breaking-system-system-spacing
Engaña al divisor de páginas para que crea que
-@code{between-system-padding} está establecido a algo distinto de lo
-que está realmente. Por ejemplo, si esta variable se establece a algo
-mucho mayor que @code{between-system-padding}, entonces el divisor de
-páginas colocará menos sistemas en cada página. Predeterminado: no
-establecido.
+@code{system-system-spacing} está establecido a algo distinto de lo
+que está realmente. Por ejemplo, si
+@code{page-breaking-system-system-spacing #'padding} se establece a algo
+mucho mayor que @code{system-system-spacing #'padding}, entonces
+el divisor de páginas colocará menos sistemas en cada página.
+Predeterminado: no establecido.
@item page-count
@funindex page-count
Número de páginas que usar para una partitura. Predeterminado: sin
fijar.
-@item page-limit-inter-system-space
-@funindex 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: @code{##f}.
-Para ver más detalles, consulte @ref{Espaciado vertical entre sistemas}.
-
-@item page-limit-inter-system-space-factor
-@funindex page-limit-inter-system-space-factor
-
-Factor usado por @code{page-limit-inter-system-space}.
-Predeterminado: @code{1.4}. Para ver más detalles, consulte
-@ref{Espaciado vertical entre sistemas}.
-
@item page-spacing-weight
@funindex page-spacing-weight
#(set-default-paper-size "a6" 'landscape)
\book {
\score {
- \relative { c1 \break c1 }
+ \relative c' { c1 \break c1 }
}
\paper {
system-separator-markup = \slashSeparator
@code{ly:optimal-breaking} por el momento. Predeterminado: no
establecido.
+@item two-sided
+@funindex two-sided
+
+@cindex encuadernación
+@cindex margen de encuadernación
+
+Si es verdadero, usar @code{inner-margin}, @code{outer-margin} y
+@code{binding-offset} para determinar los márgenes dependiendo de si
+el número de página es par o impar. Esto sobreescribe a
+@code{left-margin} y a @code{right-margin}. Valor predeterminado:
+@code{##f}.
+
@end table
-@cindex regular line breaks
-@cindex four bar music.
+@cindex saltos de línea normales
+@cindex música de cuatro compases por línea
Para saltos de línea a intervalos regulares utilice @code{\break}
separado mediante desplazamientos con @code{\skip} y repetidos con
@c TODO Check this
Una configuración de división de líneas se puede guardar como archivo
-@code{.ly} automáticamente. Ello permite que alineaciones verticales
+@file{.ly} automáticamente. Ello permite que alineaciones verticales
se estiren para que encajen en las páginas durante una segunda
ejecución del proceso de formateo. Esta posibilidad es bastante
novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
divisoria. Una nota colgando de una línea divisoria no es adecuada,
como
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
c4 c2 << c2 {s4 \break } >> % this does nothing
c2 c4 | % a break here would work
c4 c2 c4 ~ \break % as does this break
@}
@end example
-@c TODO Check this -td
-El antiguo algoritmo de división de páginas se llama
-@code{optimal-page-breaks}. Si tiene problemas con los nuevos
-divisores de página, puede habilitar el antiguo como forma de rodear
-el problema.
-
-
@funindex \bookpart
Cuando un libro tiene muchas partituras y páginas, puede ser difícil
}
\score {
- \new Score \with {
- \override NonMusicalPaperColumn #'line-break-permission = ##f
- \override NonMusicalPaperColumn #'page-break-permission = ##f
- } {
- \new Staff {
- \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
- \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 2 { c'8 c'8 c'8 c'8 }
+ \new Staff {
+ \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
+ \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
+ \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
+ \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
+ \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
+ \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
+ \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
+ \repeat unfold 2 { c'8 c'8 c'8 c'8 }
+ }
+ \layout {
+ \context {
+ \Score
+ \override NonMusicalPaperColumn #'line-break-permission = ##f
+ \override NonMusicalPaperColumn #'page-break-permission = ##f
}
}
}
directamente entremezclado dentro del código de notas.
@example
-\new Score @{
+\score @{
\new Staff @{
\repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
\break
disposición de los saltos.
@lilypond[quote,verbatim]
-\new Score {
+\score {
\new Staff <<
- \new Voice {
- s1 * 2 \break
- s1 * 3 \break
- s1 * 6 \break
- s1 * 5 \break
- }
- \new Voice {
- \repeat unfold 2 { c'4 c'4 c'4 c'4 }
- \repeat unfold 3 { c'4 c'4 c'4 c'4 }
- \repeat unfold 6 { c'4 c'4 c'4 c'4 }
- \repeat unfold 5 { c'4 c'4 c'4 c'4 }
- }
+ \new Voice {
+ s1 * 2 \break
+ s1 * 3 \break
+ s1 * 6 \break
+ s1 * 5 \break
+ }
+ \new Voice {
+ \repeat unfold 2 { c'4 c'4 c'4 c'4 }
+ \repeat unfold 3 { c'4 c'4 c'4 c'4 }
+ \repeat unfold 6 { c'4 c'4 c'4 c'4 }
+ \repeat unfold 5 { c'4 c'4 c'4 c'4 }
+ }
>>
}
@end lilypond
@ref{Espaciado vertical}.
@lilypond[quote,verbatim]
-\new Score {
+\score {
\new Staff <<
- \new Voice {
-
- \overrideProperty "Score.NonMusicalPaperColumn"
+ \new Voice {
+ \overrideProperty "Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 0))
- s1 * 2 \break
+ s1 * 2 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
+ \overrideProperty "Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 35))
- s1 * 3 \break
+ s1 * 3 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
+ \overrideProperty "Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 70))
- s1 * 6 \break
+ s1 * 6 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
+ \overrideProperty "Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 105))
- s1 * 5 \break
- }
- \new Voice {
- \repeat unfold 2 { c'4 c'4 c'4 c'4 }
- \repeat unfold 3 { c'4 c'4 c'4 c'4 }
- \repeat unfold 6 { c'4 c'4 c'4 c'4 }
- \repeat unfold 5 { c'4 c'4 c'4 c'4 }
- }
+ s1 * 5 \break
+ }
+ \new Voice {
+ \repeat unfold 2 { c'4 c'4 c'4 c'4 }
+ \repeat unfold 3 { c'4 c'4 c'4 c'4 }
+ \repeat unfold 6 { c'4 c'4 c'4 c'4 }
+ \repeat unfold 5 { c'4 c'4 c'4 c'4 }
+ }
>>
}
@end lilypond
pentagramas dentro de un sistema.
@menu
-* Espaciado vertical dentro de un sistema::
-* Espaciado vertical entre sistemas::
+* Espaciado vertical flexible dentro de los sistemas::
* Posicionamiento explícito de los pentagramas y los sistemas::
-* Espaciado vertical en dos fases::
* Evitar las colisiones verticales::
@end menu
-@node Espaciado vertical dentro de un sistema
-@subsection Espaciado vertical dentro de un sistema
-@translationof Vertical spacing inside a system
+@node Espaciado vertical flexible dentro de los sistemas
+@subsection Espaciado vertical flexible dentro de los sistemas
+@translationof Flexible vertical spacing within systems
@cindex distancia entre pentagramas
@cindex pentagrama, distancia entre los
@cindex espacio entre pentagramas
@cindex espacio dentro de los sistemas
-La altura de cada sistema se determina automáticamente. Para evitar
-que los pentagramas se superpongan unos encima de otros, se establecen
-algunas distancias mínimas. Al modificarlas, podemos poner los
-pentagramas más cerca unos de otros. Esto reduce el espacio que
-requiere cada sistema y puede resultar en la obtención de más sistemas
-por página.
-
-Normalmente los pentagramas se apilan verticalmente. Para hacer que
-los pentagramas guarden una distancia, se rellena su tamaño vertical.
-Esto se hace con la propiedad @code{minimum-Y-extent}. Si se aplica a
-@rinternals{VerticalAxisGroup}, controla el tamaño de una línea
-horizontal, como un pentagrama o una línea de letra.
-@code{minimum-Y-extent} acepta una pareja de números, de forma que si
-queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
-. 4)} entonces podemos establecer
+Tres mecanismos distintos controlan el espaciado vertical flexible
+dentro de los sistemas, uno por cada una de las categorías siguientes:
+
+@itemize
+@item @emph{pautas sin agrupar},
+@item @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
+@code{ChoirStaff}, etc.), y
+@item @emph{líneas que no son pautas} (como @code{Lyrics},
+@code{ChordNames}, etc.).
+@end itemize
+
+@c TODO: Clarify this. This almost implies that non-staff lines
+@c have NO effect on the spacing between staves. -mp
+
+La altura de cada sistema se determina en dos fases. Primero, todos
+los pentagramas se disponen según la cantidad de espacio vacío
+disponible. Después, las líneas que no son pautas se distribuyen
+entre las pautas.
+
+Observe que los mecanismos de espaciado estudiados en esta sección
+solamente controlan el espaciado vertical de pas pautas y líneas que
+no son pautas dentro de los sistemas individuales. El espaciado
+vertical entre distintos sistemas, partituras, marcados y márgenes se
+controla mediante variables de @code{\paper} que se estudian en
+@ref{Dimensiones verticales flexibles}.
+
+@menu
+* Propiedades de espaciado dentro de los sistemas::
+* Espaciado de pautas no agrupadas::
+* Espaciado de pautas agrupadas::
+@end menu
+
+
+@node Propiedades de espaciado dentro de los sistemas
+@unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
+@translationof Within-system spacing properties
+
+Los mecanismos de espaciado vertical dentro del sistema están
+controlados por dos conjuntos de propiedades de grob. El primer
+conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
+crea por parte de todas las pautas y líneas que no son pautas. El
+segundo conjunto está asociado con el grob @code{StaffGrouper}, que
+puede crearse por parte de los grupos de pentagramas, pero solamente
+si se le llama explícitamente. Estas propiedades se describen
+individualmente al final de la presente sección.
+
+Los nombres de estas propiedades (excepto para @code{staff-affinity})
+siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
+donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
+elementos que se van a espaciar. Observe que @code{@var{elemento2}}
+no está necesariamente por debajo de @code{@var{elemento1}}; por
+ejemplo, @code{nonstaff-relatedstaff-spacing} mide hadcia arriba a
+partir de la línea del tipo no-pauta si @code{staff-affinity} es
+@code{#UP}.
+
+Cada distancia se mide entre los @emph{puntos de referencia} de los
+dos elementos. El @emph{punto de referencia} para un pentagrama y
+otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
+decir, la línea central si @code{line-count} es un número impar; el
+espacio central si @code{line-count} es par). Los puntos de
+referencia para las líneas individuales que no son pautas aparecen en
+la tabla siguiente:
+
+@multitable {Línea que no es una pauta} {Punto de referencia}
+@headitem Línea que no es una pauta @tab Punto de referencia
+@item @code{ChordNames} @tab línea de base
+@item @code{NoteNames} @tab línea de base
+@item @code{Lyrics} @tab línea de base
+@item @code{Dynamics} @tab centro vertical
+@item @code{FiguredBass} @tab punto más alto
+@item @code{FretBoards} @tab línea superior
+@end multitable
+
+En la siguiente imagen, las líneas horizontales indican las posiciones
+de estos puntos de referencia:
+
+@lilypond[quote,noragged-right,line-width=110\mm]
+#(define zero-space '((padding . -inf.0) (space . 0)))
+
+alignToZero = \with {
+ \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
+ \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
+}
+lowerCaseChords = \with {
+ chordNameLowercaseMinor = ##t
+}
+staffAffinityDown = \with {
+ \override VerticalAxisGroup #'staff-affinity = #DOWN
+}
+labelContext =
+#(define-music-function
+ (parser location context)
+ (string?)
+ #{ s1*0^\markup { \typewriter $context } #})
+
+\layout {
+ \context { \Dynamics \alignToZero }
+ \context { \FiguredBass \alignToZero }
+ \context { \Lyrics \alignToZero }
+ \context { \NoteNames \alignToZero }
+ \context { \ChordNames \alignToZero \lowerCaseChords }
+ \context { \FretBoards \alignToZero \staffAffinityDown }
+ \context { \Score
+ \override BarLine #'stencil = ##f
+ \override DynamicText #'self-alignment-X = #-1
+ \override FretBoard #'X-offset = #1.75
+ \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
+ \override InstrumentName #'extra-offset = #'(0 . -0.5)
+ \override TextScript #'minimum-Y-extent = #'(-2 . 3)
+ \override TimeSignature #'stencil = ##f
+ }
+}
+
+%% These contexts have reference points at the baseline:
+%% ChordNames, NoteNames, and Lyrics
+<<
+ \new ChordNames { \chords { g1:m } }
+ \new NoteNames { s1 | g1 | }
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"baseline "
+ \textLengthOn
+ \labelContext "ChordNames" s1 |
+ \labelContext "NoteNames" s1 |
+ \labelContext "Lyrics" s1 |
+ }
+ \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
+>>
+
+%% The reference point for Dynamics is its vertical center
+<<
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"vertical center "
+ \labelContext "Dynamics" s1*3
+ }
+ \new Dynamics { s2\mp s\fp }
+>>
+
+%% The reference point for FiguredBass is its highest point
+<<
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"highest point "
+ \labelContext "FiguredBass" s1
+ }
+ \new FiguredBass { \figuremode { <6 5>1 } }
+>>
+
+%% The reference point for FretBoards is the top line
+\include "predefined-guitar-fretboards.ly"
+<<
+ \new FretBoards { \chordmode { e1 } }
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"top line "
+ \labelContext "FretBoards " s1
+ }
+>>
+@end lilypond
+
+Cada una de las propiedades de grob del espaciado vertical (excepto
+@code{staff-affinity}) se almacena como una lista-A (lista
+asociativa), y todas usan la misma estructura de lista-A que las
+variables de espaciado del bloque @code{\paper} que se han estudiado
+en @ref{Dimensiones verticales flexibles}. En @ref{Modificación de
+las listas-A} se estudian métodos específicos para la modificación de
+las listas-A. Las propiedades de los grobs deben ajustarse con un
+@code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
+no dentro de un bloque @code{\paper}.
+
+El ejemplo que sigue muestra las dos maneras en que pueden modificarse
+estas listas-A. La primera declaración ctualiza un par clave-valor de
+forma individual, y la segunda redefine la propiedad completamente:
@example
-\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
+\new Staff \with @{
+ \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
+@} @{ @dots{} @}
+
+\new Staff \with @{
+ \override VerticalAxisGroup #'staff-staff-spacing =
+ #'((padding . 1)
+ (space . 10)
+ (minimum-distance . 9)
+ (stretchability . 10))
+@} @{ @dots{} @}
@end example
-@noindent
-Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
-pentagrama a cada lado de la tercera línea. El valor @code{(-3 . 3)}
-se interpreta como un intervalo, donde la línea central es el 0, por
-lo que el primer número es negativo en general. Los números no tienen
-que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
-debajo dándole el valor @code{(-6 . 4)}.
-
-Después de que se han determinado los saltos de página, se reevalúa el
-espaciado vertical dentro de cada sistema para llenar la página de
-forma más regular; si una página tiene más espacio de sobra, se
-amplían los sistemas para poder llenar este espacio. La magnitud de
-esta ampliación se puede configurar a través de la propiedad
-@code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
-predeterminada, @code{max-stretch} se establece a cero, inhabilitando
-la ampliación. Para habilitar la ampliación, un valor prudente para
-@code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
-
-En ciertas situaciones, podemos querer ampliar la mayor parte de un
-sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si
-una parte de piano aparece en el medio de una partitura orquestal,
-podemos querer dejar los pentagramas de piano cercanos entre sí
-mientras se estira el resto de la partitura. Se puede usar la
-propiedad @code{keep-fixed-while-stretching} de
-@rinternals{VerticalAxisGroup} para conseguirlo. Cuando se establece
-al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
-de letra) se desplace en relación al que está directamente encima de
-él. En el ejemplo anterior, podríamos sobreescribir
-@code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
-pentagrama del piano:
-
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-#(set-global-staff-size 14.0)
+Para modificar globalmente cualquiera de los ajustes de espaciado,
+póngalos dentro del bloque @code{\layout}:
-\book {
-\paper {
- ragged-last-bottom = ##f
+@example
+\layout @{
+ \context @{
+ \Staff
+ \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
+ @}
+@}
+@end example
+
+Los ajustes estándar para las propiedades de grob del espaciado
+vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
+@rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
+los tipos específicos de líneas que no son pautas están relacionadas
+en las descripciones de contexto correspondientes en
+@rinternals{Contexts}.
+
+
+@subsubheading Propieades del grob @code{VerticalAxisGroup}
+
+Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
+instrucción @code{\override} en el nivel de @code{Staff} (o
+equivalente).
+
+@table @code
+@item staff-staff-spacing
+Distancia entre la pauta actual y la pauta que está justo por debajo
+de ella dentro del mismo sistema, incluso si hay más líneas que no son
+pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
+a la pauta inferior de un sistema. Esto susituye a cualquier ajuste
+heredado del grob @code{StaffGrouper} del grupo de pautas contenedor,
+si existe. Si no está fijado, y no hay ninguna propiedad de
+@code{StaffGrouper} que heredar, se usa la propiedad
+@code{default-staff-staff-spacing}.
+
+@item default-staff-staff-spacing
+Ajustes que utilizar para @code{staff-staff-spacing} cuando está sin
+establecer. Se aplica a las pautas no agrupadas y a las pautas
+agrupadas que no heredan los ajustes del grob @code{StaffGrouper}.
+
+@item staff-affinity
+Dirección de la pauta que utilizar para el espaciado de la línea
+actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
+@code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
+línea del tipo no-pauta se coloca equidistante entre las dos pautas
+contiguas a ambos lados, a no ser que lo impidan colisiones u otras
+restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
+han de llevar valores de @code{staff-affinity} no crecientes desde la
+parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
+establecida a @code{UP} no debería seguir inmediatamente a otra que
+esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
+parte superior de un sistema deben usar @code{DOWN}; las de la parte
+inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
+para una pauta hace que se le trate como una línea que no es una
+pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
+una línea que no es una pauta hace que se trate como una pauta.
+
+@c TODO: verify last clause below ("even if other...")
+
+@item nonstaff-relatedstaff-spacing
+Distancia entre la línea del tipo no-pauta actual y la pauta más
+próxima en la dirección de @code{staff-affinity}, si no hay ninguna
+línea que no sea una pauta entre las dos, y @code{staff-affinity} es
+@code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
+entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
+más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
+líneas del tipo no-pauta entre la pauta actual y una de las otras.
+
+@item nonstaff-nonstaff-spacing
+Distancia entre la línea actual del tipo no-pauta y la siguiente línea
+del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
+están al mismo lado de la pauta relacionada, y @code{staff-affinity}
+es @code{UP} o @code{DOWN}.
+
+@item nonstaff-unrelatedstaff-spacing
+Distancia entre la línea actual del tipo no-pauta y la pauta en la
+dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
+línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
+@code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
+una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
+pauta a la que no pertenece.
+@end table
+
+
+@subsubheading Propiedades del grob @code{StaffGrouper}
+
+Las propiedades de @code{StaffGrouper} se suelen ajustar con una
+instrucción @code{\override} en el nivel de @code{StaffGroup} (o
+equivalente).
+
+@table @code
+@item staff-staff-spacing
+Distancia entre pautas consecutivas dentro del grupo de pautas actual.
+La propiedad @code{staff-staff-spacing} del grob
+@code{VerticalAxisGroup} de una pauta individual se usará en su lugar
+para cualquier pauta que esté dentro del grupo que tiene el valor
+fijado. Véase también @code{default-staff-staff-spacing}.
+
+@item staffgroup-staff-spacing
+Distancia entre la última pauta del grupo en curso y la pauta que está
+justo por debajo de ella dentro del mismo sistema, incluso si existen
+una o más líneas que no son pautas (tales como @code{Lyrics}) entre
+las dos pautas. No se aplica al pentagrama o pauta inferior de un
+sistema. La propiedad @code{staff-staff-spacing} del grob
+@code{VerticalAxisGroup} de una pauta individual se usará en su lugar
+para cualquier pauta dentro del grupo que tenga el valor fijado.
+Véase también @code{default-staff-staff-spacing}.
+@end table
+
+@seealso
+Archivos de inicio:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
+Referencia de funcionamiento interno:
+@rinternals{Contexts},
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
+
+
+@node Espaciado de pautas no agrupadas
+@unnumberedsubsubsec Espaciado de pautas no agrupadas
+@translationof Spacing of ungrouped staves
+
+Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
+de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
+etc. son contextos que pueden contener uno o más contextos de voz,
+pero no pueden contener otras pautas.
+
+Las siguientes propiedades afectan al espaciado de las pautas @emph{no
+agrupadas}:
+
+@itemize
+@item Propiedades de @code{VerticalAxisGroup}:
+@itemize
+@item @code{staff-staff-spacing}
+@end itemize
+@end itemize
+
+Estas propiedades de grob se describen individualmente más arriba;
+véase @ref{Propiedades de espaciado dentro de un sistema}.
+
+Están implicadas ciertas propiedades adicionales para las pautas que
+son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
+
+El ejemplo siguiente muestra cómo la propiedad
+@code{staff-staff-spacing} puede afectar al espaciado de pautas no
+agrupadas:
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+ \context {
+ \Staff
+ \override VerticalAxisGroup #'staff-staff-spacing =
+ #'((padding . 1)
+ (space . 8)
+ (minimum-distance . 7))
+ }
}
-\new Score \with
-{
- \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
+\new StaffGroup <<
+ % The very low note here needs more room than 'space can
+ % provide, so the distance between this staff and the next is
+ % determined by 'padding.
+ \new Staff { b,2 r | }
+
+ % Here, 'space provides enough room, and there is no need to
+ % compress the space (towards 'minimum-distance) to make room
+ % for anything else on the page, so the distance between this
+ % staff and the next is determined by 'space.
+ \new Staff { \clef bass g2 r | }
+
+ % By setting 'padding to a negative value, staves can be made to
+ % collide. The lowest acceptable value for 'space is 0.
+ \new Staff \with {
+ \override VerticalAxisGroup #'staff-staff-spacing =
+ #'((padding . -10)
+ (space . 3.5))
+ } { \clef bass g2 r | }
+ \new Staff { \clef bass g2 r | }
+>>
+@end lilypond
+
+@seealso
+Archivos de inicio:
+@file{scm/define-grobs.scm}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+Referencia de funcionamiento interno:
+@rinternals{VerticalAxisGroup}.
+
+
+@node Espaciado de pautas agrupadas
+@unnumberedsubsubsec Espaciado de pautas agrupadas
+@translationof Spacing of grouped staves
+
+En partituras grandes como las orquestales, es común colocar los
+pentagramas en grupos. El espacio entre los grupos suele ser mayor
+que el espacio que hay entre los pentagramas dentro del mismo grupo.
+
+Los grupos de pautas, @emph{Staff-groups} (tales como
+@code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
+contener al mismo tiempo uno o más pentagramas o pautas.
+
+Las siguientes propiedades afectan al espaciado de las pautas dentro
+de los grupos:
+
+@itemize
+@item Propiedades de @code{VerticalAxisGroup}:
+@itemize
+@item @code{staff-staff-spacing}
+@item @code{default-staff-staff-spacing}
+@end itemize
+@item Propiedades de @code{StaffGrouper}:
+@itemize
+@item @code{staff-staff-spacing}
+@item @code{staffgroup-staff-spacing}
+@end itemize
+@end itemize
+
+Estas propiedades de grob se describen individualmente más arriba;
+véase @ref{Propiedades de espaciado dentro de un sistema}.
+
+El ejemplo siguiente muestra cómo pueden afectar las propiedades del
+grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+ \context {
+ \Score
+ \override StaffGrouper #'staff-staff-spacing #'padding = #0
+ \override StaffGrouper #'staff-staff-spacing #'space = #1
+ }
}
-{
-\new GrandStaff
-<<
- \new StaffGroup
- <<
- \new Staff {c' d' e' f'}
- \new Staff {c' d' e' f'}
- \new Staff {c' d' e' f'}
- >>
- \new PianoStaff
- <<
- \new Staff {c' d' e' f'}
- \new Staff \with {
- \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
- }
- {c' d' e' f'}
+<<
+ \new PianoStaff \with {
+ \override StaffGrouper #'staffgroup-staff-spacing #'space = #20
+ } <<
+ \new Staff { c'1 }
+ \new Staff { c'1 }
>>
- \new StaffGroup
- <<
- \new Staff {c' d' e' f'}
- \new Staff {c' d' e' f'}
+ \new StaffGroup <<
+ \new Staff { c'1 }
+ \new Staff { c'1 }
>>
>>
-}
-}
@end lilypond
-La alineación vertical de los pentagramas está manejada por el objeto
-@code{VerticalAlignment}. Los parámetros de contexto que especifican
-las dimensiones verticales están descritas en conexión con el grabador
-@code{Axis_group_engraver}.
-
-
@seealso
-Fragmentos de código:
+Installed Files:
+@file{scm/define-grobs.scm}.
+
+Snippets:
@rlsr{Spacing}.
-@c @lsr{spacing,page-spacing.ly},
-@c @lsr{spacing,alignment-vertical-spacing.ly}.
+Internals Reference:
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
-Referencia de funcionamiento interno:
-@rinternals{VerticalAlignment},
-@rinternals{Axis_group_engraver}.
+@unnumberedsubsubsec Espaciado de las líneas que no son pautas
-@node Espaciado vertical entre sistemas
-@subsection Espaciado vertical entre sistemas
-@translationof Vertical spacing between systems
+Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
+@code{ChordNames}, etc.) son contextos cuyos objetos de presentación
+se imprimen como pentagramas (es decir, en líneas horizontales dentro
+de los sistemas). Específicamente, las líneas que no son pautas son
+contextos del tipo no-pauta que crean el objeto de presentación
+@code{VerticalAxisGroup}.
-La separación entre los sistemas está controlada por cuatro variables
-del papel:
+Las siguientes propiedades afectan al espaciado de las líneas que no
+son pautas:
-@example
-\paper @{
- between-system-space = 1.5\cm
- between-system-padding = #1
- ragged-bottom=##f
- ragged-last-bottom=##f
-@}
-@end example
+@itemize
+@item Propiedades de @code{VerticalAxisGroup}:
+@itemize
+@item @code{staff-affinity}
+@item @code{nonstaff-relatedstaff-spacing}
+@item @code{nonstaff-nonstaff-spacing}
+@item @code{nonstaff-unrelatedstaff-spacing}
+@end itemize
+@end itemize
-Cuando sólo se ponen dos simples sistemas en una página, el espaciado
-vertical resultante puede ser bastante poco elegante: un sistema en la
-parte alta de la página y el otro en la parte baja, con un enorme
-hueco entre ellos. Para evitar esta situación se puede limitar el
-espacio que se añade entre los sistemas. Esta posibilidad se activa
-mediante el establecimiento al valor @code{#t} de la variable
-@code{page-limit-inter-system-space} en el bloque @code{\paper}. La
-variable del papel @code{page-limit-inter-system-space-factor}
-determina en qué cantidad se puede incrementar el espacio: por
-ejemplo, el valor @code{1.3} significa que el espacio puede ser un
-30% mayor que lo que sería en una página no justificada hasta abajo.
-
-En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
-limitado, el segundo sistema de la página 1 se situaría en la parte de
-abajo de la página. Activando la limitación de espacio, el segundo
-sistema se coloca más cerca del primero. Estableciendo
-@code{page-limit-inter-system-space-factor} a @code{1}, el espacio
-sería el mismo que en una página sin justificar por abajo, como la
-última página.
-
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-\book {
- \paper {
- page-limit-inter-system-space = ##t
- page-limit-inter-system-space-factor = 1.3
-
- oddFooterMarkup = \markup "page bottom"
- evenFooterMarkup = \markup "page bottom"
- oddHeaderMarkup = \markup \fill-line {
- "page top" \fromproperty #'page:page-number-string }
- evenHeaderMarkup = \markup \fill-line {
- "page top" \fromproperty #'page:page-number-string }
+Estas propiedades de grob se describen individualmente más arriba;
+véase @ref{Propiedades de espaciado dentro del sistema}.
+
+El ejemplo siguiente muestra cómo la propiedad
+@code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
+consecutivas que no son pautas. Aquí, mediante el establecimiento de
+la clave de ampliabilidad @code{stretchability} a un valor muy grande,
+la línea de letra es capaz de ampliarse mucho más de lo que es usual:
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+ \context {
+ \Lyrics
+ \override VerticalAxisGroup
+ #'nonstaff-nonstaff-spacing #'stretchability = #1000
}
- \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
- { s1*2 \pageBreak } >>
}
+
+\new StaffGroup
+<<
+ \new Staff \with {
+ \override VerticalAxisGroup #'staff-staff-spacing = #'((space . 30))
+ } { c'1 }
+ \new Lyrics \with {
+ \override VerticalAxisGroup #'staff-affinity = #UP
+ } \lyricmode { up }
+ \new Lyrics \with {
+ \override VerticalAxisGroup #'staff-affinity = #CENTER
+ } \lyricmode { center }
+ \new Lyrics \with {
+ \override VerticalAxisGroup #'staff-affinity = #DOWN
+ } \lyricmode { down }
+ \new Staff { c'1 }
+>>
@end lilypond
@seealso
+Archivos de inicio:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
Fragmentos de código:
@rlsr{Spacing}.
+@c @lsr{spacing,page-spacing.ly},
+@c @lsr{spacing,alignment-vertical-spacing.ly}.
+
+Referencia de funcionamiento interno:
+@rinternals{Contexts},
+@rinternals{VerticalAxisGroup}.
+
@node Posicionamiento explícito de los pentagramas y los sistemas
@subsection Posicionamiento explícito de los pentagramas y los sistemas
@translationof Explicit staff and system positioning
-Una forma de entender los ajustes de @code{VerticalAxisGroup} y de
-@code{\paper} que se explicaron en las dos secciones anteriores es
+Una forma de comprender los ajustes de @code{VerticalAxisGroup} y de
+@code{\paper} que se han explicado en las dos secciones precedentes es
como una colección de distintos ajustes que conciernen principalmente
-a la cantidad de relleno vertical que adquieren los distintos
-pentagramas y sistemas al ocupar la página.
+a la cantidad de relleno vertical entre distintos pentagramas y
+sistemas que ocupan toda la página.
+@c running down the page.
-Es posible abordar el problema del espaciado vertical de una forma
-distinta utilizando @code{NonMusicalPaperColumn
-#'line-break-system-details}. Donde los ajustes de
-@code{VerticalAxisGroup} y de @code{\paper} especifican el relleno
-vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
-especifica las posiciones verticales exactas en la página.
+Es posible enfrentarse al espaciado vertical de una forma distinta
+utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
+Cuando los ajustes de @code{VerticalAxisGroup} y de @code{\paper}
+especifican relleno vertical, @code{NonMusicalPaperColumn
+#'line-break-system-details} especifica posiciones verticales exactas
+sobre la página.
@code{NonMusicalPaperColumn #'line-break-system-details} acepta una
-lista asociativa de cinco ajustes distintos:
+lista asociativa de tres ajustes diferentes:
@itemize
-@item @code{X-offset}
-@item @code{Y-offset}
-@item @code{alignment-offsets}
-@item @code{alignment-extra-space}
-@item @code{fixed-alignment-extra-space}
+@item @code{X-offset} (desplazamiento en X)
+@item @code{Y-offset} (desplazamiento en Y)
+@item @code{alignment-distances} (distancias de alineación)
@end itemize
Las sobreescrituras de los objetos gráficos, entre ellas las de
-@code{NonMusicalPaperColumn} que aparece más abajo, pueden ocurrir en
+@code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
tres lugares distintos dentro de un archivo de entrada:
@itemize
#'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((alignment-offsets . (0 -15)))
+ #'line-break-system-details #'((alignment-distances . (15)))
\overrideProperty NonMusicalPaperColumn
#'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
@end example
Para entender cómo funciona cada uno de los distintos ajustes,
Esta partitura mantiene aislada la información de los saltos de línea
y de página en una voz dedicada a ello. Esta técnica de crear una voz
de saltos ayuda a mantener separada de la escritura de notas conforme
-el ejemplo se vuelve más complicado. Consulte @ref{Utilizar una voz adicional para los saltos de línea}.
+el ejemplo se vuelve más complicado. Consulte
+@ref{Utilizar una voz adicional para los saltos de línea}.
Los saltos explícitos dividen la música de forma regular en seis
compases por línea. El espaciado vertical es el resultado de los
en la que se trazará cada uno de los nuevos sistemas.
Ahora que hemos establecido explícitamente el punto de origen vertical
-de cada sistema, podemos también establecer manualmente el punto de
-origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos
-usando la subpropiedad @code{alignment-offsets} de
+de cada sistema, podemos también establecer manualmente las distancias
+verticales entre los pentagramas dentro de cada sistema. Lo hacemos
+usando la subpropiedad @code{alignment-distances} de
@code{line-break-system-details}.
@lilypond[quote]
\new Voice {
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 20)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 60)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 100)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@code{line-break-system-details} acepta muchos parámetros de espaciado
adicionales (entre ellos, por ejemplo, un par @code{X-offset}
correspondiente), sólo tenemos que establecer el desplazamiento
-@code{Y-offset} y los pares @code{alignment-offsets} para controlar el
-punto de origen vertical de cada sistema y pentagrama. Finalmente,
-observe que @code{alignment-offsets} especifica el posicionamiento
+@code{Y-offset} y los pares @code{alignment-distances} para controlar
+el punto de origen vertical de cada sistema y pentagrama. Finalmente,
+observe que @code{alignment-distances} especifica el posicionamiento
vertical de los pentagramas pero no de los grupos de pentagramas.
@lilypond[quote]
\new Voice {
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 0)
- (alignment-offsets . (0 -30 -40)))
+ (alignment-distances . (30 10)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 60)
- (alignment-offsets . (0 -10 -20)))
+ (alignment-distances . (10 10)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 100)
- (alignment-offsets . (0 -10 -40)))
+ (alignment-distances . (10 30)))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
Algunos puntos que tener en cuenta:
@itemize
-@item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
+@item Al usar @code{alignment-distances}, la letra
+y otras líneas que no son pautas, no cuentan como un pentagrama.
@item Las unidades de los números que se pasan a @code{X-offset},
-@code{Y-offset} y @code{alignment-offsets} se interpretan como
+@code{Y-offset} y @code{alignment-distances} se interpretan como
múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
valores positivos mueven a los pentagramas y a la letra hacia arriba,
los valores negativos mueven los pentagramas y la letra hacia abajo.
-@item A causa de que los ajustes a @code{NonMusicalPaperColumn #'line-break-system-details}
-dados aquí permiten el posicionamiento de pentagramas y sistemas en
-cualquier lugar de la página, es posible violar los márgenes o los
-límites del papel, o incluso imprimir pentagramas o sistemas unos
-encima de otros. Esto se evitaría pasando a los diferentes ajustes
-unos valores razonables.
+@item A causa de que los ajustes a @code{NonMusicalPaperColumn
+#'line-break-system-details} dados aquí permiten el posicionamiento de
+pentagramas y sistemas en cualquier lugar de la página, es posible
+violar los márgenes o los límites del papel, o incluso imprimir
+pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
+a los diferentes ajustes unos valores razonables.
@end itemize
@rlsr{Spacing}.
-@node Espaciado vertical en dos fases
-@subsection Espaciado vertical en dos fases
-@translationof Two-pass vertical spacing
-
-@warning{El espaciado vertical en dos pasadas está obsoleto y se
-eliminará en una versión futura de LilyPond. Ahora los sistemas se
-amplían automáticamente en un solo paso. Véase @ref{Espaciado vertical dentro de un sistema}.}
-
-In order to automatically stretch systems so that they should fill the
-space left on a page, a two-pass technique can be used:
-
-@enumerate
-@item In the first pass, the amount of vertical space used to increase
-the height of each system is computed and dumped to a file.
-@item In the second pass, spacing inside the systems are
-stretched according to the data in the page layout file.
-@end enumerate
-
-The @code{ragged-bottom} property adds space between systems, while
-the two-pass technique adds space between staves inside a system.
-
-To allow this behavior, a @code{tweak-key} variable has to be set in
-each score @code{\layout} block, and the tweaks included in each score
-music, using the @code{\scoreTweak} music function.
-
-@quotation
-@verbatim
-%% include the generated page layout file:
-\includePageLayoutFile
-
-\score {
- \new StaffGroup <<
- \new Staff <<
- %% Include this score tweaks:
- \scoreTweak "scoreA"
- { \clef french c''1 \break c''1 }
- >>
- \new Staff { \clef soprano g'1 g'1 }
- \new Staff { \clef mezzosoprano e'1 e'1 }
- \new Staff { \clef alto g1 g1 }
- \new Staff { \clef bass c1 c1 }
- >>
- \header {
- piece = "Score with tweaks"
- }
- %% Define how to name the tweaks for this score:
- \layout { #(define tweak-key "scoreA") }
-}
-@end verbatim
-@end quotation
-
-For the first pass, the @code{dump-tweaks} option should be set to
-generate the page layout file.
-
-@example
-lilypond -dbackend=null -d dump-tweaks <file>.ly
-lilypond <file>.ly
-@end example
-
-
-@seealso
-Fragmentos de código:
-@rlsr{Spacing}.
-
-
@node Evitar las colisiones verticales
@subsection Evitar las colisiones verticales
@translationof Vertical collision avoidance
@code{outside-staff-priority} más baja se colocará más próximo al
pentagrama.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
c4_"Text"\pp
r2.
\once \override TextScript #'outside-staff-priority = #1
posicionados previamente se puede controlar con
@code{outside-staff-padding}.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\once \override TextScript #'outside-staff-padding = #0
a'^"This text is placed very close to the note"
\once \override TextScript #'outside-staff-padding = #3
@code{outside-staff-horizontal-padding} ocasiona que un objeto se
desplace verticalmente para que tal situación no ocurra.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
% the markup is too close to the following note
c4^"Text"
c4
corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
-@lilypond[quote,fragment,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
c2 c4. c8 c4. c8 c4. c8 c8
c8 c4 c4 c4
@end lilypond
nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
@end lilypond
-En la introducción (véase @rlearning{Grabado}), se explicó que las
-direcciones de las plicas influyen en el espaciado. Esto se controla
+
+En el @emph{Ensayo sobre grabado musical automatizado},
+se explicó que las
+direcciones de las plicas influyen en el espaciado
+(véase @ressay{Espaciado óptico}). Esto se controla
con la propiedad @code{stem-spacing-correction} en el objeto
@rinternals{NoteSpacing}. Estos se generan para cada uno de los
contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
@lilypond[quote,ragged-right]
{
c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4|
+ b'4 e''4 b'4 e''4 |
\override Staff.NoteSpacing #'stem-spacing-correction = #1.5
\override Staff.StaffSpacing #'stem-spacing-correction = #1.5
c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4|
+ b'4 e''4 b'4 e''4 |
}
@end lilypond
-Está contemplada la notación proporcional; consulte @ref{Notación proporcional}.
+Está contemplada la notación proporcional; consulte
+@ref{Notación proporcional}.
@seealso
En el ejemplo siguiente, el cambio de compás introduce una sección
nueva, y por ello las semicorcheas se separan de manera más amplia.
-@lilypond[relative,fragment,verbatim,quote]
+@lilypond[relative=1,verbatim,quote]
\time 2/4
c4 c8 c
c8 c c4 c16[ c c8] c4
\context {
\Score
\override SpacingSpanner
- #'base-shortest-duration = #(ly:make-moment 1 16)
+ #'base-shortest-duration = #(ly:make-moment 1 16)
}
}
}
@code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
puede cambiarse al principio de la partitura:
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-\new Score \with {
- \override SpacingSpanner #'uniform-stretching = ##t
-} <<
- \new Staff{
- \times 4/5 {
- c8 c8 c8 c8 c8
+@lilypond[quote,ragged-right,verbatim]
+\score {
+ <<
+ \new Staff {
+ \times 4/5 {
+ c8 c8 c8 c8 c8
+ }
+ c8 c8 c8 c8
}
- c8 c8 c8 c8
- }
- \new Staff{
- c8 c8 c8 c8
- \times 4/5 {
- c8 c8 c8 c8 c8
+ \new Staff {
+ c8 c8 c8 c8
+ \times 4/5 {
+ c8 c8 c8 c8 c8
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ \override SpacingSpanner #'uniform-stretching = ##t
}
}
->>
+}
@end lilypond
Cuando se establece @code{strict-note-spacing}, las notas se separan
sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\override Score.SpacingSpanner #'strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
@end lilypond
horizontal natural, en lugar de repartirse horizontalmente hasta
llenar toda la línea. Esto es útil para fragmentos cortos, y para
comprobar qué tan apretado es el espaciado natural.
+El valor normal predeterminado es falso, pero si la partitura
+tiene un solo sistema, el valor predeterminado es verdadero.
+
@cindex diseño de página
@cindex página, disposición de la
@c stretch as the previous line. eTeX uses \lastlinefit to
@c interpolate between both these solutions.
-@c interesting! -FV
-
@example
\layout @{
indent = #0
espaciado clásico sin justificación por la derecha.
@lilypond[quote,verbatim,ragged-right]
-\new Score <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
->>
+ >>
+}
@end lilypond
Observe que la blanca que inicia el compás ocupa mucho menos de la
ajuste @code{proportionalNotationDuration}.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 20)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 20)
}
}
->>
+}
@end lilypond
La blanca al principio del compás y las notas rápidas de la segunda
denominador que, juntos, expresan una cierta fracción de redonda. La
llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
de referencia de una nota de un veinteavo de redonda (semicorcheas de
-cinquillo). Los valores @code{#(ly:make-moment 1 16)},
-@code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)} son
-también posibles.
+cinquillo). Son también posibles valores como
+@code{#(ly:make-moment 1 16)},
+@code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)}.
¿Cómo seleccionamos la duración correcta de referencia para pasarla a
@code{proportionalNotationDuration}? Normalmente mediante un proceso
más largas aplican un espaciado más apretado.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 8)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 8)
}
}
->>
+}
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 16)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 16)
}
}
->>
+}
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 32)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 32)
}
}
->>
+}
@end lilypond
Observe que una duración de referencia demasiado grande (como la
diferente de grupo especial.
@lilypond[quote,verbatim,ragged-right]
-\new Score <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
- \new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ \new RhythmicStaff {
+ \times 8/9 {
+ c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ }
}
- }
->>
+ >>
+}
@end lilypond
El espaciado es defectuoso porque las notas regularmente espaciadas
-del pentagrama inferior no se amplían de manera uniforme. El grabado
-clásico incluye muy pocos tresillos complejos y así las reglas del
+del pentagrama inferior no se amplían de manera uniforme. Los grabados
+clásicos incluyen muy pocos tresillos complejos y así las reglas del
grabado clásico pueden generar este tipo de resultado. El
-establecimiento de @code{proportionalNotationDuration} remedia esta
-situación considerablemente.
+establecimiento de @code{proportionalNotationDuration} lo
+soluciona.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 20)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
- \new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ \new RhythmicStaff {
+ \times 8/9 {
+ c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 20)
}
}
->>
+}
@end lilypond
+
Pero si observamos con mucho cuidado podremos ver que las notas de la
segunda mitad del 9-illo están espaciadas de forma ligeramente más
ancha que las de la primera mitad del 9-illo. Para asegurar una
propiedad de @code{SpacingSpanner}.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 20)
- \override SpacingSpanner #'uniform-stretching = ##t
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
- \new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ \new RhythmicStaff {
+ \times 8/9 {
+ c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 20)
+ \override SpacingSpanner #'uniform-stretching = ##t
}
}
->>
+}
@end lilypond
Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
partitura completa. Sin embargo, podemos sobreescribir este
comportamiento y activar distintas posibilidades de espaciado en
distintos lugares de la partitura. Lo hacemos con la instrucción
-@code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva} para más
-información.
+@code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
+para más información.
A continuación examinamos los efectos del grabador
@code{Separating_line_group_engraver} y veremos por qué las partituras
}
@end lilypond
+
@noindent
Todas las dimensiones de disposición se muestran en espacios de
pentagrama, independientemente de las unidades especificadas en los
@seealso
+Referencia de la notación:
@ref{Establecer el tamaño del pentagrama}.
Fragmentos de código:
@example
\paper @{
- between-system-padding = #0.1
- between-system-space = #0.1
+ system-system-spacing = #'((padding . 0) (space . 0.1))
ragged-last-bottom = ##f
ragged-bottom = ##f
@}
@lilypond[verbatim,quote,relative=1]
e4 c g\f c
-\override DynamicText #'extra-offset = #'( -2.2 . 2.0)
-e4 c g\f c
+e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
@end lilypond
@item
Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
-Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}. El
-ejemplo siguiente ilustra el espaciado predeterminado:
+Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
+El ejemplo siguiente ilustra el espaciado predeterminado:
@lilypond[verbatim,quote]
\score {