]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/notation/spacing.itely
resolve merge
[lilypond.git] / Documentation / es / notation / spacing.itely
diff --git a/Documentation/es/notation/spacing.itely b/Documentation/es/notation/spacing.itely
new file mode 100644 (file)
index 0000000..3f15002
--- /dev/null
@@ -0,0 +1,3621 @@
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+
+@ignore
+    Translation of GIT committish: 5e9d7b07e1da12e32ae7be0253b22cb28cf2fe58
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.14.0"
+
+@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.
+Estos factores influyen entre sí.  La elección de uno u otro espaciado
+determina qué densidad termina teniendo cada sistema de música.  Esto
+influye en el lugar en que se eligen los saltos de línea y, en último
+término, en el número de páginas que tiene una partitura.
+
+Considerado globalmente, este proceso se produce en cuatro fases: en
+primer lugar se eligen unas distancias elásticas o @q{muelles},
+basados en la duración de las figuras.  Se prueban todas las
+combinaciones de saltos de línea posibles, y para cada una de ellas se
+calcula una puntuación de @q{maldad}.  Después se hace una estimación
+de la altura de cada uno de los posibles sistemas.  Finalmente se
+selecciona una combinación de saltos de página y de línea de tal forma
+que ni el espaciado horizontal ni el vertical estén demasiado
+estrechos ni estirados.
+
+Hay dos tipos de bloques que pueden contener ajustes de disposición:
+@code{\paper @{@dots{}@}} y @code{\layout @{@dots{}@}}.  El bloque
+@code{\paper} contiene ajustes de disposición de la página que se
+espera sean los mismos para todas las partituras de un libro, como la
+altura de la hoja o si se imprimen los números de página, etc.  Véase
+@ref{Disposición de la página}.  El bloque @code{\layout} contiene
+ajustes de disposición de la partitura, como el número de sistemas que
+utilizar, o la separación entre grupos de pentagramas, etc.  Véase
+@ref{Disposición de la partitura}.
+
+@menu
+* Disposición de la página::
+* Disposición de la partitura::
+* Saltos::
+* Espaciado vertical::
+* Espaciado horizontal::
+* Encajar la música en menos páginas::
+@end menu
+
+
+@node Disposición de la página
+@section Disposición de la página
+@translationof Page layout
+
+Esta sección estudia las opciones de disposición de la página para el
+bloque @code{\paper}.
+
+@menu
+* El bloque \paper::
+* Tamaño del papel y escalado automático::
+* Variables de espaciado de \paper verticales fijas::
+* Variables de espaciado de \paper verticales flexibles::
+* Variables de espaciado de \paper horizontales::
+* Otras variables de \paper::
+@end menu
+
+
+@node El bloque \paper
+@subsection El bloque @code{\paper}
+@translationof The \paper block
+
+El bloque @code{\paper} puede aparecer dentro de un bloque
+@code{\book}, pero no dentro de un bloque @code{\score}.  Los ajustes
+de un bloque @code{\paper} se aplican a todo el libro, que puede
+comprender varias partituras.  Entre los ajustes que pueden aparecer
+dentro de un bloque @code{\paper} están los siguientes:
+
+@itemize
+
+@item
+la función de Scheme @code{set-paper-size},
+
+@item
+variables de @code{\paper} utilizadas para personalizar la disposición
+de la página, y
+
+@item
+definiciones de marcado utilizadas para personalizar la disposición de
+los encabezamientos, pies y títulos.
+
+@end itemize
+
+La función @code{set-paper-size} se estudia en la sección siguiente,
+@ref{Tamaño del papel y escalado automático}.  Las variables de
+@code{\paper} variables que se ocupan de la disposición de la página
+se estudian en secciones posteriores.  Las definiciones de elementos
+de marcado que se encargan de los encabezamientos, pies y títulos se
+estudian en @ref{Encabezamientos pies y títulos personalizados}.
+
+Casi todas las variables de @code{\paper} funcionan solamente dentro
+de un bloque @code{\paper}.  Las pocas que funcionan también en un
+bloque @code{\layout} están relacionadas en @ref{El bloque \layout}.
+
+Excepto cuando se especifica lo contrario, todas las variables de
+@code{\paper} que corresponden a distancias sobre la página se miden
+en milímetros, a no ser que se especifiquen unas unidades diferentes
+por parte del usuario.  Por ejemplo, la declaración siguiente
+establece el margen superior @code{top-margin} a diez milímetros:
+
+@example
+\paper @{
+  top-margin = 10
+@}
+@end example
+
+Para fijarlo en @code{0.5} pulgadas, utilice el sufijo de unidades
+@code{\in}:
+
+@example
+\paper @{
+  top-margin = 0.5\in
+@}
+@end example
+
+Los sufijos de unidades que están disponibles son @code{\mm},
+@code{\cm}, @code{\in} y @code{\pt}.  Estas unidades son valores
+simples para convertir a partir de milímetros; están definidos en
+@file{ly/paper-defaults-init.ly}.  Por claridad, al usar milímetros,
+se suele escribir el sufijo @code{\mm} aunque no es necesario
+técnicamente.
+
+También es posible definir valores de @code{\paper} utilizando Scheme.
+El equivalente de Scheme del ejemplo anterior es:
+
+@example
+\paper @{
+  #(define top-margin (* 0.5 in))
+@}
+@end example
+
+@seealso
+Referencia de la notación:
+@ref{Tamaño del papel y escalado automático},
+@ref{Encabezamientos pies y títulos personalizados},
+@ref{El bloque \layout}.
+
+Archivos instalados:
+@file{ly/paper-defaults-init.ly}.
+
+
+@node Tamaño del papel y escalado automático
+@subsection Tamaño del papel y escalado automático
+@translationof Paper size and automatic scaling
+
+@cindex tamaño del papel
+@cindex tamaño de la página
+
+@funindex \paper
+
+@menu
+* Fijar el tamaño del papel::
+* Escalado automático al tamaño del papel::
+@end menu
+
+
+@node Fijar el tamaño del papel
+@unnumberedsubsubsec Fijar el tamaño del papel
+@translationof Setting paper size
+
+Existen dos funciones para cambiar el tamaño del papel:
+@code{set-default-paper-size} (establecer tamaño de página
+predeterminado) y @code{set-paper-size} (establecer tamaño de página).
+@code{set-default-paper-size} se debe poner en el ámbito del nivel
+superior, y @code{set-paper-size} se debe poner en un bloque
+@code{\paper}:
+
+@example
+#(set-default-paper-size "a4")
+@end example
+
+@example
+\paper @{
+  #(set-paper-size "a4")
+@}
+@end example
+
+@noindent
+Dentro del ámbito del nivel jerárquico superior, se puede llamar sin
+riesgo a la función @code{set-default-paper-size} desde cualquier
+lugar antes del primer bloque @code{\paper} block.  Dentro de un
+bloque @code{\paper}, el lugar más seguro para llamar a
+@code{set-paper-size} es al principio, por encima de la lista de
+declaraciones de variables.  Se explican las razones de esto en
+@ref{Escalado automático al tamaño del papel}.
+
+@code{set-default-paper-size} establece el tamaño de todas las
+páginas, mientras que @code{set-paper-size} establece sólo el tamaño
+de las páginas a las que se aplica el bloque @code{\paper}.  Por
+ejemplo, si el bloque @code{\paper} está al principio del archivo,
+aplica el tamaño de papel a todas las páginas.  Si el bloque
+@code{\paper} está dentro de un bloque @code{\book}, entonces el
+tamaño del papel sólo se aplica a ese libro.
+
+Se encuentran disponibles los tamaños de papel más comunes, entre
+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}.
+
+@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},
+aunque se sobreescribirán en la siguiente reinstalación del programa.
+
+@cindex orientación
+@cindex apaisado
+@cindex horizontal, papel
+
+Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
+@code{set-default-paper-size}, las páginas se giran 90 grados y se
+establece en consonancia una mayor longitud de las líneas.
+
+@example
+#(set-default-paper-size "a6" 'landscape)
+@end example
+
+@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
+
+Archivos instalados:
+@file{scm/paper.scm}.
+
+
+@node Escalado automático al tamaño del papel
+@unnumberedsubsubsec Escalado automático al tamaño del papel
+@translationof Automatic scaling to paper size
+
+Si se cambia el tamaño del papel con una de las funciones de Scheme
+(@code{set-default-paper-size} o @code{set-paper-size}), los valores
+de algunas variables de @code{\paper} se escalan automáticamente al
+nuevo tamaño.  Para sortear el escalado automático para una variable
+determinada, fije el valor de la variable después de establecer el
+tamaño del papel.  Observe que el escalado automático no se activa
+mediante el ajuste de las variables
+@code{paper-height} o de @code{paper-width},
+incluso aunque @code{paper-width} puede influir sobre otros valores
+(esto es distinto al escalado y se estudia más abajo).  Las funciones
+@code{set-default-paper-size} y @code{set-paper-size} se describen en
+@ref{Fijar el tamaño del papel}.
+
+Las dimensiones verticales afectadas por el escalado automático son
+@code{top-margin} y @code{bottom-margin}
+(véase @ref{Variables de espaciado de \paper verticales fijas}).
+Las dimensiones
+horizontales afectadas por el escalado automático son
+@code{left-margin}, @code{right-margin}, @code{inner-margin},
+@code{outer-margin}, @code{binding-offset}, @code{indent} y
+@code{short-indent} (véase
+@ref{Variables de espaciado de \paper horizontales}).
+
+Los valores predeterminados para estas dimensiones están fijados en el
+archivo @file{ly/paper-defaults-init.ly}, usando variables internas
+llamadas @code{top-margin-default}, @code{bottom-margin-default}, etc.
+Estos son los valores que resultan del tamaño predeterminado del papel
+@code{a4}.  Como referencia, con el papel @code{a4} la altura
+@code{paper-height} es @code{297\mm} y la anchura @code{paper-width}
+es @code{210\mm}.
+
+@seealso
+Referencia de la notación:
+@ref{Variables de espaciado de \paper verticales fijas},
+@ref{Variables de espaciado de \paper horizontales}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly},
+@file{scm/paper.scm}.
+
+
+@node Variables de espaciado de \paper verticales fijas
+@subsection Variables de espaciado de @code{\paper} verticales fijas
+@translationof Fixed vertical spacing \paper variables
+
+@warning{Algunas dimensiones de @code{@bs{}paper} se escalan
+automáticamente al tamaño del papel, lo que puede llevar a un
+comportamiento no esperado.  Véase @ref{Escalado automático al tamaño
+del papel}.}
+
+Los valores predeterminados (previos al escalado) están definidos en
+el archivo @file{ly/paper-defaults-init.ly}.
+
+@table @code
+@item paper-height (altura del papel)
+@funindex paper-height
+
+Altura de la página, no fijada de forma predeterminada.  Observe que
+el escalado automático de algunas dimensiones verticales no resulta
+afectado por esto.
+
+@item top-margin (margen superior)
+@funindex top-margin
+
+Margen entre el extremo superior de la página y la parte superior de
+la zona imprimible.  Si se modifica el tamaño del papel, el valor
+predeterminado de esta dimensión se escala de acuerdo con ello.
+
+@item bottom-margin (margen inferior)
+@funindex bottom-margin
+
+Margen entre la parte inferior de la zona imprimible y el extremo
+inferior de la página.  Si se modifica el tamaño del papel, se escala
+de acuerdo con ello el valor predeterminado de esta dimensión.
+
+@item ragged-bottom (sin justificar por abajo)
+@funindex ragged-bottom
+
+Si se fija al valor verdadero, los sistemas no se reparten
+verticalmente hasta abajo de la página.  Esto no afecta a la última
+página.  Se debe fijar a verdadero para piezas que sólo tienen dos o
+tres sistemas por página, como por ejemplo las partituras orquestales.
+
+@item ragged-last-bottom (sin justificar la última por abajo)
+@funindex ragged-last-bottom
+
+Si se establece al valor falso, los sistemas se reparten verticalmente
+hasta abajo de la última página.  Las piezas que llenan sobradamente
+dos o más páginas deben tener este valor fijado a verdadero.  También
+afecta a la última página de las partes de libro, es decir, partes de
+un libro creadas con bloques @code{\bookpart}.
+
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+@knownissues
+
+Los títulos (extraídos del bloque @code{\header}) se tratan como
+sistemas, así pues @code{ragged-bottom} y @code{ragged-last-bottom}
+aumentan la separación entre los títulos y el primer sistema de la
+partitura.
+
+
+@node Variables de espaciado de \paper verticales flexibles
+@subsection Variables de espaciado de @code{\paper} verticales flexibles
+@translationof Flexible vertical spacing \paper variables
+
+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.
+
+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}.
+
+@menu
+* Estructura de las listas-A de espaciado vertical flexible::
+* Lista de variables de espaciado de \paper verticales flexibles::
+@end menu
+
+
+@node Estructura de las listas-A de espaciado vertical flexible
+@unnumberedsubsubsec Estructura de las listas-A de espaciado vertical flexible
+@translationof Structure of flexible vertical spacing alists
+
+Cada una de las variables de espaciado de @code{\paper} flexibles es
+una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
+
+@itemize
+
+@item
+@code{basic-distance} (distancia básica):
+distancia vertical, 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{distancia básica} 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 permitida, 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}.
+
+@c TODO: explain skylines somewhere and xref to it from here.
+
+@item
+@code{padding} (relleno):
+mínimo espacio vertical vacío necesario entre los rectángulos
+circundantes (o las líneas de horizonte) de los dos elementos,
+medido en espacios de pentagrama.
+
+@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{basic-distance}.
+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{basic-distance}@tie{}@minus{}@tie{}@code{minimum-distance}).
+
+@end itemize
+
+Si una página tiene un margen inferior no justificado, la distancia
+resultante es la mayor de:
+
+@itemize
+
+@item
+@code{basic-distance},
+
+@item
+@code{minimum-distance}, y
+
+@item
+@code{padding} más la menor distancia necesaria
+para eliminar las colisiones.
+
+@end itemize
+
+Los métodos específicos para la modificación de las listas-A se
+estudian en @ref{Modificación de las listas-A}.  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:
+
+@example
+\paper @{
+  system-system-spacing #'basic-distance = #8
+  score-system-spacing =
+    #'((basic-distance . 12)
+       (minimum-distance . 6)
+       (padding . 1)
+       (stretchability . 12))
+@}
+@end example
+
+
+@node Lista de variables de espaciado de \paper verticales flexibles
+@unnumberedsubsubsec Lista de variables de espaciado de @code{\paper} verticales flexibles
+@translationof List of flexible vertical spacing \paper variables
+
+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}).  Todas las distancias se miden en
+espacios de pentagrama.
+
+Los ajustes predeterminados están definidos en el archivo
+@file{ly/paper-defaults-init.ly}.
+
+@c TODO: Where do headers/footers fit in? -mp
+
+@table @code
+@item markup-system-spacing
+@funindex markup-system-spacing
+
+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).
+
+@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
+
+@seealso
+Referencia de la notación:
+@ref{Espaciado vertical flexible dentro de los sistemas}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Variables de espaciado de \paper horizontales
+@subsection Variables de espaciado de \paper horizontales
+@translationof Horizontal spacing \paper variables
+
+@warning{Algunas dimensiones de @code{@bs{}paper} se escalan
+automáticamente al tamaño del papel, lo que puede dar lugar a un
+comportamiento distinto al esperado.  Véase
+@ref{Escalado automático al tamaño del papel}.}
+
+@menu
+* Variables de \paper para la anchura y los márgenes::
+* Variables de \paper para el modo de doble cara::
+* Variables de \paper para desplazamientos y sangrados::
+@end menu
+
+
+@node Variables de \paper para la anchura y los márgenes
+@unnumberedsubsubsec Variables de @code{\paper} para la anchura y los márgenes
+@translationof \paper variables for widths and margins
+
+Los valores predeterminados (antes del escalado) que no están
+relacionados aquí se encuentran definidos en el archivo
+@file{ly/paper-defaults-init.ly}.
+
+@table @code
+
+@item paper-width
+@funindex paper-width
+
+Anchura de la página, sin fijar de forma predeterminada.  Aunque
+@code{paper-width} no tiene ningún efecto sobre el escalado automático
+de algunas dimensiones horizontales, sí influye sobre la variable
+@code{line-width}.  Si están establecidas las dos variables
+@code{paper-width} y @code{line-width}, entonces también se actualizan
+@code{left-margin} y @code{right-margin}.  Véase también
+@code{check-consistency}.
+
+@item line-width
+@funindex line-width
+
+Dimensiones horizontales de las líneas del pentagrama en los sistemas
+sin sangrado y justificados, igual a
+@code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
+cuando está sin fijar.  Si @code{line-width} está fijado, y tanto
+@code{left-margin} como @code{right-margin} están sin fijar, entonces
+los márgenes se actualizan para centrar los sistemas automáticamente
+sobre la página.  Véase también @code{check-consistency}.
+Esta variable también se puede fijar dentro de un bloque @code{\layout}.
+
+@item left-margin
+@funindex left-margin
+
+Margen entre el extremos izquierdo de la página y el comienzo de las
+líneas del pentagrama en los sistemas sin sangrado.  Si el tamaño del
+papel se modifica, el valor predeterminado de esta dimensión se escala
+de acuerdo con ello.  Si no se fija el valor de @code{left-margin}, y
+tanto @code{line-width} como @code{right-margin} están fijados,
+entonces se establece el valor de @code{left-margin} a
+@code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
+Si solamente está fijado @code{line-width}, entonces los dos márgenes
+se establecen a
+@code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
+como consecuencia los sistemas se centran sobre la página.  Véase
+también @code{check-consistency}.
+
+@item right-margin
+@funindex right-margin
+
+Margen entre el extremo derecho de la página y el final de las líneas
+del pentagrama en sistemas justificados.  Si el tamaño de la página se
+modifica, el valor predeterminado de esta dimensión se escala de
+acuerdo con ello.  Si @code{right-margin} está sin fijar, y tanto
+@code{line-width} como @code{left-margin} están fijados, el valor de
+@code{right-margin} se establece a
+@code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
+Si solamente está fijado @code{line-width}, los dos márgenes se
+establecen a
+@code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
+como consecuencia los sistemas aparecen centrados sobre la página.
+Véase también @code{check-consistency}.
+
+@item check-consistency
+@funindex check-consistency
+
+Si se establece al valor verdadero, se imprime una advertencia en caso
+de que la suma de @code{left-margin}, @code{line-width} y
+@code{right-margin} no coincida exactamente con el valor de
+@code{paper-width}, y se sustituye cada uno de estos valores (excepto
+@code{paper-width}) con su valor predeterminado (escalado al tamaño
+del papel si es necesario).  Si está fijado al valor falso, se ignora
+cualquier inconsistencia y se permite que los sistemas se salgan del
+borde del papel.
+
+@item ragged-right
+@funindex ragged-right
+
+Si está fijado al valor verdadero, los sistemas no cubren el ancho de
+la línea.  En lugar de ello, los sistemas finalizan en su longitud
+horizontal natural.  Valor predeterminado: @code{#t} para las
+partituras con un solo sistema, y @code{#f} para partituras que tienen
+dos o más sistemas.  Esta variable también se puede establecer dentro
+de un bloque @code{\layout}.
+
+@item ragged-last
+@funindex ragged-last
+
+Si está fijado al valor verdadero, el último sistema de la partitura
+no llena toda la anchura de la línea.  En lugar de ello, el último
+sistema finaliza en su longitud horizontal natural.  Valor
+predeterminado: @code{#f}.  Esta variable también puede ajustarse
+dentro de un bloque @code{\layout}.
+
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+
+@node Variables de \paper para el modo de doble cara
+@unnumberedsubsubsec Variables de @code{\paper} para el modo de doble cara
+@translationof \paper variables for two-sided mode
+
+Los valores predeterminados (antes del escalado) se definen en
+@file{ly/paper-defaults-init.ly}.
+
+@table @code
+
+@item two-sided
+@funindex two-sided
+
+@cindex encuadernación
+@cindex margen de encuadernación
+
+Si tiene el valor verdadero, utilizar @code{inner-margin},
+@code{outer-margin} y @code{binding-offset} para determinar los
+márgenes dependiendo de si el número de la página es par o impar.
+Esto sobreescribe a @code{left-margin} y a @code{right-margin}.
+
+@item inner-margin
+@funindex inner-margin
+
+Margen que todas las páginas tienen en el lado interno si forman parte
+de un libro.  Si el tamaño del papel se modifica, el valor
+predeterminado de esta dimensión se escala de acuerdo con ello.
+Solamente funciona con @code{two-sided} fijado al valor verdadero.
+
+@item outer-margin
+@funindex outer-margin
+
+Margen que todas las páginas tienen en el lado externo si forman parte
+de un libro.  Si el tamaño del papel se modifica, el valor
+predeterminado de esta dimensión se escala de acuerdo con ello.
+Solamente funciona con @code{two-sided} fijado al valor verdadero.
+
+@item binding-offset
+@funindex binding-offset
+
+Medida en que se aumenta @code{inner-margin} para asegurar que no se
+oculta nada a causa de la encuadernación.  Si el tamaño del papel se
+modifica, el valor predeterminado de esta dimensión se escala de
+acuerdo con ello.  Solamente funciona con @code{two-sided} fijado al
+valor verdadero.
+
+
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+
+@node Variables de \paper para desplazamientos y sangrados
+@unnumberedsubsubsec Variables de @code{\paper} para desplazamientos y sangrados
+@translationof \paper variables for shifts and indents
+
+Los valores predeterminados (antes del escalado) que no se relacionan
+aquí están definidos en el archivo @file{ly/paper-defaults-init.ly}.
+
+@table @code
+
+@item horizontal-shift
+@funindex horizontal-shift
+
+@c This default value is buried in the middle of page.scm.  -mp
+
+Medida en que todos los sistemas (incluidos los títulos de cabecera y
+los separadores de sistemas) se desplazan a la derecha.
+Predeterminado: @code{0.0}.
+
+@item indent
+@funindex indent
+
+Nivel de sangrado para el primer sistema de una partitura.  Si se
+modifica el tamaño del papel, el valor predeterminado de esta
+dimensión se escala de acuerdo con ello.  Esta variable también se
+puede ajustar dentro de un bloque @code{\layout}.
+
+@item short-indent
+@funindex short-indent
+
+Nivel de sangrado para todos los sistemas de una partitura excepto el
+primero.  Si el tamaño del papel se modifica, el valor predeterminado
+de esta dimensión se escala de acuerdo con ello.  Esta variable
+también se puede ajustar dentro de un bloque @code{\layout}.
+
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Otras variables de \paper
+@subsection Otras variables de @code{\paper}
+@translationof Other \paper variables
+
+@menu
+* Variables de \paper para los saltos de línea::
+* Variables de \paper para los saltos de página::
+* Variables de \paper para la numeración de las páginas::
+* Variables de \paper diversas::
+@end menu
+
+
+@node Variables de \paper para los saltos de línea
+@unnumberedsubsubsec Variables de @code{\paper} para los saltos de línea
+@translationof \paper variables for line breaking
+
+@c TODO: Mention that ly:optimal-breaking is on by default? -mp
+
+@table @code
+
+@item max-systems-per-page
+@funindex max-systems-per-page
+
+Número máximo de sistemas que se colocan sobre una página.  Solo está
+contemplado por el algoritmo @code{ly:optimal-breaking}.  Valor
+predeterminado: no fijado.
+
+@item min-systems-per-page
+@funindex min-systems-per-page
+
+Número mínimo de sistemas que se colocan sobre una página.  Puede
+causar que las páginas aparezcan atiborradas si el valor es demasiado
+grande En el momento actual solo está contemplado por el algoritmo
+@code{ly:optimal-breaking}.  Valor predeterminado: no fijado.
+
+@item systems-per-page
+@funindex systems-per-page
+
+Número de sistemas que se deben colocar en cada página.  En el momento
+actual solo está contemplado por el algoritmo
+@code{ly:optimal-breaking}.  Valor predeterminado: no fijado.
+
+@item system-count
+@funindex system-count
+
+Número de sistemas que utilizar para una partitura. Valor
+predeterminado: no fijado.  Esta variables también se puede ajustar
+dentro de un bloque @code{\layout}.
+
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Saltos de línea}.
+
+
+@node Variables de \paper para los saltos de página
+@unnumberedsubsubsec Variables de @code{\paper} para los saltos de página
+@translationof \paper variables for page breaking
+
+Los valores predeterminados que no están relacionados aquí, se definen
+en el archivo @file{ly/paper-defaults-init.ly}
+
+@table @code
+
+@item blank-after-score-page-force
+@funindex blank-after-score-page-force
+
+Penalización por tener una página vacía después del final de una
+partitura y antes de la siguiente.  De forma predeterminada, es menor
+que @code{blank-page-force}, de manera que preferimos páginas vacías
+después de las partituras que páginas vacías dentro de una partitura.
+
+@item blank-last-page-force
+@funindex blank-last-page-force
+
+Penalización por terminar la partitura sobre una página impar.
+
+@item blank-page-force
+@funindex blank-page-force
+
+Penalización por tener una página vacía en medio de una partitura.  No
+se utiliza por parte de @code{ly:optimal-breaking} porque nunca
+considera páginas vacías en mitad de una partitura.
+
+@item page-breaking
+@funindex page-breaking
+
+Algoritmo de saltos de página que utilizar.  Se puede elegir entre
+@code{ly:minimal-breaking}, @code{ly:page-turn-breaking} o
+@code{ly:optimal-breaking}.
+
+@item page-breaking-system-system-spacing
+@funindex page-breaking-system-system-spacing
+
+Engaña a la parte del programa encargada de los saltos de página para
+que piense que @code{system-system-spacing} está establecido a un
+valor distinto al que tiene realmente.  Por ejemplo, si
+@code{page-breaking-system-system-spacing #'padding} está establecido
+a algo que es mucho mayor que @code{system-system-spacing #'padding},
+entonces el divisor de páginas pone menos sistemas en cada página.
+Valor predeterminado: sin ajustar.
+
+@item page-count
+@funindex page-count
+
+Número de páginas que utilizar en una partitura, no ajustado de forma
+predeterminada.
+
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Saltos de página},
+@ref{Saltos de página óptimos},
+@ref{Paso de página óptimo},
+@ref{Saltos de página mínimos}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+
+@node Variables de \paper para la numeración de las páginas
+@unnumberedsubsubsec Variables de @code{\paper} para la numeración de las páginas
+@translationof \paper variables for page numbering
+
+Los valores predeterminados que no se relacionan aquí están definidos
+en el archivo @file{ly/paper-defaults-init.ly}
+
+@table @code
+
+@cindex números de página, automáticos
+@item auto-first-page-number
+@funindex auto-first-page-number
+
+El algoritmo de división de páginas está afectado por el hecho de que
+el número de la primera página sea par o impar.  Si está establecido
+al valor verdadero, el algoritmo de división de páginas decide si
+comenzar con un número par o impar.  Esto hace que el número de la
+primera página se quede como está, o que se aumente en una unidad.
+Predeterminado: @code{#f}.
+
+@cindex números de página, especificar el primero
+@item first-page-number
+@funindex first-page-number
+
+Valor del número de pátina en la primera página.
+
+@item print-first-page-number
+@funindex print-first-page-number
+
+Si está fijado a verdadero, se imprime un número de página en la
+primera página.
+
+@cindex números de página, suprimir
+@item print-page-number
+@funindex print-page-number
+
+Si está fijado a falso, no se imprimen los números de página.
+
+@end table
+
+@seealso
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
+
+@knownissues
+Los números de página impares siempre están a la derecha.
+Si quiere que la música comience en la página 1 debe haber
+una página en blanco en el reverso de la página de cubierta
+de manera que la página 1 esté en el lado derecho.
+
+@node Variables de \paper diversas
+@unnumberedsubsubsec Variables de @code{\paper} diversas
+@translationof Miscellaneous \paper variables
+
+@table @code
+
+@item page-spacing-weight
+@funindex page-spacing-weight
+
+Importancia relativa del espacio (vertical) de las páginas y el
+espaciado (horizontal) de las líneas.  Los valores altos hacen que el
+espaciado de la página tenga más importancia.  Predeterminado:
+@code{#10}.
+
+@item print-all-headers
+@funindex print-all-headers
+
+Si está fijado a verdadero, imprime todos los encabezamientos para
+cada una de las partituras @code{\score} de la salida.  Normalmente
+sólo se imprimen las variables de encabezamiento @code{piece} y
+@code{opus}.  Valor predeterminado: @code{#f}.
+
+@item system-separator-markup
+@funindex system-separator-markup
+
+Objeto de marcado que se inserta entre los sistemas.  Se suele usar
+para partituras orquestales.  Predeterminado: sin establecer.  El
+elemento de marcado @code{\slashSeparator}, definido en el archivo
+@file{ly/titling-init.ly}, se aporta como un valor predeterminado
+adecuado, por ejemplo:
+
+@lilypond[quote,verbatim,noragged-right,line-width=30\mm]
+#(set-default-paper-size "a8")
+
+\book {
+  \paper {
+    system-separator-markup = \slashSeparator
+  }
+  \header {
+    tagline = ##f
+  }
+  \score {
+    \relative c'' { c1 \break c1 \break c1 }
+  }
+}
+@end lilypond
+
+@end table
+
+
+@seealso
+Archivos de inicio:
+@file{ly/titling-init.ly}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@knownissues
+
+El encabezamiento de página predeterminado pone el número de página y
+el campo @code{instrument} del bloque @code{\header} sobre la misma
+línea.
+
+
+@node Disposición de la partitura
+@section Disposición de la partitura
+@translationof Score layout
+
+Esta sección trata de las opciones de disposición de la partitura para
+el bloque @code{\layout}.
+
+@menu
+* El bloque \layout::
+* Establecer el tamaño del pentagrama::
+@end menu
+
+
+@node El bloque \layout
+@subsection El bloque @code{\layout}
+@translationof  The \layout block
+
+@funindex \layout
+
+Así como el bloque @code{\paper} contiene ajustes relativos al
+formateo de la página para todo el documento, el bloque @code{\layout}
+contiene ajustes para la disposición específica de las partituras.
+Para fijar las opciones de disposición de partituras de forma global,
+escríbalas en un bloque @code{\layout} del nivel jerárquico superior.
+Para fijar opciones de disposición para una partitura individual
+escríbalas dentro de un bloque @code{\layout} dentro del bloque
+@code{\score}, después de la música.  Entre los ajustes que pueden
+aparecer en un bloque @code{\layout} se encuentran los siguientes:
+
+@itemize
+@item la función de Scheme @code{layout-set-staff-size},
+@item las modificaciones de contexto de los bloques @code{\context}, y
+@item las variables de @code{\paper} que afectan a la disposición de la partitura.
+@end itemize
+
+La función @code{layout-set-staff-size} se estudia en la sección
+siguiente, @ref{Establecer el tamaño del pentagrama}. Las
+modificaciones de contexto se estudian en un capítulo distinto; véase
+@ref{Modificar los complementos (plug-ins) de contexto} y
+@ref{Cambiar los valores por omisión de los contextos}.  Las variables de
+@code{\paper} que pueden aparecer dentro de un bloque @code{\layout}
+son:
+
+@itemize
+
+@item
+@code{line-width}, @code{ragged-right} y @code{ragged-last}
+(véase @ref{Variables de \paper para la anchura y los márgenes})
+
+@item
+@code{indent} y @code{short-indent}
+(véase @ref{Variables de \paper para desplazamientos y sangrados})
+
+@item
+@code{system-count}
+(véase @ref{Variables de \paper para los saltos de línea})
+
+@end itemize
+
+He aquí un ejemplo de un bloque @code{\layout}:
+
+@example
+\layout @{
+  indent = 2\cm
+  \context @{
+    \StaffGroup
+    \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
+  @}
+  \context @{
+    \Voice
+    \override TextScript #'padding = #1
+    \override Glissando #'thickness = #3
+  @}
+@}
+@end example
+
+
+@seealso
+Referencia de la notación:
+@ref{Cambiar los valores por omisión de los contextos}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Establecer el tamaño del pentagrama
+@subsection Establecer el tamaño del pentagrama
+@translationof Setting the staff size
+
+@cindex tipografía, fijar el tamaño de
+@cindex pentagrama, fijar el tamaño de
+@funindex disposición, archivo de
+
+El @strong{tamaño de pentagrama} predeterminado se establece en 20
+puntos.  Esto se puede modificar de dos maneras:
+
+Para establecer globalmente el tamaño del pentagrama para todas las
+partituras de un archivo (o en un bloque @code{book}, para ser
+exactos), utilice @code{set-global-staff-size}.
+
+@example
+#(set-global-staff-size 14)
+@end example
+
+@noindent
+Esto establece el tamaño global predeterminado a una altura de
+pentagrama de 14pt y escala todas las tipografías según corresponda.
+
+Para establecer el tamaño del pentagrama de forma individual para cada
+partitura, use
+@example
+\score@{
+  @dots{}
+  \layout @{
+    #(layout-set-staff-size 15)
+  @}
+@}
+@end example
+
+La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
+distintos.  Cada fuente tipográfica está afinada para un tamaño de
+pentagrama distinto: a un tamaño menor la tipografía se vuelve más
+pesada, para que coincida con las líneas de pentagrama relativamente
+más gruesas.  Los tamaños de tipografía recomendados están
+relacionados en la tabla siguiente:
+
+@quotation
+@multitable @columnfractions .15 .2 .22 .2
+
+@item @b{nombre de la fuente}
+@tab @b{altura del pentagrama (pt)}
+@tab @b{altura del pentagrama (mm)}
+@tab @b{usos}
+
+@item feta11
+@tab 11.22
+@tab 3.9
+@tab partituras de bolsillo
+
+@item feta13
+@tab 12.60
+@tab 4.4
+@tab
+
+@item feta14
+@tab 14.14
+@tab 5.0
+@tab
+
+@item feta16
+@tab 15.87
+@tab 5.6
+@tab
+
+@item feta18
+@tab 17.82
+@tab 6.3
+@tab cancioneros
+
+@item feta20
+@tab 20
+@tab 7.0
+@tab particellas estándar
+
+@item feta23
+@tab 22.45
+@tab 7.9
+@tab
+
+@item feta26
+@tab 25.2
+@tab 8.9
+@tab
+@c modern rental material?
+
+@end multitable
+@end quotation
+
+Estas tipografías están disponibles en cualquier tamaño.  La propiedad
+de contexto @code{fontSize} y la propiedad de disposición
+@code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
+afinar el tamaño de los pentagramas individuales.  Los tamaños de
+pentagrama individuales están en relación al tamaño global.
+
+
+@seealso
+Referencia de la notación:
+@ref{Seleccionar el tamaño de la tipografía para la notación}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@knownissues
+
+@code{layout-set-staff-size} no cambia la distancia entre las líneas
+del pentagrama.
+
+
+@node Saltos
+@section Saltos
+@translationof Breaks
+
+@menu
+* 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 Saltos de línea
+@subsection Saltos de línea
+@translationof Line breaking
+
+@cindex saltos de línea
+@cindex línea, saltos de
+
+Normalmente los saltos de línea se determinan automáticamente. Se
+eligen de forma que las líneas no aparezcan demasiado apretadas ni
+demasiado sueltas, y que las líneas consecutivas tengan una densidad
+similar.
+
+Para forzar manualmente un salto de línea sobre la línea divisoria,
+utilice la instrucción @code{\break}:
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+c4 c c c | \break
+c4 c c c |
+@end lilypond
+
+De forma predeterminada se ignora cualquier @code{\break} en la mitad
+de un compás, y se imprime una advertencia.  Para forzar un salto de
+línea en medio de un compás, añada una barra de compás invisible con
+@w{@samp{\bar ""}}:
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+c4 c c
+\bar "" \break
+c |
+c4 c c c |
+@end lilypond
+
+También se ignora un @code{\break} que se produce en la línea
+divisoria si el compás anterior termina en medio de una nota, como
+cuando un grupo de valoración especial inicia y termina en compases
+diferentes.  Para permitir que las instrucciones @code{\break}
+funcionen en estas situaciones, elimine el grabador
+@code{Forbid_line_break_engraver} del contexto @code{Voice}.  Observe
+que los saltos de línea forzados manualmente se deben añadir en
+paralelo con la música:
+
+@lilypond[quote,ragged-right,verbatim]
+\new Voice \with {
+  \remove Forbid_line_break_engraver
+} \relative c'' {
+  <<
+    { c2. \times 2/3 { c4 c c } c2. | }
+    { s1 | \break s1 | }
+  >>
+}
+@end lilypond
+
+De forma similar, los saltos de línea están normalmente prohibidos
+cuando hay barras de corchea que cruzan la línea divisoria.  Se puede
+cambiar este comportamiento fijando @code{\override Beam #'breakable =
+##t}:
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+\override Beam #'breakable = ##t
+c2. c8[ c | \break
+c8 c] c2. |
+@end lilypond
+
+La instrucción @code{\noBreak}, prohíbe un salto de línea en
+la barra divisoria en que se inserta.
+
+Los ajustes más básicos que influyen sobre el espaciado de las líneas
+son @code{indent} y @code{line-width}. Se establecen dentro del bloque
+@code{\layout}.  Controlan el sangrado de la primera línea de música,
+y la longitud de las líneas.
+
+Si se establece @code{ragged-right} a verdadero en el bloque
+@code{\layout}, los sistemas terminan en su longitud horizontal
+natural, en lugar de distribuirse horizontalmente para llenar toda la
+línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
+comprobación de lo apretado que es el espaciado natural.
+
+@c TODO Check and add para on default for ragged-right
+
+La opción @code{ragged-last} es similar a @code{ragged-right}, pero
+afecta sólo a la última línea de la pieza.
+
+@example
+\layout @{
+  indent = 0\mm
+  line-width = 150\mm
+  ragged-last = ##t
+@}
+@end example
+
+
+
+@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
+@code{\repeat}.  Por ejemplo, esto haría que los 28 compases
+siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
+compases, y sólo en dichos lugares:
+
+@example
+<<
+  \repeat unfold 7 @{
+    s1 \noBreak s1 \noBreak
+    s1 \noBreak s1 \break
+  @}
+  @{ @var{la música real@dots{}} @}
+>>
+@end example
+
+@c TODO Check this
+Una configuración de división de líneas se puede guardar como archivo
+@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}.
+
+
+@predefined
+@funindex \break
+@code{\break},
+@funindex \noBreak
+@code{\noBreak}.
+@endpredefined
+
+
+@seealso
+Referencia de la notación:
+@ref{Variables de \paper para los saltos de línea}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+Referencia de funcionamiento interno:
+@rinternals{LineBreakEvent}.
+
+
+@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}.
+Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
+Se deben insertar en una línea divisoria.  Estas instrucciones fuerzan
+y prohíben, respectivamente, la eventualidad de un salto de página.
+Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
+de línea.
+
+Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
+pueden insertar en el nivel más alto, entre las partituras y los
+elementos de marcado situados en el nivel superior.
+
+Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
+tienen el mismo efecto sobre el espaciado vertical:
+@code{ragged-bottom} y @code{ragged-last-bottom}.  Si están
+establecidos a @code{##t} los sistemas de todas las páginas o sólo de
+la última página, respectivamente, no se verán justificados
+verticalmente.  Véase
+@ref{Variables de espaciado de \paper verticales fijas}.
+
+Los saltos de página se calculan por medio de la función
+@code{page-breaking}.  LilyPond ofrece tres algoritmos para el cómputo
+de los saltos de página: @code{ly:optimal-breaking},
+@code{ly:page-turn-breaking} y @code{ly:minimal-breaking}.  El
+predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
+cambiar en el bloque @code{\paper}:
+
+@example
+\paper @{
+  page-breaking = #ly:page-turn-breaking
+@}
+@end example
+
+@funindex \bookpart
+
+Cuando un libro tiene muchas partituras y páginas, puede ser difícil
+resolver el problema de los saltos de página, necesitando mucha
+memoria y prolongados tiempos de procesamiento.  Para facilitar el
+proceso de división en páginas, se usan los bloques @code{\bookpart}
+para dividir el libro en varias partes: los saltos de página se
+producen de manera independiente en cada parte.  También se pueden
+usar diferentes funciones de división en páginas para las distintas
+partes del libro.
+
+@example
+\bookpart @{
+  \header @{
+    subtitle = "Prefacio"
+  @}
+  \paper @{
+     %% En una parte que consiste en texto principalmente,
+     %% puede ser preferible ly:minimal-breaking
+     page-breaking = #ly:minimal-breaking
+  @}
+  \markup @{ @dots{} @}
+  @dots{}
+@}
+\bookpart @{
+  %% En esta parte, consistente en música, se usa la función
+  %% óptima predeterminada de saltos de página.
+  \header @{
+    subtitle = "Primer movimiento"
+  @}
+  \score @{ @dots{} @}
+  @dots{}
+@}
+@end example
+
+
+@predefined
+@funindex \pageBreak
+@code{\pageBreak},
+@funindex \noPageBreak
+@code{\noPageBreak}.
+@endpredefined
+
+
+@seealso
+Referencia de la notación:
+@ref{Variables de \paper para los saltos de página}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Saltos de página óptimos
+@subsection Saltos de página óptimos
+@translationof Optimal page breaking
+
+@funindex ly:optimal-breaking
+
+La función @code{ly:optimal-breaking} es el método predeterminado de
+LilyPond para determinar los saltos de página.  Intenta hallar una
+división de páginas que haga mínimos el apretujamiento y la
+distensión, tanto horizontal como verticalmente.  A diferencia de
+@code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
+página.
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Paso de página óptimo
+@subsection Paso de página óptimo
+@translationof Optimal page turning
+
+@funindex ly:page-turn-breaking
+
+Con frecuencia es necesario encontrar una configuración de división de
+páginas de manera que haya un silencio al final de una página de cada
+dos.  De esta forma, el músico puede pasar la página sin perder notas.
+La función @code{ly:page-turn-breaking} trata de encontrar una
+división de páginas que haga mínimos el apretujamiento y el
+estiramiento, pero con la restricción añadida de que sólo se permite
+introducir vueltas de página en los lugares especificados.
+
+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{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
+especificar manualmente cada uno de los pasos de página potenciales,
+insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
+lugares adecuados.
+
+Si esto es demasiado tedioso, podemos añadir un grabador
+@code{Page_turn_engraver} a un contexto Staff o Voice.  El grabador
+@code{Page_turn_engraver} analizará el contexto en busca de secciones
+sin notas (observe que no busca silencios, sino la ausencia de notas.
+Se hace así para que la polifonía en un solo pentagrama con silencios
+en una de las voces no arruine la labor del grabador
+@code{Page_turn_engraver}).  Cuando encuentra una sección sin notas
+suficientemente larga, el grabador @code{Page_turn_engraver} inserta
+un @code{\allowPageTurn} en la última barra de compás de dicha
+sección, a no ser que haya una barra @q{especial} de compás (como una
+doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
+última barra @q{especial} de compás de la sección.
+
+@funindex minimumPageTurnLength
+El grabador @code{Page_turn_engraver} lee la propiedad de contexto
+@code{minimumPageTurnLength} para determinar qué longitud debe tener
+una sección sin notas antes de que se considere la posibilidad de un
+paso de página.  El valor predeterminado para
+@code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}.  Si
+quiere inhabilitar las vueltas de página, puede establecerlo a algún
+valor muy grande.
+
+@example
+\new Staff \with @{ \consists "Page_turn_engraver" @}
+@{
+  a4 b c d |
+  R1 | % aquí se permite un salto de página
+  a4 b c d |
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  R1 | % aquí no se permite un salto de página
+  a4 b r2 |
+  R1*2 | % aquí se permite un salto de página
+  a1
+@}
+@end example
+
+@funindex minimumRepeatLengthForPageTurn
+El grabador @code{Page_turn_engraver} detecta las repeticiones de
+primera y segunda vez.  Sólo permite un pase de página durante la
+repetición si hay suficiente tiempo al principio y al final de la
+repetición para volver a pasar la página hacia atrás. El grabador
+@code{Page_turn_engraver} también puede inhabilitar los pasos de
+página si la repetición es muy corta.  Si establecemos la propiedad de
+contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
+@code{Page_turn_engraver} sólo permitirá los pases de página en las
+repeticiones cuya duración sea mayor que este valor.
+
+Las instrucciones de paso de página, @code{\pageTurn},
+@code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
+el nivel más elevado del código, entre las partituras y los elementos
+de marcado del nivel superior.
+
+
+@predefined
+@funindex \pageTurn
+@code{\pageTurn},
+@funindex \noPageTurn
+@code{\noPageTurn},
+@funindex \allowPageTurn
+@code{\allowPageTurn}.
+@endpredefined
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@knownissues
+
+Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
+partitura.  Si hay más de uno, se interferirán entre sí.
+
+
+@node Saltos de página mínimos
+@subsection Saltos de página mínimos
+@translationof Minimal page breaking
+
+@funindex ly:minimal-breaking
+
+La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
+para determinar los saltos de página: completa una página con tantos
+sistemas como sea posible antes de continuar con la siguiente.  Así,
+puede preferirse para partituras con muchas páginas, donde las otras
+funciones de salto de página pueden resultar demasiado lentas o ávidas
+de memoria, o con una gran cantidad de textos.  Se habilita utilizando:
+
+@example
+\paper @{
+  page-breaking = #ly:minimal-breaking
+@}
+@end example
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@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
+sobreescribir este comportamiento:
+
+@example
+\override NonMusicalPaperColumn #'line-break-permission = ##f
+\override NonMusicalPaperColumn #'page-break-permission = ##f
+@end example
+
+Cuando se sobreescribe el valor de @code{line-break-permission} a
+falso, Lily inserta saltos de línea en las instrucciones @code{\break}
+explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
+@code{page-break-permission} a falso, Lily inserta saltos de página en
+las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
+
+@lilypond[quote,verbatim]
+\paper {
+  indent = #0
+  ragged-right = ##t
+  ragged-bottom = ##t
+}
+
+music = \relative c'' { c8 c c c }
+
+\score {
+  \new Staff {
+    \repeat unfold 2 { \music } \break
+    \repeat unfold 4 { \music } \break
+    \repeat unfold 6 { \music } \break
+    \repeat unfold 8 { \music } \pageBreak
+    \repeat unfold 8 { \music } \break
+    \repeat unfold 6 { \music } \break
+    \repeat unfold 4 { \music } \break
+    \repeat unfold 2 { \music }
+  }
+  \layout {
+    \context {
+      \Score
+      \override NonMusicalPaperColumn #'line-break-permission = ##f
+      \override NonMusicalPaperColumn #'page-break-permission = ##f
+    }
+  }
+}
+@end lilypond
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@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
+music = \relative c'' @{ c4 c c c @}
+
+\score @{
+  \new Staff @{
+    \repeat unfold 2 @{ \music @} \break
+    \repeat unfold 3 @{ \music @}
+  @}
+@}
+@end example
+
+Esto hace sencillas de introducir a las instrucciones @code{\break} y
+@code{\pageBreak}, pero mezcla la escritura de música con información
+que especifica cómo se debe disponer la música sobre la página.
+Podemos mantener la introducción de música y la información de saltos
+de línea y de página en dos lugares separados mediante la introducción
+de una voz adicional que contenga los saltos.  Esta voz adicional
+contiene solamente desplazamientos o @q{skips} junto con los
+@code{\break}, @code{pageBreak} y otras informaciones sobre la
+disposición de los saltos.
+
+@lilypond[quote,verbatim]
+music = \relative c'' { c4 c c c }
+
+\score {
+  \new Staff <<
+    \new Voice {
+      s1 * 2 \break
+      s1 * 3 \break
+      s1 * 6 \break
+      s1 * 5 \break
+    }
+    \new Voice {
+      \repeat unfold 2 { \music }
+      \repeat unfold 3 { \music }
+      \repeat unfold 6 { \music }
+      \repeat unfold 5 { \music }
+    }
+  >>
+}
+@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{Espaciado vertical}.
+
+@lilypond[quote,verbatim]
+music = \relative c'' { c4 c c c }
+
+\score {
+  \new Staff <<
+    \new Voice {
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 0))
+      s1 * 2 \break
+
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 35))
+      s1 * 3 \break
+
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 70))
+      s1 * 6 \break
+
+      \overrideProperty "Score.NonMusicalPaperColumn"
+        #'line-break-system-details #'((Y-offset . 105))
+      s1 * 5 \break
+    }
+    \new Voice {
+      \repeat unfold 2 { \music }
+      \repeat unfold 3 { \music }
+      \repeat unfold 6 { \music }
+      \repeat unfold 5 { \music }
+    }
+  >>
+}
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ref{Espaciado vertical}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Espaciado vertical
+@section Espaciado vertical
+@translationof Vertical spacing
+
+@cindex espaciado vertical
+@cindex vertical, espaciado
+
+El espaciado vertical está controlado por tres factores: la cantidad
+de espacio disponible (es decir, el tamaño del papel y los márgenes),
+la separación entre los sistemas, y la separación entre los
+pentagramas dentro de un sistema.
+
+@menu
+* Espaciado vertical flexible dentro de los sistemas::
+* Posicionamiento explícito de los pentagramas y los sistemas::
+* Evitar las colisiones verticales::
+@end menu
+
+
+@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
+
+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 las 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{Flexible vertical spacing \paper variables}.
+
+@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
+
+@funindex staff-affinity
+@funindex staffgroup-staff-spacing
+@funindex staff-staff-spacing
+@funindex nonstaff-unrelatedstaff-spacing
+@funindex nonstaff-relatedstaff-spacing
+@funindex nonstaff-nonstaff-spacing
+@funindex default-staff-staff-spacing
+@funindex minimum-Y-extent
+@funindex extra-offset
+@funindex self-alignment-X
+@funindex X-offset
+@funindex VerticalAxisGroup
+
+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 hacia 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) (basic-distance . 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 \staffAffinityDown }
+  \context { \ChordNames  \alignToZero
+                          \staffAffinityDown
+                         \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 { s1\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})
+usa la misma estructura de lista-A que las
+variables de espaciado del bloque @code{\paper} que se han estudiado
+en @ref{Flexible vertical spacing \paper variables}.
+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 actualiza un par clave-valor de
+forma individual, y la segunda redefine la propiedad completamente:
+
+@example
+\new Staff \with @{
+  \override VerticalAxisGroup #'default-staff-staff-spacing
+       #'basic-distance = #10
+@} @{ @dots{} @}
+
+\new Staff \with @{
+  \override VerticalAxisGroup #'default-staff-staff-spacing =
+    #'((basic-distance . 10)
+       (minimum-distance . 9)
+       (padding . 1)
+       (stretchability . 10))
+@} @{ @dots{} @}
+@end example
+
+Para modificar globalmente cualquiera de los ajustes de espaciado,
+póngalos dentro del bloque @code{\layout}:
+
+@example
+\layout @{
+  \context @{
+    \Staff
+    \override VerticalAxisGroup #'default-staff-staff-spacing
+         #'basic-distance = #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 Propiedades 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
+Se utiliza para determinar la 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.
+
+Inicialmente, el valor de espaciado @code{staff-staff-spacing} de un
+grupo @code{VerticalAxisGroup} es una función de Scheme que aplica las
+propiedades del @code{StaffGrouper} si la pauta forma parte de un
+grupo, o el @code{default-staff-staff-spacing} de la pauta en caso
+contrario.  Esto hace posible que las pautas estén espaciadas de forma
+diferente cuando están agrupadas.  Para conseguir un espaciado regular
+sin importar el agrupamiento, esta función se puede sustituir por una
+lista-A de espaciado flexible, utilizando la forma de
+sobreescritura de redefinición completa que se ha mostrado más arriba.
+
+@item default-staff-staff-spacing
+Una lista-A de espaciado flexible que define el
+espacio @code{staff-staff-spacing} que se usará para las pautas sin
+agrupar, a no ser que se haya sobreescrito explícitamente
+@code{staff-staff-spacing} con una instrucción @code{\override}.
+
+@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.
+Establecer @code{staff-affinity} a @code{UP}, @code{CENTER}, o
+@code{DOWN} hace que el pentagrama resulte espaciado como si fuera una
+línea que no es una pauta.
+
+@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.
+Esto significa que la colocación de una línea que no es una pauta
+depende tanto de las pautas que la rodean como de las líneas que no
+son pautas y que la rodean.  Establecer la ampliabilidad
+@code{stretchability} de uno de estos tipos de espaciado a un valor
+más pequeño provoca que este espaciado domine.  El establecimiento de
+@code{stretchability} a un valor mayor hace que dicho espaciado tenga
+un menor efecto.
+
+@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 puede
+sobreescribir con distintos ajustes de espaciado para dicha
+pauta.
+
+@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 puede
+sobreescribir con distintos ajustes de espaciado para dicha
+pauta.
+@end table
+
+@seealso
+Referencia de la notación:
+@ref{Variables de espaciado de \paper verticales flexibles},
+@ref{Modificación de las listas-A}.
+
+Referencia de funcionamiento interno:
+@rinternals{Contexts},
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
+
+Archivos de inicio:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
+
+@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{default-staff-staff-spacing}
+@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 los sistemas}.
+
+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{default-staff-staff-spacing} puede afectar al espaciado de pautas no
+agrupadas.  Las mismas sobreescrituras aplicadas a
+@code{staff-staff-spacing}
+tendrían el mismo efecto, pero también se aplicaría en caso de que las
+pautas estuvieran combinadas en un grupo o grupos.
+
+@lilypond[verbatim,quote,staffsize=16]
+\layout {
+  \context {
+    \Staff
+    \override VerticalAxisGroup #'default-staff-staff-spacing =
+      #'((basic-distance . 8)
+         (minimum-distance . 7)
+         (padding . 1))
+  }
+}
+
+<<
+  % The very low note here needs more room than 'basic-distance
+  % can provide, so the distance between this staff and the next
+  % is determined by 'padding.
+  \new Staff { b,2 r | }
+
+  % Here, 'basic-distance 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 'basic-distance.
+  \new Staff { \clef bass g2 r | }
+
+  % By setting 'padding to a negative value, staves can be made to
+  % collide.  The lowest acceptable value for 'basic-distance is 0.
+  \new Staff \with {
+    \override VerticalAxisGroup #'default-staff-staff-spacing =
+      #'((basic-distance . 3.5)
+         (padding . -10))
+  } { \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}
+@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 los sistemas}.
+
+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 #'basic-distance = #1
+  }
+}
+
+<<
+  \new PianoStaff \with {
+    \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
+  } <<
+    \new Staff { c'1 }
+    \new Staff { c'1 }
+  >>
+
+  \new StaffGroup <<
+    \new Staff { c'1 }
+    \new Staff { c'1 }
+  >>
+>>
+@end lilypond
+
+@seealso
+Archivos de inicio:
+@file{scm/define-grobs.scm}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+Referencia de funcionamiento interno:
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
+
+
+@unnumberedsubsubsec Espaciado de las líneas que no son pautas
+
+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}.
+
+Las siguientes propiedades afectan al espaciado de las líneas que no
+son pautas:
+
+@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
+
+Estas propiedades de grob se describen individualmente más arriba;
+véase @ref{Propiedades de espaciado dentro de los sistemas}.
+
+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 StaffGroup
+<<
+  \new Staff \with {
+    \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 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 mecanismos del espaciado vertical
+flexible que se han explicado más arriba es como una
+colección de ajustes que controlan la cantidad de relleno
+vertical entre los pentagramas y los sistemas.
+
+Es posible enfrentarse al espaciado vertical de una forma distinta
+utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
+Mientras que los mecanismos del espaciado vertical flexible
+especifican relleno vertical, @code{NonMusicalPaperColumn
+#'line-break-system-details} puede especificar posiciones verticales
+exactas sobre la página.
+
+@code{NonMusicalPaperColumn #'line-break-system-details} acepta una
+lista asociativa de tres ajustes diferentes:
+
+@itemize
+@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 aparecen más abajo, pueden ocurrir en
+tres lugares distintos dentro de un archivo de entrada:
+
+@itemize
+@item directamente en medio de las notas
+@item en un bloque @code{\context}
+@item en el bloque @code{\with}
+@end itemize
+
+Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
+instrucción @code{\override} usual en los bloques @code{\context} y en
+el bloque @code{\with}.  Por otra parte, cuando sobreescribimos
+@code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
+instrucción especial @code{\overrideProperty}.  He aquí algunas
+sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
+instrucción especial @code{\overrideProperty}:
+
+@example
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((X-offset . 20))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((Y-offset . 40))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((X-offset . 20)
+                                 (Y-offset . 40))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((alignment-distances . (15)))
+
+\overrideProperty NonMusicalPaperColumn
+  #'line-break-system-details #'((X-offset . 20)
+                                 (Y-offset . 40)
+                                 (alignment-distances . (15)))
+@end example
+
+Para entender cómo funciona cada uno de los distintos ajustes,
+empezamos observando un ejemplo que no incluye absolutamente ninguna
+sobreescritura.
+
+@c \book { } is required in these examples to ensure the spacing
+@c overrides can be seen between systems. -np
+
+@lilypond[verbatim,quote,staffsize=16]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          s1*5 \break
+          s1*5 \break
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new Staff {
+        \repeat unfold 15 { d'4 d' d' d' }
+      }
+    >>
+  }
+}
+@end lilypond
+
+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}.
+
+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
+ajustes predeterminados de LilyPond.  Para establecer explícitamente
+el punto de origen vertical de cada sistema, podemos establecer el par
+@code{Y-offset} en el atributo @code{line-break-system-details} del
+grob (objeto gráfico) @code{NonMusicalPaperColumn}:
+
+@lilypond[verbatim,quote,staffsize=16]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 0))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 40))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 80))
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new Staff {
+        \repeat unfold 15 { d'4 d' d' d' }
+      }
+    >>
+  }
+}
+@end lilypond
+
+Observe que @code{line-break-system-details} toma una lista asociativa
+de una cantidad de valores potencialmente elevada, pero aquí sólo
+fijamos un valor.  Observe también que aquí la propiedad
+@code{Y-offset} determina la posición vertical exacta sobre la página
+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 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[verbatim,quote,staffsize=16]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 20)
+                                           (alignment-distances . (15)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 60)
+                                           (alignment-distances . (15)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 100)
+                                           (alignment-distances . (15)))
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new Staff {
+        \repeat unfold 15 { d'4 d' d' d' }
+      }
+    >>
+  }
+}
+@end lilypond
+
+Observe que aquí asignamos dos valores distintos al atributo
+@code{line-break-system-details} del grob
+@code{NonMusicalPaperColumn}.  Aunque el atributo alist de
+@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-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[verbatim,quote,staffsize=16]
+\header { tagline = ##f }
+\paper { left-margin = 0\mm }
+\book {
+  \score {
+    <<
+      \new Staff <<
+        \new Voice {
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 0)
+                                           (alignment-distances . (30 10)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 60)
+                                           (alignment-distances . (10 10)))
+          s1*5 \break
+          \overrideProperty #"Score.NonMusicalPaperColumn"
+            #'line-break-system-details #'((Y-offset . 100)
+                                           (alignment-distances . (10 30)))
+          s1*5 \break
+        }
+        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
+      >>
+      \new StaffGroup <<
+        \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
+        \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
+      >>
+    >>
+  }
+}
+@end lilypond
+
+Algunos puntos que tener en cuenta:
+
+@itemize
+@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-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.
+@end itemize
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Evitar las colisiones verticales
+@subsection Evitar las colisiones verticales
+@translationof Vertical collision avoidance
+
+@funindex outside-staff-priority
+@funindex outside-staff-padding
+@funindex outside-staff-horizontal-padding
+
+Podemos decir intuitivamente que algunos objetos de la notación
+musical pertenecen al pentagrama y otros se sitúan fuera del
+pentagrama.  Entre los objetos que pertenecen al exterior del
+pentagrama están las marcas de ensayo, las marcas textuales y las
+indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
+del pentagrama).  La regla de LilyPond para la colocación vertical de
+los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
+como sea posible pero no tan próximos como para que choquen con otro
+objeto.
+
+LilyPond utiliza la propiedad @code{outside-staff-priority} para
+determinar si un grob es un objeto fuera del pentagrama: si
+@code{outside-staff-priority} es un número, el grob es un objeto fuera
+del pentagrama.  Además, @code{outside-staff-priority} informa a
+LilyPond en qué orden se debe situar los objetos.
+
+En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
+exterior del pentagrama.  Después ordena los objetos fuera del
+pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
+orden creciente).  LilyPond toma los objetos fuera del pentagrama uno
+a uno y los coloca de forma que no choquen con ningún objeto que ya
+haya sido colocado.  Esto es, si dos grobs fuera del pentagrama
+compiten por el mismo espacio, el que tiene la prioridad
+@code{outside-staff-priority} más baja se colocará más próximo al
+pentagrama.
+
+@lilypond[quote,ragged-right,relative=2,verbatim]
+c4_"Text"\pp
+r2.
+\once \override TextScript #'outside-staff-priority = #1
+c4_"Text"\pp % this time the text will be closer to the staff
+r2.
+% by setting outside-staff-priority to a non-number,
+% we disable the automatic collision avoidance
+\once \override TextScript #'outside-staff-priority = ##f
+\once \override DynamicLineSpanner #'outside-staff-priority = ##f
+c4_"Text"\pp % now they will collide
+@end lilypond
+
+El relleno vertical entre un objeto fuera del pentagrama y los grobs
+posicionados previamente se puede controlar con
+@code{outside-staff-padding}.
+
+@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
+c^"This text is padded away from the previous text"
+c^"This text is placed close to the previous text"
+@end lilypond
+
+De forma predeterminada, los objetos fuera del pentagrama se colocan
+sólo para evitar una colisión horizontal con los grobs posicionados
+previamente.  Esto puede llevar a situaciones en las que los objetos
+se colocan muy próximos entre sí en el sentido horizontal.  El espacio
+vertical entre pentagramas se puede fijar también de manera que los
+objetos fuera del pentagrama se sitúen de forma intercalada.  El
+establecimiento del relleno horizontal
+@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,verbatim]
+% the markup is too close to the following note
+c4^"Text"
+c4
+c''2
+% setting outside-staff-horizontal-padding fixes this
+R1
+\once \override TextScript #'outside-staff-horizontal-padding = #1
+c,,4^"Text"
+c4
+c''2
+@end lilypond
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@node Espaciado horizontal
+@section Espaciado horizontal
+@translationof Horizontal spacing
+
+@cindex horizontal, espaciado
+@cindex espaciado horizontal
+
+@menu
+* Panorámica del espaciado horizontal::
+* Área de espaciado nueva::
+* Cambiar el espaciado horizontal::
+* Longitud de la línea::
+* Notación proporcional::
+@end menu
+
+
+@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
+duraciones más largas reciben un espacio mayor y las duraciones más
+cortas reciben menos.  Las duraciones más breves reciben un espacio de
+tamaño fijo (que se controla mediante @code{shortest-duration-space}
+en el objeto @rinternals{SpacingSpanner}).  Cuanto más larga es la
+duración, más espacio recibe: al doblar una duración se añade un
+espacio de tamaño fijo (este tamaño se controla mediante
+@code{spacing-increment}) a la nota.
+
+Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
+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,verbatim,relative=1]
+c2 c4. c8 c4. c8 c4. c8 c8
+c8 c4 c4 c4
+@end lilypond
+
+Normalmente, el valor de @code{spacing-increment} está establecido en
+1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
+cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
+que significa que la nota más breve recibe 2.4 espacios de pentagrama
+(2.0 multiplicado por el @code{spacing-increment}) de espacio
+horizontal.  Este espacio se cuenta a partir del borde izquierdo del
+símbolo, de manera que las notas más breves van seguidas generalmente
+por un espacio de 1 ACB.
+
+Si siguiésemos el procedimiento anterior exactamente, entonces la
+adición de una sola fusa a una partitura que usa corcheas y
+semicorcheas, aumentaría enormemente la anchura de la partitura
+completa.  La nota más breve ya no es la semicorchea, sino la fusa,
+añadiendo así 1 ACB a cada una de las notas.  Para evitarlo, la
+duración más breve a efectos de espaciado no es la nota más breve de
+la partitura, sino la que ocurre con más frecuencia.
+
+La duración más breve que es más común se determina de la siguiente
+manera: en cada compás se determina la duración más breve.  La menor
+duración más común se toma como base para el espaciado, habiendo
+estipulado que esta duración menor siempre debe ser igual o menor que
+una corchea.  La duración más breve se imprime cuando se ejecuta
+@code{lilypond} con la opción @code{--verbose}.
+
+Estas duraciones también se pueden personalizar.  Si establecemos la
+@code{common-shortest-duration} en @rinternals{SpacingSpanner},
+entonces éste establece la duración base para el espaciado.  La
+duración máxima para esta base (normalmente una corchea), se fija a
+través de @code{base-shortest-duration}.
+
+@funindex common-shortest-duration
+@funindex base-shortest-duration
+@funindex stem-spacing-correction
+@funindex spacing
+
+Las notas que son aún más breves que la nota común más breve van
+seguidas por un espacio proporcional a su duración en relación con la
+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,verbatim,relative=2]
+c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
+@end lilypond
+
+
+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}
+(generado en el contexto de @rinternals{Staff}) contiene la misma
+propiedad para controlar el espaciado de las líneas de plica o
+divisorias.  El ejemplo siguiente muestra estas correcciones, una vez
+con los valores predeterminados y otra con correcciones exageradas:
+
+@lilypond[quote,ragged-right]
+{
+  c'4 e''4 e'4 b'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 |
+}
+@end lilypond
+
+Está contemplada la notación proporcional; consulte
+@ref{Notación proporcional}.
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+Referencia de funcionamiento interno:
+@rinternals{SpacingSpanner},
+@rinternals{NoteSpacing},
+@rinternals{StaffSpacing},
+@rinternals{NonMusicalPaperColumn}.
+
+Ensayo sobre grabado musical automatizado:
+@ressay{Espaciado óptico}.
+
+
+@knownissues
+
+No existe ningún mecanismo conveniente para sobreescribir el espaciado
+manualmente.  Se puede usar el siguiente rodeo para insertar espacio
+adicional en una partitura, ajustando el valor del relleno en la
+medida necesaria.
+
+@example
+ \override Score.NonMusicalPaperColumn #'padding = #10
+@end example
+
+No existe ningún rodeo para disminuir la magnitud de la separación.
+
+
+@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
+secciones que tienen distinta noción de las notas largas y cortas.
+
+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=1,verbatim,quote]
+\time 2/4
+c4 c8 c
+c8 c c4 c16[ c c8] c4
+\newSpacingSection
+\time 4/16
+c16[ c c8]
+@end lilypond
+
+La instrucción @code{\newSpacingSection} crea un nuevo objeto
+@code{SpacingSpanner}, y de ahí que se puedan usar nuevas
+instrucciones de sobreescritura @code{\override} en dicho punto.
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+Referencia de funcionamiento interno:
+@rinternals{SpacingSpanner}.
+
+
+@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
+vez sin alterar la propiedad, y luego alterándola.  Los valores
+mayores de @code{ly:make-moment} producen música más pequeña.  Observe
+que @code{ly:make-moment} construye una duración, por lo que @code{1
+4} es una duración mayor que @code{1 16}.
+
+@lilypond[verbatim,line-width=12\cm]
+\score {
+  \relative c'' {
+    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+  }
+}
+@end lilypond
+
+@lilypond[verbatim,line-width=12\cm]
+\score {
+  \relative c'' {
+    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
+    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
+  }
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner
+        #'base-shortest-duration = #(ly:make-moment 1 16)
+    }
+  }
+}
+@end lilypond
+
+
+@snippets
+
+De forma predeterminada, el espaciado en los grupos de valoración
+especial depende de varios factores ajenos a la duración (como
+alteraciones, cambios de clave, etc.).  Para pasar por alto estos
+símbolos y forzar un espaciado de duraciones iguales uniforme, use
+@code{Score.SpacingSpanner #'uniform-stretching}.  Esta propiedad sólo
+puede cambiarse al principio de la partitura:
+
+@lilypond[quote,ragged-right,verbatim]
+\score {
+  <<
+    \new Staff {
+      \times 4/5 {
+        c8 c8 c8 c8 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,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
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@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
+
+@funindex indent
+@funindex line-width
+@funindex ragged-right
+@funindex ragged-last
+
+@c Although line-width can be set in \layout, it should be set in paper
+@c block, to get page layout right.
+@c Setting indent in \paper block makes not much sense, but it works.
+
+@c Bit verbose and vague, use examples?
+Los ajustes más básicos que influyen en el espaciado son @code{indent}
+y @code{line-width}.  Se definen en el bloque @code{\layout}.
+Controlan el sangrado de la primera línea de música y la longitud de
+las líneas.
+
+Si se fija un valor verdadero para @code{ragged-right} en el bloque
+@code{\layout}, entonces los sistemas terminan en su longitud
+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
+@cindex vertical, espaciado
+
+La opción @code{ragged-last} es similar a @code{ragged-right}, pero
+afecta sólo a la última línea de la pieza.  No se efectúa ninguna
+restricción sobre dicha línea.  El resultado es similar al formateo de
+los párrafos de texto.  En un párrafo, la última línea sencillamente
+ocupa su longitud horizontal natural.
+@c Note that for text there are several options for the last line.
+@c While Knuth TeX uses natural length, lead typesetters use the same
+@c stretch as the previous line.  eTeX uses \lastlinefit to
+@c interpolate between both these solutions.
+
+@example
+\layout @{
+  indent = #0
+  line-width = #150
+  ragged-last = ##t
+@}
+@end example
+
+
+@seealso
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@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
+equivale exactamente a su duración rítmica.  Este tipo de espaciado
+proporcional es comparable al espaciado horizontal hecho sobre un
+papel milimetrado.  Ciertas partituras del finales del s.XX y
+principios del s.XXI utilizan notación proporcional para clarificar
+relaciones rítmicas complejas o para facilitar la colocación de líneas
+cronométricas u otros gráficos directamente en la partitura.
+
+LilyPond contempla cinco ajustes distintos para la notación
+proporcional, que se pueden usar solos o combinados:
+
+@itemize
+@item @code{proportionalNotationDuration}
+@item @code{uniform-stretching}
+@item @code{strict-note-spacing}
+@item @code{\remove Separating_line_group_engraver}
+@item @code{\override PaperColumn #'used = ##t}
+@end itemize
+
+En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
+de la notación proporcional y examinamos la forma en que interactúan.
+
+Comenzamos con el siguiente ejemplo de un solo compás, que usa un
+espaciado clásico sin justificación por la derecha.
+
+@lilypond[quote,verbatim,ragged-right]
+\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
+mitad de todo el espacio horizontal del compás.  De forma similar, las
+semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
+ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
+del compás.
+
+En el grabado clásico, este espaciado puede ser exactamente el que
+deseamos porque podemos tomar prestado el espacio horizontal de la
+blanca y conservar el espacio horizontal a lo largo del compás como un
+todo.
+
+Por otro lado, si queremos insertar una línea de tiempo graduada o
+algún otro gráfico encima o debajo de la partitura, necesitamos la
+notación proporcional.  Se activa la notación proporcional con el
+ajuste @code{proportionalNotationDuration}.
+
+@lilypond[quote,verbatim,ragged-right]
+\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
+mitad del compás ocupan ahora cantidades iguales de espacio
+horizontal.  Podríamos colocar una línea de tiempo graduada o un
+gráfico encima o debajo de este ejemplo.
+
+El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
+que reside en @code{Score}.  Recordemos que los ajustes de contexto
+aparecen en uno de tres posibles lugares del archivo de entrada: en un
+bloque @code{\with}, en un bloque @code{\context}, o directamente
+entre la música precedido por la instrucción @code{\set}.  Como con
+todos los ajustes de contexto, el usuario puede elegir en cuál de los
+tres lugares diferentes prefiere establecer el valor de
+@code{proportionalNotationDuration}.
+
+El ajuste @code{proportionalNotationDuration} acepta un solo
+argumento, que es la duración de referencia contra el que se aplica el
+espaciado de toda la música.  La función Scheme de LilyPond
+@code{make-moment} acepta dos argumentos: un numerador y un
+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).  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
+de ensayo y error, comenzando con una duración cercana a la más rápida
+(o más breve) duración de la pieza.  Las duraciones de referencia más
+pequeñas aplican un espaciado más suelto; las duraciones de referencia
+más largas aplican un espaciado más apretado.
+
+@lilypond[quote,verbatim,ragged-right]
+\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)
+    }
+  }
+}
+
+\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)
+    }
+  }
+}
+
+\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
+corchea, en el ejemplo de arriba) produce un espaciado excesivamente
+apretado y puede ser causa de colisiones entre las cabezas de nota.
+Observe también que la notación proporcional en general ocupa más
+espacio horizontal que el espaciado clásico.  El espaciado
+proporcional aporta claridad rítmica a expensas del espacio
+horizontal.
+
+Ahora veremos cómo espaciar de forma óptima grupos de valoración
+especial que se superponen.
+
+Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
+espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
+diferente de grupo especial.
+
+@lilypond[quote,verbatim,ragged-right]
+\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
+      }
+    }
+  >>
+}
+@end lilypond
+
+El espaciado es defectuoso porque las notas regularmente espaciadas
+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} lo
+soluciona.
+
+@lilypond[quote,verbatim,ragged-right]
+\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
+      }
+    }
+  >>
+  \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
+ampliación uniforme, activamos @code{uniform-stretching}, que es una
+propiedad de @code{SpacingSpanner}.
+
+@lilypond[quote,verbatim,ragged-right]
+\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
+      }
+    }
+  >>
+  \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,
+nuestras relaciones rítmicas son visualmente claras, y podemos incluir
+una línea de tiempo graduada o un gráfico, si queremos.
+
+Observe que el paquete de notación proporcional de LilyPond espera que
+todas las partituras proporcionales establezcan el atributo
+@code{uniform-stretching} de @code{SpacingSpanner} al valor ##t.  El
+establecimiento de @code{proportionalNotationDuration} sin ajustar
+también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
+al valor ##t causará, por ejemplo, que los desplazamientos
+(@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
+
+El @code{SpacingSpanner} es un grob abstracto que reside en el
+contexto de @code{Score}. Como con nuestros ajustes de
+@code{proportionalNotationDuration}, las sobreescrituras al
+@code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
+dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
+@code{\context} o directamente dentro de la escritura de notas.
+
+De manera predeterminada, sólo hay un @code{SpacingSpanner} por
+@code{Score}.  Esto supone que, por omisión, @code{uniform-stretching}
+está activado para la partitura completa o desactivado para la
+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.
+
+A continuación examinamos los efectos del grabador
+@code{Separating_line_group_engraver} y veremos por qué las partituras
+proporcionales con frecuencia eliminan este grabador.  El ejemplo
+siguiente muestra que hay una pequeña cantidad de espacio
+@qq{preliminar} justo antes de la primera nota de cada sistema.
+
+@lilypond[quote,verbatim,ragged-right]
+\paper {
+  indent = #0
+}
+
+\new Staff {
+  c'1
+  \break
+  c'1
+}
+@end lilypond
+
+
+Esta cantidad de espacio preliminar es la misma ya sea después de
+una indicación de compás, una armadura o una clave.  El grabador
+@code{Separating_line_group_engraver} es responsable de este espacio.
+La eliminación de @code{Separating_line_group_engraver} reduce este
+espacio a cero.
+
+@lilypond[quote,verbatim,ragged-right]
+\paper {
+  indent = #0
+}
+
+\new Staff \with {
+  \remove Separating_line_group_engraver
+} {
+  c'1
+  \break
+  c'1
+}
+@end lilypond
+
+Los elementos no musicales como la indicación de compás, la armadura,
+la clave y las alteraciones son problemáticos en notación
+proporcional.  Ninguno de estos elementos tiene duración rítmica.
+Pero todos ellos consumen espacio horizontal.  Las distintas
+partituras proporcionales abordan este problema de distinta manera.
+
+Sería posible evitar los problemas de espaciado con las armaduras,
+simplemente evitando tenerlas.  Esta es una opción válida pues casi
+todas las partituras proporcionales son música contemporánea.  Lo
+mismo puede valer para las indicaciones de compás, especialmente para
+las partituras que incluyen una línea de tiempo graduada u otro
+gráfico.  Pero estas partituras son excepcionales y casi todas las
+partituras proporcionales incluyen al menos unas pocas indicaciones de
+compás.  Las claves y las alteraciones son aún más esenciales.
+
+Así pues ¿qué estrategias existen para el espaciado de los elementos
+no musicales en un contexto proporcional?  Una buena opción es la
+propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
+Compare las dos partituras siguientes:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff {
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  c''8
+  c''8
+  c''8
+  \clef alto
+  d'8
+  d'2
+}
+
+\new Staff {
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \override Score.SpacingSpanner #'strict-note-spacing = ##t
+  c''8
+  c''8
+  c''8
+  \clef alto
+  d'8
+  d'2
+}
+@end lilypond
+
+Las dos partituras son proporcionales, pero el espaciado de la
+primera es muy suelto a causa del cambio de clave. Sin embargo, el
+espaciado de la segunda partitura se mantiene estricto, porque
+@code{strict-note-spacing} está activado.  La activación de
+@code{strict-note-spacing} hace que el ancho de las indicaciones de
+compás, armaduras, cambios de clave y alteraciones no tomen parte en
+el algoritmo de espaciado.
+
+Además de los ajustes dados aquí, hay otros que aparecen con
+frecuencia en las partituras proporcionales.  Entre ellos están:
+
+@itemize
+@item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
+@item @code{tupletFullLength = ##t}
+@item @code{\override Beam #'breakable = ##t}
+@item @code{\override Glissando #'breakable = ##t}
+@item @code{\override TextSpanner #'breakable = ##t}
+@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@end itemize
+
+Estos ajustes dan a las notas de adorno un espaciado estricto,
+extienden los corchetes de grupo especial para que marquen tanto los
+puntos de comienzo como de final, y permiten que los elementos de
+extensión se dividan entre los sistemas y las páginas.  Consulte las
+partes respectivas del manual para ver estos ajustes relacionados.
+
+
+@seealso
+Referencia de la notación:
+@ref{Área de espaciado nueva}.
+
+Fragmentos de código:
+@rlsr{Spacing}.
+
+
+@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
+cuando vemos que las páginas anteriores parecen tener espacio de
+sobra.
+
+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{Mostrar el espaciado}.
+
+@menu
+* Mostrar el espaciado::
+* Cambiar el espaciado::
+@end menu
+
+
+@node Mostrar el espaciado
+@subsection Mostrar el espaciado
+@translationof Displaying spacing
+
+@cindex espaciado, presentación del
+@funindex annotate-spacing
+
+Para presentar gráficamente las dimensiones de las variables de
+disposición vertical que pueden verse alteradas por el formato de la
+página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
+
+@c need to have \book{} otherwise we get the separate systems. -hwn
+@lilypond[verbatim,quote]
+#(set-default-paper-size "a6" 'landscape)
+\book {
+  \score { { c4 } }
+  \paper { annotate-spacing = ##t }
+}
+@end lilypond
+
+
+@noindent
+Todas las dimensiones de disposición se muestran en espacios de
+pentagrama, independientemente de las unidades especificadas en los
+bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
+@code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
+(espacios de pentagrama), y el @code{staff-size} (tamaño del
+pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
+
+@multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
+
+@item 1 punto
+@tab = (25.4/72.27) mm
+
+@item 1 staff-space
+@tab = (@code{staff-size})/4 pts
+@item
+@tab = (@code{staff-size})/4 * (25.4/72.27) mm
+
+@end multitable
+
+@noindent
+En este caso, un @code{staff-space} equivale aproximadamente a
+1.757mm.  Así, la medida @code{paper-height} de 59.75
+@code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
+@code{a6} en orientación apaisada.  Las parejas (@var{a},@var{b}) son
+intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
+superior del intervalo.
+
+
+@seealso
+Referencia de la notación:
+@ref{Establecer el tamaño del pentagrama}.
+
+Fragmentos de código:
+@rlsr{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{Disposición de la página}.
+
+Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
+
+@itemize
+@item
+Forzar los sistemas para que se junten lo más posible entre sí (de
+forma que quepan la mayor cantidad de ellos en la página) y al mismo
+tiempo estén espaciados de forma que no exista un espacio vacío en la
+parte baja del papel.
+
+@example
+\paper @{
+  system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
+  ragged-last-bottom = ##f
+  ragged-bottom = ##f
+@}
+@end example
+
+@item
+Forzar el número de sistemas.  Puede ser de utilidad de dos formas.
+Si tan sólo se establece un valor, incluso el mismo valor que el
+número de sistemas que se están trazando de forma predeterminada, ello
+ocasionará a veces que se traten de introducir más sistemas en cada
+página, pues en este caso se omite un paso en que se produce una
+estimación, dando así un encaje mejor en cada página.  Asimismo, el
+forzar una reducción neta en el número de sistemas puede producir el
+ahorro de una página adicional.  Por ejemplo, si la disposición
+predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
+disposición con 10 sistemas.
+
+@example
+\paper @{
+  system-count = #10
+@}
+@end example
+
+@item
+Evitar (o reducir en número) los objetos que aumentan el tamaño
+vertical de un sistema.  Por ejemplo, las repeticiones de primera y
+segunda vez (o repeticiones con finales alternativos) necesitan
+espacio adicional.  Si estas repeticiones se reparten a lo largo de
+dos sistemas, ocupan más espacio que un sistema con las casillas de
+repetición y otro sistema sin ellas.  Por ejemplo, las indicaciones
+dinámicas que se @q{salen} de un sistema se pueden acercar al
+pentagrama:
+
+@lilypond[verbatim,quote,relative=1]
+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:
+
+@lilypond[verbatim,quote]
+\score {
+  \relative c'' {
+    g4 e e2 |
+    f4 d d2 |
+    c4 d e f |
+    g4 g g2 |
+    g4 e e2 |
+  }
+}
+@end lilypond
+
+@noindent
+El ejemplo siguiente modifica @code{common-shortest-duration} de un
+valor de @code{1/4} (negra) a @code{1/2} (blanca).  La negra es la
+nota más común y la más breve del ejemplo, por lo que al agrandar esta
+duración se produce un efecto de @q{apretujamiento}:
+
+@lilypond[verbatim,quote]
+\score {
+  \relative c'' {
+    g4 e e2 |
+    f4 d d2 |
+    c4 d e f |
+    g4 g g2 |
+    g4 e e2 |
+  }
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner
+        #'common-shortest-duration = #(ly:make-moment 1 2)
+    }
+  }
+}
+@end lilypond
+
+@noindent
+La propiedad @code{common-shortest-duration} no se puede modificar de
+manera dinámica, por lo que se debe situar siempre dentro de un
+bloque @code{\context} de forma que se aplique a la partitura
+completa.
+
+@end itemize
+
+
+@seealso
+Referencia de la notación:
+@ref{Disposición de la página},
+@ref{Cambiar el espaciado horizontal}.
+
+Fragmentos de código:
+@rlsr{Spacing}.