@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: b446ebc24f8d43acb323818988fe8b1d8072afc8
+ Translation of GIT committish: 5e9d7b07e1da12e32ae7be0253b22cb28cf2fe58
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.39"
+@c \version "2.14.0"
@node Problemas de espaciado
@chapter Problemas de espaciado
@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{Diposición de la partitura}.
+@ref{Disposición de la partitura}.
@menu
-* Disposición de la página::
-* Disposición de la partitura::
-* Saltos::
-* Espaciado vertical::
-* Espaciado horizontal::
-* Encajar la música en menos páginas::
+* Disposición de la página::
+* Disposición de la partitura::
+* Saltos::
+* Espaciado vertical::
+* Espaciado horizontal::
+* Encajar la música en menos páginas::
@end menu
bloque @code{\paper}.
@menu
-* El bloque \paper::
-* Tamaño del papel y escalado automático::
-* Variables de espaciado de \paper verticales fijas::
-* Variables de espaciado de \paper verticales flexibles::
-* Variables de espaciado de \paper horizontales::
-* Otras variables de \paper::
+* 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
@}
@end example
-Los sufijos de unidades que esan disponibles son @code{\mm},
-@code{\cm}, @code{\in} y @code{\pt}. Por claridad, al usar
-milímetros, se suele escribir el sufijo @code{\mm} aunque no es
-necesario técnicamente.
+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:
@seealso
Referencia de la notación:
-@ref{Encabezamientos pies y títulos personalizados}.
+@ref{Tamaño del papel y escalado automático},
+@ref{Encabezamientos pies y títulos personalizados},
+@ref{El bloque \layout}.
+
+Archivos instalados:
+@file{ly/paper-defaults-init.ly}.
@node Tamaño del papel y escalado automático
@funindex \paper
@menu
-* Fijar el tamaño del papel::
-* Escalado automático al tamaño del papel::
+* Fijar el tamaño del papel::
+* Escalado automático al tamaño del papel::
@end menu
@end example
@seealso
+Referencia de la notación:
+@ref{Escalado automático al tamaño del papel}.
+
Archivos instalados:
@file{scm/paper.scm}.
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 @code{paper-height} o de @code{paper-width},
+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}. Las dimensiones
+@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}.
+@code{short-indent} (véase
+@ref{Variables de espaciado de \paper horizontales}).
-Los valores predeterminados para estas dimentiones están fijados en el
+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
es @code{210\mm}.
@seealso
+Referencia de la notación:
+@ref{Variables de espaciado de \paper verticales fijas},
+@ref{Variables de espaciado de \paper horizontales}.
+
Archivos de inicio:
@file{ly/paper-defaults-init.ly},
@file{scm/paper.scm}.
@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}.
Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
@menu
-* Estructura de las listas-A de espaciado vertical flexible::
-* Lista de veriables de espaciado de \paper verticales flexibles::
+* Estructura de las listas-A de espaciado vertical flexible::
+* Lista de variables de espaciado de \paper verticales flexibles::
@end menu
@itemize
@item
-@code{padding} (relleno):
-mínimo espacio vertical vacío necesario entre dos elementos, medido en
-espacios de pentagrama. Se puede pensar como la altura mínima de un
-rectángulo invisible que abarca desde el punto más a la izquierda
-hasta el situado más a la derecha de los elementos combinados.
-
-@item
-@code{space} (espacio):
+@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.
nivel jerárquico superior) es su punto más alto, y el punto de
referencia de un sistema es el centro vertical del @code{StaffSymbol}
más cercano (incluso si se trata de una línea que no es un pentagrama,
-como un contexto @code{Lyrics}). Los valores de @code{space} menores
+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}.
significativos, porque la distancia resultante nunca será menor de
@code{padding}.
+@c TODO: explain skylines somewhere and xref to it from here.
+
+@item
+@code{padding} (relleno):
+mínimo espacio vertical vacío necesario entre los rectángulos
+circundantes (o las líneas de horizonte) de los dos elementos,
+medido en espacios de pentagrama.
+
@item
@code{stretchability} (ampliabilidad):
medida sin unidades de la propensión relativa de esta dimensión a
Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
desencadena un error de programación y se ignora, pero se puede usar
@code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
-fija un valor, el valor predeterminado se establece a @code{space}.
+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{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
+(@code{basic-distance}@tie{}@minus{}@tie{}@code{minimum-distance}).
@end itemize
@itemize
@item
-@code{space},
+@code{basic-distance},
@item
@code{minimum-distance}, y
@example
\paper @{
- system-system-spacing #'space = #8
+ system-system-spacing #'basic-distance = #8
score-system-spacing =
- #'((padding . 1)
- (space . 12)
+ #'((basic-distance . 12)
(minimum-distance . 6)
+ (padding . 1)
(stretchability . 12))
@}
@end example
-@node Lista de veriables de espaciado de \paper verticales flexibles
-@unnumberedsubsubsec Lista de veriables de espaciado de @code{\paper} verticales flexibles
+@node Lista de variables de espaciado de \paper verticales flexibles
+@unnumberedsubsubsec Lista de variables de espaciado de @code{\paper} verticales flexibles
@translationof List of flexible vertical spacing \paper variables
Los nombres de estas variables siguen el formato
@ref{Escalado automático al tamaño del papel}.}
@menu
-* Variables de \paper para la anchura y los márgenes::
-* Variables de \paper para el modo de doble cara::
-* Variables de \paper para desplazamientos y sangrados::
+* 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
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 horizonrales, sí influye sobre la variable
+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{left-margin} como @code{right-margin} están sin fijar, entonces
los márgenes se actualizan para centrar los sistemas automáticamente
sobre la página. Véase también @code{check-consistency}.
+Esta variable también se puede fijar dentro de un bloque @code{\layout}.
@item left-margin
@funindex left-margin
Margen entre el extremos izquierdo de la página y el comienzo de las
líneas del pentagrama en los sistemas sin sangrado. Si el tamaño del
-papel se midifica, el valor predeterminado de esta dimensión se escala
+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
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
-midifica, el valor predeterminado de esta dimentión se escala de
+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}, 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 sitemas se salgan del
+cualquier inconsistencia y se permite que los sistemas se salgan del
borde del papel.
@item ragged-right
@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}.
@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 indent
@funindex indent
-The level of indentation for the first system in a score. If the
-paper size is modified, this dimension's default value is scaled
-accordingly. This variable can also be set in a @code{\layout}
-block.
+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
@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}.
@translationof Other \paper variables
@menu
-* Variables de \paper para los saltos de línea::
-* Variables de \paper para los saltos de página::
-* Variables de \paper para la numeración de las páginas::
-* Variables de \paper diversas::
+* 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
@table @code
+@cindex números de página, automáticos
@item auto-first-page-number
@funindex auto-first-page-number
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á 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
Archivos de inicio:
@file{ly/paper-defaults-init.ly}.
+@knownissues
+Los números de página impares siempre están a la derecha.
+Si quiere que la música comience en la página 1 debe haber
+una página en blanco en el reverso de la página de cubierta
+de manera que la página 1 esté en el lado derecho.
@node Variables de \paper diversas
@unnumberedsubsubsec Variables de @code{\paper} diversas
el bloque @code{\layout}.
@menu
-* El bloque \layout::
-* Establecer el tamaño de los pentagramas::
+* El bloque \layout::
+* Establecer el tamaño del pentagrama::
@end menu
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
-ecríbalas dentro de un bloque @code{\layout} dentro del bloque
+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:
@end itemize
La función @code{layout-set-staff-size} se estudia en la sección
-siguiente, @ref{Ajustar el tamaño del pentagrama}. Las modificaciones
-de contexto se estudian en un capítulo distinto; véase @ref{Modificar
-los complementos de contexto} y @ref{Cambiar los ajustes
-predeterminados de contexto}. Las variables de @code{\paper} que
-pueden aparecer dentro de un bloque @code{\layout} son:
+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{ragged-right}
-@item @code{ragged-last}
-@item @code{indent}
-@item @code{short-indent}
-@item @code{system-count}
+
+@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.0\cm
+ indent = 2\cm
\context @{
\StaffGroup
- \override StaffGrouper #'staff-staff-spacing #space = #8
+ \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
@}
\context @{
\Voice
- \override TextScript #'padding = #1.0
+ \override TextScript #'padding = #1
\override Glissando #'thickness = #3
@}
@}
@seealso
Referencia de la notación:
-@ref{Cambiar los ajustes predeterminados de contexto}.
+@ref{Cambiar los valores por omisión de los contextos}.
Fragmentos de código:
@rlsr{Spacing}.
-@node Establecer el tamaño de los pentagramas
-@subsection Establecer el tamaño de los pentagramas
+@node Establecer el tamaño del pentagrama
+@subsection Establecer el tamaño del pentagrama
@translationof Setting the staff size
@cindex tipografía, fijar el tamaño de
partitura, use
@example
\score@{
- ...
- \layout@{
- #(layout-set-staff-size 15)
+ @dots{}
+ \layout @{
+ #(layout-set-staff-size 15)
@}
@}
@end example
@translationof Breaks
@menu
-* Saltos de línea::
-* Saltos de página::
-* Saltos de página óptimos::
-* Paso de página óptimo::
-* Saltos de página mínimos::
-* Saltos de línea explícitos::
-* Utilizar una voz adicional para los saltos de línea::
+* Saltos de línea::
+* Saltos de página::
+* Saltos de página óptimos::
+* Paso de página óptimo::
+* Saltos de página mínimos::
+* Saltos de línea explícitos::
+* Utilizar una voz adicional para los saltos de línea::
@end menu
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
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
@seealso
+Referencia de la notación:
+@ref{Variables de \paper para los saltos de línea}.
+
Fragmentos de código:
@rlsr{Spacing}.
@rinternals{LineBreakEvent}.
-@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,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}.
-
-
@node Saltos de página
@subsection Saltos de página
@translationof Page breaking
@code{ragged-bottom} y @code{ragged-last-bottom}. Si están
establecidos a @code{##t} los sistemas de todas las páginas o sólo de
la última página, respectivamente, no se verán justificados
-verticalmente.
-
-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}.
\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 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 }
- }
+ \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
directamente entremezclado dentro del código de notas.
@example
+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
disposición de los saltos.
@lilypond[quote,verbatim]
+music = \relative c'' { c4 c c c }
+
\score {
\new Staff <<
\new Voice {
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 }
+ \repeat unfold 2 { \music }
+ \repeat unfold 3 { \music }
+ \repeat unfold 6 { \music }
+ \repeat unfold 5 { \music }
}
>>
}
@ref{Espaciado vertical}.
@lilypond[quote,verbatim]
+music = \relative c'' { c4 c c c }
+
\score {
\new Staff <<
\new Voice {
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 }
+ \repeat unfold 2 { \music }
+ \repeat unfold 3 { \music }
+ \repeat unfold 6 { \music }
+ \repeat unfold 5 { \music }
}
>>
}
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::
+* Espaciado vertical flexible dentro de los sistemas::
+* Posicionamiento explícito de los pentagramas y los sistemas::
+* Evitar las colisiones verticales::
@end menu
entre las pautas.
Observe que los mecanismos de espaciado estudiados en esta sección
-solamente controlan el espaciado vertical de pas pautas y líneas que
+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::
+* Propiedades de espaciado dentro de los sistemas::
+* Espaciado de pautas no agrupadas::
+* Espaciado de pautas agrupadas::
@end menu
@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
donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
elementos que se van a espaciar. Observe que @code{@var{elemento2}}
no está necesariamente por debajo de @code{@var{elemento1}}; por
-ejemplo, @code{nonstaff-relatedstaff-spacing} mide hadcia arriba a
+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}.
de estos puntos de referencia:
@lilypond[quote,noragged-right,line-width=110\mm]
-#(define zero-space '((padding . -inf.0) (space . 0)))
+#(define zero-space '((padding . -inf.0) (basic-distance . 0)))
alignToZero = \with {
\override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
\context { \Dynamics \alignToZero }
\context { \FiguredBass \alignToZero }
\context { \Lyrics \alignToZero }
- \context { \NoteNames \alignToZero }
- \context { \ChordNames \alignToZero \lowerCaseChords }
+ \context { \NoteNames \alignToZero \staffAffinityDown }
+ \context { \ChordNames \alignToZero
+ \staffAffinityDown
+ \lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
\override BarLine #'stencil = ##f
\new RhythmicStaff {
\set RhythmicStaff.instrumentName = #"baseline "
\textLengthOn
- \labelContext "ChordNames" s1 |
- \labelContext "NoteNames" s1 |
+ \labelContext "ChordNames " s1 |
+ \labelContext "NoteNames " s1 |
\labelContext "Lyrics" s1 |
}
\new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
\set RhythmicStaff.instrumentName = #"vertical center "
\labelContext "Dynamics" s1*3
}
- \new Dynamics { s2\mp s\fp }
+ \new Dynamics { s1\mp s\fp }
>>
%% The reference point for FiguredBass is its highest point
@end lilypond
Cada una de las propiedades de grob del espaciado vertical (excepto
-@code{staff-affinity}) se almacena como una lista-A (lista
-asociativa), y todas usan la misma estructura de lista-A que las
+@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}
no dentro de un bloque @code{\paper}.
El ejemplo que sigue muestra las dos maneras en que pueden modificarse
-estas listas-A. La primera declaración ctualiza un par clave-valor de
+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 #'staff-staff-spacing #'space = #10
+ \override VerticalAxisGroup #'default-staff-staff-spacing
+ #'basic-distance = #10
@} @{ @dots{} @}
\new Staff \with @{
- \override VerticalAxisGroup #'staff-staff-spacing =
- #'((padding . 1)
- (space . 10)
+ \override VerticalAxisGroup #'default-staff-staff-spacing =
+ #'((basic-distance . 10)
(minimum-distance . 9)
+ (padding . 1)
(stretchability . 10))
@} @{ @dots{} @}
@end example
\layout @{
\context @{
\Staff
- \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
+ \override VerticalAxisGroup #'default-staff-staff-spacing
+ #'basic-distance = #10
@}
@}
@end example
@rinternals{Contexts}.
-@subsubheading Propieades del grob @code{VerticalAxisGroup}
+@subsubheading Propiedades del grob @code{VerticalAxisGroup}
Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
instrucción @code{\override} en el nivel de @code{Staff} (o
@table @code
@item staff-staff-spacing
-Distancia entre la pauta actual y la pauta que está justo por debajo
+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. Esto susituye a cualquier ajuste
-heredado del grob @code{StaffGrouper} del grupo de pautas contenedor,
-si existe. Si no está fijado, y no hay ninguna propiedad de
-@code{StaffGrouper} que heredar, se usa la propiedad
-@code{default-staff-staff-spacing}.
+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
-Ajustes que utilizar para @code{staff-staff-spacing} cuando está sin
-establecer. Se aplica a las pautas no agrupadas y a las pautas
-agrupadas que no heredan los ajustes del grob @code{StaffGrouper}.
+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
para una pauta hace que se le trate como una línea que no es una
pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
una línea que no es una pauta hace que se trate como una pauta.
-
-@c TODO: verify last clause below ("even if other...")
+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
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
@item staff-staff-spacing
Distancia entre pautas consecutivas dentro del grupo de pautas actual.
La propiedad @code{staff-staff-spacing} del grob
-@code{VerticalAxisGroup} de una pauta individual se usará en su lugar
-para cualquier pauta que esté dentro del grupo que tiene el valor
-fijado. Véase también @code{default-staff-staff-spacing}.
+@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á
una o más líneas que no son pautas (tales como @code{Lyrics}) entre
las dos pautas. No se aplica al pentagrama o pauta inferior de un
sistema. La propiedad @code{staff-staff-spacing} del grob
-@code{VerticalAxisGroup} de una pauta individual se usará en su lugar
-para cualquier pauta dentro del grupo que tenga el valor fijado.
-Véase también @code{default-staff-staff-spacing}.
+@code{VerticalAxisGroup} de una pauta individual se puede
+sobreescribir con distintos ajustes de espaciado para dicha
+pauta.
@end table
@seealso
-Archivos de inicio:
-@file{ly/engraver-init.ly},
-@file{scm/define-grobs.scm}.
+Referencia de la notación:
+@ref{Variables de espaciado de \paper verticales flexibles},
+@ref{Modificación de las listas-A}.
Referencia de funcionamiento interno:
@rinternals{Contexts},
@rinternals{VerticalAxisGroup},
@rinternals{StaffGrouper}.
+Archivos de inicio:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
@node Espaciado de pautas no agrupadas
@unnumberedsubsubsec Espaciado de pautas no agrupadas
@itemize
@item Propiedades de @code{VerticalAxisGroup}:
@itemize
+@item @code{default-staff-staff-spacing}
@item @code{staff-staff-spacing}
@end itemize
@end itemize
Estas propiedades de grob se describen individualmente más arriba;
-véase @ref{Propiedades de espaciado dentro de un sistema}.
+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{staff-staff-spacing} puede afectar al espaciado de pautas no
-agrupadas:
+@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 #'staff-staff-spacing =
- #'((padding . 1)
- (space . 8)
- (minimum-distance . 7))
+ \override VerticalAxisGroup #'default-staff-staff-spacing =
+ #'((basic-distance . 8)
+ (minimum-distance . 7)
+ (padding . 1))
}
}
-\new StaffGroup <<
- % The very low note here needs more room than 'space can
- % provide, so the distance between this staff and the next is
- % determined by 'padding.
+<<
+ % 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, 'space provides enough room, and there is no need to
- % compress the space (towards 'minimum-distance) to make room
- % for anything else on the page, so the distance between this
- % staff and the next is determined by 'space.
+ % 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 'space is 0.
+ % collide. The lowest acceptable value for 'basic-distance is 0.
\new Staff \with {
- \override VerticalAxisGroup #'staff-staff-spacing =
- #'((padding . -10)
- (space . 3.5))
+ \override VerticalAxisGroup #'default-staff-staff-spacing =
+ #'((basic-distance . 3.5)
+ (padding . -10))
} { \clef bass g2 r | }
\new Staff { \clef bass g2 r | }
>>
@item Propiedades de @code{VerticalAxisGroup}:
@itemize
@item @code{staff-staff-spacing}
-@item @code{default-staff-staff-spacing}
@end itemize
@item Propiedades de @code{StaffGrouper}:
@itemize
@end itemize
Estas propiedades de grob se describen individualmente más arriba;
-véase @ref{Propiedades de espaciado dentro de un sistema}.
+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:
\context {
\Score
\override StaffGrouper #'staff-staff-spacing #'padding = #0
- \override StaffGrouper #'staff-staff-spacing #'space = #1
+ \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
}
}
<<
\new PianoStaff \with {
- \override StaffGrouper #'staffgroup-staff-spacing #'space = #20
+ \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
} <<
\new Staff { c'1 }
\new Staff { c'1 }
@end lilypond
@seealso
-Installed Files:
+Archivos de inicio:
@file{scm/define-grobs.scm}.
-Snippets:
+Fragmentos de código:
@rlsr{Spacing}.
-Internals Reference:
+Referencia de funcionamiento interno:
@rinternals{VerticalAxisGroup},
@rinternals{StaffGrouper}.
@end itemize
Estas propiedades de grob se describen individualmente más arriba;
-véase @ref{Propiedades de espaciado dentro del sistema}.
+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
\new StaffGroup
<<
\new Staff \with {
- \override VerticalAxisGroup #'staff-staff-spacing = #'((space . 30))
+ \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
} { c'1 }
\new Lyrics \with {
\override VerticalAxisGroup #'staff-affinity = #UP
@subsection Posicionamiento explícito de los pentagramas y los sistemas
@translationof Explicit staff and system positioning
-Una forma de comprender los ajustes de @code{VerticalAxisGroup} y de
-@code{\paper} que se han explicado en las dos secciones precedentes es
-como una colección de distintos ajustes que conciernen principalmente
-a la cantidad de relleno vertical entre distintos pentagramas y
-sistemas que ocupan toda la página.
-@c running down the page.
+Una forma de entender los mecanismos del espaciado vertical
+flexible que se han explicado más arriba es como una
+colección de ajustes que controlan la cantidad de relleno
+vertical entre los pentagramas y los sistemas.
Es posible enfrentarse al espaciado vertical de una forma distinta
utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
-Cuando los ajustes de @code{VerticalAxisGroup} y de @code{\paper}
+Mientras que los mecanismos del espaciado vertical flexible
especifican relleno vertical, @code{NonMusicalPaperColumn
-#'line-break-system-details} especifica posiciones verticales exactas
-sobre la página.
+#'line-break-system-details} puede especificar posiciones verticales
+exactas sobre la página.
@code{NonMusicalPaperColumn #'line-break-system-details} acepta una
lista asociativa de tres ajustes diferentes:
#'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-distances . (15)))
\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
+ #'line-break-system-details #'((X-offset . 20)
+ (Y-offset . 40)
(alignment-distances . (15)))
@end example
@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 {
@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 {
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 {
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 {
@cindex espaciado horizontal
@menu
-* Panorámica del espaciado horizontal::
-* Área de espaciado nueva::
-* Cambiar el espaciado horizontal::
-* Longitud de la línea::
-* Notación proporcional::
+* Panorámica del espaciado horizontal::
+* Área de espaciado nueva::
+* Cambiar el espaciado horizontal::
+* Longitud de la línea::
+* Notación proporcional::
@end menu
@rinternals{StaffSpacing},
@rinternals{NonMusicalPaperColumn}.
+Ensayo sobre grabado musical automatizado:
+@ressay{Espaciado óptico}.
+
@knownissues
@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
detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
@menu
-* Mostrar el espaciado::
-* Cambiar el espaciado::
+* Mostrar el espaciado::
+* Cambiar el espaciado::
@end menu
@example
\paper @{
- system-system-spacing = #'((padding . 0) (space . 0.1))
+ system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
ragged-last-bottom = ##f
ragged-bottom = ##f
@}