1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: b446ebc24f8d43acb323818988fe8b1d8072afc8
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 Hay dos tipos de bloques que pueden contener ajustes de disposición:
35 @code{\paper @{@dots{}@}} y @code{\layout @{@dots{}@}}. El bloque
36 @code{\paper} contiene ajustes de disposición de la página que se
37 espera sean los mismos para todas las partituras de un libro, como la
38 altura de la hoja o si se imprimen los números de página, etc. Véase
39 @ref{Disposición de la página}. El bloque @code{\layout} contiene
40 ajustes de disposición de la partitura, como el número de sistemas que
41 utilizar, o la separación entre grupos de pentagramas, etc. Véase
42 @ref{Diposición de la partitura}.
45 * Disposición de la página::
46 * Disposición de la partitura::
48 * Espaciado vertical::
49 * Espaciado horizontal::
50 * Encajar la música en menos páginas::
54 @node Disposición de la página
55 @section Disposición de la página
56 @translationof Page layout
58 Esta sección estudia las opciones de disposición de la página para el
63 * Tamaño del papel y escalado automático::
64 * Variables de espaciado de \paper verticales fijas::
65 * Variables de espaciado de \paper verticales flexibles::
66 * Variables de espaciado de \paper horizontales::
67 * Other \paper variables::
71 @node El bloque \paper
72 @subsection El bloque @code{\paper}
73 @translationof The \paper block
75 El bloque @code{\paper} puede aparecer dentro de un bloque
76 @code{\book}, pero no dentro de un bloque @code{\score}. Los ajustes
77 de un bloque @code{\paper} se aplican a todo el libro, que puede
78 comprender varias partituras. Entre los ajustes que pueden aparecer
79 dentro de un bloque @code{\paper} están los siguientes:
84 la función de Scheme @code{set-paper-size},
87 variables de @code{\paper} utilizadas para personalizar la disposición
91 definiciones de marcado utilizadas para personalizar la disposición de
92 los encabezamientos, pies y títulos.
96 La función @code{set-paper-size} se estudia en la sección siguiente,
97 @ref{Tamaño del papel y escalado automático}. Las variables de
98 @code{\paper} variables que se ocupan de la disposición de la página
99 se estudian en secciones posteriores. Las definiciones de elementos
100 de marcado que se encargan de los encabezamientos, pies y títulos se
101 estudian en @ref{Encabezamientos pies y títulos personalizados}.
103 Casi todas las variables de @code{\paper} funcionan solamente dentro
104 de un bloque @code{\paper}. Las pocas que funcionan también en un
105 bloque @code{\layout} están relacionadas en @ref{El bloque \layout}.
107 Excepto cuando se especifica lo contrario, todas las variables de
108 @code{\paper} que corresponden a distancias sobre la página se miden
109 en milímetros, a no ser que se especifiquen unas unidades diferentes
110 por parte del usuario. Por ejemplo, la declaración siguiente
111 establece el margen superior @code{top-margin} a diez milímetros:
119 Para fijarlo en @code{0.5} pulgadas, utilice el sufijo de unidades
128 Los sufijos de unidades que esan disponibles son @code{\mm},
129 @code{\cm}, @code{\in} y @code{\pt}. Por claridad, al usar
130 milímetros, se suele escribir el sufijo @code{\mm} aunque no es
131 necesario técnicamente.
133 También es posible definir valores de @code{\paper} utilizando Scheme.
134 El equivalente de Scheme del ejemplo anterior es:
138 #(define top-margin (* 0.5 in))
143 Referencia de la notación:
144 @ref{Encabezamientos pies y títulos personalizados}.
147 @node Tamaño del papel y escalado automático
148 @subsection Tamaño del papel y escalado automático
149 @translationof Paper size and automatic scaling
151 @cindex tamaño del papel
152 @cindex tamaño de la página
157 * Fijar el tamaño del papel::
158 * Escalado automático al tamaño del papel::
162 @node Fijar el tamaño del papel
163 @unnumberedsubsubsec Fijar el tamaño del papel
164 @translationof Setting paper size
166 Existen dos funciones para cambiar el tamaño del papel:
167 @code{set-default-paper-size} (establecer tamaño de página
168 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
169 @code{set-default-paper-size} se debe poner en el ámbito del nivel
170 superior, y @code{set-paper-size} se debe poner en un bloque
174 #(set-default-paper-size "a4")
179 #(set-paper-size "a4")
184 Dentro del ámbito del nivel jerárquico superior, se puede llamar sin
185 riesgo a la función @code{set-default-paper-size} desde cualquier
186 lugar antes del primer bloque @code{\paper} block. Dentro de un
187 bloque @code{\paper}, el lugar más seguro para llamar a
188 @code{set-paper-size} es al principio, por encima de la lista de
189 declaraciones de variables. Se explican las razones de esto en
190 @ref{Escalado automático al tamaño del papel}.
192 @code{set-default-paper-size} establece el tamaño de todas las
193 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
194 de las páginas a las que se aplica el bloque @code{\paper}. Por
195 ejemplo, si el bloque @code{\paper} está al principio del archivo,
196 aplica el tamaño de papel a todas las páginas. Si el bloque
197 @code{\paper} está dentro de un bloque @code{\book}, entonces el
198 tamaño del papel sólo se aplica a ese libro.
200 Se encuentran disponibles los tamaños de papel más comunes, entre
201 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
202 también como tabloide). Están contemplados muchos más tamaños de papel
203 de forma predeterminada. Para ver más detalles, consulte
204 @file{scm/paper.scm} y busque la definición de @code{paper-alist}.
206 @c TODO add a new appendix for paper sizes (auto-generated) -pm
208 @warning{El tamaño predeterminado del papel es @code{a4}.}
210 Se pueden añadir tamaños adicionales editando la definición de
211 @code{paper-alist} en el archivo de inicio @file{scm/paper.scm},
212 aunque se sobreescribirán en la siguiente reinstalación del programa.
216 @cindex horizontal, papel
218 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
219 @code{set-default-paper-size}, las páginas se giran 90 grados y se
220 establece en consonancia una mayor longitud de las líneas.
223 #(set-default-paper-size "a6" 'landscape)
228 @file{scm/paper.scm}.
231 @node Escalado automático al tamaño del papel
232 @unnumberedsubsubsec Escalado automático al tamaño del papel
233 @translationof Automatic scaling to paper size
235 Si se cambia el tamaño del papel con una de las funciones de Scheme
236 (@code{set-default-paper-size} o @code{set-paper-size}), los valores
237 de algunas variables de @code{\paper} se escalan automáticamente al
238 nuevo tamaño. Para sortear el escalado automático para una variable
239 determinada, fije el valor de la variable después de establecer el
240 tamaño del papel. Observe que el escalado automático no se activa
241 mediante el ajuste de @code{paper-height} o de @code{paper-width},
242 incluso aunque @code{paper-width} puede influir sobre otros valores
243 (esto es distinto al escalado y se estudia más abajo). Las funciones
244 @code{set-default-paper-size} y @code{set-paper-size} se describen en
245 @ref{Fijar el tamaño del papel}.
247 Las dimensiones verticales afectadas por el escalado automático son
248 @code{top-margin} y @code{bottom-margin}. Las dimensiones
249 horizontales afectadas por el escalado automático son
250 @code{left-margin}, @code{right-margin}, @code{inner-margin},
251 @code{outer-margin}, @code{binding-offset}, @code{indent} y
254 Los valores predeterminados para estas dimentiones están fijados en el
255 archivo @file{ly/paper-defaults-init.ly}, usando variables internas
256 llamadas @code{top-margin-default}, @code{bottom-margin-default}, etc.
257 Estos son los valores que resultan del tamaño predeterminado del papel
258 @code{a4}. Como referencia, con el papel @code{a4} la altura
259 @code{paper-height} es @code{297\mm} y la anchura @code{paper-width}
264 @file{ly/paper-defaults-init.ly},
265 @file{scm/paper.scm}.
268 @node Variables de espaciado de \paper verticales fijas
269 @subsection Variables de espaciado de @code{\paper} verticales fijas
270 @translationof Fixed vertical spacing \paper variables
272 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
273 automáticamente al tamaño del papel, lo que puede llevar a un
274 comportamiento no esperado. Véase @ref{Escalado automático al tamaño
277 Los valores predeterminados (previos al escalado) están definidos en
278 el archivo @file{ly/paper-defaults-init.ly}.
281 @item paper-height (altura del papel)
282 @funindex paper-height
284 Altura de la página, no fijada de forma predeterminada. Observe que
285 el escalado automático de algunas dimensiones verticales no resulta
288 @item top-margin (margen superior)
291 Margen entre el extremo superior de la página y la parte superior de
292 la zona imprimible. Si se modifica el tamaño del papel, el valor
293 predeterminado de esta dimensión se escala de acuerdo con ello.
295 @item bottom-margin (margen inferior)
296 @funindex bottom-margin
298 Margen entre la parte inferior de la zona imprimible y el extremo
299 inferior de la página. Si se modifica el tamaño del papel, se escala
300 de acuerdo con ello el valor predeterminado de esta dimensión.
302 @item ragged-bottom (sin justificar por abajo)
303 @funindex ragged-bottom
305 Si se fija al valor verdadero, los sistemas no se reparten
306 verticalmente hasta abajo de la página. Esto no afecta a la última
307 página. Se debe fijar a verdadero para piezas que sólo tienen dos o
308 tres sistemas por página, como por ejemplo las partituras orquestales.
310 @item ragged-last-bottom (sin justificar la última por abajo)
311 @funindex ragged-last-bottom
313 Si se establece al valor falso, los sistemas se reparten verticalmente
314 hasta abajo de la última página. Las piezas que llenan sobradamente
315 dos o más páginas deben tener este valor fijado a verdadero. También
316 afecta a la última página de las partes de libro, es decir, partes de
317 un libro creadas con bloques @code{\bookpart}.
323 @file{ly/paper-defaults-init.ly}.
325 Fragmentos de código:
330 Los títulos (extraídos del bloque @code{\header}) se tratan como
331 sistemas, así pues @code{ragged-bottom} y @code{ragged-last-bottom}
332 aumentan la separación entre los títulos y el primer sistema de la
336 @node Variables de espaciado de \paper verticales flexibles
337 @subsection Variables de espaciado de @code{\paper} verticales flexibles
338 @translationof Flexible vertical spacing \paper variables
340 En casi todos los casos es preferible que las distancias verticales
341 entre ciertos elementos (como márgenes, títulos, sistemas y las
342 distintas partituras) sean flexibles, de manera que se amplíen y
343 compriman adecuadamente dependiendo de la situación. Están
344 disponibles un cierto número de variables del bloque @code{\paper}
345 (relacionadas más abajo) para realizar un ajuste fino del
346 comportamiento de estas dimensiones frente a su ampliación o
349 Observe que las variables de @code{\paper} que se estudian en esta
350 sección no controlan el espaciado de los pentagramas que están dentro
351 de los sistemas individuales. El espaciado dentro de los sistemas se
352 controla por medio de propiedades de grob, con ajustes que se escriben
353 normalmente dentro de un bloque @code{\score} o @code{\layout}, y no
354 dentro del bloque @code{\paper}.
355 Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
358 * Estructura de las listas-A de espaciado vertical flexible::
359 * Lista de veriables de espaciado de \paper verticales flexibles::
363 @node Estructura de las listas-A de espaciado vertical flexible
364 @unnumberedsubsubsec Estructura de las listas-A de espaciado vertical flexible
365 @translationof Structure of flexible vertical spacing alists
367 Cada una de las variables de espaciado de @code{\paper} flexibles es
368 una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
373 @code{padding} (relleno):
374 mínimo espacio vertical vacío necesario entre dos elementos, medido en
375 espacios de pentagrama. Se puede pensar como la altura mínima de un
376 rectángulo invisible que abarca desde el punto más a la izquierda
377 hasta el situado más a la derecha de los elementos combinados.
380 @code{space} (espacio):
381 distancia vertical, medida en espacios de pentagrama, entre los
382 @emph{puntos de referencia} de los dos elementos, cuando no resulte
383 ninguna colisión, y no se produzca ninguna ampliación o compresión.
384 El punto de referencia de un elemento de marcado (de título o del
385 nivel jerárquico superior) es su punto más alto, y el punto de
386 referencia de un sistema es el centro vertical del @code{StaffSymbol}
387 más cercano (incluso si se trata de una línea que no es un pentagrama,
388 como un contexto @code{Lyrics}). Los valores de @code{space} menores
389 de @code{padding} o de @code{minimum-distance} no son significativos,
390 porque la distancia resultante nunca será menor de @code{padding} o de
391 @code{minimum-distance}.
394 @code{minimum-distance} (distancia mínima):
395 la distancia vertical mínima permitida, medida en espacios de
396 pentagrama, entre los puntos de referencia de los dos elementos,
397 cuando se produce una compresión. Los valores de
398 @code{minimum-distance} menores de @code{padding} no son
399 significativos, porque la distancia resultante nunca será menor de
403 @code{stretchability} (ampliabilidad):
404 medida sin unidades de la propensión relativa de esta dimensión a
405 ampliarse. Si es cero, la distancia no se ampliará (a no ser que
406 resultasen colisiones). Si es positiva, la significación del valor de
407 ampliabilidad de una dimensión concreta depende solamente de su
408 relación con los valores de @code{stretchability} de las otras
409 dimensiones. Por ejemplo, si una dimensión tiene el doble de
410 @code{stretchability} que otra, se ampliará con el doble de facilidad.
411 Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
412 desencadena un error de programación y se ignora, pero se puede usar
413 @code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
414 fija un valor, el valor predeterminado se establece a @code{space}.
415 Observe que la propensión de la dimensión a @emph{comprimirse} no se
416 puede establecer directamente por el usuario y es igual a
417 (@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
421 Si una página tiene un margen inferior no justificado, la distancia
422 resultante es la mayor de:
430 @code{minimum-distance}, y
433 @code{padding} más la menor distancia necesaria
434 para eliminar las colisiones.
438 Los métodos específicos para la modificación de las listas-A se
439 estudian en @ref{Modificación de las listas-A}. El siguiente ejemplo
440 muestra las dos formas en que pueden modificarse estas listas-A. La
441 primera declaración actualiza un par clave-valor individualmente, y la
442 segunda redefine la variable completamente:
446 system-system-spacing #'space = #8
447 score-system-spacing =
450 (minimum-distance . 6)
451 (stretchability . 12))
456 @node Lista de veriables de espaciado de \paper verticales flexibles
457 @unnumberedsubsubsec Lista de veriables de espaciado de @code{\paper} verticales flexibles
458 @translationof List of flexible vertical spacing \paper variables
460 Los nombres de estas variables siguen el formato
461 @code{@var{superior}-@var{inferior}-spacing}, donde
462 @code{@var{superior}} e @code{@var{inferior}} son los elementos que
463 van a ser espaciados. Cada distancia se mide entre los puntos de
464 referencia de los dos elementos (véase más arriba la descripción de la
465 estructura de la lista-A). Observe que en estos nombres de variable,
466 el término @q{@code{markup}} se refiere tanto a @emph{elementos de
467 marcado de título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup})
468 como a @emph{elementos de marcado del nivel superior} (véase
469 @ref{Estructura del archivo}). Todas las distancias se miden en
470 espacios de pentagrama.
472 Los ajustes predeterminados están definidos en el archivo
473 @file{ly/paper-defaults-init.ly}.
475 @c TODO: Where do headers/footers fit in? -mp
478 @item markup-system-spacing
479 @funindex markup-system-spacing
481 distancia entre un elemento de marcado (de título o del nivel
482 superior) y el sistema que le sigue.
484 @item score-markup-spacing
485 @funindex score-markup-spacing
487 distancia entre el último sistema de una partitura y el elemento de
488 marcado (de título o del nivel superior) que le sigue.
490 @item score-system-spacing
491 @funindex score-system-spacing
493 distancia entre el último sistema de una partitura y el primer sistema
494 de la partitura que le sigue, cuando no existe ningún elemento de
495 marcado (de título o del nivel superior) entre ellos.
497 @item system-system-spacing
498 @funindex system-system-spacing
500 distancia entre dos sistemas dentro de la misma partitura.
502 @item markup-markup-spacing
503 @funindex markup-markup-spacing
505 distancia entre dos elementos de marcado (de título o del nivel
508 @item last-bottom-spacing
509 @funindex last-bottom-spacing
511 distancia desde el último sistema o elemento de marcado del nivel
512 superior en una página, hasta la parte inferior de la zona imprimible
513 (es decir, el extremo superior del margen inferior).
515 @item top-system-spacing
516 @funindex top-system-spacing
518 distancia desde la parte superior de la zona imprimible (es decir, el
519 extremo inferior del margen superior) hasta el primer sistema de una
520 página, cuando no hay ningún elemento de marcado (de título o del
521 nivel superior) entre los dos.
523 @item top-markup-spacing
524 @funindex top-markup-spacing
526 distancia desde el extremo superior de la zona imprimible (es decir,
527 el extremo inferior del margen superior) hasta el primer elemento de
528 marcado (de título o del nivel superior) sobre una página, cuando no
529 hay ningún sistema entre los dos.
533 Referencia de la notación:
534 @ref{Espaciado vertical flexible dentro de los sistemas}.
537 @file{ly/paper-defaults-init.ly}.
539 Fragmentos de código:
543 @node Variables de espaciado de \paper horizontales
544 @subsection Variables de espaciado de \paper horizontales
545 @translationof Horizontal spacing \paper variables
547 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
548 automáticamente al tamaño del papel, lo que puede dar lugar a un
549 comportamiento distinto al esperado. Véase
550 @ref{Escalado automático al tamaño del papel}.}
553 * \paper variables for widths and margins::
554 * \paper variables for two-sided mode::
555 * Variables de \paper para desplazamientos y sangrados::
559 @node Variables de \paper para la anchura y los márgenes
560 @unnumberedsubsubsec Variables de @code{\paper} para la anchura y los márgenes
561 @translationof \paper variables for widths and margins
563 Los valores predeterminados (antes del escalado) que no están
564 relacionados aquí se encuentran definidos en el archivo
565 @file{ly/paper-defaults-init.ly}.
570 @funindex paper-width
572 Anchura de la página, sin fijar de forma predeterminada. Aunque
573 @code{paper-width} no tiene ningún efecto sobre el escalado automático
574 de algunas dimensiones horizonrales, sí influye sobre la variable
575 @code{line-width}. Si están establecidas las dos variables
576 @code{paper-width} y @code{line-width}, entonces también se actualizan
577 @code{left-margin} y @code{right-margin}. Véase también
578 @code{check-consistency}.
583 Dimensiones horizontales de las líneas del pentagrama en los sistemas
584 sin sangrado y justificados, igual a
585 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
586 cuando está sin fijar. Si @code{line-width} está fijado, y tanto
587 @code{left-margin} como @code{right-margin} están sin fijar, entonces
588 los márgenes se actualizan para centrar los sistemas automáticamente
589 sobre la página. Véase también @code{check-consistency}.
592 @funindex left-margin
594 Margen entre el extremos izquierdo de la página y el comienzo de las
595 líneas del pentagrama en los sistemas sin sangrado. Si el tamaño del
596 papel se midifica, el valor predeterminado de esta dimensión se escala
597 de acuerdo con ello. Si no se fija el valor de @code{left-margin}, y
598 tanto @code{line-width} como @code{right-margin} están fijados,
599 entonces se establece el valor de @code{left-margin} a
600 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
601 Si solamente está fijado @code{line-width}, entonces los dos márgenes
603 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
604 como consecuencia los sistemas se centran sobre la página. Véase
605 también @code{check-consistency}.
608 @funindex right-margin
610 Margen entre el extremo derecho de la página y el final de las líneas
611 del pentagrama en sistemas justificados. Si el tamaño de la página se
612 midifica, el valor predeterminado de esta dimentión se escala de
613 acuerdo con ello. Si @code{right-margin} está sin fijar, y tanto
614 @code{line-width} como @code{left-margin} están fijados, el valor de
615 @code{right-margin} se establece a
616 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
617 Si solamente está fijado @code{line-width}, los dos márgenes se
619 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
620 como consecuencia los sistemas aparecen centrados sobre la página.
621 Véase también @code{check-consistency}.
623 @item check-consistency
624 @funindex check-consistency
626 Si se establece al valor verdadero, se imprime una advertencia en caso
627 de que la suma de @code{left-margin}, @code{line-width} y
628 @code{right-margin} no coincida exactamente con el valor de
629 @code{paper-width}, y se sustituye cada uno de estos valores (excepto
630 @code{paper-width}) con su valor predeterminado (escalado al tamaño
631 del papel si es necesario). Si está fijado al valor falso, se ignora
632 cualquier inconsistencia y se permite que los sitemas se salgan del
636 @funindex ragged-right
638 Si está fijado al valor verdadero, los sistemas no cubren el ancho de
639 la línea. En lugar de ello, los sistemas finalizan en su longitud
640 horizontal natural. Valor predeterminado: @code{#t} para las
641 partituras con un solo sistema, y @code{#f} para partituras que tienen
642 dos o más sistemas. Esta variable también se puede establecer dentro
643 de un bloque @code{\layout}.
646 @funindex ragged-last
648 Si está fijado al valor verdadero, el último sistema de la partitura
649 no llena toda la anchura de la línea. En lugar de ello, el último
650 sistema finaliza en su longitud horizontal natural. Valor
651 predeterminado: @code{#f}. Esta variable también puede ajustarse
652 dentro de un bloque @code{\layout}.
658 @file{ly/paper-defaults-init.ly}.
661 @node Variables de \paper para el modo de doble cara
662 @unnumberedsubsubsec Variables de @code{\paper} para el modo de doble cara
663 @translationof \paper variables for two-sided mode
665 Los valores predeterminados (antes del escalado) se definen en
666 @file{ly/paper-defaults-init.ly}.
673 @cindex encuadernación
674 @cindex margen de encuadernación
676 Si tiene el valor verdadero, utilizar @code{inner-margin},
677 @code{outer-margin} y @code{binding-offset} para determinar los
678 márgenes dependiendo de si el número de la página es par o impar.
679 Esto sobreescribe a @code{left-margin} y a @code{right-margin}.
682 @funindex inner-margin
684 Margen que todas las páginas tienen en el lado interno si forman parte
685 de un libro. Si el tamaño del papel se modifica, el valor
686 predeterminado de esta dimensión se escala de acuerdo con ello.
687 Solamente funciona con @code{two-sided} fijado al valor verdadero.
690 @funindex outer-margin
692 Margen que todas las páginas tienen en el lado externo si forman parte
693 de un libro. Si el tamaño del papel se modifica, el valor
694 predeterminado de esta dimensión se escala de acuerdo con ello.
695 Solamente funciona con @code{two-sided} fijado al valor verdadero.
698 @funindex binding-offset
700 Medida en que se aumenta @code{inner-margin} para asegurar que no se
701 oculta nada a causa de la encuadernación. Si el tamaño del papel se
702 modifica, el valor predeterminado de esta dimensión se escala de
703 acuerdo con ello. Solamente funciona con @code{two-sided} fijado al
711 @file{ly/paper-defaults-init.ly}.
714 @node Variables de \paper para desplazamientos y sangrados
715 @unnumberedsubsubsec Variables de @code{\paper} para desplazamientos y sangrados
716 @translationof \paper variables for shifts and indents
718 Los valores predeterminados (antes del escalado) que no se relacionan
719 aquí están definidos en el archivo @file{ly/paper-defaults-init.ly}.
723 @item horizontal-shift
724 @funindex horizontal-shift
726 @c This default value is buried in the middle of page.scm. -mp
728 Medida en que todos los sistemas (incluidos los títulos de cabecera y
729 los separadores de sistemas) se desplazan a la derecha.
730 Predeterminado: @code{0.0}.
735 The level of indentation for the first system in a score. If the
736 paper size is modified, this dimension's default value is scaled
737 accordingly. This variable can also be set in a @code{\layout}
741 @funindex short-indent
743 Nivel de sangrado para todos los sistemas de una partitura excepto el
744 primero. Si el tamaño del papel se modifica, el valor predeterminado
745 de esta dimensión se escala de acuerdo con ello. Esta variable
746 también se puede ajustar dentro de un bloque @code{\layout}.
752 @file{ly/paper-defaults-init.ly}.
754 Fragmentos de código:
758 @node Otras variables de \paper
759 @subsection Otras variables de @code{\paper}
760 @translationof Other \paper variables
763 * \paper variables for line breaking::
764 * \paper variables for page breaking::
765 * \paper variables for page numbering::
766 * Miscellaneous \paper variables::
770 @node Variables de \paper para los saltos de línea
771 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de línea
772 @translationof \paper variables for line breaking
774 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
778 @item max-systems-per-page
779 @funindex max-systems-per-page
781 Número máximo de sistemas que se colocan sobre una página. Solo está
782 contemplado por el algoritmo @code{ly:optimal-breaking}. Valor
783 predeterminado: no fijado.
785 @item min-systems-per-page
786 @funindex min-systems-per-page
788 Número mínimo de sistemas que se colocan sobre una página. Puede
789 causar que las páginas aparezcan atiborradas si el valor es demasiado
790 grande En el momento actual solo está contemplado por el algoritmo
791 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
793 @item systems-per-page
794 @funindex systems-per-page
796 Número de sistemas que se deben colocar en cada página. En el momento
797 actual solo está contemplado por el algoritmo
798 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
801 @funindex system-count
803 Número de sistemas que utilizar para una partitura. Valor
804 predeterminado: no fijado. Esta variables también se puede ajustar
805 dentro de un bloque @code{\layout}.
810 Referencia de la notación:
811 @ref{Saltos de línea}.
814 @node Variables de \paper para los saltos de página
815 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de página
816 @translationof \paper variables for page breaking
818 Los valores predeterminados que no están relacionados aquí, se definen
819 en el archivo @file{ly/paper-defaults-init.ly}
823 @item blank-after-score-page-force
824 @funindex blank-after-score-page-force
826 Penalización por tener una página vacía después del final de una
827 partitura y antes de la siguiente. De forma predeterminada, es menor
828 que @code{blank-page-force}, de manera que preferimos páginas vacías
829 después de las partituras que páginas vacías dentro de una partitura.
831 @item blank-last-page-force
832 @funindex blank-last-page-force
834 Penalización por terminar la partitura sobre una página impar.
836 @item blank-page-force
837 @funindex blank-page-force
839 Penalización por tener una página vacía en medio de una partitura. No
840 se utiliza por parte de @code{ly:optimal-breaking} porque nunca
841 considera páginas vacías en mitad de una partitura.
844 @funindex page-breaking
846 Algoritmo de saltos de página que utilizar. Se puede elegir entre
847 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking} o
848 @code{ly:optimal-breaking}.
850 @item page-breaking-system-system-spacing
851 @funindex page-breaking-system-system-spacing
853 Engaña a la parte del programa encargada de los saltos de página para
854 que piense que @code{system-system-spacing} está establecido a un
855 valor distinto al que tiene realmente. Por ejemplo, si
856 @code{page-breaking-system-system-spacing #'padding} está establecido
857 a algo que es mucho mayor que @code{system-system-spacing #'padding},
858 entonces el divisor de páginas pone menos sistemas en cada página.
859 Valor predeterminado: sin ajustar.
864 Número de páginas que utilizar en una partitura, no ajustado de forma
870 Referencia de la notación:
871 @ref{Saltos de página},
872 @ref{Saltos de página óptimos},
873 @ref{Paso de página óptimo},
874 @ref{Saltos de página mínimos}.
877 @file{ly/paper-defaults-init.ly}.
880 @node \paper variables for page numbering
881 @unnumberedsubsubsec @code{\paper} variables for page numbering
883 Default values not listed here are defined in
884 @file{ly/paper-defaults-init.ly}
888 @item auto-first-page-number
889 @funindex auto-first-page-number
891 El algoritmo de división de páginas está afectado por el hecho de que
892 el número de la primera página sea par o impar. Si está establecido
893 al valor verdadero, el algoritmo de división de páginas decide si
894 comenzar con un número par o impar. Esto hace que el número de la
895 primera página se quede como está, o que se aumente en una unidad.
896 Predeterminado: @code{#f}.
898 @item first-page-number
899 @funindex first-page-number
901 The value of the page number on the first page.
903 @item print-first-page-number
904 @funindex print-first-page-number
906 If set to true, a page number is printed on the first page.
908 @item print-page-number
909 @funindex print-page-number
911 If set to false, page numbers are not printed.
917 @file{ly/paper-defaults-init.ly}.
920 @node Miscellaneous \paper variables
921 @unnumberedsubsubsec Miscellaneous @code{\paper} variables
925 @item page-spacing-weight
926 @funindex page-spacing-weight
928 Importancia relativa del espacio (vertical) de las páginas y el
929 espaciado (horizontal) de las líneas. Los valores altos hacen que el
930 espaciado de la página tenga más importancia. Predeterminado:
933 @item print-all-headers
934 @funindex print-all-headers
936 If set to true, this will print all headers for each @code{\score}
937 in the output. Normally only the @code{piece} and @code{opus}
938 header variables are printed. Default: @code{#f}.
940 @item system-separator-markup
941 @funindex system-separator-markup
943 Objeto de marcado que se inserta entre los sistemas. Se suele usar
944 para partituras orquestales. Predeterminado: sin establecer.
945 The @code{\slashSeparator}
946 markup, defined in @file{ly/titling-init.ly}, is provided as a
947 sensible default, for example:
949 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
950 #(set-default-paper-size "a8")
954 system-separator-markup = \slashSeparator
960 \relative c'' { c1 \break c1 \break c1 }
970 @file{ly/titling-init.ly}.
978 El encabezamiento de página predeterminado pone el número de página y
979 el campo @code{instrument} del bloque @code{\header} sobre la misma
983 @node Disposición de la partitura
984 @section Disposición de la partitura
985 @translationof Score layout
987 This section discusses score layout options for the @code{\layout}
991 * El bloque \layout::
992 * Setting the staff size::
996 @node El bloque \layout
997 @subsection El bloque @code{\layout}
998 @translationof The \layout block
1002 While the @code{\paper} block contains settings that relate to the
1003 page formatting of the whole document, the @code{\layout} block
1004 contains settings for score-specific layout. To set score layout
1005 options globally, enter them in a toplevel @code{\layout} block.
1006 To set layout options for an individual score, enter them in a
1007 @code{\layout} block inside the @code{\score} block, after the
1008 music. Settings that can appear in a @code{\layout} block
1012 @item the @code{layout-set-staff-size} scheme function,
1013 @item context modifications in @code{\context} blocks, and
1014 @item @code{\paper} variables that affect score layout.
1017 The @code{layout-set-staff-size} function is discussed in the next
1018 section, @ref{Setting the staff size}. Context modifications are
1019 discussed in a separate chapter; see
1020 @ref{Modifying context plug-ins} and
1021 @ref{Changing context default settings}. The @code{\paper}
1022 variables that can appear in a @code{\layout} block are:
1025 @item @code{ragged-right}
1026 @item @code{ragged-last}
1028 @item @code{short-indent}
1029 @item @code{system-count}
1032 Here is an example @code{\layout} block:
1039 \override StaffGrouper #'staff-staff-spacing #space = #8
1043 \override TextScript #'padding = #1.0
1044 \override Glissando #'thickness = #3
1052 @ref{Changing context default settings}.
1058 @node Setting the staff size
1059 @subsection Setting the staff size
1061 @cindex font size, setting
1062 @cindex staff size, setting
1063 @funindex layout file
1065 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1066 puntos. Esto se puede modificar de dos maneras:
1068 Para establecer globalmente el tamaño del pentagrama para todas las
1069 partituras de un archivo (o en un bloque @code{book}, para ser
1070 exactos), utilice @code{set-global-staff-size}.
1073 #(set-global-staff-size 14)
1077 Esto establece el tamaño global predeterminado a una altura de
1078 pentagrama de 14pt y escala todas las tipografías según corresponda.
1080 Para establecer el tamaño del pentagrama de forma individual para cada
1086 #(layout-set-staff-size 15)
1091 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1092 distintos. Cada fuente tipográfica está afinada para un tamaño de
1093 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1094 pesada, para que coincida con las líneas de pentagrama relativamente
1095 más gruesas. Los tamaños de tipografía recomendados están
1096 relacionados en la tabla siguiente:
1099 @multitable @columnfractions .15 .2 .22 .2
1101 @item @b{nombre de la fuente}
1102 @tab @b{altura del pentagrama (pt)}
1103 @tab @b{altura del pentagrama (mm)}
1109 @tab partituras de bolsillo
1134 @tab particellas estándar
1145 @c modern rental material?
1150 Estas tipografías están disponibles en cualquier tamaño. La propiedad
1151 de contexto @code{fontSize} y la propiedad de disposición
1152 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1153 afinar el tamaño de los pentagramas individuales. Los tamaños de
1154 pentagrama individuales están en relación al tamaño global.
1158 Referencia de la notación:
1159 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1161 Fragmentos de código:
1167 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1173 @translationof Breaks
1177 * Saltos de página::
1178 * Saltos de página óptimos::
1179 * Paso de página óptimo::
1180 * Saltos de página mínimos::
1181 * Saltos de línea explícitos::
1182 * Utilizar una voz adicional para los saltos de línea::
1186 @node Saltos de línea
1187 @subsection Saltos de línea
1188 @translationof Line breaking
1190 @cindex saltos de línea
1191 @cindex línea, saltos de
1193 Normalmente los saltos de línea se determinan automáticamente. Se
1194 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1195 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1196 similar. Ocasionalmente podemos querer sobreescribir los saltos
1197 automáticos; podemos hacerlo especificando @code{\break}. Esto fuerza
1198 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
1199 pueden suceder al final de los compases @q{completos}, es decir, donde
1200 no queda ninguna nota o grupo especial @q{colgando} por encima de la
1201 línea divisoria. Si queremos poner un salto de línea donde no hay
1202 línea divisoria, podemos forzar una barra de compás invisible
1203 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
1204 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
1206 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
1207 la barra divisoria en que se inserta.
1209 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1210 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1211 @code{\layout}. Controlan el sangrado de la primera línea de música,
1212 y la longitud de las líneas.
1214 Si se establece @code{ragged-right} a verdadero en el bloque
1215 @code{\layout}, los sistemas terminan en su longitud horizontal
1216 natural, en lugar de distribuirse horizontalmente para llenar toda la
1217 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1218 comprobación de lo apretado que es el espaciado natural.
1220 @c TODO Check and add para on default for ragged-right
1222 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1223 afecta sólo a la última línea de la pieza.
1235 @cindex saltos de línea normales
1236 @cindex música de cuatro compases por línea
1238 Para saltos de línea a intervalos regulares utilice @code{\break}
1239 separado mediante desplazamientos con @code{\skip} y repetidos con
1240 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1241 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1242 compases, y sólo en dichos lugares:
1245 << \repeat unfold 7 @{
1246 s1 \noBreak s1 \noBreak
1247 s1 \noBreak s1 \break @}
1248 @emph{the real music}
1253 Una configuración de división de líneas se puede guardar como archivo
1254 @file{.ly} automáticamente. Ello permite que alineaciones verticales
1255 se estiren para que encajen en las páginas durante una segunda
1256 ejecución del proceso de formateo. Esta posibilidad es bastante
1257 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1269 Fragmentos de código:
1272 Referencia de funcionamiento interno:
1273 @rinternals{LineBreakEvent}.
1278 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
1279 divisoria. Una nota colgando de una línea divisoria no es adecuada,
1282 @lilypond[quote,ragged-right,relative=2,verbatim]
1283 c4 c2 << c2 {s4 \break } >> % this does nothing
1284 c2 c4 | % a break here would work
1285 c4 c2 c4 ~ \break % as does this break
1289 Esto se puede evitar eliminando el grabador
1290 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
1291 forzados manualmente se tienen que añadir en paralelo con la música.
1293 @lilypond[quote,ragged-right,verbatim]
1295 \remove Forbid_line_break_engraver
1297 c4 c2 << c2 {s4 \break } >> % now the break is allowed
1302 De forma parecida, los saltos de línea están prohibidos normalmente
1303 cuando las barras cruzan a las líneas divisorias. Este comportamiento
1304 se puede modificar con el establecimiento de @code{\override Beam
1308 @node Saltos de página
1309 @subsection Saltos de página
1310 @translationof Page breaking
1312 Se puede sobreescribir el mecanismo predeterminado de salto de página
1313 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1314 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1315 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1316 y prohíben, respectivamente, la eventualidad de un salto de página.
1317 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1320 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1321 pueden insertar en el nivel más alto, entre las partituras y los
1322 elementos de marcado situados en el nivel superior.
1324 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1325 tienen el mismo efecto sobre el espaciado vertical:
1326 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1327 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
1328 la última página, respectivamente, no se verán justificados
1331 Para ver más detalles, consulte @ref{Espaciado vertical}.
1333 Los saltos de página se calculan por medio de la función
1334 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1335 de los saltos de página: @code{ly:optimal-breaking},
1336 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1337 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1338 cambiar en el bloque @code{\paper}:
1342 #(define page-breaking ly:page-turn-breaking)
1348 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1349 resolver el problema de los saltos de página, necesitando mucha
1350 memoria y prolongados tiempos de procesamiento. Para facilitar el
1351 proceso de división en páginas, se usan los bloques @code{\bookpart}
1352 para dividir el libro en varias partes: los saltos de página se
1353 producen de manera independiente en cada parte. También se pueden
1354 usar diferentes funciones de división en páginas para las distintas
1360 subtitle = "Prefacio"
1363 %% En una parte que consiste en texto principalmente,
1364 %% puede ser preferible ly:minimal-breaking
1365 #(define page-breaking ly:minimal-breaking)
1367 \markup @{ @dots{} @}
1371 %% En esta parte, consistente en música, se usa la función
1372 %% óptima predeterminada de saltos de página.
1374 subtitle = "Primer movimiento"
1376 \score @{ @dots{} @}
1383 @funindex \pageBreak
1385 @funindex \noPageBreak
1386 @code{\noPageBreak}.
1391 Fragmentos de código:
1395 @node Saltos de página óptimos
1396 @subsection Saltos de página óptimos
1397 @translationof Optimal page breaking
1399 @funindex ly:optimal-breaking
1401 La función @code{ly:optimal-breaking} es el método predeterminado de
1402 LilyPond para determinar los saltos de página. Intenta hallar una
1403 división de páginas que haga mínimos el apretujamiento y la
1404 distensión, tanto horizontal como verticalmente. A diferencia de
1405 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1410 Fragmentos de código:
1414 @node Paso de página óptimo
1415 @subsection Paso de página óptimo
1416 @translationof Optimal page turning
1418 @funindex ly:page-turn-breaking
1420 Con frecuencia es necesario encontrar una configuración de división de
1421 páginas de manera que haya un silencio al final de una página de cada
1422 dos. De esta forma, el músico puede pasar la página sin perder notas.
1423 La función @code{ly:page-turn-breaking} trata de encontrar una
1424 división de páginas que haga mínimos el apretujamiento y el
1425 estiramiento, pero con la restricción añadida de que sólo se permite
1426 introducir vueltas de página en los lugares especificados.
1428 Hay dos etapas en el uso de esta función de división de páginas. En
1429 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1430 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1431 dónde nos gustaría permitir los saltos de página.
1433 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1434 especificar manualmente cada uno de los pasos de página potenciales,
1435 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1438 Si esto es demasiado tedioso, podemos añadir un grabador
1439 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1440 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1441 sin notas (observe que no busca silencios, sino la ausencia de notas.
1442 Se hace así para que la polifonía en un solo pentagrama con silencios
1443 en una de las voces no arruine la labor del grabador
1444 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1445 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1446 un @code{\allowPageTurn} en la última barra de compás de dicha
1447 sección, a no ser que haya una barra @q{especial} de compás (como una
1448 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1449 última barra @q{especial} de compás de la sección.
1451 @funindex minimumPageTurnLength
1452 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1453 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1454 una sección sin notas antes de que se considere la posibilidad de un
1455 paso de página. El valor predeterminado para
1456 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
1457 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1461 \new Staff \with @{ \consists "Page_turn_engraver" @}
1464 R1 | % a page turn will be allowed here
1466 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1467 R1 | % a page turn will not be allowed here
1469 R1*2 | % a page turn will be allowed here
1474 @funindex minimumRepeatLengthForPageTurn
1475 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1476 primera y segunda vez. Sólo permite un pase de página durante la
1477 repetición si hay suficiente tiempo al principio y al final de la
1478 repetición para volver a pasar la página hacia atrás. El grabador
1479 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1480 página si la repetición es muy corta. Si establecemos la propiedad de
1481 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1482 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1483 repeticiones cuya duración sea mayor que este valor.
1485 Las instrucciones de paso de página, @code{\pageTurn},
1486 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1487 el nivel más elevado del código, entre las partituras y los elementos
1488 de marcado del nivel superior.
1494 @funindex \noPageTurn
1496 @funindex \allowPageTurn
1497 @code{\allowPageTurn}.
1502 Fragmentos de código:
1508 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1509 partitura. Si hay más de uno, se interferirán entre sí.
1512 @node Saltos de página mínimos
1513 @subsection Saltos de página mínimos
1514 @translationof Minimal page breaking
1516 @funindex ly:minimal-breaking
1518 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1519 para determinar los saltos de página: completa una página con tantos
1520 sistemas como sea posible antes de continuar con la siguiente. Así,
1521 puede preferirse para partituras con muchas páginas, donde las otras
1522 funciones de salto de página pueden resultar demasiado lentas o ávidas
1523 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1527 #(define page-breaking ly:minimal-breaking)
1533 Fragmentos de código:
1537 @node Saltos de línea explícitos
1538 @subsection Saltos de línea explícitos
1539 @translationof Explicit breaks
1541 Lily a veces rechaza las instrucciones @code{\break} y
1542 @code{\pageBreak} explícitas. Hay dos instrucciones para
1543 sobreescribir este comportamiento:
1546 \override NonMusicalPaperColumn #'line-break-permission = ##f
1547 \override NonMusicalPaperColumn #'page-break-permission = ##f
1550 Cuando se sobreescribe el valor de @code{line-break-permission} a
1551 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1552 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1553 @code{page-break-permission} a falso, Lily inserta saltos de página en
1554 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1556 @lilypond[quote,verbatim]
1565 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1566 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1567 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1568 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1569 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1570 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1571 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1572 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1577 \override NonMusicalPaperColumn #'line-break-permission = ##f
1578 \override NonMusicalPaperColumn #'page-break-permission = ##f
1586 Fragmentos de código:
1590 @node Utilizar una voz adicional para los saltos de línea
1591 @subsection Utilizar una voz adicional para los saltos de línea
1592 @translationof Using an extra voice for breaks
1594 La información sobre saltos de línea y de página suele aparecer
1595 directamente entremezclado dentro del código de notas.
1600 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1602 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1607 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1608 @code{\pageBreak}, pero mezcla la escritura de música con información
1609 que especifica cómo se debe disponer la música sobre la página.
1610 Podemos mantener la introducción de música y la información de saltos
1611 de línea y de página en dos lugares separados mediante la introducción
1612 de una voz adicional que contenga los saltos. Esta voz adicional
1613 contiene solamente desplazamientos o @q{skips} junto con los
1614 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1615 disposición de los saltos.
1617 @lilypond[quote,verbatim]
1627 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1628 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1629 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1630 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1636 Este patrón resulta especialmente útil cuando se sobreescribe
1637 @code{line-break-system-details} y las otras útiles (pero largas)
1638 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1639 @ref{Espaciado vertical}.
1641 @lilypond[quote,verbatim]
1645 \overrideProperty "Score.NonMusicalPaperColumn"
1646 #'line-break-system-details #'((Y-offset . 0))
1649 \overrideProperty "Score.NonMusicalPaperColumn"
1650 #'line-break-system-details #'((Y-offset . 35))
1653 \overrideProperty "Score.NonMusicalPaperColumn"
1654 #'line-break-system-details #'((Y-offset . 70))
1657 \overrideProperty "Score.NonMusicalPaperColumn"
1658 #'line-break-system-details #'((Y-offset . 105))
1662 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1663 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1664 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1665 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1673 Referencia de la notación:
1674 @ref{Espaciado vertical}.
1676 Fragmentos de código:
1680 @node Espaciado vertical
1681 @section Espaciado vertical
1682 @translationof Vertical spacing
1684 @cindex espaciado vertical
1685 @cindex vertical, espaciado
1687 El espaciado vertical está controlado por tres factores: la cantidad
1688 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1689 la separación entre los sistemas, y la separación entre los
1690 pentagramas dentro de un sistema.
1693 * Espaciado vertical flexible dentro de los sistemas::
1694 * Posicionamiento explícito de los pentagramas y los sistemas::
1695 * Evitar las colisiones verticales::
1699 @node Espaciado vertical flexible dentro de los sistemas
1700 @subsection Espaciado vertical flexible dentro de los sistemas
1701 @translationof Flexible vertical spacing within systems
1703 @cindex distancia entre pentagramas
1704 @cindex pentagrama, distancia entre los
1705 @cindex espacio entre pentagramas
1706 @cindex espacio dentro de los sistemas
1708 Tres mecanismos distintos controlan el espaciado vertical flexible
1709 dentro de los sistemas, uno por cada una de las categorías siguientes:
1714 @emph{pautas sin agrupar},
1717 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1718 @code{ChoirStaff}, etc.), y
1721 @emph{líneas que no son pautas} (como @code{Lyrics},
1722 @code{ChordNames}, etc.).
1726 @c TODO: Clarify this. This almost implies that non-staff lines
1727 @c have NO effect on the spacing between staves. -mp
1729 La altura de cada sistema se determina en dos fases. Primero, todos
1730 los pentagramas se disponen según la cantidad de espacio vacío
1731 disponible. Después, las líneas que no son pautas se distribuyen
1734 Observe que los mecanismos de espaciado estudiados en esta sección
1735 solamente controlan el espaciado vertical de pas pautas y líneas que
1736 no son pautas dentro de los sistemas individuales. El espaciado
1737 vertical entre distintos sistemas, partituras, marcados y márgenes se
1738 controla mediante variables de @code{\paper} que se estudian en
1739 @ref{Flexible vertical spacing \paper variables}.
1742 * Propiedades de espaciado dentro de los sistemas::
1743 * Espaciado de pautas no agrupadas::
1744 * Espaciado de pautas agrupadas::
1748 @node Propiedades de espaciado dentro de los sistemas
1749 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1750 @translationof Within-system spacing properties
1752 Los mecanismos de espaciado vertical dentro del sistema están
1753 controlados por dos conjuntos de propiedades de grob. El primer
1754 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1755 crea por parte de todas las pautas y líneas que no son pautas. El
1756 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1757 puede crearse por parte de los grupos de pentagramas, pero solamente
1758 si se le llama explícitamente. Estas propiedades se describen
1759 individualmente al final de la presente sección.
1761 Los nombres de estas propiedades (excepto para @code{staff-affinity})
1762 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
1763 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
1764 elementos que se van a espaciar. Observe que @code{@var{elemento2}}
1765 no está necesariamente por debajo de @code{@var{elemento1}}; por
1766 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hadcia arriba a
1767 partir de la línea del tipo no-pauta si @code{staff-affinity} es
1770 Cada distancia se mide entre los @emph{puntos de referencia} de los
1771 dos elementos. El @emph{punto de referencia} para un pentagrama y
1772 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
1773 decir, la línea central si @code{line-count} es un número impar; el
1774 espacio central si @code{line-count} es par). Los puntos de
1775 referencia para las líneas individuales que no son pautas aparecen en
1778 @multitable {Línea que no es una pauta} {Punto de referencia}
1779 @headitem Línea que no es una pauta @tab Punto de referencia
1780 @item @code{ChordNames} @tab línea de base
1781 @item @code{NoteNames} @tab línea de base
1782 @item @code{Lyrics} @tab línea de base
1783 @item @code{Dynamics} @tab centro vertical
1784 @item @code{FiguredBass} @tab punto más alto
1785 @item @code{FretBoards} @tab línea superior
1788 En la siguiente imagen, las líneas horizontales indican las posiciones
1789 de estos puntos de referencia:
1791 @lilypond[quote,noragged-right,line-width=110\mm]
1792 #(define zero-space '((padding . -inf.0) (space . 0)))
1794 alignToZero = \with {
1795 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1796 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1798 lowerCaseChords = \with {
1799 chordNameLowercaseMinor = ##t
1801 staffAffinityDown = \with {
1802 \override VerticalAxisGroup #'staff-affinity = #DOWN
1805 #(define-music-function
1806 (parser location context)
1808 #{ s1*0^\markup { \typewriter $context } #})
1811 \context { \Dynamics \alignToZero }
1812 \context { \FiguredBass \alignToZero }
1813 \context { \Lyrics \alignToZero }
1814 \context { \NoteNames \alignToZero }
1815 \context { \ChordNames \alignToZero \lowerCaseChords }
1816 \context { \FretBoards \alignToZero \staffAffinityDown }
1818 \override BarLine #'stencil = ##f
1819 \override DynamicText #'self-alignment-X = #-1
1820 \override FretBoard #'X-offset = #1.75
1821 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1822 \override InstrumentName #'extra-offset = #'(0 . -0.5)
1823 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1824 \override TimeSignature #'stencil = ##f
1828 %% These contexts have reference points at the baseline:
1829 %% ChordNames, NoteNames, and Lyrics
1831 \new ChordNames { \chords { g1:m } }
1832 \new NoteNames { s1 | g1 | }
1833 \new RhythmicStaff {
1834 \set RhythmicStaff.instrumentName = #"baseline "
1836 \labelContext "ChordNames" s1 |
1837 \labelContext "NoteNames" s1 |
1838 \labelContext "Lyrics" s1 |
1840 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1843 %% The reference point for Dynamics is its vertical center
1845 \new RhythmicStaff {
1846 \set RhythmicStaff.instrumentName = #"vertical center "
1847 \labelContext "Dynamics" s1*3
1849 \new Dynamics { s2\mp s\fp }
1852 %% The reference point for FiguredBass is its highest point
1854 \new RhythmicStaff {
1855 \set RhythmicStaff.instrumentName = #"highest point "
1856 \labelContext "FiguredBass" s1
1858 \new FiguredBass { \figuremode { <6 5>1 } }
1861 %% The reference point for FretBoards is the top line
1862 \include "predefined-guitar-fretboards.ly"
1864 \new FretBoards { \chordmode { e1 } }
1865 \new RhythmicStaff {
1866 \set RhythmicStaff.instrumentName = #"top line "
1867 \labelContext "FretBoards " s1
1872 Cada una de las propiedades de grob del espaciado vertical (excepto
1873 @code{staff-affinity}) se almacena como una lista-A (lista
1874 asociativa), y todas usan la misma estructura de lista-A que las
1875 variables de espaciado del bloque @code{\paper} que se han estudiado
1876 en @ref{Flexible vertical spacing \paper variables}.
1877 En @ref{Modificación de las listas-A}
1878 se estudian métodos específicos para la modificación de
1879 las listas-A. Las propiedades de los grobs deben ajustarse con un
1880 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
1881 no dentro de un bloque @code{\paper}.
1883 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
1884 estas listas-A. La primera declaración ctualiza un par clave-valor de
1885 forma individual, y la segunda redefine la propiedad completamente:
1889 \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
1893 \override VerticalAxisGroup #'staff-staff-spacing =
1896 (minimum-distance . 9)
1897 (stretchability . 10))
1901 Para modificar globalmente cualquiera de los ajustes de espaciado,
1902 póngalos dentro del bloque @code{\layout}:
1908 \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
1913 Los ajustes estándar para las propiedades de grob del espaciado
1914 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
1915 @rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
1916 los tipos específicos de líneas que no son pautas están relacionadas
1917 en las descripciones de contexto correspondientes en
1918 @rinternals{Contexts}.
1921 @subsubheading Propieades del grob @code{VerticalAxisGroup}
1923 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
1924 instrucción @code{\override} en el nivel de @code{Staff} (o
1928 @item staff-staff-spacing
1929 Distancia entre la pauta actual y la pauta que está justo por debajo
1930 de ella dentro del mismo sistema, incluso si hay más líneas que no son
1931 pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
1932 a la pauta inferior de un sistema. Esto susituye a cualquier ajuste
1933 heredado del grob @code{StaffGrouper} del grupo de pautas contenedor,
1934 si existe. Si no está fijado, y no hay ninguna propiedad de
1935 @code{StaffGrouper} que heredar, se usa la propiedad
1936 @code{default-staff-staff-spacing}.
1938 @item default-staff-staff-spacing
1939 Ajustes que utilizar para @code{staff-staff-spacing} cuando está sin
1940 establecer. Se aplica a las pautas no agrupadas y a las pautas
1941 agrupadas que no heredan los ajustes del grob @code{StaffGrouper}.
1943 @item staff-affinity
1944 Dirección de la pauta que utilizar para el espaciado de la línea
1945 actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
1946 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
1947 línea del tipo no-pauta se coloca equidistante entre las dos pautas
1948 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
1949 restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
1950 han de llevar valores de @code{staff-affinity} no crecientes desde la
1951 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
1952 establecida a @code{UP} no debería seguir inmediatamente a otra que
1953 esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
1954 parte superior de un sistema deben usar @code{DOWN}; las de la parte
1955 inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
1956 para una pauta hace que se le trate como una línea que no es una
1957 pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
1958 una línea que no es una pauta hace que se trate como una pauta.
1960 @c TODO: verify last clause below ("even if other...")
1962 @item nonstaff-relatedstaff-spacing
1963 Distancia entre la línea del tipo no-pauta actual y la pauta más
1964 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
1965 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
1966 @code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
1967 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
1968 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
1969 líneas del tipo no-pauta entre la pauta actual y una de las otras.
1971 @item nonstaff-nonstaff-spacing
1972 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
1973 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
1974 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
1975 es @code{UP} o @code{DOWN}.
1977 @item nonstaff-unrelatedstaff-spacing
1978 Distancia entre la línea actual del tipo no-pauta y la pauta en la
1979 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
1980 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
1981 @code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
1982 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
1983 pauta a la que no pertenece.
1987 @subsubheading Propiedades del grob @code{StaffGrouper}
1989 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
1990 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
1994 @item staff-staff-spacing
1995 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
1996 La propiedad @code{staff-staff-spacing} del grob
1997 @code{VerticalAxisGroup} de una pauta individual se usará en su lugar
1998 para cualquier pauta que esté dentro del grupo que tiene el valor
1999 fijado. Véase también @code{default-staff-staff-spacing}.
2001 @item staffgroup-staff-spacing
2002 Distancia entre la última pauta del grupo en curso y la pauta que está
2003 justo por debajo de ella dentro del mismo sistema, incluso si existen
2004 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
2005 las dos pautas. No se aplica al pentagrama o pauta inferior de un
2006 sistema. La propiedad @code{staff-staff-spacing} del grob
2007 @code{VerticalAxisGroup} de una pauta individual se usará en su lugar
2008 para cualquier pauta dentro del grupo que tenga el valor fijado.
2009 Véase también @code{default-staff-staff-spacing}.
2014 @file{ly/engraver-init.ly},
2015 @file{scm/define-grobs.scm}.
2017 Referencia de funcionamiento interno:
2018 @rinternals{Contexts},
2019 @rinternals{VerticalAxisGroup},
2020 @rinternals{StaffGrouper}.
2023 @node Espaciado de pautas no agrupadas
2024 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2025 @translationof Spacing of ungrouped staves
2027 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2028 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2029 etc. son contextos que pueden contener uno o más contextos de voz,
2030 pero no pueden contener otras pautas.
2032 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2036 @item Propiedades de @code{VerticalAxisGroup}:
2038 @item @code{staff-staff-spacing}
2042 Estas propiedades de grob se describen individualmente más arriba;
2043 véase @ref{Propiedades de espaciado dentro de un sistema}.
2045 Están implicadas ciertas propiedades adicionales para las pautas que
2046 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2048 El ejemplo siguiente muestra cómo la propiedad
2049 @code{staff-staff-spacing} puede afectar al espaciado de pautas no
2052 @lilypond[verbatim,quote,staffsize=16]
2056 \override VerticalAxisGroup #'staff-staff-spacing =
2059 (minimum-distance . 7))
2064 % The very low note here needs more room than 'space can
2065 % provide, so the distance between this staff and the next is
2066 % determined by 'padding.
2067 \new Staff { b,2 r | }
2069 % Here, 'space provides enough room, and there is no need to
2070 % compress the space (towards 'minimum-distance) to make room
2071 % for anything else on the page, so the distance between this
2072 % staff and the next is determined by 'space.
2073 \new Staff { \clef bass g2 r | }
2075 % By setting 'padding to a negative value, staves can be made to
2076 % collide. The lowest acceptable value for 'space is 0.
2078 \override VerticalAxisGroup #'staff-staff-spacing =
2081 } { \clef bass g2 r | }
2082 \new Staff { \clef bass g2 r | }
2088 @file{scm/define-grobs.scm}.
2090 Fragmentos de código:
2093 Referencia de funcionamiento interno:
2094 @rinternals{VerticalAxisGroup}.
2097 @node Espaciado de pautas agrupadas
2098 @unnumberedsubsubsec Espaciado de pautas agrupadas
2099 @translationof Spacing of grouped staves
2101 En partituras grandes como las orquestales, es común colocar los
2102 pentagramas en grupos. El espacio entre los grupos suele ser mayor
2103 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2105 Los grupos de pautas, @emph{Staff-groups} (tales como
2106 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2107 contener al mismo tiempo uno o más pentagramas o pautas.
2109 Las siguientes propiedades afectan al espaciado de las pautas dentro
2113 @item Propiedades de @code{VerticalAxisGroup}:
2115 @item @code{staff-staff-spacing}
2116 @item @code{default-staff-staff-spacing}
2118 @item Propiedades de @code{StaffGrouper}:
2120 @item @code{staff-staff-spacing}
2121 @item @code{staffgroup-staff-spacing}
2125 Estas propiedades de grob se describen individualmente más arriba;
2126 véase @ref{Propiedades de espaciado dentro de un sistema}.
2128 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2129 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2131 @lilypond[verbatim,quote,staffsize=16]
2135 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2136 \override StaffGrouper #'staff-staff-spacing #'space = #1
2141 \new PianoStaff \with {
2142 \override StaffGrouper #'staffgroup-staff-spacing #'space = #20
2157 @file{scm/define-grobs.scm}.
2162 Internals Reference:
2163 @rinternals{VerticalAxisGroup},
2164 @rinternals{StaffGrouper}.
2167 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2169 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2170 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2171 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2172 de los sistemas). Específicamente, las líneas que no son pautas son
2173 contextos del tipo no-pauta que crean el objeto de presentación
2174 @code{VerticalAxisGroup}.
2176 Las siguientes propiedades afectan al espaciado de las líneas que no
2180 @item Propiedades de @code{VerticalAxisGroup}:
2182 @item @code{staff-affinity}
2183 @item @code{nonstaff-relatedstaff-spacing}
2184 @item @code{nonstaff-nonstaff-spacing}
2185 @item @code{nonstaff-unrelatedstaff-spacing}
2189 Estas propiedades de grob se describen individualmente más arriba;
2190 véase @ref{Propiedades de espaciado dentro del sistema}.
2192 El ejemplo siguiente muestra cómo la propiedad
2193 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2194 consecutivas que no son pautas. Aquí, mediante el establecimiento de
2195 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2196 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2198 @lilypond[verbatim,quote,staffsize=16]
2202 \override VerticalAxisGroup
2203 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2210 \override VerticalAxisGroup #'staff-staff-spacing = #'((space . 30))
2213 \override VerticalAxisGroup #'staff-affinity = #UP
2216 \override VerticalAxisGroup #'staff-affinity = #CENTER
2217 } \lyricmode { center }
2219 \override VerticalAxisGroup #'staff-affinity = #DOWN
2220 } \lyricmode { down }
2228 @file{ly/engraver-init.ly},
2229 @file{scm/define-grobs.scm}.
2231 Fragmentos de código:
2234 @c @lsr{spacing,page-spacing.ly},
2235 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2237 Referencia de funcionamiento interno:
2238 @rinternals{Contexts},
2239 @rinternals{VerticalAxisGroup}.
2242 @node Posicionamiento explícito de los pentagramas y los sistemas
2243 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2244 @translationof Explicit staff and system positioning
2246 Una forma de comprender los ajustes de @code{VerticalAxisGroup} y de
2247 @code{\paper} que se han explicado en las dos secciones precedentes es
2248 como una colección de distintos ajustes que conciernen principalmente
2249 a la cantidad de relleno vertical entre distintos pentagramas y
2250 sistemas que ocupan toda la página.
2251 @c running down the page.
2253 Es posible enfrentarse al espaciado vertical de una forma distinta
2254 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2255 Cuando los ajustes de @code{VerticalAxisGroup} y de @code{\paper}
2256 especifican relleno vertical, @code{NonMusicalPaperColumn
2257 #'line-break-system-details} especifica posiciones verticales exactas
2260 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2261 lista asociativa de tres ajustes diferentes:
2264 @item @code{X-offset} (desplazamiento en X)
2265 @item @code{Y-offset} (desplazamiento en Y)
2266 @item @code{alignment-distances} (distancias de alineación)
2269 Las sobreescrituras de los objetos gráficos, entre ellas las de
2270 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2271 tres lugares distintos dentro de un archivo de entrada:
2274 @item directamente en medio de las notas
2275 @item en un bloque @code{\context}
2276 @item en el bloque @code{\with}
2279 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2280 instrucción @code{\override} usual en los bloques @code{\context} y en
2281 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2282 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2283 instrucción especial @code{\overrideProperty}. He aquí algunas
2284 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2285 instrucción especial @code{\overrideProperty}:
2288 \overrideProperty NonMusicalPaperColumn
2289 #'line-break-system-details #'((X-offset . 20))
2291 \overrideProperty NonMusicalPaperColumn
2292 #'line-break-system-details #'((Y-offset . 40))
2294 \overrideProperty NonMusicalPaperColumn
2295 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
2297 \overrideProperty NonMusicalPaperColumn
2298 #'line-break-system-details #'((alignment-distances . (15)))
2300 \overrideProperty NonMusicalPaperColumn
2301 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
2302 (alignment-distances . (15)))
2305 Para entender cómo funciona cada uno de los distintos ajustes,
2306 empezamos observando un ejemplo que no incluye absolutamente ninguna
2309 @c \book { } is required in these examples to ensure the spacing
2310 @c overrides can be seen between systems. -np
2313 \header { tagline = ##f }
2314 \paper { left-margin = 0\mm }
2324 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2327 \repeat unfold 15 { d'4 d' d' d' }
2334 Esta partitura mantiene aislada la información de los saltos de línea
2335 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2336 de saltos ayuda a mantener separada de la escritura de notas conforme
2337 el ejemplo se vuelve más complicado. Consulte
2338 @ref{Utilizar una voz adicional para los saltos de línea}.
2340 Los saltos explícitos dividen la música de forma regular en seis
2341 compases por línea. El espaciado vertical es el resultado de los
2342 ajustes predeterminados de LilyPond. Para establecer explícitamente
2343 el punto de origen vertical de cada sistema, podemos establecer el par
2344 @code{Y-offset} en el atributo @code{line-break-system-details} del
2345 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2348 \header { tagline = ##f }
2349 \paper { left-margin = 0\mm }
2355 \overrideProperty #"Score.NonMusicalPaperColumn"
2356 #'line-break-system-details #'((Y-offset . 0))
2358 \overrideProperty #"Score.NonMusicalPaperColumn"
2359 #'line-break-system-details #'((Y-offset . 40))
2361 \overrideProperty #"Score.NonMusicalPaperColumn"
2362 #'line-break-system-details #'((Y-offset . 80))
2365 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2368 \repeat unfold 15 { d'4 d' d' d' }
2375 Observe que @code{line-break-system-details} toma una lista asociativa
2376 de una cantidad de valores potencialmente elevada, pero aquí sólo
2377 fijamos un valor. Observe también que aquí la propiedad
2378 @code{Y-offset} determina la posición vertical exacta sobre la página
2379 en la que se trazará cada uno de los nuevos sistemas.
2381 Ahora que hemos establecido explícitamente el punto de origen vertical
2382 de cada sistema, podemos también establecer manualmente las distancias
2383 verticales entre los pentagramas dentro de cada sistema. Lo hacemos
2384 usando la subpropiedad @code{alignment-distances} de
2385 @code{line-break-system-details}.
2388 \header { tagline = ##f }
2389 \paper { left-margin = 0\mm }
2395 \overrideProperty #"Score.NonMusicalPaperColumn"
2396 #'line-break-system-details #'((Y-offset . 20)
2397 (alignment-distances . (15)))
2399 \overrideProperty #"Score.NonMusicalPaperColumn"
2400 #'line-break-system-details #'((Y-offset . 60)
2401 (alignment-distances . (15)))
2403 \overrideProperty #"Score.NonMusicalPaperColumn"
2404 #'line-break-system-details #'((Y-offset . 100)
2405 (alignment-distances . (15)))
2408 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2411 \repeat unfold 15 { d'4 d' d' d' }
2418 Observe que aquí asignamos dos valores distintos al atributo
2419 @code{line-break-system-details} del grob
2420 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2421 @code{line-break-system-details} acepta muchos parámetros de espaciado
2422 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2423 correspondiente), sólo tenemos que establecer el desplazamiento
2424 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2425 el punto de origen vertical de cada sistema y pentagrama. Finalmente,
2426 observe que @code{alignment-distances} especifica el posicionamiento
2427 vertical de los pentagramas pero no de los grupos de pentagramas.
2430 \header { tagline = ##f }
2431 \paper { left-margin = 0\mm }
2437 \overrideProperty #"Score.NonMusicalPaperColumn"
2438 #'line-break-system-details #'((Y-offset . 0)
2439 (alignment-distances . (30 10)))
2441 \overrideProperty #"Score.NonMusicalPaperColumn"
2442 #'line-break-system-details #'((Y-offset . 60)
2443 (alignment-distances . (10 10)))
2445 \overrideProperty #"Score.NonMusicalPaperColumn"
2446 #'line-break-system-details #'((Y-offset . 100)
2447 (alignment-distances . (10 30)))
2450 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2453 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2454 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2461 Algunos puntos que tener en cuenta:
2464 @item Al usar @code{alignment-distances}, la letra
2465 y otras líneas que no son pautas, no cuentan como un pentagrama.
2467 @item Las unidades de los números que se pasan a @code{X-offset},
2468 @code{Y-offset} y @code{alignment-distances} se interpretan como
2469 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2470 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2471 los valores negativos mueven los pentagramas y la letra hacia abajo.
2473 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2474 #'line-break-system-details} dados aquí permiten el posicionamiento de
2475 pentagramas y sistemas en cualquier lugar de la página, es posible
2476 violar los márgenes o los límites del papel, o incluso imprimir
2477 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2478 a los diferentes ajustes unos valores razonables.
2483 Fragmentos de código:
2487 @node Evitar las colisiones verticales
2488 @subsection Evitar las colisiones verticales
2489 @translationof Vertical collision avoidance
2491 @funindex outside-staff-priority
2492 @funindex outside-staff-padding
2493 @funindex outside-staff-horizontal-padding
2495 Podemos decir intuitivamente que algunos objetos de la notación
2496 musical pertenecen al pentagrama y otros se sitúan fuera del
2497 pentagrama. Entre los objetos que pertenecen al exterior del
2498 pentagrama están las marcas de ensayo, las marcas textuales y las
2499 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2500 del pentagrama). La regla de LilyPond para la colocación vertical de
2501 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2502 como sea posible pero no tan próximos como para que choquen con otro
2505 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2506 determinar si un grob es un objeto fuera del pentagrama: si
2507 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2508 del pentagrama. Además, @code{outside-staff-priority} informa a
2509 LilyPond en qué orden se debe situar los objetos.
2511 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2512 exterior del pentagrama. Después ordena los objetos fuera del
2513 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2514 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2515 a uno y los coloca de forma que no choquen con ningún objeto que ya
2516 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2517 compiten por el mismo espacio, el que tiene la prioridad
2518 @code{outside-staff-priority} más baja se colocará más próximo al
2521 @lilypond[quote,ragged-right,relative=2,verbatim]
2524 \once \override TextScript #'outside-staff-priority = #1
2525 c4_"Text"\pp % this time the text will be closer to the staff
2527 % by setting outside-staff-priority to a non-number,
2528 % we disable the automatic collision avoidance
2529 \once \override TextScript #'outside-staff-priority = ##f
2530 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2531 c4_"Text"\pp % now they will collide
2534 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2535 posicionados previamente se puede controlar con
2536 @code{outside-staff-padding}.
2538 @lilypond[quote,ragged-right,relative=2,verbatim]
2539 \once \override TextScript #'outside-staff-padding = #0
2540 a'^"This text is placed very close to the note"
2541 \once \override TextScript #'outside-staff-padding = #3
2542 c^"This text is padded away from the previous text"
2543 c^"This text is placed close to the previous text"
2546 De forma predeterminada, los objetos fuera del pentagrama se colocan
2547 sólo para evitar una colisión horizontal con los grobs posicionados
2548 previamente. Esto puede llevar a situaciones en las que los objetos
2549 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2550 vertical entre pentagramas se puede fijar también de manera que los
2551 objetos fuera del pentagrama se sitúen de forma intercalada. El
2552 establecimiento del relleno horizontal
2553 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2554 desplace verticalmente para que tal situación no ocurra.
2556 @lilypond[quote,ragged-right,relative=2,verbatim]
2557 % the markup is too close to the following note
2561 % setting outside-staff-horizontal-padding fixes this
2563 \once \override TextScript #'outside-staff-horizontal-padding = #1
2571 Fragmentos de código:
2575 @node Espaciado horizontal
2576 @section Espaciado horizontal
2577 @translationof Horizontal spacing
2579 @cindex horizontal, espaciado
2580 @cindex espaciado horizontal
2583 * Panorámica del espaciado horizontal::
2584 * Área de espaciado nueva::
2585 * Cambiar el espaciado horizontal::
2586 * Longitud de la línea::
2587 * Notación proporcional::
2591 @node Panorámica del espaciado horizontal
2592 @subsection Panorámica del espaciado horizontal
2593 @translationof Horizontal spacing overview
2595 El motor de espaciado traduce las diferencias en las duraciones a
2596 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2597 duraciones más largas reciben un espacio mayor y las duraciones más
2598 cortas reciben menos. Las duraciones más breves reciben un espacio de
2599 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2600 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2601 duración, más espacio recibe: al doblar una duración se añade un
2602 espacio de tamaño fijo (este tamaño se controla mediante
2603 @code{spacing-increment}) a la nota.
2605 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2606 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2607 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2609 @lilypond[quote,verbatim,relative=1]
2610 c2 c4. c8 c4. c8 c4. c8 c8
2614 Normalmente, el valor de @code{spacing-increment} está establecido en
2615 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2616 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2617 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2618 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2619 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2620 símbolo, de manera que las notas más breves van seguidas generalmente
2621 por un espacio de 1 ACB.
2623 Si siguiésemos el procedimiento anterior exactamente, entonces la
2624 adición de una sola fusa a una partitura que usa corcheas y
2625 semicorcheas, aumentaría enormemente la anchura de la partitura
2626 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2627 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2628 duración más breve a efectos de espaciado no es la nota más breve de
2629 la partitura, sino la que ocurre con más frecuencia.
2631 La duración más breve que es más común se determina de la siguiente
2632 manera: en cada compás se determina la duración más breve. La menor
2633 duración más común se toma como base para el espaciado, habiendo
2634 estipulado que esta duración menor siempre debe ser igual o menor que
2635 una corchea. La duración más breve se imprime cuando se ejecuta
2636 @code{lilypond} con la opción @code{--verbose}.
2638 Estas duraciones también se pueden personalizar. Si establecemos la
2639 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2640 entonces éste establece la duración base para el espaciado. La
2641 duración máxima para esta base (normalmente una corchea), se fija a
2642 través de @code{base-shortest-duration}.
2644 @funindex common-shortest-duration
2645 @funindex base-shortest-duration
2646 @funindex stem-spacing-correction
2649 Las notas que son aún más breves que la nota común más breve van
2650 seguidas por un espacio proporcional a su duración en relación con la
2651 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2652 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2654 @lilypond[quote,verbatim,relative=2]
2655 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2659 En el @emph{Ensayo sobre grabado musical automatizado},
2661 direcciones de las plicas influyen en el espaciado
2662 (véase @ressay{Espaciado óptico}). Esto se controla
2663 con la propiedad @code{stem-spacing-correction} en el objeto
2664 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2665 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2666 (generado en el contexto de @rinternals{Staff}) contiene la misma
2667 propiedad para controlar el espaciado de las líneas de plica o
2668 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2669 con los valores predeterminados y otra con correcciones exageradas:
2671 @lilypond[quote,ragged-right]
2675 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2676 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2682 Está contemplada la notación proporcional; consulte
2683 @ref{Notación proporcional}.
2687 Fragmentos de código:
2690 Referencia de funcionamiento interno:
2691 @rinternals{SpacingSpanner},
2692 @rinternals{NoteSpacing},
2693 @rinternals{StaffSpacing},
2694 @rinternals{NonMusicalPaperColumn}.
2699 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2700 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2701 adicional en una partitura, ajustando el valor del relleno en la
2705 \override Score.NonMusicalPaperColumn #'padding = #10
2708 No existe ningún rodeo para disminuir la magnitud de la separación.
2711 @node Área de espaciado nueva
2712 @subsection Área de espaciado nueva
2713 @translationof New spacing area
2715 Se pueden iniciar secciones nuevas con diferentes parámetros de
2716 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2717 secciones que tienen distinta noción de las notas largas y cortas.
2719 En el ejemplo siguiente, el cambio de compás introduce una sección
2720 nueva, y por ello las semicorcheas se separan de manera más amplia.
2722 @lilypond[relative=1,verbatim,quote]
2725 c8 c c4 c16[ c c8] c4
2731 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2732 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2733 instrucciones de sobreescritura @code{\override} en dicho punto.
2737 Fragmentos de código:
2740 Referencia de funcionamiento interno:
2741 @rinternals{SpacingSpanner}.
2744 @node Cambiar el espaciado horizontal
2745 @subsection Cambiar el espaciado horizontal
2746 @translationof Changing horizontal spacing
2748 Se puede alterar el espaciado horizontal con la propiedad
2749 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2750 vez sin alterar la propiedad, y luego alterándola. Los valores
2751 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2752 que @code{ly:make-moment} construye una duración, por lo que @code{1
2753 4} es una duración mayor que @code{1 16}.
2755 @lilypond[verbatim,line-width=12\cm]
2758 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2759 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2760 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2761 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2766 @lilypond[verbatim,line-width=12\cm]
2769 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2770 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2771 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2772 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2777 \override SpacingSpanner
2778 #'base-shortest-duration = #(ly:make-moment 1 16)
2787 De forma predeterminada, el espaciado en los grupos de valoración
2788 especial depende de varios factores ajenos a la duración (como
2789 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2790 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2791 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2792 puede cambiarse al principio de la partitura:
2794 @lilypond[quote,ragged-right,verbatim]
2813 \override SpacingSpanner #'uniform-stretching = ##t
2819 Cuando se establece @code{strict-note-spacing}, las notas se separan
2820 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2822 @lilypond[quote,ragged-right,relative=2,verbatim]
2823 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2824 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2829 Fragmentos de código:
2833 @node Longitud de la línea
2834 @subsection Longitud de la línea
2835 @translationof Line length
2837 @cindex saltos de página
2838 @cindex página, saltos de
2841 @funindex line-width
2842 @funindex ragged-right
2843 @funindex ragged-last
2845 @c Although line-width can be set in \layout, it should be set in paper
2846 @c block, to get page layout right.
2847 @c Setting indent in \paper block makes not much sense, but it works.
2849 @c Bit verbose and vague, use examples?
2850 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2851 y @code{line-width}. Se definen en el bloque @code{\layout}.
2852 Controlan el sangrado de la primera línea de música y la longitud de
2855 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2856 @code{\layout}, entonces los sistemas terminan en su longitud
2857 horizontal natural, en lugar de repartirse horizontalmente hasta
2858 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2859 comprobar qué tan apretado es el espaciado natural.
2860 El valor normal predeterminado es falso, pero si la partitura
2861 tiene un solo sistema, el valor predeterminado es verdadero.
2864 @cindex diseño de página
2865 @cindex página, disposición de la
2866 @cindex vertical, espaciado
2868 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2869 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2870 restricción sobre dicha línea. El resultado es similar al formateo de
2871 los párrafos de texto. En un párrafo, la última línea sencillamente
2872 ocupa su longitud horizontal natural.
2873 @c Note that for text there are several options for the last line.
2874 @c While Knuth TeX uses natural length, lead typesetters use the same
2875 @c stretch as the previous line. eTeX uses \lastlinefit to
2876 @c interpolate between both these solutions.
2888 Fragmentos de código:
2892 @node Notación proporcional
2893 @subsection Notación proporcional
2894 @translationof Proportional notation
2896 LilyPond contempla la notación proporcional, un tipo de espaciado
2897 horizontal en el que cada nota consume una medida horizontal que
2898 equivale exactamente a su duración rítmica. Este tipo de espaciado
2899 proporcional es comparable al espaciado horizontal hecho sobre un
2900 papel milimetrado. Ciertas partituras del finales del s.XX y
2901 principios del s.XXI utilizan notación proporcional para clarificar
2902 relaciones rítmicas complejas o para facilitar la colocación de líneas
2903 cronométricas u otros gráficos directamente en la partitura.
2905 LilyPond contempla cinco ajustes distintos para la notación
2906 proporcional, que se pueden usar solos o combinados:
2909 @item @code{proportionalNotationDuration}
2910 @item @code{uniform-stretching}
2911 @item @code{strict-note-spacing}
2912 @item @code{\remove Separating_line_group_engraver}
2913 @item @code{\override PaperColumn #'used = ##t}
2916 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2917 de la notación proporcional y examinamos la forma en que interactúan.
2919 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2920 espaciado clásico sin justificación por la derecha.
2922 @lilypond[quote,verbatim,ragged-right]
2925 \new RhythmicStaff {
2929 c'16 c'16 c'16 c'16 c'16
2936 Observe que la blanca que inicia el compás ocupa mucho menos de la
2937 mitad de todo el espacio horizontal del compás. De forma similar, las
2938 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2939 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2942 En el grabado clásico, este espaciado puede ser exactamente el que
2943 deseamos porque podemos tomar prestado el espacio horizontal de la
2944 blanca y conservar el espacio horizontal a lo largo del compás como un
2947 Por otro lado, si queremos insertar una línea de tiempo graduada o
2948 algún otro gráfico encima o debajo de la partitura, necesitamos la
2949 notación proporcional. Se activa la notación proporcional con el
2950 ajuste @code{proportionalNotationDuration}.
2952 @lilypond[quote,verbatim,ragged-right]
2955 \new RhythmicStaff {
2959 c'16 c'16 c'16 c'16 c'16
2966 proportionalNotationDuration = #(ly:make-moment 1 20)
2972 La blanca al principio del compás y las notas rápidas de la segunda
2973 mitad del compás ocupan ahora cantidades iguales de espacio
2974 horizontal. Podríamos colocar una línea de tiempo graduada o un
2975 gráfico encima o debajo de este ejemplo.
2977 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2978 que reside en @code{Score}. Recordemos que los ajustes de contexto
2979 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2980 bloque @code{\with}, en un bloque @code{\context}, o directamente
2981 entre la música precedido por la instrucción @code{\set}. Como con
2982 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2983 tres lugares diferentes prefiere establecer el valor de
2984 @code{proportionalNotationDuration}.
2986 El ajuste @code{proportionalNotationDuration} acepta un solo
2987 argumento, que es la duración de referencia contra el que se aplica el
2988 espaciado de toda la música. La función Scheme de LilyPond
2989 @code{make-moment} acepta dos argumentos: un numerador y un
2990 denominador que, juntos, expresan una cierta fracción de redonda. La
2991 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2992 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2993 cinquillo). Son también posibles valores como
2994 @code{#(ly:make-moment 1 16)},
2995 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)}.
2997 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2998 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2999 de ensayo y error, comenzando con una duración cercana a la más rápida
3000 (o más breve) duración de la pieza. Las duraciones de referencia más
3001 pequeñas aplican un espaciado más suelto; las duraciones de referencia
3002 más largas aplican un espaciado más apretado.
3004 @lilypond[quote,verbatim,ragged-right]
3007 \new RhythmicStaff {
3011 c'16 c'16 c'16 c'16 c'16
3018 proportionalNotationDuration = #(ly:make-moment 1 8)
3025 \new RhythmicStaff {
3029 c'16 c'16 c'16 c'16 c'16
3036 proportionalNotationDuration = #(ly:make-moment 1 16)
3043 \new RhythmicStaff {
3047 c'16 c'16 c'16 c'16 c'16
3054 proportionalNotationDuration = #(ly:make-moment 1 32)
3060 Observe que una duración de referencia demasiado grande (como la
3061 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3062 apretado y puede ser causa de colisiones entre las cabezas de nota.
3063 Observe también que la notación proporcional en general ocupa más
3064 espacio horizontal que el espaciado clásico. El espaciado
3065 proporcional aporta claridad rítmica a expensas del espacio
3068 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3069 especial que se superponen.
3071 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3072 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3073 diferente de grupo especial.
3075 @lilypond[quote,verbatim,ragged-right]
3078 \new RhythmicStaff {
3082 c'16 c'16 c'16 c'16 c'16
3085 \new RhythmicStaff {
3087 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3094 El espaciado es defectuoso porque las notas regularmente espaciadas
3095 del pentagrama inferior no se amplían de manera uniforme. Los grabados
3096 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3097 grabado clásico pueden generar este tipo de resultado. El
3098 establecimiento de @code{proportionalNotationDuration} lo
3101 @lilypond[quote,verbatim,ragged-right]
3104 \new RhythmicStaff {
3108 c'16 c'16 c'16 c'16 c'16
3111 \new RhythmicStaff {
3113 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3120 proportionalNotationDuration = #(ly:make-moment 1 20)
3127 Pero si observamos con mucho cuidado podremos ver que las notas de la
3128 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3129 ancha que las de la primera mitad del 9-illo. Para asegurar una
3130 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3131 propiedad de @code{SpacingSpanner}.
3133 @lilypond[quote,verbatim,ragged-right]
3136 \new RhythmicStaff {
3140 c'16 c'16 c'16 c'16 c'16
3143 \new RhythmicStaff {
3145 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3152 proportionalNotationDuration = #(ly:make-moment 1 20)
3153 \override SpacingSpanner #'uniform-stretching = ##t
3159 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3160 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3161 una línea de tiempo graduada o un gráfico, si queremos.
3163 Observe que el paquete de notación proporcional de LilyPond espera que
3164 todas las partituras proporcionales establezcan el atributo
3165 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
3166 establecimiento de @code{proportionalNotationDuration} sin ajustar
3167 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3168 al valor ##t causará, por ejemplo, que los desplazamientos
3169 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3171 El @code{SpacingSpanner} es un grob abstracto que reside en el
3172 contexto de @code{Score}. Como con nuestros ajustes de
3173 @code{proportionalNotationDuration}, las sobreescrituras al
3174 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3175 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3176 @code{\context} o directamente dentro de la escritura de notas.
3178 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3179 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
3180 está activado para la partitura completa o desactivado para la
3181 partitura completa. Sin embargo, podemos sobreescribir este
3182 comportamiento y activar distintas posibilidades de espaciado en
3183 distintos lugares de la partitura. Lo hacemos con la instrucción
3184 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
3185 para más información.
3187 A continuación examinamos los efectos del grabador
3188 @code{Separating_line_group_engraver} y veremos por qué las partituras
3189 proporcionales con frecuencia eliminan este grabador. El ejemplo
3190 siguiente muestra que hay una pequeña cantidad de espacio
3191 @qq{preparatorio} justo antes de la primera nota de cada sistema.
3193 @lilypond[quote,verbatim,ragged-right]
3206 Esta cantidad de espacio preparatorio es la misma ya sea después de
3207 una indicación de compás, una armadura o una clave. El grabador
3208 @code{Separating_line_group_engraver} es responsable de este espacio.
3209 La eliminación de @code{Separating_line_group_engraver} reduce este
3212 @lilypond[quote,verbatim,ragged-right]
3218 \remove Separating_line_group_engraver
3226 Los elementos no musicales como la indicación de compás, la armadura,
3227 la clave y las alteraciones son problemáticos en notación
3228 proporcional. Ninguno de estos elementos tiene duración rítmica.
3229 Pero todos ellos consumen espacio horizontal. Las distintas
3230 partituras proporcionales abordan este problema de distinta manera.
3232 Sería posible evitar los problemas de espaciado con las armaduras,
3233 simplemente evitando tenerlas. Esta es una opción válida pues casi
3234 todas las partituras proporcionales son música contemporánea. Lo
3235 mismo puede valer para las indicaciones de compás, especialmente para
3236 las partituras que incluyen una línea de tiempo graduada u otro
3237 gráfico. Pero estas partituras son excepcionales y casi todas las
3238 partituras proporcionales incluyen al menos unas pocas indicaciones de
3239 compás. Las claves y las alteraciones son aún más esenciales.
3241 Así pues ¿qué estrategias existen para el espaciado de los elementos
3242 no musicales en un contexto proporcional? Una buena opción es la
3243 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3244 Compare las dos partituras siguientes:
3246 @lilypond[quote,verbatim,ragged-right]
3248 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3258 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3259 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3269 Las dos partituras son proporcionales, pero el espaciado de la
3270 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3271 espaciado de la segunda partitura se mantiene estricto, porque
3272 @code{strict-note-spacing} está activado. La activación de
3273 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3274 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3275 el algoritmo de espaciado.
3277 Además de los ajustes dados aquí, hay otros que aparecen con
3278 frecuencia en las partituras proporcionales. Entre ellos están:
3281 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3282 @item @code{tupletFullLength = ##t}
3283 @item @code{\override Beam #'breakable = ##t}
3284 @item @code{\override Glissando #'breakable = ##t}
3285 @item @code{\override TextSpanner #'breakable = ##t}
3286 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3289 Estos ajustes dan a las notas de adorno un espaciado estricto,
3290 extienden los corchetes de grupo especial para que marquen tanto los
3291 puntos de comienzo como de final, y permiten que los elementos de
3292 extensión se dividan entre los sistemas y las páginas. Consulte las
3293 partes respectivas del manual para ver estos ajustes relacionados.
3297 Referencia de la notación:
3298 @ref{Área de espaciado nueva}.
3300 Fragmentos de código:
3304 @node Encajar la música en menos páginas
3305 @section Encajar la música en menos páginas
3306 @translationof Fitting music onto fewer pages
3308 En ocasiones, podemos terminar con uno o dos pentagramas en una
3309 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
3310 cuando vemos que las páginas anteriores parecen tener espacio de
3313 Al investigar los problemas de disposición, una herramienta de valor
3314 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3315 valores de un cierto número de variables de espaciado; para ver más
3316 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3319 * Mostrar el espaciado::
3320 * Cambiar el espaciado::
3324 @node Mostrar el espaciado
3325 @subsection Mostrar el espaciado
3326 @translationof Displaying spacing
3328 @cindex espaciado, presentación del
3329 @funindex annotate-spacing
3331 Para presentar gráficamente las dimensiones de las variables de
3332 disposición vertical que pueden verse alteradas por el formato de la
3333 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3335 @c need to have \book{} otherwise we get the separate systems. -hwn
3336 @lilypond[verbatim,quote]
3337 #(set-default-paper-size "a6" 'landscape)
3340 \paper { annotate-spacing = ##t }
3346 Todas las dimensiones de disposición se muestran en espacios de
3347 pentagrama, independientemente de las unidades especificadas en los
3348 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3349 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3350 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3351 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3353 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3356 @tab = (25.4/72.27) mm
3359 @tab = (@code{staff-size})/4 pts
3361 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3366 En este caso, un @code{staff-space} equivale aproximadamente a
3367 1.757mm. Así, la medida @code{paper-height} de 59.75
3368 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3369 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3370 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3371 superior del intervalo.
3375 Referencia de la notación:
3376 @ref{Establecer el tamaño del pentagrama}.
3378 Fragmentos de código:
3382 @node Cambiar el espaciado
3383 @subsection Cambiar el espaciado
3384 @translationof Changing spacing
3386 La salida de @code{annotate-spacing} revela las dimensiones verticales
3387 con gran detalle. Para ver más detalles acerca de la modificación de
3388 los márgenes y otras variables de diseño de la página, consulte
3389 @ref{Disposición de la página}.
3391 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3395 Forzar los sistemas para que se junten lo más posible entre sí (de
3396 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3397 tiempo estén espaciados de forma que no exista un espacio vacío en la
3398 parte baja del papel.
3402 system-system-spacing = #'((padding . 0) (space . 0.1))
3403 ragged-last-bottom = ##f
3409 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3410 Si tan sólo se establece un valor, incluso el mismo valor que el
3411 número de sistemas que se están trazando de forma predeterminada, ello
3412 ocasionará a veces que se traten de introducir más sistemas en cada
3413 página, pues en este caso se omite un paso en que se produce una
3414 estimación, dando así un encaje mejor en cada página. Asimismo, el
3415 forzar una reducción neta en el número de sistemas puede producir el
3416 ahorro de una página adicional. Por ejemplo, si la disposición
3417 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3418 disposición con 10 sistemas.
3427 Evitar (o reducir en número) los objetos que aumentan el tamaño
3428 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3429 segunda vez (o repeticiones con finales alternativos) necesitan
3430 espacio adicional. Si estas repeticiones se reparten a lo largo de
3431 dos sistemas, ocupan más espacio que un sistema con las casillas de
3432 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3433 dinámicas que se @q{salen} de un sistema se pueden acercar al
3436 @lilypond[verbatim,quote,relative=1]
3438 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3442 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3443 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3444 El ejemplo siguiente ilustra el espaciado predeterminado:
3446 @lilypond[verbatim,quote]
3459 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3460 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3461 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3462 duración se produce un efecto de @q{apretujamiento}:
3464 @lilypond[verbatim,quote]
3476 \override SpacingSpanner
3477 #'common-shortest-duration = #(ly:make-moment 1 2)
3484 La propiedad @code{common-shortest-duration} no se puede modificar de
3485 manera dinámica, por lo que se debe situar siempre dentro de un
3486 bloque @code{\context} de forma que se aplique a la partitura
3493 Referencia de la notación:
3494 @ref{Disposición de la página},
3495 @ref{Cambiar el espaciado horizontal}.
3497 Fragmentos de código: