1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
12 @node Problemas de espaciado
13 @chapter Problemas de espaciado
14 @translationof Spacing issues
16 La disposición global sobre el papel viene determinada por tres
17 factores: el diseño de página, los saltos de línea y el espaciado.
18 Estos factores influyen entre sí. La elección de uno u otro espaciado
19 determina qué densidad termina teniendo cada sistema de música. Esto
20 influye en el lugar en que se eligen los saltos de línea y, en último
21 término, en el número de páginas que tiene una partitura.
23 Considerado globalmente, este proceso se produce en cuatro fases: en
24 primer lugar se eligen unas distancias elásticas o @q{muelles},
25 basados en la duración de las figuras. Se prueban todas las
26 combinaciones de saltos de línea posibles, y para cada una de ellas se
27 calcula una puntuación de @q{maldad}. Después se hace una estimación
28 de la altura de cada uno de los posibles sistemas. Finalmente se
29 selecciona una combinación de saltos de página y de línea de tal forma
30 que ni el espaciado horizontal ni el vertical estén demasiado
31 estrechos ni estirados.
33 Los ajustes que influyen en la disposición se pueden agrupar en dos
34 bloques. El bloque @code{\paper @{...@}} se sitúa fuera de los
35 bloques @code{\score @{...@}} y contiene ajustes relacionados con el
36 documento como un todo. El bloque @code{\layout @{...@}} se sitúa
37 dentro de un bloque @code{\score @{...@}} y contiene ajustes para
38 dicha partitura en concreto. Si sólo tiene un bloque @code{\score
39 @{...@}}, los dos tienen el mismo efecto. En general las
40 instrucciones que se muestran en este capítulo se pueden poner en
41 cualquiera de los dos.
44 * El papel y las páginas::
45 * Disposición de la música::
47 * Espaciado vertical::
48 * Espaciado horizontal::
49 * Encajar la música en menos páginas::
53 @node El papel y las páginas
54 @section El papel y las páginas
55 @translationof Paper and pages
57 Esta sección se ocupa de los límites que definen la zona del papel en
58 que se puede imprimir la música.
62 * Formateo de las páginas::
66 @node Tamaño del papel
67 @subsection Tamaño del papel
68 @translationof Paper size
70 @cindex papel, tamaño del
71 @cindex página, tamaño de la
73 Existen dos funciones para cambiar el tamaño del papel:
74 @code{set-default-paper-size} (establecer tamaño de página
75 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
76 @code{set-default-paper-size} se debe poner en el ámbito del nivel
77 superior, y @code{set-paper-size} se debe poner en un bloque
81 #(set-default-paper-size "a4")
86 #(set-paper-size "a4")
91 @code{set-default-paper-size} establece el tamaño de todas las
92 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
93 de las páginas a las que se aplica el bloque @code{\paper}. Por
94 ejemplo, si el bloque @code{\paper} está al principio del archivo,
95 aplica el tamaño de papel a todas las páginas. Si el bloque
96 @code{\paper} está dentro de un bloque @code{\book}, entonces el
97 tamaño del papel sólo se aplica a ese libro.
99 Se encuentran disponibles los tamaños de papel más comunes, entre
100 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
101 también como tabloide). Están contemplados muchos más tamaños de papel
102 de forma predeterminada. Para ver más detalles, consulte
103 @file{scm/@/paper@/.scm} y busque la definición de @code{paper-alist}.
105 @c TODO add a new appendix for paper sizes (auto-generated) -pm
107 @warning{El tamaño predeterminado del papel es @code{a4}.}
109 Se pueden añadir tamaños adicionales editando la definición de
110 @code{paper-alist} en el archivo de inicio @file{scm/@/paper@/.scm},
111 aunque se sobreescribirán en la siguiente reinstalación del programa.
115 @cindex horizontal, papel
117 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
118 @code{set-default-paper-size}, las páginas se giran 90 grados y se
119 establece en consonancia una mayor longitud de las líneas.
122 #(set-default-paper-size "a6" 'landscape)
125 Al establecer el tamaño del papel se ajustan un cierto número de
126 variables del @code{\paper}, tales como los márgenes. Para utilizar
127 un tamaño de página determinado con variables de @code{\paper}
128 alteradas, establezca el tamaño de página antes de dar valores a las
134 @file{scm/@/paper@/.scm}.
136 Fragmentos de código:
140 @node Formateo de las páginas
141 @subsection Formateo de las páginas
142 @translationof Page formatting
144 Los márgenes, encabezamientos y pies de página y otras variables de
145 diseño de página se establecen automáticamente de acuerdo con el
148 Esta sección relaciona y describe cierto número de variables del papel
149 que se pueden alterar.
152 * Dimensiones verticales::
153 * Dimensiones horizontales::
154 * Otras variables de diseño de página::
158 @node Dimensiones verticales
159 @unnumberedsubsubsec Dimensiones verticales
160 @translationof Vertical dimensions
162 Estas variables se utilizan para establecer las diferentes dimensiones
163 verticales de la página:
169 @item after-title-space
170 @funindex after-title-space
172 Espacio entre el título y el primer sistema.
173 Predeterminado: @code{5\mm}.
175 @item before-title-space
176 @funindex before-title-space
178 Distancia entre el último sistema de la pieza anterior y el título de
179 la siguiente. Predeterminado: @code{10\mm}.
181 @item between-system-padding
182 @funindex between-system-padding
184 Distancia mínima que se deja siempre entre el símbolo más bajo de un
185 sistema y el más alto del siguiente. Predeterminado: @code{4\mm}.
187 El aumento de este valor separa más los sistemas cuyas cajas
188 circundantes casi se tocan.
190 @item between-system-space
191 @funindex between-system-space
193 Distancia entre los sistemas. Es la distancia ideal desde el centro
194 del pentagrama inferior de un sistema hasta el centro del pentagrama
195 superior del sistema siguiente. Predeterminado: @code{20\mm}.
197 El aumento de este valor da a la página un aspecto más regular a costa
198 de utilizar más espacio vertical.
200 @item between-title-space
201 @funindex between-title-space
203 Distancia entre títulos consecutivos (p.ej., el título del libro y el
204 título de una pieza). Predeterminado: @code{2\mm}.
207 @funindex bottom-margin
209 Margen entre el pie de página y la parte inferior del papel.
210 Predeterminado: @code{6\mm}.
212 @item foot-separation
213 @funindex foot-separation
215 Distancia entre el sistema situado más abajo y el pie de página.
216 Predeterminado: @code{4\mm}.
218 @item head-separation
219 @funindex head-separation
221 Distancia entre el sistema situado más arriba y el encabezamiento de
222 la página. Predeterminado: @code{4\mm}.
225 @funindex page-top-space
227 Distancia desde la parte alta del área imprimible hasta el centro del
228 primer pentagrama. Esto sólo funciona para pentagramas con una
229 anchura vertical pequeña. Los pentagramas grandes se establecen con
230 la parte alta de su caja circundante alineada a la parte alta del área
231 imprimible. Predeterminado: @code{12\mm}.
234 @funindex paper-height
236 Altura de la página. Predeterminado: altura del tamaño actual del
237 papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
242 Margen entre el encabezamiento y la parte alta del papel.
243 Predeterminado: @code{5\mm}.
250 El encabezamiento y el pie se crean por parte de las funciones
251 @code{make-footer} y @code{make-header}, definidas dentro de
252 @code{\paper}. Las implementaciones predeterminadas están en
253 @file{ly/paper-defaults.ly} y en @file{ly/titling-init.ly}.
255 El diseño de la página en sí está realizado por dos funciones dentro
256 del bloque @code{\paper}, @code{page-music-height} y
257 @code{page-make-stencil}. El primero informa al algoritmo de saltos
258 de línea de la cantidad de espacio que está disponible en una página,
259 y el último crea la propia página dado el sistema que poner sobre
262 Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
263 caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
264 están definidas en @file{paper-defaults.ly} con valores en milímetros.
265 Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
269 #(define bottom-margin (* 2 cm))
281 ragged-last-bottom = ##t
285 Este segundo ejemplo centra los números de página en la parte baja del
290 print-page-number = ##t
291 print-first-page-number = ##t
292 oddHeaderMarkup = \markup \fill-line @{ " " @}
293 evenHeaderMarkup = \markup \fill-line @{ " " @}
294 oddFooterMarkup = \markup @{ \fill-line @{
295 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
296 \fromproperty #'page:page-number-string @} @}
297 evenFooterMarkup = \markup @{ \fill-line @{
298 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
299 \fromproperty #'page:page-number-string @} @}
305 Referencia de la notación:
306 @ref{Espaciado vertical entre sistemas}.
308 Fragmentos de código:
312 @node Dimensiones horizontales
313 @unnumberedsubsubsec Dimensiones horizontales
314 @translationof Horizontal dimensions
316 @warning{Si se establece @code{paper-width} manualmente,
317 @code{line-width}, @code{left-margin}, @code{indent} y
318 @code{short-indent} pueden necesitar ajustarse también.}
320 Existe un cierto número de variables que determinan las dimensiones
321 horizontales de una página:
325 @item horizontal-shift
326 @funindex horizontal-shift
328 Medida en que todos los sistemas (incluidos los títulos de cabecera y
329 los separadores de sistemas) se desplazan a la derecha.
330 Predeterminado: @code{0.0}.
335 Nivel de sangrado para el primer sistema de una partitura.
336 Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
337 viene determinado por @code{set-default-paper-size} o
338 @code{set-paper-size}.
341 @funindex left-margin
343 El margen entre el límite izquierdo del papel y el comienzo de los
344 sistemas. Predeterminado: @code{10\mm}, tal y como se define por
345 parte de @code{set-default-paper-size} o de @code{set-paper-size}.
350 Ancho de los sistemas. Predeterminado: @code{paper-width} menos
351 @code{20\mm}, como viene determinado por @code{set-default-paper-size}
352 o por @code{set-paper-size}.
355 @funindex paper-width
357 Ancho de la página. Predeterminado: la anchura del tamaño actual del
358 papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
361 @funindex short-indent
363 Nivel de sangrado para todos los sistemas de una partitura excepto el
364 primero. Predeterminado: @code{0}, como se determina en
365 @code{set-default-paper-size} o en @code{set-paper-size}.
371 Fragmentos de código:
377 La opción @code{right-margin} está definida pero no establece aún el
378 margen derecho. El valor del margen derecho se debe definir ajustando
379 los valores de @code{left-margin} y de @code{line-width}.
382 @node Otras variables de diseño de página
383 @unnumberedsubsubsec Otras variables de diseño de página
384 @translationof Other layout variables
386 Estas variables se pueden usar para ajustar el diseño de la página en
391 @item auto-first-page-number
392 @funindex auto-first-page-number
394 El algoritmo de división de páginas está afectado por el hecho de que
395 el número de la primera página sea par o impar. Si está establecido
396 al valor verdadero, el algoritmo de división de páginas decide si
397 comenzar con un número par o impar. Esto hace que el número de la
398 primera página se quede como está, o que se aumente en una unidad.
399 Predeterminado: @code{##f}.
403 FIXME: this variable is used, but I don't know what it does. -pm
404 @item blank-after-score-page-force
405 @funindex blank-after-score-page-force
411 @item blank-last-page-force
412 @funindex blank-last-page-force
414 Penalización por terminar la partitura en una página de numeración
415 impar. Predeterminado: @code{0}.
417 @item blank-page-force
418 @funindex blank-page-force
420 Penalización por tener una página en blanco en medio de una partitura.
421 Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
422 nunca considera la posibilidad de tener páginas en blanco en mitad de
423 una partitura. Predeterminado: @code{5}.
425 @item first-page-number
426 @funindex first-page-number
428 Valor del número de la primera página. Predeterminado: @code{#1}.
430 @item max-systems-per-page
431 Máximo número de sistemas que tendrán cabida en una página. Está
432 contemplado por el momento solamente por parte del algoritmo
433 @code{ly:optimal-breaking}. Predeterminado: no establecido.
435 @item min-systems-per-page
436 Mínimo número de sistemas que habrá en una página. Puede hacer que
437 las páginas se llenen en exceso si se establece a un valor grande.
438 Por el momento solamente está contemplado por parte del algoritmo
439 @code{ly:optimal-breaking}. Predeterminado: no establecido.
441 @item page-breaking-between-system-padding
442 @funindex page-breaking-between-system-padding
444 Engaña al divisor de páginas para que crea que
445 @code{between-system-padding} está establecido a algo distinto de lo
446 que está realmente. Por ejemplo, si esta variable se establece a algo
447 mucho mayor que @code{between-system-padding}, entonces el divisor de
448 páginas colocará menos sistemas en cada página. Predeterminado: no
454 Número de páginas que usar para una partitura. Predeterminado: sin
457 @item page-limit-inter-system-space
458 @funindex page-limit-inter-system-space
460 Si tiene un valor verdadero, limita el espacio entre los sistemas de
461 una página en la que sobra mucho espacio. Predeterminado: @code{##f}.
462 Para ver más detalles, consulte @ref{Espaciado vertical entre sistemas}.
464 @item page-limit-inter-system-space-factor
465 @funindex page-limit-inter-system-space-factor
467 Factor usado por @code{page-limit-inter-system-space}.
468 Predeterminado: @code{1.4}. Para ver más detalles, consulte
469 @ref{Espaciado vertical entre sistemas}.
471 @item page-spacing-weight
472 @funindex page-spacing-weight
474 Importancia relativa del espacio (vertical) de las páginas y el
475 espaciado (horizontal) de las líneas. Los valores altos hacen que el
476 espaciado de la página tenga más importancia. Predeterminado:
479 @item print-all-headers
480 @funindex print-all-headers
482 Si está establecido a un valor verdadero, imprime todas las cabeceras
483 para cada una de las @code{\score} en la salida impresa. Normalmente
484 sólo se imprimen las variables de encabezamiento de pieza y opus.
485 Predeterminado: @code{##f}.
487 @item print-first-page-number
488 @funindex print-first-page-number
490 Si está establecido a un valor verdadero, se imprime un número de
491 página en la primera página. Predeterminado: @code{##f}.
493 @item print-page-number
494 @funindex print-page-number
496 Si está establecido a un valor falso, no se imprimen los números de
497 página. Predeterminado: @code{##t}.
500 @funindex ragged-bottom
502 Si está establecido a un valor verdadero, los sistemas no ocuparán
503 verticalmente toda la altura de la página. Esto no afecta a la última
504 página. Predeterminado: @code{##f}.
506 Esto se debería establecer al valor verdadero para piezas que tienen
507 sólo dos o tres sistemas por página, por ejemplo partituras
511 @funindex ragged-last
513 Si está establecido a un valor verdadero, el último sistema de la
514 partitura no llenará la anchura de la línea. En su lugar, el último
515 sistema termina en su longitud horizontal natural. Predeterminado:
518 @item ragged-last-bottom
519 @funindex ragged-last-bottom
521 Si está establecido a un valor falso, los sistemas se repartirán
522 verticalmente por toda la última página. Predeterminado: @code{##t}.
524 Las piezas que llenan generosamente dos o más páginas deberían tener
525 esto establecido al valor verdadero.
527 También afecta a la última página de las partes de libro, es decir,
528 partes de un libro que se han creado con bloques @code{\bookpart}.
531 @funindex ragged-right
533 Si está establecido a un valor verdadero, los sistemas no llenarán el
534 ancho de línea disponible. En su lugar, los sistemas terminan en su
535 longitud horizontal natural. Predeterminado: @code{##f}.
537 Si la partitura sólo tiene un sistema, el valor predeterminado es
540 @item system-separator-markup
541 @funindex system-separator-markup
543 Objeto de marcado que se inserta entre los sistemas. Se suele usar
544 para partituras orquestales. Predeterminado: sin establecer.
546 Se ofrece la instrucción de marcado @code{\slashSeparator} como un
547 valor predeterminado apropiado, por ejemplo
549 @lilypond[quote,ragged-right]
550 #(set-default-paper-size "a6" 'landscape)
553 \relative { c1 \break c1 }
556 system-separator-markup = \slashSeparator
562 @funindex system-count
564 Cantidad de sistemas que usar por parte de la partitura.
565 Predeterminado: sin establecer.
567 @item systems-per-page
568 @funindex systems-per-page
570 Número de sistemas que se deben colocar en cada página. Está
571 contemplado solamente por parte del algoritmo
572 @code{ly:optimal-breaking} por el momento. Predeterminado: no
579 Fragmentos de código:
585 El encabezamiento de página predeterminado pone el número de página y
586 el campo @code{instrument} del bloque @code{\header} sobre la misma
589 Los títulos de cabecera (tomados de la sección @code{\header@{@}}) se
590 tratan como un sistema, por lo que @code{ragged-bottom} y
591 @code{ragged-last-bottom} añaden espacio entre los títulos y el primer
592 sistema de la partitura.
595 @node Disposición de la música
596 @section Disposición de la música
597 @translationof Music layout
600 * Establecer el tamaño del pentagrama::
601 * Disposición de la partitura::
605 @node Establecer el tamaño del pentagrama
606 @subsection Establecer el tamaño del pentagrama
607 @translationof Setting the staff size
609 @cindex tipografía, establecer tamaño de
610 @cindex pentagrama, establecer tamaño de
611 @funindex layout file
613 El @strong{tamaño de pentagrama} predeterminado se establece en 20
614 puntos. Esto se puede modificar de dos maneras:
616 Para establecer globalmente el tamaño del pentagrama para todas las
617 partituras de un archivo (o en un bloque @code{book}, para ser
618 exactos), utilice @code{set-global-staff-size}.
621 #(set-global-staff-size 14)
625 Esto establece el tamaño global predeterminado a una altura de
626 pentagrama de 14pt y escala todas las tipografías según corresponda.
628 Para establecer el tamaño del pentagrama de forma individual para cada
634 #(layout-set-staff-size 15)
639 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
640 distintos. Cada fuente tipográfica está afinada para un tamaño de
641 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
642 pesada, para que coincida con las líneas de pentagrama relativamente
643 más gruesas. Los tamaños de tipografía recomendados están
644 relacionados en la tabla siguiente:
647 @multitable @columnfractions .15 .2 .22 .2
649 @item @b{nombre de la fuente}
650 @tab @b{altura del pentagrama (pt)}
651 @tab @b{altura del pentagrama (mm)}
657 @tab partituras de bolsillo
682 @tab particellas estándar
693 @c modern rental material?
698 Estas tipografías están disponibles en cualquier tamaño. La propiedad
699 de contexto @code{fontSize} y la propiedad de disposición
700 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
701 afinar el tamaño de los pentagramas individuales. Los tamaños de
702 pentagrama individuales están en relación al tamaño global.
706 Referencia de la notación:
707 @ref{Seleccionar el tamaño de la tipografía para la notación}.
709 Fragmentos de código:
715 @code{layout-set-staff-size} no cambia la distancia entre las líneas
719 @node Disposición de la partitura
720 @subsection Disposición de la partitura
721 @translationof Score layout
725 Mientras que @code{\paper} contiene ajustes relativos al formato de
726 página del documento completo, @code{\layout} contiene ajustes para la
727 disposición específica de cada partitura.
733 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
736 \override TextScript #'padding = #1.0
737 \override Glissando #'thickness = #3
744 Referencia de la notación:
745 @ref{Cambiar los valores por omisión de los contextos}.
747 Fragmentos de código:
753 @translationof Breaks
758 * Saltos de página óptimos::
759 * Paso de página óptimo::
760 * Saltos de página mínimos::
761 * Saltos de línea explícitos::
762 * Utilizar una voz adicional para los saltos de línea::
766 @node Saltos de línea
767 @subsection Saltos de línea
768 @translationof Line breaking
770 @cindex saltos de línea
771 @cindex línea, saltos de
773 Normalmente los saltos de línea se determinan automáticamente. Se
774 eligen de forma que las líneas no aparezcan demasiado apretadas ni
775 demasiado sueltas, y que las líneas consecutivas tengan una densidad
776 similar. Ocasionalmente podemos querer sobreescribir los saltos
777 automáticos; podemos hacerlo especificando @code{\break}. Esto fuerza
778 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
779 pueden suceder al final de los compases @q{completos}, es decir, donde
780 no queda ninguna nota o grupo especial @q{colgando} por encima de la
781 línea divisoria. Si queremos poner un salto de línea donde no hay
782 línea divisoria, podemos forzar una barra de compás invisible
783 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
784 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
786 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
787 la barra divisoria en que se inserta.
789 Los ajustes más básicos que influyen sobre el espaciado de las líneas
790 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
791 @code{\layout}. Controlan el sangrado de la primera línea de música,
792 y la longitud de las líneas.
794 Si se establece @code{ragged-right} a verdadero en el bloque
795 @code{\layout}, los sistemas terminan en su longitud horizontal
796 natural, en lugar de distribuirse horizontalmente para llenar toda la
797 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
798 comprobación de lo apretado que es el espaciado natural.
800 @c TODO Check and add para on default for ragged-right
802 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
803 afecta sólo a la última línea de la pieza.
815 @cindex regular line breaks
816 @cindex four bar music.
818 Para saltos de línea a intervalos regulares utilice @code{\break}
819 separado mediante desplazamientos con @code{\skip} y repetidos con
820 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
821 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
822 compases, y sólo en dichos lugares:
825 << \repeat unfold 7 @{
826 s1 \noBreak s1 \noBreak
827 s1 \noBreak s1 \break @}
828 @emph{the real music}
833 Una configuración de división de líneas se puede guardar como archivo
834 @code{.ly} automáticamente. Ello permite que alineaciones verticales
835 se estiren para que encajen en las páginas durante una segunda
836 ejecución del proceso de formateo. Esta posibilidad es bastante
837 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
849 Referencia de funcionamiento interno:
850 @rinternals{LineBreakEvent}.
852 Fragmentos de código:
858 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
859 divisoria. Una nota colgando de una línea divisoria no es adecuada,
862 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
863 c4 c2 << c2 {s4 \break } >> % this does nothing
864 c2 c4 | % a break here would work
865 c4 c2 c4 ~ \break % as does this break
869 Esto se puede evitar eliminando el grabador
870 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
871 forzados manualmente se tienen que añadir en paralelo con la música.
873 @lilypond[quote,ragged-right,verbatim]
875 \remove Forbid_line_break_engraver
877 c4 c2 << c2 {s4 \break } >> % now the break is allowed
882 De forma parecida, los saltos de línea están prohibidos normalmente
883 cuando las barras cruzan a las líneas divisorias. Este comportamiento
884 se puede modificar con el establecimiento de @code{\override Beam
888 @node Saltos de página
889 @subsection Saltos de página
890 @translationof Page breaking
892 Se puede sobreescribir el mecanismo predeterminado de salto de página
893 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
894 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
895 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
896 y prohíben, respectivamente, la eventualidad de un salto de página.
897 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
900 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
901 pueden insertar en el nivel más alto, entre las partituras y los
902 elementos de marcado situados en el nivel superior.
904 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
905 tienen el mismo efecto sobre el espaciado vertical:
906 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
907 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
908 la última página, respectivamente, no se verán justificados
911 Para ver más detalles, consulte @ref{Espaciado vertical}.
913 Los saltos de página se calculan por medio de la función
914 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
915 de los saltos de página: @code{ly:optimal-breaking},
916 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
917 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
918 cambiar en el bloque @code{\paper}:
922 #(define page-breaking ly:page-turn-breaking)
928 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
929 resolver el problema de los saltos de página, necesitando mucha
930 memoria y prolongados tiempos de procesamiento. Para facilitar el
931 proceso de división en páginas, se usan los bloques @code{\bookpart}
932 para dividir el libro en varias partes: los saltos de página se
933 producen de manera independiente en cada parte. También se pueden
934 usar diferentes funciones de división en páginas para las distintas
940 subtitle = "Prefacio"
943 %% En una parte que consiste en texto principalmente,
944 %% puede ser preferible ly:minimal-breaking
945 #(define page-breaking ly:minimal-breaking)
947 \markup @{ @dots{} @}
951 %% En esta parte, consistente en música, se usa la función
952 %% óptima predeterminada de saltos de página.
954 subtitle = "Primer movimiento"
965 @funindex \noPageBreak
971 Fragmentos de código:
975 @node Saltos de página óptimos
976 @subsection Saltos de página óptimos
977 @translationof Optimal page breaking
979 @funindex ly:optimal-breaking
981 La función @code{ly:optimal-breaking} es el método predeterminado de
982 LilyPond para determinar los saltos de página. Intenta hallar una
983 división de páginas que haga mínimos el apretujamiento y la
984 distensión, tanto horizontal como verticalmente. A diferencia de
985 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
990 Fragmentos de código:
994 @node Paso de página óptimo
995 @subsection Paso de página óptimo
996 @translationof Optimal page turning
998 @funindex ly:page-turn-breaking
1000 Con frecuencia es necesario encontrar una configuración de división de
1001 páginas de manera que haya un silencio al final de una página de cada
1002 dos. De esta forma, el músico puede pasar la página sin perder notas.
1003 La función @code{ly:page-turn-breaking} trata de encontrar una
1004 división de páginas que haga mínimos el apretujamiento y el
1005 estiramiento, pero con la restricción añadida de que sólo se permite
1006 introducir vueltas de página en los lugares especificados.
1008 Hay dos etapas en el uso de esta función de división de páginas. En
1009 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1010 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1011 dónde nos gustaría permitir los saltos de página.
1013 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1014 especificar manualmente cada uno de los pasos de página potenciales,
1015 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1018 Si esto es demasiado tedioso, podemos añadir un grabador
1019 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1020 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1021 sin notas (observe que no busca silencios, sino la ausencia de notas.
1022 Se hace así para que la polifonía en un solo pentagrama con silencios
1023 en una de las voces no arruine la labor del grabador
1024 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1025 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1026 un @code{\allowPageTurn} en la última barra de compás de dicha
1027 sección, a no ser que haya una barra @q{especial} de compás (como una
1028 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1029 última barra @q{especial} de compás de la sección.
1031 @funindex minimumPageTurnLength
1032 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1033 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1034 una sección sin notas antes de que se considere la posibilidad de un
1035 paso de página. El valor predeterminado para
1036 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
1037 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1041 \new Staff \with @{ \consists "Page_turn_engraver" @}
1044 R1 | % a page turn will be allowed here
1046 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1047 R1 | % a page turn will not be allowed here
1049 R1*2 | % a page turn will be allowed here
1054 @funindex minimumRepeatLengthForPageTurn
1055 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1056 primera y segunda vez. Sólo permite un pase de página durante la
1057 repetición si hay suficiente tiempo al principio y al final de la
1058 repetición para volver a pasar la página hacia atrás. El grabador
1059 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1060 página si la repetición es muy corta. Si establecemos la propiedad de
1061 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1062 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1063 repeticiones cuya duración sea mayor que este valor.
1065 Las instrucciones de paso de página, @code{\pageTurn},
1066 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1067 el nivel más elevado del código, entre las partituras y los elementos
1068 de marcado del nivel superior.
1074 @funindex \noPageTurn
1076 @funindex \allowPageTurn
1077 @code{\allowPageTurn}.
1082 Fragmentos de código:
1088 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1089 partitura. Si hay más de uno, se interferirán entre sí.
1092 @node Saltos de página mínimos
1093 @subsection Saltos de página mínimos
1094 @translationof Minimal page breaking
1096 @funindex ly:minimal-breaking
1098 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1099 para determinar los saltos de página: completa una página con tantos
1100 sistemas como sea posible antes de continuar con la siguiente. Así,
1101 puede preferirse para partituras con muchas páginas, donde las otras
1102 funciones de salto de página pueden resultar demasiado lentas o ávidas
1103 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1107 #(define page-breaking ly:minimal-breaking)
1113 Fragmentos de código:
1117 @node Saltos de línea explícitos
1118 @subsection Saltos de línea explícitos
1119 @translationof Explicit breaks
1121 Lily a veces rechaza las instrucciones @code{\break} y
1122 @code{\pageBreak} explícitas. Hay dos instrucciones para
1123 sobreescribir este comportamiento:
1126 \override NonMusicalPaperColumn #'line-break-permission = ##f
1127 \override NonMusicalPaperColumn #'page-break-permission = ##f
1130 Cuando se sobreescribe el valor de @code{line-break-permission} a
1131 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1132 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1133 @code{page-break-permission} a falso, Lily inserta saltos de página en
1134 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1136 @lilypond[quote,verbatim]
1145 \override NonMusicalPaperColumn #'line-break-permission = ##f
1146 \override NonMusicalPaperColumn #'page-break-permission = ##f
1149 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1150 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1151 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1152 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1153 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1154 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1155 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1156 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1164 Fragmentos de código:
1168 @node Utilizar una voz adicional para los saltos de línea
1169 @subsection Utilizar una voz adicional para los saltos de línea
1170 @translationof Using an extra voice for breaks
1172 La información sobre saltos de línea y de página suele aparecer
1173 directamente entremezclado dentro del código de notas.
1178 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1180 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1185 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1186 @code{\pageBreak}, pero mezcla la escritura de música con información
1187 que especifica cómo se debe disponer la música sobre la página.
1188 Podemos mantener la introducción de música y la información de saltos
1189 de línea y de página en dos lugares separados mediante la introducción
1190 de una voz adicional que contenga los saltos. Esta voz adicional
1191 contiene solamente desplazamientos o @q{skips} junto con los
1192 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1193 disposición de los saltos.
1195 @lilypond[quote,verbatim]
1205 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1206 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1207 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1208 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1214 Este patrón resulta especialmente útil cuando se sobreescribe
1215 @code{line-break-system-details} y las otras útiles (pero largas)
1216 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1217 @ref{Espaciado vertical}.
1219 @lilypond[quote,verbatim]
1224 \overrideProperty "Score.NonMusicalPaperColumn"
1225 #'line-break-system-details #'((Y-offset . 0))
1228 \overrideProperty "Score.NonMusicalPaperColumn"
1229 #'line-break-system-details #'((Y-offset . 35))
1232 \overrideProperty "Score.NonMusicalPaperColumn"
1233 #'line-break-system-details #'((Y-offset . 70))
1236 \overrideProperty "Score.NonMusicalPaperColumn"
1237 #'line-break-system-details #'((Y-offset . 105))
1241 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1242 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1243 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1244 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1252 Referencia de la notación:
1253 @ref{Espaciado vertical}.
1255 Fragmentos de código:
1259 @node Espaciado vertical
1260 @section Espaciado vertical
1261 @translationof Vertical spacing
1263 @cindex espaciado vertical
1264 @cindex vertical, espaciado
1266 El espaciado vertical está controlado por tres factores: la cantidad
1267 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1268 la separación entre los sistemas, y la separación entre los
1269 pentagramas dentro de un sistema.
1272 * Espaciado vertical dentro de un sistema::
1273 * Espaciado vertical entre sistemas::
1274 * Posicionamiento explícito de los pentagramas y los sistemas::
1275 * Espaciado vertical en dos fases::
1276 * Evitar las colisiones verticales::
1280 @node Espaciado vertical dentro de un sistema
1281 @subsection Espaciado vertical dentro de un sistema
1282 @translationof Vertical spacing inside a system
1284 @cindex distancia entre pentagramas
1285 @cindex pentagrama, distancia entre los
1286 @cindex espacio entre pentagramas
1287 @cindex espacio dentro de los sistemas
1289 La altura de cada sistema se determina automáticamente. Para evitar
1290 que los pentagramas se superpongan unos encima de otros, se establecen
1291 algunas distancias mínimas. Al modificarlas, podemos poner los
1292 pentagramas más cerca unos de otros. Esto reduce el espacio que
1293 requiere cada sistema y puede resultar en la obtención de más sistemas
1296 Normalmente los pentagramas se apilan verticalmente. Para hacer que
1297 los pentagramas guarden una distancia, se rellena su tamaño vertical.
1298 Esto se hace con la propiedad @code{minimum-Y-extent}. Si se aplica a
1299 @rinternals{VerticalAxisGroup}, controla el tamaño de una línea
1300 horizontal, como un pentagrama o una línea de letra.
1301 @code{minimum-Y-extent} acepta una pareja de números, de forma que si
1302 queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
1303 . 4)} entonces podemos establecer
1306 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1310 Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
1311 pentagrama a cada lado de la tercera línea. El valor @code{(-3 . 3)}
1312 se interpreta como un intervalo, donde la línea central es el 0, por
1313 lo que el primer número es negativo en general. Los números no tienen
1314 que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
1315 debajo dándole el valor @code{(-6 . 4)}.
1318 FIXME: update this section
1320 Después de que se han determinado los saltos de página, se reevalúa el
1321 espaciado vertical dentro de cada sistema para llenar la página de
1322 forma más regular; si una página tiene más espacio de sobra, se
1323 amplían los sistemas para poder llenar este espacio. La magnitud de
1324 esta ampliación se puede configurar a través de la propiedad
1325 @code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
1326 predeterminada, @code{max-stretch} se establece a cero, inhabilitando
1327 la ampliación. Para habilitar la ampliación, un valor prudente para
1328 @code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
1330 En ciertas situaciones, podemos querer ampliar la mayor parte de un
1331 sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si
1332 una parte de piano aparece en el medio de una partitura orquestal,
1333 podemos querer dejar los pentagramas de piano cercanos entre sí
1334 mientras se estira el resto de la partitura. Se puede usar la
1335 propiedad @code{keep-fixed-while-stretching} de
1336 @rinternals{VerticalAxisGroup} para conseguirlo. Cuando se establece
1337 al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
1338 de letra) se desplace en relación al que está directamente encima de
1339 él. En el ejemplo anterior, podríamos sobreescribir
1340 @code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
1341 pentagrama del piano:
1344 #(set-default-paper-size "a6")
1345 #(set-global-staff-size 14.0)
1349 ragged-last-bottom = ##f
1354 \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1361 \new Staff {c' d' e' f'}
1362 \new Staff {c' d' e' f'}
1363 \new Staff {c' d' e' f'}
1368 \new Staff {c' d' e' f'}
1370 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1377 \new Staff {c' d' e' f'}
1378 \new Staff {c' d' e' f'}
1386 La alineación vertical de los pentagramas está manejada por el objeto
1387 @code{VerticalAlignment}. Los parámetros de contexto que especifican
1388 las dimensiones verticales están descritas en conexión con el grabador
1389 @code{Axis_group_engraver}.
1393 Fragmentos de código:
1396 @c @lsr{spacing,page-spacing.ly},
1397 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1399 Referencia de funcionamiento interno:
1400 @rinternals{VerticalAlignment},
1401 @rinternals{Axis_group_engraver}.
1404 @node Espaciado vertical entre sistemas
1405 @subsection Espaciado vertical entre sistemas
1406 @translationof Vertical spacing between systems
1408 La separación entre los sistemas está controlada por cuatro variables
1413 between-system-space = 1.5\cm
1414 between-system-padding = #1
1416 ragged-last-bottom=##f
1420 Cuando sólo se ponen dos simples sistemas en una página, el espaciado
1421 vertical resultante puede ser bastante poco elegante: un sistema en la
1422 parte alta de la página y el otro en la parte baja, con un enorme
1423 hueco entre ellos. Para evitar esta situación se puede limitar el
1424 espacio que se añade entre los sistemas. Esta posibilidad se activa
1425 mediante el establecimiento al valor @code{#t} de la variable
1426 @code{page-limit-inter-system-space} en el bloque @code{\paper}. La
1427 variable del papel @code{page-limit-inter-system-space-factor}
1428 determina en qué cantidad se puede incrementar el espacio: por
1429 ejemplo, el valor @code{1.3} significa que el espacio puede ser un
1430 30% mayor que lo que sería en una página no justificada hasta abajo.
1432 En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
1433 limitado, el segundo sistema de la página 1 se situaría en la parte de
1434 abajo de la página. Activando la limitación de espacio, el segundo
1435 sistema se coloca más cerca del primero. Estableciendo
1436 @code{page-limit-inter-system-space-factor} a @code{1}, el espacio
1437 sería el mismo que en una página sin justificar por abajo, como la
1441 #(set-default-paper-size "a6")
1444 page-limit-inter-system-space = ##t
1445 page-limit-inter-system-space-factor = 1.3
1447 oddFooterMarkup = \markup "page bottom"
1448 evenFooterMarkup = \markup "page bottom"
1449 oddHeaderMarkup = \markup \fill-line {
1450 "page top" \fromproperty #'page:page-number-string }
1451 evenHeaderMarkup = \markup \fill-line {
1452 "page top" \fromproperty #'page:page-number-string }
1454 \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1455 { s1*2 \pageBreak } >>
1461 Fragmentos de código:
1465 @node Posicionamiento explícito de los pentagramas y los sistemas
1466 @subsection Posicionamiento explícito de los pentagramas y los sistemas
1467 @translationof Explicit staff and system positioning
1469 Una forma de entender los ajustes de @code{VerticalAxisGroup} y de
1470 @code{\paper} que se explicaron en las dos secciones anteriores es
1471 como una colección de distintos ajustes que conciernen principalmente
1472 a la cantidad de relleno vertical que adquieren los distintos
1473 pentagramas y sistemas al ocupar la página.
1475 Es posible abordar el problema del espaciado vertical de una forma
1476 distinta utilizando @code{NonMusicalPaperColumn
1477 #'line-break-system-details}. Donde los ajustes de
1478 @code{VerticalAxisGroup} y de @code{\paper} especifican el relleno
1479 vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
1480 especifica las posiciones verticales exactas en la página.
1482 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
1483 lista asociativa de cinco ajustes distintos:
1486 @item @code{X-offset}
1487 @item @code{Y-offset}
1488 @item @code{alignment-offsets}
1489 @item @code{alignment-extra-space}
1490 @item @code{fixed-alignment-extra-space}
1493 Las sobreescrituras de los objetos gráficos, entre ellas las de
1494 @code{NonMusicalPaperColumn} que aparece más abajo, pueden ocurrir en
1495 tres lugares distintos dentro de un archivo de entrada:
1498 @item directamente en medio de las notas
1499 @item en un bloque @code{\context}
1500 @item en el bloque @code{\with}
1503 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
1504 instrucción @code{\override} usual en los bloques @code{\context} y en
1505 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
1506 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
1507 instrucción especial @code{\overrideProperty}. He aquí algunas
1508 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
1509 instrucción especial @code{\overrideProperty}:
1512 \overrideProperty NonMusicalPaperColumn
1513 #'line-break-system-details #'((X-offset . 20))
1515 \overrideProperty NonMusicalPaperColumn
1516 #'line-break-system-details #'((Y-offset . 40))
1518 \overrideProperty NonMusicalPaperColumn
1519 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1521 \overrideProperty NonMusicalPaperColumn
1522 #'line-break-system-details #'((alignment-offsets . (0 -15)))
1524 \overrideProperty NonMusicalPaperColumn
1525 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1526 (alignment-offsets . (0 -15)))
1529 Para entender cómo funciona cada uno de los distintos ajustes,
1530 empezamos observando un ejemplo que no incluye absolutamente ninguna
1533 @c \book { } is required in these examples to ensure the spacing
1534 @c overrides can be seen between systems. -np
1537 \header { tagline = ##f }
1538 \paper { left-margin = 0\mm }
1548 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1551 \repeat unfold 15 { d'4 d' d' d' }
1558 Esta partitura mantiene aislada la información de los saltos de línea
1559 y de página en una voz dedicada a ello. Esta técnica de crear una voz
1560 de saltos ayuda a mantener separada de la escritura de notas conforme
1561 el ejemplo se vuelve más complicado. Consulte @ref{Utilizar una voz adicional para los saltos de línea}.
1563 Los saltos explícitos dividen la música de forma regular en seis
1564 compases por línea. El espaciado vertical es el resultado de los
1565 ajustes predeterminados de LilyPond. Para establecer explícitamente
1566 el punto de origen vertical de cada sistema, podemos establecer el par
1567 @code{Y-offset} en el atributo @code{line-break-system-details} del
1568 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
1571 \header { tagline = ##f }
1572 \paper { left-margin = 0\mm }
1578 \overrideProperty #"Score.NonMusicalPaperColumn"
1579 #'line-break-system-details #'((Y-offset . 0))
1581 \overrideProperty #"Score.NonMusicalPaperColumn"
1582 #'line-break-system-details #'((Y-offset . 40))
1584 \overrideProperty #"Score.NonMusicalPaperColumn"
1585 #'line-break-system-details #'((Y-offset . 80))
1588 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1591 \repeat unfold 15 { d'4 d' d' d' }
1598 Observe que @code{line-break-system-details} toma una lista asociativa
1599 de una cantidad de valores potencialmente elevada, pero aquí sólo
1600 fijamos un valor. Observe también que aquí la propiedad
1601 @code{Y-offset} determina la posición vertical exacta sobre la página
1602 en la que se trazará cada uno de los nuevos sistemas.
1604 Ahora que hemos establecido explícitamente el punto de origen vertical
1605 de cada sistema, podemos también establecer manualmente el punto de
1606 origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos
1607 usando la subpropiedad @code{alignment-offsets} de
1608 @code{line-break-system-details}.
1611 \header { tagline = ##f }
1612 \paper { left-margin = 0\mm }
1618 \overrideProperty #"Score.NonMusicalPaperColumn"
1619 #'line-break-system-details #'((Y-offset . 20)
1620 (alignment-offsets . (0 -15)))
1622 \overrideProperty #"Score.NonMusicalPaperColumn"
1623 #'line-break-system-details #'((Y-offset . 60)
1624 (alignment-offsets . (0 -15)))
1626 \overrideProperty #"Score.NonMusicalPaperColumn"
1627 #'line-break-system-details #'((Y-offset . 100)
1628 (alignment-offsets . (0 -15)))
1631 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1634 \repeat unfold 15 { d'4 d' d' d' }
1641 Observe que aquí asignamos dos valores distintos al atributo
1642 @code{line-break-system-details} del grob
1643 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
1644 @code{line-break-system-details} acepta muchos parámetros de espaciado
1645 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
1646 correspondiente), sólo tenemos que establecer el desplazamiento
1647 @code{Y-offset} y los pares @code{alignment-offsets} para controlar el
1648 punto de origen vertical de cada sistema y pentagrama. Finalmente,
1649 observe que @code{alignment-offsets} especifica el posicionamiento
1650 vertical de los pentagramas pero no de los grupos de pentagramas.
1653 \header { tagline = ##f }
1654 \paper { left-margin = 0\mm }
1660 \overrideProperty #"Score.NonMusicalPaperColumn"
1661 #'line-break-system-details #'((Y-offset . 0)
1662 (alignment-offsets . (0 -30 -40)))
1664 \overrideProperty #"Score.NonMusicalPaperColumn"
1665 #'line-break-system-details #'((Y-offset . 60)
1666 (alignment-offsets . (0 -10 -20)))
1668 \overrideProperty #"Score.NonMusicalPaperColumn"
1669 #'line-break-system-details #'((Y-offset . 100)
1670 (alignment-offsets . (0 -10 -40)))
1673 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1676 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
1677 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
1684 Algunos puntos que tener en cuenta:
1687 @item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
1689 @item Las unidades de los números que se pasan a @code{X-offset},
1690 @code{Y-offset} y @code{alignment-offsets} se interpretan como
1691 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
1692 valores positivos mueven a los pentagramas y a la letra hacia arriba,
1693 los valores negativos mueven los pentagramas y la letra hacia abajo.
1695 @item A causa de que los ajustes a @code{NonMusicalPaperColumn #'line-break-system-details}
1696 dados aquí permiten el posicionamiento de pentagramas y sistemas en
1697 cualquier lugar de la página, es posible violar los márgenes o los
1698 límites del papel, o incluso imprimir pentagramas o sistemas unos
1699 encima de otros. Esto se evitaría pasando a los diferentes ajustes
1700 unos valores razonables.
1705 Fragmentos de código:
1709 @node Espaciado vertical en dos fases
1710 @subsection Espaciado vertical en dos fases
1711 @translationof Two-pass vertical spacing
1713 @warning{El espaciado vertical en dos pasadas está obsoleto y se
1714 eliminará en una versión futura de LilyPond. Ahora los sistemas se
1715 amplían automáticamente en un solo paso. Véase @ref{Espaciado vertical dentro de un sistema}.}
1717 In order to automatically stretch systems so that they should fill the
1718 space left on a page, a two-pass technique can be used:
1721 @item In the first pass, the amount of vertical space used to increase
1722 the height of each system is computed and dumped to a file.
1723 @item In the second pass, spacing inside the systems are
1724 stretched according to the data in the page layout file.
1727 The @code{ragged-bottom} property adds space between systems, while
1728 the two-pass technique adds space between staves inside a system.
1730 To allow this behavior, a @code{tweak-key} variable has to be set in
1731 each score @code{\layout} block, and the tweaks included in each score
1732 music, using the @code{\scoreTweak} music function.
1736 %% include the generated page layout file:
1737 \includePageLayoutFile
1742 %% Include this score tweaks:
1743 \scoreTweak "scoreA"
1744 { \clef french c''1 \break c''1 }
1746 \new Staff { \clef soprano g'1 g'1 }
1747 \new Staff { \clef mezzosoprano e'1 e'1 }
1748 \new Staff { \clef alto g1 g1 }
1749 \new Staff { \clef bass c1 c1 }
1752 piece = "Score with tweaks"
1754 %% Define how to name the tweaks for this score:
1755 \layout { #(define tweak-key "scoreA") }
1760 For the first pass, the @code{dump-tweaks} option should be set to
1761 generate the page layout file.
1764 lilypond -dbackend=null -d dump-tweaks <file>.ly
1770 Fragmentos de código:
1774 @node Evitar las colisiones verticales
1775 @subsection Evitar las colisiones verticales
1776 @translationof Vertical collision avoidance
1778 @funindex outside-staff-priority
1779 @funindex outside-staff-padding
1780 @funindex outside-staff-horizontal-padding
1782 Podemos decir intuitivamente que algunos objetos de la notación
1783 musical pertenecen al pentagrama y otros se sitúan fuera del
1784 pentagrama. Entre los objetos que pertenecen al exterior del
1785 pentagrama están las marcas de ensayo, las marcas textuales y las
1786 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
1787 del pentagrama). La regla de LilyPond para la colocación vertical de
1788 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
1789 como sea posible pero no tan próximos como para que choquen con otro
1792 LilyPond utiliza la propiedad @code{outside-staff-priority} para
1793 determinar si un grob es un objeto fuera del pentagrama: si
1794 @code{outside-staff-priority} es un número, el grob es un objeto fuera
1795 del pentagrama. Además, @code{outside-staff-priority} informa a
1796 LilyPond en qué orden se debe situar los objetos.
1798 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
1799 exterior del pentagrama. Después ordena los objetos fuera del
1800 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
1801 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
1802 a uno y los coloca de forma que no choquen con ningún objeto que ya
1803 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
1804 compiten por el mismo espacio, el que tiene la prioridad
1805 @code{outside-staff-priority} más baja se colocará más próximo al
1808 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1811 \once \override TextScript #'outside-staff-priority = #1
1812 c4_"Text"\pp % this time the text will be closer to the staff
1814 % by setting outside-staff-priority to a non-number,
1815 % we disable the automatic collision avoidance
1816 \once \override TextScript #'outside-staff-priority = ##f
1817 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1818 c4_"Text"\pp % now they will collide
1821 El relleno vertical entre un objeto fuera del pentagrama y los grobs
1822 posicionados previamente se puede controlar con
1823 @code{outside-staff-padding}.
1825 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1826 \once \override TextScript #'outside-staff-padding = #0
1827 a'^"This text is placed very close to the note"
1828 \once \override TextScript #'outside-staff-padding = #3
1829 c^"This text is padded away from the previous text"
1830 c^"This text is placed close to the previous text"
1833 De forma predeterminada, los objetos fuera del pentagrama se colocan
1834 sólo para evitar una colisión horizontal con los grobs posicionados
1835 previamente. Esto puede llevar a situaciones en las que los objetos
1836 se colocan muy próximos entre sí en el sentido horizontal. El espacio
1837 vertical entre pentagramas se puede fijar también de manera que los
1838 objetos fuera del pentagrama se sitúen de forma intercalada. El
1839 establecimiento del relleno horizontal
1840 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
1841 desplace verticalmente para que tal situación no ocurra.
1843 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1844 % the markup is too close to the following note
1848 % setting outside-staff-horizontal-padding fixes this
1850 \once \override TextScript #'outside-staff-horizontal-padding = #1
1858 Fragmentos de código:
1862 @node Espaciado horizontal
1863 @section Espaciado horizontal
1864 @translationof Horizontal spacing
1866 @cindex horizontal, espaciado
1867 @cindex espaciado horizontal
1870 * Panorámica del espaciado horizontal::
1871 * Área de espaciado nueva::
1872 * Cambiar el espaciado horizontal::
1873 * Longitud de la línea::
1874 * Notación proporcional::
1878 @node Panorámica del espaciado horizontal
1879 @subsection Panorámica del espaciado horizontal
1880 @translationof Horizontal spacing overview
1882 El motor de espaciado traduce las diferencias en las duraciones a
1883 distancias ampliables (@q{muelles}) de distintas longitudes. Las
1884 duraciones más largas reciben un espacio mayor y las duraciones más
1885 cortas reciben menos. Las duraciones más breves reciben un espacio de
1886 tamaño fijo (que se controla mediante @code{shortest-duration-space}
1887 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
1888 duración, más espacio recibe: al doblar una duración se añade un
1889 espacio de tamaño fijo (este tamaño se controla mediante
1890 @code{spacing-increment}) a la nota.
1892 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
1893 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
1894 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
1896 @lilypond[quote,fragment,verbatim,relative=1]
1897 c2 c4. c8 c4. c8 c4. c8 c8
1901 Normalmente, el valor de @code{spacing-increment} está establecido en
1902 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
1903 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
1904 que significa que la nota más breve recibe 2.4 espacios de pentagrama
1905 (2.0 multiplicado por el @code{spacing-increment}) de espacio
1906 horizontal. Este espacio se cuenta a partir del borde izquierdo del
1907 símbolo, de manera que las notas más breves van seguidas generalmente
1908 por un espacio de 1 ACB.
1910 Si siguiésemos el procedimiento anterior exactamente, entonces la
1911 adición de una sola fusa a una partitura que usa corcheas y
1912 semicorcheas, aumentaría enormemente la anchura de la partitura
1913 completa. La nota más breve ya no es la semicorchea, sino la fusa,
1914 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
1915 duración más breve a efectos de espaciado no es la nota más breve de
1916 la partitura, sino la que ocurre con más frecuencia.
1918 La duración más breve que es más común se determina de la siguiente
1919 manera: en cada compás se determina la duración más breve. La menor
1920 duración más común se toma como base para el espaciado, habiendo
1921 estipulado que esta duración menor siempre debe ser igual o menor que
1922 una corchea. La duración más breve se imprime cuando se ejecuta
1923 @code{lilypond} con la opción @code{--verbose}.
1925 Estas duraciones también se pueden personalizar. Si establecemos la
1926 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
1927 entonces éste establece la duración base para el espaciado. La
1928 duración máxima para esta base (normalmente una corchea), se fija a
1929 través de @code{base-shortest-duration}.
1931 @funindex common-shortest-duration
1932 @funindex base-shortest-duration
1933 @funindex stem-spacing-correction
1936 Las notas que son aún más breves que la nota común más breve van
1937 seguidas por un espacio proporcional a su duración en relación con la
1938 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
1939 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
1941 @lilypond[quote,fragment,verbatim,relative=2]
1942 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1945 En la introducción (véase @rlearning{Grabado}), se explicó que las
1946 direcciones de las plicas influyen en el espaciado. Esto se controla
1947 con la propiedad @code{stem-spacing-correction} en el objeto
1948 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
1949 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
1950 (generado en el contexto de @rinternals{Staff}) contiene la misma
1951 propiedad para controlar el espaciado de las líneas de plica o
1952 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
1953 con los valores predeterminados y otra con correcciones exageradas:
1955 @lilypond[quote,ragged-right]
1959 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1960 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
1966 Está contemplada la notación proporcional; consulte @ref{Notación proporcional}.
1970 Fragmentos de código:
1973 Referencia de funcionamiento interno:
1974 @rinternals{SpacingSpanner},
1975 @rinternals{NoteSpacing},
1976 @rinternals{StaffSpacing},
1977 @rinternals{NonMusicalPaperColumn}.
1982 No existe ningún mecanismo conveniente para sobreescribir el espaciado
1983 manualmente. Se puede usar el siguiente rodeo para insertar espacio
1984 adicional en una partitura, ajustando el valor del relleno en la
1988 \override Score.NonMusicalPaperColumn #'padding = #10
1991 No existe ningún rodeo para disminuir la magnitud de la separación.
1994 @node Área de espaciado nueva
1995 @subsection Área de espaciado nueva
1996 @translationof New spacing area
1998 Se pueden iniciar secciones nuevas con diferentes parámetros de
1999 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2000 secciones que tienen distinta noción de las notas largas y cortas.
2002 En el ejemplo siguiente, el cambio de compás introduce una sección
2003 nueva, y por ello las semicorcheas se separan de manera más amplia.
2005 @lilypond[relative,fragment,verbatim,quote]
2008 c8 c c4 c16[ c c8] c4
2014 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2015 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2016 instrucciones de sobreescritura @code{\override} en dicho punto.
2020 Fragmentos de código:
2023 Referencia de funcionamiento interno:
2024 @rinternals{SpacingSpanner}.
2027 @node Cambiar el espaciado horizontal
2028 @subsection Cambiar el espaciado horizontal
2029 @translationof Changing horizontal spacing
2031 Se puede alterar el espaciado horizontal con la propiedad
2032 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2033 vez sin alterar la propiedad, y luego alterándola. Los valores
2034 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2035 que @code{ly:make-moment} construye una duración, por lo que @code{1
2036 4} es una duración mayor que @code{1 16}.
2038 @lilypond[verbatim,line-width=12\cm]
2041 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2042 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2043 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2044 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2049 @lilypond[verbatim,line-width=12\cm]
2052 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2053 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2054 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2055 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2060 \override SpacingSpanner
2061 #'base-shortest-duration = #(ly:make-moment 1 16)
2070 De forma predeterminada, el espaciado en los grupos de valoración
2071 especial depende de varios factores ajenos a la duración (como
2072 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2073 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2074 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2075 puede cambiarse al principio de la partitura:
2077 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2079 \override SpacingSpanner #'uniform-stretching = ##t
2096 Cuando se establece @code{strict-note-spacing}, las notas se separan
2097 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2099 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2100 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2101 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2106 Fragmentos de código:
2110 @node Longitud de la línea
2111 @subsection Longitud de la línea
2112 @translationof Line length
2114 @cindex saltos de página
2115 @cindex página, saltos de
2118 @funindex line-width
2119 @funindex ragged-right
2120 @funindex ragged-last
2122 @c Although line-width can be set in \layout, it should be set in paper
2123 @c block, to get page layout right.
2124 @c Setting indent in \paper block makes not much sense, but it works.
2126 @c Bit verbose and vague, use examples?
2127 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2128 y @code{line-width}. Se definen en el bloque @code{\layout}.
2129 Controlan el sangrado de la primera línea de música y la longitud de
2132 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2133 @code{\layout}, entonces los sistemas terminan en su longitud
2134 horizontal natural, en lugar de repartirse horizontalmente hasta
2135 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2136 comprobar qué tan apretado es el espaciado natural.
2138 @cindex diseño de página
2139 @cindex página, disposición de la
2140 @cindex vertical, espaciado
2142 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2143 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2144 restricción sobre dicha línea. El resultado es similar al formateo de
2145 los párrafos de texto. En un párrafo, la última línea sencillamente
2146 ocupa su longitud horizontal natural.
2147 @c Note that for text there are several options for the last line.
2148 @c While Knuth TeX uses natural length, lead typesetters use the same
2149 @c stretch as the previous line. eTeX uses \lastlinefit to
2150 @c interpolate between both these solutions.
2164 Fragmentos de código:
2168 @node Notación proporcional
2169 @subsection Notación proporcional
2170 @translationof Proportional notation
2172 LilyPond contempla la notación proporcional, un tipo de espaciado
2173 horizontal en el que cada nota consume una medida horizontal que
2174 equivale exactamente a su duración rítmica. Este tipo de espaciado
2175 proporcional es comparable al espaciado horizontal hecho sobre un
2176 papel milimetrado. Ciertas partituras del finales del s.XX y
2177 principios del s.XXI utilizan notación proporcional para clarificar
2178 relaciones rítmicas complejas o para facilitar la colocación de líneas
2179 cronométricas u otros gráficos directamente en la partitura.
2181 LilyPond contempla cinco ajustes distintos para la notación
2182 proporcional, que se pueden usar solos o combinados:
2185 @item @code{proportionalNotationDuration}
2186 @item @code{uniform-stretching}
2187 @item @code{strict-note-spacing}
2188 @item @code{\remove Separating_line_group_engraver}
2189 @item @code{\override PaperColumn #'used = ##t}
2192 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2193 de la notación proporcional y examinamos la forma en que interactúan.
2195 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2196 espaciado clásico sin justificación por la derecha.
2198 @lilypond[quote,verbatim,ragged-right]
2200 \new RhythmicStaff {
2204 c'16 c'16 c'16 c'16 c'16
2210 Observe que la blanca que inicia el compás ocupa mucho menos de la
2211 mitad de todo el espacio horizontal del compás. De forma similar, las
2212 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2213 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2216 En el grabado clásico, este espaciado puede ser exactamente el que
2217 deseamos porque podemos tomar prestado el espacio horizontal de la
2218 blanca y conservar el espacio horizontal a lo largo del compás como un
2221 Por otro lado, si queremos insertar una línea de tiempo graduada o
2222 algún otro gráfico encima o debajo de la partitura, necesitamos la
2223 notación proporcional. Se activa la notación proporcional con el
2224 ajuste @code{proportionalNotationDuration}.
2226 @lilypond[quote,verbatim,ragged-right]
2228 proportionalNotationDuration = #(ly:make-moment 1 20)
2230 \new RhythmicStaff {
2234 c'16 c'16 c'16 c'16 c'16
2240 La blanca al principio del compás y las notas rápidas de la segunda
2241 mitad del compás ocupan ahora cantidades iguales de espacio
2242 horizontal. Podríamos colocar una línea de tiempo graduada o un
2243 gráfico encima o debajo de este ejemplo.
2245 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2246 que reside en @code{Score}. Recordemos que los ajustes de contexto
2247 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2248 bloque @code{\with}, en un bloque @code{\context}, o directamente
2249 entre la música precedido por la instrucción @code{\set}. Como con
2250 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2251 tres lugares diferentes prefiere establecer el valor de
2252 @code{proportionalNotationDuration}.
2254 El ajuste @code{proportionalNotationDuration} acepta un solo
2255 argumento, que es la duración de referencia contra el que se aplica el
2256 espaciado de toda la música. La función Scheme de LilyPond
2257 @code{make-moment} acepta dos argumentos: un numerador y un
2258 denominador que, juntos, expresan una cierta fracción de redonda. La
2259 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2260 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2261 cinquillo). Los valores @code{#(ly:make-moment 1 16)},
2262 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)} son
2265 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2266 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2267 de ensayo y error, comenzando con una duración cercana a la más rápida
2268 (o más breve) duración de la pieza. Las duraciones de referencia más
2269 pequeñas aplican un espaciado más suelto; las duraciones de referencia
2270 más largas aplican un espaciado más apretado.
2272 @lilypond[quote,verbatim,ragged-right]
2274 proportionalNotationDuration = #(ly:make-moment 1 8)
2276 \new RhythmicStaff {
2280 c'16 c'16 c'16 c'16 c'16
2286 proportionalNotationDuration = #(ly:make-moment 1 16)
2288 \new RhythmicStaff {
2292 c'16 c'16 c'16 c'16 c'16
2298 proportionalNotationDuration = #(ly:make-moment 1 32)
2300 \new RhythmicStaff {
2304 c'16 c'16 c'16 c'16 c'16
2310 Observe que una duración de referencia demasiado grande (como la
2311 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
2312 apretado y puede ser causa de colisiones entre las cabezas de nota.
2313 Observe también que la notación proporcional en general ocupa más
2314 espacio horizontal que el espaciado clásico. El espaciado
2315 proporcional aporta claridad rítmica a expensas del espacio
2318 Ahora veremos cómo espaciar de forma óptima grupos de valoración
2319 especial que se superponen.
2321 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
2322 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
2323 diferente de grupo especial.
2325 @lilypond[quote,verbatim,ragged-right]
2327 \new RhythmicStaff {
2331 c'16 c'16 c'16 c'16 c'16
2334 \new RhythmicStaff {
2336 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2342 El espaciado es defectuoso porque las notas regularmente espaciadas
2343 del pentagrama inferior no se amplían de manera uniforme. El grabado
2344 clásico incluye muy pocos tresillos complejos y así las reglas del
2345 grabado clásico pueden generar este tipo de resultado. El
2346 establecimiento de @code{proportionalNotationDuration} remedia esta
2347 situación considerablemente.
2349 @lilypond[quote,verbatim,ragged-right]
2351 proportionalNotationDuration = #(ly:make-moment 1 20)
2353 \new RhythmicStaff {
2357 c'16 c'16 c'16 c'16 c'16
2360 \new RhythmicStaff {
2362 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2368 Pero si observamos con mucho cuidado podremos ver que las notas de la
2369 segunda mitad del 9-illo están espaciadas de forma ligeramente más
2370 ancha que las de la primera mitad del 9-illo. Para asegurar una
2371 ampliación uniforme, activamos @code{uniform-stretching}, que es una
2372 propiedad de @code{SpacingSpanner}.
2374 @lilypond[quote,verbatim,ragged-right]
2376 proportionalNotationDuration = #(ly:make-moment 1 20)
2377 \override SpacingSpanner #'uniform-stretching = ##t
2379 \new RhythmicStaff {
2383 c'16 c'16 c'16 c'16 c'16
2386 \new RhythmicStaff {
2388 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2394 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
2395 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
2396 una línea de tiempo graduada o un gráfico, si queremos.
2398 Observe que el paquete de notación proporcional de LilyPond espera que
2399 todas las partituras proporcionales establezcan el atributo
2400 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
2401 establecimiento de @code{proportionalNotationDuration} sin ajustar
2402 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
2403 al valor ##t causará, por ejemplo, que los desplazamientos
2404 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
2406 El @code{SpacingSpanner} es un grob abstracto que reside en el
2407 contexto de @code{Score}. Como con nuestros ajustes de
2408 @code{proportionalNotationDuration}, las sobreescrituras al
2409 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
2410 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
2411 @code{\context} o directamente dentro de la escritura de notas.
2413 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
2414 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
2415 está activado para la partitura completa o desactivado para la
2416 partitura completa. Sin embargo, podemos sobreescribir este
2417 comportamiento y activar distintas posibilidades de espaciado en
2418 distintos lugares de la partitura. Lo hacemos con la instrucción
2419 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva} para más
2422 A continuación examinamos los efectos del grabador
2423 @code{Separating_line_group_engraver} y veremos por qué las partituras
2424 proporcionales con frecuencia eliminan este grabador. El ejemplo
2425 siguiente muestra que hay una pequeña cantidad de espacio
2426 @qq{preparatorio} justo antes de la primera nota de cada sistema.
2428 @lilypond[quote,verbatim,ragged-right]
2441 Esta cantidad de espacio preparatorio es la misma ya sea después de
2442 una indicación de compás, una armadura o una clave. El grabador
2443 @code{Separating_line_group_engraver} es responsable de este espacio.
2444 La eliminación de @code{Separating_line_group_engraver} reduce este
2447 @lilypond[quote,verbatim,ragged-right]
2453 \remove Separating_line_group_engraver
2461 Los elementos no musicales como la indicación de compás, la armadura,
2462 la clave y las alteraciones son problemáticos en notación
2463 proporcional. Ninguno de estos elementos tiene duración rítmica.
2464 Pero todos ellos consumen espacio horizontal. Las distintas
2465 partituras proporcionales abordan este problema de distinta manera.
2467 Sería posible evitar los problemas de espaciado con las armaduras,
2468 simplemente evitando tenerlas. Esta es una opción válida pues casi
2469 todas las partituras proporcionales son música contemporánea. Lo
2470 mismo puede valer para las indicaciones de compás, especialmente para
2471 las partituras que incluyen una línea de tiempo graduada u otro
2472 gráfico. Pero estas partituras son excepcionales y casi todas las
2473 partituras proporcionales incluyen al menos unas pocas indicaciones de
2474 compás. Las claves y las alteraciones son aún más esenciales.
2476 Así pues ¿qué estrategias existen para el espaciado de los elementos
2477 no musicales en un contexto proporcional? Una buena opción es la
2478 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
2479 Compare las dos partituras siguientes:
2481 @lilypond[quote,verbatim,ragged-right]
2483 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2493 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2494 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2504 Las dos partituras son proporcionales, pero el espaciado de la
2505 primera es muy suelto a causa del cambio de clave. Sin embargo, el
2506 espaciado de la segunda partitura se mantiene estricto, porque
2507 @code{strict-note-spacing} está activado. La activación de
2508 @code{strict-note-spacing} hace que el ancho de las indicaciones de
2509 compás, armaduras, cambios de clave y alteraciones no tomen parte en
2510 el algoritmo de espaciado.
2512 Además de los ajustes dados aquí, hay otros que aparecen con
2513 frecuencia en las partituras proporcionales. Entre ellos están:
2516 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2517 @item @code{tupletFullLength = ##t}
2518 @item @code{\override Beam #'breakable = ##t}
2519 @item @code{\override Glissando #'breakable = ##t}
2520 @item @code{\override TextSpanner #'breakable = ##t}
2521 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2524 Estos ajustes dan a las notas de adorno un espaciado estricto,
2525 extienden los corchetes de grupo especial para que marquen tanto los
2526 puntos de comienzo como de final, y permiten que los elementos de
2527 extensión se dividan entre los sistemas y las páginas. Consulte las
2528 partes respectivas del manual para ver estos ajustes relacionados.
2532 Referencia de la notación:
2533 @ref{Área de espaciado nueva}.
2535 Fragmentos de código:
2539 @node Encajar la música en menos páginas
2540 @section Encajar la música en menos páginas
2541 @translationof Fitting music onto fewer pages
2543 En ocasiones, podemos terminar con uno o dos pentagramas en una
2544 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
2545 cuando vemos que las páginas anteriores parecen tener espacio de
2548 Al investigar los problemas de disposición, una herramienta de valor
2549 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
2550 valores de un cierto número de variables de espaciado; para ver más
2551 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
2554 * Mostrar el espaciado::
2555 * Cambiar el espaciado::
2559 @node Mostrar el espaciado
2560 @subsection Mostrar el espaciado
2561 @translationof Displaying spacing
2563 @cindex espaciado, presentación del
2564 @funindex annotate-spacing
2566 Para presentar gráficamente las dimensiones de las variables de
2567 disposición vertical que pueden verse alteradas por el formato de la
2568 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
2570 @c need to have \book{} otherwise we get the separate systems. -hwn
2571 @lilypond[verbatim,quote]
2572 #(set-default-paper-size "a6" 'landscape)
2575 \paper { annotate-spacing = ##t }
2580 Todas las dimensiones de disposición se muestran en espacios de
2581 pentagrama, independientemente de las unidades especificadas en los
2582 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
2583 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
2584 (espacios de pentagrama), y el @code{staff-size} (tamaño del
2585 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
2587 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
2590 @tab = (25.4/72.27) mm
2593 @tab = (@code{staff-size})/4 pts
2595 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
2600 En este caso, un @code{staff-space} equivale aproximadamente a
2601 1.757mm. Así, la medida @code{paper-height} de 59.75
2602 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
2603 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
2604 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
2605 superior del intervalo.
2609 @ref{Establecer el tamaño del pentagrama}.
2611 Fragmentos de código:
2615 @node Cambiar el espaciado
2616 @subsection Cambiar el espaciado
2617 @translationof Changing spacing
2619 La salida de @code{annotate-spacing} revela las dimensiones verticales
2620 con gran detalle. Para ver más detalles acerca de la modificación de
2621 los márgenes y otras variables de diseño de la página, consulte
2622 @ref{Formateo de las páginas}.
2624 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
2628 Forzar los sistemas para que se junten lo más posible entre sí (de
2629 forma que quepan la mayor cantidad de ellos en la página) y al mismo
2630 tiempo estén espaciados de forma que no exista un espacio vacío en la
2631 parte baja del papel.
2635 between-system-padding = #0.1
2636 between-system-space = #0.1
2637 ragged-last-bottom = ##f
2643 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
2644 Si tan sólo se establece un valor, incluso el mismo valor que el
2645 número de sistemas que se están trazando de forma predeterminada, ello
2646 ocasionará a veces que se traten de introducir más sistemas en cada
2647 página, pues en este caso se omite un paso en que se produce una
2648 estimación, dando así un encaje mejor en cada página. Asimismo, el
2649 forzar una reducción neta en el número de sistemas puede producir el
2650 ahorro de una página adicional. Por ejemplo, si la disposición
2651 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
2652 disposición con 10 sistemas.
2661 Evitar (o reducir en número) los objetos que aumentan el tamaño
2662 vertical de un sistema. Por ejemplo, las repeticiones de primera y
2663 segunda vez (o repeticiones con finales alternativos) necesitan
2664 espacio adicional. Si estas repeticiones se reparten a lo largo de
2665 dos sistemas, ocupan más espacio que un sistema con las casillas de
2666 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
2667 dinámicas que se @q{salen} de un sistema se pueden acercar al
2670 @lilypond[verbatim,quote,relative=1]
2672 \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2677 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
2678 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}. El
2679 ejemplo siguiente ilustra el espaciado predeterminado:
2681 @lilypond[verbatim,quote]
2694 El ejemplo siguiente modifica @code{common-shortest-duration} de un
2695 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
2696 nota más común y la más breve del ejemplo, por lo que al agrandar esta
2697 duración se produce un efecto de @q{apretujamiento}:
2699 @lilypond[verbatim,quote]
2711 \override SpacingSpanner
2712 #'common-shortest-duration = #(ly:make-moment 1 2)
2719 La propiedad @code{common-shortest-duration} no se puede modificar de
2720 manera dinámica, por lo que se debe situar siempre dentro de un
2721 bloque @code{\context} de forma que se aplique a la partitura
2728 Referencia de la notación:
2729 @ref{Formateo de las páginas},
2730 @ref{Cambiar el espaciado horizontal}.
2732 Fragmentos de código: