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 The horizontal extent of the staff lines in unindented, non-ragged
585 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
586 when unset. If @code{line-width} is set, and both @code{left-margin}
587 and @code{right-margin} are unset, then the margins will be updated to
588 center the systems on the page automatically. Also see
589 @code{check-consistency}.
592 @funindex left-margin
594 The margin between the left edge of the page and the start of the
595 staff lines in unindented systems. If the paper size is modified,
596 this dimension's default value is scaled accordingly. If
597 @code{left-margin} is unset, and both @code{line-width} and
598 @code{right-margin} are set, then @code{left-margin} is set to
599 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
600 If only @code{line-width} is set, then both margins are set to
601 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)},
602 and the systems are consequently centered on the page. Also see
603 @code{check-consistency}.
606 @funindex right-margin
608 The margin between the right edge of the page and the end of the
609 staff lines in non-ragged systems. If the paper size is modified,
610 this dimension's default value is scaled accordingly. If
611 @code{right-margin} is unset, and both @code{line-width} and
612 @code{left-margin} are set, then @code{right-margin} is set to
613 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
614 If only @code{line-width} is set, then both margins are set to
615 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)},
616 and the systems are consequently centered on the page. Also see
617 @code{check-consistency}.
619 @item check-consistency
620 @funindex check-consistency
622 If set to true, print a warning if @code{left-margin},
623 @code{line-width}, and @code{right-margin} do not exactly add up
624 to @code{paper-width}, and replace each of these (except
625 @code{paper-width}) with its default value (scaled to the paper
626 size if necessary). If set to false, ignore any inconsistencies
627 and allow systems to run off the edge of the page.
630 @funindex ragged-right
632 If set to true, systems will not fill the line width. Instead,
633 systems end at their natural horizontal length. Default:
634 @code{#t} for scores with only one system, and @code{#f} for
635 scores with two or more systems. This variable can also be set in
636 a @code{\layout} block.
639 @funindex ragged-last
641 If set to true, the last system in the score will not fill the
642 line width. Instead the last system ends at its natural
643 horizontal length. Default: @code{#f}. This variable can also be
644 set in a @code{\layout} block.
650 @file{ly/paper-defaults-init.ly}.
653 @node \paper variables for two-sided mode
654 @unnumberedsubsubsec @code{\paper} variables for two-sided mode
656 Default values (before scaling) are defined in
657 @file{ly/paper-defaults-init.ly}.
665 @cindex binding gutter
667 If set to true, use @code{inner-margin}, @code{outer-margin} and
668 @code{binding-offset} to determine margins depending on whether
669 the page number is odd or even. This overrides @code{left-margin}
670 and @code{right-margin}.
673 @funindex inner-margin
675 The margin all pages have at the inner side if they are part of a
676 book. If the paper size is modified, this dimension's default
677 value is scaled accordingly. Works only with @code{two-sided} set
681 @funindex outer-margin
683 The margin all pages have at the outer side if they are part of a
684 book. If the paper size is modified, this dimension's default
685 value is scaled accordingly. Works only with @code{two-sided} set
689 @funindex binding-offset
691 The amount @code{inner-margin} is increased to make sure nothing
692 will be hidden by the binding. If the paper size is modified,
693 this dimension's default value is scaled accordingly. Works only
694 with @code{two-sided} set to true.
700 @file{ly/paper-defaults-init.ly}.
703 @node Variables de \paper para desplazamientos y sangrados
704 @unnumberedsubsubsec Variables de @code{\paper} para desplazamientos y sangrados
705 @translationof \paper variables for shifts and indents
707 Default values (before scaling) that are not listed here are
708 defined in @file{ly/paper-defaults-init.ly}.
712 @item horizontal-shift
713 @funindex horizontal-shift
715 @c This default value is buried in the middle of page.scm. -mp
717 Medida en que todos los sistemas (incluidos los títulos de cabecera y
718 los separadores de sistemas) se desplazan a la derecha.
719 Predeterminado: @code{0.0}.
724 The level of indentation for the first system in a score. If the
725 paper size is modified, this dimension's default value is scaled
726 accordingly. This variable can also be set in a @code{\layout}
730 @funindex short-indent
732 The level of indentation for all systems in a score besides the
733 first system. If the paper size is modified, this dimension's
734 default value is scaled accordingly. This variable can also be
735 set in a @code{\layout} block.
741 @file{ly/paper-defaults-init.ly}.
747 @node Other \paper variables
748 @subsection Other @code{\paper} variables
751 * \paper variables for line breaking::
752 * \paper variables for page breaking::
753 * \paper variables for page numbering::
754 * Miscellaneous \paper variables::
758 @node \paper variables for line breaking
759 @unnumberedsubsubsec @code{\paper} variables for line breaking
761 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
765 @item max-systems-per-page
766 @funindex max-systems-per-page
768 The maximum number of systems that will be placed on a page. This
769 is currently supported only by the @code{ly:optimal-breaking} algorithm.
772 @item min-systems-per-page
773 @funindex min-systems-per-page
775 The minimum number of systems that will be placed on a page. This
776 may cause pages to be overfilled if it is made too large. This is
777 currently supported only by the @code{ly:optimal-breaking} algorithm.
780 @item systems-per-page
781 @funindex systems-per-page
783 The number of systems that should be placed on each page.
784 This is currently supported only by the @code{ly:optimal-breaking} algorithm.
788 @funindex system-count
790 The number of systems to be used for a score. Default: unset.
791 This variable can also be set in a @code{\layout} block.
800 @node \paper variables for page breaking
801 @unnumberedsubsubsec @code{\paper} variables for page breaking
803 Default values not listed here are defined in
804 @file{ly/paper-defaults-init.ly}
808 @item blank-after-score-page-force
809 @funindex blank-after-score-page-force
811 The penalty for having a blank page after the end of one score and
812 before the next. By default, this is smaller than
813 @code{blank-page-force}, so that we prefer blank pages after
814 scores to blank pages within a score.
816 @item blank-last-page-force
817 @funindex blank-last-page-force
819 The penalty for ending the score on an odd-numbered page.
821 @item blank-page-force
822 @funindex blank-page-force
824 The penalty for having a blank page in the middle of a
825 score. This is not used by @code{ly:optimal-breaking} since it will
826 never consider blank pages in the middle of a score.
829 @funindex page-breaking
831 The page-breaking algorithm to use. Choices are
832 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking}, and
833 @code{ly:optimal-breaking}.
835 @item page-breaking-system-system-spacing
836 @funindex page-breaking-system-system-spacing
838 Tricks the page breaker into thinking that
839 @code{system-system-spacing} is set to something different than
840 it really is. For example, if
841 @code{page-breaking-system-system-spacing #'padding} is set to something
842 substantially larger than @code{system-system-spacing #'padding}, then the
843 page-breaker will put fewer systems on each page. Default: unset.
848 The number of pages to be used for a score, unset by default.
855 @ref{Optimal page breaking},
856 @ref{Optimal page turning},
857 @ref{Minimal page breaking}.
860 @file{ly/paper-defaults-init.ly}.
863 @node \paper variables for page numbering
864 @unnumberedsubsubsec @code{\paper} variables for page numbering
866 Default values not listed here are defined in
867 @file{ly/paper-defaults-init.ly}
871 @item auto-first-page-number
872 @funindex auto-first-page-number
874 El algoritmo de división de páginas está afectado por el hecho de que
875 el número de la primera página sea par o impar. Si está establecido
876 al valor verdadero, el algoritmo de división de páginas decide si
877 comenzar con un número par o impar. Esto hace que el número de la
878 primera página se quede como está, o que se aumente en una unidad.
879 Predeterminado: @code{#f}.
881 @item first-page-number
882 @funindex first-page-number
884 The value of the page number on the first page.
886 @item print-first-page-number
887 @funindex print-first-page-number
889 If set to true, a page number is printed on the first page.
891 @item print-page-number
892 @funindex print-page-number
894 If set to false, page numbers are not printed.
900 @file{ly/paper-defaults-init.ly}.
903 @node Miscellaneous \paper variables
904 @unnumberedsubsubsec Miscellaneous @code{\paper} variables
908 @item page-spacing-weight
909 @funindex page-spacing-weight
911 Importancia relativa del espacio (vertical) de las páginas y el
912 espaciado (horizontal) de las líneas. Los valores altos hacen que el
913 espaciado de la página tenga más importancia. Predeterminado:
916 @item print-all-headers
917 @funindex print-all-headers
919 If set to true, this will print all headers for each @code{\score}
920 in the output. Normally only the @code{piece} and @code{opus}
921 header variables are printed. Default: @code{#f}.
923 @item system-separator-markup
924 @funindex system-separator-markup
926 Objeto de marcado que se inserta entre los sistemas. Se suele usar
927 para partituras orquestales. Predeterminado: sin establecer.
928 The @code{\slashSeparator}
929 markup, defined in @file{ly/titling-init.ly}, is provided as a
930 sensible default, for example:
932 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
933 #(set-default-paper-size "a8")
937 system-separator-markup = \slashSeparator
943 \relative c'' { c1 \break c1 \break c1 }
953 @file{ly/titling-init.ly}.
961 El encabezamiento de página predeterminado pone el número de página y
962 el campo @code{instrument} del bloque @code{\header} sobre la misma
966 @node Disposición de la partitura
967 @section Disposición de la partitura
968 @translationof Score layout
970 This section discusses score layout options for the @code{\layout}
974 * El bloque \layout::
975 * Setting the staff size::
979 @node El bloque \layout
980 @subsection El bloque @code{\layout}
981 @translationof The \layout block
985 While the @code{\paper} block contains settings that relate to the
986 page formatting of the whole document, the @code{\layout} block
987 contains settings for score-specific layout. To set score layout
988 options globally, enter them in a toplevel @code{\layout} block.
989 To set layout options for an individual score, enter them in a
990 @code{\layout} block inside the @code{\score} block, after the
991 music. Settings that can appear in a @code{\layout} block
995 @item the @code{layout-set-staff-size} scheme function,
996 @item context modifications in @code{\context} blocks, and
997 @item @code{\paper} variables that affect score layout.
1000 The @code{layout-set-staff-size} function is discussed in the next
1001 section, @ref{Setting the staff size}. Context modifications are
1002 discussed in a separate chapter; see
1003 @ref{Modifying context plug-ins} and
1004 @ref{Changing context default settings}. The @code{\paper}
1005 variables that can appear in a @code{\layout} block are:
1008 @item @code{ragged-right}
1009 @item @code{ragged-last}
1011 @item @code{short-indent}
1012 @item @code{system-count}
1015 Here is an example @code{\layout} block:
1022 \override StaffGrouper #'staff-staff-spacing #space = #8
1026 \override TextScript #'padding = #1.0
1027 \override Glissando #'thickness = #3
1035 @ref{Changing context default settings}.
1041 @node Setting the staff size
1042 @subsection Setting the staff size
1044 @cindex font size, setting
1045 @cindex staff size, setting
1046 @funindex layout file
1048 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1049 puntos. Esto se puede modificar de dos maneras:
1051 Para establecer globalmente el tamaño del pentagrama para todas las
1052 partituras de un archivo (o en un bloque @code{book}, para ser
1053 exactos), utilice @code{set-global-staff-size}.
1056 #(set-global-staff-size 14)
1060 Esto establece el tamaño global predeterminado a una altura de
1061 pentagrama de 14pt y escala todas las tipografías según corresponda.
1063 Para establecer el tamaño del pentagrama de forma individual para cada
1069 #(layout-set-staff-size 15)
1074 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1075 distintos. Cada fuente tipográfica está afinada para un tamaño de
1076 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1077 pesada, para que coincida con las líneas de pentagrama relativamente
1078 más gruesas. Los tamaños de tipografía recomendados están
1079 relacionados en la tabla siguiente:
1082 @multitable @columnfractions .15 .2 .22 .2
1084 @item @b{nombre de la fuente}
1085 @tab @b{altura del pentagrama (pt)}
1086 @tab @b{altura del pentagrama (mm)}
1092 @tab partituras de bolsillo
1117 @tab particellas estándar
1128 @c modern rental material?
1133 Estas tipografías están disponibles en cualquier tamaño. La propiedad
1134 de contexto @code{fontSize} y la propiedad de disposición
1135 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1136 afinar el tamaño de los pentagramas individuales. Los tamaños de
1137 pentagrama individuales están en relación al tamaño global.
1141 Referencia de la notación:
1142 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1144 Fragmentos de código:
1150 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1156 @translationof Breaks
1160 * Saltos de página::
1161 * Saltos de página óptimos::
1162 * Paso de página óptimo::
1163 * Saltos de página mínimos::
1164 * Saltos de línea explícitos::
1165 * Utilizar una voz adicional para los saltos de línea::
1169 @node Saltos de línea
1170 @subsection Saltos de línea
1171 @translationof Line breaking
1173 @cindex saltos de línea
1174 @cindex línea, saltos de
1176 Normalmente los saltos de línea se determinan automáticamente. Se
1177 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1178 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1179 similar. Ocasionalmente podemos querer sobreescribir los saltos
1180 automáticos; podemos hacerlo especificando @code{\break}. Esto fuerza
1181 un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
1182 pueden suceder al final de los compases @q{completos}, es decir, donde
1183 no queda ninguna nota o grupo especial @q{colgando} por encima de la
1184 línea divisoria. Si queremos poner un salto de línea donde no hay
1185 línea divisoria, podemos forzar una barra de compás invisible
1186 introduciendo @code{\bar ""}, aunque de nuevo no deben quedar notas
1187 colgando en ninguno de los pentagramas en este punto, o se ignorarán.
1189 La instrucción opuesta, @code{\noBreak}, prohíbe un salto de línea en
1190 la barra divisoria en que se inserta.
1192 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1193 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1194 @code{\layout}. Controlan el sangrado de la primera línea de música,
1195 y la longitud de las líneas.
1197 Si se establece @code{ragged-right} a verdadero en el bloque
1198 @code{\layout}, los sistemas terminan en su longitud horizontal
1199 natural, en lugar de distribuirse horizontalmente para llenar toda la
1200 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1201 comprobación de lo apretado que es el espaciado natural.
1203 @c TODO Check and add para on default for ragged-right
1205 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1206 afecta sólo a la última línea de la pieza.
1218 @cindex saltos de línea normales
1219 @cindex música de cuatro compases por línea
1221 Para saltos de línea a intervalos regulares utilice @code{\break}
1222 separado mediante desplazamientos con @code{\skip} y repetidos con
1223 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1224 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1225 compases, y sólo en dichos lugares:
1228 << \repeat unfold 7 @{
1229 s1 \noBreak s1 \noBreak
1230 s1 \noBreak s1 \break @}
1231 @emph{the real music}
1236 Una configuración de división de líneas se puede guardar como archivo
1237 @file{.ly} automáticamente. Ello permite que alineaciones verticales
1238 se estiren para que encajen en las páginas durante una segunda
1239 ejecución del proceso de formateo. Esta posibilidad es bastante
1240 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1252 Fragmentos de código:
1255 Referencia de funcionamiento interno:
1256 @rinternals{LineBreakEvent}.
1261 Sólo pueden ocurrir saltos de línea si hay una @q{buena} línea
1262 divisoria. Una nota colgando de una línea divisoria no es adecuada,
1265 @lilypond[quote,ragged-right,relative=2,verbatim]
1266 c4 c2 << c2 {s4 \break } >> % this does nothing
1267 c2 c4 | % a break here would work
1268 c4 c2 c4 ~ \break % as does this break
1272 Esto se puede evitar eliminando el grabador
1273 @code{Forbid_line_break_engraver}. Observe que los saltos de línea
1274 forzados manualmente se tienen que añadir en paralelo con la música.
1276 @lilypond[quote,ragged-right,verbatim]
1278 \remove Forbid_line_break_engraver
1280 c4 c2 << c2 {s4 \break } >> % now the break is allowed
1285 De forma parecida, los saltos de línea están prohibidos normalmente
1286 cuando las barras cruzan a las líneas divisorias. Este comportamiento
1287 se puede modificar con el establecimiento de @code{\override Beam
1291 @node Saltos de página
1292 @subsection Saltos de página
1293 @translationof Page breaking
1295 Se puede sobreescribir el mecanismo predeterminado de salto de página
1296 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1297 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1298 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1299 y prohíben, respectivamente, la eventualidad de un salto de página.
1300 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1303 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1304 pueden insertar en el nivel más alto, entre las partituras y los
1305 elementos de marcado situados en el nivel superior.
1307 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1308 tienen el mismo efecto sobre el espaciado vertical:
1309 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1310 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
1311 la última página, respectivamente, no se verán justificados
1314 Para ver más detalles, consulte @ref{Espaciado vertical}.
1316 Los saltos de página se calculan por medio de la función
1317 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1318 de los saltos de página: @code{ly:optimal-breaking},
1319 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1320 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1321 cambiar en el bloque @code{\paper}:
1325 #(define page-breaking ly:page-turn-breaking)
1331 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1332 resolver el problema de los saltos de página, necesitando mucha
1333 memoria y prolongados tiempos de procesamiento. Para facilitar el
1334 proceso de división en páginas, se usan los bloques @code{\bookpart}
1335 para dividir el libro en varias partes: los saltos de página se
1336 producen de manera independiente en cada parte. También se pueden
1337 usar diferentes funciones de división en páginas para las distintas
1343 subtitle = "Prefacio"
1346 %% En una parte que consiste en texto principalmente,
1347 %% puede ser preferible ly:minimal-breaking
1348 #(define page-breaking ly:minimal-breaking)
1350 \markup @{ @dots{} @}
1354 %% En esta parte, consistente en música, se usa la función
1355 %% óptima predeterminada de saltos de página.
1357 subtitle = "Primer movimiento"
1359 \score @{ @dots{} @}
1366 @funindex \pageBreak
1368 @funindex \noPageBreak
1369 @code{\noPageBreak}.
1374 Fragmentos de código:
1378 @node Saltos de página óptimos
1379 @subsection Saltos de página óptimos
1380 @translationof Optimal page breaking
1382 @funindex ly:optimal-breaking
1384 La función @code{ly:optimal-breaking} es el método predeterminado de
1385 LilyPond para determinar los saltos de página. Intenta hallar una
1386 división de páginas que haga mínimos el apretujamiento y la
1387 distensión, tanto horizontal como verticalmente. A diferencia de
1388 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1393 Fragmentos de código:
1397 @node Paso de página óptimo
1398 @subsection Paso de página óptimo
1399 @translationof Optimal page turning
1401 @funindex ly:page-turn-breaking
1403 Con frecuencia es necesario encontrar una configuración de división de
1404 páginas de manera que haya un silencio al final de una página de cada
1405 dos. De esta forma, el músico puede pasar la página sin perder notas.
1406 La función @code{ly:page-turn-breaking} trata de encontrar una
1407 división de páginas que haga mínimos el apretujamiento y el
1408 estiramiento, pero con la restricción añadida de que sólo se permite
1409 introducir vueltas de página en los lugares especificados.
1411 Hay dos etapas en el uso de esta función de división de páginas. En
1412 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1413 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1414 dónde nos gustaría permitir los saltos de página.
1416 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1417 especificar manualmente cada uno de los pasos de página potenciales,
1418 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1421 Si esto es demasiado tedioso, podemos añadir un grabador
1422 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1423 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1424 sin notas (observe que no busca silencios, sino la ausencia de notas.
1425 Se hace así para que la polifonía en un solo pentagrama con silencios
1426 en una de las voces no arruine la labor del grabador
1427 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1428 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1429 un @code{\allowPageTurn} en la última barra de compás de dicha
1430 sección, a no ser que haya una barra @q{especial} de compás (como una
1431 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1432 última barra @q{especial} de compás de la sección.
1434 @funindex minimumPageTurnLength
1435 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1436 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1437 una sección sin notas antes de que se considere la posibilidad de un
1438 paso de página. El valor predeterminado para
1439 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
1440 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1444 \new Staff \with @{ \consists "Page_turn_engraver" @}
1447 R1 | % a page turn will be allowed here
1449 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1450 R1 | % a page turn will not be allowed here
1452 R1*2 | % a page turn will be allowed here
1457 @funindex minimumRepeatLengthForPageTurn
1458 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1459 primera y segunda vez. Sólo permite un pase de página durante la
1460 repetición si hay suficiente tiempo al principio y al final de la
1461 repetición para volver a pasar la página hacia atrás. El grabador
1462 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1463 página si la repetición es muy corta. Si establecemos la propiedad de
1464 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1465 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1466 repeticiones cuya duración sea mayor que este valor.
1468 Las instrucciones de paso de página, @code{\pageTurn},
1469 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1470 el nivel más elevado del código, entre las partituras y los elementos
1471 de marcado del nivel superior.
1477 @funindex \noPageTurn
1479 @funindex \allowPageTurn
1480 @code{\allowPageTurn}.
1485 Fragmentos de código:
1491 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1492 partitura. Si hay más de uno, se interferirán entre sí.
1495 @node Saltos de página mínimos
1496 @subsection Saltos de página mínimos
1497 @translationof Minimal page breaking
1499 @funindex ly:minimal-breaking
1501 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1502 para determinar los saltos de página: completa una página con tantos
1503 sistemas como sea posible antes de continuar con la siguiente. Así,
1504 puede preferirse para partituras con muchas páginas, donde las otras
1505 funciones de salto de página pueden resultar demasiado lentas o ávidas
1506 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1510 #(define page-breaking ly:minimal-breaking)
1516 Fragmentos de código:
1520 @node Saltos de línea explícitos
1521 @subsection Saltos de línea explícitos
1522 @translationof Explicit breaks
1524 Lily a veces rechaza las instrucciones @code{\break} y
1525 @code{\pageBreak} explícitas. Hay dos instrucciones para
1526 sobreescribir este comportamiento:
1529 \override NonMusicalPaperColumn #'line-break-permission = ##f
1530 \override NonMusicalPaperColumn #'page-break-permission = ##f
1533 Cuando se sobreescribe el valor de @code{line-break-permission} a
1534 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1535 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1536 @code{page-break-permission} a falso, Lily inserta saltos de página en
1537 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1539 @lilypond[quote,verbatim]
1548 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1549 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1550 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1551 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1552 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1553 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1554 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1555 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1560 \override NonMusicalPaperColumn #'line-break-permission = ##f
1561 \override NonMusicalPaperColumn #'page-break-permission = ##f
1569 Fragmentos de código:
1573 @node Utilizar una voz adicional para los saltos de línea
1574 @subsection Utilizar una voz adicional para los saltos de línea
1575 @translationof Using an extra voice for breaks
1577 La información sobre saltos de línea y de página suele aparecer
1578 directamente entremezclado dentro del código de notas.
1583 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1585 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1590 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1591 @code{\pageBreak}, pero mezcla la escritura de música con información
1592 que especifica cómo se debe disponer la música sobre la página.
1593 Podemos mantener la introducción de música y la información de saltos
1594 de línea y de página en dos lugares separados mediante la introducción
1595 de una voz adicional que contenga los saltos. Esta voz adicional
1596 contiene solamente desplazamientos o @q{skips} junto con los
1597 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1598 disposición de los saltos.
1600 @lilypond[quote,verbatim]
1610 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1611 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1612 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1613 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1619 Este patrón resulta especialmente útil cuando se sobreescribe
1620 @code{line-break-system-details} y las otras útiles (pero largas)
1621 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1622 @ref{Espaciado vertical}.
1624 @lilypond[quote,verbatim]
1628 \overrideProperty "Score.NonMusicalPaperColumn"
1629 #'line-break-system-details #'((Y-offset . 0))
1632 \overrideProperty "Score.NonMusicalPaperColumn"
1633 #'line-break-system-details #'((Y-offset . 35))
1636 \overrideProperty "Score.NonMusicalPaperColumn"
1637 #'line-break-system-details #'((Y-offset . 70))
1640 \overrideProperty "Score.NonMusicalPaperColumn"
1641 #'line-break-system-details #'((Y-offset . 105))
1645 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1646 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1647 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1648 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1656 Referencia de la notación:
1657 @ref{Espaciado vertical}.
1659 Fragmentos de código:
1663 @node Espaciado vertical
1664 @section Espaciado vertical
1665 @translationof Vertical spacing
1667 @cindex espaciado vertical
1668 @cindex vertical, espaciado
1670 El espaciado vertical está controlado por tres factores: la cantidad
1671 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1672 la separación entre los sistemas, y la separación entre los
1673 pentagramas dentro de un sistema.
1676 * Espaciado vertical flexible dentro de los sistemas::
1677 * Posicionamiento explícito de los pentagramas y los sistemas::
1678 * Evitar las colisiones verticales::
1682 @node Espaciado vertical flexible dentro de los sistemas
1683 @subsection Espaciado vertical flexible dentro de los sistemas
1684 @translationof Flexible vertical spacing within systems
1686 @cindex distancia entre pentagramas
1687 @cindex pentagrama, distancia entre los
1688 @cindex espacio entre pentagramas
1689 @cindex espacio dentro de los sistemas
1691 Tres mecanismos distintos controlan el espaciado vertical flexible
1692 dentro de los sistemas, uno por cada una de las categorías siguientes:
1697 @emph{pautas sin agrupar},
1700 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1701 @code{ChoirStaff}, etc.), y
1704 @emph{líneas que no son pautas} (como @code{Lyrics},
1705 @code{ChordNames}, etc.).
1709 @c TODO: Clarify this. This almost implies that non-staff lines
1710 @c have NO effect on the spacing between staves. -mp
1712 La altura de cada sistema se determina en dos fases. Primero, todos
1713 los pentagramas se disponen según la cantidad de espacio vacío
1714 disponible. Después, las líneas que no son pautas se distribuyen
1717 Observe que los mecanismos de espaciado estudiados en esta sección
1718 solamente controlan el espaciado vertical de pas pautas y líneas que
1719 no son pautas dentro de los sistemas individuales. El espaciado
1720 vertical entre distintos sistemas, partituras, marcados y márgenes se
1721 controla mediante variables de @code{\paper} que se estudian en
1722 @ref{Flexible vertical spacing \paper variables}.
1725 * Propiedades de espaciado dentro de los sistemas::
1726 * Espaciado de pautas no agrupadas::
1727 * Espaciado de pautas agrupadas::
1731 @node Propiedades de espaciado dentro de los sistemas
1732 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1733 @translationof Within-system spacing properties
1735 Los mecanismos de espaciado vertical dentro del sistema están
1736 controlados por dos conjuntos de propiedades de grob. El primer
1737 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1738 crea por parte de todas las pautas y líneas que no son pautas. El
1739 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1740 puede crearse por parte de los grupos de pentagramas, pero solamente
1741 si se le llama explícitamente. Estas propiedades se describen
1742 individualmente al final de la presente sección.
1744 Los nombres de estas propiedades (excepto para @code{staff-affinity})
1745 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
1746 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
1747 elementos que se van a espaciar. Observe que @code{@var{elemento2}}
1748 no está necesariamente por debajo de @code{@var{elemento1}}; por
1749 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hadcia arriba a
1750 partir de la línea del tipo no-pauta si @code{staff-affinity} es
1753 Cada distancia se mide entre los @emph{puntos de referencia} de los
1754 dos elementos. El @emph{punto de referencia} para un pentagrama y
1755 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
1756 decir, la línea central si @code{line-count} es un número impar; el
1757 espacio central si @code{line-count} es par). Los puntos de
1758 referencia para las líneas individuales que no son pautas aparecen en
1761 @multitable {Línea que no es una pauta} {Punto de referencia}
1762 @headitem Línea que no es una pauta @tab Punto de referencia
1763 @item @code{ChordNames} @tab línea de base
1764 @item @code{NoteNames} @tab línea de base
1765 @item @code{Lyrics} @tab línea de base
1766 @item @code{Dynamics} @tab centro vertical
1767 @item @code{FiguredBass} @tab punto más alto
1768 @item @code{FretBoards} @tab línea superior
1771 En la siguiente imagen, las líneas horizontales indican las posiciones
1772 de estos puntos de referencia:
1774 @lilypond[quote,noragged-right,line-width=110\mm]
1775 #(define zero-space '((padding . -inf.0) (space . 0)))
1777 alignToZero = \with {
1778 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1779 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1781 lowerCaseChords = \with {
1782 chordNameLowercaseMinor = ##t
1784 staffAffinityDown = \with {
1785 \override VerticalAxisGroup #'staff-affinity = #DOWN
1788 #(define-music-function
1789 (parser location context)
1791 #{ s1*0^\markup { \typewriter $context } #})
1794 \context { \Dynamics \alignToZero }
1795 \context { \FiguredBass \alignToZero }
1796 \context { \Lyrics \alignToZero }
1797 \context { \NoteNames \alignToZero }
1798 \context { \ChordNames \alignToZero \lowerCaseChords }
1799 \context { \FretBoards \alignToZero \staffAffinityDown }
1801 \override BarLine #'stencil = ##f
1802 \override DynamicText #'self-alignment-X = #-1
1803 \override FretBoard #'X-offset = #1.75
1804 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1805 \override InstrumentName #'extra-offset = #'(0 . -0.5)
1806 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1807 \override TimeSignature #'stencil = ##f
1811 %% These contexts have reference points at the baseline:
1812 %% ChordNames, NoteNames, and Lyrics
1814 \new ChordNames { \chords { g1:m } }
1815 \new NoteNames { s1 | g1 | }
1816 \new RhythmicStaff {
1817 \set RhythmicStaff.instrumentName = #"baseline "
1819 \labelContext "ChordNames" s1 |
1820 \labelContext "NoteNames" s1 |
1821 \labelContext "Lyrics" s1 |
1823 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1826 %% The reference point for Dynamics is its vertical center
1828 \new RhythmicStaff {
1829 \set RhythmicStaff.instrumentName = #"vertical center "
1830 \labelContext "Dynamics" s1*3
1832 \new Dynamics { s2\mp s\fp }
1835 %% The reference point for FiguredBass is its highest point
1837 \new RhythmicStaff {
1838 \set RhythmicStaff.instrumentName = #"highest point "
1839 \labelContext "FiguredBass" s1
1841 \new FiguredBass { \figuremode { <6 5>1 } }
1844 %% The reference point for FretBoards is the top line
1845 \include "predefined-guitar-fretboards.ly"
1847 \new FretBoards { \chordmode { e1 } }
1848 \new RhythmicStaff {
1849 \set RhythmicStaff.instrumentName = #"top line "
1850 \labelContext "FretBoards " s1
1855 Cada una de las propiedades de grob del espaciado vertical (excepto
1856 @code{staff-affinity}) se almacena como una lista-A (lista
1857 asociativa), y todas usan la misma estructura de lista-A que las
1858 variables de espaciado del bloque @code{\paper} que se han estudiado
1859 en @ref{Flexible vertical spacing \paper variables}.
1860 En @ref{Modificación de las listas-A}
1861 se estudian métodos específicos para la modificación de
1862 las listas-A. Las propiedades de los grobs deben ajustarse con un
1863 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
1864 no dentro de un bloque @code{\paper}.
1866 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
1867 estas listas-A. La primera declaración ctualiza un par clave-valor de
1868 forma individual, y la segunda redefine la propiedad completamente:
1872 \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
1876 \override VerticalAxisGroup #'staff-staff-spacing =
1879 (minimum-distance . 9)
1880 (stretchability . 10))
1884 Para modificar globalmente cualquiera de los ajustes de espaciado,
1885 póngalos dentro del bloque @code{\layout}:
1891 \override VerticalAxisGroup #'staff-staff-spacing #'space = #10
1896 Los ajustes estándar para las propiedades de grob del espaciado
1897 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
1898 @rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
1899 los tipos específicos de líneas que no son pautas están relacionadas
1900 en las descripciones de contexto correspondientes en
1901 @rinternals{Contexts}.
1904 @subsubheading Propieades del grob @code{VerticalAxisGroup}
1906 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
1907 instrucción @code{\override} en el nivel de @code{Staff} (o
1911 @item staff-staff-spacing
1912 Distancia entre la pauta actual y la pauta que está justo por debajo
1913 de ella dentro del mismo sistema, incluso si hay más líneas que no son
1914 pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
1915 a la pauta inferior de un sistema. Esto susituye a cualquier ajuste
1916 heredado del grob @code{StaffGrouper} del grupo de pautas contenedor,
1917 si existe. Si no está fijado, y no hay ninguna propiedad de
1918 @code{StaffGrouper} que heredar, se usa la propiedad
1919 @code{default-staff-staff-spacing}.
1921 @item default-staff-staff-spacing
1922 Ajustes que utilizar para @code{staff-staff-spacing} cuando está sin
1923 establecer. Se aplica a las pautas no agrupadas y a las pautas
1924 agrupadas que no heredan los ajustes del grob @code{StaffGrouper}.
1926 @item staff-affinity
1927 Dirección de la pauta que utilizar para el espaciado de la línea
1928 actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
1929 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
1930 línea del tipo no-pauta se coloca equidistante entre las dos pautas
1931 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
1932 restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
1933 han de llevar valores de @code{staff-affinity} no crecientes desde la
1934 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
1935 establecida a @code{UP} no debería seguir inmediatamente a otra que
1936 esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
1937 parte superior de un sistema deben usar @code{DOWN}; las de la parte
1938 inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
1939 para una pauta hace que se le trate como una línea que no es una
1940 pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
1941 una línea que no es una pauta hace que se trate como una pauta.
1943 @c TODO: verify last clause below ("even if other...")
1945 @item nonstaff-relatedstaff-spacing
1946 Distancia entre la línea del tipo no-pauta actual y la pauta más
1947 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
1948 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
1949 @code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
1950 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
1951 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
1952 líneas del tipo no-pauta entre la pauta actual y una de las otras.
1954 @item nonstaff-nonstaff-spacing
1955 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
1956 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
1957 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
1958 es @code{UP} o @code{DOWN}.
1960 @item nonstaff-unrelatedstaff-spacing
1961 Distancia entre la línea actual del tipo no-pauta y la pauta en la
1962 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
1963 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
1964 @code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
1965 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
1966 pauta a la que no pertenece.
1970 @subsubheading Propiedades del grob @code{StaffGrouper}
1972 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
1973 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
1977 @item staff-staff-spacing
1978 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
1979 La propiedad @code{staff-staff-spacing} del grob
1980 @code{VerticalAxisGroup} de una pauta individual se usará en su lugar
1981 para cualquier pauta que esté dentro del grupo que tiene el valor
1982 fijado. Véase también @code{default-staff-staff-spacing}.
1984 @item staffgroup-staff-spacing
1985 Distancia entre la última pauta del grupo en curso y la pauta que está
1986 justo por debajo de ella dentro del mismo sistema, incluso si existen
1987 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
1988 las dos pautas. No se aplica al pentagrama o pauta inferior de un
1989 sistema. La propiedad @code{staff-staff-spacing} del grob
1990 @code{VerticalAxisGroup} de una pauta individual se usará en su lugar
1991 para cualquier pauta dentro del grupo que tenga el valor fijado.
1992 Véase también @code{default-staff-staff-spacing}.
1997 @file{ly/engraver-init.ly},
1998 @file{scm/define-grobs.scm}.
2000 Referencia de funcionamiento interno:
2001 @rinternals{Contexts},
2002 @rinternals{VerticalAxisGroup},
2003 @rinternals{StaffGrouper}.
2006 @node Espaciado de pautas no agrupadas
2007 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2008 @translationof Spacing of ungrouped staves
2010 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2011 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2012 etc. son contextos que pueden contener uno o más contextos de voz,
2013 pero no pueden contener otras pautas.
2015 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2019 @item Propiedades de @code{VerticalAxisGroup}:
2021 @item @code{staff-staff-spacing}
2025 Estas propiedades de grob se describen individualmente más arriba;
2026 véase @ref{Propiedades de espaciado dentro de un sistema}.
2028 Están implicadas ciertas propiedades adicionales para las pautas que
2029 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2031 El ejemplo siguiente muestra cómo la propiedad
2032 @code{staff-staff-spacing} puede afectar al espaciado de pautas no
2035 @lilypond[verbatim,quote,staffsize=16]
2039 \override VerticalAxisGroup #'staff-staff-spacing =
2042 (minimum-distance . 7))
2047 % The very low note here needs more room than 'space can
2048 % provide, so the distance between this staff and the next is
2049 % determined by 'padding.
2050 \new Staff { b,2 r | }
2052 % Here, 'space provides enough room, and there is no need to
2053 % compress the space (towards 'minimum-distance) to make room
2054 % for anything else on the page, so the distance between this
2055 % staff and the next is determined by 'space.
2056 \new Staff { \clef bass g2 r | }
2058 % By setting 'padding to a negative value, staves can be made to
2059 % collide. The lowest acceptable value for 'space is 0.
2061 \override VerticalAxisGroup #'staff-staff-spacing =
2064 } { \clef bass g2 r | }
2065 \new Staff { \clef bass g2 r | }
2071 @file{scm/define-grobs.scm}.
2073 Fragmentos de código:
2076 Referencia de funcionamiento interno:
2077 @rinternals{VerticalAxisGroup}.
2080 @node Espaciado de pautas agrupadas
2081 @unnumberedsubsubsec Espaciado de pautas agrupadas
2082 @translationof Spacing of grouped staves
2084 En partituras grandes como las orquestales, es común colocar los
2085 pentagramas en grupos. El espacio entre los grupos suele ser mayor
2086 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2088 Los grupos de pautas, @emph{Staff-groups} (tales como
2089 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2090 contener al mismo tiempo uno o más pentagramas o pautas.
2092 Las siguientes propiedades afectan al espaciado de las pautas dentro
2096 @item Propiedades de @code{VerticalAxisGroup}:
2098 @item @code{staff-staff-spacing}
2099 @item @code{default-staff-staff-spacing}
2101 @item Propiedades de @code{StaffGrouper}:
2103 @item @code{staff-staff-spacing}
2104 @item @code{staffgroup-staff-spacing}
2108 Estas propiedades de grob se describen individualmente más arriba;
2109 véase @ref{Propiedades de espaciado dentro de un sistema}.
2111 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2112 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2114 @lilypond[verbatim,quote,staffsize=16]
2118 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2119 \override StaffGrouper #'staff-staff-spacing #'space = #1
2124 \new PianoStaff \with {
2125 \override StaffGrouper #'staffgroup-staff-spacing #'space = #20
2140 @file{scm/define-grobs.scm}.
2145 Internals Reference:
2146 @rinternals{VerticalAxisGroup},
2147 @rinternals{StaffGrouper}.
2150 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2152 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2153 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2154 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2155 de los sistemas). Específicamente, las líneas que no son pautas son
2156 contextos del tipo no-pauta que crean el objeto de presentación
2157 @code{VerticalAxisGroup}.
2159 Las siguientes propiedades afectan al espaciado de las líneas que no
2163 @item Propiedades de @code{VerticalAxisGroup}:
2165 @item @code{staff-affinity}
2166 @item @code{nonstaff-relatedstaff-spacing}
2167 @item @code{nonstaff-nonstaff-spacing}
2168 @item @code{nonstaff-unrelatedstaff-spacing}
2172 Estas propiedades de grob se describen individualmente más arriba;
2173 véase @ref{Propiedades de espaciado dentro del sistema}.
2175 El ejemplo siguiente muestra cómo la propiedad
2176 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2177 consecutivas que no son pautas. Aquí, mediante el establecimiento de
2178 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2179 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2181 @lilypond[verbatim,quote,staffsize=16]
2185 \override VerticalAxisGroup
2186 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2193 \override VerticalAxisGroup #'staff-staff-spacing = #'((space . 30))
2196 \override VerticalAxisGroup #'staff-affinity = #UP
2199 \override VerticalAxisGroup #'staff-affinity = #CENTER
2200 } \lyricmode { center }
2202 \override VerticalAxisGroup #'staff-affinity = #DOWN
2203 } \lyricmode { down }
2211 @file{ly/engraver-init.ly},
2212 @file{scm/define-grobs.scm}.
2214 Fragmentos de código:
2217 @c @lsr{spacing,page-spacing.ly},
2218 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2220 Referencia de funcionamiento interno:
2221 @rinternals{Contexts},
2222 @rinternals{VerticalAxisGroup}.
2225 @node Posicionamiento explícito de los pentagramas y los sistemas
2226 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2227 @translationof Explicit staff and system positioning
2229 Una forma de comprender los ajustes de @code{VerticalAxisGroup} y de
2230 @code{\paper} que se han explicado en las dos secciones precedentes es
2231 como una colección de distintos ajustes que conciernen principalmente
2232 a la cantidad de relleno vertical entre distintos pentagramas y
2233 sistemas que ocupan toda la página.
2234 @c running down the page.
2236 Es posible enfrentarse al espaciado vertical de una forma distinta
2237 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2238 Cuando los ajustes de @code{VerticalAxisGroup} y de @code{\paper}
2239 especifican relleno vertical, @code{NonMusicalPaperColumn
2240 #'line-break-system-details} especifica posiciones verticales exactas
2243 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2244 lista asociativa de tres ajustes diferentes:
2247 @item @code{X-offset} (desplazamiento en X)
2248 @item @code{Y-offset} (desplazamiento en Y)
2249 @item @code{alignment-distances} (distancias de alineación)
2252 Las sobreescrituras de los objetos gráficos, entre ellas las de
2253 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2254 tres lugares distintos dentro de un archivo de entrada:
2257 @item directamente en medio de las notas
2258 @item en un bloque @code{\context}
2259 @item en el bloque @code{\with}
2262 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2263 instrucción @code{\override} usual en los bloques @code{\context} y en
2264 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2265 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2266 instrucción especial @code{\overrideProperty}. He aquí algunas
2267 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2268 instrucción especial @code{\overrideProperty}:
2271 \overrideProperty NonMusicalPaperColumn
2272 #'line-break-system-details #'((X-offset . 20))
2274 \overrideProperty NonMusicalPaperColumn
2275 #'line-break-system-details #'((Y-offset . 40))
2277 \overrideProperty NonMusicalPaperColumn
2278 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
2280 \overrideProperty NonMusicalPaperColumn
2281 #'line-break-system-details #'((alignment-distances . (15)))
2283 \overrideProperty NonMusicalPaperColumn
2284 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
2285 (alignment-distances . (15)))
2288 Para entender cómo funciona cada uno de los distintos ajustes,
2289 empezamos observando un ejemplo que no incluye absolutamente ninguna
2292 @c \book { } is required in these examples to ensure the spacing
2293 @c overrides can be seen between systems. -np
2296 \header { tagline = ##f }
2297 \paper { left-margin = 0\mm }
2307 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2310 \repeat unfold 15 { d'4 d' d' d' }
2317 Esta partitura mantiene aislada la información de los saltos de línea
2318 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2319 de saltos ayuda a mantener separada de la escritura de notas conforme
2320 el ejemplo se vuelve más complicado. Consulte
2321 @ref{Utilizar una voz adicional para los saltos de línea}.
2323 Los saltos explícitos dividen la música de forma regular en seis
2324 compases por línea. El espaciado vertical es el resultado de los
2325 ajustes predeterminados de LilyPond. Para establecer explícitamente
2326 el punto de origen vertical de cada sistema, podemos establecer el par
2327 @code{Y-offset} en el atributo @code{line-break-system-details} del
2328 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2331 \header { tagline = ##f }
2332 \paper { left-margin = 0\mm }
2338 \overrideProperty #"Score.NonMusicalPaperColumn"
2339 #'line-break-system-details #'((Y-offset . 0))
2341 \overrideProperty #"Score.NonMusicalPaperColumn"
2342 #'line-break-system-details #'((Y-offset . 40))
2344 \overrideProperty #"Score.NonMusicalPaperColumn"
2345 #'line-break-system-details #'((Y-offset . 80))
2348 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2351 \repeat unfold 15 { d'4 d' d' d' }
2358 Observe que @code{line-break-system-details} toma una lista asociativa
2359 de una cantidad de valores potencialmente elevada, pero aquí sólo
2360 fijamos un valor. Observe también que aquí la propiedad
2361 @code{Y-offset} determina la posición vertical exacta sobre la página
2362 en la que se trazará cada uno de los nuevos sistemas.
2364 Ahora que hemos establecido explícitamente el punto de origen vertical
2365 de cada sistema, podemos también establecer manualmente las distancias
2366 verticales entre los pentagramas dentro de cada sistema. Lo hacemos
2367 usando la subpropiedad @code{alignment-distances} de
2368 @code{line-break-system-details}.
2371 \header { tagline = ##f }
2372 \paper { left-margin = 0\mm }
2378 \overrideProperty #"Score.NonMusicalPaperColumn"
2379 #'line-break-system-details #'((Y-offset . 20)
2380 (alignment-distances . (15)))
2382 \overrideProperty #"Score.NonMusicalPaperColumn"
2383 #'line-break-system-details #'((Y-offset . 60)
2384 (alignment-distances . (15)))
2386 \overrideProperty #"Score.NonMusicalPaperColumn"
2387 #'line-break-system-details #'((Y-offset . 100)
2388 (alignment-distances . (15)))
2391 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2394 \repeat unfold 15 { d'4 d' d' d' }
2401 Observe que aquí asignamos dos valores distintos al atributo
2402 @code{line-break-system-details} del grob
2403 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2404 @code{line-break-system-details} acepta muchos parámetros de espaciado
2405 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2406 correspondiente), sólo tenemos que establecer el desplazamiento
2407 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2408 el punto de origen vertical de cada sistema y pentagrama. Finalmente,
2409 observe que @code{alignment-distances} especifica el posicionamiento
2410 vertical de los pentagramas pero no de los grupos de pentagramas.
2413 \header { tagline = ##f }
2414 \paper { left-margin = 0\mm }
2420 \overrideProperty #"Score.NonMusicalPaperColumn"
2421 #'line-break-system-details #'((Y-offset . 0)
2422 (alignment-distances . (30 10)))
2424 \overrideProperty #"Score.NonMusicalPaperColumn"
2425 #'line-break-system-details #'((Y-offset . 60)
2426 (alignment-distances . (10 10)))
2428 \overrideProperty #"Score.NonMusicalPaperColumn"
2429 #'line-break-system-details #'((Y-offset . 100)
2430 (alignment-distances . (10 30)))
2433 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2436 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2437 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2444 Algunos puntos que tener en cuenta:
2447 @item Al usar @code{alignment-distances}, la letra
2448 y otras líneas que no son pautas, no cuentan como un pentagrama.
2450 @item Las unidades de los números que se pasan a @code{X-offset},
2451 @code{Y-offset} y @code{alignment-distances} se interpretan como
2452 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2453 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2454 los valores negativos mueven los pentagramas y la letra hacia abajo.
2456 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2457 #'line-break-system-details} dados aquí permiten el posicionamiento de
2458 pentagramas y sistemas en cualquier lugar de la página, es posible
2459 violar los márgenes o los límites del papel, o incluso imprimir
2460 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2461 a los diferentes ajustes unos valores razonables.
2466 Fragmentos de código:
2470 @node Evitar las colisiones verticales
2471 @subsection Evitar las colisiones verticales
2472 @translationof Vertical collision avoidance
2474 @funindex outside-staff-priority
2475 @funindex outside-staff-padding
2476 @funindex outside-staff-horizontal-padding
2478 Podemos decir intuitivamente que algunos objetos de la notación
2479 musical pertenecen al pentagrama y otros se sitúan fuera del
2480 pentagrama. Entre los objetos que pertenecen al exterior del
2481 pentagrama están las marcas de ensayo, las marcas textuales y las
2482 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2483 del pentagrama). La regla de LilyPond para la colocación vertical de
2484 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2485 como sea posible pero no tan próximos como para que choquen con otro
2488 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2489 determinar si un grob es un objeto fuera del pentagrama: si
2490 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2491 del pentagrama. Además, @code{outside-staff-priority} informa a
2492 LilyPond en qué orden se debe situar los objetos.
2494 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2495 exterior del pentagrama. Después ordena los objetos fuera del
2496 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2497 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2498 a uno y los coloca de forma que no choquen con ningún objeto que ya
2499 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2500 compiten por el mismo espacio, el que tiene la prioridad
2501 @code{outside-staff-priority} más baja se colocará más próximo al
2504 @lilypond[quote,ragged-right,relative=2,verbatim]
2507 \once \override TextScript #'outside-staff-priority = #1
2508 c4_"Text"\pp % this time the text will be closer to the staff
2510 % by setting outside-staff-priority to a non-number,
2511 % we disable the automatic collision avoidance
2512 \once \override TextScript #'outside-staff-priority = ##f
2513 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2514 c4_"Text"\pp % now they will collide
2517 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2518 posicionados previamente se puede controlar con
2519 @code{outside-staff-padding}.
2521 @lilypond[quote,ragged-right,relative=2,verbatim]
2522 \once \override TextScript #'outside-staff-padding = #0
2523 a'^"This text is placed very close to the note"
2524 \once \override TextScript #'outside-staff-padding = #3
2525 c^"This text is padded away from the previous text"
2526 c^"This text is placed close to the previous text"
2529 De forma predeterminada, los objetos fuera del pentagrama se colocan
2530 sólo para evitar una colisión horizontal con los grobs posicionados
2531 previamente. Esto puede llevar a situaciones en las que los objetos
2532 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2533 vertical entre pentagramas se puede fijar también de manera que los
2534 objetos fuera del pentagrama se sitúen de forma intercalada. El
2535 establecimiento del relleno horizontal
2536 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2537 desplace verticalmente para que tal situación no ocurra.
2539 @lilypond[quote,ragged-right,relative=2,verbatim]
2540 % the markup is too close to the following note
2544 % setting outside-staff-horizontal-padding fixes this
2546 \once \override TextScript #'outside-staff-horizontal-padding = #1
2554 Fragmentos de código:
2558 @node Espaciado horizontal
2559 @section Espaciado horizontal
2560 @translationof Horizontal spacing
2562 @cindex horizontal, espaciado
2563 @cindex espaciado horizontal
2566 * Panorámica del espaciado horizontal::
2567 * Área de espaciado nueva::
2568 * Cambiar el espaciado horizontal::
2569 * Longitud de la línea::
2570 * Notación proporcional::
2574 @node Panorámica del espaciado horizontal
2575 @subsection Panorámica del espaciado horizontal
2576 @translationof Horizontal spacing overview
2578 El motor de espaciado traduce las diferencias en las duraciones a
2579 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2580 duraciones más largas reciben un espacio mayor y las duraciones más
2581 cortas reciben menos. Las duraciones más breves reciben un espacio de
2582 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2583 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2584 duración, más espacio recibe: al doblar una duración se añade un
2585 espacio de tamaño fijo (este tamaño se controla mediante
2586 @code{spacing-increment}) a la nota.
2588 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2589 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2590 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2592 @lilypond[quote,verbatim,relative=1]
2593 c2 c4. c8 c4. c8 c4. c8 c8
2597 Normalmente, el valor de @code{spacing-increment} está establecido en
2598 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2599 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2600 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2601 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2602 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2603 símbolo, de manera que las notas más breves van seguidas generalmente
2604 por un espacio de 1 ACB.
2606 Si siguiésemos el procedimiento anterior exactamente, entonces la
2607 adición de una sola fusa a una partitura que usa corcheas y
2608 semicorcheas, aumentaría enormemente la anchura de la partitura
2609 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2610 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2611 duración más breve a efectos de espaciado no es la nota más breve de
2612 la partitura, sino la que ocurre con más frecuencia.
2614 La duración más breve que es más común se determina de la siguiente
2615 manera: en cada compás se determina la duración más breve. La menor
2616 duración más común se toma como base para el espaciado, habiendo
2617 estipulado que esta duración menor siempre debe ser igual o menor que
2618 una corchea. La duración más breve se imprime cuando se ejecuta
2619 @code{lilypond} con la opción @code{--verbose}.
2621 Estas duraciones también se pueden personalizar. Si establecemos la
2622 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2623 entonces éste establece la duración base para el espaciado. La
2624 duración máxima para esta base (normalmente una corchea), se fija a
2625 través de @code{base-shortest-duration}.
2627 @funindex common-shortest-duration
2628 @funindex base-shortest-duration
2629 @funindex stem-spacing-correction
2632 Las notas que son aún más breves que la nota común más breve van
2633 seguidas por un espacio proporcional a su duración en relación con la
2634 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2635 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2637 @lilypond[quote,verbatim,relative=2]
2638 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2642 En el @emph{Ensayo sobre grabado musical automatizado},
2644 direcciones de las plicas influyen en el espaciado
2645 (véase @ressay{Espaciado óptico}). Esto se controla
2646 con la propiedad @code{stem-spacing-correction} en el objeto
2647 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2648 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2649 (generado en el contexto de @rinternals{Staff}) contiene la misma
2650 propiedad para controlar el espaciado de las líneas de plica o
2651 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2652 con los valores predeterminados y otra con correcciones exageradas:
2654 @lilypond[quote,ragged-right]
2658 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2659 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2665 Está contemplada la notación proporcional; consulte
2666 @ref{Notación proporcional}.
2670 Fragmentos de código:
2673 Referencia de funcionamiento interno:
2674 @rinternals{SpacingSpanner},
2675 @rinternals{NoteSpacing},
2676 @rinternals{StaffSpacing},
2677 @rinternals{NonMusicalPaperColumn}.
2682 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2683 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2684 adicional en una partitura, ajustando el valor del relleno en la
2688 \override Score.NonMusicalPaperColumn #'padding = #10
2691 No existe ningún rodeo para disminuir la magnitud de la separación.
2694 @node Área de espaciado nueva
2695 @subsection Área de espaciado nueva
2696 @translationof New spacing area
2698 Se pueden iniciar secciones nuevas con diferentes parámetros de
2699 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2700 secciones que tienen distinta noción de las notas largas y cortas.
2702 En el ejemplo siguiente, el cambio de compás introduce una sección
2703 nueva, y por ello las semicorcheas se separan de manera más amplia.
2705 @lilypond[relative=1,verbatim,quote]
2708 c8 c c4 c16[ c c8] c4
2714 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2715 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2716 instrucciones de sobreescritura @code{\override} en dicho punto.
2720 Fragmentos de código:
2723 Referencia de funcionamiento interno:
2724 @rinternals{SpacingSpanner}.
2727 @node Cambiar el espaciado horizontal
2728 @subsection Cambiar el espaciado horizontal
2729 @translationof Changing horizontal spacing
2731 Se puede alterar el espaciado horizontal con la propiedad
2732 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2733 vez sin alterar la propiedad, y luego alterándola. Los valores
2734 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2735 que @code{ly:make-moment} construye una duración, por lo que @code{1
2736 4} es una duración mayor que @code{1 16}.
2738 @lilypond[verbatim,line-width=12\cm]
2741 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2742 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2743 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2744 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2749 @lilypond[verbatim,line-width=12\cm]
2752 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2753 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2754 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2755 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2760 \override SpacingSpanner
2761 #'base-shortest-duration = #(ly:make-moment 1 16)
2770 De forma predeterminada, el espaciado en los grupos de valoración
2771 especial depende de varios factores ajenos a la duración (como
2772 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2773 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2774 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2775 puede cambiarse al principio de la partitura:
2777 @lilypond[quote,ragged-right,verbatim]
2796 \override SpacingSpanner #'uniform-stretching = ##t
2802 Cuando se establece @code{strict-note-spacing}, las notas se separan
2803 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2805 @lilypond[quote,ragged-right,relative=2,verbatim]
2806 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2807 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2812 Fragmentos de código:
2816 @node Longitud de la línea
2817 @subsection Longitud de la línea
2818 @translationof Line length
2820 @cindex saltos de página
2821 @cindex página, saltos de
2824 @funindex line-width
2825 @funindex ragged-right
2826 @funindex ragged-last
2828 @c Although line-width can be set in \layout, it should be set in paper
2829 @c block, to get page layout right.
2830 @c Setting indent in \paper block makes not much sense, but it works.
2832 @c Bit verbose and vague, use examples?
2833 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2834 y @code{line-width}. Se definen en el bloque @code{\layout}.
2835 Controlan el sangrado de la primera línea de música y la longitud de
2838 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2839 @code{\layout}, entonces los sistemas terminan en su longitud
2840 horizontal natural, en lugar de repartirse horizontalmente hasta
2841 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2842 comprobar qué tan apretado es el espaciado natural.
2843 El valor normal predeterminado es falso, pero si la partitura
2844 tiene un solo sistema, el valor predeterminado es verdadero.
2847 @cindex diseño de página
2848 @cindex página, disposición de la
2849 @cindex vertical, espaciado
2851 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2852 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2853 restricción sobre dicha línea. El resultado es similar al formateo de
2854 los párrafos de texto. En un párrafo, la última línea sencillamente
2855 ocupa su longitud horizontal natural.
2856 @c Note that for text there are several options for the last line.
2857 @c While Knuth TeX uses natural length, lead typesetters use the same
2858 @c stretch as the previous line. eTeX uses \lastlinefit to
2859 @c interpolate between both these solutions.
2871 Fragmentos de código:
2875 @node Notación proporcional
2876 @subsection Notación proporcional
2877 @translationof Proportional notation
2879 LilyPond contempla la notación proporcional, un tipo de espaciado
2880 horizontal en el que cada nota consume una medida horizontal que
2881 equivale exactamente a su duración rítmica. Este tipo de espaciado
2882 proporcional es comparable al espaciado horizontal hecho sobre un
2883 papel milimetrado. Ciertas partituras del finales del s.XX y
2884 principios del s.XXI utilizan notación proporcional para clarificar
2885 relaciones rítmicas complejas o para facilitar la colocación de líneas
2886 cronométricas u otros gráficos directamente en la partitura.
2888 LilyPond contempla cinco ajustes distintos para la notación
2889 proporcional, que se pueden usar solos o combinados:
2892 @item @code{proportionalNotationDuration}
2893 @item @code{uniform-stretching}
2894 @item @code{strict-note-spacing}
2895 @item @code{\remove Separating_line_group_engraver}
2896 @item @code{\override PaperColumn #'used = ##t}
2899 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
2900 de la notación proporcional y examinamos la forma en que interactúan.
2902 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
2903 espaciado clásico sin justificación por la derecha.
2905 @lilypond[quote,verbatim,ragged-right]
2908 \new RhythmicStaff {
2912 c'16 c'16 c'16 c'16 c'16
2919 Observe que la blanca que inicia el compás ocupa mucho menos de la
2920 mitad de todo el espacio horizontal del compás. De forma similar, las
2921 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
2922 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
2925 En el grabado clásico, este espaciado puede ser exactamente el que
2926 deseamos porque podemos tomar prestado el espacio horizontal de la
2927 blanca y conservar el espacio horizontal a lo largo del compás como un
2930 Por otro lado, si queremos insertar una línea de tiempo graduada o
2931 algún otro gráfico encima o debajo de la partitura, necesitamos la
2932 notación proporcional. Se activa la notación proporcional con el
2933 ajuste @code{proportionalNotationDuration}.
2935 @lilypond[quote,verbatim,ragged-right]
2938 \new RhythmicStaff {
2942 c'16 c'16 c'16 c'16 c'16
2949 proportionalNotationDuration = #(ly:make-moment 1 20)
2955 La blanca al principio del compás y las notas rápidas de la segunda
2956 mitad del compás ocupan ahora cantidades iguales de espacio
2957 horizontal. Podríamos colocar una línea de tiempo graduada o un
2958 gráfico encima o debajo de este ejemplo.
2960 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
2961 que reside en @code{Score}. Recordemos que los ajustes de contexto
2962 aparecen en uno de tres posibles lugares del archivo de entrada: en un
2963 bloque @code{\with}, en un bloque @code{\context}, o directamente
2964 entre la música precedido por la instrucción @code{\set}. Como con
2965 todos los ajustes de contexto, el usuario puede elegir en cuál de los
2966 tres lugares diferentes prefiere establecer el valor de
2967 @code{proportionalNotationDuration}.
2969 El ajuste @code{proportionalNotationDuration} acepta un solo
2970 argumento, que es la duración de referencia contra el que se aplica el
2971 espaciado de toda la música. La función Scheme de LilyPond
2972 @code{make-moment} acepta dos argumentos: un numerador y un
2973 denominador que, juntos, expresan una cierta fracción de redonda. La
2974 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
2975 de referencia de una nota de un veinteavo de redonda (semicorcheas de
2976 cinquillo). Son también posibles valores como
2977 @code{#(ly:make-moment 1 16)},
2978 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)}.
2980 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
2981 @code{proportionalNotationDuration}? Normalmente mediante un proceso
2982 de ensayo y error, comenzando con una duración cercana a la más rápida
2983 (o más breve) duración de la pieza. Las duraciones de referencia más
2984 pequeñas aplican un espaciado más suelto; las duraciones de referencia
2985 más largas aplican un espaciado más apretado.
2987 @lilypond[quote,verbatim,ragged-right]
2990 \new RhythmicStaff {
2994 c'16 c'16 c'16 c'16 c'16
3001 proportionalNotationDuration = #(ly:make-moment 1 8)
3008 \new RhythmicStaff {
3012 c'16 c'16 c'16 c'16 c'16
3019 proportionalNotationDuration = #(ly:make-moment 1 16)
3026 \new RhythmicStaff {
3030 c'16 c'16 c'16 c'16 c'16
3037 proportionalNotationDuration = #(ly:make-moment 1 32)
3043 Observe que una duración de referencia demasiado grande (como la
3044 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3045 apretado y puede ser causa de colisiones entre las cabezas de nota.
3046 Observe también que la notación proporcional en general ocupa más
3047 espacio horizontal que el espaciado clásico. El espaciado
3048 proporcional aporta claridad rítmica a expensas del espacio
3051 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3052 especial que se superponen.
3054 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3055 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3056 diferente de grupo especial.
3058 @lilypond[quote,verbatim,ragged-right]
3061 \new RhythmicStaff {
3065 c'16 c'16 c'16 c'16 c'16
3068 \new RhythmicStaff {
3070 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3077 El espaciado es defectuoso porque las notas regularmente espaciadas
3078 del pentagrama inferior no se amplían de manera uniforme. Los grabados
3079 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3080 grabado clásico pueden generar este tipo de resultado. El
3081 establecimiento de @code{proportionalNotationDuration} lo
3084 @lilypond[quote,verbatim,ragged-right]
3087 \new RhythmicStaff {
3091 c'16 c'16 c'16 c'16 c'16
3094 \new RhythmicStaff {
3096 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3103 proportionalNotationDuration = #(ly:make-moment 1 20)
3110 Pero si observamos con mucho cuidado podremos ver que las notas de la
3111 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3112 ancha que las de la primera mitad del 9-illo. Para asegurar una
3113 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3114 propiedad de @code{SpacingSpanner}.
3116 @lilypond[quote,verbatim,ragged-right]
3119 \new RhythmicStaff {
3123 c'16 c'16 c'16 c'16 c'16
3126 \new RhythmicStaff {
3128 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3135 proportionalNotationDuration = #(ly:make-moment 1 20)
3136 \override SpacingSpanner #'uniform-stretching = ##t
3142 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3143 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3144 una línea de tiempo graduada o un gráfico, si queremos.
3146 Observe que el paquete de notación proporcional de LilyPond espera que
3147 todas las partituras proporcionales establezcan el atributo
3148 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
3149 establecimiento de @code{proportionalNotationDuration} sin ajustar
3150 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3151 al valor ##t causará, por ejemplo, que los desplazamientos
3152 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3154 El @code{SpacingSpanner} es un grob abstracto que reside en el
3155 contexto de @code{Score}. Como con nuestros ajustes de
3156 @code{proportionalNotationDuration}, las sobreescrituras al
3157 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3158 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3159 @code{\context} o directamente dentro de la escritura de notas.
3161 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3162 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
3163 está activado para la partitura completa o desactivado para la
3164 partitura completa. Sin embargo, podemos sobreescribir este
3165 comportamiento y activar distintas posibilidades de espaciado en
3166 distintos lugares de la partitura. Lo hacemos con la instrucción
3167 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
3168 para más información.
3170 A continuación examinamos los efectos del grabador
3171 @code{Separating_line_group_engraver} y veremos por qué las partituras
3172 proporcionales con frecuencia eliminan este grabador. El ejemplo
3173 siguiente muestra que hay una pequeña cantidad de espacio
3174 @qq{preparatorio} justo antes de la primera nota de cada sistema.
3176 @lilypond[quote,verbatim,ragged-right]
3189 Esta cantidad de espacio preparatorio es la misma ya sea después de
3190 una indicación de compás, una armadura o una clave. El grabador
3191 @code{Separating_line_group_engraver} es responsable de este espacio.
3192 La eliminación de @code{Separating_line_group_engraver} reduce este
3195 @lilypond[quote,verbatim,ragged-right]
3201 \remove Separating_line_group_engraver
3209 Los elementos no musicales como la indicación de compás, la armadura,
3210 la clave y las alteraciones son problemáticos en notación
3211 proporcional. Ninguno de estos elementos tiene duración rítmica.
3212 Pero todos ellos consumen espacio horizontal. Las distintas
3213 partituras proporcionales abordan este problema de distinta manera.
3215 Sería posible evitar los problemas de espaciado con las armaduras,
3216 simplemente evitando tenerlas. Esta es una opción válida pues casi
3217 todas las partituras proporcionales son música contemporánea. Lo
3218 mismo puede valer para las indicaciones de compás, especialmente para
3219 las partituras que incluyen una línea de tiempo graduada u otro
3220 gráfico. Pero estas partituras son excepcionales y casi todas las
3221 partituras proporcionales incluyen al menos unas pocas indicaciones de
3222 compás. Las claves y las alteraciones son aún más esenciales.
3224 Así pues ¿qué estrategias existen para el espaciado de los elementos
3225 no musicales en un contexto proporcional? Una buena opción es la
3226 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3227 Compare las dos partituras siguientes:
3229 @lilypond[quote,verbatim,ragged-right]
3231 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3241 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3242 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3252 Las dos partituras son proporcionales, pero el espaciado de la
3253 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3254 espaciado de la segunda partitura se mantiene estricto, porque
3255 @code{strict-note-spacing} está activado. La activación de
3256 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3257 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3258 el algoritmo de espaciado.
3260 Además de los ajustes dados aquí, hay otros que aparecen con
3261 frecuencia en las partituras proporcionales. Entre ellos están:
3264 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3265 @item @code{tupletFullLength = ##t}
3266 @item @code{\override Beam #'breakable = ##t}
3267 @item @code{\override Glissando #'breakable = ##t}
3268 @item @code{\override TextSpanner #'breakable = ##t}
3269 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3272 Estos ajustes dan a las notas de adorno un espaciado estricto,
3273 extienden los corchetes de grupo especial para que marquen tanto los
3274 puntos de comienzo como de final, y permiten que los elementos de
3275 extensión se dividan entre los sistemas y las páginas. Consulte las
3276 partes respectivas del manual para ver estos ajustes relacionados.
3280 Referencia de la notación:
3281 @ref{Área de espaciado nueva}.
3283 Fragmentos de código:
3287 @node Encajar la música en menos páginas
3288 @section Encajar la música en menos páginas
3289 @translationof Fitting music onto fewer pages
3291 En ocasiones, podemos terminar con uno o dos pentagramas en una
3292 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
3293 cuando vemos que las páginas anteriores parecen tener espacio de
3296 Al investigar los problemas de disposición, una herramienta de valor
3297 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3298 valores de un cierto número de variables de espaciado; para ver más
3299 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3302 * Mostrar el espaciado::
3303 * Cambiar el espaciado::
3307 @node Mostrar el espaciado
3308 @subsection Mostrar el espaciado
3309 @translationof Displaying spacing
3311 @cindex espaciado, presentación del
3312 @funindex annotate-spacing
3314 Para presentar gráficamente las dimensiones de las variables de
3315 disposición vertical que pueden verse alteradas por el formato de la
3316 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3318 @c need to have \book{} otherwise we get the separate systems. -hwn
3319 @lilypond[verbatim,quote]
3320 #(set-default-paper-size "a6" 'landscape)
3323 \paper { annotate-spacing = ##t }
3329 Todas las dimensiones de disposición se muestran en espacios de
3330 pentagrama, independientemente de las unidades especificadas en los
3331 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3332 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3333 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3334 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3336 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3339 @tab = (25.4/72.27) mm
3342 @tab = (@code{staff-size})/4 pts
3344 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3349 En este caso, un @code{staff-space} equivale aproximadamente a
3350 1.757mm. Así, la medida @code{paper-height} de 59.75
3351 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3352 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3353 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3354 superior del intervalo.
3358 Referencia de la notación:
3359 @ref{Establecer el tamaño del pentagrama}.
3361 Fragmentos de código:
3365 @node Cambiar el espaciado
3366 @subsection Cambiar el espaciado
3367 @translationof Changing spacing
3369 La salida de @code{annotate-spacing} revela las dimensiones verticales
3370 con gran detalle. Para ver más detalles acerca de la modificación de
3371 los márgenes y otras variables de diseño de la página, consulte
3372 @ref{Disposición de la página}.
3374 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3378 Forzar los sistemas para que se junten lo más posible entre sí (de
3379 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3380 tiempo estén espaciados de forma que no exista un espacio vacío en la
3381 parte baja del papel.
3385 system-system-spacing = #'((padding . 0) (space . 0.1))
3386 ragged-last-bottom = ##f
3392 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3393 Si tan sólo se establece un valor, incluso el mismo valor que el
3394 número de sistemas que se están trazando de forma predeterminada, ello
3395 ocasionará a veces que se traten de introducir más sistemas en cada
3396 página, pues en este caso se omite un paso en que se produce una
3397 estimación, dando así un encaje mejor en cada página. Asimismo, el
3398 forzar una reducción neta en el número de sistemas puede producir el
3399 ahorro de una página adicional. Por ejemplo, si la disposición
3400 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3401 disposición con 10 sistemas.
3410 Evitar (o reducir en número) los objetos que aumentan el tamaño
3411 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3412 segunda vez (o repeticiones con finales alternativos) necesitan
3413 espacio adicional. Si estas repeticiones se reparten a lo largo de
3414 dos sistemas, ocupan más espacio que un sistema con las casillas de
3415 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3416 dinámicas que se @q{salen} de un sistema se pueden acercar al
3419 @lilypond[verbatim,quote,relative=1]
3421 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3425 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3426 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3427 El ejemplo siguiente ilustra el espaciado predeterminado:
3429 @lilypond[verbatim,quote]
3442 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3443 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3444 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3445 duración se produce un efecto de @q{apretujamiento}:
3447 @lilypond[verbatim,quote]
3459 \override SpacingSpanner
3460 #'common-shortest-duration = #(ly:make-moment 1 2)
3467 La propiedad @code{common-shortest-duration} no se puede modificar de
3468 manera dinámica, por lo que se debe situar siempre dentro de un
3469 bloque @code{\context} de forma que se aplique a la partitura
3476 Referencia de la notación:
3477 @ref{Disposición de la página},
3478 @ref{Cambiar el espaciado horizontal}.
3480 Fragmentos de código: