1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond.tely
4 Translation of GIT committish: 7c57f1469e057f25f5d7a7b75c18f33bb4e5bed9
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
13 @chapter Spacing issues
15 La disposición global sobre el papel viene determinada por tres
16 factores: el diseño de página, los saltos de línea y el espaciado.
17 Estos factores influyen entre sí. La elección de uno u otro espaciado
18 determina qué densidad termina teniendo cada sistema de música. Esto
19 influye en el lugar en que se eligen los saltos de línea, y en último
20 término, en el número de páginas que tiene una partitura.
22 Considerado globalmente, este proceso se produce en cuatro fases: en
23 primer lugar se eligen unas distancias elásticas o @q{muelles},
24 basados en la duración de las figuras. Se prueban todas las
25 combinaciones de saltos de línea posibles, y para cada una de ellas se
26 calcula una puntuación de @q{maldad}. Después se hace una estimacion
27 de la altura de cada uno de los posibles sistemas. Finalmente se
28 selecciona una combinación de saltos de página y de línea de tal forma
29 que ni el espaciado horizontal ni el vertical estén demasiado
30 estrechos ni estirados.
32 Los ajustes que influyen en la disposición se pueden agrupar en dos
33 bloques. El bloque @code{\paper @{...@}} se sitúa fuera de los
34 bloques @code{\score @{...@}} y contiene ajustes relacionados con el
35 documento como un todo. El bloque @code{\layout @{...@}} se sitúa
36 dentro de un bloque @code{\score @{...@}} y contiene ajustes para
37 dicha partitura en concreto. Si sólo tiene un bloque @code{\score
38 @{...@}}, los dos tienen el mismo efecto. En general las
39 instrucciones que se muestran en este capítulo se pueden poner en
40 cualquiera de los dos.
47 * Horizontal spacing::
48 * Fitting music onto fewer pages::
53 @section Paper and pages
55 Esta sección se ocupa de los límites que definen la zona del papel en
56 que se puede imprimir la música.
65 @subsection Paper size
67 @cindex papel, tamaño del
68 @cindex página, tamaño de la
70 Existen dos funciones para cambiar el tamaño del papel:
71 @code{set-default-paper-size} (establecer tamaño de página
72 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
73 @code{set-default-paper-size} se debe poner en el ámbito del nivel
74 superior, y @code{set-paper-size} se debe poner en un bloque
78 #(set-default-paper-size "a4")
83 #(set-paper-size "a4")
88 @code{set-default-paper-size} establece el tamaño de todas las
89 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
90 de las páginas a las que se aplica el bloque @code{\paper}. Por
91 ejemplo, si el bloque @code{\paper} está al principio del archivo,
92 aplica el tamaño de papel a todas las páginas. Si el bloque
93 @code{\paper} está dentro de un bloque @code{\book}, entonces el
94 tamaño del papel sólo se aplica a ese libro.
96 Se encuentran disponibles los tamaños de papel más comunes, entre
97 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
98 también como tabloide). Están contemplados muchos más tamaños de papel
99 de forma predeterminada. Para ver más detalles, consulte
100 @file{scm/@/paper@/.scm} y busque la definición de @code{paper-alist}.
102 @c TODO add a new appendix for paper sizes (auto-generated) -pm
104 @warning{El tamaño predeterminado del papel es @code{a4}.}
106 Se pueden añadir tamaños adicionales editando la definición de
107 @code{paper-alist} en el archivo de inicio @file{scm/@/paper@/.scm},
108 aunque se sobreescribirán en la siguiente reinstalación del programa.
112 @cindex horizontal, papel
114 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
115 @code{set-default-paper-size}, las páginas se giran 90 grados y se
116 establecen en consonancia un longitud mayor de las líneas.
119 #(set-default-paper-size "a6" 'landscape)
122 al establecer el tamaño del papel se ajustan un cierto número de
123 variables del @code{\paper}, tales como los márgenes. Para utilizar
124 un tamaño de página determinado con variables de @code{\paper}
125 alteradas, establezca el tamaño de página antes de dar valores a las
132 @file{scm/@/paper@/.scm}.
134 Fragmentos de código:
138 @node Page formatting
139 @subsection Page formatting
141 Los márgenes, encabezamientos y pies de página y otras variables de
142 diseño de página se establecen automáticamente de acuerdo con el
145 Esta sección relaciona y describe cierto número de variables del papel
146 que se pueden alterar.
149 * Vertical dimensions::
150 * Horizontal dimensions::
151 * Other layout variables::
155 @node Vertical dimensions
156 @unnumberedsubsubsec Vertical dimensions
158 Estas variables se utilizan para establecer las diferentes dimensiones
159 verticales de la página:
165 @item after-title-space
166 @funindex after-title-space
168 Espacio entre el título y el primer sistema.
169 Predeterminado: @code{5\mm}.
171 @item before-title-space
172 @funindex before-title-space
174 Distancia entre el último sistema de la pieza anterior y el título de
175 la siguiente. Predeterminado: @code{10\mm}.
177 @item between-system-padding
178 @funindex between-system-padding
180 Distancia mínima que se deja siempre entre el símbolo más bajo de un
181 sistema y el más alto del siguiente. Predeterminado: @code{4\mm}.
183 El aumento de este valor separa más los sistemas cuyas cajas
184 circundantes casi se tocan.
186 @item between-system-space
187 @funindex between-system-space
189 Distancia entre los sistemas. Es la distancia ideal desde el centro
190 del pentagrama inferior de un sistema hasta el centro del pentagrama
191 superior del sistema siguiente. Predeterminado: @code{20\mm}.
193 El aumento de este valor da a la página un aspecto más regular a costa
194 de utilizar más espacio vertical.
196 @item between-title-space
197 @funindex between-title-space
199 Distancia entre títulos consecutivos (p.ej., el título del libro y el
200 título de una pieza). Predeterminado: @code{2\mm}.
203 @funindex bottom-margin
205 Margen entre el pie de página y la parte inferior del papel.
206 Predeterminado: @code{6\mm}.
208 @item foot-separation
209 @funindex foot-separation
211 Distancia entre el sistema situado más abajo y el pie de página.
212 Predeterminado: @code{4\mm}.
214 @item head-separation
215 @funindex head-separation
217 Distancia entre el sistema situado más arriba y el encabezamiento de
218 la página. Predeterminado: @code{4\mm}.
221 @funindex page-top-space
223 Distancia desde la parte alte del área imprimible hasta el centro del
224 primer pentagrama. Esto sólo funciona para pentagramas con una
225 anchura vertical pequeña. Los pentagramas grandes se establecen con
226 la parte alta de su caja circundante alineada a la parte alta del área
227 imprimible. Predeterminado: @code{12\mm}.
230 @funindex paper-height
232 Altura de la página. Predeterminado: altura del tamaño actual del
233 papel. Para ver más detalles, consulte @ref{Paper size}.
238 Margen entre el encabezamiento y la parte alta del papel.
239 Predeteminado: @code{5\mm}.
246 El encabezamiento y el pie se crean por parte de las funciones
247 @code{make-footer} y @code{make-header}, definidas dentro de
248 @code{\paper}. Las implementaciones predeterminadas están en
249 @file{ly/paper-defaults.ly} y en @file{ly/titling-init.ly}.
251 El diseño de la página en sí está realizado por dos funciones dentro
252 del bloque @code{\paper}, @code{page-music-height} y
253 @code{page-make-stencil}. El primero informa al algoritmo de saltos
254 de línea de la cantidad de espacio que está disponible en una página,
255 y el último crea la propia página dado el sistema que poner sobre
258 Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
259 caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
260 están definidas en @file{paper-defaults.ly} con valores en milímetros.
261 Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
265 #(define bottom-margin (* 2 cm))
277 ragged-last-bottom = ##t
281 Este segundo ejemplo centra los números de página en la parte baja del
286 print-page-number = ##t
287 print-first-page-number = ##t
288 oddHeaderMarkup = \markup \fill-line @{ " " @}
289 evenHeaderMarkup = \markup \fill-line @{ " " @}
290 oddFooterMarkup = \markup @{ \fill-line @{
291 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
292 \fromproperty #'page:page-number-string @} @}
293 evenFooterMarkup = \markup @{ \fill-line @{
294 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
295 \fromproperty #'page:page-number-string @} @}
302 Referencia de la notación:
303 @ref{Vertical spacing between systems}.
305 Fragmentos de código:
309 @node Horizontal dimensions
310 @unnumberedsubsubsec Horizontal dimensions
312 @warning{Si se establece @code{paper-width} manualmente,
313 @code{line-width}, @code{left-margin}, @code{indent} y
314 @code{short-indent} pueden necesitar ajustarse también.}
316 Existe un cierto número de variables que determinan las dimensiones
317 horizontales de una página:
321 @item horizontal-shift
322 @funindex horizontal-shift
324 Medida en que todos los sistemas (incluidos los títulos de cabecera y
325 los separadores de sistemas) se desplazan a la derecha.
326 Predeterminado: @code{0.0}.
331 Nivel de sangrado para el primer sistema de una partitura.
332 Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
333 viene determinado por @code{set-default-paper-size} o
334 @code{set-paper-size}.
337 @funindex left-margin
339 El margen entre el límite izquierdo del papel y el comienzo de los
340 sistemas. Predeterminado: @code{10\mm}, tal y como se define por
341 parte de @code{set-default-paper-size} o de @code{set-paper-size}.
346 Ancho de los sistemas. Predeterminado: @code{paper-width} menos
347 @code{20\mm}, como viene determinado por @code{set-default-paper-size}
348 o por @code{set-paper-size}.
351 @funindex paper-width
353 Ancho de la página. Predeterminado: la anchura del tamaño actual del
354 papel. Para ver más detalles, consulte @ref{Paper size}.
357 @funindex short-indent
359 Nivel de sangrado para todos los sistemas de una partitura excepto el
360 primero. Predeterminado: @code{0}, como se determina en
361 @code{set-default-paper-size} o en @code{set-paper-size}.
368 Fragmentos de código:
374 La opción @code{right-margin} está definida pero no establece aún el
375 margen derecho. El valor del margen derecho se debe definir ajustando
376 los valores de @code{left-margin} y de @code{line-width}.
379 @node Other layout variables
380 @unnumberedsubsubsec Other layout variables
382 Estas variables se pueden usar para ajustar el diseño de la página en
387 @item auto-first-page-number
388 @funindex auto-first-page-number
390 EL algoritmo de división de páginas está afectado por el hecho de que
391 el número de la primera página sea par o impar. Si está establecido
392 al valor verdadero, el algoritmo de división de páginas decide si
393 comenzar con un número par o impar. Esto hace que el número de la
394 primera página se quede como está, o que se aumente en una unidad.
395 Predeterminado: @code{##f}.
399 FIXME: this variable is used, but I don't know what it does. -pm
400 @item blank-after-score-page-force
401 @funindex blank-after-score-page-force
407 @item blank-last-page-force
408 @funindex blank-last-page-force
410 Penalización por terminar la partitura en una página de numeración
411 impar. Predeterminado: @code{0}.
413 @item blank-page-force
414 @funindex blank-page-force
416 Penalización por tener una página en blanco en medio de una partitura.
417 Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
418 nunca considera la posibilidad de tener páginas en blanco en mitad de
419 una partitura. Predeterminado: @code{5}.
421 @item first-page-number
422 @funindex first-page-number
424 Valor del número de la primera página. Predeterminado: @code{#1}.
426 @item page-breaking-between-system-padding
427 @funindex page-breaking-between-system-padding
429 Engaña al divisor de páginas para que crea que
430 @code{between-system-padding} está establecido a algo distinto de lo
431 que está realmente. Por ejemplo, si esta variable se establece a algo
432 mucho mayor que @code{between-system-padding}, entonces el divisor de
433 páginas colocará menos sistemas en cada página. Predeterminado: no
439 Número de páginas que usar para una partitura. Predeterminado: sin
442 @item page-limit-inter-system-space
443 @funindex page-limit-inter-system-space
445 Si tiene un valor verdadero, limita el espacio entre los sistemas de
446 una página en la que sobra mucho espacio. Predeterminado: @code{##f}.
447 Para ver más detalles, consulte @ref{Vertical spacing between
450 @item page-limit-inter-system-space-factor
451 @funindex page-limit-inter-system-space-factor
453 Factor usado por @code{page-limit-inter-system-space}.
454 Predeterminado: @code{1.4}. Para ver más detalles, consulte
455 @ref{Vertical spacing between systems}.
457 @item page-spacing-weight
458 @funindex page-spacing-weight
460 Importancia relativa del espacio (vertical) de las páginas y el
461 espaciado (horizontal) de las líneas. Los valores altos hacen que el
462 espaciado de la página tenga más importancia. Predeterminado:
465 @item print-all-headers
466 @funindex print-all-headers
468 Si está establecido a un valor verdadero, imprime todas las cabeceras
469 para cada una de las @code{\score} en la salida impresa. Normalmente
470 sólo se imprimen las variables de encabezamiento de pieza y opus.
471 Predeterminado: @code{##f}.
473 @item print-first-page-number
474 @funindex print-first-page-number
476 Si está establecido a un valor verdadero, se imprime un número de
477 página en la primera página. Predeterminado: @code{##f}.
479 @item print-page-number
480 @funindex print-page-number
482 Si está establecido a un valor falso, no se imprimen los números de
483 página. Predeterminado: @code{##t}.
486 @funindex ragged-bottom
488 Si está establecido a un valor verdadero, los sistemas no ocuparán
489 verticalmente toda la altura de la página. Esto no afecta a la última
490 página. Predeterminado: @code{##f}.
492 Esto se debería establecer al valor verdadero para piezas que tienen
493 sólo dos o tres sistemas por página, por ejemplo partituras
497 @funindex ragged-last
499 Si está establecido a un valor verdadero, el último sistema de la
500 partitura no llenará la anchura de la línea. En su lugar, el últim
501 sistema termina en su longitud horizontal natural. Predeterminado:
504 @item ragged-last-bottom
505 @funindex ragged-last-bottom
507 Si está establecido a un valor falso, los sistemas se repartirán
508 verticalmente por toda la última página. Predeterminado: @code{##t}.
510 Las piezas que llenan generosamente dos o más páginas deberían tener
511 esto establecido al valor verdadero.
514 @funindex ragged-right
516 Si está establecido a un valor verdadero, los sistemas no llenarán el
517 ancho de línea disponible. En su lugar, los sistemas terminan en su
518 longitud horizontal natural. Predeterminado: @code{##f}.
520 Si la partitura sólo tiene un sistema, el valor predeterminado es
523 @item system-separator-markup
524 @funindex system-separator-markup
526 Objeto de marcado que se inserta entre los sistemas. Se suele usar
527 para partituras orquestales. Predeterminado: sin establecer.
529 Se ofrece la instrucción de marcado @code{\slashSeparator} como un
530 valor predeterminado apropiado, por ejemplo
532 @lilypond[quote,ragged-right]
533 #(set-default-paper-size "a6" 'landscape)
536 \relative { c1 \break c1 }
539 system-separator-markup = \slashSeparator
545 @funindex system-count
547 Cantidad de sistemas que usar por parte de la partitura.
548 Predeterminado: sin establecer.
555 Fragmentos de código:
561 El encabezamiento de página predeterminado pone el número de página y
562 el campo @code{instrument} del bloque @code{\header} sobre la misma
565 Los títulos de cabecera (tomados de la sección @code{\header@{@}}) se
566 tratan como un sistema, por lo que @code{ragged-bottom} y
567 @code{ragged-last-bottom} añaden espacio entre los títulos y el primer
568 sistema de la partitura.
572 @section Music layout
575 * Setting the staff size::
580 @node Setting the staff size
581 @subsection Setting the staff size
583 @cindex tipografía, establecer tamaño de
584 @cindex pentagrama, establecer tamaño de
585 @funindex layout file
587 El @strong{tamaño de pentagrama} predeterminado se establece en 20
588 puntos. Esto se puede modificar de dos maneras:
590 Para establecer globalmente el tamaño del pentagrama para todas las
591 partituras de un archivo (o en un bloque @code{book}, para ser
592 exactos), utilice @code{set-global-staff-size}.
595 #(set-global-staff-size 14)
599 Esto establece el tamaño global predeterminado a una altura de
600 pentagrama de 14pt y escala todas las tipografías de manera
603 Para establecer el tamaño del pentagrama de forma individual para cada
609 #(layout-set-staff-size 15)
614 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
615 distintos. Cada fuente tipográfica está afinada para un tamaño de
616 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
617 pesada, para que coincida con las líneas de pentagrama relativamente
618 más gruesas. Los tamaños de tipografía recomendados están
619 relacionados en la tabla siguiente:
622 @multitable @columnfractions .15 .2 .22 .2
624 @item @b{nombre de la fuente}
625 @tab @b{altura del pentagrama (pt)}
626 @tab @b{altura del pentagrama (mm)}
632 @tab partituras de bolsillo
657 @tab particellas estándar
668 @c modern rental material?
673 Estas tipografías están disponibles en cualquier tamaño. La propiedad
674 de contexto @code{fontSize} y la propiedad de disposición
675 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
676 afinar el tamaño de los pentagramas individuales. Los tamaños de
677 pentagrama individuales están en relación al tamaño global.
686 Referencia de la notación:
687 @ref{Selecting notation font size}.
689 Fragmentos de código:
695 @code{layout-set-staff-size} no cambia la distancia entre las líneas
700 @subsection Score layout
704 Mientras que @code{\paper} conteine ajustes relativos al formato de
705 página del documento completo, @code{\layout} contiene ajustes para la
706 disposición específica de cada partitura.
712 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
715 \override TextScript #'padding = #1.0
716 \override Glissando #'thickness = #3
724 Referencia de la notación:
725 @ref{Changing context default settings}.
727 Fragmentos de código:
737 * Optimal page breaking::
738 * Optimal page turning::
739 * Minimal page breaking::
741 * Using an extra voice for breaks::
746 @subsection Line breaking
748 @cindex saltos de línea
749 @cindex línea, saltos de
751 Normalmente los saltos de línea se determinan automáticamente. Se
752 eligen de forma que las líneas no aparezcan demasiado apretadas ni
753 demasiado sueltas, y que las líneas consecutivas tengan una densidad
754 similar. Ocasionalmente podemos querer sobreescribir los saltos
755 automáticos; podemos hacerlo especficando @code{\break}. Esto fuerza
756 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
757 pueden suceder al final de los compases @q{completos}, es decir, donde
758 no queda ninguna nota o grupo especial @q{colgando} por encima de la
759 línea divisoria. Si queremos poner un salto de línea donde no hay
760 línea divisoria, podemos forzar una barra de compás invisible
761 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
762 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
764 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
765 la barra divisoria en que se inserta.
767 Los ajustes más básicos que influyen sobre el espaciado de las líneas
768 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
769 @code{\layout}. Controlan el sangrado de la primera línea de música,
770 y la longitud de las líneas.
772 Si se establece @code{ragged-right} a verdadero en el bloque
773 @code{\layout}, los sistemas terminan en su longitud horizontal
774 natural, en lugar de distribuirse horizontalmente para llenar toda la
775 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
776 comprobación de lo apretado que es el espaciado natural.
778 @c TODO Check and add para on default for ragged-right
780 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
781 afecta sólo a la última línea de la pieza.
793 @cindex regular line breaks
794 @cindex four bar music.
796 Para saltos de línea a intervalos regulares utilice @code{\break}
797 separado mediante desplazamientos con @code{\skip} y repetidos con
798 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
799 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
800 compases, y sólo en dichos lugares:
803 << \repeat unfold 7 @{
804 s1 \noBreak s1 \noBreak
805 s1 \noBreak s1 \break @}
806 @emph{the real music}
811 Una configuración de división de líneas se puede guardar como archivo
812 @code{.ly} automáticamente. Ello permite que alineaciones verticales
813 se estiren para que encajen en las páginas durante una segunda
814 ejecución del proceso de formateo. Esta posibilidad es bastante
815 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
828 Referencia de funcionamiento interno:
829 @rinternals{LineBreakEvent}.
831 Fragmentos de código:
837 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
838 divisoria. Una nota colgando de una línea divisoria no es adecuada,
841 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
842 c4 c2 << c2 {s4 \break } >> % this does nothing
843 c2 c4 | % a break here would work
844 c4 c2 c4 ~ \break % as does this break
848 Esto se puede evitar eliminando el grabador
849 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
850 forzados manualmente breaks se tienen que añadir en paralelo con la
853 @lilypond[quote,ragged-right,verbatim]
855 \remove Forbid_line_break_engraver
857 c4 c2 << c2 {s4 \break } >> % now the break is allowed
862 De forma parecida, los saltos de línea están prohibidos normalmente
863 cuando las barras cruzan a las líneas divisorias. Este comportamiento
864 se puede modificar con el establecimiento de @code{\override Beam
869 @subsection Page breaking
871 Se puede sobreescribir el mecanismo predeterminado de salto de página
872 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
873 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
874 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
875 y prohíben, respectivamente, la eventualidad de un salto de página.
876 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
879 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
880 pueden insertar en el nivel más alto, entre las partituras y los
881 elementos de marcado situados en el nivel superior.
883 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
884 tienen el mismo efecto sobre el espaciado vertical:
885 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
886 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
887 la última página, respectivamente, no se verán justificados
890 Para ver más detalles, consulte @ref{Vertical spacing}.
892 Los saltos de página se calculan por medio de la función
893 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
894 de los saltos de página: @code{ly:optimal-breaking},
895 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
896 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
897 cambiar en el bloque @code{\paper}:
901 #(define page-breaking ly:page-turn-breaking)
905 @c TODO Check this -td
906 El antiguo algoritmo de división de páginas se llama
907 @code{optimal-page-breaks}. Si tiene problemas con los nuevos
908 divisores de página, puede habilitar el antiguo como forma de rodear
916 @funindex \noPageBreak
922 Fragmentos de código:
926 @node Optimal page breaking
927 @subsection Optimal page breaking
929 @funindex ly:optimal-breaking
931 La función @code{ly:optimal-breaking} es el método predeterminado de
932 LilyPond para determinar los saltos de página. Intenta hallar una
933 división de páginas que haga mínimos el apretujamiento y la
934 distensión, tanto horizontal como verticalmente. A diferencia de
935 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
941 Fragmentos de código:
945 @node Optimal page turning
946 @subsection Optimal page turning
948 @funindex ly:page-turn-breaking
950 Con frecuencia es necesario encontrar una configuración de división de
951 páginas de manera que haya un silencio al final de una página de cada
952 dos. De esta forma, el músico puede pasar la página sin perder notas.
953 La función @code{ly:page-turn-breaking} trata de encontrar una
954 división de páginas que haga mínimos el apretujamiento y el
955 estiramiento, pero con la restricción añadida de que sólo se permite
956 introducir vueltas de página en los lugares especificados.
958 Hay dos etapas en el uso de esta función de división de páginas. En
959 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
960 explicó en @ref{Page breaking}. Entonces debemos decirle a la función
961 dónde nos gustaría permitir los saltos de página.
963 Hay dos formas de conseguir la segunda tarea. Primero, podemos
964 especificar manualmente cada uno de los pasos de página potenciales,
965 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
968 Si esto es demasiado tedioso, podemos añadir un grabador
969 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
970 @code{Page_turn_engraver} analizará el contexto en biusca de secciones
971 sin notas (observe que no busca silencios, sino la ausencia de notas.
972 Se hace así para que la polifonía en un solo pentagrama con silencios
973 en una de las voces no arruine la labor del grabador
974 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
975 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
976 un @code{\allowPageTurn} en la última barra de compás de dicha
977 sección, a no ser que haya una barra @q{especial} de compás (como una
978 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
979 última barra @q{especial} de compás de la sección.
981 @funindex minimumPageTurnLength
982 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
983 @code{minimumPageTurnLength} para determinar qué longitud debe tener
984 una sección sin notas antesd e que se considere la posibilidad de un
985 paso de página. El valor predeterminado para
986 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
987 quiere inhabilitar las vueltas de página, puede establecerlo a algún
991 \new Staff \with @{ \consists "Page_turn_engraver" @}
994 R1 | % a page turn will be allowed here
996 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
997 R1 | % a page turn will not be allowed here
999 R1*2 | % a page turn will be allowed here
1004 @funindex minimumRepeatLengthForPageTurn
1005 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1006 primera y segunda vez. Sólo permite un pase de página durante la
1007 repetición si hay suficiente tiempo al principio y al final de la
1008 repetición para volver a pasar la página hacia atrás. El grabador
1009 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1010 página si la repetición es muy corta. Si establecemos la propiedad de
1011 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1012 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1013 repeticiones cuya duración sea mayor que este valor.
1015 Las instrucciones de paso de página, @code{\pageTurn},
1016 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1017 el nivel más elevado del código, entre las partituras y los elementos
1018 de marcado del nivel superior.
1025 @funindex \noPageTurn
1027 @funindex \allowPageTurn
1028 @code{\allowPageTurn}.
1033 Fragmentos de código:
1039 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1040 partitura. Si hay más de uno, se interferirán entre sí.
1043 @node Minimal page breaking
1044 @subsection Minimal page breaking
1046 @funindex ly:minimal-breaking
1048 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1049 para determinar los saltos de página: completa una página con tantos
1050 sistemas como sea posible antes de continuar con la siguiente. Así,
1051 puede preferirse para partituras con muchas páginas, donde las otras
1052 funciones de salto de página pueden resultar demasiado lentas o ávidas
1053 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1057 #(define page-breaking ly:minimal-breaking)
1064 Fragmentos de código:
1068 @node Explicit breaks
1069 @subsection Explicit breaks
1071 Lily a veces rechaza las instrucciones @code{\break} y
1072 @code{\pageBreak} explícitas. Hay dos instrucciones para
1073 sobreescribir este comportamiento:
1076 \override NonMusicalPaperColumn #'line-break-permission = ##f
1077 \override NonMusicalPaperColumn #'page-break-permission = ##f
1080 Cuando se sobreescribe el valor de @code{line-break-permission} a
1081 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1082 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1083 @code{page-break-permission} a falso, Lily inserta saltos de página en
1084 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1086 @lilypond[quote,verbatim]
1095 \override NonMusicalPaperColumn #'line-break-permission = ##f
1096 \override NonMusicalPaperColumn #'page-break-permission = ##f
1099 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1100 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1101 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1102 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1103 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1104 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1105 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1106 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1115 Fragmentos de código:
1119 @node Using an extra voice for breaks
1120 @subsection Using an extra voice for breaks
1122 La información sobre saltos de línea y de página suele aparecer
1123 directamente intermezclado dentro del código de notas.
1128 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1130 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1135 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1136 @code{\pageBreak}, pero mezcla la escritura de música con información
1137 que especifica cómo se debe disponer la música sobre la página.
1138 Podemos mantener la introducción de música y la información de saltos
1139 de línea y de página en dos lugares separados mediante la introducción
1140 de una voz adicional que contenga los saltos. Esta voz adicional
1141 contiene solamente desplazamientos o @q{skips} junto con los
1142 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1143 disposición de los saltos.
1145 @lilypond[quote,verbatim]
1155 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1156 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1157 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1158 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1164 Este patrón resulta especialmente útil cuando se sobreescribe
1165 @code{line-break-system-details} y las otras útiles (pero largas)
1166 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1167 @ref{Vertical spacing}.
1169 @lilypond[quote,verbatim]
1174 \overrideProperty "Score.NonMusicalPaperColumn"
1175 #'line-break-system-details #'((Y-offset . 0))
1178 \overrideProperty "Score.NonMusicalPaperColumn"
1179 #'line-break-system-details #'((Y-offset . 35))
1182 \overrideProperty "Score.NonMusicalPaperColumn"
1183 #'line-break-system-details #'((Y-offset . 70))
1186 \overrideProperty "Score.NonMusicalPaperColumn"
1187 #'line-break-system-details #'((Y-offset . 105))
1191 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1192 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1193 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1194 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1203 Referencia de la notación:
1204 @ref{Vertical spacing}.
1206 Fragmentos de código:
1210 @node Vertical spacing
1211 @section Vertical spacing
1213 @cindex espaciado vertical
1214 @cindex vertical, espaciado
1216 El espaciado vertical está controlado por tres factores: la cantidad
1217 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1218 la separación entre los sistemas, y la separación entre los
1219 pentagramas dentro de un sistema.
1222 * Vertical spacing inside a system::
1223 * Vertical spacing between systems::
1224 * Explicit staff and system positioning::
1225 * Two-pass vertical spacing::
1226 * Vertical collision avoidance::
1230 @node Vertical spacing inside a system
1231 @subsection Vertical spacing inside a system
1233 @cindex distancia entre pentagramas
1234 @cindex pentagrama, distancia entre los
1235 @cindex espacio entre pentagramas
1236 @cindex espacio dentro de los sistemas
1238 La altura de cad sistema se determina automáticamente. Para evitar
1239 que los pentagramas se superpongan unos encima de otros, se establecen
1240 algunas distancias mínimas. Al modificarlas, podemos poner los
1241 pentagramas más cerca unos de otros. Esto reduce el espacio que
1242 requiere cada sistema y puede resultar en la obtención de más sistemas
1245 Normalmente los pentagramas se apilan verticalmente. Para hacer que
1246 los pentagramas guarden una distancia, se rellena su tamaño vertical.
1247 Esto se hace con la propiedad @code{minimum-Y-extent}. Si se aplica a
1248 @rinternals{VerticalAxisGroup}, controla el tamaño de una línea
1249 horizontal, como un pentagrama o una línea de letra.
1250 @code{minimum-Y-extent} acepta una pareja de números, de forma que si
1251 queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
1252 . 4)} entonces podemos establecer
1255 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1259 Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
1260 pentagrama a cada lado de la tercera línea. El valor @code{(-3 . 3)}
1261 se interpreta como un intervalo, donde la línea central es el 0, por
1262 lo que el primer número es negativo en general. Los números no tienen
1263 que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
1264 debajo dándole el valor @code{(-6 . 4)}.
1266 Después de que se han determinado los saltos de página, se reevalúa el
1267 espaciado vertical dentrod e cada sistema para llenar la página de
1268 forma más regular; si una página tiene más espacio de sobra, se
1269 amplían los sistemas para poder llenar este espacio. La magnitud de
1270 esta ampliación se puede configurar a través de la propiedad
1271 @code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
1272 predeterminada, @code{max-stretch} se establece a cero, inhabilitando
1273 la ampliación. Para habilitar la ampliación, un valor prudente para
1274 @code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
1276 En ciertas situaciones, podemos querer ampliar la mayor parte de un
1277 sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si
1278 una parte de piano aparece en el medio de una partitura orquestal,
1279 podemos querer dejar los pentagramas de piano cercanos entre sí
1280 mientras se estira el resto de la partitura. Se puede usar la
1281 propiedad @code{keep-fixed-while-stretching} de
1282 @rinternals{VerticalAxisGroup} para conseguirlo. Cuando se establece
1283 al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
1284 de letra) se desplace en relación al que está directamente encima de
1285 él. En el ejemplo anterior, podríamos sobreescribir
1286 @code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
1287 pentagrama del piano:
1290 #(set-default-paper-size "a6")
1291 #(set-global-staff-size 14.0)
1295 ragged-last-bottom = ##f
1300 \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1307 \new Staff {c' d' e' f'}
1308 \new Staff {c' d' e' f'}
1309 \new Staff {c' d' e' f'}
1314 \new Staff {c' d' e' f'}
1316 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1323 \new Staff {c' d' e' f'}
1324 \new Staff {c' d' e' f'}
1331 La alineación vertical de los pentagramas está manejada por el objeto
1332 @code{VerticalAlignment}. Los parámetros de contexto que especifican
1333 las dimensiones verticales están descritas en conexión con el grabador
1334 @code{Axis_group_engraver}.
1339 Fragmentos de código:
1342 @c @lsr{spacing,page-spacing.ly},
1343 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1345 Referencia de funcionamiento interno:
1346 @rinternals{VerticalAlignment},
1347 @rinternals{Axis_group_engraver}.
1350 @node Vertical spacing between systems
1351 @subsection Vertical spacing between systems
1353 La separación entre los sistemas está controlada por cuatro variables
1358 between-system-space = 1.5\cm
1359 between-system-padding = #1
1361 ragged-last-bottom=##f
1365 Cuando sólo se ponen dos simples sistemas en una página, el espaciado
1366 vertical resultante puede ser bastante poco elegante: un sistema en la
1367 parte alta de la página y el otro en la parte baja, con un enorme
1368 hueco entre ellos. Para evitar esta situación se puede limitar el
1369 espacio que se añade entre los sistemas. Esta posibilidad se activa
1370 mediante el establecimiento al valor @code{#t} de la variable
1371 @code{page-limit-inter-system-space} en el bloque @code{\paper}. La
1372 variable del papel @code{page-limit-inter-system-space-factor}
1373 determina en qué cantidad se puede incrementar el espacio: por
1374 ejemplo, el valor @code{1.3} sisgnifica que el espacio puede ser un
1375 30% mayor que lo que sería en una página no justificada hasta abajo.
1377 En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
1378 limitado, el segundo sistema de la página 1 se situaría en la parte de
1379 abajo de la página. Activando la limitación de espacio, el segundo
1380 sistema se coloca más cerca del primero. Estableciendo
1381 @code{page-limit-inter-system-space-factor} a @code{1}, el espacio
1382 sería el mismo que en una página sin justificar por abajo, como la
1386 #(set-default-paper-size "a6")
1389 page-limit-inter-system-space = ##t
1390 page-limit-inter-system-space-factor = 1.3
1392 oddFooterMarkup = \markup "page bottom"
1393 evenFooterMarkup = \markup "page bottom"
1394 oddHeaderMarkup = \markup \fill-line {
1395 "page top" \fromproperty #'page:page-number-string }
1396 evenHeaderMarkup = \markup \fill-line {
1397 "page top" \fromproperty #'page:page-number-string }
1399 \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1400 { s1*2 \pageBreak } >>
1407 Fragmentos de código:
1411 @node Explicit staff and system positioning
1412 @subsection Explicit staff and system positioning
1414 Una forma de entender los ajustes de @code{VerticalAxisGroup} y de
1415 @code{\paper} que se explicaron en las dos secciones anteriores es
1416 como una colección de distintos ajustes que conciernen principalmente
1417 a la cantidad de relleno vertical que adquieren los distintos
1418 pentagramas y sistemas al ocupar la página.
1420 Es posible abordar el problema del espaciado vertical de una forma
1421 distinta utilizando @code{NonMusicalPaperColumn
1422 #'line-break-system-details}. Donde los ajustes de
1423 @code{VerticalAxisGroup} y de @code{\paper} especifican el relleno
1424 vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
1425 especifica las posiciones verticales exactas en la página.
1427 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
1428 lista asociativa de cinco ajustes distintos:
1431 @item @code{X-offset}
1432 @item @code{Y-offset}
1433 @item @code{alignment-offsets}
1434 @item @code{alignment-extra-space}
1435 @item @code{fixed-alignment-extra-space}
1438 Las sobreescrituras de los objetos gráficos, entre ellas las de
1439 @code{NonMusicalPaperColumn} que aparece más abajo, pueden ocurrir en
1440 tres lugares distintos dentro de un archivo de entrada:
1443 @item directamente en medio de las notas
1444 @item en un bloque @code{\context}
1445 @item en el bloque @code{\with}
1448 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
1449 instrucción @code{\override} usual en los bloques @code{\context} y en
1450 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
1451 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
1452 instrucción especial @code{\overrideProperty}. He aquí algunas
1453 sebreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
1454 instrucción especial @code{\overrideProperty}:
1457 \overrideProperty NonMusicalPaperColumn
1458 #'line-break-system-details #'((X-offset . 20))
1460 \overrideProperty NonMusicalPaperColumn
1461 #'line-break-system-details #'((Y-offset . 40))
1463 \overrideProperty NonMusicalPaperColumn
1464 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1466 \override NonMusicalPaperColumn
1467 #'line-break-system-details #'((alignment-offsets . (0 -15)))
1469 \override NonMusicalPaperColumn
1470 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1471 (alignment-offsets . (0 -15)))
1474 Para entender cómo funciona cada uno de los distintos ajustes,
1475 empezamos observando un ejemplo que no incluye absolutamente ninguna
1478 @lilypond[quote,ragged-right]
1486 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1489 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1494 Esta partitura mantiene aislada la información de los saltos de línea
1495 y de página en una voz dedicada a ello. Esta técnica de crear una voz
1496 de saltos ayuda a mantener separada de la escritura de notas conforme
1497 el ejemplo se vuelve más complicado. Consulte @ref{Using an extra
1500 Los saltos explícitos dividen la música de forma regular en seis
1501 compases por línea. El espaciado vertical es el resultado de los
1502 ajustes predeterminados de LilyPond. Para establecer explícitamente
1503 el punto de origen vertical de cada sistema, podemos establecer el par
1504 @code{Y-offset} en el atributo @code{line-break-system-details} del
1505 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
1507 @lilypond[quote,ragged-right]
1511 \overrideProperty #"Score.NonMusicalPaperColumn"
1512 #'line-break-system-details #'((Y-offset . 0))
1514 \overrideProperty #"Score.NonMusicalPaperColumn"
1515 #'line-break-system-details #'((Y-offset . 40))
1517 \overrideProperty #"Score.NonMusicalPaperColumn"
1518 #'line-break-system-details #'((Y-offset . 80))
1521 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1524 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1529 Observe que @code{line-break-system-details} toma una lista asociativa
1530 de una cantidad de valores potencialmente elevada, pero aquí sólo
1531 fijamos un valor. Observe también que aquí la propiedad
1532 @code{Y-offset} determina la posición vertical exacta sobre la página
1533 en la que se trazará cada uno de los nuevos sistemas.
1535 Ahora que hemos establecido explícitamente el punto de origen vertical
1536 de cada sistema, podemos también establecer manualmente el punto de
1537 origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos
1538 usando la subpropiedad @code{alignment-offsets} de
1539 @code{line-break-system-details}.
1541 @lilypond[quote,ragged-right]
1545 \overrideProperty #"Score.NonMusicalPaperColumn"
1546 #'line-break-system-details #'((Y-offset . 20)
1547 (alignment-offsets . (0 -15)))
1549 \overrideProperty #"Score.NonMusicalPaperColumn"
1550 #'line-break-system-details #'((Y-offset . 60)
1551 (alignment-offsets . (0 -15)))
1553 \overrideProperty #"Score.NonMusicalPaperColumn"
1554 #'line-break-system-details #'((Y-offset . 100)
1555 (alignment-offsets . (0 -15)))
1558 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1561 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1566 Aobserve que aquí asignamos dos valores distintos al atributo
1567 @code{line-break-system-details} del grob
1568 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
1569 @code{line-break-system-details} acepta muchos parámetros de espaciado
1570 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
1571 correspondiente), sólo tenemos que establecer el desplazamiento
1572 @code{Y-offset} y los pares @code{alignment-offsets} para controlar el
1573 punto de origen vertical de cada sistema y pentagrama. Finalmente,
1574 observe que @code{alignment-offsets} especifica el posicionamiento
1575 vertical de los pentagramas pero no de los grupos de pentagramas.
1577 @lilypond[quote,ragged-right]
1581 \overrideProperty #"Score.NonMusicalPaperColumn"
1582 #'line-break-system-details #'((Y-offset . 0)
1583 (alignment-offsets . (0 -30 -40)))
1585 \overrideProperty #"Score.NonMusicalPaperColumn"
1586 #'line-break-system-details #'((Y-offset . 60)
1587 (alignment-offsets . (0 -10 -20)))
1589 \overrideProperty #"Score.NonMusicalPaperColumn"
1590 #'line-break-system-details #'((Y-offset . 100)
1591 (alignment-offsets . (0 -10, -40)))
1594 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1598 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1601 \repeat unfold 18 { e'4 e'4 e'4 e'4 }
1607 Algunos puntos que tener en cuenta:
1610 @item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
1612 @item Las unidades de los números que se pasan a @code{X-offset},
1613 @code{Y-offset} y @code{alignment-offsets} se interpretan como
1614 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
1615 valores positivos mueven a los pentagramas y a la letra hacia arriba,
1616 los valores negativos mueven los pentagramas y la letra hacia abajo.
1618 @item A causa de que los ajustes a @code{NonMusicalPaperColumn #'line-break-system-details}
1619 dados aquí permiten el posicionamiento de pentagramas y sistemas en
1620 cualquier lugar de la página, es posible violar los márgenes o los
1621 límites del papel, o incluso imprimir pentagramas o sistemas unos
1622 encima de otros. Esto se evitaría pasando a los diferentes ajustes
1623 unos valores razonables.
1629 Fragmentos de código:
1633 @node Two-pass vertical spacing
1634 @subsection Two-pass vertical spacing
1636 @warning{El espaciado vertical en dos pasadas está obsoleto y se
1637 eliminará en una versión futura de LilyPond. Ahora los sistemas se
1638 amplían automáticamente en un solo paso. Véase @ref{Vertical spacing
1641 In order to automatically stretch systems so that they should fill the
1642 space left on a page, a two-pass technique can be used:
1645 @item In the first pass, the amount of vertical space used to increase
1646 the height of each system is computed and dumped to a file.
1647 @item In the second pass, spacing inside the systems are
1648 stretched according to the data in the page layout file.
1651 The @code{ragged-bottom} property adds space between systems, while
1652 the two-pass technique adds space between staves inside a system.
1654 To allow this behavior, a @code{tweak-key} variable has to be set in
1655 each score @code{\layout} block, and the tweaks included in each score
1656 music, using the @code{\scoreTweak} music function.
1660 %% include the generated page layout file:
1661 \includePageLayoutFile
1666 %% Include this score tweaks:
1667 \scoreTweak "scoreA"
1668 { \clef french c''1 \break c''1 }
1670 \new Staff { \clef soprano g'1 g'1 }
1671 \new Staff { \clef mezzosoprano e'1 e'1 }
1672 \new Staff { \clef alto g1 g1 }
1673 \new Staff { \clef bass c1 c1 }
1676 piece = "Score with tweaks"
1678 %% Define how to name the tweaks for this score:
1679 \layout { #(define tweak-key "scoreA") }
1684 For the first pass, the @code{dump-tweaks} option should be set to
1685 generate the page layout file.
1688 lilypond -dbackend=null -d dump-tweaks <file>.ly
1695 Fragmentos de código:
1699 @node Vertical collision avoidance
1700 @subsection Vertical collision avoidance
1702 @funindex outside-staff-priority
1703 @funindex outside-staff-padding
1704 @funindex outside-staff-horizontal-padding
1706 Podemos decir intuitivamente que algunos objetos de la notación
1707 musical pertenecen al pentagrama y otros se sitúan fuera del
1708 pentagrama. Entre los objetos que pertenecen al exterior del
1709 pentagrama están las marcas de ensayo, las marcas textuales y las
1710 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
1711 del pentagrama). La regla de LilyPond para la colocación vertical de
1712 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
1713 como sea posible pero no tan próximos como para que choquen con otro
1716 LilyPond utiliza la propiedad @code{outside-staff-priority} para
1717 determinar si un grob es un objeto fuera del pentagrama: si
1718 @code{outside-staff-priority} es un número, el grob es un objeto fuera
1719 del pentagrama. Además, @code{outside-staff-priority} informa a
1720 LilyPond en qué orden se debe situar los objetos.
1722 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
1723 exterior del pentagrama. Después ordena los objetos fuera del
1724 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
1725 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
1726 a uno y los coloca de forma que no choquen con ningún objeto que ya
1727 haya sido colocado. Eesto es, si dos grobs fuera del pentagrama
1728 compiten por el mismo espacio, el que tiene la prioridad
1729 @code{outside-staff-priority} más baja se colocará más próximo al
1732 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1735 \once \override TextScript #'outside-staff-priority = #1
1736 c4_"Text"\pp % this time the text will be closer to the staff
1738 % by setting outside-staff-priority to a non-number,
1739 % we disable the automatic collision avoidance
1740 \once \override TextScript #'outside-staff-priority = ##f
1741 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1742 c4_"Text"\pp % now they will collide
1745 El relleno vertical entre un objeto fuera del pentagrama y los grobs
1746 posicionados previamente se puede controlar con
1747 @code{outside-staff-padding}.
1749 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1750 \once \override TextScript #'outside-staff-padding = #0
1751 a'^"This text is placed very close to the note"
1752 \once \override TextScript #'outside-staff-padding = #3
1753 c^"This text is padded away from the previous text"
1754 c^"This text is placed close to the previous text"
1757 HACER: ¿este ejemplo ya no funciona?
1759 De forma predeterminada, los objetos fuera del pentagrama se sitúan
1760 sin tener en cuenta su distancia horizontal a partir de los grobs
1761 posicionados previamente. Esto puede llevar a situiaciones en las que
1762 los objetos se colocan muy próximos entre sí en el sentido horizontal.
1763 El establecimiento del relleno horizontal
1764 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
1765 desplace verticalmente para que tal situiación no ocurra.
1767 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1768 % the markup is too close to the following note
1771 % setting outside-staff-horizontal-padding fixes this
1773 \once \override TextScript #'outside-staff-horizontal-padding = #1
1781 Fragmentos de código:
1785 @node Horizontal spacing
1786 @section Horizontal spacing
1788 @cindex horizontal, espaciado
1789 @cindex espaciado horizontal
1792 * Horizontal spacing overview::
1793 * New spacing area::
1794 * Changing horizontal spacing::
1796 * Proportional notation::
1800 @node Horizontal spacing overview
1801 @subsection Horizontal spacing overview
1803 El motor de espaciado traduce las diferencias en las duraciones a
1804 distancias ampliables (@q{muelles}) de distintas longitudes. Las
1805 duraciones más largas reciben un espacio mayor y las duraciones más
1806 cortas reciben menos. Las duraciones más breves reciben un espacio de
1807 tamaño fijo (que se controla mediante @code{shortest-duration-space}
1808 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
1809 duración, más espacio recibe: al doblar una duración se añade un
1810 espacio de tamaño fijo (este tamaño se controla mediante
1811 @code{spacing-increment}) a la nota.
1813 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
1814 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
1815 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
1817 @lilypond[quote,fragment,verbatim,relative=1]
1818 c2 c4. c8 c4. c8 c4. c8 c8
1822 Normalmente, el valor de @code{spacing-increment} está establecido en
1823 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
1824 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
1825 que significa que la nota más breve recibe 2.4 espacios de pentagrama
1826 (2.0 multiplicado por el @code{spacing-increment}) de espacio
1827 horizontal. Este espacio se cuenta a partir del borde izquierdo del
1828 símbolo, de manera que las notas más breves van seguidas generalmente
1829 por un espacio de 1 ACB.
1831 Si siguiésemos el procedimiento anterior exactamente, entonces la
1832 adición de una sola fusa a una partitura que usa corcheas y
1833 semicorcheas, aumentaría enormemente la anchuta de la partitura
1834 completa. La nota más breve ya no es la semicorchea, sino la fusa,
1835 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
1836 duración más breve a efectos de espaciado no es la nota más breve de
1837 la partitura, sino la que ocurre con más frecuencia.
1839 La duración más breve que es más común se determina de la siguiente
1840 manera: en cada compás se determina la duración más breve. La menor
1841 duración más común se toma como base para el espaciado, habiendo
1842 estipulado que esta duración menor siempre debe ser igual o menor que
1843 una corchea. La duración más breve se imprime cuando se ejecuta
1844 @code{lilypond} con la opción @code{--verbose}.
1846 Estas duraciones también se pueden personalizar. Si establecemos la
1847 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
1848 entonces éste establece la duración base para el espaciado. La
1849 duración máxima para esta base (normalmente un a corchea), se fija a
1850 través de @code{base-shortest-duration}.
1852 @funindex common-shortest-duration
1853 @funindex base-shortest-duration
1854 @funindex stem-spacing-correction
1857 Las notas que son aún más breves que la nota común más breve van
1858 seguidas por un espacio proporcional a su duración en relación con la
1859 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
1860 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
1862 @lilypond[quote,fragment,verbatim,relative=2]
1863 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1866 En la introducción (véase @rlearning{Engraving}), se explicó que las
1867 direcciones de las plicas influyen en el espaciado. Esto se controla
1868 con la propiedad @code{stem-spacing-correction} en el objeto
1869 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
1870 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
1871 (generado en el contexto de @rinternals{Staff}) contiene la misma
1872 propiedad para controlar el espaciado de las líneas de plica o
1873 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
1874 con los valores predeterminados y otra con correcciones exageradas:
1876 @lilypond[quote,ragged-right]
1880 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1881 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
1887 Está contemplada la notación proporcional; consulte @ref{Proportional
1893 Fragmentos de código:
1896 Referencia de funcionamiento interno:
1897 @rinternals{SpacingSpanner},
1898 @rinternals{NoteSpacing},
1899 @rinternals{StaffSpacing},
1900 @rinternals{SeparationItem}.
1905 No existe ningún mecanismo conveniente para sobreescribir el espaciado
1906 manualmente. Se puede usar el siguiente rodeo para insertar espacio
1907 adicional en una partitura.
1910 \once \override Score.SeparationItem #'padding = #1
1913 No existe ningún rodeo para disminuir la magnitud de la separación.
1916 @node New spacing area
1917 @subsection New spacing area
1919 Se pueden inicar secciones nuevas con diferentes parámetros de
1920 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
1921 secciones que tienen distinta noción de las notas largas y cortas.
1923 En el ejemplo siguiente, el cambio de compás introduce una sección
1924 nueva, y por ello las semicorcheas se separan de manera más amplia.
1926 @lilypond[relative,fragment,verbatim,quote]
1929 c8 c c4 c16[ c c8] c4
1935 La instrucción @code{\newSpacingSection} crea un nuevo objeto
1936 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
1937 instrucciones de sobreescritura @code{\override} en dicho punto.
1942 Fragmentos de código:
1945 Referencia de funcionamiento interno:
1946 @rinternals{SpacingSpanner}.
1949 @node Changing horizontal spacing
1950 @subsection Changing horizontal spacing
1952 Se puede alterar el espaciado horizontal con la propiedad
1953 @code{base-shortest-duration}. Aquí compararemos la misma música, una
1954 vez sin alterar la propiedad, y luego alterándola. Los valores
1955 mayores de @code{ly:make-moment} producen música más pequeña. Observe
1956 que @code{ly:make-moment} construye una duración, por lo que @code{1
1957 4} es una duración mayor que @code{1 16}.
1959 @lilypond[verbatim,line-width=12\cm]
1962 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
1963 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
1964 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
1965 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
1970 @lilypond[verbatim,line-width=12\cm]
1973 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
1974 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
1975 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
1976 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
1981 \override SpacingSpanner
1982 #'base-shortest-duration = #(ly:make-moment 1 16)
1991 De forma predeterminada, el espaciado en los grupos de valoración
1992 especial depende de varios factores ajenos a la duración (como
1993 alteraciones, cambios de clave, etc.). Para pasar por alto estos
1994 símbolos y forzar un espaciado de duraciones iguales uniforme, use
1995 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
1996 puede cambiarse al principio de la partitura:
1998 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2000 \override SpacingSpanner #'uniform-stretching = ##t
2017 Cuando se establece @code{strict-note-spacing}, las notas se separan
2018 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2020 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2021 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2022 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2028 Fragmentos de código:
2033 @subsection Line length
2035 @cindex saltos de página
2036 @cindex página, saltos de
2039 @funindex line-width
2040 @funindex ragged-right
2041 @funindex ragged-last
2043 @c Although line-width can be set in \layout, it should be set in paper
2044 @c block, to get page layout right.
2045 @c Setting indent in \paper block makes not much sense, but it works.
2047 @c Bit verbose and vague, use examples?
2048 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2049 y @code{line-width}. Se definen en el bloque @code{\layout}.
2050 Controlan el sangrado de la primera línea de música y la longitud de
2053 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2054 @code{\layout}, entonces los sistemas terminan en su longitud
2055 horizontal natural, en lugar de repartirse horizontalmente hasta
2056 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2057 comprobar qué tan apretado es el espaciado natural.
2059 @cindex diseño de página
2060 @cindex página, disposición de la
2061 @cindex vertical, espaciado
2063 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2064 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2065 restricción sobre dicha línea. El resultado es similar al formateo de
2066 los párrafos de texto. En un párrafo, la última línea sencillamente
2067 ocupa su longitud horizontal natural.
2068 @c Note that for text there are several options for the last line.
2069 @c While Knuth TeX uses natural length, lead typesetters use the same
2070 @c stretch as the previous line. eTeX uses \lastlinefit to
2071 @c interpolate between both these solutions.
2086 Fragmentos de código:
2090 @node Proportional notation
2091 @subsection Proportional notation
2093 LilyPond contempla la notación proporcional, un tipo de espaciado
2094 horizontal en el que cada nota consume una medida horizontal que
2095 equivale exactamente a su duración rítmica. Este tipo de espaciado
2096 proporcional es comparable al espaciado horizontal hecho sobre un
2097 papel milimetrado. Ciertas partituras del finales del s.XX y
2098 principios del s.XXI utilizan notación proporcional para clarificar
2099 relaciones rítmicas complejas o para facilitar la colocación de líneas
2100 cronométricas u otros gráficos directamente en la partitura.
2102 LilyPond contempla cinco ajustes distintos para la notación
2103 proporcional, que se pueden usar solos o combinados:
2106 @item @code{proportionalNotationDuration}
2107 @item @code{uniform-stretching}
2108 @item @code{strict-note-spacing}
2109 @item @code{\remove Separating_line_group_engraver}
2110 @item @code{\override PaperColumn #'used = ##t}
2113 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2114 de la notación proporcional y examinamos la forma en que interactúan.
2116 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2117 espaciado clásico sin justificación por la derecha.
2119 @lilypond[quote,verbatim,ragged-right]
2121 \new RhythmicStaff {
2125 c'16 c'16 c'16 c'16 c'16
2131 Observe que la blanca que inicia el compás ocupa mucho menos de la
2132 mitad de todo el espacio horizontal del compás. De forma similar, las
2133 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2134 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2137 En el grabado clásico, este espaciado puede ser exactamente el que
2138 deseamos porque podemos tomar prestado el espacio horizontal de la
2139 blanca y conservar el espacio horizontal a lo largo del compás como un
2142 Por otro lado, si quieremos insertar una línea de tiempo graduada o
2143 algún otro gráfico encima o debajo de la partitura, necesitamos la
2144 notación proporcional. Se activa la notación proporcional con el
2145 ajuste @code{proportionalNotationDuration}.
2147 @lilypond[quote,verbatim,ragged-right]
2149 proportionalNotationDuration = #(ly:make-moment 1 20)
2151 \new RhythmicStaff {
2155 c'16 c'16 c'16 c'16 c'16
2161 La blanca al princpio del compás y las notas rápidas de la segunda
2162 mitad del compás ocupan ahora igual cantidades iguales de espacio
2163 horizontal. Podríamos colocar una línea de tiempo graduada o un
2164 gráfico encima o debajo de este ejemplo.
2166 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2167 que reside en @code{Score}. Recordemos que los ajustes de contexto
2168 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2169 bloque @code{\with}, en un bloque @code{\context}, o directamente
2170 entre la música precedido por la instrucción @code{\set}. Como con
2171 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2172 tres lugares diferentes prefiere establecer el valor de
2173 @code{proportionalNotationDuration}.
2175 El ajuste @code{proportionalNotationDuration} acepta un solo
2176 argumento, que es la duración de referencia contra el que se aplica el
2177 espaciado de toda la música. La función Scheme de LilyPond
2178 @code{make-moment} acepta dos argumentos: un numerador y un
2179 denominador que, juntos, expresan una cierta fracción de redonda. La
2180 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2181 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2182 cinquillo). Los valores @code{#(ly:make-moment 1 16)},
2183 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)} son
2186 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2187 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2188 de ensayo y error, comenzando con una duración cercana a la más rápida
2189 (o más breve) duración de la pieza. Las duraciones de referencia más
2190 pequeñas aplican un espaciado más suelto; las duraciones de referencia
2191 más largas aplican un espaciado más apretado.
2193 @lilypond[quote,verbatim,ragged-right]
2195 proportionalNotationDuration = #(ly:make-moment 1 8)
2197 \new RhythmicStaff {
2201 c'16 c'16 c'16 c'16 c'16
2207 proportionalNotationDuration = #(ly:make-moment 1 16)
2209 \new RhythmicStaff {
2213 c'16 c'16 c'16 c'16 c'16
2219 proportionalNotationDuration = #(ly:make-moment 1 32)
2221 \new RhythmicStaff {
2225 c'16 c'16 c'16 c'16 c'16
2231 Observe que una duración de referencia demasiado grande (como la
2232 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
2233 apretado y puede ser causa de colisiones entre las cabezas de nota.
2234 Observe también que la notación proporcional en general ocupa más
2235 espacio horizontal que el espaciado clásico. El espaciado
2236 proporcional aporta claridad rítmica a expensas del espacio
2239 Ahora veremos cómo espaciar de forma óptima grupos de valoración
2240 especial que se superponen.
2242 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
2243 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
2244 diferente de grupo especial.
2246 @lilypond[quote,verbatim,ragged-right]
2248 \new RhythmicStaff {
2252 c'16 c'16 c'16 c'16 c'16
2255 \new RhythmicStaff {
2257 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2263 El espaciado es defectuoso porque las notas regularmente espaciadas
2264 del pentagrama inferior no se amplían de manera uniforme. El grabado
2265 clásico incluye muy pocos tresillos complejos y así las reglas del
2266 grabado clásico pueden generar este tipo de resultado. El
2267 establecimiento de @code{proportionalNotationDuration} remedia esta
2268 situación considerablemente.
2270 @lilypond[quote,verbatim,ragged-right]
2272 proportionalNotationDuration = #(ly:make-moment 1 20)
2274 \new RhythmicStaff {
2278 c'16 c'16 c'16 c'16 c'16
2281 \new RhythmicStaff {
2283 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2289 Pero si observamos con mucho cuidado podremos ver que las notas de la
2290 segunda mitad del 9-illo están espaciadas de forma ligeramente más
2291 ancha que las de la primera mitad del 9-illo. Para asegurar una
2292 ampliación uniforme, activamos @code{uniform-stretching}, que es una
2293 propiedad de @code{SpacingSpanner}.
2295 @lilypond[quote,verbatim,ragged-right]
2297 proportionalNotationDuration = #(ly:make-moment 1 20)
2298 \override SpacingSpanner #'uniform-stretching = ##t
2300 \new RhythmicStaff {
2304 c'16 c'16 c'16 c'16 c'16
2307 \new RhythmicStaff {
2309 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2315 Nuestro ejemplo de dos pentagramase ahora está espaciado exactamente,
2316 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
2317 una línea de tiempo graduada o un gráfico, si queremos.
2319 Observe que el paquere de notación proporcional de LilyPond espera que
2320 todas las partituras proporcionales establezcan el atributo
2321 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
2322 establecimiento de @code{proportionalNotationDuration} sin ajustar
2323 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
2324 al valor ##t causará, por ejemplo, que los desplazamientos
2325 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
2327 El @code{SpacingSpanner} es un grob abstracto que reside en el
2328 contexto de @code{Score}. Como con nuestros ajustes de
2329 @code{proportionalNotationDuration}, las sobreescrituras al
2330 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
2331 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
2332 @code{\context} o directamente dentro de la escritura de notas.
2334 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
2335 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
2336 está activado para la partitura completa o desactivado para la
2337 partitura completa. Sin embargo, podemos sobreesacibir este
2338 comportamiento y activar distintas posibilidades de espaciado en
2339 distintos lugares de la partitura. Lo hacemos con la instrucción
2340 @code{\newSpacingSection}. Consulte @ref{New spacing area} para más
2343 A continuación examinamos los efectos del grabador
2344 @code{Separating_line_group_engraver} y veremos por qué las partituras
2345 proporcionales con frecuencia eliminan este grabador. El ejemplo
2346 siguiente muestra que hay una pequeña cantidad de espacio
2347 @qq{preparatorio} justo antes de la primera nota de cada sistema.
2349 @lilypond[quote,verbatim,ragged-right]
2362 Esta cantidad de espacio preparatorio es la misma ya sea después de
2363 una indicación de compás, una armadura o una clave. El grabador
2364 @code{Separating_line_group_engraver} es responsable de este espacio.
2365 La eliminación de @code{Separating_line_group_engraver} reduce este
2368 @lilypond[quote,verbatim,ragged-right]
2374 \remove Separating_line_group_engraver
2382 Los elementos no musicales como la indicación de compás, la armadura,
2383 la clave y las alteraciones son problemáticos en notación
2384 proporcional. Ninguno de estos elementos tiene duración rítmica.
2385 Pero todos ellos consumen espacio horizontal. Las distintas
2386 partituras proporcionales abordan este problema de distinta manera.
2388 Sería posible evitar los problemas de espaciado con las armaduras,
2389 simplemente evitando tenerlas. Esta es una opción válida pues casi
2390 todas las partituras proporcionales son música contemporánea. Lo
2391 mismo puede valer para las indicaciones de compás, espacialmente para
2392 las partituras que incluyen ula línea de tiempo graduada u otro
2393 gráfico. Pero estas partituras son excepcionales y casi todas las
2394 partituras proporcionales incluyen al menos unas pocas indicaciones de
2395 compás. Las claves y las alteraciones son aún más esenciales.
2397 Así pues ¿qué estrategias existen para el espaciado de los elementos
2398 no musicales en un contexto proporcional? Una buena opción es la
2399 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
2400 Compare las dos partituras siguientes:
2402 @lilypond[quote,verbatim,ragged-right]
2404 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2414 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2415 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2425 Las dos poartituras son proporcionales, pero el espaciado de la
2426 primera es muy suelto a causa del cmabio de clave. Sin embargo, el
2427 espaciado de la segunda partitura se mantiene estricto, porque
2428 @code{strict-note-spacing} está activado. La activación de
2429 @code{strict-note-spacing} hace que el ancho de las indicaciones de
2430 compás, armaduras, cambios de clave y alteraciones no tomen parte en
2431 el algoritmo de espaciado.
2433 Además de los ajustes dados aquí, hay otros que aparecen con
2434 frecuencia en las partituras proporcionales. Entre ellos están:
2437 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2438 @item @code{tupletFullLength = ##t}
2439 @item @code{\override Beam #'breakable = ##t}
2440 @item @code{\override Glissando #'breakable = ##t}
2441 @item @code{\override TextSpanner #'breakable = ##t}
2442 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2445 Estos ajustes dan a las notas de adorno un espaciado estricto,
2446 extienden los corchetes de grupo especial para que marquen tanto los
2447 puntos de comienzo como de final, y permiten que los elementos de
2448 extensión se dividan entre los sistemas y las páginas. Consulte las
2449 partes respectivas del manual para ver estos ajustes relacionados.
2453 Referencia de la notación:
2454 @ref{New spacing area}.
2456 Fragmentos de código:
2460 @node Fitting music onto fewer pages
2461 @section Fitting music onto fewer pages
2463 En ocasiones, podemos terminar con uno o dos pentagramas en una
2464 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
2465 cuando vemos que las páginas anteriores parecen tener espacio de
2468 Al investigar los problemas de disposición, una herramienta de valor
2469 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
2470 valores de un cierto número de variables de espaciado; para ver más
2471 detalles consulte la sección siguiente, @ref{Displaying spacing}.
2474 * Displaying spacing::
2475 * Changing spacing::
2479 @node Displaying spacing
2480 @subsection Displaying spacing
2482 @cindex espaciado, presentación del
2483 @funindex annotate-spacing
2485 Para presentar gráficamente las dimensiones de las variables de
2486 disposición vertical que pueden verse alteradas por el formato de la
2487 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
2489 @c need to have \book{} otherwise we get the separate systems. -hwn
2490 @lilypond[verbatim,quote]
2491 #(set-default-paper-size "a6" 'landscape)
2494 \paper { annotate-spacing = ##t }
2499 Todas las dimensiones de disposición se muestran en espacios de
2500 pentagrama, independientemenre de las unidades especificadas en los
2501 bloques @code{\paper} o @code{\layout}. Por ejemmplo,
2502 @code{paper-height} tiene un valor de 59.75 espacios de pentagrama,
2503 usando el tamaño predeterminado de pentagrama de 20 puntos, que
2504 equivale a 148 milímetros, la altura de una hoja de papel @code{a6} en
2505 orientación apaisada. Las parejas (@var{a},@var{b}) son intervalos,
2506 donde @var{a} es el límite inferior y @var{b} es el límite superior
2512 Fragmentos de código:
2516 @node Changing spacing
2517 @subsection Changing spacing
2519 La salida de @code{annotate-spacing} revela las dimensiones verticales
2520 con gran detalle. Para ver más detalles acerda de la modificación de
2521 los márgenes y otras variables de diseño de la página, consulte
2522 @ref{Page formatting}.
2524 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
2528 Forzar los sistemas para que se junten lo más posible entre sí (de
2529 forma que quepan la mayor cantidad de ellos en la página) y al mismo
2530 tiempo estén espaciados de forma que no exista un espacio vacío en la
2531 parte baja del papel.
2535 between-system-padding = #0.1
2536 between-system-space = #0.1
2537 ragged-last-bottom = ##f
2543 Forzar el número de sistemas. Por ejemplo, si la disposición
2544 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
2545 disposición con 10 sistemas.
2554 Evitar (o reducir en número) los objetos que aumentan el tamaño
2555 vertical de un sistema. Por ejemplo, las repeticiones de primera y
2556 segunda vez (o repeticiones con finales alternativos) necesitan
2557 espacio adicional. Si estas repeticiones se reparten a lo lardo de
2558 dos sistemas, ocupan más espacio que un sistema con las casillas de
2559 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
2560 dinámicas que se @q{salen} de un sistema se pueden acercar al
2563 @lilypond[verbatim,quote,relative=1]
2565 \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2570 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
2571 Para ver más detalles, consulte @ref{Changing horizontal spacing}. El
2572 ejemplo siguiente ilustra el espaciado predeterminado:
2574 @lilypond[verbatim,quote]
2587 El ejemplo siguiente modifica @code{common-shortest-duration} de un
2588 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
2589 nota más común y la más breve del ejemplo, por lo que al agrandar esta
2590 duración se produce un efecto de @q{apretujamiento}:
2592 @lilypond[verbatim,quote]
2604 \override SpacingSpanner
2605 #'common-shortest-duration = #(ly:make-moment 1 2)
2612 La propiedad @code{common-shortest-duration} no se puede modificar de
2613 manera dinámica, por lo que se debe situar siemmpre dentro de un
2614 bloque @code{\context} de forma que se aplique a la partitura
2622 Referencia de la notación:
2623 @ref{Page formatting},
2624 @ref{Changing horizontal spacing}.
2626 Fragmentos de código: