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. For details, see the Contributors'
8 Guide, node Updating translation committishes..
13 @node Problemas de espaciado
14 @chapter Problemas de espaciado
15 @translationof Spacing issues
17 La disposición global sobre el papel viene determinada por tres
18 factores: el diseño de página, los saltos de línea y el espaciado.
19 Estos factores influyen entre sí. La elección de uno u otro espaciado
20 determina qué densidad termina teniendo cada sistema de música. Esto
21 influye en el lugar en que se eligen los saltos de línea y, en último
22 término, en el número de páginas que tiene una partitura.
24 Considerado globalmente, este proceso se produce en cuatro fases: en
25 primer lugar se eligen unas distancias elásticas o @q{muelles},
26 basados en la duración de las figuras. Se prueban todas las
27 combinaciones de saltos de línea posibles, y para cada una de ellas se
28 calcula una puntuación de @q{maldad}. Después se hace una estimación
29 de la altura de cada uno de los posibles sistemas. Finalmente se
30 selecciona una combinación de saltos de página y de línea de tal forma
31 que ni el espaciado horizontal ni el vertical estén demasiado
32 estrechos ni estirados.
34 Los ajustes que influyen en la disposición se pueden agrupar en dos
35 bloques. El bloque @code{\paper @{...@}} se sitúa fuera de los
36 bloques @code{\score @{...@}} y contiene ajustes relacionados con el
37 documento como un todo. El bloque @code{\layout @{...@}} se sitúa
38 dentro de un bloque @code{\score @{...@}} y contiene ajustes para
39 dicha partitura en concreto. Si sólo tiene un bloque @code{\score
40 @{...@}}, los dos tienen el mismo efecto. En general las
41 instrucciones que se muestran en este capítulo se pueden poner en
42 cualquiera de los dos.
45 * El papel y las páginas::
46 * Disposición de la música::
48 * Espaciado vertical::
49 * Espaciado horizontal::
50 * Encajar la música en menos páginas::
54 @node El papel y las páginas
55 @section El papel y las páginas
56 @translationof Paper and pages
58 Esta sección se ocupa de los límites que definen la zona del papel en
59 que se puede imprimir la música.
63 * Formateo de las páginas::
67 @node Tamaño del papel
68 @subsection Tamaño del papel
69 @translationof Paper size
71 @cindex papel, tamaño del
72 @cindex página, tamaño de la
74 Existen dos funciones para cambiar el tamaño del papel:
75 @code{set-default-paper-size} (establecer tamaño de página
76 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
77 @code{set-default-paper-size} se debe poner en el ámbito del nivel
78 superior, y @code{set-paper-size} se debe poner en un bloque
82 #(set-default-paper-size "a4")
87 #(set-paper-size "a4")
92 @code{set-default-paper-size} establece el tamaño de todas las
93 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
94 de las páginas a las que se aplica el bloque @code{\paper}. Por
95 ejemplo, si el bloque @code{\paper} está al principio del archivo,
96 aplica el tamaño de papel a todas las páginas. Si el bloque
97 @code{\paper} está dentro de un bloque @code{\book}, entonces el
98 tamaño del papel sólo se aplica a ese libro.
100 Se encuentran disponibles los tamaños de papel más comunes, entre
101 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
102 también como tabloide). Están contemplados muchos más tamaños de papel
103 de forma predeterminada. Para ver más detalles, consulte
104 @file{scm/@/paper@/.scm} y busque la definición de @code{paper-alist}.
106 @c TODO add a new appendix for paper sizes (auto-generated) -pm
108 @warning{El tamaño predeterminado del papel es @code{a4}.}
110 Se pueden añadir tamaños adicionales editando la definición de
111 @code{paper-alist} en el archivo de inicio @file{scm/@/paper@/.scm},
112 aunque se sobreescribirán en la siguiente reinstalación del programa.
116 @cindex horizontal, papel
118 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
119 @code{set-default-paper-size}, las páginas se giran 90 grados y se
120 establece en consonancia una mayor longitud de las líneas.
123 #(set-default-paper-size "a6" 'landscape)
126 Al establecer el tamaño del papel se ajustan un cierto número de
127 variables del @code{\paper}, tales como los márgenes. Para utilizar
128 un tamaño de página determinado con variables de @code{\paper}
129 alteradas, establezca el tamaño de página antes de dar valores a las
135 @file{scm/@/paper@/.scm}.
137 Fragmentos de código:
141 @node Formateo de las páginas
142 @subsection Formateo de las páginas
143 @translationof Page formatting
145 Los márgenes, encabezamientos y pies de página y otras variables de
146 diseño de página se establecen automáticamente de acuerdo con el
149 Esta sección relaciona y describe cierto número de variables del papel
150 que se pueden alterar.
153 * Dimensiones verticales::
154 * Dimensiones horizontales::
155 * Otras variables de diseño de página::
159 @node Dimensiones verticales
160 @unnumberedsubsubsec Dimensiones verticales
161 @translationof Vertical dimensions
163 Estas variables se utilizan para establecer las diferentes dimensiones
164 verticales de la página:
170 @item after-title-space
171 @funindex after-title-space
173 Espacio entre el título y el primer sistema.
174 Predeterminado: @code{5\mm}.
176 @item before-title-space
177 @funindex before-title-space
179 Distancia entre el último sistema de la pieza anterior y el título de
180 la siguiente. Predeterminado: @code{10\mm}.
182 @item between-system-padding
183 @funindex between-system-padding
185 Distancia mínima que se deja siempre entre el símbolo más bajo de un
186 sistema y el más alto del siguiente. Predeterminado: @code{4\mm}.
188 El aumento de este valor separa más los sistemas cuyas cajas
189 circundantes casi se tocan.
191 @item between-system-space
192 @funindex between-system-space
194 Distancia entre los sistemas. Es la distancia ideal desde el centro
195 del pentagrama inferior de un sistema hasta el centro del pentagrama
196 superior del sistema siguiente. Predeterminado: @code{20\mm}.
198 El aumento de este valor da a la página un aspecto más regular a costa
199 de utilizar más espacio vertical.
201 @item between-title-space
202 @funindex between-title-space
204 Distancia entre títulos consecutivos (p.ej., el título del libro y el
205 título de una pieza). Predeterminado: @code{2\mm}.
208 @funindex bottom-margin
210 Margen entre el pie de página y la parte inferior del papel.
211 Predeterminado: @code{6\mm}.
213 @item foot-separation
214 @funindex foot-separation
216 Distancia entre el sistema situado más abajo y el pie de página.
217 Predeterminado: @code{4\mm}.
219 @item head-separation
220 @funindex head-separation
222 Distancia entre el sistema situado más arriba y el encabezamiento de
223 la página. Predeterminado: @code{4\mm}.
226 @funindex page-top-space
228 Distancia desde la parte alta del área imprimible hasta el centro del
229 primer pentagrama. Esto sólo funciona para pentagramas con una
230 anchura vertical pequeña. Los pentagramas grandes se establecen con
231 la parte alta de su caja circundante alineada a la parte alta del área
232 imprimible. Predeterminado: @code{12\mm}.
235 @funindex paper-height
237 Altura de la página. Predeterminado: altura del tamaño actual del
238 papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
243 Margen entre el encabezamiento y la parte alta del papel.
244 Predeterminado: @code{5\mm}.
251 El encabezamiento y el pie se crean por parte de las funciones
252 @code{make-footer} y @code{make-header}, definidas dentro de
253 @code{\paper}. Las implementaciones predeterminadas están en
254 @file{ly/paper-defaults.ly} y en @file{ly/titling-init.ly}.
256 El diseño de la página en sí está realizado por dos funciones dentro
257 del bloque @code{\paper}, @code{page-music-height} y
258 @code{page-make-stencil}. El primero informa al algoritmo de saltos
259 de línea de la cantidad de espacio que está disponible en una página,
260 y el último crea la propia página dado el sistema que poner sobre
263 Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
264 caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
265 están definidas en @file{paper-defaults.ly} con valores en milímetros.
266 Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
270 #(define bottom-margin (* 2 cm))
282 ragged-last-bottom = ##t
286 Este segundo ejemplo centra los números de página en la parte baja del
291 print-page-number = ##t
292 print-first-page-number = ##t
293 oddHeaderMarkup = \markup \fill-line @{ " " @}
294 evenHeaderMarkup = \markup \fill-line @{ " " @}
295 oddFooterMarkup = \markup @{ \fill-line @{
296 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
297 \fromproperty #'page:page-number-string @} @}
298 evenFooterMarkup = \markup @{ \fill-line @{
299 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
300 \fromproperty #'page:page-number-string @} @}
306 Referencia de la notación:
307 @ref{Espaciado vertical entre sistemas}.
309 Fragmentos de código:
313 @node Dimensiones horizontales
314 @unnumberedsubsubsec Dimensiones horizontales
315 @translationof Horizontal dimensions
317 @warning{Si se establece @code{paper-width} manualmente,
318 @code{line-width}, @code{left-margin}, @code{indent} y
319 @code{short-indent} pueden necesitar ajustarse también.}
321 Existe un cierto número de variables que determinan las dimensiones
322 horizontales de una página:
326 @item horizontal-shift
327 @funindex horizontal-shift
329 Medida en que todos los sistemas (incluidos los títulos de cabecera y
330 los separadores de sistemas) se desplazan a la derecha.
331 Predeterminado: @code{0.0}.
336 Nivel de sangrado para el primer sistema de una partitura.
337 Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
338 viene determinado por @code{set-default-paper-size} o
339 @code{set-paper-size}.
342 @funindex left-margin
344 El margen entre el límite izquierdo del papel y el comienzo de los
345 sistemas. Predeterminado: @code{10\mm}, tal y como se define por
346 parte de @code{set-default-paper-size} o de @code{set-paper-size}.
351 Ancho de los sistemas. Predeterminado: @code{paper-width} menos
352 @code{20\mm}, como viene determinado por @code{set-default-paper-size}
353 o por @code{set-paper-size}.
356 @funindex paper-width
358 Ancho de la página. Predeterminado: la anchura del tamaño actual del
359 papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
362 @funindex short-indent
364 Nivel de sangrado para todos los sistemas de una partitura excepto el
365 primero. Predeterminado: @code{0}, como se determina en
366 @code{set-default-paper-size} o en @code{set-paper-size}.
372 Fragmentos de código:
378 La opción @code{right-margin} está definida pero no establece aún el
379 margen derecho. El valor del margen derecho se debe definir ajustando
380 los valores de @code{left-margin} y de @code{line-width}.
383 @node Otras variables de diseño de página
384 @unnumberedsubsubsec Otras variables de diseño de página
385 @translationof Other layout variables
387 Estas variables se pueden usar para ajustar el diseño de la página en
392 @item auto-first-page-number
393 @funindex auto-first-page-number
395 El algoritmo de división de páginas está afectado por el hecho de que
396 el número de la primera página sea par o impar. Si está establecido
397 al valor verdadero, el algoritmo de división de páginas decide si
398 comenzar con un número par o impar. Esto hace que el número de la
399 primera página se quede como está, o que se aumente en una unidad.
400 Predeterminado: @code{##f}.
404 FIXME: this variable is used, but I don't know what it does. -pm
405 @item blank-after-score-page-force
406 @funindex blank-after-score-page-force
412 @item blank-last-page-force
413 @funindex blank-last-page-force
415 Penalización por terminar la partitura en una página de numeración
416 impar. Predeterminado: @code{0}.
418 @item blank-page-force
419 @funindex blank-page-force
421 Penalización por tener una página en blanco en medio de una partitura.
422 Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
423 nunca considera la posibilidad de tener páginas en blanco en mitad de
424 una partitura. Predeterminado: @code{5}.
426 @item first-page-number
427 @funindex first-page-number
429 Valor del número de la primera página. Predeterminado: @code{#1}.
431 @item max-systems-per-page
432 Máximo número de sistemas que tendrán cabida en una página. Está
433 contemplado por el momento solamente por parte del algoritmo
434 @code{ly:optimal-breaking}. Predeterminado: no establecido.
436 @item min-systems-per-page
437 Mínimo número de sistemas que habrá en una página. Puede hacer que
438 las páginas se llenen en exceso si se establece a un valor grande.
439 Por el momento solamente está contemplado por parte del algoritmo
440 @code{ly:optimal-breaking}. Predeterminado: no establecido.
442 @item page-breaking-between-system-padding
443 @funindex page-breaking-between-system-padding
445 Engaña al divisor de páginas para que crea que
446 @code{between-system-padding} está establecido a algo distinto de lo
447 que está realmente. Por ejemplo, si esta variable se establece a algo
448 mucho mayor que @code{between-system-padding}, entonces el divisor de
449 páginas colocará menos sistemas en cada página. Predeterminado: no
455 Número de páginas que usar para una partitura. Predeterminado: sin
458 @item page-limit-inter-system-space
459 @funindex page-limit-inter-system-space
461 Si tiene un valor verdadero, limita el espacio entre los sistemas de
462 una página en la que sobra mucho espacio. Predeterminado: @code{##f}.
463 Para ver más detalles, consulte @ref{Espaciado vertical entre sistemas}.
465 @item page-limit-inter-system-space-factor
466 @funindex page-limit-inter-system-space-factor
468 Factor usado por @code{page-limit-inter-system-space}.
469 Predeterminado: @code{1.4}. Para ver más detalles, consulte
470 @ref{Espaciado vertical entre sistemas}.
472 @item page-spacing-weight
473 @funindex page-spacing-weight
475 Importancia relativa del espacio (vertical) de las páginas y el
476 espaciado (horizontal) de las líneas. Los valores altos hacen que el
477 espaciado de la página tenga más importancia. Predeterminado:
480 @item print-all-headers
481 @funindex print-all-headers
483 Si está establecido a un valor verdadero, imprime todas las cabeceras
484 para cada una de las @code{\score} en la salida impresa. Normalmente
485 sólo se imprimen las variables de encabezamiento de pieza y opus.
486 Predeterminado: @code{##f}.
488 @item print-first-page-number
489 @funindex print-first-page-number
491 Si está establecido a un valor verdadero, se imprime un número de
492 página en la primera página. Predeterminado: @code{##f}.
494 @item print-page-number
495 @funindex print-page-number
497 Si está establecido a un valor falso, no se imprimen los números de
498 página. Predeterminado: @code{##t}.
501 @funindex ragged-bottom
503 Si está establecido a un valor verdadero, los sistemas no ocuparán
504 verticalmente toda la altura de la página. Esto no afecta a la última
505 página. Predeterminado: @code{##f}.
507 Esto se debería establecer al valor verdadero para piezas que tienen
508 sólo dos o tres sistemas por página, por ejemplo partituras
512 @funindex ragged-last
514 Si está establecido a un valor verdadero, el último sistema de la
515 partitura no llenará la anchura de la línea. En su lugar, el último
516 sistema termina en su longitud horizontal natural. Predeterminado:
519 @item ragged-last-bottom
520 @funindex ragged-last-bottom
522 Si está establecido a un valor falso, los sistemas se repartirán
523 verticalmente por toda la última página. Predeterminado: @code{##t}.
525 Las piezas que llenan generosamente dos o más páginas deberían tener
526 esto establecido al valor verdadero.
528 También afecta a la última página de las partes de libro, es decir,
529 partes de un libro que se han creado con bloques @code{\bookpart}.
532 @funindex ragged-right
534 Si está establecido a un valor verdadero, los sistemas no llenarán el
535 ancho de línea disponible. En su lugar, los sistemas terminan en su
536 longitud horizontal natural. Predeterminado: @code{##f}.
538 Si la partitura sólo tiene un sistema, el valor predeterminado es
541 @item system-separator-markup
542 @funindex system-separator-markup
544 Objeto de marcado que se inserta entre los sistemas. Se suele usar
545 para partituras orquestales. Predeterminado: sin establecer.
547 Se ofrece la instrucción de marcado @code{\slashSeparator} como un
548 valor predeterminado apropiado, por ejemplo
550 @lilypond[quote,ragged-right]
551 #(set-default-paper-size "a6" 'landscape)
554 \relative { c1 \break c1 }
557 system-separator-markup = \slashSeparator
563 @funindex system-count
565 Cantidad de sistemas que usar por parte de la partitura.
566 Predeterminado: sin establecer.
568 @item systems-per-page
569 @funindex systems-per-page
571 Número de sistemas que se deben colocar en cada página. Está
572 contemplado solamente por parte del algoritmo
573 @code{ly:optimal-breaking} por el momento. Predeterminado: no
580 Fragmentos de código:
586 El encabezamiento de página predeterminado pone el número de página y
587 el campo @code{instrument} del bloque @code{\header} sobre la misma
590 Los títulos de cabecera (tomados de la sección @code{\header@{@}}) se
591 tratan como un sistema, por lo que @code{ragged-bottom} y
592 @code{ragged-last-bottom} añaden espacio entre los títulos y el primer
593 sistema de la partitura.
596 @node Disposición de la música
597 @section Disposición de la música
598 @translationof Music layout
601 * Establecer el tamaño del pentagrama::
602 * Disposición de la partitura::
606 @node Establecer el tamaño del pentagrama
607 @subsection Establecer el tamaño del pentagrama
608 @translationof Setting the staff size
610 @cindex tipografía, establecer tamaño de
611 @cindex pentagrama, establecer tamaño de
612 @funindex layout file
614 El @strong{tamaño de pentagrama} predeterminado se establece en 20
615 puntos. Esto se puede modificar de dos maneras:
617 Para establecer globalmente el tamaño del pentagrama para todas las
618 partituras de un archivo (o en un bloque @code{book}, para ser
619 exactos), utilice @code{set-global-staff-size}.
622 #(set-global-staff-size 14)
626 Esto establece el tamaño global predeterminado a una altura de
627 pentagrama de 14pt y escala todas las tipografías según corresponda.
629 Para establecer el tamaño del pentagrama de forma individual para cada
635 #(layout-set-staff-size 15)
640 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
641 distintos. Cada fuente tipográfica está afinada para un tamaño de
642 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
643 pesada, para que coincida con las líneas de pentagrama relativamente
644 más gruesas. Los tamaños de tipografía recomendados están
645 relacionados en la tabla siguiente:
648 @multitable @columnfractions .15 .2 .22 .2
650 @item @b{nombre de la fuente}
651 @tab @b{altura del pentagrama (pt)}
652 @tab @b{altura del pentagrama (mm)}
658 @tab partituras de bolsillo
683 @tab particellas estándar
694 @c modern rental material?
699 Estas tipografías están disponibles en cualquier tamaño. La propiedad
700 de contexto @code{fontSize} y la propiedad de disposición
701 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
702 afinar el tamaño de los pentagramas individuales. Los tamaños de
703 pentagrama individuales están en relación al tamaño global.
707 Referencia de la notación:
708 @ref{Seleccionar el tamaño de la tipografía para la notación}.
710 Fragmentos de código:
716 @code{layout-set-staff-size} no cambia la distancia entre las líneas
720 @node Disposición de la partitura
721 @subsection Disposición de la partitura
722 @translationof Score layout
726 Mientras que @code{\paper} contiene ajustes relativos al formato de
727 página del documento completo, @code{\layout} contiene ajustes para la
728 disposición específica de cada partitura.
734 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
737 \override TextScript #'padding = #1.0
738 \override Glissando #'thickness = #3
745 Referencia de la notación:
746 @ref{Cambiar los valores por omisión de los contextos}.
748 Fragmentos de código:
754 @translationof Breaks
759 * Saltos de página óptimos::
760 * Paso de página óptimo::
761 * Saltos de página mínimos::
762 * Saltos de línea explícitos::
763 * Utilizar una voz adicional para los saltos de línea::
767 @node Saltos de línea
768 @subsection Saltos de línea
769 @translationof Line breaking
771 @cindex saltos de línea
772 @cindex línea, saltos de
774 Normalmente los saltos de línea se determinan automáticamente. Se
775 eligen de forma que las líneas no aparezcan demasiado apretadas ni
776 demasiado sueltas, y que las líneas consecutivas tengan una densidad
777 similar. Ocasionalmente podemos querer sobreescribir los saltos
778 automáticos; podemos hacerlo especificando @code{\break}. Esto fuerza
779 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
780 pueden suceder al final de los compases @q{completos}, es decir, donde
781 no queda ninguna nota o grupo especial @q{colgando} por encima de la
782 línea divisoria. Si queremos poner un salto de línea donde no hay
783 línea divisoria, podemos forzar una barra de compás invisible
784 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
785 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
787 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
788 la barra divisoria en que se inserta.
790 Los ajustes más básicos que influyen sobre el espaciado de las líneas
791 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
792 @code{\layout}. Controlan el sangrado de la primera línea de música,
793 y la longitud de las líneas.
795 Si se establece @code{ragged-right} a verdadero en el bloque
796 @code{\layout}, los sistemas terminan en su longitud horizontal
797 natural, en lugar de distribuirse horizontalmente para llenar toda la
798 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
799 comprobación de lo apretado que es el espaciado natural.
801 @c TODO Check and add para on default for ragged-right
803 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
804 afecta sólo a la última línea de la pieza.
816 @cindex regular line breaks
817 @cindex four bar music.
819 Para saltos de línea a intervalos regulares utilice @code{\break}
820 separado mediante desplazamientos con @code{\skip} y repetidos con
821 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
822 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
823 compases, y sólo en dichos lugares:
826 << \repeat unfold 7 @{
827 s1 \noBreak s1 \noBreak
828 s1 \noBreak s1 \break @}
829 @emph{the real music}
834 Una configuración de división de líneas se puede guardar como archivo
835 @code{.ly} automáticamente. Ello permite que alineaciones verticales
836 se estiren para que encajen en las páginas durante una segunda
837 ejecución del proceso de formateo. Esta posibilidad es bastante
838 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
850 Referencia de funcionamiento interno:
851 @rinternals{LineBreakEvent}.
853 Fragmentos de código:
859 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
860 divisoria. Una nota colgando de una línea divisoria no es adecuada,
863 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
864 c4 c2 << c2 {s4 \break } >> % this does nothing
865 c2 c4 | % a break here would work
866 c4 c2 c4 ~ \break % as does this break
870 Esto se puede evitar eliminando el grabador
871 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
872 forzados manualmente se tienen que añadir en paralelo con la música.
874 @lilypond[quote,ragged-right,verbatim]
876 \remove Forbid_line_break_engraver
878 c4 c2 << c2 {s4 \break } >> % now the break is allowed
883 De forma parecida, los saltos de línea están prohibidos normalmente
884 cuando las barras cruzan a las líneas divisorias. Este comportamiento
885 se puede modificar con el establecimiento de @code{\override Beam
889 @node Saltos de página
890 @subsection Saltos de página
891 @translationof Page breaking
893 Se puede sobreescribir el mecanismo predeterminado de salto de página
894 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
895 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
896 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
897 y prohíben, respectivamente, la eventualidad de un salto de página.
898 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
901 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
902 pueden insertar en el nivel más alto, entre las partituras y los
903 elementos de marcado situados en el nivel superior.
905 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
906 tienen el mismo efecto sobre el espaciado vertical:
907 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
908 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
909 la última página, respectivamente, no se verán justificados
912 Para ver más detalles, consulte @ref{Espaciado vertical}.
914 Los saltos de página se calculan por medio de la función
915 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
916 de los saltos de página: @code{ly:optimal-breaking},
917 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
918 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
919 cambiar en el bloque @code{\paper}:
923 #(define page-breaking ly:page-turn-breaking)
929 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
930 resolver el problema de los saltos de página, necesitando mucha
931 memoria y prolongados tiempos de procesamiento. Para facilitar el
932 proceso de división en páginas, se usan los bloques @code{\bookpart}
933 para dividir el libro en varias partes: los saltos de página se
934 producen de manera independiente en cada parte. También se pueden
935 usar diferentes funciones de división en páginas para las distintas
941 subtitle = "Prefacio"
944 %% En una parte que consiste en texto principalmente,
945 %% puede ser preferible ly:minimal-breaking
946 #(define page-breaking ly:minimal-breaking)
948 \markup @{ @dots{} @}
952 %% En esta parte, consistente en música, se usa la función
953 %% óptima predeterminada de saltos de página.
955 subtitle = "Primer movimiento"
966 @funindex \noPageBreak
972 Fragmentos de código:
976 @node Saltos de página óptimos
977 @subsection Saltos de página óptimos
978 @translationof Optimal page breaking
980 @funindex ly:optimal-breaking
982 La función @code{ly:optimal-breaking} es el método predeterminado de
983 LilyPond para determinar los saltos de página. Intenta hallar una
984 división de páginas que haga mínimos el apretujamiento y la
985 distensión, tanto horizontal como verticalmente. A diferencia de
986 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
991 Fragmentos de código:
995 @node Paso de página óptimo
996 @subsection Paso de página óptimo
997 @translationof Optimal page turning
999 @funindex ly:page-turn-breaking
1001 Con frecuencia es necesario encontrar una configuración de división de
1002 páginas de manera que haya un silencio al final de una página de cada
1003 dos. De esta forma, el músico puede pasar la página sin perder notas.
1004 La función @code{ly:page-turn-breaking} trata de encontrar una
1005 división de páginas que haga mínimos el apretujamiento y el
1006 estiramiento, pero con la restricción añadida de que sólo se permite
1007 introducir vueltas de página en los lugares especificados.
1009 Hay dos etapas en el uso de esta función de división de páginas. En
1010 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1011 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1012 dónde nos gustaría permitir los saltos de página.
1014 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1015 especificar manualmente cada uno de los pasos de página potenciales,
1016 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1019 Si esto es demasiado tedioso, podemos añadir un grabador
1020 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1021 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1022 sin notas (observe que no busca silencios, sino la ausencia de notas.
1023 Se hace así para que la polifonía en un solo pentagrama con silencios
1024 en una de las voces no arruine la labor del grabador
1025 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1026 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1027 un @code{\allowPageTurn} en la última barra de compás de dicha
1028 sección, a no ser que haya una barra @q{especial} de compás (como una
1029 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1030 última barra @q{especial} de compás de la sección.
1032 @funindex minimumPageTurnLength
1033 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1034 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1035 una sección sin notas antes de que se considere la posibilidad de un
1036 paso de página. El valor predeterminado para
1037 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
1038 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1042 \new Staff \with @{ \consists "Page_turn_engraver" @}
1045 R1 | % a page turn will be allowed here
1047 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1048 R1 | % a page turn will not be allowed here
1050 R1*2 | % a page turn will be allowed here
1055 @funindex minimumRepeatLengthForPageTurn
1056 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1057 primera y segunda vez. Sólo permite un pase de página durante la
1058 repetición si hay suficiente tiempo al principio y al final de la
1059 repetición para volver a pasar la página hacia atrás. El grabador
1060 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1061 página si la repetición es muy corta. Si establecemos la propiedad de
1062 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1063 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1064 repeticiones cuya duración sea mayor que este valor.
1066 Las instrucciones de paso de página, @code{\pageTurn},
1067 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1068 el nivel más elevado del código, entre las partituras y los elementos
1069 de marcado del nivel superior.
1075 @funindex \noPageTurn
1077 @funindex \allowPageTurn
1078 @code{\allowPageTurn}.
1083 Fragmentos de código:
1089 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1090 partitura. Si hay más de uno, se interferirán entre sí.
1093 @node Saltos de página mínimos
1094 @subsection Saltos de página mínimos
1095 @translationof Minimal page breaking
1097 @funindex ly:minimal-breaking
1099 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1100 para determinar los saltos de página: completa una página con tantos
1101 sistemas como sea posible antes de continuar con la siguiente. Así,
1102 puede preferirse para partituras con muchas páginas, donde las otras
1103 funciones de salto de página pueden resultar demasiado lentas o ávidas
1104 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1108 #(define page-breaking ly:minimal-breaking)
1114 Fragmentos de código:
1118 @node Saltos de línea explícitos
1119 @subsection Saltos de línea explícitos
1120 @translationof Explicit breaks
1122 Lily a veces rechaza las instrucciones @code{\break} y
1123 @code{\pageBreak} explícitas. Hay dos instrucciones para
1124 sobreescribir este comportamiento:
1127 \override NonMusicalPaperColumn #'line-break-permission = ##f
1128 \override NonMusicalPaperColumn #'page-break-permission = ##f
1131 Cuando se sobreescribe el valor de @code{line-break-permission} a
1132 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1133 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1134 @code{page-break-permission} a falso, Lily inserta saltos de página en
1135 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1137 @lilypond[quote,verbatim]
1146 \override NonMusicalPaperColumn #'line-break-permission = ##f
1147 \override NonMusicalPaperColumn #'page-break-permission = ##f
1150 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1151 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1152 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1153 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1154 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1155 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1156 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1157 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1165 Fragmentos de código:
1169 @node Utilizar una voz adicional para los saltos de línea
1170 @subsection Utilizar una voz adicional para los saltos de línea
1171 @translationof Using an extra voice for breaks
1173 La información sobre saltos de línea y de página suele aparecer
1174 directamente entremezclado dentro del código de notas.
1179 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1181 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1186 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1187 @code{\pageBreak}, pero mezcla la escritura de música con información
1188 que especifica cómo se debe disponer la música sobre la página.
1189 Podemos mantener la introducción de música y la información de saltos
1190 de línea y de página en dos lugares separados mediante la introducción
1191 de una voz adicional que contenga los saltos. Esta voz adicional
1192 contiene solamente desplazamientos o @q{skips} junto con los
1193 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1194 disposición de los saltos.
1196 @lilypond[quote,verbatim]
1206 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1207 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1208 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1209 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1215 Este patrón resulta especialmente útil cuando se sobreescribe
1216 @code{line-break-system-details} y las otras útiles (pero largas)
1217 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1218 @ref{Espaciado vertical}.
1220 @lilypond[quote,verbatim]
1225 \overrideProperty "Score.NonMusicalPaperColumn"
1226 #'line-break-system-details #'((Y-offset . 0))
1229 \overrideProperty "Score.NonMusicalPaperColumn"
1230 #'line-break-system-details #'((Y-offset . 35))
1233 \overrideProperty "Score.NonMusicalPaperColumn"
1234 #'line-break-system-details #'((Y-offset . 70))
1237 \overrideProperty "Score.NonMusicalPaperColumn"
1238 #'line-break-system-details #'((Y-offset . 105))
1242 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1243 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1244 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1245 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1253 Referencia de la notación:
1254 @ref{Espaciado vertical}.
1256 Fragmentos de código:
1260 @node Espaciado vertical
1261 @section Espaciado vertical
1262 @translationof Vertical spacing
1264 @cindex espaciado vertical
1265 @cindex vertical, espaciado
1267 El espaciado vertical está controlado por tres factores: la cantidad
1268 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1269 la separación entre los sistemas, y la separación entre los
1270 pentagramas dentro de un sistema.
1273 * Espaciado vertical dentro de un sistema::
1274 * Espaciado vertical entre sistemas::
1275 * Posicionamiento explícito de los pentagramas y los sistemas::
1276 * Espaciado vertical en dos fases::
1277 * Evitar las colisiones verticales::
1281 @node Espaciado vertical dentro de un sistema
1282 @subsection Espaciado vertical dentro de un sistema
1283 @translationof Vertical spacing inside a system
1285 @cindex distancia entre pentagramas
1286 @cindex pentagrama, distancia entre los
1287 @cindex espacio entre pentagramas
1288 @cindex espacio dentro de los sistemas
1290 La altura de cada sistema se determina automáticamente. Para evitar
1291 que los pentagramas se superpongan unos encima de otros, se establecen
1292 algunas distancias mínimas. Al modificarlas, podemos poner los
1293 pentagramas más cerca unos de otros. Esto reduce el espacio que
1294 requiere cada sistema y puede resultar en la obtención de más sistemas
1297 Normalmente los pentagramas se apilan verticalmente. Para hacer que
1298 los pentagramas guarden una distancia, se rellena su tamaño vertical.
1299 Esto se hace con la propiedad @code{minimum-Y-extent}. Si se aplica a
1300 @rinternals{VerticalAxisGroup}, controla el tamaño de una línea
1301 horizontal, como un pentagrama o una línea de letra.
1302 @code{minimum-Y-extent} acepta una pareja de números, de forma que si
1303 queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
1304 . 4)} entonces podemos establecer
1307 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1311 Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
1312 pentagrama a cada lado de la tercera línea. El valor @code{(-3 . 3)}
1313 se interpreta como un intervalo, donde la línea central es el 0, por
1314 lo que el primer número es negativo en general. Los números no tienen
1315 que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
1316 debajo dándole el valor @code{(-6 . 4)}.
1319 FIXME: update this section
1321 Después de que se han determinado los saltos de página, se reevalúa el
1322 espaciado vertical dentro de cada sistema para llenar la página de
1323 forma más regular; si una página tiene más espacio de sobra, se
1324 amplían los sistemas para poder llenar este espacio. La magnitud de
1325 esta ampliación se puede configurar a través de la propiedad
1326 @code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
1327 predeterminada, @code{max-stretch} se establece a cero, inhabilitando
1328 la ampliación. Para habilitar la ampliación, un valor prudente para
1329 @code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
1331 En ciertas situaciones, podemos querer ampliar la mayor parte de un
1332 sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si
1333 una parte de piano aparece en el medio de una partitura orquestal,
1334 podemos querer dejar los pentagramas de piano cercanos entre sí
1335 mientras se estira el resto de la partitura. Se puede usar la
1336 propiedad @code{keep-fixed-while-stretching} de
1337 @rinternals{VerticalAxisGroup} para conseguirlo. Cuando se establece
1338 al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
1339 de letra) se desplace en relación al que está directamente encima de
1340 él. En el ejemplo anterior, podríamos sobreescribir
1341 @code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
1342 pentagrama del piano:
1345 #(set-default-paper-size "a6")
1346 #(set-global-staff-size 14.0)
1350 ragged-last-bottom = ##f
1355 \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1362 \new Staff {c' d' e' f'}
1363 \new Staff {c' d' e' f'}
1364 \new Staff {c' d' e' f'}
1369 \new Staff {c' d' e' f'}
1371 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1378 \new Staff {c' d' e' f'}
1379 \new Staff {c' d' e' f'}
1387 La alineación vertical de los pentagramas está manejada por el objeto
1388 @code{VerticalAlignment}. Los parámetros de contexto que especifican
1389 las dimensiones verticales están descritas en conexión con el grabador
1390 @code{Axis_group_engraver}.
1394 Fragmentos de código:
1397 @c @lsr{spacing,page-spacing.ly},
1398 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1400 Referencia de funcionamiento interno:
1401 @rinternals{VerticalAlignment},
1402 @rinternals{Axis_group_engraver}.
1405 @node Espaciado vertical entre sistemas
1406 @subsection Espaciado vertical entre sistemas
1407 @translationof Vertical spacing between systems
1409 La separación entre los sistemas está controlada por cuatro variables
1414 between-system-space = 1.5\cm
1415 between-system-padding = #1
1417 ragged-last-bottom=##f
1421 Cuando sólo se ponen dos simples sistemas en una página, el espaciado
1422 vertical resultante puede ser bastante poco elegante: un sistema en la
1423 parte alta de la página y el otro en la parte baja, con un enorme
1424 hueco entre ellos. Para evitar esta situación se puede limitar el
1425 espacio que se añade entre los sistemas. Esta posibilidad se activa
1426 mediante el establecimiento al valor @code{#t} de la variable
1427 @code{page-limit-inter-system-space} en el bloque @code{\paper}. La
1428 variable del papel @code{page-limit-inter-system-space-factor}
1429 determina en qué cantidad se puede incrementar el espacio: por
1430 ejemplo, el valor @code{1.3} significa que el espacio puede ser un
1431 30% mayor que lo que sería en una página no justificada hasta abajo.
1433 En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
1434 limitado, el segundo sistema de la página 1 se situaría en la parte de
1435 abajo de la página. Activando la limitación de espacio, el segundo
1436 sistema se coloca más cerca del primero. Estableciendo
1437 @code{page-limit-inter-system-space-factor} a @code{1}, el espacio
1438 sería el mismo que en una página sin justificar por abajo, como la
1442 #(set-default-paper-size "a6")
1445 page-limit-inter-system-space = ##t
1446 page-limit-inter-system-space-factor = 1.3
1448 oddFooterMarkup = \markup "page bottom"
1449 evenFooterMarkup = \markup "page bottom"
1450 oddHeaderMarkup = \markup \fill-line {
1451 "page top" \fromproperty #'page:page-number-string }
1452 evenHeaderMarkup = \markup \fill-line {
1453 "page top" \fromproperty #'page:page-number-string }
1455 \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1456 { s1*2 \pageBreak } >>
1462 Fragmentos de código:
1466 @node Posicionamiento explícito de los pentagramas y los sistemas
1467 @subsection Posicionamiento explícito de los pentagramas y los sistemas
1468 @translationof Explicit staff and system positioning
1470 Una forma de entender los ajustes de @code{VerticalAxisGroup} y de
1471 @code{\paper} que se explicaron en las dos secciones anteriores es
1472 como una colección de distintos ajustes que conciernen principalmente
1473 a la cantidad de relleno vertical que adquieren los distintos
1474 pentagramas y sistemas al ocupar la página.
1476 Es posible abordar el problema del espaciado vertical de una forma
1477 distinta utilizando @code{NonMusicalPaperColumn
1478 #'line-break-system-details}. Donde los ajustes de
1479 @code{VerticalAxisGroup} y de @code{\paper} especifican el relleno
1480 vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
1481 especifica las posiciones verticales exactas en la página.
1483 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
1484 lista asociativa de cinco ajustes distintos:
1487 @item @code{X-offset}
1488 @item @code{Y-offset}
1489 @item @code{alignment-offsets}
1490 @item @code{alignment-extra-space}
1491 @item @code{fixed-alignment-extra-space}
1494 Las sobreescrituras de los objetos gráficos, entre ellas las de
1495 @code{NonMusicalPaperColumn} que aparece más abajo, pueden ocurrir en
1496 tres lugares distintos dentro de un archivo de entrada:
1499 @item directamente en medio de las notas
1500 @item en un bloque @code{\context}
1501 @item en el bloque @code{\with}
1504 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
1505 instrucción @code{\override} usual en los bloques @code{\context} y en
1506 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
1507 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
1508 instrucción especial @code{\overrideProperty}. He aquí algunas
1509 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
1510 instrucción especial @code{\overrideProperty}:
1513 \overrideProperty NonMusicalPaperColumn
1514 #'line-break-system-details #'((X-offset . 20))
1516 \overrideProperty NonMusicalPaperColumn
1517 #'line-break-system-details #'((Y-offset . 40))
1519 \overrideProperty NonMusicalPaperColumn
1520 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1522 \overrideProperty NonMusicalPaperColumn
1523 #'line-break-system-details #'((alignment-offsets . (0 -15)))
1525 \overrideProperty NonMusicalPaperColumn
1526 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1527 (alignment-offsets . (0 -15)))
1530 Para entender cómo funciona cada uno de los distintos ajustes,
1531 empezamos observando un ejemplo que no incluye absolutamente ninguna
1534 @c \book { } is required in these examples to ensure the spacing
1535 @c overrides can be seen between systems. -np
1538 \header { tagline = ##f }
1539 \paper { left-margin = 0\mm }
1549 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1552 \repeat unfold 15 { d'4 d' d' d' }
1559 Esta partitura mantiene aislada la información de los saltos de línea
1560 y de página en una voz dedicada a ello. Esta técnica de crear una voz
1561 de saltos ayuda a mantener separada de la escritura de notas conforme
1562 el ejemplo se vuelve más complicado. Consulte @ref{Utilizar una voz adicional para los saltos de línea}.
1564 Los saltos explícitos dividen la música de forma regular en seis
1565 compases por línea. El espaciado vertical es el resultado de los
1566 ajustes predeterminados de LilyPond. Para establecer explícitamente
1567 el punto de origen vertical de cada sistema, podemos establecer el par
1568 @code{Y-offset} en el atributo @code{line-break-system-details} del
1569 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
1572 \header { tagline = ##f }
1573 \paper { left-margin = 0\mm }
1579 \overrideProperty #"Score.NonMusicalPaperColumn"
1580 #'line-break-system-details #'((Y-offset . 0))
1582 \overrideProperty #"Score.NonMusicalPaperColumn"
1583 #'line-break-system-details #'((Y-offset . 40))
1585 \overrideProperty #"Score.NonMusicalPaperColumn"
1586 #'line-break-system-details #'((Y-offset . 80))
1589 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1592 \repeat unfold 15 { d'4 d' d' d' }
1599 Observe que @code{line-break-system-details} toma una lista asociativa
1600 de una cantidad de valores potencialmente elevada, pero aquí sólo
1601 fijamos un valor. Observe también que aquí la propiedad
1602 @code{Y-offset} determina la posición vertical exacta sobre la página
1603 en la que se trazará cada uno de los nuevos sistemas.
1605 Ahora que hemos establecido explícitamente el punto de origen vertical
1606 de cada sistema, podemos también establecer manualmente el punto de
1607 origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos
1608 usando la subpropiedad @code{alignment-offsets} de
1609 @code{line-break-system-details}.
1612 \header { tagline = ##f }
1613 \paper { left-margin = 0\mm }
1619 \overrideProperty #"Score.NonMusicalPaperColumn"
1620 #'line-break-system-details #'((Y-offset . 20)
1621 (alignment-offsets . (0 -15)))
1623 \overrideProperty #"Score.NonMusicalPaperColumn"
1624 #'line-break-system-details #'((Y-offset . 60)
1625 (alignment-offsets . (0 -15)))
1627 \overrideProperty #"Score.NonMusicalPaperColumn"
1628 #'line-break-system-details #'((Y-offset . 100)
1629 (alignment-offsets . (0 -15)))
1632 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1635 \repeat unfold 15 { d'4 d' d' d' }
1642 Observe que aquí asignamos dos valores distintos al atributo
1643 @code{line-break-system-details} del grob
1644 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
1645 @code{line-break-system-details} acepta muchos parámetros de espaciado
1646 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
1647 correspondiente), sólo tenemos que establecer el desplazamiento
1648 @code{Y-offset} y los pares @code{alignment-offsets} para controlar el
1649 punto de origen vertical de cada sistema y pentagrama. Finalmente,
1650 observe que @code{alignment-offsets} especifica el posicionamiento
1651 vertical de los pentagramas pero no de los grupos de pentagramas.
1654 \header { tagline = ##f }
1655 \paper { left-margin = 0\mm }
1661 \overrideProperty #"Score.NonMusicalPaperColumn"
1662 #'line-break-system-details #'((Y-offset . 0)
1663 (alignment-offsets . (0 -30 -40)))
1665 \overrideProperty #"Score.NonMusicalPaperColumn"
1666 #'line-break-system-details #'((Y-offset . 60)
1667 (alignment-offsets . (0 -10 -20)))
1669 \overrideProperty #"Score.NonMusicalPaperColumn"
1670 #'line-break-system-details #'((Y-offset . 100)
1671 (alignment-offsets . (0 -10 -40)))
1674 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1677 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
1678 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
1685 Algunos puntos que tener en cuenta:
1688 @item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
1690 @item Las unidades de los números que se pasan a @code{X-offset},
1691 @code{Y-offset} y @code{alignment-offsets} se interpretan como
1692 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
1693 valores positivos mueven a los pentagramas y a la letra hacia arriba,
1694 los valores negativos mueven los pentagramas y la letra hacia abajo.
1696 @item A causa de que los ajustes a @code{NonMusicalPaperColumn #'line-break-system-details}
1697 dados aquí permiten el posicionamiento de pentagramas y sistemas en
1698 cualquier lugar de la página, es posible violar los márgenes o los
1699 límites del papel, o incluso imprimir pentagramas o sistemas unos
1700 encima de otros. Esto se evitaría pasando a los diferentes ajustes
1701 unos valores razonables.
1706 Fragmentos de código:
1710 @node Espaciado vertical en dos fases
1711 @subsection Espaciado vertical en dos fases
1712 @translationof Two-pass vertical spacing
1714 @warning{El espaciado vertical en dos pasadas está obsoleto y se
1715 eliminará en una versión futura de LilyPond. Ahora los sistemas se
1716 amplían automáticamente en un solo paso. Véase @ref{Espaciado vertical dentro de un sistema}.}
1718 In order to automatically stretch systems so that they should fill the
1719 space left on a page, a two-pass technique can be used:
1722 @item In the first pass, the amount of vertical space used to increase
1723 the height of each system is computed and dumped to a file.
1724 @item In the second pass, spacing inside the systems are
1725 stretched according to the data in the page layout file.
1728 The @code{ragged-bottom} property adds space between systems, while
1729 the two-pass technique adds space between staves inside a system.
1731 To allow this behavior, a @code{tweak-key} variable has to be set in
1732 each score @code{\layout} block, and the tweaks included in each score
1733 music, using the @code{\scoreTweak} music function.
1737 %% include the generated page layout file:
1738 \includePageLayoutFile
1743 %% Include this score tweaks:
1744 \scoreTweak "scoreA"
1745 { \clef french c''1 \break c''1 }
1747 \new Staff { \clef soprano g'1 g'1 }
1748 \new Staff { \clef mezzosoprano e'1 e'1 }
1749 \new Staff { \clef alto g1 g1 }
1750 \new Staff { \clef bass c1 c1 }
1753 piece = "Score with tweaks"
1755 %% Define how to name the tweaks for this score:
1756 \layout { #(define tweak-key "scoreA") }
1761 For the first pass, the @code{dump-tweaks} option should be set to
1762 generate the page layout file.
1765 lilypond -dbackend=null -d dump-tweaks <file>.ly
1771 Fragmentos de código:
1775 @node Evitar las colisiones verticales
1776 @subsection Evitar las colisiones verticales
1777 @translationof Vertical collision avoidance
1779 @funindex outside-staff-priority
1780 @funindex outside-staff-padding
1781 @funindex outside-staff-horizontal-padding
1783 Podemos decir intuitivamente que algunos objetos de la notación
1784 musical pertenecen al pentagrama y otros se sitúan fuera del
1785 pentagrama. Entre los objetos que pertenecen al exterior del
1786 pentagrama están las marcas de ensayo, las marcas textuales y las
1787 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
1788 del pentagrama). La regla de LilyPond para la colocación vertical de
1789 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
1790 como sea posible pero no tan próximos como para que choquen con otro
1793 LilyPond utiliza la propiedad @code{outside-staff-priority} para
1794 determinar si un grob es un objeto fuera del pentagrama: si
1795 @code{outside-staff-priority} es un número, el grob es un objeto fuera
1796 del pentagrama. Además, @code{outside-staff-priority} informa a
1797 LilyPond en qué orden se debe situar los objetos.
1799 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
1800 exterior del pentagrama. Después ordena los objetos fuera del
1801 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
1802 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
1803 a uno y los coloca de forma que no choquen con ningún objeto que ya
1804 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
1805 compiten por el mismo espacio, el que tiene la prioridad
1806 @code{outside-staff-priority} más baja se colocará más próximo al
1809 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1812 \once \override TextScript #'outside-staff-priority = #1
1813 c4_"Text"\pp % this time the text will be closer to the staff
1815 % by setting outside-staff-priority to a non-number,
1816 % we disable the automatic collision avoidance
1817 \once \override TextScript #'outside-staff-priority = ##f
1818 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1819 c4_"Text"\pp % now they will collide
1822 El relleno vertical entre un objeto fuera del pentagrama y los grobs
1823 posicionados previamente se puede controlar con
1824 @code{outside-staff-padding}.
1826 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1827 \once \override TextScript #'outside-staff-padding = #0
1828 a'^"This text is placed very close to the note"
1829 \once \override TextScript #'outside-staff-padding = #3
1830 c^"This text is padded away from the previous text"
1831 c^"This text is placed close to the previous text"
1834 De forma predeterminada, los objetos fuera del pentagrama se colocan
1835 sólo para evitar una colisión horizontal con los grobs posicionados
1836 previamente. Esto puede llevar a situaciones en las que los objetos
1837 se colocan muy próximos entre sí en el sentido horizontal. El espacio
1838 vertical entre pentagramas se puede fijar también de manera que los
1839 objetos fuera del pentagrama se sitúen de forma intercalada. El
1840 establecimiento del relleno horizontal
1841 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
1842 desplace verticalmente para que tal situación no ocurra.
1844 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1845 % the markup is too close to the following note
1849 % setting outside-staff-horizontal-padding fixes this
1851 \once \override TextScript #'outside-staff-horizontal-padding = #1
1859 Fragmentos de código:
1863 @node Espaciado horizontal
1864 @section Espaciado horizontal
1865 @translationof Horizontal spacing
1867 @cindex horizontal, espaciado
1868 @cindex espaciado horizontal
1871 * Panorámica del espaciado horizontal::
1872 * Área de espaciado nueva::
1873 * Cambiar el espaciado horizontal::
1874 * Longitud de la línea::
1875 * Notación proporcional::
1879 @node Panorámica del espaciado horizontal
1880 @subsection Panorámica del espaciado horizontal
1881 @translationof Horizontal spacing overview
1883 El motor de espaciado traduce las diferencias en las duraciones a
1884 distancias ampliables (@q{muelles}) de distintas longitudes. Las
1885 duraciones más largas reciben un espacio mayor y las duraciones más
1886 cortas reciben menos. Las duraciones más breves reciben un espacio de
1887 tamaño fijo (que se controla mediante @code{shortest-duration-space}
1888 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
1889 duración, más espacio recibe: al doblar una duración se añade un
1890 espacio de tamaño fijo (este tamaño se controla mediante
1891 @code{spacing-increment}) a la nota.
1893 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
1894 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
1895 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
1897 @lilypond[quote,fragment,verbatim,relative=1]
1898 c2 c4. c8 c4. c8 c4. c8 c8
1902 Normalmente, el valor de @code{spacing-increment} está establecido en
1903 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
1904 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
1905 que significa que la nota más breve recibe 2.4 espacios de pentagrama
1906 (2.0 multiplicado por el @code{spacing-increment}) de espacio
1907 horizontal. Este espacio se cuenta a partir del borde izquierdo del
1908 símbolo, de manera que las notas más breves van seguidas generalmente
1909 por un espacio de 1 ACB.
1911 Si siguiésemos el procedimiento anterior exactamente, entonces la
1912 adición de una sola fusa a una partitura que usa corcheas y
1913 semicorcheas, aumentaría enormemente la anchura de la partitura
1914 completa. La nota más breve ya no es la semicorchea, sino la fusa,
1915 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
1916 duración más breve a efectos de espaciado no es la nota más breve de
1917 la partitura, sino la que ocurre con más frecuencia.
1919 La duración más breve que es más común se determina de la siguiente
1920 manera: en cada compás se determina la duración más breve. La menor
1921 duración más común se toma como base para el espaciado, habiendo
1922 estipulado que esta duración menor siempre debe ser igual o menor que
1923 una corchea. La duración más breve se imprime cuando se ejecuta
1924 @code{lilypond} con la opción @code{--verbose}.
1926 Estas duraciones también se pueden personalizar. Si establecemos la
1927 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
1928 entonces éste establece la duración base para el espaciado. La
1929 duración máxima para esta base (normalmente una corchea), se fija a
1930 través de @code{base-shortest-duration}.
1932 @funindex common-shortest-duration
1933 @funindex base-shortest-duration
1934 @funindex stem-spacing-correction
1937 Las notas que son aún más breves que la nota común más breve van
1938 seguidas por un espacio proporcional a su duración en relación con la
1939 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
1940 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
1942 @lilypond[quote,fragment,verbatim,relative=2]
1943 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1946 En la introducción (véase @rlearning{Grabado}), se explicó que las
1947 direcciones de las plicas influyen en el espaciado. Esto se controla
1948 con la propiedad @code{stem-spacing-correction} en el objeto
1949 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
1950 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
1951 (generado en el contexto de @rinternals{Staff}) contiene la misma
1952 propiedad para controlar el espaciado de las líneas de plica o
1953 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
1954 con los valores predeterminados y otra con correcciones exageradas:
1956 @lilypond[quote,ragged-right]
1960 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1961 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
1967 Está contemplada la notación proporcional; consulte @ref{Notación proporcional}.
1971 Fragmentos de código:
1974 Referencia de funcionamiento interno:
1975 @rinternals{SpacingSpanner},
1976 @rinternals{NoteSpacing},
1977 @rinternals{StaffSpacing},
1978 @rinternals{NonMusicalPaperColumn}.
1983 No existe ningún mecanismo conveniente para sobreescribir el espaciado
1984 manualmente. Se puede usar el siguiente rodeo para insertar espacio
1985 adicional en una partitura, ajustando el valor del relleno en la
1989 \override Score.NonMusicalPaperColumn #'padding = #10
1992 No existe ningún rodeo para disminuir la magnitud de la separación.
1995 @node Área de espaciado nueva
1996 @subsection Área de espaciado nueva
1997 @translationof New spacing area
1999 Se pueden iniciar secciones nuevas con diferentes parámetros de
2000 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2001 secciones que tienen distinta noción de las notas largas y cortas.
2003 En el ejemplo siguiente, el cambio de compás introduce una sección
2004 nueva, y por ello las semicorcheas se separan de manera más amplia.
2006 @lilypond[relative,fragment,verbatim,quote]
2009 c8 c c4 c16[ c c8] c4
2015 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2016 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2017 instrucciones de sobreescritura @code{\override} en dicho punto.
2021 Fragmentos de código:
2024 Referencia de funcionamiento interno:
2025 @rinternals{SpacingSpanner}.
2028 @node Cambiar el espaciado horizontal
2029 @subsection Cambiar el espaciado horizontal
2030 @translationof Changing horizontal spacing
2032 Se puede alterar el espaciado horizontal con la propiedad
2033 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2034 vez sin alterar la propiedad, y luego alterándola. Los valores
2035 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2036 que @code{ly:make-moment} construye una duración, por lo que @code{1
2037 4} es una duración mayor que @code{1 16}.
2039 @lilypond[verbatim,line-width=12\cm]
2042 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2043 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2044 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2045 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2050 @lilypond[verbatim,line-width=12\cm]
2053 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2054 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2055 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2056 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2061 \override SpacingSpanner
2062 #'base-shortest-duration = #(ly:make-moment 1 16)
2071 De forma predeterminada, el espaciado en los grupos de valoración
2072 especial depende de varios factores ajenos a la duración (como
2073 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2074 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2075 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2076 puede cambiarse al principio de la partitura:
2078 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2080 \override SpacingSpanner #'uniform-stretching = ##t
2097 Cuando se establece @code{strict-note-spacing}, las notas se separan
2098 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2100 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2101 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2102 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2107 Fragmentos de código:
2111 @node Longitud de la línea
2112 @subsection Longitud de la línea
2113 @translationof Line length
2115 @cindex saltos de página
2116 @cindex página, saltos de
2119 @funindex line-width
2120 @funindex ragged-right
2121 @funindex ragged-last
2123 @c Although line-width can be set in \layout, it should be set in paper
2124 @c block, to get page layout right.
2125 @c Setting indent in \paper block makes not much sense, but it works.
2127 @c Bit verbose and vague, use examples?
2128 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2129 y @code{line-width}. Se definen en el bloque @code{\layout}.
2130 Controlan el sangrado de la primera línea de música y la longitud de
2133 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2134 @code{\layout}, entonces los sistemas terminan en su longitud
2135 horizontal natural, en lugar de repartirse horizontalmente hasta
2136 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2137 comprobar qué tan apretado es el espaciado natural.
2139 @cindex diseño de página
2140 @cindex página, disposición de la
2141 @cindex vertical, espaciado
2143 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2144 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2145 restricción sobre dicha línea. El resultado es similar al formateo de
2146 los párrafos de texto. En un párrafo, la última línea sencillamente
2147 ocupa su longitud horizontal natural.
2148 @c Note that for text there are several options for the last line.
2149 @c While Knuth TeX uses natural length, lead typesetters use the same
2150 @c stretch as the previous line. eTeX uses \lastlinefit to
2151 @c interpolate between both these solutions.
2165 Fragmentos de código:
2169 @node Notación proporcional
2170 @subsection Notación proporcional
2171 @translationof Proportional notation
2173 LilyPond contempla la notación proporcional, un tipo de espaciado
2174 horizontal en el que cada nota consume una medida horizontal que
2175 equivale exactamente a su duración rítmica. Este tipo de espaciado
2176 proporcional es comparable al espaciado horizontal hecho sobre un
2177 papel milimetrado. Ciertas partituras del finales del s.XX y
2178 principios del s.XXI utilizan notación proporcional para clarificar
2179 relaciones rítmicas complejas o para facilitar la colocación de líneas
2180 cronométricas u otros gráficos directamente en la partitura.
2182 LilyPond contempla cinco ajustes distintos para la notación
2183 proporcional, que se pueden usar solos o combinados:
2186 @item @code{proportionalNotationDuration}
2187 @item @code{uniform-stretching}
2188 @item @code{strict-note-spacing}
2189 @item @code{\remove Separating_line_group_engraver}
2190 @item @code{\override PaperColumn #'used = ##t}
2193 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2194 de la notación proporcional y examinamos la forma en que interactúan.
2196 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2197 espaciado clásico sin justificación por la derecha.
2199 @lilypond[quote,verbatim,ragged-right]
2201 \new RhythmicStaff {
2205 c'16 c'16 c'16 c'16 c'16
2211 Observe que la blanca que inicia el compás ocupa mucho menos de la
2212 mitad de todo el espacio horizontal del compás. De forma similar, las
2213 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2214 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2217 En el grabado clásico, este espaciado puede ser exactamente el que
2218 deseamos porque podemos tomar prestado el espacio horizontal de la
2219 blanca y conservar el espacio horizontal a lo largo del compás como un
2222 Por otro lado, si queremos insertar una línea de tiempo graduada o
2223 algún otro gráfico encima o debajo de la partitura, necesitamos la
2224 notación proporcional. Se activa la notación proporcional con el
2225 ajuste @code{proportionalNotationDuration}.
2227 @lilypond[quote,verbatim,ragged-right]
2229 proportionalNotationDuration = #(ly:make-moment 1 20)
2231 \new RhythmicStaff {
2235 c'16 c'16 c'16 c'16 c'16
2241 La blanca al principio del compás y las notas rápidas de la segunda
2242 mitad del compás ocupan ahora cantidades iguales de espacio
2243 horizontal. Podríamos colocar una línea de tiempo graduada o un
2244 gráfico encima o debajo de este ejemplo.
2246 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2247 que reside en @code{Score}. Recordemos que los ajustes de contexto
2248 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2249 bloque @code{\with}, en un bloque @code{\context}, o directamente
2250 entre la música precedido por la instrucción @code{\set}. Como con
2251 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2252 tres lugares diferentes prefiere establecer el valor de
2253 @code{proportionalNotationDuration}.
2255 El ajuste @code{proportionalNotationDuration} acepta un solo
2256 argumento, que es la duración de referencia contra el que se aplica el
2257 espaciado de toda la música. La función Scheme de LilyPond
2258 @code{make-moment} acepta dos argumentos: un numerador y un
2259 denominador que, juntos, expresan una cierta fracción de redonda. La
2260 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2261 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2262 cinquillo). Los valores @code{#(ly:make-moment 1 16)},
2263 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)} son
2266 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2267 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2268 de ensayo y error, comenzando con una duración cercana a la más rápida
2269 (o más breve) duración de la pieza. Las duraciones de referencia más
2270 pequeñas aplican un espaciado más suelto; las duraciones de referencia
2271 más largas aplican un espaciado más apretado.
2273 @lilypond[quote,verbatim,ragged-right]
2275 proportionalNotationDuration = #(ly:make-moment 1 8)
2277 \new RhythmicStaff {
2281 c'16 c'16 c'16 c'16 c'16
2287 proportionalNotationDuration = #(ly:make-moment 1 16)
2289 \new RhythmicStaff {
2293 c'16 c'16 c'16 c'16 c'16
2299 proportionalNotationDuration = #(ly:make-moment 1 32)
2301 \new RhythmicStaff {
2305 c'16 c'16 c'16 c'16 c'16
2311 Observe que una duración de referencia demasiado grande (como la
2312 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
2313 apretado y puede ser causa de colisiones entre las cabezas de nota.
2314 Observe también que la notación proporcional en general ocupa más
2315 espacio horizontal que el espaciado clásico. El espaciado
2316 proporcional aporta claridad rítmica a expensas del espacio
2319 Ahora veremos cómo espaciar de forma óptima grupos de valoración
2320 especial que se superponen.
2322 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
2323 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
2324 diferente de grupo especial.
2326 @lilypond[quote,verbatim,ragged-right]
2328 \new RhythmicStaff {
2332 c'16 c'16 c'16 c'16 c'16
2335 \new RhythmicStaff {
2337 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2343 El espaciado es defectuoso porque las notas regularmente espaciadas
2344 del pentagrama inferior no se amplían de manera uniforme. El grabado
2345 clásico incluye muy pocos tresillos complejos y así las reglas del
2346 grabado clásico pueden generar este tipo de resultado. El
2347 establecimiento de @code{proportionalNotationDuration} remedia esta
2348 situación considerablemente.
2350 @lilypond[quote,verbatim,ragged-right]
2352 proportionalNotationDuration = #(ly:make-moment 1 20)
2354 \new RhythmicStaff {
2358 c'16 c'16 c'16 c'16 c'16
2361 \new RhythmicStaff {
2363 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2369 Pero si observamos con mucho cuidado podremos ver que las notas de la
2370 segunda mitad del 9-illo están espaciadas de forma ligeramente más
2371 ancha que las de la primera mitad del 9-illo. Para asegurar una
2372 ampliación uniforme, activamos @code{uniform-stretching}, que es una
2373 propiedad de @code{SpacingSpanner}.
2375 @lilypond[quote,verbatim,ragged-right]
2377 proportionalNotationDuration = #(ly:make-moment 1 20)
2378 \override SpacingSpanner #'uniform-stretching = ##t
2380 \new RhythmicStaff {
2384 c'16 c'16 c'16 c'16 c'16
2387 \new RhythmicStaff {
2389 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2395 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
2396 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
2397 una línea de tiempo graduada o un gráfico, si queremos.
2399 Observe que el paquete de notación proporcional de LilyPond espera que
2400 todas las partituras proporcionales establezcan el atributo
2401 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
2402 establecimiento de @code{proportionalNotationDuration} sin ajustar
2403 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
2404 al valor ##t causará, por ejemplo, que los desplazamientos
2405 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
2407 El @code{SpacingSpanner} es un grob abstracto que reside en el
2408 contexto de @code{Score}. Como con nuestros ajustes de
2409 @code{proportionalNotationDuration}, las sobreescrituras al
2410 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
2411 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
2412 @code{\context} o directamente dentro de la escritura de notas.
2414 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
2415 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
2416 está activado para la partitura completa o desactivado para la
2417 partitura completa. Sin embargo, podemos sobreescribir este
2418 comportamiento y activar distintas posibilidades de espaciado en
2419 distintos lugares de la partitura. Lo hacemos con la instrucción
2420 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva} para más
2423 A continuación examinamos los efectos del grabador
2424 @code{Separating_line_group_engraver} y veremos por qué las partituras
2425 proporcionales con frecuencia eliminan este grabador. El ejemplo
2426 siguiente muestra que hay una pequeña cantidad de espacio
2427 @qq{preparatorio} justo antes de la primera nota de cada sistema.
2429 @lilypond[quote,verbatim,ragged-right]
2442 Esta cantidad de espacio preparatorio es la misma ya sea después de
2443 una indicación de compás, una armadura o una clave. El grabador
2444 @code{Separating_line_group_engraver} es responsable de este espacio.
2445 La eliminación de @code{Separating_line_group_engraver} reduce este
2448 @lilypond[quote,verbatim,ragged-right]
2454 \remove Separating_line_group_engraver
2462 Los elementos no musicales como la indicación de compás, la armadura,
2463 la clave y las alteraciones son problemáticos en notación
2464 proporcional. Ninguno de estos elementos tiene duración rítmica.
2465 Pero todos ellos consumen espacio horizontal. Las distintas
2466 partituras proporcionales abordan este problema de distinta manera.
2468 Sería posible evitar los problemas de espaciado con las armaduras,
2469 simplemente evitando tenerlas. Esta es una opción válida pues casi
2470 todas las partituras proporcionales son música contemporánea. Lo
2471 mismo puede valer para las indicaciones de compás, especialmente para
2472 las partituras que incluyen una línea de tiempo graduada u otro
2473 gráfico. Pero estas partituras son excepcionales y casi todas las
2474 partituras proporcionales incluyen al menos unas pocas indicaciones de
2475 compás. Las claves y las alteraciones son aún más esenciales.
2477 Así pues ¿qué estrategias existen para el espaciado de los elementos
2478 no musicales en un contexto proporcional? Una buena opción es la
2479 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
2480 Compare las dos partituras siguientes:
2482 @lilypond[quote,verbatim,ragged-right]
2484 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2494 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2495 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2505 Las dos partituras son proporcionales, pero el espaciado de la
2506 primera es muy suelto a causa del cambio de clave. Sin embargo, el
2507 espaciado de la segunda partitura se mantiene estricto, porque
2508 @code{strict-note-spacing} está activado. La activación de
2509 @code{strict-note-spacing} hace que el ancho de las indicaciones de
2510 compás, armaduras, cambios de clave y alteraciones no tomen parte en
2511 el algoritmo de espaciado.
2513 Además de los ajustes dados aquí, hay otros que aparecen con
2514 frecuencia en las partituras proporcionales. Entre ellos están:
2517 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2518 @item @code{tupletFullLength = ##t}
2519 @item @code{\override Beam #'breakable = ##t}
2520 @item @code{\override Glissando #'breakable = ##t}
2521 @item @code{\override TextSpanner #'breakable = ##t}
2522 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2525 Estos ajustes dan a las notas de adorno un espaciado estricto,
2526 extienden los corchetes de grupo especial para que marquen tanto los
2527 puntos de comienzo como de final, y permiten que los elementos de
2528 extensión se dividan entre los sistemas y las páginas. Consulte las
2529 partes respectivas del manual para ver estos ajustes relacionados.
2533 Referencia de la notación:
2534 @ref{Área de espaciado nueva}.
2536 Fragmentos de código:
2540 @node Encajar la música en menos páginas
2541 @section Encajar la música en menos páginas
2542 @translationof Fitting music onto fewer pages
2544 En ocasiones, podemos terminar con uno o dos pentagramas en una
2545 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
2546 cuando vemos que las páginas anteriores parecen tener espacio de
2549 Al investigar los problemas de disposición, una herramienta de valor
2550 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
2551 valores de un cierto número de variables de espaciado; para ver más
2552 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
2555 * Mostrar el espaciado::
2556 * Cambiar el espaciado::
2560 @node Mostrar el espaciado
2561 @subsection Mostrar el espaciado
2562 @translationof Displaying spacing
2564 @cindex espaciado, presentación del
2565 @funindex annotate-spacing
2567 Para presentar gráficamente las dimensiones de las variables de
2568 disposición vertical que pueden verse alteradas por el formato de la
2569 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
2571 @c need to have \book{} otherwise we get the separate systems. -hwn
2572 @lilypond[verbatim,quote]
2573 #(set-default-paper-size "a6" 'landscape)
2576 \paper { annotate-spacing = ##t }
2581 Todas las dimensiones de disposición se muestran en espacios de
2582 pentagrama, independientemente de las unidades especificadas en los
2583 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
2584 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
2585 (espacios de pentagrama), y el @code{staff-size} (tamaño del
2586 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
2588 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
2591 @tab = (25.4/72.27) mm
2594 @tab = (@code{staff-size})/4 pts
2596 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
2601 En este caso, un @code{staff-space} equivale aproximadamente a
2602 1.757mm. Así, la medida @code{paper-height} de 59.75
2603 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
2604 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
2605 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
2606 superior del intervalo.
2610 @ref{Establecer el tamaño del pentagrama}.
2612 Fragmentos de código:
2616 @node Cambiar el espaciado
2617 @subsection Cambiar el espaciado
2618 @translationof Changing spacing
2620 La salida de @code{annotate-spacing} revela las dimensiones verticales
2621 con gran detalle. Para ver más detalles acerca de la modificación de
2622 los márgenes y otras variables de diseño de la página, consulte
2623 @ref{Formateo de las páginas}.
2625 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
2629 Forzar los sistemas para que se junten lo más posible entre sí (de
2630 forma que quepan la mayor cantidad de ellos en la página) y al mismo
2631 tiempo estén espaciados de forma que no exista un espacio vacío en la
2632 parte baja del papel.
2636 between-system-padding = #0.1
2637 between-system-space = #0.1
2638 ragged-last-bottom = ##f
2644 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
2645 Si tan sólo se establece un valor, incluso el mismo valor que el
2646 número de sistemas que se están trazando de forma predeterminada, ello
2647 ocasionará a veces que se traten de introducir más sistemas en cada
2648 página, pues en este caso se omite un paso en que se produce una
2649 estimación, dando así un encaje mejor en cada página. Asimismo, el
2650 forzar una reducción neta en el número de sistemas puede producir el
2651 ahorro de una página adicional. Por ejemplo, si la disposición
2652 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
2653 disposición con 10 sistemas.
2662 Evitar (o reducir en número) los objetos que aumentan el tamaño
2663 vertical de un sistema. Por ejemplo, las repeticiones de primera y
2664 segunda vez (o repeticiones con finales alternativos) necesitan
2665 espacio adicional. Si estas repeticiones se reparten a lo largo de
2666 dos sistemas, ocupan más espacio que un sistema con las casillas de
2667 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
2668 dinámicas que se @q{salen} de un sistema se pueden acercar al
2671 @lilypond[verbatim,quote,relative=1]
2673 \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2678 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
2679 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}. El
2680 ejemplo siguiente ilustra el espaciado predeterminado:
2682 @lilypond[verbatim,quote]
2695 El ejemplo siguiente modifica @code{common-shortest-duration} de un
2696 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
2697 nota más común y la más breve del ejemplo, por lo que al agrandar esta
2698 duración se produce un efecto de @q{apretujamiento}:
2700 @lilypond[verbatim,quote]
2712 \override SpacingSpanner
2713 #'common-shortest-duration = #(ly:make-moment 1 2)
2720 La propiedad @code{common-shortest-duration} no se puede modificar de
2721 manera dinámica, por lo que se debe situar siempre dentro de un
2722 bloque @code{\context} de forma que se aplique a la partitura
2729 Referencia de la notación:
2730 @ref{Formateo de las páginas},
2731 @ref{Cambiar el espaciado horizontal}.
2733 Fragmentos de código: