@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 Spacing issues
-@chapter Spacing issues
+@node Problemas de espaciado
+@chapter Problemas de espaciado
+@translationof Spacing issues
La disposición global sobre el papel viene determinada por tres
factores: el diseño de página, los saltos de línea y el espaciado.
cualquiera de los dos.
@menu
-* Paper and pages::
-* Music layout::
-* Breaks::
-* Vertical spacing::
-* Horizontal spacing::
-* Fitting music onto fewer pages::
+* El papel y las páginas::
+* Disposición de la música::
+* Saltos::
+* Espaciado vertical::
+* Espaciado horizontal::
+* Encajar la música en menos páginas::
@end menu
-@node Paper and pages
-@section Paper and pages
+@node El papel y las páginas
+@section El papel y las páginas
+@translationof Paper and pages
Esta sección se ocupa de los límites que definen la zona del papel en
que se puede imprimir la música.
@menu
-* Paper size::
-* Page formatting::
+* Tamaño del papel::
+* Formateo de las páginas::
@end menu
-@node Paper size
-@subsection Paper size
+@node Tamaño del papel
+@subsection Tamaño del papel
+@translationof Paper size
@cindex papel, tamaño del
@cindex página, tamaño de la
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}.
-@node Page formatting
-@subsection Page formatting
+@node Formateo de las páginas
+@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
-* Vertical dimensions::
-* Horizontal dimensions::
-* Other layout variables::
+* Dimensiones verticales fijas::
+* Dimensiones verticales flexibles::
+* Dimensiones horizontales::
+* Otras variables de diseño de página::
@end menu
-@node Vertical dimensions
-@unnumberedsubsubsec 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{Paper size}.
+@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
+
+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).
-Margen entre el encabezamiento y la parte alta del papel.
-Predeterminado: @code{5\mm}.
+@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{Vertical spacing between systems}.
+@ref{Espaciado vertical flexible dentro de los sistemas}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Horizontal dimensions
-@unnumberedsubsubsec Horizontal dimensions
+@node Dimensiones horizontales
+@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{Paper size}.
+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 Other layout variables
-@unnumberedsubsubsec Other layout variables
+@node Otras variables de diseño de página
+@unnumberedsubsubsec Otras variables de diseño de página
+@translationof Other layout variables
Estas variables se pueden usar para ajustar el diseño de la página en
general.
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{Vertical spacing between
-systems}.
-
-@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{Vertical spacing between systems}.
-
@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
sistema de la partitura.
-@node Music layout
-@section Music layout
+@node Disposición de la música
+@section Disposición de la música
+@translationof Music layout
@menu
-* Setting the staff size::
-* Score layout::
+* Establecer el tamaño del pentagrama::
+* Disposición de la partitura::
@end menu
-@node Setting the staff size
-@subsection Setting the staff size
+@node Establecer el tamaño del pentagrama
+@subsection Establecer el tamaño del pentagrama
+@translationof Setting the staff size
@cindex tipografía, establecer tamaño de
@cindex pentagrama, establecer tamaño de
@seealso
Referencia de la notación:
-@ref{Selecting notation font size}.
+@ref{Seleccionar el tamaño de la tipografía para la notación}.
Fragmentos de código:
@rlsr{Spacing}.
del pentagrama.
-@node Score layout
-@subsection Score layout
+@node Disposición de la partitura
+@subsection Disposición de la partitura
+@translationof Score layout
@funindex \layout
@seealso
Referencia de la notación:
-@ref{Changing context default settings}.
+@ref{Cambiar los valores por omisión de los contextos}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Breaks
-@section Breaks
+@node Saltos
+@section Saltos
+@translationof Breaks
@menu
-* Line breaking::
-* Page breaking::
-* Optimal page breaking::
-* Optimal page turning::
-* Minimal page breaking::
-* Explicit breaks::
-* Using an extra voice for breaks::
+* Saltos de línea::
+* Saltos de página::
+* Saltos de página óptimos::
+* Paso de página óptimo::
+* Saltos de página mínimos::
+* Saltos de línea explícitos::
+* Utilizar una voz adicional para los saltos de línea::
@end menu
-@node Line breaking
-@subsection Line breaking
+@node Saltos de línea
+@subsection Saltos de línea
+@translationof Line breaking
@cindex saltos de línea
@cindex línea, saltos de
-@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
#'breakable = ##t}.
-@node Page breaking
-@subsection Page breaking
+@node Saltos de página
+@subsection Saltos de página
+@translationof Page breaking
Se puede sobreescribir el mecanismo predeterminado de salto de página
insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
la última página, respectivamente, no se verán justificados
verticalmente.
-Para ver más detalles, consulte @ref{Vertical spacing}.
+Para ver más detalles, consulte @ref{Espaciado vertical}.
Los saltos de página se calculan por medio de la función
@code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
@}
@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
@rlsr{Spacing}.
-@node Optimal page breaking
-@subsection Optimal page breaking
+@node Saltos de página óptimos
+@subsection Saltos de página óptimos
+@translationof Optimal page breaking
@funindex ly:optimal-breaking
@rlsr{Spacing}.
-@node Optimal page turning
-@subsection Optimal page turning
+@node Paso de página óptimo
+@subsection Paso de página óptimo
+@translationof Optimal page turning
@funindex ly:page-turn-breaking
Hay dos etapas en el uso de esta función de división de páginas. En
primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
-explicó en @ref{Page breaking}. Entonces debemos decirle a la función
+explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
dónde nos gustaría permitir los saltos de página.
Hay dos formas de conseguir la segunda tarea. Primero, podemos
partitura. Si hay más de uno, se interferirán entre sí.
-@node Minimal page breaking
-@subsection Minimal page breaking
+@node Saltos de página mínimos
+@subsection Saltos de página mínimos
+@translationof Minimal page breaking
@funindex ly:minimal-breaking
@rlsr{Spacing}.
-@node Explicit breaks
-@subsection Explicit breaks
+@node Saltos de línea explícitos
+@subsection Saltos de línea explícitos
+@translationof Explicit breaks
Lily a veces rechaza las instrucciones @code{\break} y
@code{\pageBreak} explícitas. Hay dos instrucciones para
}
\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
}
}
}
@rlsr{Spacing}.
-@node Using an extra voice for breaks
-@subsection Using an extra voice for breaks
+@node Utilizar una voz adicional para los saltos de línea
+@subsection Utilizar una voz adicional para los saltos de línea
+@translationof Using an extra voice for breaks
La información sobre saltos de línea y de página suele aparecer
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
Este patrón resulta especialmente útil cuando se sobreescribe
@code{line-break-system-details} y las otras útiles (pero largas)
propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
-@ref{Vertical spacing}.
+@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
@seealso
Referencia de la notación:
-@ref{Vertical spacing}.
+@ref{Espaciado vertical}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Vertical spacing
-@section Vertical spacing
+@node Espaciado vertical
+@section Espaciado vertical
+@translationof Vertical spacing
@cindex espaciado vertical
@cindex vertical, espaciado
pentagramas dentro de un sistema.
@menu
-* Vertical spacing inside a system::
-* Vertical spacing between systems::
-* Explicit staff and system positioning::
-* Two-pass vertical spacing::
-* Vertical collision avoidance::
+* Espaciado vertical flexible dentro de los sistemas::
+* Posicionamiento explícito de los pentagramas y los sistemas::
+* Evitar las colisiones verticales::
@end menu
-@node Vertical spacing inside a system
-@subsection 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 Vertical spacing between systems
-@subsection 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}.
-@node Explicit staff and system positioning
-@subsection Explicit staff and system positioning
+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{Using an extra
-voice for breaks}.
+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 Two-pass vertical spacing
-@subsection 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{Vertical spacing
-inside a system}.}
-
-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 Vertical collision avoidance
-@subsection Vertical collision avoidance
+@node Evitar las colisiones verticales
+@subsection Evitar las colisiones verticales
+@translationof Vertical collision avoidance
@funindex outside-staff-priority
@funindex outside-staff-padding
@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
@rlsr{Spacing}.
-@node Horizontal spacing
-@section Horizontal spacing
+@node Espaciado horizontal
+@section Espaciado horizontal
+@translationof Horizontal spacing
@cindex horizontal, espaciado
@cindex espaciado horizontal
@menu
-* Horizontal spacing overview::
-* New spacing area::
-* Changing horizontal spacing::
-* Line length::
-* Proportional notation::
+* Panorámica del espaciado horizontal::
+* Área de espaciado nueva::
+* Cambiar el espaciado horizontal::
+* Longitud de la línea::
+* Notación proporcional::
@end menu
-@node Horizontal spacing overview
-@subsection Horizontal spacing overview
+@node Panorámica del espaciado horizontal
+@subsection Panorámica del espaciado horizontal
+@translationof Horizontal spacing overview
El motor de espaciado traduce las diferencias en las duraciones a
distancias ampliables (@q{muelles}) de distintas longitudes. Las
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{Engraving}), 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{Proportional
-notation}.
+Está contemplada la notación proporcional; consulte
+@ref{Notación proporcional}.
@seealso
No existe ningún rodeo para disminuir la magnitud de la separación.
-@node New spacing area
-@subsection New spacing area
+@node Área de espaciado nueva
+@subsection Área de espaciado nueva
+@translationof New spacing area
Se pueden iniciar secciones nuevas con diferentes parámetros de
espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
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
@rinternals{SpacingSpanner}.
-@node Changing horizontal spacing
-@subsection Changing horizontal spacing
+@node Cambiar el espaciado horizontal
+@subsection Cambiar el espaciado horizontal
+@translationof Changing horizontal spacing
Se puede alterar el espaciado horizontal con la propiedad
@code{base-shortest-duration}. Aquí compararemos la misma música, una
\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
@rlsr{Spacing}.
-@node Line length
-@subsection Line length
+@node Longitud de la línea
+@subsection Longitud de la línea
+@translationof Line length
@cindex saltos de página
@cindex página, saltos de
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
@rlsr{Spacing}.
-@node Proportional notation
-@subsection Proportional notation
+@node Notación proporcional
+@subsection Notación proporcional
+@translationof Proportional notation
LilyPond contempla la notación proporcional, un tipo de espaciado
horizontal en el que cada nota consume una medida horizontal que
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{New spacing area} 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
@seealso
Referencia de la notación:
-@ref{New spacing area}.
+@ref{Área de espaciado nueva}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Fitting music onto fewer pages
-@section Fitting music onto fewer pages
+@node Encajar la música en menos páginas
+@section Encajar la música en menos páginas
+@translationof Fitting music onto fewer pages
En ocasiones, podemos terminar con uno o dos pentagramas en una
segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
Al investigar los problemas de disposición, una herramienta de valor
incalculable es @code{annotate-spacing}. Esta instrucción imprime los
valores de un cierto número de variables de espaciado; para ver más
-detalles consulte la sección siguiente, @ref{Displaying spacing}.
+detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
@menu
-* Displaying spacing::
-* Changing spacing::
+* Mostrar el espaciado::
+* Cambiar el espaciado::
@end menu
-@node Displaying spacing
-@subsection Displaying spacing
+@node Mostrar el espaciado
+@subsection Mostrar el espaciado
+@translationof Displaying spacing
@cindex espaciado, presentación del
@funindex annotate-spacing
}
@end lilypond
+
@noindent
Todas las dimensiones de disposición se muestran en espacios de
pentagrama, independientemente de las unidades especificadas en los
@seealso
-@ref{Setting the staff size}.
+Referencia de la notación:
+@ref{Establecer el tamaño del pentagrama}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Changing spacing
-@subsection Changing spacing
+@node Cambiar el espaciado
+@subsection Cambiar el espaciado
+@translationof Changing spacing
La salida de @code{annotate-spacing} revela las dimensiones verticales
con gran detalle. Para ver más detalles acerca de la modificación de
los márgenes y otras variables de diseño de la página, consulte
-@ref{Page formatting}.
+@ref{Formateo de las páginas}.
Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
@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{Changing horizontal spacing}. 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 {
@seealso
Referencia de la notación:
-@ref{Page formatting},
-@ref{Changing horizontal spacing}.
+@ref{Formateo de las páginas},
+@ref{Cambiar el espaciado horizontal}.
Fragmentos de código:
@rlsr{Spacing}.