1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: a3f254be6161dc6ca2523a150281ef51c3b32f1a
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
147 Los márgenes, encabezamientos y pies de página y otras variables de
148 diseño de página se establecen automáticamente de acuerdo con el
151 El valor predeterminado de los márgenes está accesible en el archivo
152 @file{ly/@/paper@/-defaults@/-init@/.ly}. Estos valores se aplican al
153 tamaño predeterminado del papel (A4, a no ser que se especifique de
154 otra forma) y se escalan adecuadamente para otros tamaños del papel.
156 Esta sección relaciona y describe cierto número de variables del papel
157 que se pueden alterar.
160 * Dimensiones verticales fijas::
161 * Dimensiones verticales flexibles::
162 * Dimensiones horizontales::
163 * Otras variables de diseño de página::
167 @node Dimensiones verticales fijas
168 @unnumberedsubsubsec Dimensiones verticales fijas
169 @translationof Fixed vertical dimensions
173 @funindex paper-height
175 Altura de la página. Valor predeterminado: altura del tamaño actual
176 del papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
181 Margen entre el extremo superior de la página y la parte superior del
182 área imprimible. Valor predeterminado: @code{5\mm}.
185 @funindex bottom-margin
187 Margen entre el extremo inferior del área imprimible y la parte
188 inferior de la página. Valor predeterminado: @code{6\mm}.
192 @node Dimensiones verticales flexibles
193 @unnumberedsubsubsec Dimensiones verticales flexibles
194 @translationof Flexible vertical dimensions
196 En casi todos los casos es preferible que las distancias verticales
197 entre ciertos elementos (como márgenes, títulos, sistemas y las
198 distintas partituras) sean flexibles, de manera que se amplíen y
199 compriman adecuadamente dependiendo de la situación. Están
200 disponibles un cierto número de variables del bloque @code{\paper}
201 (relacionadas más abajo) para realizar un ajuste fino del
202 comportamiento de estas dimensiones frente a su ampliación o
205 Observe que las variables de @code{\paper} que se estudian en esta
206 sección no controlan el espaciado de los pentagramas que están dentro
207 de los sistemas individuales. El espaciado dentro de los sistemas se
208 controla por medio de propiedades de grob, con ajustes que se escriben
209 normalmente dentro de un bloque @code{\score} o @code{layout},
210 y no dentro del bloque @code{\paper}
211 Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
214 @subsubheading Esctructura de las listas-A de espaciado para las variables de @code{\paper}
216 Cada una de estas variables es una lista-A (lista asociativa) que
217 contiene cuatro @emph{claves}:
220 @item @code{padding} (relleno):
221 mínimo espacio vertical vacío necesario entre dos elementos, medido en
222 espacios de pentagrama. Se puede pensar como la altura mínima de un
223 rectángulo invisible que abarca desde el punto más a la izquierda
224 hasta el situado más a la derecha de los elementos combinados.
226 @item @code{space} (espacio):
227 distancia vertical predeterminada, medida en espacios de pentagrama,
228 entre los @emph{puntos de referencia} de los dos elementos, cuando no
229 resulte ninguna colisión, y no se produzca ninguna ampliación o
230 compresión. El punto de referencia de un elemento de marcado (de
231 título o del nivel jerárquico superior) es su punto más alto, y el
232 punto de referencia de un sistema es el centro vertical del
233 @code{StaffSymbol} más cercano
234 (incluso si se trata de una línea que no es un pentagrama, como
235 un contexto @code{Lyrics}).
236 Los valores de @code{space} menores de @code{padding} o
237 de @code{minimum-distance} no son significativos, porque la distancia
238 resultante nunca será menor de @code{padding} o de
239 @code{minimum-distance}.
241 @item @code{minimum-distance} (distancia mínima):
242 la distancia vertical mínima requerida, medida en espacios de
243 pentagrama, entre los puntos de referencia de los dos elementos,
244 cuando se produce una compresión. Los valores de
245 @code{minimum-distance} menores de @code{padding} no son
246 significativos, porque la distancia resultante nunca será menor de
249 @item @code{stretchability} (ampliabilidad):
250 medida sin unidades de la propensión relativa de esta dimensión a
251 ampliarse. Si es cero, la distancia no se ampliará (a no ser que
252 resultasen colisiones). Si es positiva, la significación del valor de
253 ampliabilidad de una dimensión concreta depende solamente de su
254 relación con los valores de @code{stretchability} de las otras
255 dimensiones. Por ejemplo, si una dimensión tiene el doble de
256 @code{stretchability} que otra, se ampliará con el doble de facilidad.
257 Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
258 desencadena un error de programación y se ignora, pero se puede usar
259 @code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
260 fija un valor, el valor predeterminado se establece a @code{space}.
261 Observe que la propensión de la dimensión a @emph{comprimirse} no se
262 puede establecer directamente por el usuario y es igual a
263 (@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
266 Si una página tiene un margen inferior no justificado, la distancia
267 resultante es la mayor de:
271 @item @code{minimum-distance}, y
272 @item @code{padding} más la menor distancia necesaria para eliminar las colisiones.
275 Los métodos específicos para la modificación de las listas-A se
276 estudian en @ref{Modificación de las listas-A}. Las variables de
277 dimensión de @code{\paper} verticales flexibles sólo se pueden fijar
278 dentro de un bloque @code{\paper}.
280 El siguiente ejemplo muestra las
281 dos formas en que pueden modificarse estas listas-A. La primera
282 declaración actualiza un par clave-valor individualmente,
283 y la segunda redefine la variable completamente:
287 system-system-spacing #'space = #8
289 score-system-spacing =
292 (minimum-distance . 6)
293 (stretchability . 12))
297 Los ajustes predeterminados de inicio para estas variables están
298 definidos en el archivo @file{ly/paper-defaults-init.ly}.
301 @subsubheading Variables de dimensión de @code{\paper} verticales flexibles
303 Los nombres de estas variables siguen el formato
304 @code{@var{superior}-@var{inferior}-spacing}, donde
305 @code{@var{superior}} e @code{@var{inferior}} son los elementos que
306 van a ser espaciados. Cada distancia se mide entre los puntos de
307 referencia de los dos elementos
308 (véase más arriba la descripción de la estructura de la lista-A).
309 Observe que en estos nombres de variable, el término
310 @q{@code{markup}} se refiere tanto a @emph{elementos de marcado de
311 título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup}) como a
312 @emph{elementos de marcado del nivel superior} (véase @ref{Estructura
316 @item markup-system-spacing
317 @funindex markup-system-spacing
319 distancia entre un elemento de marcado (de título o del nivel
320 superior) y el sistema que le sigue.
322 @item score-markup-spacing
323 @funindex score-markup-spacing
325 distancia entre el último sistema de una partitura y el elemento de
326 marcado (de título o del nivel superior) que le sigue.
328 @item score-system-spacing
329 @funindex score-system-spacing
331 distancia entre el último sistema de una partitura y el primer sistema
332 de la partitura que le sigue, cuando no existe ningún elemento de
333 marcado (de título o del nivel superior) entre ellos.
335 @item system-system-spacing
336 @funindex system-system-spacing
338 distancia entre dos sistemas dentro de la misma partitura.
340 @item markup-markup-spacing
341 @funindex markup-markup-spacing
343 distancia entre dos elementos de marcado (de título o del nivel
346 @item last-bottom-spacing
347 @funindex last-bottom-spacing
349 distancia desde el último sistema o elemento de marcado del nivel
350 superior en una página, hasta la parte inferior de la zona imprimible
351 (es decir, el extremo superior del margen inferior).
353 @item top-system-spacing
354 @funindex top-system-spacing
356 distancia desde la parte superior de la zona imprimible (es decir, el
357 extremo inferior del margen superior) hasta el primer sistema de una
358 página, cuando no hay ningún elemento de marcado (de título o del
359 nivel superior) entre los dos.
361 @item top-markup-spacing
362 @funindex top-markup-spacing
364 distancia desde el extremo superior de la zona imprimible (es decir,
365 el extremo inferior del margen superior) hasta el primer elemento de
366 marcado (de título o del nivel superior) sobre una página, cuando no
367 hay ningún sistema entre los dos.
373 El encabezamiento y el pie se crean por parte de las funciones
374 @code{make-footer} y @code{make-header}, definidas dentro de
375 @code{\paper}. Las implementaciones predeterminadas están en
376 @file{ly/paper-defaults.ly} y en @file{ly/titling-init.ly}.
378 El diseño de la página en sí está realizado por dos funciones dentro
379 del bloque @code{\paper}, @code{page-music-height} y
380 @code{page-make-stencil}. El primero informa al algoritmo de saltos
381 de línea de la cantidad de espacio que está disponible en una página,
382 y el último crea la propia página dado el sistema que poner sobre
385 Se pueden definir valores del bloque @code{\paper} en Scheme. En tal
386 caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
387 están definidas en @file{paper-defaults.ly} con valores en milímetros.
388 Por ello el valor @w{@code{2 cm}} se debe multiplicar en el siguiente ejemplo:
392 #(define bottom-margin (* 2 cm))
404 ragged-last-bottom = ##t
408 Este segundo ejemplo centra los números de página en la parte baja del
413 print-page-number = ##t
414 print-first-page-number = ##t
415 oddHeaderMarkup = \markup \fill-line @{ " " @}
416 evenHeaderMarkup = \markup \fill-line @{ " " @}
417 oddFooterMarkup = \markup @{ \fill-line @{
418 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
419 \fromproperty #'page:page-number-string @} @}
420 evenFooterMarkup = \markup @{ \fill-line @{
421 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
422 \fromproperty #'page:page-number-string @} @}
427 Referencia de la notación:
428 @ref{Espaciado vertical flexible dentro de los sistemas}.
430 Fragmentos de código:
434 @node Dimensiones horizontales
435 @unnumberedsubsubsec Dimensiones horizontales
436 @translationof Horizontal dimensions
439 Existe un cierto número de variables que determinan las dimensiones
440 horizontales de una página:
445 @funindex binding-offset
447 Se aumenta la cantidad @code{inner-margin} para asegurar que el
448 encuadernado no va a tapar nada. Sólo funciona con @code{two-sided}
449 establecido al valor verdadero. Valor predeterminado: @code{0}.
451 @item horizontal-shift
452 @funindex horizontal-shift
454 Medida en que todos los sistemas (incluidos los títulos de cabecera y
455 los separadores de sistemas) se desplazan a la derecha.
456 Predeterminado: @code{0.0}.
461 Nivel de sangrado para el primer sistema de una partitura. Valor
462 predeterminado: @code{15\mm}.
465 @funindex inner-margin
467 Margen que tienen todas las páginas en el lado interior si son parte
468 de un libro. Sólo funciona con @code{two-sided} establecido al valor
469 verdadero. Valor predeterminado: @code{10\mm}.
472 @funindex left-margin
474 El margen entre el límite izquierdo del papel y el comienzo de los
475 sistemas. Predeterminado: @code{10\mm}.
480 Ancho de los sistemas. Predeterminado: @code{paper-width} menos
481 @code{left-margin} y @code{right-margin}.
484 @funindex outer-margin
486 Margen que todas las páginas tienen en la parte exterior si son parte
487 de un libro. Sólo funciona con @code{two-sided} establecido al valor
488 verdadero. Valor predeterminado: @code{20\mm}.
491 @funindex paper-width
493 Ancho de la página. Predeterminado: la anchura del tamaño actual del
494 papel. Para ver más detalles, consulte @ref{Tamaño del papel}.
497 @funindex right-margin
499 Margen entre el borde derecho de la página y el final de cada sistema.
500 Valor predeterminado: @code{10\mm}.
503 @funindex short-indent
505 Nivel de sangrado para todos los sistemas de una partitura excepto el
506 primero. Predeterminado: @code{0}.
510 Si hay valores sin ajustar, se toman los predeterminados. Se ajusta
511 su valor exacto, dependiendo del tamaño de papel especificado. Por el
512 momento, los siguientes valores se ven afectados por este escalado:
515 @item @var{left-margin}
516 @item @var{right-margin}
517 @item @var{top-margin}
518 @item @var{bottom-margin}
519 @item @var{head-separation}
520 @item @var{foot-separation}
522 @item @var{short-indent}
525 Los ajustes para @code{line-width}, @code{left-margin},
526 @code{right-margin} y @code{paper-width} dependen entre sí, pero no
527 tienen que especificarse completamente.
535 En este ejemplo, sólo se establece un valor para @code{left-margin}.
536 El valor de @code{right-margin} sigue siendo el predeterminado,
537 @code{line-width} se calcula automáticamente.
545 Aquí @code{left-margin} y @code{right-margin} se ajustan al mismo
546 valor. Por tanto, @code{line-width} se sustrae de @code{paper-width}
547 y se divide entre dos. Esto significa que los sistemas se imprimen
548 centrados en la página, si sólo se especifica @code{line-width}.
550 Tienen lugar algunas comprobaciones para asegurar que los valores se
551 establecen correctamente. Si los valores no encajasen o los sistemas
552 se fueran a salir de la página, se imprime una advertencia y se
553 establecen los valores predeterminados.
564 Estas comprobaciones se pueden evitar estableciendo
565 @code{check-consistency} al valor falso.
572 check-consistency = ##f
576 @warning{Si @code{paper-width} se ajusta manualmente,
577 @code{line-width}, @code{left-margin}, @code{indent} y
578 @code{short-indent} podrían tener que ajustarse también.}
581 Fragmentos de código:
586 @node Otras variables de diseño de página
587 @unnumberedsubsubsec Otras variables de diseño de página
588 @translationof Other layout variables
590 Estas variables se pueden usar para ajustar el diseño de la página en
595 @item auto-first-page-number
596 @funindex auto-first-page-number
598 El algoritmo de división de páginas está afectado por el hecho de que
599 el número de la primera página sea par o impar. Si está establecido
600 al valor verdadero, el algoritmo de división de páginas decide si
601 comenzar con un número par o impar. Esto hace que el número de la
602 primera página se quede como está, o que se aumente en una unidad.
603 Predeterminado: @code{##f}.
607 FIXME: this variable is used, but I don't know what it does. -pm
608 @item blank-after-score-page-force
609 @funindex blank-after-score-page-force
615 @item blank-last-page-force
616 @funindex blank-last-page-force
618 Penalización por terminar la partitura en una página de numeración
619 impar. Predeterminado: @code{0}.
621 @item blank-page-force
622 @funindex blank-page-force
624 Penalización por tener una página en blanco en medio de una partitura.
625 Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
626 nunca considera la posibilidad de tener páginas en blanco en mitad de
627 una partitura. Predeterminado: @code{5}.
629 @item check-consistency
630 @funindex check-consistency
632 Si es verdadero, comprobar si @code{left-margin}, @code{right-margin}
633 y @code{line-width} encajan entre sí. También asegurar que su
634 combinación no excede del @code{paper-width} disponible. Valor
635 predeterminado: @code{##t}.
637 @item first-page-number
638 @funindex first-page-number
640 Valor del número de la primera página. Predeterminado: @code{#1}.
642 @item max-systems-per-page
643 @funindex max-systems-per-page
645 Máximo número de sistemas que tendrán cabida en una página. Está
646 contemplado por el momento solamente por parte del algoritmo
647 @code{ly:optimal-breaking}. Predeterminado: no establecido.
649 @item min-systems-per-page
650 @funindex min-systems-per-page
652 Mínimo número de sistemas que habrá en una página. Puede hacer que
653 las páginas se llenen en exceso si se establece a un valor grande.
654 Por el momento solamente está contemplado por parte del algoritmo
655 @code{ly:optimal-breaking}. Predeterminado: no establecido.
657 @item page-breaking-system-system-spacing
658 @funindex page-breaking-system-system-spacing
660 Engaña al divisor de páginas para que crea que
661 @code{system-system-spacing} está establecido a algo distinto de lo
662 que está realmente. Por ejemplo, si
663 @code{page-breaking-system-system-spacing #'padding} se establece a algo
664 mucho mayor que @code{system-system-spacing #'padding}, entonces
665 el divisor de páginas colocará menos sistemas en cada página.
666 Predeterminado: no establecido.
671 Número de páginas que usar para una partitura. Predeterminado: sin
674 @item page-spacing-weight
675 @funindex page-spacing-weight
677 Importancia relativa del espacio (vertical) de las páginas y el
678 espaciado (horizontal) de las líneas. Los valores altos hacen que el
679 espaciado de la página tenga más importancia. Predeterminado:
682 @item print-all-headers
683 @funindex print-all-headers
685 Si está establecido a un valor verdadero, imprime todas las cabeceras
686 para cada una de las @code{\score} en la salida impresa. Normalmente
687 sólo se imprimen las variables de encabezamiento de pieza y opus.
688 Predeterminado: @code{##f}.
690 @item print-first-page-number
691 @funindex print-first-page-number
693 Si está establecido a un valor verdadero, se imprime un número de
694 página en la primera página. Predeterminado: @code{##f}.
696 @item print-page-number
697 @funindex print-page-number
699 Si está establecido a un valor falso, no se imprimen los números de
700 página. Predeterminado: @code{##t}.
703 @funindex ragged-bottom
705 Si está establecido a un valor verdadero, los sistemas no ocuparán
706 verticalmente toda la altura de la página. Esto no afecta a la última
707 página. Predeterminado: @code{##f}.
709 Esto se debería establecer al valor verdadero para piezas que tienen
710 sólo dos o tres sistemas por página, por ejemplo partituras
714 @funindex ragged-last
716 Si está establecido a un valor verdadero, el último sistema de la
717 partitura no llenará la anchura de la línea. En su lugar, el último
718 sistema termina en su longitud horizontal natural. Predeterminado:
721 @item ragged-last-bottom
722 @funindex ragged-last-bottom
724 Si está establecido a un valor falso, los sistemas se repartirán
725 verticalmente por toda la última página. Predeterminado: @code{##t}.
727 Las piezas que llenan generosamente dos o más páginas deberían tener
728 esto establecido al valor verdadero.
730 También afecta a la última página de las partes de libro, es decir,
731 partes de un libro que se han creado con bloques @code{\bookpart}.
734 @funindex ragged-right
736 Si está establecido a un valor verdadero, los sistemas no llenarán el
737 ancho de línea disponible. En su lugar, los sistemas terminan en su
738 longitud horizontal natural. Predeterminado: @code{##f}.
740 Si la partitura sólo tiene un sistema, el valor predeterminado es
743 @item system-separator-markup
744 @funindex system-separator-markup
746 Objeto de marcado que se inserta entre los sistemas. Se suele usar
747 para partituras orquestales. Predeterminado: sin establecer.
749 Se ofrece la instrucción de marcado @code{\slashSeparator} como un
750 valor predeterminado apropiado, por ejemplo
752 @lilypond[quote,ragged-right]
753 #(set-default-paper-size "a6" 'landscape)
756 \relative c' { c1 \break c1 }
759 system-separator-markup = \slashSeparator
765 @funindex system-count
767 Cantidad de sistemas que usar por parte de la partitura.
768 Predeterminado: sin establecer.
770 @item systems-per-page
771 @funindex systems-per-page
773 Número de sistemas que se deben colocar en cada página. Está
774 contemplado solamente por parte del algoritmo
775 @code{ly:optimal-breaking} por el momento. Predeterminado: no
781 @cindex encuadernación
782 @cindex margen de encuadernación
784 Si es verdadero, usar @code{inner-margin}, @code{outer-margin} y
785 @code{binding-offset} para determinad los márgenes dependiendo de si
786 el número de página es par o impar. Esto sobreescribe a
787 @code{left-margin} y a @code{right-margin}. Valor predeterminado:
794 Fragmentos de código:
800 El encabezamiento de página predeterminado pone el número de página y
801 el campo @code{instrument} del bloque @code{\header} sobre la misma
804 Los títulos de cabecera (tomados de la sección @code{\header@{@}}) se
805 tratan como un sistema, por lo que @code{ragged-bottom} y
806 @code{ragged-last-bottom} añaden espacio entre los títulos y el primer
807 sistema de la partitura.
810 @node Disposición de la música
811 @section Disposición de la música
812 @translationof Music layout
815 * Establecer el tamaño del pentagrama::
816 * Disposición de la partitura::
820 @node Establecer el tamaño del pentagrama
821 @subsection Establecer el tamaño del pentagrama
822 @translationof Setting the staff size
824 @cindex tipografía, establecer tamaño de
825 @cindex pentagrama, establecer tamaño de
826 @funindex layout file
828 El @strong{tamaño de pentagrama} predeterminado se establece en 20
829 puntos. Esto se puede modificar de dos maneras:
831 Para establecer globalmente el tamaño del pentagrama para todas las
832 partituras de un archivo (o en un bloque @code{book}, para ser
833 exactos), utilice @code{set-global-staff-size}.
836 #(set-global-staff-size 14)
840 Esto establece el tamaño global predeterminado a una altura de
841 pentagrama de 14pt y escala todas las tipografías según corresponda.
843 Para establecer el tamaño del pentagrama de forma individual para cada
849 #(layout-set-staff-size 15)
854 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
855 distintos. Cada fuente tipográfica está afinada para un tamaño de
856 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
857 pesada, para que coincida con las líneas de pentagrama relativamente
858 más gruesas. Los tamaños de tipografía recomendados están
859 relacionados en la tabla siguiente:
862 @multitable @columnfractions .15 .2 .22 .2
864 @item @b{nombre de la fuente}
865 @tab @b{altura del pentagrama (pt)}
866 @tab @b{altura del pentagrama (mm)}
872 @tab partituras de bolsillo
897 @tab particellas estándar
908 @c modern rental material?
913 Estas tipografías están disponibles en cualquier tamaño. La propiedad
914 de contexto @code{fontSize} y la propiedad de disposición
915 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
916 afinar el tamaño de los pentagramas individuales. Los tamaños de
917 pentagrama individuales están en relación al tamaño global.
921 Referencia de la notación:
922 @ref{Seleccionar el tamaño de la tipografía para la notación}.
924 Fragmentos de código:
930 @code{layout-set-staff-size} no cambia la distancia entre las líneas
934 @node Disposición de la partitura
935 @subsection Disposición de la partitura
936 @translationof Score layout
940 Mientras que @code{\paper} contiene ajustes relativos al formato de
941 página del documento completo, @code{\layout} contiene ajustes para la
942 disposición específica de cada partitura.
948 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
951 \override TextScript #'padding = #1.0
952 \override Glissando #'thickness = #3
959 Referencia de la notación:
960 @ref{Cambiar los valores por omisión de los contextos}.
962 Fragmentos de código:
968 @translationof Breaks
973 * Saltos de página óptimos::
974 * Paso de página óptimo::
975 * Saltos de página mínimos::
976 * Saltos de línea explícitos::
977 * Utilizar una voz adicional para los saltos de línea::
981 @node Saltos de línea
982 @subsection Saltos de línea
983 @translationof Line breaking
985 @cindex saltos de línea
986 @cindex línea, saltos de
988 Normalmente los saltos de línea se determinan automáticamente. Se
989 eligen de forma que las líneas no aparezcan demasiado apretadas ni
990 demasiado sueltas, y que las líneas consecutivas tengan una densidad
991 similar. Ocasionalmente podemos querer sobreescribir los saltos
992 automáticos; podemos hacerlo especificando @code{\break}. Esto fuerza
993 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
994 pueden suceder al final de los compases @q{completos}, es decir, donde
995 no queda ninguna nota o grupo especial @q{colgando} por encima de la
996 línea divisoria. Si queremos poner un salto de línea donde no hay
997 línea divisoria, podemos forzar una barra de compás invisible
998 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
999 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
1001 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
1002 la barra divisoria en que se inserta.
1004 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1005 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1006 @code{\layout}. Controlan el sangrado de la primera línea de música,
1007 y la longitud de las líneas.
1009 Si se establece @code{ragged-right} a verdadero en el bloque
1010 @code{\layout}, los sistemas terminan en su longitud horizontal
1011 natural, en lugar de distribuirse horizontalmente para llenar toda la
1012 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1013 comprobación de lo apretado que es el espaciado natural.
1015 @c TODO Check and add para on default for ragged-right
1017 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1018 afecta sólo a la última línea de la pieza.
1030 @cindex saltos de línea normales
1031 @cindex música de cuatro compases por línea
1033 Para saltos de línea a intervalos regulares utilice @code{\break}
1034 separado mediante desplazamientos con @code{\skip} y repetidos con
1035 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1036 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1037 compases, y sólo en dichos lugares:
1040 << \repeat unfold 7 @{
1041 s1 \noBreak s1 \noBreak
1042 s1 \noBreak s1 \break @}
1043 @emph{the real music}
1048 Una configuración de división de líneas se puede guardar como archivo
1049 @code{.ly} automáticamente. Ello permite que alineaciones verticales
1050 se estiren para que encajen en las páginas durante una segunda
1051 ejecución del proceso de formateo. Esta posibilidad es bastante
1052 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1064 Referencia de funcionamiento interno:
1065 @rinternals{LineBreakEvent}.
1067 Fragmentos de código:
1073 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
1074 divisoria. Una nota colgando de una línea divisoria no es adecuada,
1077 @lilypond[quote,ragged-right,relative=2,verbatim]
1078 c4 c2 << c2 {s4 \break } >> % this does nothing
1079 c2 c4 | % a break here would work
1080 c4 c2 c4 ~ \break % as does this break
1084 Esto se puede evitar eliminando el grabador
1085 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
1086 forzados manualmente se tienen que añadir en paralelo con la música.
1088 @lilypond[quote,ragged-right,verbatim]
1090 \remove Forbid_line_break_engraver
1092 c4 c2 << c2 {s4 \break } >> % now the break is allowed
1097 De forma parecida, los saltos de línea están prohibidos normalmente
1098 cuando las barras cruzan a las líneas divisorias. Este comportamiento
1099 se puede modificar con el establecimiento de @code{\override Beam
1103 @node Saltos de página
1104 @subsection Saltos de página
1105 @translationof Page breaking
1107 Se puede sobreescribir el mecanismo predeterminado de salto de página
1108 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1109 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1110 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1111 y prohíben, respectivamente, la eventualidad de un salto de página.
1112 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1115 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1116 pueden insertar en el nivel más alto, entre las partituras y los
1117 elementos de marcado situados en el nivel superior.
1119 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1120 tienen el mismo efecto sobre el espaciado vertical:
1121 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1122 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
1123 la última página, respectivamente, no se verán justificados
1126 Para ver más detalles, consulte @ref{Espaciado vertical}.
1128 Los saltos de página se calculan por medio de la función
1129 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1130 de los saltos de página: @code{ly:optimal-breaking},
1131 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1132 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1133 cambiar en el bloque @code{\paper}:
1137 #(define page-breaking ly:page-turn-breaking)
1143 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1144 resolver el problema de los saltos de página, necesitando mucha
1145 memoria y prolongados tiempos de procesamiento. Para facilitar el
1146 proceso de división en páginas, se usan los bloques @code{\bookpart}
1147 para dividir el libro en varias partes: los saltos de página se
1148 producen de manera independiente en cada parte. También se pueden
1149 usar diferentes funciones de división en páginas para las distintas
1155 subtitle = "Prefacio"
1158 %% En una parte que consiste en texto principalmente,
1159 %% puede ser preferible ly:minimal-breaking
1160 #(define page-breaking ly:minimal-breaking)
1162 \markup @{ @dots{} @}
1166 %% En esta parte, consistente en música, se usa la función
1167 %% óptima predeterminada de saltos de página.
1169 subtitle = "Primer movimiento"
1171 \score @{ @dots{} @}
1178 @funindex \pageBreak
1180 @funindex \noPageBreak
1181 @code{\noPageBreak}.
1186 Fragmentos de código:
1190 @node Saltos de página óptimos
1191 @subsection Saltos de página óptimos
1192 @translationof Optimal page breaking
1194 @funindex ly:optimal-breaking
1196 La función @code{ly:optimal-breaking} es el método predeterminado de
1197 LilyPond para determinar los saltos de página. Intenta hallar una
1198 división de páginas que haga mínimos el apretujamiento y la
1199 distensión, tanto horizontal como verticalmente. A diferencia de
1200 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1205 Fragmentos de código:
1209 @node Paso de página óptimo
1210 @subsection Paso de página óptimo
1211 @translationof Optimal page turning
1213 @funindex ly:page-turn-breaking
1215 Con frecuencia es necesario encontrar una configuración de división de
1216 páginas de manera que haya un silencio al final de una página de cada
1217 dos. De esta forma, el músico puede pasar la página sin perder notas.
1218 La función @code{ly:page-turn-breaking} trata de encontrar una
1219 división de páginas que haga mínimos el apretujamiento y el
1220 estiramiento, pero con la restricción añadida de que sólo se permite
1221 introducir vueltas de página en los lugares especificados.
1223 Hay dos etapas en el uso de esta función de división de páginas. En
1224 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1225 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1226 dónde nos gustaría permitir los saltos de página.
1228 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1229 especificar manualmente cada uno de los pasos de página potenciales,
1230 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1233 Si esto es demasiado tedioso, podemos añadir un grabador
1234 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1235 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1236 sin notas (observe que no busca silencios, sino la ausencia de notas.
1237 Se hace así para que la polifonía en un solo pentagrama con silencios
1238 en una de las voces no arruine la labor del grabador
1239 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1240 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1241 un @code{\allowPageTurn} en la última barra de compás de dicha
1242 sección, a no ser que haya una barra @q{especial} de compás (como una
1243 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1244 última barra @q{especial} de compás de la sección.
1246 @funindex minimumPageTurnLength
1247 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1248 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1249 una sección sin notas antes de que se considere la posibilidad de un
1250 paso de página. El valor predeterminado para
1251 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
1252 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1256 \new Staff \with @{ \consists "Page_turn_engraver" @}
1259 R1 | % a page turn will be allowed here
1261 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1262 R1 | % a page turn will not be allowed here
1264 R1*2 | % a page turn will be allowed here
1269 @funindex minimumRepeatLengthForPageTurn
1270 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1271 primera y segunda vez. Sólo permite un pase de página durante la
1272 repetición si hay suficiente tiempo al principio y al final de la
1273 repetición para volver a pasar la página hacia atrás. El grabador
1274 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1275 página si la repetición es muy corta. Si establecemos la propiedad de
1276 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1277 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1278 repeticiones cuya duración sea mayor que este valor.
1280 Las instrucciones de paso de página, @code{\pageTurn},
1281 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1282 el nivel más elevado del código, entre las partituras y los elementos
1283 de marcado del nivel superior.
1289 @funindex \noPageTurn
1291 @funindex \allowPageTurn
1292 @code{\allowPageTurn}.
1297 Fragmentos de código:
1303 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1304 partitura. Si hay más de uno, se interferirán entre sí.
1307 @node Saltos de página mínimos
1308 @subsection Saltos de página mínimos
1309 @translationof Minimal page breaking
1311 @funindex ly:minimal-breaking
1313 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1314 para determinar los saltos de página: completa una página con tantos
1315 sistemas como sea posible antes de continuar con la siguiente. Así,
1316 puede preferirse para partituras con muchas páginas, donde las otras
1317 funciones de salto de página pueden resultar demasiado lentas o ávidas
1318 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1322 #(define page-breaking ly:minimal-breaking)
1328 Fragmentos de código:
1332 @node Saltos de línea explícitos
1333 @subsection Saltos de línea explícitos
1334 @translationof Explicit breaks
1336 Lily a veces rechaza las instrucciones @code{\break} y
1337 @code{\pageBreak} explícitas. Hay dos instrucciones para
1338 sobreescribir este comportamiento:
1341 \override NonMusicalPaperColumn #'line-break-permission = ##f
1342 \override NonMusicalPaperColumn #'page-break-permission = ##f
1345 Cuando se sobreescribe el valor de @code{line-break-permission} a
1346 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1347 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1348 @code{page-break-permission} a falso, Lily inserta saltos de página en
1349 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1351 @lilypond[quote,verbatim]
1360 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1361 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1362 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1363 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1364 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1365 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1366 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1367 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1372 \override NonMusicalPaperColumn #'line-break-permission = ##f
1373 \override NonMusicalPaperColumn #'page-break-permission = ##f
1381 Fragmentos de código:
1385 @node Utilizar una voz adicional para los saltos de línea
1386 @subsection Utilizar una voz adicional para los saltos de línea
1387 @translationof Using an extra voice for breaks
1389 La información sobre saltos de línea y de página suele aparecer
1390 directamente entremezclado dentro del código de notas.
1395 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1397 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1402 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1403 @code{\pageBreak}, pero mezcla la escritura de música con información
1404 que especifica cómo se debe disponer la música sobre la página.
1405 Podemos mantener la introducción de música y la información de saltos
1406 de línea y de página en dos lugares separados mediante la introducción
1407 de una voz adicional que contenga los saltos. Esta voz adicional
1408 contiene solamente desplazamientos o @q{skips} junto con los
1409 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1410 disposición de los saltos.
1412 @lilypond[quote,verbatim]
1422 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1423 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1424 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1425 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1431 Este patrón resulta especialmente útil cuando se sobreescribe
1432 @code{line-break-system-details} y las otras útiles (pero largas)
1433 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1434 @ref{Espaciado vertical}.
1436 @lilypond[quote,verbatim]
1440 \overrideProperty "Score.NonMusicalPaperColumn"
1441 #'line-break-system-details #'((Y-offset . 0))
1444 \overrideProperty "Score.NonMusicalPaperColumn"
1445 #'line-break-system-details #'((Y-offset . 35))
1448 \overrideProperty "Score.NonMusicalPaperColumn"
1449 #'line-break-system-details #'((Y-offset . 70))
1452 \overrideProperty "Score.NonMusicalPaperColumn"
1453 #'line-break-system-details #'((Y-offset . 105))
1457 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1458 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1459 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1460 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1468 Referencia de la notación:
1469 @ref{Espaciado vertical}.
1471 Fragmentos de código:
1475 @node Espaciado vertical
1476 @section Espaciado vertical
1477 @translationof Vertical spacing
1479 @cindex espaciado vertical
1480 @cindex vertical, espaciado
1482 El espaciado vertical está controlado por tres factores: la cantidad
1483 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1484 la separación entre los sistemas, y la separación entre los
1485 pentagramas dentro de un sistema.
1488 * Espaciado vertical flexible dentro de los sistemas::
1489 * Posicionamiento explícito de los pentagramas y los sistemas::
1490 * Evitar las colisiones verticales::
1494 @node Espaciado vertical flexible dentro de los sistemas
1495 @subsection Espaciado vertical flexible dentro de los sistemas
1496 @translationof Flexible vertical spacing within systems
1498 @cindex distancia entre pentagramas
1499 @cindex pentagrama, distancia entre los
1500 @cindex espacio entre pentagramas
1501 @cindex espacio dentro de los sistemas
1503 Tres mecanismos distintos controlan el espaciado vertical flexible
1504 dentro de los sistemas, uno por cada una de las categorías siguientes:
1507 @item @emph{pautas sin agrupar},
1508 @item @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1509 @code{ChoirStaff}, etc.), y
1510 @item @emph{líneas que no son pautas} (como @code{Lyrics},
1511 @code{ChordNames}, etc.).
1514 La altura de cada sistema se determina en dos fases. Primero, todos
1515 los pentagramas se disponen según la cantidad de espacio vacío
1516 disponible. Después, las líneas que no son pautas se distribuyen
1519 Observe que los mecanismos de espaciado estudiados en esta sección
1520 solamente controlan el espaciado vertical de pas pautas y líneas que
1521 no son pautas dentro de los sistemas individuales. El espaciado
1522 vertical entre distintos sistemas, partituras, marcados y márgenes se
1523 controla mediante variables de @code{\paper} que se estudian en
1524 @ref{Dimensiones verticales flexibles}.
1527 * Propiedades de espaciado dentro de los sistemas::
1528 * Espaciado de pautas no agrupadas::
1529 * Espaciado de pautas agrupadas::
1533 @node Propiedades de espaciado dentro de los sistemas
1534 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1535 @translationof Within-system spacing properties
1537 Los mecanismos de espaciado vertical dentro del sistema están
1538 controlados por dos conjuntos de propiedades de grob. El primer
1539 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1540 crea por parte de todas las pautas y líneas que no son pautas. EL
1541 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1542 puede crearse por parte de los grupos de pentagramas, pero solamente
1543 si se le llama explícitamente. Estas propiedades se describen
1544 individualmente al final de la presente sección.
1546 Excepto por la propiedad @code{staff-affinity} (del grob
1547 @code{VerticalAxisGroup}), cada una de estas propiedades de grob se
1548 almacena como una lista-A (lista asociativa), y cada una utiliza la
1549 misma estructura de lista-A que las variables de espaciado de
1550 @code{\paper} estudiadas en @ref{Dimensiones verticales flexibles}.
1552 El @emph{punto de referencia} para un pentagrama y otro tipo de pauta
1553 es el centro vertical de su @code{StaffSymbol} (es decir, la línea
1554 central si @code{line-count} es un número impar; el espacio central si
1555 @code{line-count} es par).
1557 Los puntos de referencia para las líneas individuales que no son
1558 pautas aparecen en la tabla siguiente:
1560 @multitable {Línea que no es una pauta} {Punto de referencia}
1561 @headitem Línea que no es una pauta @tab Punto de referencia
1562 @item @code{ChordNames} @tab línea de base
1563 @item @code{NoteNames} @tab línea de base
1564 @item @code{Lyrics} @tab línea de base
1565 @item @code{Dynamics} @tab centro vertical
1566 @item @code{FiguredBass} @tab punto más alto
1567 @item @code{FretBoards} @tab línea superior
1570 En la siguiente imagen, las líneas horizontales indican las posiciones
1571 de estos puntos de referencia:
1573 @lilypond[quote,noragged-right,line-width=110\mm]
1574 #(define zero-space '((padding . -inf.0) (space . 0)))
1576 alignToZero = \with {
1577 \override VerticalAxisGroup #'inter-staff-spacing = #zero-space
1578 \override VerticalAxisGroup #'inter-loose-line-spacing = #zero-space
1580 lowerCaseChords = \with {
1581 chordNameLowercaseMinor = ##t
1583 staffAffinityDown = \with {
1584 \override VerticalAxisGroup #'staff-affinity = #DOWN
1587 #(define-music-function
1588 (parser location context)
1590 #{ s1*0^\markup { \typewriter $context } #})
1593 \context { \Dynamics \alignToZero }
1594 \context { \FiguredBass \alignToZero }
1595 \context { \Lyrics \alignToZero }
1596 \context { \NoteNames \alignToZero }
1597 \context { \ChordNames \alignToZero \lowerCaseChords }
1598 \context { \FretBoards \alignToZero \staffAffinityDown }
1600 \override BarLine #'stencil = ##f
1601 \override DynamicText #'self-alignment-X = #-1
1602 \override FretBoard #'X-offset = #1.75
1603 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1604 \override TimeSignature #'stencil = ##f
1608 %% These contexts have reference points at the baseline:
1609 %% ChordNames, NoteNames, and Lyrics
1611 \new ChordNames { \chords { g1:m } }
1612 \new NoteNames { s1 | g1 | }
1613 \new RhythmicStaff {
1614 \set RhythmicStaff.instrumentName = #"baseline "
1616 \labelContext "ChordNames" s1 |
1617 \labelContext "NoteNames" s1 |
1618 \labelContext "Lyrics" s1 |
1620 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1623 %% The reference point for Dynamics is its vertical center
1625 \new RhythmicStaff {
1626 \set RhythmicStaff.instrumentName = #"vertical center "
1627 \labelContext "Dynamics" s1*3
1629 \new Dynamics { s2\mp s\fp }
1632 %% The reference point for FiguredBass is its highest point
1634 \new RhythmicStaff {
1635 \set RhythmicStaff.instrumentName = #"highest point "
1636 \labelContext "FiguredBass" s1
1638 \new FiguredBass { \figuremode { <6 5>1 } }
1641 %% The reference point for FretBoards is the top line
1642 \include "predefined-guitar-fretboards.ly"
1644 \new FretBoards { \chordmode { e1 } }
1645 \new RhythmicStaff {
1646 \set RhythmicStaff.instrumentName = #"top line "
1647 \labelContext "FretBoards " s1
1652 En @ref{Modificación de las listas-A} se estudian métodos específicos
1653 para la modificación de las listas-A. Las propiedades de los grobs
1654 deben ajustarse con un @code{\override} dentro de un bloque
1655 @code{\score} o @code{\layout}, y no dentro de un bloque
1658 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
1659 estas listas-A. La primera declaración ctualiza un par clave-valor de
1660 forma individual, y la segunda redefine la propiedad completamente:
1664 \override VerticalAxisGroup #'next-staff-spacing #'space = #10
1668 \override VerticalAxisGroup #'next-staff-spacing =
1671 (minimum-distance . 9)
1672 (stretchability . 10))
1676 Para modificar globalmente cualquiera de los ajustes de espaciado,
1677 póngalos dentro del bloque @code{\layout}:
1683 \override VerticalAxisGroup #'next-staff-spacing #'space = #10
1688 Los ajustes predeterminados globales para las siguientes propiedades
1689 de grob están definidas en @file{scm/define-grobs.scm}:
1692 @item Propiedades de @code{StaffGrouper}:
1694 @item @code{between-staff-spacing}
1695 @item @code{after-last-staff-spacing}
1697 @var{space} es el tamaño del espacio ensanchable entre la línea media
1698 de un pentagrama hasta la línea media del pentagrama siguiente.
1701 @var{minimum-distance} proporciona un límite inferior sobre la
1702 distancia final entre la línea central de un pentagrama hasta la línea
1703 central del pentagrama siguiente. Esto es, si una página tiene muchos
1704 sistemas y necesita comprimirse, la distancia desde este pentagrama
1705 hasta el siguiente nunca se comprimirá a menos de
1706 @var{minimum-distance}.
1709 @var{padding} es la cantidad de espacio vacío que debe estar presente
1710 entre el final de un pentagrama y el principio del siguiente. Se
1711 diferencia de @var{minimum-distance} en que el efecto de @var{padding}
1712 depende de la altura de los objetos que están sobre el pentagrama.
1713 Por ejemplo, es más probable que @var{padding} entre en efecto para
1714 pentagramas que tienen notas muy agudas por encima de la pauta.
1717 @var{stretchability} controla la propensión del espacio ensanchable a
1718 ampliarse cuando lo hace el sistema. Los valores grandes producen que
1719 un sistema se amplíe más, mientras que un valor de cero evita que el
1720 espacio se amplíe en absoluto. Si se deja sin establecer, el valor
1721 predeterminado de @var{stretchability} será @code{space -
1724 @item Propiedades de @code{VerticalAxisGroup}:
1726 @item @code{default-next-staff-spacing}
1727 @item @code{non-affinity-spacing}
1731 Las sobreescrituras predeterminadas para tipos específicos de líneas
1732 que no son pautas están en las definiciones de contexto
1733 correspondientes en el archivo @file{ly/engraver-init.ly}.
1736 @subsubheading Propiedades del grob @code{VerticalAxisGroup}
1738 Las propiedades de @code{VerticalAxisGroup} se ajustan por lo general
1739 con un @code{\override} en el nivel de @code{Staff} (o equivalente).
1742 @item next-staff-spacing
1743 Distancia entre el pentagrama actual y el que está justo por debajo de
1744 él dentro del mismo sistema, incluso si hay más líneas que nos son
1745 pautas (tales como @code{Lyrics}) situadas entre los dos pentagramas.
1746 No se aplica a la pauta inferior de un sistema. Para un pentagrama
1747 agrupado, si @code{next-staff-spacing} está establecido, se usará en
1748 lugar de la propiedad @code{StaffGrouper} correspondiente
1749 (@code{between-staff-spacing} o @code{after-last-staff-spacing}). Si
1750 no está establecido, se usa la propiedad
1751 @code{default-next-staff-spacing}, a no ser que la pauta sea parte de
1752 un grupo de pentagramas y esté establecida la propiedad
1753 @code{StaffGrouper} adecuada.
1755 @item default-next-staff-spacing
1756 Valor que se utilizará para @code{next-staff-spacing} cuando éste se
1757 encuentra sin establecer, para pautas no agrupadas y para pautas
1758 agrupadas que no tienen la propiedad @code{StaffGrouper}
1759 correspondiente establecida (@code{between-staff-spacing} o
1760 @code{after-last-staff-spacing}).
1762 @item staff-affinity
1763 Dirección de la pauta que se utilizará para espaciar la línea actual
1764 que no es una pauta. Se puede elegir entre @code{UP} (arriba),
1765 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
1766 línea que no es una pauta se sitúa equidistante entre las pautas
1767 contiguas por los dos lados, a no ser que lo impidan colisiones u
1768 otras restricciones de espaciado. Las líneas que no son pautas y sean
1769 contiguas deberían tener un valor no creciente de
1770 @code{staff-affinity} desde la parte superior hasta la inferior,
1771 p.ej. una línea ajustada a @code{UP} no debe seguir inmediatamente a
1772 otra ajustada a @code{DOWN}. Las líneas que no son pautaas en la
1773 parte superior de un sistema debieran usar @code{DOWN}; las de la
1774 parte inferior debieran usar @code{UP}. Ajustar @code{staff-affinity}
1775 a @code{#f} hará que una línea que no es una pauta se trate como si
1776 fuera una pauta. De forma inversa, ajustar @code{staff-affinity} (a
1777 @code{UP}, @code{DOWN} o @code{CENTER}) en una pauta, hará que se le
1778 trate como una línea que no es una pauta.
1780 @c TODO: verify last clause below ("even if other...")
1782 @item inter-staff-spacing
1783 Distancia entre la línea actual que no es una pauta y la pauta más
1784 cercana en la dirección de @code{staff-affinity}, si no hay ninguna
1785 línea que no sea una pauta entre ellas, y @code{staff-affinity} es
1786 @code{UP} o bien @code{DOWN}. Si @code{staff-affinity} es
1787 @code{CENTER}, entonces se usa @code{inter-staff-spacing} para las
1788 pautas contiguas en @emph{los dos} lados, incluso si aparecen otras
1789 líneas que no sean pautas entre la pauta actual y otra cualquiera.
1791 @item inter-loose-line-spacing
1792 Distancia entre la línea actual que no es una pauta y la línea
1793 siguiente que no es una pauta en la dirección de
1794 @code{staff-affinity}, si las dos están en el mismo lado de la pauta
1795 de referencia, y @code{staff-affinity} es @code{UP} o @code{DOWN}.
1797 @item non-affinity-spacing
1798 Distancia entre la línea actual que no es una pauta y la pauta en la
1799 dirección opuesta a la indicada por @code{staff-affinity}, si no hay
1800 otras líneas que no son pautas entre las dos, y @code{staff-affinity}
1801 es @code{UP} o @code{DOWN}. Se puede usar esto, por ejemplo, para
1802 requerir una cantidad de relleno mínima entre una línea de
1803 @code{Lyrics} y la pauta a la que no pertenece.
1807 @subsubheading Propiedades del grob @code{StaffGrouper}
1809 Las propiedades de @code{StaffGrouper} se suelen ajustar con un
1810 @code{\override} en el nivel de @code{StaffGroup} (o equivalente).
1813 @item between-staff-spacing
1814 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
1815 La propiedad @code{next-staff-spacing} del grob
1816 @code{VerticalAxisGroup} de una pauta individual se usará en su lugar
1817 para cualquier pauta dentro del grupo que lo tenga establecido. Si
1818 tanto @code{between-staff-spacing} como @code{next-staff-spacing}
1819 están sin establecer, se usa la propiedad
1820 @code{default-next-staff-spacing} del grob @code{VerticalAxisGroup} de
1823 @item after-last-staff-spacing
1824 Distancia entre la última pauta del grupo de pautas actual y la pauta
1825 justo por debajo de ella en el mismo sistema, incluso si existen una o
1826 más líneas que no son pautas (como @code{Lyrics}) entre las dos
1827 pautas. No se aplica a, pentagrama inferior de un sistema. La
1828 propiedad @code{next-staff-spacing} del grob @code{VerticalAxisGroup}
1829 de una pauta individual se usará en su lugar para cualquier pauta
1830 dentro del grupo que la tengan establecida. Si tanto
1831 @code{after-last-staff-spacing} como @code{next-staff-spacing} están
1832 sin establecer, se usa la propiedad @code{default-next-staff-spacing}
1833 del grob @code{VerticalAxisGroup} de cada pauta.
1837 @node Espaciado de pautas no agrupadas
1838 @unnumberedsubsubsec Espaciado de pautas no agrupadas
1839 @translationof Spacing of ungrouped staves
1841 Las @emph{pautas} (como @code{Staff}, @code{DrumStaff},
1842 @code{TabStaff}, etc.) son contextos que pueden contener uno o más
1843 contextos de voz, pero no pueden contener otras pautas.
1845 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
1849 @item Propiedades de @code{VerticalAxisGroup}:
1851 @item @code{next-staff-spacing}
1855 Estas propiedades de grob se describen individualmente más arriba;
1856 véase @ref{Propiedades de espaciado dentro de un sistema}.
1858 Están implicadas algunas propiedades adicionales para pautas que
1859 forman parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
1861 El ejemplo siguiente muestra cómo puede afectar la propiedad
1862 @code{next-staff-spacing} al espaciado de pautas no agrupadas:
1864 @lilypond[verbatim,quote,staffsize=16]
1868 \override VerticalAxisGroup #'next-staff-spacing =
1871 (minimum-distance . 7))
1876 % The very low note here needs more room than 'space can
1877 % provide, so the distance between this staff and the next is
1878 % determined by 'padding.
1879 \new Staff { b,2 r | }
1881 % Here, 'space provides enough room, and there is no need to
1882 % compress the space (towards 'minimum-distance) to make room
1883 % for anything else on the page, so the distance between this
1884 % staff and the next is determined by 'space.
1885 \new Staff { \clef bass g2 r | }
1887 % By setting 'padding to a negative value, staves can be made to
1888 % collide. The lowest acceptable value for 'space is 0.
1890 \override VerticalAxisGroup #'next-staff-spacing =
1893 } { \clef bass g2 r | }
1894 \new Staff { \clef bass g2 r | }
1899 @node Espaciado de pautas agrupadas
1900 @unnumberedsubsubsec Espaciado de pautas agrupadas
1901 @translationof Spacing of grouped staves
1903 En partituras grandes como las orquestales, es común colocar los
1904 pentagramas en grupos. El espacio entre los grupos suele ser mayor
1905 que el espacio que hay entre los pentagramas dentro del mismo grupo.
1907 Los grupos de pautas, @emph{Staff-groups} (tales como
1908 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
1909 contener al mismo tiempo uno o más pentagramas o pautas.
1911 Las siguientes propiedades afectan al espaciado de las pautas dentro
1915 @item Propiedades de @code{VerticalAxisGroup}:
1917 @item @code{next-staff-spacing}
1918 @item @code{default-next-staff-spacing}
1920 @item Propiedades de @code{StaffGrouper}:
1922 @item @code{between-staff-spacing}
1923 @item @code{after-last-staff-spacing}
1927 Estas propiedades de grob se describen individualmente más arriba;
1928 véase @ref{Propiedades de espaciado dentro de un sistema}.
1930 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
1931 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
1933 @lilypond[verbatim,quote,staffsize=16]
1937 \override StaffGrouper #'between-staff-spacing #'padding = #0
1938 \override StaffGrouper #'between-staff-spacing #'space = #1
1943 \new PianoStaff \with {
1944 \override StaffGrouper #'after-last-staff-spacing #'space = #20
1958 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
1960 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
1961 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
1962 se imprimen como pentagramas (es decir, en líneas horizontales dentro
1963 de los sistemas). Específicamente, las líneas que no son pautas son
1964 contextos del tipo no-pauta que crean el objeto de presentación
1965 @code{VerticalAxisGroup}.
1967 Las siguientes propiedades afectan al espaciado de las líneas que no
1971 @item Propiedades de @code{VerticalAxisGroup}:
1973 @item @code{staff-affinity}
1974 @item @code{inter-staff-spacing}
1975 @item @code{inter-loose-line-spacing}
1976 @item @code{non-affinity-spacing}
1980 Estas propiedades de grob se describen individualmente más arriba;
1981 véase @ref{Propiedades de espaciado dentro del sistema}.
1983 El ejemplo siguiente muestra cómo la propiedad
1984 @code{inter-loose-line-spacing} puede afectar el espaciado de líneas
1985 consecutivas que no son pautas. Aquí, mediante el establecimiento de
1986 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
1987 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
1989 @lilypond[verbatim,quote,staffsize=16]
1993 \override VerticalAxisGroup
1994 #'inter-loose-line-spacing #'stretchability = #1000
2001 \override VerticalAxisGroup #'next-staff-spacing = #'((space . 30))
2004 \override VerticalAxisGroup #'staff-affinity = #UP
2007 \override VerticalAxisGroup #'staff-affinity = #CENTER
2008 } \lyricmode { center }
2010 \override VerticalAxisGroup #'staff-affinity = #DOWN
2011 } \lyricmode { down }
2019 @file{ly/engraver-init.ly},
2020 @file{scm/define-grobs.scm}.
2022 Fragmentos de código:
2025 @c @lsr{spacing,page-spacing.ly},
2026 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2028 Referencia de funcionamiento interno:
2029 @rinternals{Contexts},
2030 @rinternals{VerticalAxisGroup},
2031 @rinternals{StaffGrouper},
2032 @rinternals{VerticalAlignment},
2033 @rinternals{Axis_group_engraver}.
2036 @node Posicionamiento explícito de los pentagramas y los sistemas
2037 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2038 @translationof Explicit staff and system positioning
2040 Una forma de comprender los ajustes de @code{VerticalAxisGroup} y de
2041 @code{\paper} que se han explicado en las dos secciones precedentes es
2042 una colección de distintos ajustes que conciernen principalmente a la
2043 cantidad de relleno vertical entre distintos pentagramas y sistemas
2044 que ocupan toda la página.
2045 @c running down the page.
2047 Es posible enfrentarse al espaciado vertical de una forma distinta
2048 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2049 Cuando los ajustes de @code{VerticalAxisGroup} y de @code{\paper}
2050 especifican relleno vertical, @code{NonMusicalPaperColumn
2051 #'line-break-system-details} especifica posiciones verticales exactas
2054 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2055 lista asociativa de tres ajustes diferentes:
2058 @item @code{X-offset} (desplazamiento en X)
2059 @item @code{Y-offset} (desplazamiento en Y)
2060 @item @code{alignment-distances} (distancias de alineación)
2063 Las sobreescrituras de los objetos gráficos, entre ellas las de
2064 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2065 tres lugares distintos dentro de un archivo de entrada:
2068 @item directamente en medio de las notas
2069 @item en un bloque @code{\context}
2070 @item en el bloque @code{\with}
2073 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2074 instrucción @code{\override} usual en los bloques @code{\context} y en
2075 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2076 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2077 instrucción especial @code{\overrideProperty}. He aquí algunas
2078 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2079 instrucción especial @code{\overrideProperty}:
2082 \overrideProperty NonMusicalPaperColumn
2083 #'line-break-system-details #'((X-offset . 20))
2085 \overrideProperty NonMusicalPaperColumn
2086 #'line-break-system-details #'((Y-offset . 40))
2088 \overrideProperty NonMusicalPaperColumn
2089 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
2091 \overrideProperty NonMusicalPaperColumn
2092 #'line-break-system-details #'((alignment-distances . (15)))
2094 \overrideProperty NonMusicalPaperColumn
2095 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
2096 (alignment-distances . (15)))
2099 Para entender cómo funciona cada uno de los distintos ajustes,
2100 empezamos observando un ejemplo que no incluye absolutamente ninguna
2103 @c \book { } is required in these examples to ensure the spacing
2104 @c overrides can be seen between systems. -np
2107 \header { tagline = ##f }
2108 \paper { left-margin = 0\mm }
2118 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2121 \repeat unfold 15 { d'4 d' d' d' }
2128 Esta partitura mantiene aislada la información de los saltos de línea
2129 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2130 de saltos ayuda a mantener separada de la escritura de notas conforme
2131 el ejemplo se vuelve más complicado. Consulte @ref{Utilizar una voz adicional para los saltos de línea}.
2133 Los saltos explícitos dividen la música de forma regular en seis
2134 compases por línea. El espaciado vertical es el resultado de los
2135 ajustes predeterminados de LilyPond. Para establecer explícitamente
2136 el punto de origen vertical de cada sistema, podemos establecer el par
2137 @code{Y-offset} en el atributo @code{line-break-system-details} del
2138 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2141 \header { tagline = ##f }
2142 \paper { left-margin = 0\mm }
2148 \overrideProperty #"Score.NonMusicalPaperColumn"
2149 #'line-break-system-details #'((Y-offset . 0))
2151 \overrideProperty #"Score.NonMusicalPaperColumn"
2152 #'line-break-system-details #'((Y-offset . 40))
2154 \overrideProperty #"Score.NonMusicalPaperColumn"
2155 #'line-break-system-details #'((Y-offset . 80))
2158 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2161 \repeat unfold 15 { d'4 d' d' d' }
2168 Observe que @code{line-break-system-details} toma una lista asociativa
2169 de una cantidad de valores potencialmente elevada, pero aquí sólo
2170 fijamos un valor. Observe también que aquí la propiedad
2171 @code{Y-offset} determina la posición vertical exacta sobre la página
2172 en la que se trazará cada uno de los nuevos sistemas.
2174 Ahora que hemos establecido explícitamente el punto de origen vertical
2175 de cada sistema, podemos también establecer manualmente
2176 las distancias verticales entre
2177 los pentagramas dentro de cada sistema. Lo hacemos
2178 usando la subpropiedad @code{alignment-distances} de
2179 @code{line-break-system-details}.
2182 \header { tagline = ##f }
2183 \paper { left-margin = 0\mm }
2189 \overrideProperty #"Score.NonMusicalPaperColumn"
2190 #'line-break-system-details #'((Y-offset . 20)
2191 (alignment-distances . (15)))
2193 \overrideProperty #"Score.NonMusicalPaperColumn"
2194 #'line-break-system-details #'((Y-offset . 60)
2195 (alignment-distances . (15)))
2197 \overrideProperty #"Score.NonMusicalPaperColumn"
2198 #'line-break-system-details #'((Y-offset . 100)
2199 (alignment-distances . (15)))
2202 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2205 \repeat unfold 15 { d'4 d' d' d' }
2212 Observe que aquí asignamos dos valores distintos al atributo
2213 @code{line-break-system-details} del grob
2214 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2215 @code{line-break-system-details} acepta muchos parámetros de espaciado
2216 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2217 correspondiente), sólo tenemos que establecer el desplazamiento
2218 @code{Y-offset} y los pares @code{alignment-distances} para controlar el
2219 punto de origen vertical de cada sistema y pentagrama. Finalmente,
2220 observe que @code{alignment-distances} especifica el posicionamiento
2221 vertical de los pentagramas pero no de los grupos de pentagramas.
2224 \header { tagline = ##f }
2225 \paper { left-margin = 0\mm }
2231 \overrideProperty #"Score.NonMusicalPaperColumn"
2232 #'line-break-system-details #'((Y-offset . 0)
2233 (alignment-distances . (30 10)))
2235 \overrideProperty #"Score.NonMusicalPaperColumn"
2236 #'line-break-system-details #'((Y-offset . 60)
2237 (alignment-distances . (10 10)))
2239 \overrideProperty #"Score.NonMusicalPaperColumn"
2240 #'line-break-system-details #'((Y-offset . 100)
2241 (alignment-distances . (10 30)))
2244 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2247 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2248 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2255 Algunos puntos que tener en cuenta:
2258 @item Al usar @code{alignment-distances}, la letra
2259 y otras líneas que no son pautas, no cuentan como un pentagrama.
2261 @item Las unidades de los números que se pasan a @code{X-offset},
2262 @code{Y-offset} y @code{alignment-distances} se interpretan como
2263 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2264 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2265 los valores negativos mueven los pentagramas y la letra hacia abajo.
2267 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2268 #'line-break-system-details} dados aquí permiten el posicionamiento de
2269 pentagramas y sistemas en cualquier lugar de la página, es posible
2270 violar los márgenes o los límites del papel, o incluso imprimir
2271 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2272 a los diferentes ajustes unos valores razonables.
2277 Fragmentos de código:
2281 @node Evitar las colisiones verticales
2282 @subsection Evitar las colisiones verticales
2283 @translationof Vertical collision avoidance
2285 @funindex outside-staff-priority
2286 @funindex outside-staff-padding
2287 @funindex outside-staff-horizontal-padding
2289 Podemos decir intuitivamente que algunos objetos de la notación
2290 musical pertenecen al pentagrama y otros se sitúan fuera del
2291 pentagrama. Entre los objetos que pertenecen al exterior del
2292 pentagrama están las marcas de ensayo, las marcas textuales y las
2293 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2294 del pentagrama). La regla de LilyPond para la colocación vertical de
2295 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2296 como sea posible pero no tan próximos como para que choquen con otro
2299 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2300 determinar si un grob es un objeto fuera del pentagrama: si
2301 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2302 del pentagrama. Además, @code{outside-staff-priority} informa a
2303 LilyPond en qué orden se debe situar los objetos.
2305 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2306 exterior del pentagrama. Después ordena los objetos fuera del
2307 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2308 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2309 a uno y los coloca de forma que no choquen con ningún objeto que ya
2310 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2311 compiten por el mismo espacio, el que tiene la prioridad
2312 @code{outside-staff-priority} más baja se colocará más próximo al
2315 @lilypond[quote,ragged-right,relative=2,verbatim]
2318 \once \override TextScript #'outside-staff-priority = #1
2319 c4_"Text"\pp % this time the text will be closer to the staff
2321 % by setting outside-staff-priority to a non-number,
2322 % we disable the automatic collision avoidance
2323 \once \override TextScript #'outside-staff-priority = ##f
2324 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2325 c4_"Text"\pp % now they will collide
2328 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2329 posicionados previamente se puede controlar con
2330 @code{outside-staff-padding}.
2332 @lilypond[quote,ragged-right,relative=2,verbatim]
2333 \once \override TextScript #'outside-staff-padding = #0
2334 a'^"This text is placed very close to the note"
2335 \once \override TextScript #'outside-staff-padding = #3
2336 c^"This text is padded away from the previous text"
2337 c^"This text is placed close to the previous text"
2340 De forma predeterminada, los objetos fuera del pentagrama se colocan
2341 sólo para evitar una colisión horizontal con los grobs posicionados
2342 previamente. Esto puede llevar a situaciones en las que los objetos
2343 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2344 vertical entre pentagramas se puede fijar también de manera que los
2345 objetos fuera del pentagrama se sitúen de forma intercalada. El
2346 establecimiento del relleno horizontal
2347 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2348 desplace verticalmente para que tal situación no ocurra.
2350 @lilypond[quote,ragged-right,relative=2,verbatim]
2351 % the markup is too close to the following note
2355 % setting outside-staff-horizontal-padding fixes this
2357 \once \override TextScript #'outside-staff-horizontal-padding = #1
2365 Fragmentos de código:
2369 @node Espaciado horizontal
2370 @section Espaciado horizontal
2371 @translationof Horizontal spacing
2373 @cindex horizontal, espaciado
2374 @cindex espaciado horizontal
2377 * Panorámica del espaciado horizontal::
2378 * Área de espaciado nueva::
2379 * Cambiar el espaciado horizontal::
2380 * Longitud de la línea::
2381 * Notación proporcional::
2385 @node Panorámica del espaciado horizontal
2386 @subsection Panorámica del espaciado horizontal
2387 @translationof Horizontal spacing overview
2389 El motor de espaciado traduce las diferencias en las duraciones a
2390 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2391 duraciones más largas reciben un espacio mayor y las duraciones más
2392 cortas reciben menos. Las duraciones más breves reciben un espacio de
2393 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2394 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2395 duración, más espacio recibe: al doblar una duración se añade un
2396 espacio de tamaño fijo (este tamaño se controla mediante
2397 @code{spacing-increment}) a la nota.
2399 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2400 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2401 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2403 @lilypond[quote,verbatim,relative=1]
2404 c2 c4. c8 c4. c8 c4. c8 c8
2408 Normalmente, el valor de @code{spacing-increment} está establecido en
2409 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2410 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2411 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2412 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2413 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2414 símbolo, de manera que las notas más breves van seguidas generalmente
2415 por un espacio de 1 ACB.
2417 Si siguiésemos el procedimiento anterior exactamente, entonces la
2418 adición de una sola fusa a una partitura que usa corcheas y
2419 semicorcheas, aumentaría enormemente la anchura de la partitura
2420 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2421 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2422 duración más breve a efectos de espaciado no es la nota más breve de
2423 la partitura, sino la que ocurre con más frecuencia.
2425 La duración más breve que es más común se determina de la siguiente
2426 manera: en cada compás se determina la duración más breve. La menor
2427 duración más común se toma como base para el espaciado, habiendo
2428 estipulado que esta duración menor siempre debe ser igual o menor que
2429 una corchea. La duración más breve se imprime cuando se ejecuta
2430 @code{lilypond} con la opción @code{--verbose}.
2432 Estas duraciones también se pueden personalizar. Si establecemos la
2433 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2434 entonces éste establece la duración base para el espaciado. La
2435 duración máxima para esta base (normalmente una corchea), se fija a
2436 través de @code{base-shortest-duration}.
2438 @funindex common-shortest-duration
2439 @funindex base-shortest-duration
2440 @funindex stem-spacing-correction
2443 Las notas que son aún más breves que la nota común más breve van
2444 seguidas por un espacio proporcional a su duración en relación con la
2445 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2446 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2448 @lilypond[quote,verbatim,relative=2]
2449 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2453 En el @emph{Ensayo sobre grabado musical automatizado},
2455 direcciones de las plicas influyen en el espaciado
2456 (véase @ressay{Espaciado óptico}). Esto se controla
2457 con la propiedad @code{stem-spacing-correction} en el objeto
2458 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2459 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2460 (generado en el contexto de @rinternals{Staff}) contiene la misma
2461 propiedad para controlar el espaciado de las líneas de plica o
2462 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2463 con los valores predeterminados y otra con correcciones exageradas:
2465 @lilypond[quote,ragged-right]
2469 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2470 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2476 Está contemplada la notación proporcional; consulte @ref{Notación proporcional}.
2480 Fragmentos de código:
2483 Referencia de funcionamiento interno:
2484 @rinternals{SpacingSpanner},
2485 @rinternals{NoteSpacing},
2486 @rinternals{StaffSpacing},
2487 @rinternals{NonMusicalPaperColumn}.
2492 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2493 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2494 adicional en una partitura, ajustando el valor del relleno en la
2498 \override Score.NonMusicalPaperColumn #'padding = #10
2501 No existe ningún rodeo para disminuir la magnitud de la separación.
2504 @node Área de espaciado nueva
2505 @subsection Área de espaciado nueva
2506 @translationof New spacing area
2508 Se pueden iniciar secciones nuevas con diferentes parámetros de
2509 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2510 secciones que tienen distinta noción de las notas largas y cortas.
2512 En el ejemplo siguiente, el cambio de compás introduce una sección
2513 nueva, y por ello las semicorcheas se separan de manera más amplia.
2515 @lilypond[relative=1,verbatim,quote]
2518 c8 c c4 c16[ c c8] c4
2524 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2525 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2526 instrucciones de sobreescritura @code{\override} en dicho punto.
2530 Fragmentos de código:
2533 Referencia de funcionamiento interno:
2534 @rinternals{SpacingSpanner}.
2537 @node Cambiar el espaciado horizontal
2538 @subsection Cambiar el espaciado horizontal
2539 @translationof Changing horizontal spacing
2541 Se puede alterar el espaciado horizontal con la propiedad
2542 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2543 vez sin alterar la propiedad, y luego alterándola. Los valores
2544 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2545 que @code{ly:make-moment} construye una duración, por lo que @code{1
2546 4} es una duración mayor que @code{1 16}.
2548 @lilypond[verbatim,line-width=12\cm]
2551 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2552 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2553 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2554 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2559 @lilypond[verbatim,line-width=12\cm]
2562 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2563 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2564 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2565 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2570 \override SpacingSpanner
2571 #'base-shortest-duration = #(ly:make-moment 1 16)
2580 De forma predeterminada, el espaciado en los grupos de valoración
2581 especial depende de varios factores ajenos a la duración (como
2582 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2583 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2584 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2585 puede cambiarse al principio de la partitura:
2587 @lilypond[quote,ragged-right,verbatim]
2606 \override SpacingSpanner #'uniform-stretching = ##t
2612 Cuando se establece @code{strict-note-spacing}, las notas se separan
2613 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2615 @lilypond[quote,ragged-right,relative=2,verbatim]
2616 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2617 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2622 Fragmentos de código:
2626 @node Longitud de la línea
2627 @subsection Longitud de la línea
2628 @translationof Line length
2630 @cindex saltos de página
2631 @cindex página, saltos de
2634 @funindex line-width
2635 @funindex ragged-right
2636 @funindex ragged-last
2638 @c Although line-width can be set in \layout, it should be set in paper
2639 @c block, to get page layout right.
2640 @c Setting indent in \paper block makes not much sense, but it works.
2642 @c Bit verbose and vague, use examples?
2643 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2644 y @code{line-width}. Se definen en el bloque @code{\layout}.
2645 Controlan el sangrado de la primera línea de música y la longitud de
2648 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2649 @code{\layout}, entonces los sistemas terminan en su longitud
2650 horizontal natural, en lugar de repartirse horizontalmente hasta
2651 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2652 comprobar qué tan apretado es el espaciado natural.
2653 El valor normal predeterminado es falso, pero si la partitura
2654 tiene un solo sistema, el valor predeterminado es verdadero.
2657 @cindex diseño de página
2658 @cindex página, disposición de la
2659 @cindex vertical, espaciado
2661 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2662 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2663 restricción sobre dicha línea. El resultado es similar al formateo de
2664 los párrafos de texto. En un párrafo, la última línea sencillamente
2665 ocupa su longitud horizontal natural.
2666 @c Note that for text there are several options for the last line.
2667 @c While Knuth TeX uses natural length, lead typesetters use the same
2668 @c stretch as the previous line. eTeX uses \lastlinefit to
2669 @c interpolate between both these solutions.
2681 Fragmentos de código:
2685 @node Notación proporcional
2686 @subsection Notación proporcional
2687 @translationof Proportional notation
2689 LilyPond contempla la notación proporcional, un tipo de espaciado
2690 horizontal en el que cada nota consume una medida horizontal que
2691 equivale exactamente a su duración rítmica. Este tipo de espaciado
2692 proporcional es comparable al espaciado horizontal hecho sobre un
2693 papel milimetrado. Ciertas partituras del finales del s.XX y
2694 principios del s.XXI utilizan notación proporcional para clarificar
2695 relaciones rítmicas complejas o para facilitar la colocación de líneas
2696 cronométricas u otros gráficos directamente en la partitura.
2698 LilyPond contempla cinco ajustes distintos para la notación
2699 proporcional, que se pueden usar solos o combinados:
2702 @item @code{proportionalNotationDuration}
2703 @item @code{uniform-stretching}
2704 @item @code{strict-note-spacing}
2705 @item @code{\remove Separating_line_group_engraver}
2706 @item @code{\override PaperColumn #'used = ##t}
2709 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2710 de la notación proporcional y examinamos la forma en que interactúan.
2712 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2713 espaciado clásico sin justificación por la derecha.
2715 @lilypond[quote,verbatim,ragged-right]
2718 \new RhythmicStaff {
2722 c'16 c'16 c'16 c'16 c'16
2729 Observe que la blanca que inicia el compás ocupa mucho menos de la
2730 mitad de todo el espacio horizontal del compás. De forma similar, las
2731 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2732 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2735 En el grabado clásico, este espaciado puede ser exactamente el que
2736 deseamos porque podemos tomar prestado el espacio horizontal de la
2737 blanca y conservar el espacio horizontal a lo largo del compás como un
2740 Por otro lado, si queremos insertar una línea de tiempo graduada o
2741 algún otro gráfico encima o debajo de la partitura, necesitamos la
2742 notación proporcional. Se activa la notación proporcional con el
2743 ajuste @code{proportionalNotationDuration}.
2745 @lilypond[quote,verbatim,ragged-right]
2748 \new RhythmicStaff {
2752 c'16 c'16 c'16 c'16 c'16
2759 proportionalNotationDuration = #(ly:make-moment 1 20)
2765 La blanca al principio del compás y las notas rápidas de la segunda
2766 mitad del compás ocupan ahora cantidades iguales de espacio
2767 horizontal. Podríamos colocar una línea de tiempo graduada o un
2768 gráfico encima o debajo de este ejemplo.
2770 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2771 que reside en @code{Score}. Recordemos que los ajustes de contexto
2772 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2773 bloque @code{\with}, en un bloque @code{\context}, o directamente
2774 entre la música precedido por la instrucción @code{\set}. Como con
2775 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2776 tres lugares diferentes prefiere establecer el valor de
2777 @code{proportionalNotationDuration}.
2779 El ajuste @code{proportionalNotationDuration} acepta un solo
2780 argumento, que es la duración de referencia contra el que se aplica el
2781 espaciado de toda la música. La función Scheme de LilyPond
2782 @code{make-moment} acepta dos argumentos: un numerador y un
2783 denominador que, juntos, expresan una cierta fracción de redonda. La
2784 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2785 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2786 cinquillo). Son también posibles valores como
2787 @code{#(ly:make-moment 1 16)},
2788 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)}.
2790 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2791 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2792 de ensayo y error, comenzando con una duración cercana a la más rápida
2793 (o más breve) duración de la pieza. Las duraciones de referencia más
2794 pequeñas aplican un espaciado más suelto; las duraciones de referencia
2795 más largas aplican un espaciado más apretado.
2797 @lilypond[quote,verbatim,ragged-right]
2800 \new RhythmicStaff {
2804 c'16 c'16 c'16 c'16 c'16
2811 proportionalNotationDuration = #(ly:make-moment 1 8)
2818 \new RhythmicStaff {
2822 c'16 c'16 c'16 c'16 c'16
2829 proportionalNotationDuration = #(ly:make-moment 1 16)
2836 \new RhythmicStaff {
2840 c'16 c'16 c'16 c'16 c'16
2847 proportionalNotationDuration = #(ly:make-moment 1 32)
2853 Observe que una duración de referencia demasiado grande (como la
2854 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
2855 apretado y puede ser causa de colisiones entre las cabezas de nota.
2856 Observe también que la notación proporcional en general ocupa más
2857 espacio horizontal que el espaciado clásico. El espaciado
2858 proporcional aporta claridad rítmica a expensas del espacio
2861 Ahora veremos cómo espaciar de forma óptima grupos de valoración
2862 especial que se superponen.
2864 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
2865 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
2866 diferente de grupo especial.
2868 @lilypond[quote,verbatim,ragged-right]
2871 \new RhythmicStaff {
2875 c'16 c'16 c'16 c'16 c'16
2878 \new RhythmicStaff {
2880 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2887 El espaciado es defectuoso porque las notas regularmente espaciadas
2888 del pentagrama inferior no se amplían de manera uniforme. Los grabados
2889 clásicos incluyen muy pocos tresillos complejos y así las reglas del
2890 grabado clásico pueden generar este tipo de resultado. El
2891 establecimiento de @code{proportionalNotationDuration} lo
2894 @lilypond[quote,verbatim,ragged-right]
2897 \new RhythmicStaff {
2901 c'16 c'16 c'16 c'16 c'16
2904 \new RhythmicStaff {
2906 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2913 proportionalNotationDuration = #(ly:make-moment 1 20)
2920 Pero si observamos con mucho cuidado podremos ver que las notas de la
2921 segunda mitad del 9-illo están espaciadas de forma ligeramente más
2922 ancha que las de la primera mitad del 9-illo. Para asegurar una
2923 ampliación uniforme, activamos @code{uniform-stretching}, que es una
2924 propiedad de @code{SpacingSpanner}.
2926 @lilypond[quote,verbatim,ragged-right]
2929 \new RhythmicStaff {
2933 c'16 c'16 c'16 c'16 c'16
2936 \new RhythmicStaff {
2938 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2945 proportionalNotationDuration = #(ly:make-moment 1 20)
2946 \override SpacingSpanner #'uniform-stretching = ##t
2952 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
2953 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
2954 una línea de tiempo graduada o un gráfico, si queremos.
2956 Observe que el paquete de notación proporcional de LilyPond espera que
2957 todas las partituras proporcionales establezcan el atributo
2958 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
2959 establecimiento de @code{proportionalNotationDuration} sin ajustar
2960 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
2961 al valor ##t causará, por ejemplo, que los desplazamientos
2962 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
2964 El @code{SpacingSpanner} es un grob abstracto que reside en el
2965 contexto de @code{Score}. Como con nuestros ajustes de
2966 @code{proportionalNotationDuration}, las sobreescrituras al
2967 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
2968 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
2969 @code{\context} o directamente dentro de la escritura de notas.
2971 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
2972 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
2973 está activado para la partitura completa o desactivado para la
2974 partitura completa. Sin embargo, podemos sobreescribir este
2975 comportamiento y activar distintas posibilidades de espaciado en
2976 distintos lugares de la partitura. Lo hacemos con la instrucción
2977 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva} para más
2980 A continuación examinamos los efectos del grabador
2981 @code{Separating_line_group_engraver} y veremos por qué las partituras
2982 proporcionales con frecuencia eliminan este grabador. El ejemplo
2983 siguiente muestra que hay una pequeña cantidad de espacio
2984 @qq{preparatorio} justo antes de la primera nota de cada sistema.
2986 @lilypond[quote,verbatim,ragged-right]
2999 Esta cantidad de espacio preparatorio es la misma ya sea después de
3000 una indicación de compás, una armadura o una clave. El grabador
3001 @code{Separating_line_group_engraver} es responsable de este espacio.
3002 La eliminación de @code{Separating_line_group_engraver} reduce este
3005 @lilypond[quote,verbatim,ragged-right]
3011 \remove Separating_line_group_engraver
3019 Los elementos no musicales como la indicación de compás, la armadura,
3020 la clave y las alteraciones son problemáticos en notación
3021 proporcional. Ninguno de estos elementos tiene duración rítmica.
3022 Pero todos ellos consumen espacio horizontal. Las distintas
3023 partituras proporcionales abordan este problema de distinta manera.
3025 Sería posible evitar los problemas de espaciado con las armaduras,
3026 simplemente evitando tenerlas. Esta es una opción válida pues casi
3027 todas las partituras proporcionales son música contemporánea. Lo
3028 mismo puede valer para las indicaciones de compás, especialmente para
3029 las partituras que incluyen una línea de tiempo graduada u otro
3030 gráfico. Pero estas partituras son excepcionales y casi todas las
3031 partituras proporcionales incluyen al menos unas pocas indicaciones de
3032 compás. Las claves y las alteraciones son aún más esenciales.
3034 Así pues ¿qué estrategias existen para el espaciado de los elementos
3035 no musicales en un contexto proporcional? Una buena opción es la
3036 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3037 Compare las dos partituras siguientes:
3039 @lilypond[quote,verbatim,ragged-right]
3041 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3051 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3052 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3062 Las dos partituras son proporcionales, pero el espaciado de la
3063 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3064 espaciado de la segunda partitura se mantiene estricto, porque
3065 @code{strict-note-spacing} está activado. La activación de
3066 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3067 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3068 el algoritmo de espaciado.
3070 Además de los ajustes dados aquí, hay otros que aparecen con
3071 frecuencia en las partituras proporcionales. Entre ellos están:
3074 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3075 @item @code{tupletFullLength = ##t}
3076 @item @code{\override Beam #'breakable = ##t}
3077 @item @code{\override Glissando #'breakable = ##t}
3078 @item @code{\override TextSpanner #'breakable = ##t}
3079 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3082 Estos ajustes dan a las notas de adorno un espaciado estricto,
3083 extienden los corchetes de grupo especial para que marquen tanto los
3084 puntos de comienzo como de final, y permiten que los elementos de
3085 extensión se dividan entre los sistemas y las páginas. Consulte las
3086 partes respectivas del manual para ver estos ajustes relacionados.
3090 Referencia de la notación:
3091 @ref{Área de espaciado nueva}.
3093 Fragmentos de código:
3097 @node Encajar la música en menos páginas
3098 @section Encajar la música en menos páginas
3099 @translationof Fitting music onto fewer pages
3101 En ocasiones, podemos terminar con uno o dos pentagramas en una
3102 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
3103 cuando vemos que las páginas anteriores parecen tener espacio de
3106 Al investigar los problemas de disposición, una herramienta de valor
3107 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3108 valores de un cierto número de variables de espaciado; para ver más
3109 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3112 * Mostrar el espaciado::
3113 * Cambiar el espaciado::
3117 @node Mostrar el espaciado
3118 @subsection Mostrar el espaciado
3119 @translationof Displaying spacing
3121 @cindex espaciado, presentación del
3122 @funindex annotate-spacing
3124 Para presentar gráficamente las dimensiones de las variables de
3125 disposición vertical que pueden verse alteradas por el formato de la
3126 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3128 @c need to have \book{} otherwise we get the separate systems. -hwn
3129 @lilypond[verbatim,quote]
3130 #(set-default-paper-size "a6" 'landscape)
3133 \paper { annotate-spacing = ##t }
3139 Todas las dimensiones de disposición se muestran en espacios de
3140 pentagrama, independientemente de las unidades especificadas en los
3141 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3142 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3143 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3144 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3146 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3149 @tab = (25.4/72.27) mm
3152 @tab = (@code{staff-size})/4 pts
3154 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3159 En este caso, un @code{staff-space} equivale aproximadamente a
3160 1.757mm. Así, la medida @code{paper-height} de 59.75
3161 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3162 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3163 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3164 superior del intervalo.
3168 Referencia de la notación:
3169 @ref{Establecer el tamaño del pentagrama}.
3171 Fragmentos de código:
3175 @node Cambiar el espaciado
3176 @subsection Cambiar el espaciado
3177 @translationof Changing spacing
3179 La salida de @code{annotate-spacing} revela las dimensiones verticales
3180 con gran detalle. Para ver más detalles acerca de la modificación de
3181 los márgenes y otras variables de diseño de la página, consulte
3182 @ref{Formateo de las páginas}.
3184 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3188 Forzar los sistemas para que se junten lo más posible entre sí (de
3189 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3190 tiempo estén espaciados de forma que no exista un espacio vacío en la
3191 parte baja del papel.
3195 system-system-spacing = #'((padding . 0) (space . 0.1))
3196 ragged-last-bottom = ##f
3202 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3203 Si tan sólo se establece un valor, incluso el mismo valor que el
3204 número de sistemas que se están trazando de forma predeterminada, ello
3205 ocasionará a veces que se traten de introducir más sistemas en cada
3206 página, pues en este caso se omite un paso en que se produce una
3207 estimación, dando así un encaje mejor en cada página. Asimismo, el
3208 forzar una reducción neta en el número de sistemas puede producir el
3209 ahorro de una página adicional. Por ejemplo, si la disposición
3210 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3211 disposición con 10 sistemas.
3220 Evitar (o reducir en número) los objetos que aumentan el tamaño
3221 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3222 segunda vez (o repeticiones con finales alternativos) necesitan
3223 espacio adicional. Si estas repeticiones se reparten a lo largo de
3224 dos sistemas, ocupan más espacio que un sistema con las casillas de
3225 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3226 dinámicas que se @q{salen} de un sistema se pueden acercar al
3229 @lilypond[verbatim,quote,relative=1]
3231 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3235 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3236 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}. El
3237 ejemplo siguiente ilustra el espaciado predeterminado:
3239 @lilypond[verbatim,quote]
3252 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3253 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3254 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3255 duración se produce un efecto de @q{apretujamiento}:
3257 @lilypond[verbatim,quote]
3269 \override SpacingSpanner
3270 #'common-shortest-duration = #(ly:make-moment 1 2)
3277 La propiedad @code{common-shortest-duration} no se puede modificar de
3278 manera dinámica, por lo que se debe situar siempre dentro de un
3279 bloque @code{\context} de forma que se aplique a la partitura
3286 Referencia de la notación:
3287 @ref{Formateo de las páginas},
3288 @ref{Cambiar el espaciado horizontal}.
3290 Fragmentos de código: