@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+ Translation of GIT committish: ffb5c20633459831cea21859f3423ea50060d705
When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.15.20"
+
+@ignore
+GDP TODO list
+This block comment is copied here to ease comparation of
+original and its translation.
+
+Negative numbers are allowed:
+> Are you sure? The following works well
+> \paper{
+> first-page-number = -2
+> }
+> and prints page number -1 on the second page, for example.
+
+
+In 5.2.1 the @refbugs (line 495 in spacing.itely on master) it
+states:
+
+"@code{layout-set-staff-size} does not change the distance between
+the
+staff lines."
+
+Could we add a sentence:
+"Use instead the pair fontSize = #@var{N}
+ \override StaffSymbol #'staff-space = #(magstep
+@var{N})
+inside the Staff context to change the size of the font and the
+distance between
+staff lines accordingly."
+
+Actually I found, that the @internalsref{StaffSymbol} at line 481
+sends to an incomplete
+documentation. The property staff-space is not explained here. I
+thought Y-extent might be of
+help, but it is in turn explained by x-space which again is
+missing from the list. Who has the
+knowledge to fix this?
+
+
+Clarify
+http://code.google.com/p/lilypond/issues/detail?id=68
+
@end ignore
-@c \version "2.12.0"
@node Problemas de espaciado
@chapter Problemas de espaciado
que ni el espaciado horizontal ni el vertical estén demasiado
estrechos ni estirados.
-Los ajustes que influyen en la disposición se pueden agrupar en dos
-bloques. El bloque @code{\paper @{...@}} se sitúa fuera de los
-bloques @code{\score @{...@}} y contiene ajustes relacionados con el
-documento como un todo. El bloque @code{\layout @{...@}} se sitúa
-dentro de un bloque @code{\score @{...@}} y contiene ajustes para
-dicha partitura en concreto. Si sólo tiene un bloque @code{\score
-@{...@}}, los dos tienen el mismo efecto. En general las
-instrucciones que se muestran en este capítulo se pueden poner en
-cualquiera de los dos.
+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
-* El papel y las páginas::
-* Disposición de la música::
+* Disposición de la página::
+* Disposición de la partitura::
* Saltos::
* Espaciado vertical::
* Espaciado horizontal::
@end menu
-@node El papel y las páginas
-@section El papel y las páginas
-@translationof Paper and pages
+@node Disposición de la página
+@section Disposición de la página
+@translationof Page layout
-Esta sección se ocupa de los límites que definen la zona del papel en
-que se puede imprimir la música.
+Esta sección estudia las opciones de disposición de la página para el
+bloque @code{\paper}.
@menu
-* Tamaño del papel::
-* Formateo de las páginas::
+* 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 Tamaño del papel
-@subsection Tamaño del papel
-@translationof Paper size
+@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{Cabeceras 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{Cabeceras 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
-@cindex papel, tamaño del
-@cindex página, tamaño de la
+
+@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
@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
ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
también como tabloide). Están contemplados muchos más tamaños de papel
de forma predeterminada. Para ver más detalles, consulte
-@file{scm/@/paper@/.scm} y busque la definición de @code{paper-alist}.
+@file{scm/paper.scm} y busque la definición de @code{paper-alist}.
@c TODO add a new appendix for paper sizes (auto-generated) -pm
@warning{El tamaño predeterminado del papel es @code{a4}.}
Se pueden añadir tamaños adicionales editando la definición de
-@code{paper-alist} en el archivo de inicio @file{scm/@/paper@/.scm},
+@code{paper-alist} en el archivo de inicio @file{scm/paper.scm},
aunque se sobreescribirán en la siguiente reinstalación del programa.
@cindex orientación
#(set-default-paper-size "a6" 'landscape)
@end example
-Al establecer el tamaño del papel se ajustan un cierto número de
-variables del @code{\paper}, tales como los márgenes. Para utilizar
-un tamaño de página determinado con variables de @code{\paper}
-alteradas, establezca el tamaño de página antes de dar valores a las
-variables.
-
-
@seealso
-Archivos instalados:
-@file{scm/@/paper@/.scm}.
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
-Fragmentos de código:
-@rlsr{Spacing}.
+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}.
-@node Formateo de las páginas
-@subsection Formateo de las páginas
-@translationof Page formatting
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly},
+@file{scm/paper.scm}.
-Los márgenes, encabezamientos y pies de página y otras variables de
-diseño de página se establecen automáticamente de acuerdo con el
-tamaño del papel.
-Esta sección relaciona y describe cierto número de variables del papel
-que se pueden alterar.
+@node Variables de espaciado de \paper verticales fijas
+@subsection Variables de espaciado de @code{\paper} verticales fijas
+@translationof Fixed vertical spacing \paper variables
-@menu
-* Dimensiones verticales::
-* Dimensiones horizontales::
-* Otras variables de diseño de página::
-@end menu
+@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}.
-@node Dimensiones verticales
-@unnumberedsubsubsec Dimensiones verticales
-@translationof Vertical dimensions
+@table @code
+@item paper-height (altura del papel)
+@funindex paper-height
-Estas variables se utilizan para establecer las diferentes dimensiones
-verticales de la página:
+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.
-@funindex \paper
+@item top-margin (margen superior)
+@funindex top-margin
-@table @code
+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 after-title-space
-@funindex after-title-space
+@item bottom-margin (margen inferior)
+@funindex bottom-margin
-Espacio entre el título y el primer sistema.
-Predeterminado: @code{5\mm}.
+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 before-title-space
-@funindex before-title-space
+@item ragged-bottom (sin justificar por abajo)
+@funindex ragged-bottom
-Distancia entre el último sistema de la pieza anterior y el título de
-la siguiente. Predeterminado: @code{10\mm}.
+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 between-system-padding
-@funindex between-system-padding
+@item ragged-last-bottom (sin justificar la última por abajo)
+@funindex ragged-last-bottom
-Distancia mínima que se deja siempre entre el símbolo más bajo de un
-sistema y el más alto del siguiente. Predeterminado: @code{4\mm}.
+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}.
-El aumento de este valor separa más los sistemas cuyas cajas
-circundantes casi se tocan.
+@end table
-@item between-system-space
-@funindex between-system-space
+@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
-Distancia entre los sistemas. Es la distancia ideal desde el centro
-del pentagrama inferior de un sistema hasta el centro del pentagrama
-superior del sistema siguiente. Predeterminado: @code{20\mm}.
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
-El aumento de este valor da a la página un aspecto más regular a costa
-de utilizar más espacio vertical.
+Fragmentos de código:
+@rlsr{Spacing}.
-@item between-title-space
-@funindex between-title-space
+@knownissues
-Distancia entre títulos consecutivos (p.ej., el título del libro y el
-título de una pieza). Predeterminado: @code{2\mm}.
+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}.
-@item bottom-margin
-@funindex bottom-margin
+@menu
+* Estructura de las listas-A de espaciado vertical flexible::
+* Lista de variables de espaciado de \paper verticales flexibles::
+@end menu
-Margen entre el pie de página y la parte inferior del papel.
-Predeterminado: @code{6\mm}.
-@item foot-separation
-@funindex foot-separation
+@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
-Distancia entre el sistema situado más abajo y el pie de página.
-Predeterminado: @code{4\mm}.
+Cada una de las variables de espaciado de @code{\paper} flexibles es
+una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
-@item head-separation
-@funindex head-separation
+@itemize
-Distancia entre el sistema situado más arriba y el encabezamiento de
-la página. Predeterminado: @code{4\mm}.
+@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 page-top-space
-@funindex page-top-space
+@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}.
-Distancia desde la parte alta del área imprimible hasta el centro del
-primer pentagrama. Esto sólo funciona para pentagramas con una
-anchura vertical pequeña. Los pentagramas grandes se establecen con
-la parte alta de su caja circundante alineada a la parte alta del área
-imprimible. Predeterminado: @code{12\mm}.
+@c TODO: explain skylines somewhere and xref to it from here.
-@item paper-height
-@funindex paper-height
+@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.
-Altura de la página. Predeterminado: altura del tamaño actual del
-papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
+@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}).
-@item top-margin
-@funindex top-margin
+@end itemize
-Margen entre el encabezamiento y la parte alta del papel.
-Predeterminado: @code{5\mm}.
+Si una página tiene un margen inferior no justificado, la distancia
+resultante es la mayor de:
-@end table
+@itemize
+@item
+@code{basic-distance},
-@snippets
+@item
+@code{minimum-distance}, y
-El encabezamiento y el pie se crean por parte de las funciones
-@code{make-footer} y @code{make-header}, definidas dentro de
-@code{\paper}. Las implementaciones predeterminadas están en
-@file{ly/paper-defaults.ly} y en @file{ly/titling-init.ly}.
+@item
+@code{padding} más la menor distancia necesaria
+para eliminar las colisiones.
-El diseño de la página en sí está realizado por dos funciones dentro
-del bloque @code{\paper}, @code{page-music-height} y
-@code{page-make-stencil}. El primero informa al algoritmo de saltos
-de línea de la cantidad de espacio que está disponible en una página,
-y el último crea la propia página dado el sistema que poner sobre
-ella.
+@end itemize
-Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
-caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
-están definidas en @file{paper-defaults.ly} con valores en milímetros.
-Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
+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 @{
- #(define bottom-margin (* 2 cm))
+ system-system-spacing #'basic-distance = #8
+ score-system-spacing =
+ #'((basic-distance . 12)
+ (minimum-distance . 6)
+ (padding . 1)
+ (stretchability . 12))
@}
@end example
-Ejemplo:
+@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
-@example
-\paper@{
- paper-width = 2\cm
- top-margin = 3\cm
- bottom-margin = 3\cm
- ragged-last-bottom = ##t
-@}
-@end example
+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.
-Este segundo ejemplo centra los números de página en la parte baja del
-papel.
+Los ajustes predeterminados están definidos en el archivo
+@file{ly/paper-defaults-init.ly}.
-@example
-\paper @{
- print-page-number = ##t
- print-first-page-number = ##t
- oddHeaderMarkup = \markup \fill-line @{ " " @}
- evenHeaderMarkup = \markup \fill-line @{ " " @}
- oddFooterMarkup = \markup @{ \fill-line @{
- \bold \fontsize #3 \on-the-fly #print-page-number-check-first
- \fromproperty #'page:page-number-string @} @}
- evenFooterMarkup = \markup @{ \fill-line @{
- \bold \fontsize #3 \on-the-fly #print-page-number-check-first
- \fromproperty #'page:page-number-string @} @}
-@}
-@end example
+@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 entre sistemas}.
+@ref{Espaciado vertical flexible dentro de los sistemas}.
+
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Dimensiones horizontales
-@unnumberedsubsubsec Dimensiones horizontales
-@translationof Horizontal dimensions
+@node Variables de espaciado de \paper horizontales
+@subsection Variables de espaciado de \paper horizontales
+@translationof Horizontal spacing \paper variables
-@warning{Si se establece @code{paper-width} manualmente,
-@code{line-width}, @code{left-margin}, @code{indent} y
-@code{short-indent} pueden necesitar ajustarse también.}
+@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}.}
-Existe un cierto número de variables que determinan las dimensiones
-horizontales de una página:
+@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 horizontal-shift
-@funindex horizontal-shift
+@item paper-width
+@funindex paper-width
-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}.
+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 indent
-@funindex indent
+@item line-width
+@funindex line-width
-Nivel de sangrado para el primer sistema de una partitura.
-Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
-viene determinado por @code{set-default-paper-size} o
-@code{set-paper-size}.
+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
-El margen entre el límite izquierdo del papel y el comienzo de los
-sistemas. Predeterminado: @code{10\mm}, tal y como se define por
-parte de @code{set-default-paper-size} o de @code{set-paper-size}.
+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 line-width
-@funindex line-width
+@item ragged-right
+@funindex ragged-right
-Ancho de los sistemas. Predeterminado: @code{paper-width} menos
-@code{20\mm}, como viene determinado por @code{set-default-paper-size}
-o por @code{set-paper-size}.
+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}.
-@item paper-width
-@funindex paper-width
-Ancho de la página. Predeterminado: la anchura del tamaño actual del
-papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
+@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. Predeterminado: @code{0}, como se determina en
-@code{set-default-paper-size} o en @code{set-paper-size}.
+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}.
-@knownissues
+@node Otras variables de \paper
+@subsection Otras variables de @code{\paper}
+@translationof Other \paper variables
-La opción @code{right-margin} está definida pero no establece aún el
-margen derecho. El valor del margen derecho se debe definir ajustando
-los valores de @code{left-margin} y de @code{line-width}.
+@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 Otras variables de diseño de página
-@unnumberedsubsubsec Otras variables de diseño de página
-@translationof Other layout variables
+@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
-Estas variables se pueden usar para ajustar el diseño de la página en
-general.
+@c TODO: Mention that ly:optimal-breaking is on by default? -mp
@table @code
-@item auto-first-page-number
-@funindex auto-first-page-number
+@item max-systems-per-page
+@funindex max-systems-per-page
-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}.
+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.
-@ignore
+@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
-FIXME: this variable is used, but I don't know what it does. -pm
@item blank-after-score-page-force
@funindex blank-after-score-page-force
-Default: @code{2}.
-
-@end ignore
+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 en una página de numeración
-impar. Predeterminado: @code{0}.
+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 en blanco en medio de una partitura.
-Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
-nunca considera la posibilidad de tener páginas en blanco en mitad de
-una partitura. Predeterminado: @code{5}.
+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 first-page-number
-@funindex first-page-number
+@item page-breaking
+@funindex page-breaking
-Valor del número de la primera página. Predeterminado: @code{#1}.
-
-@item max-systems-per-page
-Máximo número de sistemas que tendrán cabida en una página. Está
-contemplado por el momento solamente por parte del algoritmo
-@code{ly:optimal-breaking}. Predeterminado: no establecido.
-
-@item min-systems-per-page
-Mínimo número de sistemas que habrá en una página. Puede hacer que
-las páginas se llenen en exceso si se establece a un valor grande.
-Por el momento solamente está contemplado por parte del algoritmo
-@code{ly:optimal-breaking}. Predeterminado: no establecido.
+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-between-system-padding
-@funindex page-breaking-between-system-padding
+@item page-breaking-system-system-spacing
+@funindex page-breaking-system-system-spacing
-Engaña al divisor de páginas para que crea que
-@code{between-system-padding} está establecido a algo distinto de lo
-que está realmente. Por ejemplo, si esta variable se establece a algo
-mucho mayor que @code{between-system-padding}, entonces el divisor de
-páginas colocará menos sistemas en cada página. Predeterminado: no
-establecido.
+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 usar para una partitura. Predeterminado: sin
-fijar.
+Número de páginas que utilizar en una partitura, no ajustado de forma
+predeterminada.
-@item page-limit-inter-system-space
-@funindex page-limit-inter-system-space
+@end table
-Si tiene un valor verdadero, limita el espacio entre los sistemas de
-una página en la que sobra mucho espacio. Predeterminado: @code{##f}.
-Para ver más detalles, consulte @ref{Espaciado vertical entre sistemas}.
+@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}.
-@item page-limit-inter-system-space-factor
-@funindex page-limit-inter-system-space-factor
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
-Factor usado por @code{page-limit-inter-system-space}.
-Predeterminado: @code{1.4}. Para ver más detalles, consulte
-@ref{Espaciado vertical entre sistemas}.
-@item page-spacing-weight
-@funindex page-spacing-weight
+@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
-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}.
+Los valores predeterminados que no se relacionan aquí están definidos
+en el archivo @file{ly/paper-defaults-init.ly}
-@item print-all-headers
-@funindex print-all-headers
+@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
-Si está establecido a un valor verdadero, imprime todas las cabeceras
-para cada una de las @code{\score} en la salida impresa. Normalmente
-sólo se imprimen las variables de encabezamiento de pieza y opus.
-Predeterminado: @code{##f}.
+Valor del número de pátina en la primera página.
@item print-first-page-number
@funindex print-first-page-number
-Si está establecido a un valor verdadero, se imprime un número de
-página en la primera página. Predeterminado: @code{##f}.
+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á establecido a un valor falso, no se imprimen los números de
-página. Predeterminado: @code{##t}.
+Si está fijado a falso, no se imprimen los números de página.
-@item ragged-bottom
-@funindex ragged-bottom
-
-Si está establecido a un valor verdadero, los sistemas no ocuparán
-verticalmente toda la altura de la página. Esto no afecta a la última
-página. Predeterminado: @code{##f}.
-
-Esto se debería establecer al valor verdadero para piezas que tienen
-sólo dos o tres sistemas por página, por ejemplo partituras
-orquestales.
+@end table
-@item ragged-last
-@funindex ragged-last
+@seealso
+Archivos de inicio:
+@file{ly/paper-defaults-init.ly}.
-Si está establecido a un valor verdadero, el último sistema de la
-partitura no llenará la anchura de la línea. En su lugar, el último
-sistema termina en su longitud horizontal natural. Predeterminado:
-@code{##f}.
+@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.
-@item ragged-last-bottom
-@funindex ragged-last-bottom
-Si está establecido a un valor falso, los sistemas se repartirán
-verticalmente por toda la última página. Predeterminado: @code{##t}.
+@node Variables de \paper diversas
+@unnumberedsubsubsec Variables de @code{\paper} diversas
+@translationof Miscellaneous \paper variables
-Las piezas que llenan generosamente dos o más páginas deberían tener
-esto establecido al valor verdadero.
+@table @code
-También afecta a la última página de las partes de libro, es decir,
-partes de un libro que se han creado con bloques @code{\bookpart}.
+@item page-spacing-weight
+@funindex page-spacing-weight
-@item ragged-right
-@funindex ragged-right
+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}.
-Si está establecido a un valor verdadero, los sistemas no llenarán el
-ancho de línea disponible. En su lugar, los sistemas terminan en su
-longitud horizontal natural. Predeterminado: @code{##f}.
+@item print-all-headers
+@funindex print-all-headers
-Si la partitura sólo tiene un sistema, el valor predeterminado es
-@code{##t}.
+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.
+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:
-Se ofrece la instrucción de marcado @code{\slashSeparator} como un
-valor predeterminado apropiado, por ejemplo
+@lilypond[quote,verbatim,noragged-right,line-width=30\mm]
+#(set-default-paper-size "a8")
-@lilypond[quote,ragged-right]
-#(set-default-paper-size "a6" 'landscape)
\book {
- \score {
- \relative { c1 \break c1 }
- }
\paper {
system-separator-markup = \slashSeparator
}
+ \header {
+ tagline = ##f
+ }
+ \score {
+ \relative c'' { c1 \break c1 \break c1 }
+ }
}
@end lilypond
-@item system-count
-@funindex system-count
-
-Cantidad de sistemas que usar por parte de la partitura.
-Predeterminado: sin establecer.
-
-@item systems-per-page
-@funindex systems-per-page
-
-Número de sistemas que se deben colocar en cada página. Está
-contemplado solamente por parte del algoritmo
-@code{ly:optimal-breaking} por el momento. Predeterminado: no
-establecido.
-
@end table
@seealso
+Archivos de inicio:
+@file{ly/titling-init.ly}.
+
Fragmentos de código:
@rlsr{Spacing}.
el campo @code{instrument} del bloque @code{\header} sobre la misma
línea.
-Los títulos de cabecera (tomados de la sección @code{\header@{@}}) se
-tratan como un sistema, por lo que @code{ragged-bottom} y
-@code{ragged-last-bottom} añaden espacio entre los títulos y el primer
-sistema de la partitura.
+@node Disposición de la partitura
+@section Disposición de la partitura
+@translationof Score layout
-@node Disposición de la música
-@section Disposición de la música
-@translationof Music 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::
-* Disposición de la partitura::
@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, establecer tamaño de
-@cindex pentagrama, establecer tamaño de
-@funindex layout file
+@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:
partitura, use
@example
\score@{
- ...
- \layout@{
- #(layout-set-staff-size 15)
+ @dots{}
+ \layout @{
+ #(layout-set-staff-size 15)
@}
@}
@end example
del pentagrama.
-@node Disposición de la partitura
-@subsection Disposición de la partitura
-@translationof Score layout
-
-@funindex \layout
-
-Mientras que @code{\paper} contiene ajustes relativos al formato de
-página del documento completo, @code{\layout} contiene ajustes para la
-disposición específica de cada partitura.
-
-@example
-\layout @{
- indent = 2.0\cm
- \context @{ \Staff
- \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
- @}
- \context @{ \Voice
- \override TextScript #'padding = #1.0
- \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 Saltos
@section Saltos
@translationof Breaks
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. Ocasionalmente podemos querer sobreescribir los saltos
-automáticos; podemos hacerlo especificando @code{\break}. Esto fuerza
-un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
-pueden suceder al final de los compases @q{completos}, es decir, donde
-no queda ninguna nota o grupo especial @q{colgando} por encima de la
-línea divisoria. Si queremos poner un salto de línea donde no hay
-línea divisoria, podemos forzar una barra de compás invisible
-introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
-colgando en ninguno de los pentagramas en este punto, o se ignorarán.
-
-La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
+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
@example
\layout @{
-indent = #0
-line-width = #150
-ragged-last = ##t
+ indent = 0\mm
+ line-width = 150\mm
+ ragged-last = ##t
@}
@end example
-@cindex regular line breaks
-@cindex four bar music.
+@cindex saltos de línea normales
+@cindex música de cuatro compases por línea
Para saltos de línea a intervalos regulares utilice @code{\break}
separado mediante desplazamientos con @code{\skip} y repetidos con
compases, y sólo en dichos lugares:
@example
-<< \repeat unfold 7 @{
- s1 \noBreak s1 \noBreak
- s1 \noBreak s1 \break @}
- @emph{the real music}
+<<
+ \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
-@code{.ly} automáticamente. Ello permite que alineaciones verticales
+@file{.ly} automáticamente. Ello permite que alineaciones verticales
se estiren para que encajen en las páginas durante una segunda
ejecución del proceso de formateo. Esta posibilidad es bastante
novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
@seealso
-Referencia de funcionamiento interno:
-@rinternals{LineBreakEvent}.
+Referencia de la notación:
+@ref{Variables de \paper para los saltos de línea}.
Fragmentos de código:
@rlsr{Spacing}.
-
-@knownissues
-
-Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
-divisoria. Una nota colgando de una línea divisoria no es adecuada,
-como
-
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-c4 c2 << c2 {s4 \break } >> % this does nothing
-c2 c4 | % a break here would work
-c4 c2 c4 ~ \break % as does this break
-c4 c2 c4
-@end lilypond
-
-Esto se puede evitar eliminando el grabador
-@code{Forbid_line_break_engraver}. Observe que los saltos de línea
-forzados manualmente se tienen que añadir en paralelo con la música.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Voice \with {
- \remove Forbid_line_break_engraver
-} {
- c4 c2 << c2 {s4 \break } >> % now the break is allowed
- c2 c4
-}
-@end lilypond
-
-De forma parecida, los saltos de línea están prohibidos normalmente
-cuando las barras cruzan a las líneas divisorias. Este comportamiento
-se puede modificar con el establecimiento de @code{\override Beam
-#'breakable = ##t}.
+Referencia de funcionamiento interno:
+@rinternals{LineBreakEvent}.
@node Saltos de página
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
+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.
-
-Para ver más detalles, consulte @ref{Espaciado vertical}.
+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
cambiar en el bloque @code{\paper}:
@example
-\paper@{
- #(define page-breaking ly:page-turn-breaking)
+\paper @{
+ page-breaking = #ly:page-turn-breaking
@}
@end example
\paper @{
%% En una parte que consiste en texto principalmente,
%% puede ser preferible ly:minimal-breaking
- #(define page-breaking ly:minimal-breaking)
+ page-breaking = #ly:minimal-breaking
@}
\markup @{ @dots{} @}
@dots{}
@seealso
+Referencia de la notación:
+@ref{Variables de \paper para los saltos de página}.
+
Fragmentos de código:
@rlsr{Spacing}.
@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
+@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.
\new Staff \with @{ \consists "Page_turn_engraver" @}
@{
a4 b c d |
- R1 | % a page turn will be allowed here
+ R1 | % aquí se permite un salto de página
a4 b c d |
\set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
- R1 | % a page turn will not be allowed here
+ R1 | % aquí no se permite un salto de página
a4 b r2 |
- R1*2 | % a page turn will be allowed here
+ R1*2 | % aquí se permite un salto de página
a1
@}
@end example
@example
\paper @{
- #(define page-breaking ly:minimal-breaking)
+ page-breaking = #ly:minimal-breaking
@}
@end example
ragged-bottom = ##t
}
+music = \relative c'' { c8 c c c }
+
\score {
- \new Score \with {
- \override NonMusicalPaperColumn #'line-break-permission = ##f
- \override NonMusicalPaperColumn #'page-break-permission = ##f
- } {
- \new Staff {
- \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
- \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
- \repeat unfold 2 { c'8 c'8 c'8 c'8 }
+ \new Staff {
+ \repeat unfold 2 { \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
}
}
}
directamente entremezclado dentro del código de notas.
@example
-\new Score @{
+music = \relative c'' @{ c4 c c c @}
+
+\score @{
\new Staff @{
- \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
- \break
- \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
+ \repeat unfold 2 @{ \music @} \break
+ \repeat unfold 3 @{ \music @}
@}
@}
@end example
@code{\break}, @code{pageBreak} y otras informaciones sobre la
disposición de los saltos.
-@lilypond[quote,verbatim]
-\new Score {
- \new Staff <<
- \new Voice {
- s1 * 2 \break
- s1 * 3 \break
- s1 * 6 \break
- s1 * 5 \break
- }
- \new Voice {
- \repeat unfold 2 { c'4 c'4 c'4 c'4 }
- \repeat unfold 3 { c'4 c'4 c'4 c'4 }
- \repeat unfold 6 { c'4 c'4 c'4 c'4 }
- \repeat unfold 5 { c'4 c'4 c'4 c'4 }
- }
- >>
-}
-@end lilypond
+@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::
+* Espaciado de las líneas que no son pautas::
+@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}.
+
-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}.
+@subsubheading Propiedades del grob @code{VerticalAxisGroup}
-@lilypond[quote,verbatim]
-\new Score {
- \new Staff <<
- \new Voice {
+Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
+instrucción @code{\override} en el nivel de @code{Staff} (o
+equivalente).
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
- s1 * 2 \break
+@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
- \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
+@subsubheading Propiedades del grob @code{StaffGrouper}
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 105))
- s1 * 5 \break
- }
- \new Voice {
- \repeat unfold 2 { c'4 c'4 c'4 c'4 }
- \repeat unfold 3 { c'4 c'4 c'4 c'4 }
- \repeat unfold 6 { c'4 c'4 c'4 c'4 }
- \repeat unfold 5 { c'4 c'4 c'4 c'4 }
- }
- >>
-}
-@end lilypond
+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{Espaciado vertical}.
+@ref{Variables de espaciado de \paper verticales flexibles},
+@ref{Modificación de las listas-A}.
-Fragmentos de código:
-@rlsr{Spacing}.
+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 vertical
-@section Espaciado vertical
-@translationof Vertical spacing
-@cindex espaciado vertical
-@cindex vertical, espaciado
+@node Espaciado de pautas no agrupadas
+@unnumberedsubsubsec Espaciado de pautas no agrupadas
+@translationof Spacing of ungrouped staves
-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.
+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.
-@menu
-* Espaciado vertical dentro de un sistema::
-* Espaciado vertical entre sistemas::
-* Posicionamiento explícito de los pentagramas y los sistemas::
-* Espaciado vertical en dos fases::
-* Evitar las colisiones verticales::
-@end menu
+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
-@node Espaciado vertical dentro de un sistema
-@subsection Espaciado vertical dentro de un sistema
-@translationof Vertical spacing inside a system
+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))
+ }
+}
-@cindex distancia entre pentagramas
-@cindex pentagrama, distancia entre los
-@cindex espacio entre pentagramas
-@cindex espacio dentro de los sistemas
+<<
+ % 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
-La altura de cada sistema se determina automáticamente. Para evitar
-que los pentagramas se superpongan unos encima de otros, se establecen
-algunas distancias mínimas. Al modificarlas, podemos poner los
-pentagramas más cerca unos de otros. Esto reduce el espacio que
-requiere cada sistema y puede resultar en la obtención de más sistemas
-por página.
-
-Normalmente los pentagramas se apilan verticalmente. Para hacer que
-los pentagramas guarden una distancia, se rellena su tamaño vertical.
-Esto se hace con la propiedad @code{minimum-Y-extent}. Si se aplica a
-@rinternals{VerticalAxisGroup}, controla el tamaño de una línea
-horizontal, como un pentagrama o una línea de letra.
-@code{minimum-Y-extent} acepta una pareja de números, de forma que si
-queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
-. 4)} entonces podemos establecer
+@seealso
+Archivos de inicio:
+@file{scm/define-grobs.scm}.
-@example
-\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
-@end example
+Fragmentos de código:
+@rlsr{Spacing}.
-@noindent
-Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
-pentagrama a cada lado de la tercera línea. El valor @code{(-3 . 3)}
-se interpreta como un intervalo, donde la línea central es el 0, por
-lo que el primer número es negativo en general. Los números no tienen
-que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
-debajo dándole el valor @code{(-6 . 4)}.
+Referencia de funcionamiento interno:
+@rinternals{VerticalAxisGroup}.
-@ignore
-FIXME: update this section
-
-Después de que se han determinado los saltos de página, se reevalúa el
-espaciado vertical dentro de cada sistema para llenar la página de
-forma más regular; si una página tiene más espacio de sobra, se
-amplían los sistemas para poder llenar este espacio. La magnitud de
-esta ampliación se puede configurar a través de la propiedad
-@code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
-predeterminada, @code{max-stretch} se establece a cero, inhabilitando
-la ampliación. Para habilitar la ampliación, un valor prudente para
-@code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
-
-En ciertas situaciones, podemos querer ampliar la mayor parte de un
-sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si
-una parte de piano aparece en el medio de una partitura orquestal,
-podemos querer dejar los pentagramas de piano cercanos entre sí
-mientras se estira el resto de la partitura. Se puede usar la
-propiedad @code{keep-fixed-while-stretching} de
-@rinternals{VerticalAxisGroup} para conseguirlo. Cuando se establece
-al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
-de letra) se desplace en relación al que está directamente encima de
-él. En el ejemplo anterior, podríamos sobreescribir
-@code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
-pentagrama del piano:
-
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-#(set-global-staff-size 14.0)
-\book {
-\paper {
- ragged-last-bottom = ##f
-}
+@node Espaciado de pautas agrupadas
+@unnumberedsubsubsec Espaciado de pautas agrupadas
+@translationof Spacing of grouped staves
-\new Score \with
-{
- \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
+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 GrandStaff
-<<
- \new StaffGroup
- <<
- \new Staff {c' d' e' f'}
- \new Staff {c' d' e' f'}
- \new Staff {c' d' e' f'}
- >>
- \new PianoStaff
- <<
- \new Staff {c' d' e' f'}
- \new Staff \with {
- \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
- }
- {c' d' e' f'}
+<<
+ \new PianoStaff \with {
+ \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
+ } <<
+ \new Staff { c'1 }
+ \new Staff { c'1 }
>>
- \new StaffGroup
- <<
- \new Staff {c' d' e' f'}
- \new Staff {c' d' e' f'}
+ \new StaffGroup <<
+ \new Staff { c'1 }
+ \new Staff { c'1 }
>>
>>
-}
-}
@end lilypond
-@end ignore
-
-La alineación vertical de los pentagramas está manejada por el objeto
-@code{VerticalAlignment}. Los parámetros de contexto que especifican
-las dimensiones verticales están descritas en conexión con el grabador
-@code{Axis_group_engraver}.
-
@seealso
+Archivos de inicio:
+@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{VerticalAlignment},
-@rinternals{Axis_group_engraver}.
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
-@node Espaciado vertical entre sistemas
-@subsection Espaciado vertical entre sistemas
-@translationof Vertical spacing between systems
+@node Espaciado de las líneas que no son pautas
+@unnumberedsubsubsec Espaciado de las líneas que no son pautas
+@translationof Spacing of non-staff lines
-La separación entre los sistemas está controlada por cuatro variables
-del papel:
+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}.
-@example
-\paper @{
- between-system-space = 1.5\cm
- between-system-padding = #1
- ragged-bottom=##f
- ragged-last-bottom=##f
-@}
-@end example
+Las siguientes propiedades afectan al espaciado de las líneas que no
+son pautas:
-Cuando sólo se ponen dos simples sistemas en una página, el espaciado
-vertical resultante puede ser bastante poco elegante: un sistema en la
-parte alta de la página y el otro en la parte baja, con un enorme
-hueco entre ellos. Para evitar esta situación se puede limitar el
-espacio que se añade entre los sistemas. Esta posibilidad se activa
-mediante el establecimiento al valor @code{#t} de la variable
-@code{page-limit-inter-system-space} en el bloque @code{\paper}. La
-variable del papel @code{page-limit-inter-system-space-factor}
-determina en qué cantidad se puede incrementar el espacio: por
-ejemplo, el valor @code{1.3} significa que el espacio puede ser un
-30% mayor que lo que sería en una página no justificada hasta abajo.
-
-En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
-limitado, el segundo sistema de la página 1 se situaría en la parte de
-abajo de la página. Activando la limitación de espacio, el segundo
-sistema se coloca más cerca del primero. Estableciendo
-@code{page-limit-inter-system-space-factor} a @code{1}, el espacio
-sería el mismo que en una página sin justificar por abajo, como la
-última página.
-
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-\book {
- \paper {
- page-limit-inter-system-space = ##t
- page-limit-inter-system-space-factor = 1.3
-
- oddFooterMarkup = \markup "page bottom"
- evenFooterMarkup = \markup "page bottom"
- oddHeaderMarkup = \markup \fill-line {
- "page top" \fromproperty #'page:page-number-string }
- evenHeaderMarkup = \markup \fill-line {
- "page top" \fromproperty #'page:page-number-string }
+@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 Staff << \repeat unfold 4 { g'4 g' g' g' \break }
- { s1*2 \pageBreak } >>
}
+
+\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 ajustes de @code{VerticalAxisGroup} y de
-@code{\paper} que se explicaron en las dos secciones anteriores es
-como una colección de distintos ajustes que conciernen principalmente
-a la cantidad de relleno vertical que adquieren los distintos
-pentagramas y sistemas al ocupar la página.
+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 abordar el problema del espaciado vertical de una forma
-distinta utilizando @code{NonMusicalPaperColumn
-#'line-break-system-details}. Donde los ajustes de
-@code{VerticalAxisGroup} y de @code{\paper} especifican el relleno
-vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
-especifica las posiciones verticales exactas en la página.
+Es posible enfrentarse al espaciado vertical de una forma distinta
+utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
+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 cinco ajustes distintos:
+lista asociativa de tres ajustes diferentes:
@itemize
-@item @code{X-offset}
-@item @code{Y-offset}
-@item @code{alignment-offsets}
-@item @code{alignment-extra-space}
-@item @code{fixed-alignment-extra-space}
+@item @code{X-offset} (desplazamiento en X)
+@item @code{Y-offset} (desplazamiento en Y)
+@item @code{alignment-distances} (distancias de alineación)
@end itemize
Las sobreescrituras de los objetos gráficos, entre ellas las de
-@code{NonMusicalPaperColumn} que aparece más abajo, pueden ocurrir en
+@code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
tres lugares distintos dentro de un archivo de entrada:
@itemize
#'line-break-system-details #'((Y-offset . 40))
\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
+ #'line-break-system-details #'((X-offset . 20)
+ (Y-offset . 40))
\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((alignment-offsets . (0 -15)))
+ #'line-break-system-details #'((alignment-distances . (15)))
\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
- (alignment-offsets . (0 -15)))
+ #'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,
@c \book { } is required in these examples to ensure the spacing
@c overrides can be seen between systems. -np
-@lilypond[quote]
+@lilypond[verbatim,quote,staffsize=16]
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
Esta partitura mantiene aislada la información de los saltos de línea
y de página en una voz dedicada a ello. Esta técnica de crear una voz
de saltos ayuda a mantener separada de la escritura de notas conforme
-el ejemplo se vuelve más complicado. Consulte @ref{Utilizar una voz adicional para los saltos de línea}.
+el ejemplo se vuelve más complicado. Consulte
+@ref{Utilizar una voz adicional para los saltos de línea}.
Los saltos explícitos dividen la música de forma regular en seis
compases por línea. El espaciado vertical es el resultado de los
@code{Y-offset} en el atributo @code{line-break-system-details} del
grob (objeto gráfico) @code{NonMusicalPaperColumn}:
-@lilypond[quote]
+@lilypond[verbatim,quote,staffsize=16]
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
en la que se trazará cada uno de los nuevos sistemas.
Ahora que hemos establecido explícitamente el punto de origen vertical
-de cada sistema, podemos también establecer manualmente el punto de
-origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos
-usando la subpropiedad @code{alignment-offsets} de
+de cada sistema, podemos también establecer manualmente las distancias
+verticales entre los pentagramas dentro de cada sistema. Lo hacemos
+usando la subpropiedad @code{alignment-distances} de
@code{line-break-system-details}.
-@lilypond[quote]
+@lilypond[verbatim,quote,staffsize=16]
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
\new Voice {
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 20)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 60)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 100)
- (alignment-offsets . (0 -15)))
+ (alignment-distances . (15)))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@code{line-break-system-details} acepta muchos parámetros de espaciado
adicionales (entre ellos, por ejemplo, un par @code{X-offset}
correspondiente), sólo tenemos que establecer el desplazamiento
-@code{Y-offset} y los pares @code{alignment-offsets} para controlar el
-punto de origen vertical de cada sistema y pentagrama. Finalmente,
-observe que @code{alignment-offsets} especifica el posicionamiento
+@code{Y-offset} y los pares @code{alignment-distances} para controlar
+el punto de origen vertical de cada sistema y pentagrama. Finalmente,
+observe que @code{alignment-distances} especifica el posicionamiento
vertical de los pentagramas pero no de los grupos de pentagramas.
-@lilypond[quote]
+@lilypond[verbatim,quote,staffsize=16]
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
\new Voice {
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 0)
- (alignment-offsets . (0 -30 -40)))
+ (alignment-distances . (30 10)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 60)
- (alignment-offsets . (0 -10 -20)))
+ (alignment-distances . (10 10)))
s1*5 \break
\overrideProperty #"Score.NonMusicalPaperColumn"
#'line-break-system-details #'((Y-offset . 100)
- (alignment-offsets . (0 -10 -40)))
+ (alignment-distances . (10 30)))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
Algunos puntos que tener en cuenta:
@itemize
-@item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
+@item Al usar @code{alignment-distances}, la letra
+y otras líneas que no son pautas, no cuentan como un pentagrama.
@item Las unidades de los números que se pasan a @code{X-offset},
-@code{Y-offset} y @code{alignment-offsets} se interpretan como
+@code{Y-offset} y @code{alignment-distances} se interpretan como
múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
valores positivos mueven a los pentagramas y a la letra hacia arriba,
los valores negativos mueven los pentagramas y la letra hacia abajo.
-@item A causa de que los ajustes a @code{NonMusicalPaperColumn #'line-break-system-details}
-dados aquí permiten el posicionamiento de pentagramas y sistemas en
-cualquier lugar de la página, es posible violar los márgenes o los
-límites del papel, o incluso imprimir pentagramas o sistemas unos
-encima de otros. Esto se evitaría pasando a los diferentes ajustes
-unos valores razonables.
+@item A causa de que los ajustes a @code{NonMusicalPaperColumn
+#'line-break-system-details} dados aquí permiten el posicionamiento de
+pentagramas y sistemas en cualquier lugar de la página, es posible
+violar los márgenes o los límites del papel, o incluso imprimir
+pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
+a los diferentes ajustes unos valores razonables.
@end itemize
@rlsr{Spacing}.
-@node Espaciado vertical en dos fases
-@subsection Espaciado vertical en dos fases
-@translationof Two-pass vertical spacing
-
-@warning{El espaciado vertical en dos pasadas está obsoleto y se
-eliminará en una versión futura de LilyPond. Ahora los sistemas se
-amplían automáticamente en un solo paso. Véase @ref{Espaciado vertical dentro de un sistema}.}
-
-In order to automatically stretch systems so that they should fill the
-space left on a page, a two-pass technique can be used:
-
-@enumerate
-@item In the first pass, the amount of vertical space used to increase
-the height of each system is computed and dumped to a file.
-@item In the second pass, spacing inside the systems are
-stretched according to the data in the page layout file.
-@end enumerate
-
-The @code{ragged-bottom} property adds space between systems, while
-the two-pass technique adds space between staves inside a system.
-
-To allow this behavior, a @code{tweak-key} variable has to be set in
-each score @code{\layout} block, and the tweaks included in each score
-music, using the @code{\scoreTweak} music function.
-
-@quotation
-@verbatim
-%% include the generated page layout file:
-\includePageLayoutFile
-
-\score {
- \new StaffGroup <<
- \new Staff <<
- %% Include this score tweaks:
- \scoreTweak "scoreA"
- { \clef french c''1 \break c''1 }
- >>
- \new Staff { \clef soprano g'1 g'1 }
- \new Staff { \clef mezzosoprano e'1 e'1 }
- \new Staff { \clef alto g1 g1 }
- \new Staff { \clef bass c1 c1 }
- >>
- \header {
- piece = "Score with tweaks"
- }
- %% Define how to name the tweaks for this score:
- \layout { #(define tweak-key "scoreA") }
-}
-@end verbatim
-@end quotation
-
-For the first pass, the @code{dump-tweaks} option should be set to
-generate the page layout file.
-
-@example
-lilypond -dbackend=null -d dump-tweaks <file>.ly
-lilypond <file>.ly
-@end example
-
-
-@seealso
-Fragmentos de código:
-@rlsr{Spacing}.
-
-
@node Evitar las colisiones verticales
@subsection Evitar las colisiones verticales
@translationof Vertical collision avoidance
@code{outside-staff-priority} más baja se colocará más próximo al
pentagrama.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
c4_"Text"\pp
r2.
\once \override TextScript #'outside-staff-priority = #1
posicionados previamente se puede controlar con
@code{outside-staff-padding}.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\once \override TextScript #'outside-staff-padding = #0
a'^"This text is placed very close to the note"
\once \override TextScript #'outside-staff-padding = #3
@code{outside-staff-horizontal-padding} ocasiona que un objeto se
desplace verticalmente para que tal situación no ocurra.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
% the markup is too close to the following note
c4^"Text"
c4
corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
-@lilypond[quote,fragment,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
c2 c4. c8 c4. c8 c4. c8 c8
c8 c4 c4 c4
@end lilypond
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}.
+@code{lilypond} con la opción @option{--verbose}.
Estas duraciones también se pueden personalizar. Si establecemos la
@code{common-shortest-duration} en @rinternals{SpacingSpanner},
nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
@end lilypond
-En la introducción (véase @rlearning{Grabado}), se explicó que las
-direcciones de las plicas influyen en el espaciado. Esto se controla
+
+En el @emph{Ensayo sobre grabado musical automatizado},
+se explicó que las
+direcciones de las plicas influyen en el espaciado
+(véase @ressay{Espaciado óptico}). Esto se controla
con la propiedad @code{stem-spacing-correction} en el objeto
@rinternals{NoteSpacing}. Estos se generan para cada uno de los
contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
@lilypond[quote,ragged-right]
{
c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4|
+ b'4 e''4 b'4 e''4 |
\override Staff.NoteSpacing #'stem-spacing-correction = #1.5
\override Staff.StaffSpacing #'stem-spacing-correction = #1.5
c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4|
+ b'4 e''4 b'4 e''4 |
}
@end lilypond
-Está contemplada la notación proporcional; consulte @ref{Notación proporcional}.
+Está contemplada la notación proporcional; consulte
+@ref{Notación proporcional}.
@seealso
@rinternals{StaffSpacing},
@rinternals{NonMusicalPaperColumn}.
+Ensayo sobre grabado musical automatizado:
+@ressay{Espaciado óptico}.
+
@knownissues
En el ejemplo siguiente, el cambio de compás introduce una sección
nueva, y por ello las semicorcheas se separan de manera más amplia.
-@lilypond[relative,fragment,verbatim,quote]
+@lilypond[relative=1,verbatim,quote]
\time 2/4
c4 c8 c
c8 c c4 c16[ c c8] c4
\context {
\Score
\override SpacingSpanner
- #'base-shortest-duration = #(ly:make-moment 1 16)
+ #'base-shortest-duration = #(ly:make-moment 1 16)
}
}
}
@code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
puede cambiarse al principio de la partitura:
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-\new Score \with {
- \override SpacingSpanner #'uniform-stretching = ##t
-} <<
- \new Staff{
- \times 4/5 {
- c8 c8 c8 c8 c8
+@lilypond[quote,ragged-right,verbatim]
+\score {
+ <<
+ \new Staff {
+ \times 4/5 {
+ c8 c8 c8 c8 c8
+ }
+ c8 c8 c8 c8
}
- c8 c8 c8 c8
- }
- \new Staff{
- c8 c8 c8 c8
- \times 4/5 {
- c8 c8 c8 c8 c8
+ \new Staff {
+ c8 c8 c8 c8
+ \times 4/5 {
+ c8 c8 c8 c8 c8
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ \override SpacingSpanner #'uniform-stretching = ##t
}
}
->>
+}
@end lilypond
Cuando se establece @code{strict-note-spacing}, las notas se separan
sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\override Score.SpacingSpanner #'strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
@end lilypond
horizontal natural, en lugar de repartirse horizontalmente hasta
llenar toda la línea. Esto es útil para fragmentos cortos, y para
comprobar qué tan apretado es el espaciado natural.
+El valor normal predeterminado es falso, pero si la partitura
+tiene un solo sistema, el valor predeterminado es verdadero.
+
@cindex diseño de página
@cindex página, disposición de la
@c stretch as the previous line. eTeX uses \lastlinefit to
@c interpolate between both these solutions.
-@c interesting! -FV
-
@example
\layout @{
indent = #0
espaciado clásico sin justificación por la derecha.
@lilypond[quote,verbatim,ragged-right]
-\new Score <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
->>
+ >>
+}
@end lilypond
Observe que la blanca que inicia el compás ocupa mucho menos de la
ajuste @code{proportionalNotationDuration}.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 20)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 20)
}
}
->>
+}
@end lilypond
La blanca al principio del compás y las notas rápidas de la segunda
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
+llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración
de referencia de una nota de un veinteavo de redonda (semicorcheas de
-cinquillo). Los valores @code{#(ly:make-moment 1 16)},
-@code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)} son
-también posibles.
+cinquillo). Son también posibles valores como
+@code{(ly:make-moment 1 16)},
+@code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}.
¿Cómo seleccionamos la duración correcta de referencia para pasarla a
@code{proportionalNotationDuration}? Normalmente mediante un proceso
más largas aplican un espaciado más apretado.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 8)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 8)
}
}
->>
+}
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 16)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 16)
}
}
->>
+}
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 32)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 32)
}
}
->>
+}
@end lilypond
Observe que una duración de referencia demasiado grande (como la
diferente de grupo especial.
@lilypond[quote,verbatim,ragged-right]
-\new Score <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
- \new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ \new RhythmicStaff {
+ \times 8/9 {
+ c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ }
}
- }
->>
+ >>
+}
@end lilypond
El espaciado es defectuoso porque las notas regularmente espaciadas
-del pentagrama inferior no se amplían de manera uniforme. El grabado
-clásico incluye muy pocos tresillos complejos y así las reglas del
+del pentagrama inferior no se amplían de manera uniforme. Los grabados
+clásicos incluyen muy pocos tresillos complejos y así las reglas del
grabado clásico pueden generar este tipo de resultado. El
-establecimiento de @code{proportionalNotationDuration} remedia esta
-situación considerablemente.
+establecimiento de @code{proportionalNotationDuration} lo
+soluciona.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 20)
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
- \new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ \new RhythmicStaff {
+ \times 8/9 {
+ c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 20)
}
}
->>
+}
@end lilypond
+
Pero si observamos con mucho cuidado podremos ver que las notas de la
segunda mitad del 9-illo están espaciadas de forma ligeramente más
ancha que las de la primera mitad del 9-illo. Para asegurar una
propiedad de @code{SpacingSpanner}.
@lilypond[quote,verbatim,ragged-right]
-\new Score \with {
- proportionalNotationDuration = #(ly:make-moment 1 20)
- \override SpacingSpanner #'uniform-stretching = ##t
-} <<
- \new RhythmicStaff {
- c'2
- c'16 c'16 c'16 c'16
- \times 4/5 {
- c'16 c'16 c'16 c'16 c'16
+\score {
+ <<
+ \new RhythmicStaff {
+ c'2
+ c'16 c'16 c'16 c'16
+ \times 4/5 {
+ c'16 c'16 c'16 c'16 c'16
+ }
}
- }
- \new RhythmicStaff {
- \times 8/9 {
- c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ \new RhythmicStaff {
+ \times 8/9 {
+ c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Score
+ proportionalNotationDuration = #(ly:make-moment 1 20)
+ \override SpacingSpanner #'uniform-stretching = ##t
}
}
->>
+}
@end lilypond
Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
partitura completa. Sin embargo, podemos sobreescribir este
comportamiento y activar distintas posibilidades de espaciado en
distintos lugares de la partitura. Lo hacemos con la instrucción
-@code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva} para más
-información.
+@code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
+para más información.
A continuación examinamos los efectos del grabador
@code{Separating_line_group_engraver} y veremos por qué las partituras
proporcionales con frecuencia eliminan este grabador. El ejemplo
siguiente muestra que hay una pequeña cantidad de espacio
-@qq{preparatorio} justo antes de la primera nota de cada sistema.
+@qq{preliminar} justo antes de la primera nota de cada sistema.
@lilypond[quote,verbatim,ragged-right]
\paper {
@end lilypond
-Esta cantidad de espacio preparatorio es la misma ya sea después de
+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
@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.
+segunda página (o tercera, o cuarta@dots{}). 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
}
@end lilypond
+
@noindent
Todas las dimensiones de disposición se muestran en espacios de
pentagrama, independientemente de las unidades especificadas en los
@seealso
+Referencia de la notación:
@ref{Establecer el tamaño del pentagrama}.
Fragmentos de código:
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{Formateo de las páginas}.
+@ref{Disposición de la página}.
Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
@example
\paper @{
- between-system-padding = #0.1
- between-system-space = #0.1
+ system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
ragged-last-bottom = ##f
ragged-bottom = ##f
@}
@lilypond[verbatim,quote,relative=1]
e4 c g\f c
-\override DynamicText #'extra-offset = #'( -2.2 . 2.0)
-e4 c g\f c
+e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
@end lilypond
@item
Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
-Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}. El
-ejemplo siguiente ilustra el espaciado predeterminado:
+Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
+El ejemplo siguiente ilustra el espaciado predeterminado:
@lilypond[verbatim,quote]
\score {
@seealso
Referencia de la notación:
-@ref{Formateo de las páginas},
+@ref{Disposición de la página},
@ref{Cambiar el espaciado horizontal}.
Fragmentos de código: