1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond.tely
4 Translation of GIT committish: 635c9ec04620eaf1303e3ab3c04c8a7d6e0a9fe4
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
12 @chapter Spacing issues
14 La disposición global sobre el papel viene determinada por tres
15 factores: el diseño de página, los saltos de línea y el espaciado.
16 Estos factores influyen entre sí. La elección de uno u otro espaciado
17 determina qué densidad termina teniendo cada sistema de música. Esto
18 influye en el lugar en que se eligen los saltos de línea, y en último
19 término, en el número de páginas que tiene una partitura.
21 Considerado globalmente, este proceso se produce en cuatro fases: en
22 primer lugar se eligen unas distancias elásticas o @q{muelles},
23 basados en la duración de las figuras. Se prueban todas las
24 combinaciones de saltos de línea posibles, y para cada una de ellas se
25 calcula una puntuación de @q{maldad}. Después se hace una estimacion
26 de la altura de cada uno de los posibles sistemas. Finalmente se
27 selecciona una combinación de saltos de página y de línea de tal forma
28 que ni el espaciado horizontal ni el vertical estén demasiado
29 estrechos ni estirados.
31 Los ajustes que influyen en la disposición se pueden agrupar en dos
32 bloques. El bloque @code{\paper @{...@}} se sitúa fuera de los
33 bloques @code{\score @{...@}} y contiene ajustes relacionados con el
34 documento como un todo. El bloque @code{\layout @{...@}} se sitúa
35 dentro de un bloque @code{\score @{...@}} y contiene ajustes para
36 dicha partitura en concreto. Si sólo tiene un bloque @code{\score
37 @{...@}}, los dos tienen el mismo efecto. En general las
38 instrucciones que se muestran en este capítulo se pueden poner en
39 cualquiera de los dos.
46 * Horizontal spacing::
47 * Fitting music onto fewer pages::
52 @section Paper and pages
54 Esta sección se ocupa de los límites que definen la zona del papel en
55 que se puede imprimir la música.
64 @subsection Paper size
66 @cindex papel, tamaño del
67 @cindex página, tamaño de la
69 Existen dos funciones para cambiar el tamaño del papel:
70 @code{set-default-paper-size} (establecer tamaño de página
71 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
72 @code{set-default-paper-size} se debe poner en el ámbito del nivel
73 superior, y @code{set-paper-size} se debe poner en un bloque
77 #(set-default-paper-size "a4")
82 #(set-paper-size "a4")
87 @code{set-default-paper-size} establece el tamaño de todas las
88 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
89 de las páginas a las que se aplica el bloque @code{\paper}. Por
90 ejemplo, si el bloque @code{\paper} está al principio del archivo,
91 aplica el tamaño de papel a todas las páginas. Si el bloque
92 @code{\paper} está dentro de un bloque @code{\book}, entonces el
93 tamaño del papel sólo se aplica a ese libro.
95 Se encuentran disponibles los tamaños de papel más comunes, entre
96 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
97 también como tabloide). Están contemplados muchos más tamaños de papel
98 de forma predeterminada. Para ver más detalles, consulte
99 @file{scm/@/paper@/.scm} y busque la definición de @code{paper-alist}.
101 @c TODO add a new appendix for paper sizes (auto-generated) -pm
103 @warning{El tamaño predeterminado del papel es @code{a4}.}
105 Se pueden añadir tamaños adicionales editando la definición de
106 @code{paper-alist} en el archivo de inicio @file{scm/@/paper@/.scm},
107 aunque se sobreescribirán en la siguiente reinstalación del programa.
111 @cindex horizontal, papel
113 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
114 @code{set-default-paper-size}, las páginas se giran 90 grados y se
115 establecen en consonancia un longitud mayor de las líneas.
118 #(set-default-paper-size "a6" 'landscape)
121 al establecer el tamaño del papel se ajustan un cierto número de
122 variables del @code{\paper}, tales como los márgenes. Para utilizar
123 un tamaño de página determinado con variables de @code{\paper}
124 alteradas, establezca el tamaño de página antes de dar valores a las
131 @file{scm/@/paper@/.scm}.
133 Fragmentos de código:
137 @node Page formatting
138 @subsection Page formatting
140 Los márgenes, encabezamientos y pies de página y otras variables de
141 diseño de página se establecen automáticamente de acuerdo con el
144 Esta sección relaciona y describe cierto número de variables del papel
145 que se pueden alterar.
148 * Vertical dimensions::
149 * Horizontal dimensions::
150 * Other layout variables::
154 @node Vertical dimensions
155 @unnumberedsubsubsec Vertical dimensions
157 Estas variables se utilizan para establecer las diferentes dimensiones
158 verticales de la página:
164 @item after-title-space
165 @funindex after-title-space
167 Espacio entre el título y el primer sistema.
168 Predeterminado: @code{5\mm}.
170 @item before-title-space
171 @funindex before-title-space
173 Distancia entre el último sistema de la pieza anterior y el título de
174 la siguiente. Predeterminado: @code{10\mm}.
176 @item between-system-padding
177 @funindex between-system-padding
179 Distancia mínima que se deja siempre entre el símbolo más bajo de un
180 sistema y el más alto del siguiente. Predeterminado: @code{4\mm}.
182 El aumento de este valor separa más los sistemas cuyas cajas
183 circundantes casi se tocan.
185 @item between-system-space
186 @funindex between-system-space
188 Distancia entre los sistemas. Es la distancia ideal desde el centro
189 del pentagrama inferior de un sistema hasta el centro del pentagrama
190 superior del sistema siguiente. Predeterminado: @code{20\mm}.
192 El aumento de este valor da a la página un aspecto más regular a costa
193 de utilizar más espacio vertical.
195 @item between-title-space
196 @funindex between-title-space
198 Distancia entre títulos consecutivos (p.ej., el título del libro y el
199 título de una pieza). Predeterminado: @code{2\mm}.
202 @funindex bottom-margin
204 Margen entre el pie de página y la parte inferior del papel.
205 Predeterminado: @code{6\mm}.
207 @item foot-separation
208 @funindex foot-separation
210 Distancia entre el sistema situado más abajo y el pie de página.
211 Predeterminado: @code{4\mm}.
213 @item head-separation
214 @funindex head-separation
216 Distancia entre el sistema situado más arriba y el encabezamiento de
217 la página. Predeterminado: @code{4\mm}.
220 @funindex page-top-space
222 Distancia desde la parte alte del área imprimible hasta el centro del
223 primer pentagrama. Esto sólo funciona para pentagramas con una
224 anchura vertical pequeña. Los pentagramas grandes se establecen con
225 la parte alta de su caja circundante alineada a la parte alta del área
226 imprimible. Predeterminado: @code{12\mm}.
229 @funindex paper-height
231 Altura de la página. Predeterminado: altura del tamaño actual del
232 papel. Para ver más detalles, consulte @ref{Paper size}.
237 Margen entre el encabezamiento y la parte alta del papel.
238 Predeteminado: @code{5\mm}.
245 El encabezamiento y el pie se crean por parte de las funciones
246 @code{make-footer} y @code{make-header}, definidas dentro de
247 @code{\paper}. Las implementaciones predeterminadas están en
248 @file{ly/paper-defaults.ly} y en @file{ly/titling-init.ly}.
250 El diseño de la página en sí está realizado por dos funciones dentro
251 del bloque @code{\paper}, @code{page-music-height} y
252 @code{page-make-stencil}. El primero informa al algoritmo de saltos
253 de línea de la cantidad de espacio que está disponible en una página,
254 y el último crea la propia página dado el sistema que poner sobre
257 Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
258 caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
259 están definidas en @file{paper-defaults.ly} con valores en milímetros.
260 Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
264 #(define bottom-margin (* 2 cm))
276 ragged-last-bottom = ##t
280 Este segundo ejemplo centra los números de página en la parte baja del
285 print-page-number = ##t
286 print-first-page-number = ##t
287 oddHeaderMarkup = \markup \fill-line @{ " " @}
288 evenHeaderMarkup = \markup \fill-line @{ " " @}
289 oddFooterMarkup = \markup @{ \fill-line @{
290 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
291 \fromproperty #'page:page-number-string @} @}
292 evenFooterMarkup = \markup @{ \fill-line @{
293 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
294 \fromproperty #'page:page-number-string @} @}
301 Referencia de la notación:
302 @ref{Vertical spacing between systems}.
304 Fragmentos de código:
308 @node Horizontal dimensions
309 @unnumberedsubsubsec Horizontal dimensions
311 @warning{Si se establece @code{paper-width} manualmente,
312 @code{line-width}, @code{left-margin}, @code{indent} y
313 @code{short-indent} pueden necesitar ajustarse también.}
315 Existe un cierto número de variables que determinan las dimensiones
316 horizontales de una página:
320 @item horizontal-shift
321 @funindex horizontal-shift
323 Medida en que todos los sistemas (incluidos los títulos de cabecera y
324 los separadores de sistemas) se desplazan a la derecha.
325 Predeterminado: @code{0.0}.
330 Nivel de sangrado para el primer sistema de una partitura.
331 Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
332 viene determinado por @code{set-default-paper-size} o
333 @code{set-paper-size}.
336 @funindex left-margin
338 El margen entre el límite izquierdo del papel y el comienzo de los
339 sistemas. Predeterminado: @code{10\mm}, tal y como se define por
340 parte de @code{set-default-paper-size} o de @code{set-paper-size}.
345 Ancho de los sistemas. Predeterminado: @code{paper-width} menos
346 @code{20\mm}, como viene determinado por @code{set-default-paper-size}
347 o por @code{set-paper-size}.
350 @funindex paper-width
352 Ancho de la página. Predeterminado: la anchura del tamaño actual del
353 papel. Para ver más detalles, consulte @ref{Paper size}.
356 @funindex short-indent
358 Nivel de sangrado para todos los sistemas de una partitura excepto el
359 primero. Predeterminado: @code{0}, como se determina en
360 @code{set-default-paper-size} o en @code{set-paper-size}.
367 Fragmentos de código:
373 La opción @code{right-margin} está definida pero no establece aún el
374 margen derecho. El valor del margen derecho se debe definir ajustando
375 los valores de @code{left-margin} y de @code{line-width}.
378 @node Other layout variables
379 @unnumberedsubsubsec Other layout variables
381 Estas variables se pueden usar para ajustar el diseño de la página en
386 @item auto-first-page-number
387 @funindex auto-first-page-number
389 EL algoritmo de división de páginas está afectado por el hecho de que
390 el número de la primera página sea par o impar. Si está establecido
391 al valor verdadero, el algoritmo de división de páginas decide si
392 comenzar con un número par o impar. Esto hace que el número de la
393 primera página se quede como está, o que se aumente en una unidad.
394 Predeterminado: @code{##f}.
396 @item blank-last-page-force
397 @funindex blank-last-page-force
399 Penalización por terminar la partitura en una página de numeración
400 impar. Predeterminado: @code{0}.
402 @item blank-page-force
403 @funindex blank-page-force
405 Penalización por tener una página en blanco en medio de una partitura.
406 Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
407 nunca considera la posibilidad de tener páginas en blanco en mitad de
408 una partitura. Predeterminado: @code{5}.
410 @item first-page-number
411 @funindex first-page-number
413 Valor del número de la primera página. Predeterminado: @code{#1}.
415 @item page-breaking-between-system-padding
416 @funindex page-breaking-between-system-padding
418 Engaña al divisor de páginas para que crea que
419 @code{between-system-padding} está establecido a algo distinto de lo
420 que está realmente. Por ejemplo, si esta variable se establece a algo
421 mucho mayor que @code{between-system-padding}, entonces el divisor de
422 páginas colocará menos sistemas en cada página. Predeterminado: no
428 Número de páginas que usar para una partitura. Predeterminado: sin
431 @item page-limit-inter-system-space
432 @funindex page-limit-inter-system-space
434 Si tiene un valor verdadero, limita el espacio entre los sistemas de
435 una página en la que sobra mucho espacio. Predeterminado: @code{##f}.
436 Para ver más detalles, consulte @ref{Vertical spacing between
439 @item page-limit-inter-system-space-factor
440 @funindex page-limit-inter-system-space-factor
442 Factor usado por @code{page-limit-inter-system-space}.
443 Predeterminado: @code{1.4}. Para ver más detalles, consulte
444 @ref{Vertical spacing between systems}.
446 @item page-spacing-weight
447 @funindex page-spacing-weight
449 Importancia relativa del espacio (vertical) de las páginas y el
450 espaciado (horizontal) de las líneas. Los valores altos hacen que el
451 espaciado de la página tenga más importancia. Predeterminado:
454 @item print-all-headers
455 @funindex print-all-headers
457 Si está establecido a un valor verdadero, imprime todas las cabeceras
458 para cada una de las @code{\score} en la salida impresa. Normalmente
459 sólo se imprimen las variables de encabezamiento de pieza y opus.
460 Predeterminado: @code{##f}.
462 @item print-first-page-number
463 @funindex print-first-page-number
465 Si está establecido a un valor verdadero, se imprime un número de
466 página en la primera página. Predeterminado: @code{##f}.
468 @item print-page-number
469 @funindex print-page-number
471 Si está establecido a un valor falso, no se imprimen los números de
472 página. Predeterminado: @code{##t}.
475 @funindex ragged-bottom
477 Si está establecido a un valor verdadero, los sistemas no ocuparán
478 verticalmente toda la altura de la página. Esto no afecta a la última
479 página. Predeterminado: @code{##f}.
481 Esto se debería establecer al valor verdadero para piezas que tienen
482 sólo dos o tres sistemas por página, por ejemplo partituras
486 @funindex ragged-last
488 Si está establecido a un valor verdadero, el último sistema de la
489 partitura no llenará la anchura de la línea. En su lugar, el últim
490 sistema termina en su longitud horizontal natural. Predeterminado:
493 @item ragged-last-bottom
494 @funindex ragged-last-bottom
496 Si está establecido a un valor falso, los sistemas se repartirán
497 verticalmente por toda la última página. Predeterminado: @code{##t}.
499 Las piezas que llenan generosamente dos o más páginas deberían tener
500 esto establecido al valor verdadero.
503 @funindex ragged-right
505 Si está establecido a un valor verdadero, los sistemas no llenarán el
506 ancho de línea disponible. En su lugar, los sistemas terminan en su
507 longitud horizontal natural. Predeterminado: @code{##f}.
509 Si la partitura sólo tiene un sistema, el valor predeterminado es
512 @item systemSeparatorMarkup
513 @funindex systemSeparatorMarkup
515 Objeto de marcado que se inserta entre los sistemas. Se suele usar
516 para partituras orquestales. Predeterminado: sin establecer.
518 Se ofrece la instrucción de marcado @code{\slashSeparator} como un
519 valor predeterminado apropiado, por ejemplo
521 @lilypond[quote,ragged-right]
522 #(set-default-paper-size "a6" 'landscape)
525 \relative { c1 \break c1 }
528 systemSeparatorMarkup = \slashSeparator
534 @funindex system-count
536 Cantidad de sistemas que usar por parte de la partitura.
537 Predeterminado: sin establecer.
544 Fragmentos de código:
550 El encabezamiento de página predeterminado pone el número de página y
551 el campo @code{instrument} del bloque @code{\header} sobre la misma
554 Los títulos de cabecera (tomados de la sección @code{\header@{@}}) se
555 tratan como un sistema, por lo que @code{ragged-bottom} y
556 @code{ragged-last-bottom} añaden espacio entre los títulos y el primer
557 sistema de la partitura.
561 @section Music layout
564 * Setting the staff size::
569 @node Setting the staff size
570 @subsection Setting the staff size
572 @cindex tipografía, establecer tamaño de
573 @cindex pentagrama, establecer tamaño de
574 @funindex layout file
576 El @strong{tamaño de pentagrama} predeterminado se establece en 20
577 puntos. Esto se puede modificar de dos maneras:
579 Para establecer globalmente el tamaño del pentagrama para todas las
580 partituras de un archivo (o en un bloque @code{book}, para ser
581 exactos), utilice @code{set-global-staff-size}.
584 #(set-global-staff-size 14)
588 Esto establece el tamaño global predeterminado a una altura de
589 pentagrama de 14pt y escala todas las tipografías de manera
592 Para establecer el tamaño del pentagrama de forma individual para cada
598 #(layout-set-staff-size 15)
603 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
604 distintos. Cada fuente tipográfica está afinada para un tamaño de
605 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
606 pesada, para que coincida con las líneas de pentagrama relativamente
607 más gruesas. Los tamaños de tipografía recomendados están
608 relacionados en la tabla siguiente:
611 @multitable @columnfractions .15 .2 .22 .2
613 @item @b{nombre de la fuente}
614 @tab @b{altura del pentagrama (pt)}
615 @tab @b{altura del pentagrama (mm)}
621 @tab partituras de bolsillo
646 @tab particellas estándar
657 @c modern rental material?
662 Estas tipografías están disponibles en cualquier tamaño. La propiedad
663 de contexto @code{fontSize} y la propiedad de disposición
664 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
665 afinar el tamaño de los pentagramas individuales. Los tamaños de
666 pentagrama individuales están en relación al tamaño global.
675 Referencia de la notación:
676 @ref{Selecting notation font size}.
678 Fragmentos de código:
684 @code{layout-set-staff-size} no cambia la distancia entre las líneas
689 @subsection Score layout
693 Mientras que @code{\paper} conteine ajustes relativos al formato de
694 página del documento completo, @code{\layout} contiene ajustes para la
695 disposición específica de cada partitura.
701 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
704 \override TextScript #'padding = #1.0
705 \override Glissando #'thickness = #3
713 Referencia de la notación:
714 @ref{Changing context default settings}.
716 Fragmentos de código:
726 * Optimal page breaking::
727 * Optimal page turning::
728 * Minimal page breaking::
730 * Using an extra voice for breaks::
735 @subsection Line breaking
737 @cindex saltos de línea
738 @cindex línea, saltos de
740 Normalmente los saltos de línea se determinan automáticamente. Se
741 eligen de forma que las líneas no aparezcan demasiado apretadas ni
742 demasiado sueltas, y que las líneas consecutivas tengan una densidad
743 similar. Ocasionalmente podemos querer sobreescribir los saltos
744 automáticos; podemos hacerlo especficando @code{\break}. Esto fuerza
745 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
746 pueden suceder al final de los compases @q{completos}, es decir, donde
747 no queda ninguna nota o grupo especial @q{colgando} por encima de la
748 línea divisoria. Si queremos poner un salto de línea donde no hay
749 línea divisoria, podemos forzar una barra de compás invisible
750 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
751 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
753 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
754 la barra divisoria en que se inserta.
756 Los ajustes más básicos que influyen sobre el espaciado de las líneas
757 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
758 @code{\layout}. Controlan el sangrado de la primera línea de música,
759 y la longitud de las líneas.
761 Si se establece @code{ragged-right} a verdadero en el bloque
762 @code{\layout}, los sistemas terminan en su longitud horizontal
763 natural, en lugar de distribuirse horizontalmente para llenar toda la
764 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
765 comprobación de lo apretado que es el espaciado natural.
767 @c TODO Check and add para on default for ragged-right
769 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
770 afecta sólo a la última línea de la pieza.
782 @cindex regular line breaks
783 @cindex four bar music.
785 Para saltos de línea a intervalos regulares utilice @code{\break}
786 separado mediante desplazamientos con @code{\skip} y repetidos con
787 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
788 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
789 compases, y sólo en dichos lugares:
792 << \repeat unfold 7 @{
793 s1 \noBreak s1 \noBreak
794 s1 \noBreak s1 \break @}
795 @emph{the real music}
800 Una configuración de división de líneas se puede guardar como archivo
801 @code{.ly} automáticamente. Ello permite que alineaciones verticales
802 se estiren para que encajen en las páginas durante una segunda
803 ejecución del proceso de formateo. Esta posibilidad es bastante
804 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
817 Referencia de funcionamiento interno:
818 @rinternals{LineBreakEvent}.
820 Fragmentos de código:
826 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
827 divisoria. Una nota colgando de una línea divisoria no es adecuada,
830 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
831 c4 c2 << c2 {s4 \break } >> % this does nothing
832 c2 c4 | % a break here would work
833 c4 c2 c4 ~ \break % as does this break
837 Esto se puede evitar eliminando el grabador
838 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
839 forzados manualmente breaks se tienen que añadir en paralelo con la
842 @lilypond[quote,ragged-right,verbatim]
844 \remove Forbid_line_break_engraver
846 c4 c2 << c2 {s4 \break } >> % now the break is allowed
851 De forma parecida, los saltos de línea están prohibidos normalmente
852 cuando las barras cruzan a las líneas divisorias. Este comportamiento
853 se puede modificar con el establecimiento de @code{\override Beam
858 @subsection Page breaking
860 Se puede sobreescribir el mecanismo predeterminado de salto de página
861 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
862 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
863 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
864 y prohíben, respectivamente, la eventualidad de un salto de página.
865 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
868 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
869 pueden insertar en el nivel más alto, entre las partituras y los
870 elementos de marcado situados en el nivel superior.
872 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
873 tienen el mismo efecto sobre el espaciado vertical:
874 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
875 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
876 la última página, respectivamente, no se verán justificados
879 Para ver más detalles, consulte @ref{Vertical spacing}.
881 Los saltos de página se calculan por medio de la función
882 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
883 de los saltos de página: @code{ly:optimal-breaking},
884 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
885 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
886 cambiar en el bloque @code{\paper}:
890 #(define page-breaking ly:page-turn-breaking)
894 @c TODO Check this -td
895 El antiguo algoritmo de división de páginas se llama
896 @code{optimal-page-breaks}. Si tiene problemas con los nuevos
897 divisores de página, puede habilitar el antiguo como forma de rodear
905 @funindex \noPageBreak
911 Fragmentos de código:
915 @node Optimal page breaking
916 @subsection Optimal page breaking
918 @funindex ly:optimal-breaking
920 La función @code{ly:optimal-breaking} es el método predeterminado de
921 LilyPond para determinar los saltos de página. Intenta hallar una
922 división de páginas que haga mínimos el apretujamiento y la
923 distensión, tanto horizontal como verticalmente. A diferencia de
924 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
930 Fragmentos de código:
934 @node Optimal page turning
935 @subsection Optimal page turning
937 @funindex ly:page-turn-breaking
939 Con frecuencia es necesario encontrar una configuración de división de
940 páginas de manera que haya un silencio al final de una página de cada
941 dos. De esta forma, el músico puede pasar la página sin perder notas.
942 La función @code{ly:page-turn-breaking} trata de encontrar una
943 división de páginas que haga mínimos el apretujamiento y el
944 estiramiento, pero con la restricción añadida de que sólo se permite
945 introducir vueltas de página en los lugares especificados.
947 Hay dos etapas en el uso de esta función de división de páginas. En
948 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
949 explicó en @ref{Page breaking}. Entonces debemos decirle a la función
950 dónde nos gustaría permitir los saltos de página.
952 Hay dos formas de conseguir la segunda tarea. Primero, podemos
953 especificar manualmente cada uno de los pasos de página potenciales,
954 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
957 Si esto es demasiado tedioso, podemos añadir un grabador
958 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
959 @code{Page_turn_engraver} analizará el contexto en biusca de secciones
960 sin notas (observe que no busca silencios, sino la ausencia de notas.
961 Se hace así para que la polifonía en un solo pentagrama con silencios
962 en una de las voces no arruine la labor del grabador
963 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
964 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
965 un @code{\allowPageTurn} en la última barra de compás de dicha
966 sección, a no ser que haya una barra @q{especial} de compás (como una
967 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
968 última barra @q{especial} de compás de la sección.
970 @funindex minimumPageTurnLength
971 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
972 @code{minimumPageTurnLength} para determinar qué longitud debe tener
973 una sección sin notas antesd e que se considere la posibilidad de un
974 paso de página. El valor predeterminado para
975 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
976 quiere inhabilitar las vueltas de página, puede establecerlo a algún
980 \new Staff \with @{ \consists "Page_turn_engraver" @}
983 R1 | % a page turn will be allowed here
985 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
986 R1 | % a page turn will not be allowed here
988 R1*2 | % a page turn will be allowed here
993 @funindex minimumRepeatLengthForPageTurn
994 El grabador @code{Page_turn_engraver} detecta las repeticiones de
995 primera y segunda vez. Sólo permite un pase de página durante la
996 repetición si hay suficiente tiempo al principio y al final de la
997 repetición para volver a pasar la página hacia atrás. El grabador
998 @code{Page_turn_engraver} también puede inhabilitar los pasos de
999 página si la repetición es muy corta. Si establecemos la propiedad de
1000 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1001 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1002 repeticiones cuya duración sea mayor que este valor.
1004 Las instrucciones de paso de página, @code{\pageTurn},
1005 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1006 el nivel más elevado del código, entre las partituras y los elementos
1007 de marcado del nivel superior.
1014 @funindex \noPageTurn
1016 @funindex \allowPageTurn
1017 @code{\allowPageTurn}.
1022 Fragmentos de código:
1028 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1029 partitura. Si hay más de uno, se interferirán entre sí.
1032 @node Minimal page breaking
1033 @subsection Minimal page breaking
1035 @funindex ly:minimal-breaking
1037 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1038 para determinar los saltos de página: completa una página con tantos
1039 sistemas como sea posible antes de continuar con la siguiente. Así,
1040 puede preferirse para partituras con muchas páginas, donde las otras
1041 funciones de salto de página pueden resultar demasiado lentas o ávidas
1042 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1046 #(define page-breaking ly:minimal-breaking)
1053 Fragmentos de código:
1057 @node Explicit breaks
1058 @subsection Explicit breaks
1060 Lily a veces rechaza las instrucciones @code{\break} y
1061 @code{\pageBreak} explícitas. Hay dos instrucciones para
1062 sobreescribir este comportamiento:
1065 \override NonMusicalPaperColumn #'line-break-permission = ##f
1066 \override NonMusicalPaperColumn #'page-break-permission = ##f
1069 Cuando se sobreescribe el valor de @code{line-break-permission} a
1070 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1071 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1072 @code{page-break-permission} a falso, Lily inserta saltos de página en
1073 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1075 @lilypond[quote,verbatim]
1084 \override NonMusicalPaperColumn #'line-break-permission = ##f
1085 \override NonMusicalPaperColumn #'page-break-permission = ##f
1088 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1089 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1090 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1091 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1092 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1093 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1094 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1095 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1104 Fragmentos de código:
1108 @node Using an extra voice for breaks
1109 @subsection Using an extra voice for breaks
1111 La información sobre saltos de línea y de página suele aparecer
1112 directamente intermezclado dentro del código de notas.
1117 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1119 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1124 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1125 @code{\pageBreak}, pero mezcla la escritura de música con información
1126 que especifica cómo se debe disponer la música sobre la página.
1127 Podemos mantener la introducción de música y la información de saltos
1128 de línea y de página en dos lugares separados mediante la introducción
1129 de una voz adicional que contenga los saltos. Esta voz adicional
1130 contiene solamente desplazamientos o @q{skips} junto con los
1131 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1132 disposición de los saltos.
1134 @lilypond[quote,verbatim]
1144 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1145 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1146 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1147 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1153 Este patrón resulta especialmente útil cuando se sobreescribe
1154 @code{line-break-system-details} y las otras útiles (pero largas)
1155 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1156 @ref{Vertical spacing}.
1158 @lilypond[quote,verbatim]
1163 \overrideProperty "Score.NonMusicalPaperColumn"
1164 #'line-break-system-details #'((Y-offset . 0))
1167 \overrideProperty "Score.NonMusicalPaperColumn"
1168 #'line-break-system-details #'((Y-offset . 35))
1171 \overrideProperty "Score.NonMusicalPaperColumn"
1172 #'line-break-system-details #'((Y-offset . 70))
1175 \overrideProperty "Score.NonMusicalPaperColumn"
1176 #'line-break-system-details #'((Y-offset . 105))
1180 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1181 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1182 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1183 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1192 Referencia de la notación:
1193 @ref{Vertical spacing}.
1195 Fragmentos de código:
1199 @node Vertical spacing
1200 @section Vertical spacing
1202 @cindex espaciado vertical
1203 @cindex vertical, espaciado
1205 El espaciado vertical está controlado por tres factores: la cantidad
1206 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1207 la separación entre los sistemas, y la separación entre los
1208 pentagramas dentro de un sistema.
1211 * Vertical spacing inside a system::
1212 * Vertical spacing between systems::
1213 * Explicit staff and system positioning::
1214 * Two-pass vertical spacing::
1215 * Vertical collision avoidance::
1219 @node Vertical spacing inside a system
1220 @subsection Vertical spacing inside a system
1222 @cindex distancia entre pentagramas
1223 @cindex pentagrama, distancia entre los
1224 @cindex espacio entre pentagramas
1225 @cindex espacio dentro de los sistemas
1227 La altura de cad sistema se determina automáticamente. Para evitar
1228 que los pentagramas se superpongan unos encima de otros, se establecen
1229 algunas distancias mínimas. Al modificarlas, podemos poner los
1230 pentagramas más cerca unos de otros. Esto reduce el espacio que
1231 requiere cada sistema y puede resultar en la obtención de más sistemas
1234 Normalmente los pentagramas se apilan verticalmente. Para hacer que
1235 los pentagramas guarden una distancia, se rellena su tamaño vertical.
1236 Esto se hace con la propiedad @code{minimum-Y-extent}. Si se aplica a
1237 @rinternals{VerticalAxisGroup}, controla el tamaño de una línea
1238 horizontal, como un pentagrama o una línea de letra.
1239 @code{minimum-Y-extent} acepta una pareja de números, de forma que si
1240 queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
1241 . 4)} entonces podemos establecer
1244 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1248 Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
1249 pentagrama a cada lado de la tercera línea. El valor @code{(-3 . 3)}
1250 se interpreta como un intervalo, donde la línea central es el 0, por
1251 lo que el primer número es negativo en general. Los números no tienen
1252 que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
1253 debajo dándole el valor @code{(-6 . 4)}.
1255 Después de que se han determinado los saltos de página, se reevalúa el
1256 espaciado vertical dentrod e cada sistema para llenar la página de
1257 forma más regular; si una página tiene más espacio de sobra, se
1258 amplían los sistemas para poder llenar este espacio. La magnitud de
1259 esta ampliación se puede configurar a través de la propiedad
1260 @code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
1261 predeterminada, @code{max-stretch} se establece a cero, inhabilitando
1262 la ampliación. Para habilitar la ampliación, un valor prudente para
1263 @code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
1265 En ciertas situaciones, podemos querer ampliar la mayor parte de un
1266 sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si
1267 una parte de piano aparece en el medio de una partitura orquestal,
1268 podemos querer dejar los pentagramas de piano cercanos entre sí
1269 mientras se estira el resto de la partitura. Se puede usar la
1270 propiedad @code{keep-fixed-while-stretching} de
1271 @rinternals{VerticalAxisGroup} para conseguirlo. Cuando se establece
1272 al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
1273 de letra) se desplace en relación al que está directamente encima de
1274 él. En el ejemplo anterior, podríamos sobreescribir
1275 @code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
1276 pentagrama del piano:
1279 #(set-default-paper-size "a6")
1280 #(set-global-staff-size 14.0)
1284 ragged-last-bottom = ##f
1289 \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1296 \new Staff {c' d' e' f'}
1297 \new Staff {c' d' e' f'}
1298 \new Staff {c' d' e' f'}
1303 \new Staff {c' d' e' f'}
1305 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1312 \new Staff {c' d' e' f'}
1313 \new Staff {c' d' e' f'}
1320 La alineación vertical de los pentagramas está manejada por el objeto
1321 @code{VerticalAlignment}. Los parámetros de contexto que especifican
1322 las dimensiones verticales están descritas en conexión con el grabador
1323 @code{Axis_group_engraver}.
1328 Fragmentos de código:
1331 @c @lsr{spacing,page-spacing.ly},
1332 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1334 Referencia de funcionamiento interno:
1335 @rinternals{VerticalAlignment},
1336 @rinternals{Axis_group_engraver}.
1339 @node Vertical spacing between systems
1340 @subsection Vertical spacing between systems
1342 La separación entre los sistemas está controlada por cuatro variables
1347 between-system-space = 1.5\cm
1348 between-system-padding = #1
1350 ragged-last-bottom=##f
1354 Cuando sólo se ponen dos simples sistemas en una página, el espaciado
1355 vertical resultante puede ser bastante poco elegante: un sistema en la
1356 parte alta de la página y el otro en la parte baja, con un enorme
1357 hueco entre ellos. Para evitar esta situación se puede limitar el
1358 espacio que se añade entre los sistemas. Esta posibilidad se activa
1359 mediante el establecimiento al valor @code{#t} de la variable
1360 @code{page-limit-inter-system-space} en el bloque @code{\paper}. La
1361 variable del papel @code{page-limit-inter-system-space-factor}
1362 determina en qué cantidad se puede incrementar el espacio: por
1363 ejemplo, el valor @code{1.3} sisgnifica que el espacio puede ser un
1364 30% mayor que lo que sería en una página no justificada hasta abajo.
1366 En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
1367 limitado, el segundo sistema de la página 1 se situaría en la parte de
1368 abajo de la página. Activando la limitación de espacio, el segundo
1369 sistema se coloca más cerca del primero. Estableciendo
1370 @code{page-limit-inter-system-space-factor} a @code{1}, el espacio
1371 sería el mismo que en una página sin justificar por abajo, como la
1375 #(set-default-paper-size "a6")
1378 page-limit-inter-system-space = ##t
1379 page-limit-inter-system-space-factor = 1.3
1381 oddFooterMarkup = \markup "page bottom"
1382 evenFooterMarkup = \markup "page bottom"
1383 oddHeaderMarkup = \markup \fill-line {
1384 "page top" \fromproperty #'page:page-number-string }
1385 evenHeaderMarkup = \markup \fill-line {
1386 "page top" \fromproperty #'page:page-number-string }
1388 \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1389 { s1*2 \pageBreak } >>
1396 Fragmentos de código:
1400 @node Explicit staff and system positioning
1401 @subsection Explicit staff and system positioning
1403 Una forma de entender los ajustes de @code{VerticalAxisGroup} y de
1404 @code{\paper} que se explicaron en las dos secciones anteriores es
1405 como una colección de distintos ajustes que conciernen principalmente
1406 a la cantidad de relleno vertical que adquieren los distintos
1407 pentagramas y sistemas al ocupar la página.
1409 Es posible abordar el problema del espaciado vertical de una forma
1410 distinta utilizando @code{NonMusicalPaperColumn
1411 #'line-break-system-details}. Donde los ajustes de
1412 @code{VerticalAxisGroup} y de @code{\paper} especifican el relleno
1413 vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
1414 especifica las posiciones verticales exactas en la página.
1416 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
1417 lista asociativa de cinco ajustes distintos:
1420 @item @code{X-offset}
1421 @item @code{Y-offset}
1422 @item @code{alignment-offsets}
1423 @item @code{alignment-extra-space}
1424 @item @code{fixed-alignment-extra-space}
1427 Las sobreescrituras de los objetos gráficos, entre ellas las de
1428 @code{NonMusicalPaperColumn} que aparece más abajo, pueden ocurrir en
1429 tres lugares distintos dentro de un archivo de entrada:
1432 @item directamente en medio de las notas
1433 @item en un bloque @code{\context}
1434 @item en el bloque @code{\with}
1437 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
1438 instrucción @code{\override} usual en los bloques @code{\context} y en
1439 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
1440 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
1441 instrucción especial @code{\overrideProperty}. He aquí algunas
1442 sebreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
1443 instrucción especial @code{\overrideProperty}:
1446 \overrideProperty NonMusicalPaperColumn
1447 #'line-break-system-details #'((X-offset . 20))
1449 \overrideProperty NonMusicalPaperColumn
1450 #'line-break-system-details #'((Y-offset . 40))
1452 \overrideProperty NonMusicalPaperColumn
1453 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1455 \override NonMusicalPaperColumn
1456 #'line-break-system-details #'((alignment-offsets . (0 -15)))
1458 \override NonMusicalPaperColumn
1459 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1460 (alignment-offsets . (0 -15)))
1463 Para entender cómo funciona cada uno de los distintos ajustes,
1464 empezamos observando un ejemplo que no incluye absolutamente ninguna
1467 @lilypond[quote,ragged-right]
1475 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1478 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1483 Esta partitura mantiene aislada la información de los saltos de línea
1484 y de página en una voz dedicada a ello. Esta técnica de crear una voz
1485 de saltos ayuda a mantener separada de la escritura de notas conforme
1486 el ejemplo se vuelve más complicado. Consulte @ref{Using an extra
1489 Los saltos explícitos dividen la música de forma regular en seis
1490 compases por línea. El espaciado vertical es el resultado de los
1491 ajustes predeterminados de LilyPond. Para establecer explícitamente
1492 el punto de origen vertical de cada sistema, podemos establecer el par
1493 @code{Y-offset} en el atributo @code{line-break-system-details} del
1494 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
1496 @lilypond[quote,ragged-right]
1500 \overrideProperty #"Score.NonMusicalPaperColumn"
1501 #'line-break-system-details #'((Y-offset . 0))
1503 \overrideProperty #"Score.NonMusicalPaperColumn"
1504 #'line-break-system-details #'((Y-offset . 40))
1506 \overrideProperty #"Score.NonMusicalPaperColumn"
1507 #'line-break-system-details #'((Y-offset . 80))
1510 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1513 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1518 Observe que @code{line-break-system-details} toma una lista asociativa
1519 de una cantidad de valores potencialmente elevada, pero aquí sólo
1520 fijamos un valor. Observe también que aquí la propiedad
1521 @code{Y-offset} determina la posición vertical exacta sobre la página
1522 en la que se trazará cada uno de los nuevos sistemas.
1524 Ahora que hemos establecido explícitamente el punto de origen vertical
1525 de cada sistema, podemos también establecer manualmente el punto de
1526 origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos
1527 usando la subpropiedad @code{alignment-offsets} de
1528 @code{line-break-system-details}.
1530 @lilypond[quote,ragged-right]
1534 \overrideProperty #"Score.NonMusicalPaperColumn"
1535 #'line-break-system-details #'((Y-offset . 20)
1536 (alignment-offsets . (0 -15)))
1538 \overrideProperty #"Score.NonMusicalPaperColumn"
1539 #'line-break-system-details #'((Y-offset . 60)
1540 (alignment-offsets . (0 -15)))
1542 \overrideProperty #"Score.NonMusicalPaperColumn"
1543 #'line-break-system-details #'((Y-offset . 100)
1544 (alignment-offsets . (0 -15)))
1547 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1550 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1555 Aobserve que aquí asignamos dos valores distintos al atributo
1556 @code{line-break-system-details} del grob
1557 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
1558 @code{line-break-system-details} acepta muchos parámetros de espaciado
1559 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
1560 correspondiente), sólo tenemos que establecer el desplazamiento
1561 @code{Y-offset} y los pares @code{alignment-offsets} para controlar el
1562 punto de origen vertical de cada sistema y pentagrama. Finalmente,
1563 observe que @code{alignment-offsets} especifica el posicionamiento
1564 vertical de los pentagramas pero no de los grupos de pentagramas.
1566 @lilypond[quote,ragged-right]
1570 \overrideProperty #"Score.NonMusicalPaperColumn"
1571 #'line-break-system-details #'((Y-offset . 0)
1572 (alignment-offsets . (0 -30 -40)))
1574 \overrideProperty #"Score.NonMusicalPaperColumn"
1575 #'line-break-system-details #'((Y-offset . 60)
1576 (alignment-offsets . (0 -10 -20)))
1578 \overrideProperty #"Score.NonMusicalPaperColumn"
1579 #'line-break-system-details #'((Y-offset . 100)
1580 (alignment-offsets . (0 -10, -40)))
1583 \new Voice { \repeat unfold 18 { c'4 c'4 c'4 c'4 } }
1587 \repeat unfold 18 { d'4 d'4 d'4 d'4 }
1590 \repeat unfold 18 { e'4 e'4 e'4 e'4 }
1596 Algunos puntos que tener en cuenta:
1599 @item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
1601 @item Las unidades de los números que se pasan a @code{X-offset},
1602 @code{Y-offset} y @code{alignment-offsets} se interpretan como
1603 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
1604 valores positivos mueven a los pentagramas y a la letra hacia arriba,
1605 los valores negativos mueven los pentagramas y la letra hacia abajo.
1607 @item A causa de que los ajustes a @code{NonMusicalPaperColumn #'line-break-system-details}
1608 dados aquí permiten el posicionamiento de pentagramas y sistemas en
1609 cualquier lugar de la página, es posible violar los márgenes o los
1610 límites del papel, o incluso imprimir pentagramas o sistemas unos
1611 encima de otros. Esto se evitaría pasando a los diferentes ajustes
1612 unos valores razonables.
1618 Fragmentos de código:
1622 @node Two-pass vertical spacing
1623 @subsection Two-pass vertical spacing
1625 @warning{El espaciado vertical en dos pasadas está obsoleto y se
1626 eliminará en una versión futura de LilyPond. Ahora los sistemas se
1627 amplían automáticamente en un solo paso. Véase @ref{Vertical spacing
1630 In order to automatically stretch systems so that they should fill the
1631 space left on a page, a two-pass technique can be used:
1634 @item In the first pass, the amount of vertical space used to increase
1635 the height of each system is computed and dumped to a file.
1636 @item In the second pass, spacing inside the systems are
1637 stretched according to the data in the page layout file.
1640 The @code{ragged-bottom} property adds space between systems, while
1641 the two-pass technique adds space between staves inside a system.
1643 To allow this behavior, a @code{tweak-key} variable has to be set in
1644 each score @code{\layout} block, and the tweaks included in each score
1645 music, using the @code{\scoreTweak} music function.
1649 %% include the generated page layout file:
1650 \includePageLayoutFile
1655 %% Include this score tweaks:
1656 \scoreTweak "scoreA"
1657 { \clef french c''1 \break c''1 }
1659 \new Staff { \clef soprano g'1 g'1 }
1660 \new Staff { \clef mezzosoprano e'1 e'1 }
1661 \new Staff { \clef alto g1 g1 }
1662 \new Staff { \clef bass c1 c1 }
1665 piece = "Score with tweaks"
1667 %% Define how to name the tweaks for this score:
1668 \layout { #(define tweak-key "scoreA") }
1673 For the first pass, the @code{dump-tweaks} option should be set to
1674 generate the page layout file.
1677 lilypond -dbackend=null -d dump-tweaks <file>.ly
1684 Fragmentos de código:
1688 @node Vertical collision avoidance
1689 @subsection Vertical collision avoidance
1691 @funindex outside-staff-priority
1692 @funindex outside-staff-padding
1693 @funindex outside-staff-horizontal-padding
1695 Podemos decir intuitivamente que algunos objetos de la notación
1696 musical pertenecen al pentagrama y otros se sitúan fuera del
1697 pentagrama. Entre los objetos que pertenecen al exterior del
1698 pentagrama están las marcas de ensayo, las marcas textuales y las
1699 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
1700 del pentagrama). La regla de LilyPond para la colocación vertical de
1701 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
1702 como sea posible pero no tan próximos como para que choquen con otro
1705 LilyPond utiliza la propiedad @code{outside-staff-priority} para
1706 determinar si un grob es un objeto fuera del pentagrama: si
1707 @code{outside-staff-priority} es un número, el grob es un objeto fuera
1708 del pentagrama. Además, @code{outside-staff-priority} informa a
1709 LilyPond en qué orden se debe situar los objetos.
1711 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
1712 exterior del pentagrama. Después ordena los objetos fuera del
1713 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
1714 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
1715 a uno y los coloca de forma que no choquen con ningún objeto que ya
1716 haya sido colocado. Eesto es, si dos grobs fuera del pentagrama
1717 compiten por el mismo espacio, el que tiene la prioridad
1718 @code{outside-staff-priority} más baja se colocará más próximo al
1721 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1724 \once \override TextScript #'outside-staff-priority = #1
1725 c4_"Text"\pp % this time the text will be closer to the staff
1727 % by setting outside-staff-priority to a non-number,
1728 % we disable the automatic collision avoidance
1729 \once \override TextScript #'outside-staff-priority = ##f
1730 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1731 c4_"Text"\pp % now they will collide
1734 El relleno vertical entre un objeto fuera del pentagrama y los grobs
1735 posicionados previamente se puede controlar con
1736 @code{outside-staff-padding}.
1738 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1739 \once \override TextScript #'outside-staff-padding = #0
1740 a'^"This text is placed very close to the note"
1741 \once \override TextScript #'outside-staff-padding = #3
1742 c^"This text is padded away from the previous text"
1743 c^"This text is placed close to the previous text"
1746 HACER: ¿este ejemplo ya no funciona?
1748 De forma predeterminada, los objetos fuera del pentagrama se sitúan
1749 sin tener en cuenta su distancia horizontal a partir de los grobs
1750 posicionados previamente. Esto puede llevar a situiaciones en las que
1751 los objetos se colocan muy próximos entre sí en el sentido horizontal.
1752 El establecimiento del relleno horizontal
1753 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
1754 desplace verticalmente para que tal situiación no ocurra.
1756 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1757 % the markup is too close to the following note
1760 % setting outside-staff-horizontal-padding fixes this
1762 \once \override TextScript #'outside-staff-horizontal-padding = #1
1770 Fragmentos de código:
1774 @node Horizontal spacing
1775 @section Horizontal spacing
1777 @cindex horizontal, espaciado
1778 @cindex espaciado horizontal
1781 * Horizontal spacing overview::
1782 * New spacing area::
1783 * Changing horizontal spacing::
1785 * Proportional notation::
1789 @node Horizontal spacing overview
1790 @subsection Horizontal spacing overview
1792 El motor de espaciado traduce las diferencias en las duraciones a
1793 distancias ampliables (@q{muelles}) de distintas longitudes. Las
1794 duraciones más largas reciben un espacio mayor y las duraciones más
1795 cortas reciben menos. Las duraciones más breves reciben un espacio de
1796 tamaño fijo (que se controla mediante @code{shortest-duration-space}
1797 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
1798 duración, más espacio recibe: al doblar una duración se añade un
1799 espacio de tamaño fijo (este tamaño se controla mediante
1800 @code{spacing-increment}) a la nota.
1802 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
1803 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
1804 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
1806 @lilypond[quote,fragment,verbatim,relative=1]
1807 c2 c4. c8 c4. c8 c4. c8 c8
1811 Normalmente, el valor de @code{spacing-increment} está establecido en
1812 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
1813 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
1814 que significa que la nota más breve recibe 2.4 espacios de pentagrama
1815 (2.0 multiplicado por el @code{spacing-increment}) de espacio
1816 horizontal. Este espacio se cuenta a partir del borde izquierdo del
1817 símbolo, de manera que las notas más breves van seguidas generalmente
1818 por un espacio de 1 ACB.
1820 Si siguiésemos el procedimiento anterior exactamente, entonces la
1821 adición de una sola fusa a una partitura que usa corcheas y
1822 semicorcheas, aumentaría enormemente la anchuta de la partitura
1823 completa. La nota más breve ya no es la semicorchea, sino la fusa,
1824 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
1825 duración más breve a efectos de espaciado no es la nota más breve de
1826 la partitura, sino la que ocurre con más frecuencia.
1828 La duración más breve que es más común se determina de la siguiente
1829 manera: en cada compás se determina la duración más breve. La menor
1830 duración más común se toma como base para el espaciado, habiendo
1831 estipulado que esta duración menor siempre debe ser igual o menor que
1832 una corchea. La duración más breve se imprime cuando se ejecuta
1833 @code{lilypond} con la opción @code{--verbose}.
1835 Estas duraciones también se pueden personalizar. Si establecemos la
1836 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
1837 entonces éste establece la duración base para el espaciado. La
1838 duración máxima para esta base (normalmente un a corchea), se fija a
1839 través de @code{base-shortest-duration}.
1841 @funindex common-shortest-duration
1842 @funindex base-shortest-duration
1843 @funindex stem-spacing-correction
1846 Las notas que son aún más breves que la nota común más breve van
1847 seguidas por un espacio proporcional a su duración en relación con la
1848 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
1849 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
1851 @lilypond[quote,fragment,verbatim,relative=2]
1852 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1855 En la introducción (véase @rlearning{Engraving}), se explicó que las
1856 direcciones de las plicas influyen en el espaciado. Esto se controla
1857 con la propiedad @code{stem-spacing-correction} en el objeto
1858 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
1859 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
1860 (generado en el contexto de @rinternals{Staff}) contiene la misma
1861 propiedad para controlar el espaciado de las líneas de plica o
1862 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
1863 con los valores predeterminados y otra con correcciones exageradas:
1865 @lilypond[quote,ragged-right]
1869 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1870 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
1876 Está contemplada la notación proporcional; consulte @ref{Proportional
1882 Fragmentos de código:
1885 Referencia de funcionamiento interno:
1886 @rinternals{SpacingSpanner},
1887 @rinternals{NoteSpacing},
1888 @rinternals{StaffSpacing},
1889 @rinternals{SeparationItem}.
1894 No existe ningún mecanismo conveniente para sobreescribir el espaciado
1895 manualmente. Se puede usar el siguiente rodeo para insertar espacio
1896 adicional en una partitura.
1899 \once \override Score.SeparationItem #'padding = #1
1902 No existe ningún rodeo para disminuir la magnitud de la separación.
1905 @node New spacing area
1906 @subsection New spacing area
1908 Se pueden inicar secciones nuevas con diferentes parámetros de
1909 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
1910 secciones que tienen distinta noción de las notas largas y cortas.
1912 En el ejemplo siguiente, el cambio de compás introduce una sección
1913 nueva, y por ello las semicorcheas se separan de manera más amplia.
1915 @lilypond[relative,fragment,verbatim,quote]
1918 c8 c c4 c16[ c c8] c4
1924 La instrucción @code{\newSpacingSection} crea un nuevo objeto
1925 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
1926 instrucciones de sobreescritura @code{\override} en dicho punto.
1931 Fragmentos de código:
1934 Referencia de funcionamiento interno:
1935 @rinternals{SpacingSpanner}.
1938 @node Changing horizontal spacing
1939 @subsection Changing horizontal spacing
1941 Se puede alterar el espaciado horizontal con la propiedad
1942 @code{base-shortest-duration}. Aquí compararemos la misma música, una
1943 vez sin alterar la propiedad, y luego alterándola. Los valores
1944 mayores de @code{ly:make-moment} producen música más pequeña. Observe
1945 que @code{ly:make-moment} construye una duración, por lo que @code{1
1946 4} es una duración mayor que @code{1 16}.
1948 @lilypond[verbatim,line-width=12\cm]
1951 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
1952 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
1953 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
1954 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
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 \override SpacingSpanner
1971 #'base-shortest-duration = #(ly:make-moment 1 16)
1980 De forma predeterminada, el espaciado en los grupos de valoración
1981 especial depende de varios factores ajenos a la duración (como
1982 alteraciones, cambios de clave, etc.). Para pasar por alto estos
1983 símbolos y forzar un espaciado de duraciones iguales uniforme, use
1984 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
1985 puede cambiarse al principio de la partitura:
1987 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1989 \override SpacingSpanner #'uniform-stretching = ##t
2006 Cuando se establece @code{strict-note-spacing}, las notas se separan
2007 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2009 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2010 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2011 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2017 Fragmentos de código:
2022 @subsection Line length
2024 @cindex saltos de página
2025 @cindex página, saltos de
2028 @funindex line-width
2029 @funindex ragged-right
2030 @funindex ragged-last
2032 @c Although line-width can be set in \layout, it should be set in paper
2033 @c block, to get page layout right.
2034 @c Setting indent in \paper block makes not much sense, but it works.
2036 @c Bit verbose and vague, use examples?
2037 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2038 y @code{line-width}. Se definen en el bloque @code{\layout}.
2039 Controlan el sangrado de la primera línea de música y la longitud de
2042 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2043 @code{\layout}, entonces los sistemas terminan en su longitud
2044 horizontal natural, en lugar de repartirse horizontalmente hasta
2045 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2046 comprobar qué tan apretado es el espaciado natural.
2048 @cindex diseño de página
2049 @cindex página, disposición de la
2050 @cindex vertical, espaciado
2052 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2053 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2054 restricción sobre dicha línea. El resultado es similar al formateo de
2055 los párrafos de texto. En un párrafo, la última línea sencillamente
2056 ocupa su longitud horizontal natural.
2057 @c Note that for text there are several options for the last line.
2058 @c While Knuth TeX uses natural length, lead typesetters use the same
2059 @c stretch as the previous line. eTeX uses \lastlinefit to
2060 @c interpolate between both these solutions.
2075 Fragmentos de código:
2079 @node Proportional notation
2080 @subsection Proportional notation
2082 LilyPond contempla la notación proporcional, un tipo de espaciado
2083 horizontal en el que cada nota consume una medida horizontal que
2084 equivale exactamente a su duración rítmica. Este tipo de espaciado
2085 proporcional es comparable al espaciado horizontal hecho sobre un
2086 papel milimetrado. Ciertas partituras del finales del s.XX y
2087 principios del s.XXI utilizan notación proporcional para clarificar
2088 relaciones rítmicas complejas o para facilitar la colocación de líneas
2089 cronométricas u otros gráficos directamente en la partitura.
2091 LilyPond contempla cinco ajustes distintos para la notación
2092 proporcional, que se pueden usar solos o combinados:
2095 @item @code{proportionalNotationDuration}
2096 @item @code{uniform-stretching}
2097 @item @code{strict-note-spacing}
2098 @item @code{\remove Separating_line_group_engraver}
2099 @item @code{\override PaperColumn #'used = ##t}
2102 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2103 de la notación proporcional y examinamos la forma en que interactúan.
2105 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2106 espaciado clásico sin justificación por la derecha.
2108 @lilypond[quote,verbatim,ragged-right]
2110 \new RhythmicStaff {
2114 c'16 c'16 c'16 c'16 c'16
2120 Observe que la blanca que inicia el compás ocupa mucho menos de la
2121 mitad de todo el espacio horizontal del compás. De forma similar, las
2122 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2123 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2126 En el grabado clásico, este espaciado puede ser exactamente el que
2127 deseamos porque podemos tomar prestado el espacio horizontal de la
2128 blanca y conservar el espacio horizontal a lo largo del compás como un
2131 Por otro lado, si quieremos insertar una línea de tiempo graduada o
2132 algún otro gráfico encima o debajo de la partitura, necesitamos la
2133 notación proporcional. Se activa la notación proporcional con el
2134 ajuste @code{proportionalNotationDuration}.
2136 @lilypond[quote,verbatim,ragged-right]
2138 proportionalNotationDuration = #(ly:make-moment 1 20)
2140 \new RhythmicStaff {
2144 c'16 c'16 c'16 c'16 c'16
2150 La blanca al princpio del compás y las notas rápidas de la segunda
2151 mitad del compás ocupan ahora igual cantidades iguales de espacio
2152 horizontal. Podríamos colocar una línea de tiempo graduada o un
2153 gráfico encima o debajo de este ejemplo.
2155 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2156 que reside en @code{Score}. Recordemos que los ajustes de contexto
2157 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2158 bloque @code{\with}, en un bloque @code{\context}, o directamente
2159 entre la música precedido por la instrucción @code{\set}. Como con
2160 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2161 tres lugares diferentes prefiere establecer el valor de
2162 @code{proportionalNotationDuration}.
2164 El ajuste @code{proportionalNotationDuration} acepta un solo
2165 argumento, que es la duración de referencia contra el que se aplica el
2166 espaciado de toda la música. La función Scheme de LilyPond
2167 @code{make-moment} acepta dos argumentos: un numerador y un
2168 denominador que, juntos, expresan una cierta fracción de redonda. La
2169 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2170 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2171 cinquillo). Los valores @code{#(ly:make-moment 1 16)},
2172 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)} son
2175 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2176 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2177 de ensayo y error, comenzando con una duración cercana a la más rápida
2178 (o más breve) duración de la pieza. Las duraciones de referencia más
2179 pequeñas aplican un espaciado más suelto; las duraciones de referencia
2180 más largas aplican un espaciado más apretado.
2182 @lilypond[quote,verbatim,ragged-right]
2184 proportionalNotationDuration = #(ly:make-moment 1 8)
2186 \new RhythmicStaff {
2190 c'16 c'16 c'16 c'16 c'16
2196 proportionalNotationDuration = #(ly:make-moment 1 16)
2198 \new RhythmicStaff {
2202 c'16 c'16 c'16 c'16 c'16
2208 proportionalNotationDuration = #(ly:make-moment 1 32)
2210 \new RhythmicStaff {
2214 c'16 c'16 c'16 c'16 c'16
2220 Observe que una duración de referencia demasiado grande (como la
2221 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
2222 apretado y puede ser causa de colisiones entre las cabezas de nota.
2223 Observe también que la notación proporcional en general ocupa más
2224 espacio horizontal que el espaciado clásico. El espaciado
2225 proporcional aporta claridad rítmica a expensas del espacio
2228 Ahora veremos cómo espaciar de forma óptima grupos de valoración
2229 especial que se superponen.
2231 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
2232 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
2233 diferente de grupo especial.
2235 @lilypond[quote,verbatim,ragged-right]
2237 \new RhythmicStaff {
2241 c'16 c'16 c'16 c'16 c'16
2244 \new RhythmicStaff {
2246 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2252 El espaciado es defectuoso porque las notas regularmente espaciadas
2253 del pentagrama inferior no se amplían de manera uniforme. El grabado
2254 clásico incluye muy pocos tresillos complejos y así las reglas del
2255 grabado clásico pueden generar este tipo de resultado. El
2256 establecimiento de @code{proportionalNotationDuration} remedia esta
2257 situación considerablemente.
2259 @lilypond[quote,verbatim,ragged-right]
2261 proportionalNotationDuration = #(ly:make-moment 1 20)
2263 \new RhythmicStaff {
2267 c'16 c'16 c'16 c'16 c'16
2270 \new RhythmicStaff {
2272 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2278 Pero si observamos con mucho cuidado podremos ver que las notas de la
2279 segunda mitad del 9-illo están espaciadas de forma ligeramente más
2280 ancha que las de la primera mitad del 9-illo. Para asegurar una
2281 ampliación uniforme, activamos @code{uniform-stretching}, que es una
2282 propiedad de @code{SpacingSpanner}.
2284 @lilypond[quote,verbatim,ragged-right]
2286 proportionalNotationDuration = #(ly:make-moment 1 20)
2287 \override SpacingSpanner #'uniform-stretching = ##t
2289 \new RhythmicStaff {
2293 c'16 c'16 c'16 c'16 c'16
2296 \new RhythmicStaff {
2298 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2304 Nuestro ejemplo de dos pentagramase ahora está espaciado exactamente,
2305 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
2306 una línea de tiempo graduada o un gráfico, si queremos.
2308 Observe que el paquere de notación proporcional de LilyPond espera que
2309 todas las partituras proporcionales establezcan el atributo
2310 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
2311 establecimiento de @code{proportionalNotationDuration} sin ajustar
2312 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
2313 al valor ##t causará, por ejemplo, que los desplazamientos
2314 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
2316 El @code{SpacingSpanner} es un grob abstracto que reside en el
2317 contexto de @code{Score}. Como con nuestros ajustes de
2318 @code{proportionalNotationDuration}, las sobreescrituras al
2319 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
2320 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
2321 @code{\context} o directamente dentro de la escritura de notas.
2323 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
2324 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
2325 está activado para la partitura completa o desactivado para la
2326 partitura completa. Sin embargo, podemos sobreesacibir este
2327 comportamiento y activar distintas posibilidades de espaciado en
2328 distintos lugares de la partitura. Lo hacemos con la instrucción
2329 @code{\newSpacingSection}. Consulte @ref{New spacing area} para más
2332 A continuación examinamos los efectos del grabador
2333 @code{Separating_line_group_engraver} y veremos por qué las partituras
2334 proporcionales con frecuencia eliminan este grabador. El ejemplo
2335 siguiente muestra que hay una pequeña cantidad de espacio
2336 @qq{preparatorio} justo antes de la primera nota de cada sistema.
2338 @lilypond[quote,verbatim,ragged-right]
2351 Esta cantidad de espacio preparatorio es la misma ya sea después de
2352 una indicación de compás, una armadura o una clave. El grabador
2353 @code{Separating_line_group_engraver} es responsable de este espacio.
2354 La eliminación de @code{Separating_line_group_engraver} reduce este
2357 @lilypond[quote,verbatim,ragged-right]
2363 \remove Separating_line_group_engraver
2371 Los elementos no musicales como la indicación de compás, la armadura,
2372 la clave y las alteraciones son problemáticos en notación
2373 proporcional. Ninguno de estos elementos tiene duración rítmica.
2374 Pero todos ellos consumen espacio horizontal. Las distintas
2375 partituras proporcionales abordan este problema de distinta manera.
2377 Sería posible evitar los problemas de espaciado con las armaduras,
2378 simplemente evitando tenerlas. Esta es una opción válida pues casi
2379 todas las partituras proporcionales son música contemporánea. Lo
2380 mismo puede valer para las indicaciones de compás, espacialmente para
2381 las partituras que incluyen ula línea de tiempo graduada u otro
2382 gráfico. Pero estas partituras son excepcionales y casi todas las
2383 partituras proporcionales incluyen al menos unas pocas indicaciones de
2384 compás. Las claves y las alteraciones son aún más esenciales.
2386 Así pues ¿qué estrategias existen para el espaciado de los elementos
2387 no musicales en un contexto proporcional? Una buena opción es la
2388 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
2389 Compare las dos partituras siguientes:
2391 @lilypond[quote,verbatim,ragged-right]
2393 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2403 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2404 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2414 Las dos poartituras son proporcionales, pero el espaciado de la
2415 primera es muy suelto a causa del cmabio de clave. Sin embargo, el
2416 espaciado de la segunda partitura se mantiene estricto, porque
2417 @code{strict-note-spacing} está activado. La activación de
2418 @code{strict-note-spacing} hace que el ancho de las indicaciones de
2419 compás, armaduras, cambios de clave y alteraciones no tomen parte en
2420 el algoritmo de espaciado.
2422 Además de los ajustes dados aquí, hay otros que aparecen con
2423 frecuencia en las partituras proporcionales. Entre ellos están:
2426 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2427 @item @code{tupletFullLength = ##t}
2428 @item @code{\override Beam #'breakable = ##t}
2429 @item @code{\override Glissando #'breakable = ##t}
2430 @item @code{\override TextSpanner #'breakable = ##t}
2431 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2434 Estos ajustes dan a las notas de adorno un espaciado estricto,
2435 extienden los corchetes de grupo especial para que marquen tanto los
2436 puntos de comienzo como de final, y permiten que los elementos de
2437 extensión se dividan entre los sistemas y las páginas. Consulte las
2438 partes respectivas del manual para ver estos ajustes relacionados.
2442 Referencia de la notación:
2443 @ref{New spacing area}.
2445 Fragmentos de código:
2449 @node Fitting music onto fewer pages
2450 @section Fitting music onto fewer pages
2452 En ocasiones, podemos terminar con uno o dos pentagramas en una
2453 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
2454 cuando vemos que las páginas anteriores parecen tener espacio de
2457 Al investigar los problemas de disposición, una herramienta de valor
2458 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
2459 valores de un cierto número de variables de espaciado; para ver más
2460 detalles consulte la sección siguiente, @ref{Displaying spacing}.
2463 * Displaying spacing::
2464 * Changing spacing::
2468 @node Displaying spacing
2469 @subsection Displaying spacing
2471 @cindex espaciado, presentación del
2472 @funindex annotate-spacing
2474 Para presentar gráficamente las dimensiones de las variables de
2475 disposición vertical que pueden verse alteradas por el formato de la
2476 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
2478 @c need to have \book{} otherwise we get the separate systems. -hwn
2479 @lilypond[verbatim,quote]
2480 #(set-default-paper-size "a6" 'landscape)
2483 \paper { annotate-spacing = ##t }
2488 Todas las dimensiones de disposición se muestran en espacios de
2489 pentagrama, independientemenre de las unidades especificadas en los
2490 bloques @code{\paper} o @code{\layout}. Por ejemmplo,
2491 @code{paper-height} tiene un valor de 59.75 espacios de pentagrama,
2492 usando el tamaño predeterminado de pentagrama de 20 puntos, que
2493 equivale a 148 milímetros, la altura de una hoja de papel @code{a6} en
2494 orientación apaisada. Las parejas (@var{a},@var{b}) son intervalos,
2495 donde @var{a} es el límite inferior y @var{b} es el límite superior
2501 Fragmentos de código:
2505 @node Changing spacing
2506 @subsection Changing spacing
2508 La salida de @code{annotate-spacing} revela las dimensiones verticales
2509 con gran detalle. Para ver más detalles acerda de la modificación de
2510 los márgenes y otras variables de diseño de la página, consulte
2511 @ref{Page formatting}.
2513 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
2517 Forzar los sistemas para que se junten lo más posible entre sí (de
2518 forma que quepan la mayor cantidad de ellos en la página) y al mismo
2519 tiempo estén espaciados de forma que no exista un espacio vacío en la
2520 parte baja del papel.
2524 between-system-padding = #0.1
2525 between-system-space = #0.1
2526 ragged-last-bottom = ##f
2532 Forzar el número de sistemas. Por ejemplo, si la disposición
2533 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
2534 disposición con 10 sistemas.
2543 Evitar (o reducir en número) los objetos que aumentan el tamaño
2544 vertical de un sistema. Por ejemplo, las repeticiones de primera y
2545 segunda vez (o repeticiones con finales alternativos) necesitan
2546 espacio adicional. Si estas repeticiones se reparten a lo lardo de
2547 dos sistemas, ocupan más espacio que un sistema con las casillas de
2548 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
2549 dinámicas que se @q{salen} de un sistema se pueden acercar al
2552 @lilypond[verbatim,quote,relative=1]
2554 \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2559 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
2560 Para ver más detalles, consulte @ref{Changing horizontal spacing}. El
2561 ejemplo siguiente ilustra el espaciado predeterminado:
2563 @lilypond[verbatim,quote]
2576 El ejemplo siguiente modifica @code{common-shortest-duration} de un
2577 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
2578 nota más común y la más breve del ejemplo, por lo que al agrandar esta
2579 duración se produce un efecto de @q{apretujamiento}:
2581 @lilypond[verbatim,quote]
2593 \override SpacingSpanner
2594 #'common-shortest-duration = #(ly:make-moment 1 2)
2601 La propiedad @code{common-shortest-duration} no se puede modificar de
2602 manera dinámica, por lo que se debe situar siemmpre dentro de un
2603 bloque @code{\context} de forma que se aplique a la partitura
2611 Referencia de la notación:
2612 @ref{Page formatting},
2613 @ref{Changing horizontal spacing}.
2615 Fragmentos de código: