1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
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{Disposició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 * Otras variables de \paper::
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{Cabeceras 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 están disponibles son @code{\mm},
129 @code{\cm}, @code{\in} y @code{\pt}. Estas unidades son valores
130 simples para convertir a partir de milímetros; están definidos en
131 @file{ly/paper-defaults-init.ly}. Por claridad, al usar milímetros,
132 se suele escribir el sufijo @code{\mm} aunque no es necesario
135 También es posible definir valores de @code{\paper} utilizando Scheme.
136 El equivalente de Scheme del ejemplo anterior es:
140 #(define top-margin (* 0.5 in))
145 Referencia de la notación:
146 @ref{Tamaño del papel y escalado automático},
147 @ref{Cabeceras pies y títulos personalizados},
148 @ref{El bloque \layout}.
151 @file{ly/paper-defaults-init.ly}.
154 @node Tamaño del papel y escalado automático
155 @subsection Tamaño del papel y escalado automático
156 @translationof Paper size and automatic scaling
158 @cindex tamaño del papel
159 @cindex tamaño de la página
164 * Fijar el tamaño del papel::
165 * Escalado automático al tamaño del papel::
169 @node Fijar el tamaño del papel
170 @unnumberedsubsubsec Fijar el tamaño del papel
171 @translationof Setting paper size
173 Existen dos funciones para cambiar el tamaño del papel:
174 @code{set-default-paper-size} (establecer tamaño de página
175 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
176 @code{set-default-paper-size} se debe poner en el ámbito del nivel
177 superior, y @code{set-paper-size} se debe poner en un bloque
181 #(set-default-paper-size "a4")
186 #(set-paper-size "a4")
191 Dentro del ámbito del nivel jerárquico superior, se puede llamar sin
192 riesgo a la función @code{set-default-paper-size} desde cualquier
193 lugar antes del primer bloque @code{\paper} block. Dentro de un
194 bloque @code{\paper}, el lugar más seguro para llamar a
195 @code{set-paper-size} es al principio, por encima de la lista de
196 declaraciones de variables. Se explican las razones de esto en
197 @ref{Escalado automático al tamaño del papel}.
199 @code{set-default-paper-size} establece el tamaño de todas las
200 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
201 de las páginas a las que se aplica el bloque @code{\paper}. Por
202 ejemplo, si el bloque @code{\paper} está al principio del archivo,
203 aplica el tamaño de papel a todas las páginas. Si el bloque
204 @code{\paper} está dentro de un bloque @code{\book}, entonces el
205 tamaño del papel sólo se aplica a ese libro.
207 Se encuentran disponibles los tamaños de papel más comunes, entre
208 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
209 también como tabloide). Están contemplados muchos más tamaños de papel
210 de forma predeterminada. Para ver más detalles, consulte
211 @file{scm/paper.scm} y busque la definición de @code{paper-alist}.
213 @c TODO add a new appendix for paper sizes (auto-generated) -pm
215 @warning{El tamaño predeterminado del papel es @code{a4}.}
217 Se pueden añadir tamaños adicionales editando la definición de
218 @code{paper-alist} en el archivo de inicio @file{scm/paper.scm},
219 aunque se sobreescribirán en la siguiente reinstalación del programa.
223 @cindex horizontal, papel
225 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
226 @code{set-default-paper-size}, las páginas se giran 90 grados y se
227 establece en consonancia una mayor longitud de las líneas.
230 #(set-default-paper-size "a6" 'landscape)
234 Referencia de la notación:
235 @ref{Escalado automático al tamaño del papel}.
238 @file{scm/paper.scm}.
241 @node Escalado automático al tamaño del papel
242 @unnumberedsubsubsec Escalado automático al tamaño del papel
243 @translationof Automatic scaling to paper size
245 Si se cambia el tamaño del papel con una de las funciones de Scheme
246 (@code{set-default-paper-size} o @code{set-paper-size}), los valores
247 de algunas variables de @code{\paper} se escalan automáticamente al
248 nuevo tamaño. Para sortear el escalado automático para una variable
249 determinada, fije el valor de la variable después de establecer el
250 tamaño del papel. Observe que el escalado automático no se activa
251 mediante el ajuste de las variables
252 @code{paper-height} o de @code{paper-width},
253 incluso aunque @code{paper-width} puede influir sobre otros valores
254 (esto es distinto al escalado y se estudia más abajo). Las funciones
255 @code{set-default-paper-size} y @code{set-paper-size} se describen en
256 @ref{Fijar el tamaño del papel}.
258 Las dimensiones verticales afectadas por el escalado automático son
259 @code{top-margin} y @code{bottom-margin}
260 (véase @ref{Variables de espaciado de \paper verticales fijas}).
262 horizontales afectadas por el escalado automático son
263 @code{left-margin}, @code{right-margin}, @code{inner-margin},
264 @code{outer-margin}, @code{binding-offset}, @code{indent} y
265 @code{short-indent} (véase
266 @ref{Variables de espaciado de \paper horizontales}).
268 Los valores predeterminados para estas dimensiones están fijados en el
269 archivo @file{ly/paper-defaults-init.ly}, usando variables internas
270 llamadas @code{top-margin-default}, @code{bottom-margin-default}, etc.
271 Estos son los valores que resultan del tamaño predeterminado del papel
272 @code{a4}. Como referencia, con el papel @code{a4} la altura
273 @code{paper-height} es @code{297\mm} y la anchura @code{paper-width}
277 Referencia de la notación:
278 @ref{Variables de espaciado de \paper verticales fijas},
279 @ref{Variables de espaciado de \paper horizontales}.
282 @file{ly/paper-defaults-init.ly},
283 @file{scm/paper.scm}.
286 @node Variables de espaciado de \paper verticales fijas
287 @subsection Variables de espaciado de @code{\paper} verticales fijas
288 @translationof Fixed vertical spacing \paper variables
290 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
291 automáticamente al tamaño del papel, lo que puede llevar a un
292 comportamiento no esperado. Véase @ref{Escalado automático al tamaño
295 Los valores predeterminados (previos al escalado) están definidos en
296 el archivo @file{ly/paper-defaults-init.ly}.
299 @item paper-height (altura del papel)
300 @funindex paper-height
302 Altura de la página, no fijada de forma predeterminada. Observe que
303 el escalado automático de algunas dimensiones verticales no resulta
306 @item top-margin (margen superior)
309 Margen entre el extremo superior de la página y la parte superior de
310 la zona imprimible. Si se modifica el tamaño del papel, el valor
311 predeterminado de esta dimensión se escala de acuerdo con ello.
313 @item bottom-margin (margen inferior)
314 @funindex bottom-margin
316 Margen entre la parte inferior de la zona imprimible y el extremo
317 inferior de la página. Si se modifica el tamaño del papel, se escala
318 de acuerdo con ello el valor predeterminado de esta dimensión.
320 @item ragged-bottom (sin justificar por abajo)
321 @funindex ragged-bottom
323 Si se fija al valor verdadero, los sistemas no se reparten
324 verticalmente hasta abajo de la página. Esto no afecta a la última
325 página. Se debe fijar a verdadero para piezas que sólo tienen dos o
326 tres sistemas por página, como por ejemplo las partituras orquestales.
328 @item ragged-last-bottom (sin justificar la última por abajo)
329 @funindex ragged-last-bottom
331 Si se establece al valor falso, los sistemas se reparten verticalmente
332 hasta abajo de la última página. Las piezas que llenan sobradamente
333 dos o más páginas deben tener este valor fijado a verdadero. También
334 afecta a la última página de las partes de libro, es decir, partes de
335 un libro creadas con bloques @code{\bookpart}.
340 Referencia de la notación:
341 @ref{Escalado automático al tamaño del papel}.
344 @file{ly/paper-defaults-init.ly}.
346 Fragmentos de código:
351 Los títulos (extraídos del bloque @code{\header}) se tratan como
352 sistemas, así pues @code{ragged-bottom} y @code{ragged-last-bottom}
353 aumentan la separación entre los títulos y el primer sistema de la
357 @node Variables de espaciado de \paper verticales flexibles
358 @subsection Variables de espaciado de @code{\paper} verticales flexibles
359 @translationof Flexible vertical spacing \paper variables
361 En casi todos los casos es preferible que las distancias verticales
362 entre ciertos elementos (como márgenes, títulos, sistemas y las
363 distintas partituras) sean flexibles, de manera que se amplíen y
364 compriman adecuadamente dependiendo de la situación. Están
365 disponibles un cierto número de variables del bloque @code{\paper}
366 (relacionadas más abajo) para realizar un ajuste fino del
367 comportamiento de estas dimensiones frente a su ampliación o
370 Observe que las variables de @code{\paper} que se estudian en esta
371 sección no controlan el espaciado de los pentagramas que están dentro
372 de los sistemas individuales. El espaciado dentro de los sistemas se
373 controla por medio de propiedades de grob, con ajustes que se escriben
374 normalmente dentro de un bloque @code{\score} o @code{\layout}, y no
375 dentro del bloque @code{\paper}.
376 Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
379 * Estructura de las listas-A de espaciado vertical flexible::
380 * Lista de variables de espaciado de \paper verticales flexibles::
384 @node Estructura de las listas-A de espaciado vertical flexible
385 @unnumberedsubsubsec Estructura de las listas-A de espaciado vertical flexible
386 @translationof Structure of flexible vertical spacing alists
388 Cada una de las variables de espaciado de @code{\paper} flexibles es
389 una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
394 @code{basic-distance} (distancia básica):
395 distancia vertical, medida en espacios de pentagrama, entre los
396 @emph{puntos de referencia} de los dos elementos, cuando no resulte
397 ninguna colisión, y no se produzca ninguna ampliación o compresión.
398 El punto de referencia de un elemento de marcado (de título o del
399 nivel jerárquico superior) es su punto más alto, y el punto de
400 referencia de un sistema es el centro vertical del @code{StaffSymbol}
401 más cercano (incluso si se trata de una línea que no es un pentagrama,
402 como un contexto @code{Lyrics}). Los valores de @code{distancia básica} menores
403 de @code{padding} o de @code{minimum-distance} no son significativos,
404 porque la distancia resultante nunca será menor de @code{padding} o de
405 @code{minimum-distance}.
408 @code{minimum-distance} (distancia mínima):
409 la distancia vertical mínima permitida, medida en espacios de
410 pentagrama, entre los puntos de referencia de los dos elementos,
411 cuando se produce una compresión. Los valores de
412 @code{minimum-distance} menores de @code{padding} no son
413 significativos, porque la distancia resultante nunca será menor de
416 @c TODO: explain skylines somewhere and xref to it from here.
419 @code{padding} (relleno):
420 mínimo espacio vertical vacío necesario entre los rectángulos
421 circundantes (o las líneas de horizonte) de los dos elementos,
422 medido en espacios de pentagrama.
425 @code{stretchability} (ampliabilidad):
426 medida sin unidades de la propensión relativa de esta dimensión a
427 ampliarse. Si es cero, la distancia no se ampliará (a no ser que
428 resultasen colisiones). Si es positiva, la significación del valor de
429 ampliabilidad de una dimensión concreta depende solamente de su
430 relación con los valores de @code{stretchability} de las otras
431 dimensiones. Por ejemplo, si una dimensión tiene el doble de
432 @code{stretchability} que otra, se ampliará con el doble de facilidad.
433 Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
434 desencadena un error de programación y se ignora, pero se puede usar
435 @code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
436 fija un valor, el valor predeterminado se establece a @code{basic-distance}.
437 Observe que la propensión de la dimensión a @emph{comprimirse} no se
438 puede establecer directamente por el usuario y es igual a
439 (@code{basic-distance}@tie{}@minus{}@tie{}@code{minimum-distance}).
443 Si una página tiene un margen inferior no justificado, la distancia
444 resultante es la mayor de:
449 @code{basic-distance},
452 @code{minimum-distance}, y
455 @code{padding} más la menor distancia necesaria
456 para eliminar las colisiones.
460 Los métodos específicos para la modificación de las listas-A se
461 estudian en @ref{Modificación de las listas-A}. El siguiente ejemplo
462 muestra las dos formas en que pueden modificarse estas listas-A. La
463 primera declaración actualiza un par clave-valor individualmente, y la
464 segunda redefine la variable completamente:
468 system-system-spacing #'basic-distance = #8
469 score-system-spacing =
470 #'((basic-distance . 12)
471 (minimum-distance . 6)
473 (stretchability . 12))
478 @node Lista de variables de espaciado de \paper verticales flexibles
479 @unnumberedsubsubsec Lista de variables de espaciado de @code{\paper} verticales flexibles
480 @translationof List of flexible vertical spacing \paper variables
482 Los nombres de estas variables siguen el formato
483 @code{@var{superior}-@var{inferior}-spacing}, donde
484 @code{@var{superior}} e @code{@var{inferior}} son los elementos que
485 van a ser espaciados. Cada distancia se mide entre los puntos de
486 referencia de los dos elementos (véase más arriba la descripción de la
487 estructura de la lista-A). Observe que en estos nombres de variable,
488 el término @q{@code{markup}} se refiere tanto a @emph{elementos de
489 marcado de título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup})
490 como a @emph{elementos de marcado del nivel superior} (véase
491 @ref{Estructura del archivo}). Todas las distancias se miden en
492 espacios de pentagrama.
494 Los ajustes predeterminados están definidos en el archivo
495 @file{ly/paper-defaults-init.ly}.
497 @c TODO: Where do headers/footers fit in? -mp
500 @item markup-system-spacing
501 @funindex markup-system-spacing
503 distancia entre un elemento de marcado (de título o del nivel
504 superior) y el sistema que le sigue.
506 @item score-markup-spacing
507 @funindex score-markup-spacing
509 distancia entre el último sistema de una partitura y el elemento de
510 marcado (de título o del nivel superior) que le sigue.
512 @item score-system-spacing
513 @funindex score-system-spacing
515 distancia entre el último sistema de una partitura y el primer sistema
516 de la partitura que le sigue, cuando no existe ningún elemento de
517 marcado (de título o del nivel superior) entre ellos.
519 @item system-system-spacing
520 @funindex system-system-spacing
522 distancia entre dos sistemas dentro de la misma partitura.
524 @item markup-markup-spacing
525 @funindex markup-markup-spacing
527 distancia entre dos elementos de marcado (de título o del nivel
530 @item last-bottom-spacing
531 @funindex last-bottom-spacing
533 distancia desde el último sistema o elemento de marcado del nivel
534 superior en una página, hasta la parte inferior de la zona imprimible
535 (es decir, el extremo superior del margen inferior).
537 @item top-system-spacing
538 @funindex top-system-spacing
540 distancia desde la parte superior de la zona imprimible (es decir, el
541 extremo inferior del margen superior) hasta el primer sistema de una
542 página, cuando no hay ningún elemento de marcado (de título o del
543 nivel superior) entre los dos.
545 @item top-markup-spacing
546 @funindex top-markup-spacing
548 distancia desde el extremo superior de la zona imprimible (es decir,
549 el extremo inferior del margen superior) hasta el primer elemento de
550 marcado (de título o del nivel superior) sobre una página, cuando no
551 hay ningún sistema entre los dos.
555 Referencia de la notación:
556 @ref{Espaciado vertical flexible dentro de los sistemas}.
559 @file{ly/paper-defaults-init.ly}.
561 Fragmentos de código:
565 @node Variables de espaciado de \paper horizontales
566 @subsection Variables de espaciado de \paper horizontales
567 @translationof Horizontal spacing \paper variables
569 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
570 automáticamente al tamaño del papel, lo que puede dar lugar a un
571 comportamiento distinto al esperado. Véase
572 @ref{Escalado automático al tamaño del papel}.}
575 * Variables de \paper para la anchura y los márgenes::
576 * Variables de \paper para el modo de doble cara::
577 * Variables de \paper para desplazamientos y sangrados::
581 @node Variables de \paper para la anchura y los márgenes
582 @unnumberedsubsubsec Variables de @code{\paper} para la anchura y los márgenes
583 @translationof \paper variables for widths and margins
585 Los valores predeterminados (antes del escalado) que no están
586 relacionados aquí se encuentran definidos en el archivo
587 @file{ly/paper-defaults-init.ly}.
592 @funindex paper-width
594 Anchura de la página, sin fijar de forma predeterminada. Aunque
595 @code{paper-width} no tiene ningún efecto sobre el escalado automático
596 de algunas dimensiones horizontales, sí influye sobre la variable
597 @code{line-width}. Si están establecidas las dos variables
598 @code{paper-width} y @code{line-width}, entonces también se actualizan
599 @code{left-margin} y @code{right-margin}. Véase también
600 @code{check-consistency}.
605 Dimensiones horizontales de las líneas del pentagrama en los sistemas
606 sin sangrado y justificados, igual a
607 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
608 cuando está sin fijar. Si @code{line-width} está fijado, y tanto
609 @code{left-margin} como @code{right-margin} están sin fijar, entonces
610 los márgenes se actualizan para centrar los sistemas automáticamente
611 sobre la página. Véase también @code{check-consistency}.
612 Esta variable también se puede fijar dentro de un bloque @code{\layout}.
615 @funindex left-margin
617 Margen entre el extremos izquierdo de la página y el comienzo de las
618 líneas del pentagrama en los sistemas sin sangrado. Si el tamaño del
619 papel se modifica, el valor predeterminado de esta dimensión se escala
620 de acuerdo con ello. Si no se fija el valor de @code{left-margin}, y
621 tanto @code{line-width} como @code{right-margin} están fijados,
622 entonces se establece el valor de @code{left-margin} a
623 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
624 Si solamente está fijado @code{line-width}, entonces los dos márgenes
626 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
627 como consecuencia los sistemas se centran sobre la página. Véase
628 también @code{check-consistency}.
631 @funindex right-margin
633 Margen entre el extremo derecho de la página y el final de las líneas
634 del pentagrama en sistemas justificados. Si el tamaño de la página se
635 modifica, el valor predeterminado de esta dimensión se escala de
636 acuerdo con ello. Si @code{right-margin} está sin fijar, y tanto
637 @code{line-width} como @code{left-margin} están fijados, el valor de
638 @code{right-margin} se establece a
639 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
640 Si solamente está fijado @code{line-width}, los dos márgenes se
642 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
643 como consecuencia los sistemas aparecen centrados sobre la página.
644 Véase también @code{check-consistency}.
646 @item check-consistency
647 @funindex check-consistency
649 Si se establece al valor verdadero, se imprime una advertencia en caso
650 de que la suma de @code{left-margin}, @code{line-width} y
651 @code{right-margin} no coincida exactamente con el valor de
652 @code{paper-width}, y se sustituye cada uno de estos valores (excepto
653 @code{paper-width}) con su valor predeterminado (escalado al tamaño
654 del papel si es necesario). Si está fijado al valor falso, se ignora
655 cualquier inconsistencia y se permite que los sistemas se salgan del
659 @funindex ragged-right
661 Si está fijado al valor verdadero, los sistemas no cubren el ancho de
662 la línea. En lugar de ello, los sistemas finalizan en su longitud
663 horizontal natural. Valor predeterminado: @code{#t} para las
664 partituras con un solo sistema, y @code{#f} para partituras que tienen
665 dos o más sistemas. Esta variable también se puede establecer dentro
666 de un bloque @code{\layout}.
669 @funindex ragged-last
671 Si está fijado al valor verdadero, el último sistema de la partitura
672 no llena toda la anchura de la línea. En lugar de ello, el último
673 sistema finaliza en su longitud horizontal natural. Valor
674 predeterminado: @code{#f}. Esta variable también puede ajustarse
675 dentro de un bloque @code{\layout}.
680 Referencia de la notación:
681 @ref{Escalado automático al tamaño del papel}.
684 @file{ly/paper-defaults-init.ly}.
687 @node Variables de \paper para el modo de doble cara
688 @unnumberedsubsubsec Variables de @code{\paper} para el modo de doble cara
689 @translationof \paper variables for two-sided mode
691 Los valores predeterminados (antes del escalado) se definen en
692 @file{ly/paper-defaults-init.ly}.
699 @cindex encuadernación
700 @cindex margen de encuadernación
702 Si tiene el valor verdadero, utilizar @code{inner-margin},
703 @code{outer-margin} y @code{binding-offset} para determinar los
704 márgenes dependiendo de si el número de la página es par o impar.
705 Esto sobreescribe a @code{left-margin} y a @code{right-margin}.
708 @funindex inner-margin
710 Margen que todas las páginas tienen en el lado interno si forman parte
711 de un libro. Si el tamaño del papel se modifica, el valor
712 predeterminado de esta dimensión se escala de acuerdo con ello.
713 Solamente funciona con @code{two-sided} fijado al valor verdadero.
716 @funindex outer-margin
718 Margen que todas las páginas tienen en el lado externo si forman parte
719 de un libro. Si el tamaño del papel se modifica, el valor
720 predeterminado de esta dimensión se escala de acuerdo con ello.
721 Solamente funciona con @code{two-sided} fijado al valor verdadero.
724 @funindex binding-offset
726 Medida en que se aumenta @code{inner-margin} para asegurar que no se
727 oculta nada a causa de la encuadernación. Si el tamaño del papel se
728 modifica, el valor predeterminado de esta dimensión se escala de
729 acuerdo con ello. Solamente funciona con @code{two-sided} fijado al
736 Referencia de la notación:
737 @ref{Escalado automático al tamaño del papel}.
740 @file{ly/paper-defaults-init.ly}.
743 @node Variables de \paper para desplazamientos y sangrados
744 @unnumberedsubsubsec Variables de @code{\paper} para desplazamientos y sangrados
745 @translationof \paper variables for shifts and indents
747 Los valores predeterminados (antes del escalado) que no se relacionan
748 aquí están definidos en el archivo @file{ly/paper-defaults-init.ly}.
752 @item horizontal-shift
753 @funindex horizontal-shift
755 @c This default value is buried in the middle of page.scm. -mp
757 Medida en que todos los sistemas (incluidos los títulos de cabecera y
758 los separadores de sistemas) se desplazan a la derecha.
759 Predeterminado: @code{0.0}.
764 Nivel de sangrado para el primer sistema de una partitura. Si se
765 modifica el tamaño del papel, el valor predeterminado de esta
766 dimensión se escala de acuerdo con ello. Esta variable también se
767 puede ajustar dentro de un bloque @code{\layout}.
770 @funindex short-indent
772 Nivel de sangrado para todos los sistemas de una partitura excepto el
773 primero. Si el tamaño del papel se modifica, el valor predeterminado
774 de esta dimensión se escala de acuerdo con ello. Esta variable
775 también se puede ajustar dentro de un bloque @code{\layout}.
780 Referencia de la notación:
781 @ref{Escalado automático al tamaño del papel}.
784 @file{ly/paper-defaults-init.ly}.
786 Fragmentos de código:
790 @node Otras variables de \paper
791 @subsection Otras variables de @code{\paper}
792 @translationof Other \paper variables
795 * Variables de \paper para los saltos de línea::
796 * Variables de \paper para los saltos de página::
797 * Variables de \paper para la numeración de las páginas::
798 * Variables de \paper diversas::
802 @node Variables de \paper para los saltos de línea
803 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de línea
804 @translationof \paper variables for line breaking
806 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
810 @item max-systems-per-page
811 @funindex max-systems-per-page
813 Número máximo de sistemas que se colocan sobre una página. Solo está
814 contemplado por el algoritmo @code{ly:optimal-breaking}. Valor
815 predeterminado: no fijado.
817 @item min-systems-per-page
818 @funindex min-systems-per-page
820 Número mínimo de sistemas que se colocan sobre una página. Puede
821 causar que las páginas aparezcan atiborradas si el valor es demasiado
822 grande En el momento actual solo está contemplado por el algoritmo
823 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
825 @item systems-per-page
826 @funindex systems-per-page
828 Número de sistemas que se deben colocar en cada página. En el momento
829 actual solo está contemplado por el algoritmo
830 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
833 @funindex system-count
835 Número de sistemas que utilizar para una partitura. Valor
836 predeterminado: no fijado. Esta variables también se puede ajustar
837 dentro de un bloque @code{\layout}.
842 Referencia de la notación:
843 @ref{Saltos de línea}.
846 @node Variables de \paper para los saltos de página
847 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de página
848 @translationof \paper variables for page breaking
850 Los valores predeterminados que no están relacionados aquí, se definen
851 en el archivo @file{ly/paper-defaults-init.ly}
855 @item blank-after-score-page-force
856 @funindex blank-after-score-page-force
858 Penalización por tener una página vacía después del final de una
859 partitura y antes de la siguiente. De forma predeterminada, es menor
860 que @code{blank-page-force}, de manera que preferimos páginas vacías
861 después de las partituras que páginas vacías dentro de una partitura.
863 @item blank-last-page-force
864 @funindex blank-last-page-force
866 Penalización por terminar la partitura sobre una página impar.
868 @item blank-page-force
869 @funindex blank-page-force
871 Penalización por tener una página vacía en medio de una partitura. No
872 se utiliza por parte de @code{ly:optimal-breaking} porque nunca
873 considera páginas vacías en mitad de una partitura.
876 @funindex page-breaking
878 Algoritmo de saltos de página que utilizar. Se puede elegir entre
879 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking} o
880 @code{ly:optimal-breaking}.
882 @item page-breaking-system-system-spacing
883 @funindex page-breaking-system-system-spacing
885 Engaña a la parte del programa encargada de los saltos de página para
886 que piense que @code{system-system-spacing} está establecido a un
887 valor distinto al que tiene realmente. Por ejemplo, si
888 @code{page-breaking-system-system-spacing #'padding} está establecido
889 a algo que es mucho mayor que @code{system-system-spacing #'padding},
890 entonces el divisor de páginas pone menos sistemas en cada página.
891 Valor predeterminado: sin ajustar.
896 Número de páginas que utilizar en una partitura, no ajustado de forma
902 Referencia de la notación:
903 @ref{Saltos de página},
904 @ref{Saltos de página óptimos},
905 @ref{Paso de página óptimo},
906 @ref{Saltos de página mínimos}.
909 @file{ly/paper-defaults-init.ly}.
912 @node Variables de \paper para la numeración de las páginas
913 @unnumberedsubsubsec Variables de @code{\paper} para la numeración de las páginas
914 @translationof \paper variables for page numbering
916 Los valores predeterminados que no se relacionan aquí están definidos
917 en el archivo @file{ly/paper-defaults-init.ly}
921 @cindex números de página, automáticos
922 @item auto-first-page-number
923 @funindex auto-first-page-number
925 El algoritmo de división de páginas está afectado por el hecho de que
926 el número de la primera página sea par o impar. Si está establecido
927 al valor verdadero, el algoritmo de división de páginas decide si
928 comenzar con un número par o impar. Esto hace que el número de la
929 primera página se quede como está, o que se aumente en una unidad.
930 Predeterminado: @code{#f}.
932 @cindex números de página, especificar el primero
933 @item first-page-number
934 @funindex first-page-number
936 Valor del número de pátina en la primera página.
938 @item print-first-page-number
939 @funindex print-first-page-number
941 Si está fijado a verdadero, se imprime un número de página en la
944 @cindex números de página, suprimir
945 @item print-page-number
946 @funindex print-page-number
948 Si está fijado a falso, no se imprimen los números de página.
954 @file{ly/paper-defaults-init.ly}.
957 Los números de página impares siempre están a la derecha.
958 Si quiere que la música comience en la página 1 debe haber
959 una página en blanco en el reverso de la página de cubierta
960 de manera que la página 1 esté en el lado derecho.
963 @node Variables de \paper diversas
964 @unnumberedsubsubsec Variables de @code{\paper} diversas
965 @translationof Miscellaneous \paper variables
969 @item page-spacing-weight
970 @funindex page-spacing-weight
972 Importancia relativa del espacio (vertical) de las páginas y el
973 espaciado (horizontal) de las líneas. Los valores altos hacen que el
974 espaciado de la página tenga más importancia. Predeterminado:
977 @item print-all-headers
978 @funindex print-all-headers
980 Si está fijado a verdadero, imprime todos los encabezamientos para
981 cada una de las partituras @code{\score} de la salida. Normalmente
982 sólo se imprimen las variables de encabezamiento @code{piece} y
983 @code{opus}. Valor predeterminado: @code{#f}.
985 @item system-separator-markup
986 @funindex system-separator-markup
988 Objeto de marcado que se inserta entre los sistemas. Se suele usar
989 para partituras orquestales. Predeterminado: sin establecer. El
990 elemento de marcado @code{\slashSeparator}, definido en el archivo
991 @file{ly/titling-init.ly}, se aporta como un valor predeterminado
992 adecuado, por ejemplo:
994 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
995 #(set-default-paper-size "a8")
999 system-separator-markup = \slashSeparator
1005 \relative c'' { c1 \break c1 \break c1 }
1015 @file{ly/titling-init.ly}.
1017 Fragmentos de código:
1023 El encabezamiento de página predeterminado pone el número de página y
1024 el campo @code{instrument} del bloque @code{\header} sobre la misma
1028 @node Disposición de la partitura
1029 @section Disposición de la partitura
1030 @translationof Score layout
1032 Esta sección trata de las opciones de disposición de la partitura para
1033 el bloque @code{\layout}.
1036 * El bloque \layout::
1037 * Establecer el tamaño del pentagrama::
1041 @node El bloque \layout
1042 @subsection El bloque @code{\layout}
1043 @translationof The \layout block
1047 Así como el bloque @code{\paper} contiene ajustes relativos al
1048 formateo de la página para todo el documento, el bloque @code{\layout}
1049 contiene ajustes para la disposición específica de las partituras.
1050 Para fijar las opciones de disposición de partituras de forma global,
1051 escríbalas en un bloque @code{\layout} del nivel jerárquico superior.
1052 Para fijar opciones de disposición para una partitura individual
1053 escríbalas dentro de un bloque @code{\layout} dentro del bloque
1054 @code{\score}, después de la música. Entre los ajustes que pueden
1055 aparecer en un bloque @code{\layout} se encuentran los siguientes:
1058 @item la función de Scheme @code{layout-set-staff-size},
1059 @item las modificaciones de contexto de los bloques @code{\context}, y
1060 @item las variables de @code{\paper} que afectan a la disposición de la partitura.
1063 La función @code{layout-set-staff-size} se estudia en la sección
1064 siguiente, @ref{Establecer el tamaño del pentagrama}. Las
1065 modificaciones de contexto se estudian en un capítulo distinto; véase
1066 @ref{Modificar los complementos (plug-ins) de contexto} y
1067 @ref{Cambiar los valores por omisión de los contextos}. Las variables de
1068 @code{\paper} que pueden aparecer dentro de un bloque @code{\layout}
1074 @code{line-width}, @code{ragged-right} y @code{ragged-last}
1075 (véase @ref{Variables de \paper para la anchura y los márgenes})
1078 @code{indent} y @code{short-indent}
1079 (véase @ref{Variables de \paper para desplazamientos y sangrados})
1083 (véase @ref{Variables de \paper para los saltos de línea})
1087 He aquí un ejemplo de un bloque @code{\layout}:
1094 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
1098 \override TextScript #'padding = #1
1099 \override Glissando #'thickness = #3
1106 Referencia de la notación:
1107 @ref{Cambiar los valores por omisión de los contextos}.
1109 Fragmentos de código:
1113 @node Establecer el tamaño del pentagrama
1114 @subsection Establecer el tamaño del pentagrama
1115 @translationof Setting the staff size
1117 @cindex tipografía, fijar el tamaño de
1118 @cindex pentagrama, fijar el tamaño de
1119 @funindex disposición, archivo de
1121 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1122 puntos. Esto se puede modificar de dos maneras:
1124 Para establecer globalmente el tamaño del pentagrama para todas las
1125 partituras de un archivo (o en un bloque @code{book}, para ser
1126 exactos), utilice @code{set-global-staff-size}.
1129 #(set-global-staff-size 14)
1133 Esto establece el tamaño global predeterminado a una altura de
1134 pentagrama de 14pt y escala todas las tipografías según corresponda.
1136 Para establecer el tamaño del pentagrama de forma individual para cada
1142 #(layout-set-staff-size 15)
1147 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1148 distintos. Cada fuente tipográfica está afinada para un tamaño de
1149 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1150 pesada, para que coincida con las líneas de pentagrama relativamente
1151 más gruesas. Los tamaños de tipografía recomendados están
1152 relacionados en la tabla siguiente:
1155 @multitable @columnfractions .15 .2 .22 .2
1157 @item @b{nombre de la fuente}
1158 @tab @b{altura del pentagrama (pt)}
1159 @tab @b{altura del pentagrama (mm)}
1165 @tab partituras de bolsillo
1190 @tab particellas estándar
1201 @c modern rental material?
1206 Estas tipografías están disponibles en cualquier tamaño. La propiedad
1207 de contexto @code{fontSize} y la propiedad de disposición
1208 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1209 afinar el tamaño de los pentagramas individuales. Los tamaños de
1210 pentagrama individuales están en relación al tamaño global.
1214 Referencia de la notación:
1215 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1217 Fragmentos de código:
1223 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1229 @translationof Breaks
1233 * Saltos de página::
1234 * Saltos de página óptimos::
1235 * Paso de página óptimo::
1236 * Saltos de página mínimos::
1237 * Saltos de línea explícitos::
1238 * Utilizar una voz adicional para los saltos de línea::
1242 @node Saltos de línea
1243 @subsection Saltos de línea
1244 @translationof Line breaking
1246 @cindex saltos de línea
1247 @cindex línea, saltos de
1249 Normalmente los saltos de línea se determinan automáticamente. Se
1250 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1251 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1254 Para forzar manualmente un salto de línea sobre la línea divisoria,
1255 utilice la instrucción @code{\break}:
1257 @lilypond[quote,ragged-right,relative=2,verbatim]
1262 De forma predeterminada se ignora cualquier @code{\break} en la mitad
1263 de un compás, y se imprime una advertencia. Para forzar un salto de
1264 línea en medio de un compás, añada una barra de compás invisible con
1267 @lilypond[quote,ragged-right,relative=2,verbatim]
1274 También se ignora un @code{\break} que se produce en la línea
1275 divisoria si el compás anterior termina en medio de una nota, como
1276 cuando un grupo de valoración especial inicia y termina en compases
1277 diferentes. Para permitir que las instrucciones @code{\break}
1278 funcionen en estas situaciones, elimine el grabador
1279 @code{Forbid_line_break_engraver} del contexto @code{Voice}. Observe
1280 que los saltos de línea forzados manualmente se deben añadir en
1281 paralelo con la música:
1283 @lilypond[quote,ragged-right,verbatim]
1285 \remove Forbid_line_break_engraver
1288 { c2. \times 2/3 { c4 c c } c2. | }
1289 { s1 | \break s1 | }
1294 De forma similar, los saltos de línea están normalmente prohibidos
1295 cuando hay barras de corchea que cruzan la línea divisoria. Se puede
1296 cambiar este comportamiento fijando @code{\override Beam #'breakable =
1299 @lilypond[quote,ragged-right,relative=2,verbatim]
1300 \override Beam #'breakable = ##t
1305 La instrucción @code{\noBreak}, prohíbe un salto de línea en
1306 la barra divisoria en que se inserta.
1308 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1309 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1310 @code{\layout}. Controlan el sangrado de la primera línea de música,
1311 y la longitud de las líneas.
1313 Si se establece @code{ragged-right} a verdadero en el bloque
1314 @code{\layout}, los sistemas terminan en su longitud horizontal
1315 natural, en lugar de distribuirse horizontalmente para llenar toda la
1316 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1317 comprobación de lo apretado que es el espaciado natural.
1319 @c TODO Check and add para on default for ragged-right
1321 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1322 afecta sólo a la última línea de la pieza.
1334 @cindex saltos de línea normales
1335 @cindex música de cuatro compases por línea
1337 Para saltos de línea a intervalos regulares utilice @code{\break}
1338 separado mediante desplazamientos con @code{\skip} y repetidos con
1339 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1340 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1341 compases, y sólo en dichos lugares:
1346 s1 \noBreak s1 \noBreak
1347 s1 \noBreak s1 \break
1349 @{ @var{la música real@dots{}} @}
1354 Una configuración de división de líneas se puede guardar como archivo
1355 @file{.ly} automáticamente. Ello permite que alineaciones verticales
1356 se estiren para que encajen en las páginas durante una segunda
1357 ejecución del proceso de formateo. Esta posibilidad es bastante
1358 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1370 Referencia de la notación:
1371 @ref{Variables de \paper para los saltos de línea}.
1373 Fragmentos de código:
1376 Referencia de funcionamiento interno:
1377 @rinternals{LineBreakEvent}.
1380 @node Saltos de página
1381 @subsection Saltos de página
1382 @translationof Page breaking
1384 Se puede sobreescribir el mecanismo predeterminado de salto de página
1385 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1386 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1387 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1388 y prohíben, respectivamente, la eventualidad de un salto de página.
1389 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1392 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1393 pueden insertar en el nivel más alto, entre las partituras y los
1394 elementos de marcado situados en el nivel superior.
1396 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1397 tienen el mismo efecto sobre el espaciado vertical:
1398 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1399 establecidos a @code{##t} los sistemas de todas las páginas o sólo de
1400 la última página, respectivamente, no se verán justificados
1401 verticalmente. Véase
1402 @ref{Variables de espaciado de \paper verticales fijas}.
1404 Los saltos de página se calculan por medio de la función
1405 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1406 de los saltos de página: @code{ly:optimal-breaking},
1407 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1408 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1409 cambiar en el bloque @code{\paper}:
1413 page-breaking = #ly:page-turn-breaking
1419 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1420 resolver el problema de los saltos de página, necesitando mucha
1421 memoria y prolongados tiempos de procesamiento. Para facilitar el
1422 proceso de división en páginas, se usan los bloques @code{\bookpart}
1423 para dividir el libro en varias partes: los saltos de página se
1424 producen de manera independiente en cada parte. También se pueden
1425 usar diferentes funciones de división en páginas para las distintas
1431 subtitle = "Prefacio"
1434 %% En una parte que consiste en texto principalmente,
1435 %% puede ser preferible ly:minimal-breaking
1436 page-breaking = #ly:minimal-breaking
1438 \markup @{ @dots{} @}
1442 %% En esta parte, consistente en música, se usa la función
1443 %% óptima predeterminada de saltos de página.
1445 subtitle = "Primer movimiento"
1447 \score @{ @dots{} @}
1454 @funindex \pageBreak
1456 @funindex \noPageBreak
1457 @code{\noPageBreak}.
1462 Referencia de la notación:
1463 @ref{Variables de \paper para los saltos de página}.
1465 Fragmentos de código:
1469 @node Saltos de página óptimos
1470 @subsection Saltos de página óptimos
1471 @translationof Optimal page breaking
1473 @funindex ly:optimal-breaking
1475 La función @code{ly:optimal-breaking} es el método predeterminado de
1476 LilyPond para determinar los saltos de página. Intenta hallar una
1477 división de páginas que haga mínimos el apretujamiento y la
1478 distensión, tanto horizontal como verticalmente. A diferencia de
1479 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1484 Fragmentos de código:
1488 @node Paso de página óptimo
1489 @subsection Paso de página óptimo
1490 @translationof Optimal page turning
1492 @funindex ly:page-turn-breaking
1494 Con frecuencia es necesario encontrar una configuración de división de
1495 páginas de manera que haya un silencio al final de una página de cada
1496 dos. De esta forma, el músico puede pasar la página sin perder notas.
1497 La función @code{ly:page-turn-breaking} trata de encontrar una
1498 división de páginas que haga mínimos el apretujamiento y el
1499 estiramiento, pero con la restricción añadida de que sólo se permite
1500 introducir vueltas de página en los lugares especificados.
1502 Hay dos etapas en el uso de esta función de división de páginas. En
1503 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1504 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1505 dónde nos gustaría permitir los saltos de página.
1507 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1508 especificar manualmente cada uno de los pasos de página potenciales,
1509 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1512 Si esto es demasiado tedioso, podemos añadir un grabador
1513 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1514 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1515 sin notas (observe que no busca silencios, sino la ausencia de notas.
1516 Se hace así para que la polifonía en un solo pentagrama con silencios
1517 en una de las voces no arruine la labor del grabador
1518 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1519 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1520 un @code{\allowPageTurn} en la última barra de compás de dicha
1521 sección, a no ser que haya una barra @q{especial} de compás (como una
1522 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1523 última barra @q{especial} de compás de la sección.
1525 @funindex minimumPageTurnLength
1526 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1527 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1528 una sección sin notas antes de que se considere la posibilidad de un
1529 paso de página. El valor predeterminado para
1530 @code{minimumPageTurnLength} es @code{#(ly:make-moment 1 1)}. Si
1531 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1535 \new Staff \with @{ \consists "Page_turn_engraver" @}
1538 R1 | % aquí se permite un salto de página
1540 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1541 R1 | % aquí no se permite un salto de página
1543 R1*2 | % aquí se permite un salto de página
1548 @funindex minimumRepeatLengthForPageTurn
1549 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1550 primera y segunda vez. Sólo permite un pase de página durante la
1551 repetición si hay suficiente tiempo al principio y al final de la
1552 repetición para volver a pasar la página hacia atrás. El grabador
1553 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1554 página si la repetición es muy corta. Si establecemos la propiedad de
1555 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1556 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1557 repeticiones cuya duración sea mayor que este valor.
1559 Las instrucciones de paso de página, @code{\pageTurn},
1560 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1561 el nivel más elevado del código, entre las partituras y los elementos
1562 de marcado del nivel superior.
1568 @funindex \noPageTurn
1570 @funindex \allowPageTurn
1571 @code{\allowPageTurn}.
1576 Fragmentos de código:
1582 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1583 partitura. Si hay más de uno, se interferirán entre sí.
1586 @node Saltos de página mínimos
1587 @subsection Saltos de página mínimos
1588 @translationof Minimal page breaking
1590 @funindex ly:minimal-breaking
1592 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1593 para determinar los saltos de página: completa una página con tantos
1594 sistemas como sea posible antes de continuar con la siguiente. Así,
1595 puede preferirse para partituras con muchas páginas, donde las otras
1596 funciones de salto de página pueden resultar demasiado lentas o ávidas
1597 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1601 page-breaking = #ly:minimal-breaking
1607 Fragmentos de código:
1611 @node Saltos de línea explícitos
1612 @subsection Saltos de línea explícitos
1613 @translationof Explicit breaks
1615 Lily a veces rechaza las instrucciones @code{\break} y
1616 @code{\pageBreak} explícitas. Hay dos instrucciones para
1617 sobreescribir este comportamiento:
1620 \override NonMusicalPaperColumn #'line-break-permission = ##f
1621 \override NonMusicalPaperColumn #'page-break-permission = ##f
1624 Cuando se sobreescribe el valor de @code{line-break-permission} a
1625 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1626 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1627 @code{page-break-permission} a falso, Lily inserta saltos de página en
1628 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1630 @lilypond[quote,verbatim]
1637 music = \relative c'' { c8 c c c }
1641 \repeat unfold 2 { \music } \break
1642 \repeat unfold 4 { \music } \break
1643 \repeat unfold 6 { \music } \break
1644 \repeat unfold 8 { \music } \pageBreak
1645 \repeat unfold 8 { \music } \break
1646 \repeat unfold 6 { \music } \break
1647 \repeat unfold 4 { \music } \break
1648 \repeat unfold 2 { \music }
1653 \override NonMusicalPaperColumn #'line-break-permission = ##f
1654 \override NonMusicalPaperColumn #'page-break-permission = ##f
1662 Fragmentos de código:
1666 @node Utilizar una voz adicional para los saltos de línea
1667 @subsection Utilizar una voz adicional para los saltos de línea
1668 @translationof Using an extra voice for breaks
1670 La información sobre saltos de línea y de página suele aparecer
1671 directamente entremezclado dentro del código de notas.
1674 music = \relative c'' @{ c4 c c c @}
1678 \repeat unfold 2 @{ \music @} \break
1679 \repeat unfold 3 @{ \music @}
1684 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1685 @code{\pageBreak}, pero mezcla la escritura de música con información
1686 que especifica cómo se debe disponer la música sobre la página.
1687 Podemos mantener la introducción de música y la información de saltos
1688 de línea y de página en dos lugares separados mediante la introducción
1689 de una voz adicional que contenga los saltos. Esta voz adicional
1690 contiene solamente desplazamientos o @q{skips} junto con los
1691 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1692 disposición de los saltos.
1694 @lilypond[quote,verbatim]
1695 music = \relative c'' { c4 c c c }
1706 \repeat unfold 2 { \music }
1707 \repeat unfold 3 { \music }
1708 \repeat unfold 6 { \music }
1709 \repeat unfold 5 { \music }
1715 Este patrón resulta especialmente útil cuando se sobreescribe
1716 @code{line-break-system-details} y las otras útiles (pero largas)
1717 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1718 @ref{Espaciado vertical}.
1720 @lilypond[quote,verbatim]
1721 music = \relative c'' { c4 c c c }
1726 \overrideProperty "Score.NonMusicalPaperColumn"
1727 #'line-break-system-details #'((Y-offset . 0))
1730 \overrideProperty "Score.NonMusicalPaperColumn"
1731 #'line-break-system-details #'((Y-offset . 35))
1734 \overrideProperty "Score.NonMusicalPaperColumn"
1735 #'line-break-system-details #'((Y-offset . 70))
1738 \overrideProperty "Score.NonMusicalPaperColumn"
1739 #'line-break-system-details #'((Y-offset . 105))
1743 \repeat unfold 2 { \music }
1744 \repeat unfold 3 { \music }
1745 \repeat unfold 6 { \music }
1746 \repeat unfold 5 { \music }
1754 Referencia de la notación:
1755 @ref{Espaciado vertical}.
1757 Fragmentos de código:
1761 @node Espaciado vertical
1762 @section Espaciado vertical
1763 @translationof Vertical spacing
1765 @cindex espaciado vertical
1766 @cindex vertical, espaciado
1768 El espaciado vertical está controlado por tres factores: la cantidad
1769 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1770 la separación entre los sistemas, y la separación entre los
1771 pentagramas dentro de un sistema.
1774 * Espaciado vertical flexible dentro de los sistemas::
1775 * Posicionamiento explícito de los pentagramas y los sistemas::
1776 * Evitar las colisiones verticales::
1780 @node Espaciado vertical flexible dentro de los sistemas
1781 @subsection Espaciado vertical flexible dentro de los sistemas
1782 @translationof Flexible vertical spacing within systems
1784 @cindex distancia entre pentagramas
1785 @cindex pentagrama, distancia entre los
1786 @cindex espacio entre pentagramas
1787 @cindex espacio dentro de los sistemas
1789 Tres mecanismos distintos controlan el espaciado vertical flexible
1790 dentro de los sistemas, uno por cada una de las categorías siguientes:
1795 @emph{pautas sin agrupar},
1798 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1799 @code{ChoirStaff}, etc.), y
1802 @emph{líneas que no son pautas} (como @code{Lyrics},
1803 @code{ChordNames}, etc.).
1807 @c TODO: Clarify this. This almost implies that non-staff lines
1808 @c have NO effect on the spacing between staves. -mp
1810 La altura de cada sistema se determina en dos fases. Primero, todos
1811 los pentagramas se disponen según la cantidad de espacio vacío
1812 disponible. Después, las líneas que no son pautas se distribuyen
1815 Observe que los mecanismos de espaciado estudiados en esta sección
1816 solamente controlan el espaciado vertical de las pautas y líneas que
1817 no son pautas dentro de los sistemas individuales. El espaciado
1818 vertical entre distintos sistemas, partituras, marcados y márgenes se
1819 controla mediante variables de @code{\paper} que se estudian en
1820 @ref{Flexible vertical spacing \paper variables}.
1823 * Propiedades de espaciado dentro de los sistemas::
1824 * Espaciado de pautas no agrupadas::
1825 * Espaciado de pautas agrupadas::
1826 * Espaciado de las líneas que no son pautas::
1830 @node Propiedades de espaciado dentro de los sistemas
1831 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1832 @translationof Within-system spacing properties
1834 @funindex staff-affinity
1835 @funindex staffgroup-staff-spacing
1836 @funindex staff-staff-spacing
1837 @funindex nonstaff-unrelatedstaff-spacing
1838 @funindex nonstaff-relatedstaff-spacing
1839 @funindex nonstaff-nonstaff-spacing
1840 @funindex default-staff-staff-spacing
1841 @funindex minimum-Y-extent
1842 @funindex extra-offset
1843 @funindex self-alignment-X
1845 @funindex VerticalAxisGroup
1847 Los mecanismos de espaciado vertical dentro del sistema están
1848 controlados por dos conjuntos de propiedades de grob. El primer
1849 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1850 crea por parte de todas las pautas y líneas que no son pautas. El
1851 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1852 puede crearse por parte de los grupos de pentagramas, pero solamente
1853 si se le llama explícitamente. Estas propiedades se describen
1854 individualmente al final de la presente sección.
1856 Los nombres de estas propiedades (excepto para @code{staff-affinity})
1857 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
1858 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
1859 elementos que se van a espaciar. Observe que @code{@var{elemento2}}
1860 no está necesariamente por debajo de @code{@var{elemento1}}; por
1861 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hacia arriba a
1862 partir de la línea del tipo no-pauta si @code{staff-affinity} es
1865 Cada distancia se mide entre los @emph{puntos de referencia} de los
1866 dos elementos. El @emph{punto de referencia} para un pentagrama y
1867 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
1868 decir, la línea central si @code{line-count} es un número impar; el
1869 espacio central si @code{line-count} es par). Los puntos de
1870 referencia para las líneas individuales que no son pautas aparecen en
1873 @multitable {Línea que no es una pauta} {Punto de referencia}
1874 @headitem Línea que no es una pauta @tab Punto de referencia
1875 @item @code{ChordNames} @tab línea de base
1876 @item @code{NoteNames} @tab línea de base
1877 @item @code{Lyrics} @tab línea de base
1878 @item @code{Dynamics} @tab centro vertical
1879 @item @code{FiguredBass} @tab punto más alto
1880 @item @code{FretBoards} @tab línea superior
1883 En la siguiente imagen, las líneas horizontales indican las posiciones
1884 de estos puntos de referencia:
1886 @lilypond[quote,noragged-right,line-width=110\mm]
1887 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
1889 alignToZero = \with {
1890 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1891 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1893 lowerCaseChords = \with {
1894 chordNameLowercaseMinor = ##t
1896 staffAffinityDown = \with {
1897 \override VerticalAxisGroup #'staff-affinity = #DOWN
1900 #(define-music-function
1901 (parser location context)
1903 #{ s1*0^\markup { \typewriter $context } #})
1906 \context { \Dynamics \alignToZero }
1907 \context { \FiguredBass \alignToZero }
1908 \context { \Lyrics \alignToZero }
1909 \context { \NoteNames \alignToZero \staffAffinityDown }
1910 \context { \ChordNames \alignToZero
1913 \context { \FretBoards \alignToZero \staffAffinityDown }
1915 \override BarLine #'stencil = ##f
1916 \override DynamicText #'self-alignment-X = #-1
1917 \override FretBoard #'X-offset = #1.75
1918 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1919 \override InstrumentName #'extra-offset = #'(0 . -0.5)
1920 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1921 \override TimeSignature #'stencil = ##f
1925 %% These contexts have reference points at the baseline:
1926 %% ChordNames, NoteNames, and Lyrics
1928 \new ChordNames { \chords { g1:m } }
1929 \new NoteNames { s1 | g1 | }
1930 \new RhythmicStaff {
1931 \set RhythmicStaff.instrumentName = #"baseline "
1933 \labelContext "ChordNames " s1 |
1934 \labelContext "NoteNames " s1 |
1935 \labelContext "Lyrics" s1 |
1937 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1940 %% The reference point for Dynamics is its vertical center
1942 \new RhythmicStaff {
1943 \set RhythmicStaff.instrumentName = #"vertical center "
1944 \labelContext "Dynamics" s1*3
1946 \new Dynamics { s1\mp s\fp }
1949 %% The reference point for FiguredBass is its highest point
1951 \new RhythmicStaff {
1952 \set RhythmicStaff.instrumentName = #"highest point "
1953 \labelContext "FiguredBass" s1
1955 \new FiguredBass { \figuremode { <6 5>1 } }
1958 %% The reference point for FretBoards is the top line
1959 \include "predefined-guitar-fretboards.ly"
1961 \new FretBoards { \chordmode { e1 } }
1962 \new RhythmicStaff {
1963 \set RhythmicStaff.instrumentName = #"top line "
1964 \labelContext "FretBoards " s1
1969 Cada una de las propiedades de grob del espaciado vertical (excepto
1970 @code{staff-affinity})
1971 usa la misma estructura de lista-A que las
1972 variables de espaciado del bloque @code{\paper} que se han estudiado
1973 en @ref{Flexible vertical spacing \paper variables}.
1974 En @ref{Modificación de las listas-A}
1975 se estudian métodos específicos para la modificación de
1976 las listas-A. Las propiedades de los grobs deben ajustarse con un
1977 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
1978 no dentro de un bloque @code{\paper}.
1980 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
1981 estas listas-A. La primera declaración actualiza un par clave-valor de
1982 forma individual, y la segunda redefine la propiedad completamente:
1986 \override VerticalAxisGroup #'default-staff-staff-spacing
1987 #'basic-distance = #10
1991 \override VerticalAxisGroup #'default-staff-staff-spacing =
1992 #'((basic-distance . 10)
1993 (minimum-distance . 9)
1995 (stretchability . 10))
1999 Para modificar globalmente cualquiera de los ajustes de espaciado,
2000 póngalos dentro del bloque @code{\layout}:
2006 \override VerticalAxisGroup #'default-staff-staff-spacing
2007 #'basic-distance = #10
2012 Los ajustes estándar para las propiedades de grob del espaciado
2013 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
2014 @rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
2015 los tipos específicos de líneas que no son pautas están relacionadas
2016 en las descripciones de contexto correspondientes en
2017 @rinternals{Contexts}.
2020 @subsubheading Propiedades del grob @code{VerticalAxisGroup}
2022 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
2023 instrucción @code{\override} en el nivel de @code{Staff} (o
2027 @item staff-staff-spacing
2028 Se utiliza para determinar la distancia entre la pauta actual
2029 y la pauta que está justo por debajo
2030 de ella dentro del mismo sistema, incluso si hay más líneas que no son
2031 pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
2032 a la pauta inferior de un sistema.
2034 Inicialmente, el valor de espaciado @code{staff-staff-spacing} de un
2035 grupo @code{VerticalAxisGroup} es una función de Scheme que aplica las
2036 propiedades del @code{StaffGrouper} si la pauta forma parte de un
2037 grupo, o el @code{default-staff-staff-spacing} de la pauta en caso
2038 contrario. Esto hace posible que las pautas estén espaciadas de forma
2039 diferente cuando están agrupadas. Para conseguir un espaciado regular
2040 sin importar el agrupamiento, esta función se puede sustituir por una
2041 lista-A de espaciado flexible, utilizando la forma de
2042 sobreescritura de redefinición completa que se ha mostrado más arriba.
2044 @item default-staff-staff-spacing
2045 Una lista-A de espaciado flexible que define el
2046 espacio @code{staff-staff-spacing} que se usará para las pautas sin
2047 agrupar, a no ser que se haya sobreescrito explícitamente
2048 @code{staff-staff-spacing} con una instrucción @code{\override}.
2050 @item staff-affinity
2051 Dirección de la pauta que utilizar para el espaciado de la línea
2052 actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
2053 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
2054 línea del tipo no-pauta se coloca equidistante entre las dos pautas
2055 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
2056 restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
2057 han de llevar valores de @code{staff-affinity} no crecientes desde la
2058 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
2059 establecida a @code{UP} no debería seguir inmediatamente a otra que
2060 esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
2061 parte superior de un sistema deben usar @code{DOWN}; las de la parte
2062 inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
2063 para una pauta hace que se le trate como una línea que no es una
2064 pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
2065 una línea que no es una pauta hace que se trate como una pauta.
2066 Establecer @code{staff-affinity} a @code{UP}, @code{CENTER}, o
2067 @code{DOWN} hace que el pentagrama resulte espaciado como si fuera una
2068 línea que no es una pauta.
2070 @item nonstaff-relatedstaff-spacing
2071 Distancia entre la línea del tipo no-pauta actual y la pauta más
2072 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
2073 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
2074 @code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
2075 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
2076 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
2077 líneas del tipo no-pauta entre la pauta actual y una de las otras.
2078 Esto significa que la colocación de una línea que no es una pauta
2079 depende tanto de las pautas que la rodean como de las líneas que no
2080 son pautas y que la rodean. Establecer la ampliabilidad
2081 @code{stretchability} de uno de estos tipos de espaciado a un valor
2082 más pequeño provoca que este espaciado domine. El establecimiento de
2083 @code{stretchability} a un valor mayor hace que dicho espaciado tenga
2086 @item nonstaff-nonstaff-spacing
2087 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
2088 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
2089 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
2090 es @code{UP} o @code{DOWN}.
2092 @item nonstaff-unrelatedstaff-spacing
2093 Distancia entre la línea actual del tipo no-pauta y la pauta en la
2094 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
2095 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
2096 @code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
2097 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
2098 pauta a la que no pertenece.
2102 @subsubheading Propiedades del grob @code{StaffGrouper}
2104 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
2105 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
2109 @item staff-staff-spacing
2110 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
2111 La propiedad @code{staff-staff-spacing} del grob
2112 @code{VerticalAxisGroup} de una pauta individual se puede
2113 sobreescribir con distintos ajustes de espaciado para dicha
2116 @item staffgroup-staff-spacing
2117 Distancia entre la última pauta del grupo en curso y la pauta que está
2118 justo por debajo de ella dentro del mismo sistema, incluso si existen
2119 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
2120 las dos pautas. No se aplica al pentagrama o pauta inferior de un
2121 sistema. La propiedad @code{staff-staff-spacing} del grob
2122 @code{VerticalAxisGroup} de una pauta individual se puede
2123 sobreescribir con distintos ajustes de espaciado para dicha
2128 Referencia de la notación:
2129 @ref{Variables de espaciado de \paper verticales flexibles},
2130 @ref{Modificación de las listas-A}.
2132 Referencia de funcionamiento interno:
2133 @rinternals{Contexts},
2134 @rinternals{VerticalAxisGroup},
2135 @rinternals{StaffGrouper}.
2138 @file{ly/engraver-init.ly},
2139 @file{scm/define-grobs.scm}.
2142 @node Espaciado de pautas no agrupadas
2143 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2144 @translationof Spacing of ungrouped staves
2146 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2147 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2148 etc. son contextos que pueden contener uno o más contextos de voz,
2149 pero no pueden contener otras pautas.
2151 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2155 @item Propiedades de @code{VerticalAxisGroup}:
2157 @item @code{default-staff-staff-spacing}
2158 @item @code{staff-staff-spacing}
2162 Estas propiedades de grob se describen individualmente más arriba;
2163 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2165 Están implicadas ciertas propiedades adicionales para las pautas que
2166 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2168 El ejemplo siguiente muestra cómo la propiedad
2169 @code{default-staff-staff-spacing} puede afectar al espaciado de pautas no
2170 agrupadas. Las mismas sobreescrituras aplicadas a
2171 @code{staff-staff-spacing}
2172 tendrían el mismo efecto, pero también se aplicaría en caso de que las
2173 pautas estuvieran combinadas en un grupo o grupos.
2175 @lilypond[verbatim,quote,staffsize=16]
2179 \override VerticalAxisGroup #'default-staff-staff-spacing =
2180 #'((basic-distance . 8)
2181 (minimum-distance . 7)
2187 % The very low note here needs more room than 'basic-distance
2188 % can provide, so the distance between this staff and the next
2189 % is determined by 'padding.
2190 \new Staff { b,2 r | }
2192 % Here, 'basic-distance provides enough room, and there is no
2193 % need to compress the space (towards 'minimum-distance) to make
2194 % room for anything else on the page, so the distance between
2195 % this staff and the next is determined by 'basic-distance.
2196 \new Staff { \clef bass g2 r | }
2198 % By setting 'padding to a negative value, staves can be made to
2199 % collide. The lowest acceptable value for 'basic-distance is 0.
2201 \override VerticalAxisGroup #'default-staff-staff-spacing =
2202 #'((basic-distance . 3.5)
2204 } { \clef bass g2 r | }
2205 \new Staff { \clef bass g2 r | }
2211 @file{scm/define-grobs.scm}.
2213 Fragmentos de código:
2216 Referencia de funcionamiento interno:
2217 @rinternals{VerticalAxisGroup}.
2220 @node Espaciado de pautas agrupadas
2221 @unnumberedsubsubsec Espaciado de pautas agrupadas
2222 @translationof Spacing of grouped staves
2224 En partituras grandes como las orquestales, es común colocar los
2225 pentagramas en grupos. El espacio entre los grupos suele ser mayor
2226 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2228 Los grupos de pautas, @emph{Staff-groups} (tales como
2229 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2230 contener al mismo tiempo uno o más pentagramas o pautas.
2232 Las siguientes propiedades afectan al espaciado de las pautas dentro
2236 @item Propiedades de @code{VerticalAxisGroup}:
2238 @item @code{staff-staff-spacing}
2240 @item Propiedades de @code{StaffGrouper}:
2242 @item @code{staff-staff-spacing}
2243 @item @code{staffgroup-staff-spacing}
2247 Estas propiedades de grob se describen individualmente más arriba;
2248 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2250 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2251 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2253 @lilypond[verbatim,quote,staffsize=16]
2257 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2258 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2263 \new PianoStaff \with {
2264 \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2279 @file{scm/define-grobs.scm}.
2281 Fragmentos de código:
2284 Referencia de funcionamiento interno:
2285 @rinternals{VerticalAxisGroup},
2286 @rinternals{StaffGrouper}.
2289 @node Espaciado de las líneas que no son pautas
2290 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2291 @translationof Spacing of non-staff lines
2293 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2294 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2295 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2296 de los sistemas). Específicamente, las líneas que no son pautas son
2297 contextos del tipo no-pauta que crean el objeto de presentación
2298 @code{VerticalAxisGroup}.
2300 Las siguientes propiedades afectan al espaciado de las líneas que no
2304 @item Propiedades de @code{VerticalAxisGroup}:
2306 @item @code{staff-affinity}
2307 @item @code{nonstaff-relatedstaff-spacing}
2308 @item @code{nonstaff-nonstaff-spacing}
2309 @item @code{nonstaff-unrelatedstaff-spacing}
2313 Estas propiedades de grob se describen individualmente más arriba;
2314 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2316 El ejemplo siguiente muestra cómo la propiedad
2317 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2318 consecutivas que no son pautas. Aquí, mediante el establecimiento de
2319 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2320 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2322 @lilypond[verbatim,quote,staffsize=16]
2326 \override VerticalAxisGroup
2327 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2334 \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2337 \override VerticalAxisGroup #'staff-affinity = #UP
2340 \override VerticalAxisGroup #'staff-affinity = #CENTER
2341 } \lyricmode { center }
2343 \override VerticalAxisGroup #'staff-affinity = #DOWN
2344 } \lyricmode { down }
2352 @file{ly/engraver-init.ly},
2353 @file{scm/define-grobs.scm}.
2355 Fragmentos de código:
2358 @c @lsr{spacing,page-spacing.ly},
2359 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2361 Referencia de funcionamiento interno:
2362 @rinternals{Contexts},
2363 @rinternals{VerticalAxisGroup}.
2366 @node Posicionamiento explícito de los pentagramas y los sistemas
2367 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2368 @translationof Explicit staff and system positioning
2370 Una forma de entender los mecanismos del espaciado vertical
2371 flexible que se han explicado más arriba es como una
2372 colección de ajustes que controlan la cantidad de relleno
2373 vertical entre los pentagramas y los sistemas.
2375 Es posible enfrentarse al espaciado vertical de una forma distinta
2376 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2377 Mientras que los mecanismos del espaciado vertical flexible
2378 especifican relleno vertical, @code{NonMusicalPaperColumn
2379 #'line-break-system-details} puede especificar posiciones verticales
2380 exactas sobre la página.
2382 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2383 lista asociativa de tres ajustes diferentes:
2386 @item @code{X-offset} (desplazamiento en X)
2387 @item @code{Y-offset} (desplazamiento en Y)
2388 @item @code{alignment-distances} (distancias de alineación)
2391 Las sobreescrituras de los objetos gráficos, entre ellas las de
2392 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2393 tres lugares distintos dentro de un archivo de entrada:
2396 @item directamente en medio de las notas
2397 @item en un bloque @code{\context}
2398 @item en el bloque @code{\with}
2401 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2402 instrucción @code{\override} usual en los bloques @code{\context} y en
2403 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2404 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2405 instrucción especial @code{\overrideProperty}. He aquí algunas
2406 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2407 instrucción especial @code{\overrideProperty}:
2410 \overrideProperty NonMusicalPaperColumn
2411 #'line-break-system-details #'((X-offset . 20))
2413 \overrideProperty NonMusicalPaperColumn
2414 #'line-break-system-details #'((Y-offset . 40))
2416 \overrideProperty NonMusicalPaperColumn
2417 #'line-break-system-details #'((X-offset . 20)
2420 \overrideProperty NonMusicalPaperColumn
2421 #'line-break-system-details #'((alignment-distances . (15)))
2423 \overrideProperty NonMusicalPaperColumn
2424 #'line-break-system-details #'((X-offset . 20)
2426 (alignment-distances . (15)))
2429 Para entender cómo funciona cada uno de los distintos ajustes,
2430 empezamos observando un ejemplo que no incluye absolutamente ninguna
2433 @c \book { } is required in these examples to ensure the spacing
2434 @c overrides can be seen between systems. -np
2436 @lilypond[verbatim,quote,staffsize=16]
2437 \header { tagline = ##f }
2438 \paper { left-margin = 0\mm }
2448 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2451 \repeat unfold 15 { d'4 d' d' d' }
2458 Esta partitura mantiene aislada la información de los saltos de línea
2459 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2460 de saltos ayuda a mantener separada de la escritura de notas conforme
2461 el ejemplo se vuelve más complicado. Consulte
2462 @ref{Utilizar una voz adicional para los saltos de línea}.
2464 Los saltos explícitos dividen la música de forma regular en seis
2465 compases por línea. El espaciado vertical es el resultado de los
2466 ajustes predeterminados de LilyPond. Para establecer explícitamente
2467 el punto de origen vertical de cada sistema, podemos establecer el par
2468 @code{Y-offset} en el atributo @code{line-break-system-details} del
2469 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2471 @lilypond[verbatim,quote,staffsize=16]
2472 \header { tagline = ##f }
2473 \paper { left-margin = 0\mm }
2479 \overrideProperty #"Score.NonMusicalPaperColumn"
2480 #'line-break-system-details #'((Y-offset . 0))
2482 \overrideProperty #"Score.NonMusicalPaperColumn"
2483 #'line-break-system-details #'((Y-offset . 40))
2485 \overrideProperty #"Score.NonMusicalPaperColumn"
2486 #'line-break-system-details #'((Y-offset . 80))
2489 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2492 \repeat unfold 15 { d'4 d' d' d' }
2499 Observe que @code{line-break-system-details} toma una lista asociativa
2500 de una cantidad de valores potencialmente elevada, pero aquí sólo
2501 fijamos un valor. Observe también que aquí la propiedad
2502 @code{Y-offset} determina la posición vertical exacta sobre la página
2503 en la que se trazará cada uno de los nuevos sistemas.
2505 Ahora que hemos establecido explícitamente el punto de origen vertical
2506 de cada sistema, podemos también establecer manualmente las distancias
2507 verticales entre los pentagramas dentro de cada sistema. Lo hacemos
2508 usando la subpropiedad @code{alignment-distances} de
2509 @code{line-break-system-details}.
2511 @lilypond[verbatim,quote,staffsize=16]
2512 \header { tagline = ##f }
2513 \paper { left-margin = 0\mm }
2519 \overrideProperty #"Score.NonMusicalPaperColumn"
2520 #'line-break-system-details #'((Y-offset . 20)
2521 (alignment-distances . (15)))
2523 \overrideProperty #"Score.NonMusicalPaperColumn"
2524 #'line-break-system-details #'((Y-offset . 60)
2525 (alignment-distances . (15)))
2527 \overrideProperty #"Score.NonMusicalPaperColumn"
2528 #'line-break-system-details #'((Y-offset . 100)
2529 (alignment-distances . (15)))
2532 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2535 \repeat unfold 15 { d'4 d' d' d' }
2542 Observe que aquí asignamos dos valores distintos al atributo
2543 @code{line-break-system-details} del grob
2544 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2545 @code{line-break-system-details} acepta muchos parámetros de espaciado
2546 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2547 correspondiente), sólo tenemos que establecer el desplazamiento
2548 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2549 el punto de origen vertical de cada sistema y pentagrama. Finalmente,
2550 observe que @code{alignment-distances} especifica el posicionamiento
2551 vertical de los pentagramas pero no de los grupos de pentagramas.
2553 @lilypond[verbatim,quote,staffsize=16]
2554 \header { tagline = ##f }
2555 \paper { left-margin = 0\mm }
2561 \overrideProperty #"Score.NonMusicalPaperColumn"
2562 #'line-break-system-details #'((Y-offset . 0)
2563 (alignment-distances . (30 10)))
2565 \overrideProperty #"Score.NonMusicalPaperColumn"
2566 #'line-break-system-details #'((Y-offset . 60)
2567 (alignment-distances . (10 10)))
2569 \overrideProperty #"Score.NonMusicalPaperColumn"
2570 #'line-break-system-details #'((Y-offset . 100)
2571 (alignment-distances . (10 30)))
2574 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2577 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2578 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2585 Algunos puntos que tener en cuenta:
2588 @item Al usar @code{alignment-distances}, la letra
2589 y otras líneas que no son pautas, no cuentan como un pentagrama.
2591 @item Las unidades de los números que se pasan a @code{X-offset},
2592 @code{Y-offset} y @code{alignment-distances} se interpretan como
2593 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2594 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2595 los valores negativos mueven los pentagramas y la letra hacia abajo.
2597 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2598 #'line-break-system-details} dados aquí permiten el posicionamiento de
2599 pentagramas y sistemas en cualquier lugar de la página, es posible
2600 violar los márgenes o los límites del papel, o incluso imprimir
2601 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2602 a los diferentes ajustes unos valores razonables.
2607 Fragmentos de código:
2611 @node Evitar las colisiones verticales
2612 @subsection Evitar las colisiones verticales
2613 @translationof Vertical collision avoidance
2615 @funindex outside-staff-priority
2616 @funindex outside-staff-padding
2617 @funindex outside-staff-horizontal-padding
2619 Podemos decir intuitivamente que algunos objetos de la notación
2620 musical pertenecen al pentagrama y otros se sitúan fuera del
2621 pentagrama. Entre los objetos que pertenecen al exterior del
2622 pentagrama están las marcas de ensayo, las marcas textuales y las
2623 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2624 del pentagrama). La regla de LilyPond para la colocación vertical de
2625 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2626 como sea posible pero no tan próximos como para que choquen con otro
2629 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2630 determinar si un grob es un objeto fuera del pentagrama: si
2631 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2632 del pentagrama. Además, @code{outside-staff-priority} informa a
2633 LilyPond en qué orden se debe situar los objetos.
2635 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2636 exterior del pentagrama. Después ordena los objetos fuera del
2637 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2638 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2639 a uno y los coloca de forma que no choquen con ningún objeto que ya
2640 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2641 compiten por el mismo espacio, el que tiene la prioridad
2642 @code{outside-staff-priority} más baja se colocará más próximo al
2645 @lilypond[quote,ragged-right,relative=2,verbatim]
2648 \once \override TextScript #'outside-staff-priority = #1
2649 c4_"Text"\pp % this time the text will be closer to the staff
2651 % by setting outside-staff-priority to a non-number,
2652 % we disable the automatic collision avoidance
2653 \once \override TextScript #'outside-staff-priority = ##f
2654 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2655 c4_"Text"\pp % now they will collide
2658 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2659 posicionados previamente se puede controlar con
2660 @code{outside-staff-padding}.
2662 @lilypond[quote,ragged-right,relative=2,verbatim]
2663 \once \override TextScript #'outside-staff-padding = #0
2664 a'^"This text is placed very close to the note"
2665 \once \override TextScript #'outside-staff-padding = #3
2666 c^"This text is padded away from the previous text"
2667 c^"This text is placed close to the previous text"
2670 De forma predeterminada, los objetos fuera del pentagrama se colocan
2671 sólo para evitar una colisión horizontal con los grobs posicionados
2672 previamente. Esto puede llevar a situaciones en las que los objetos
2673 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2674 vertical entre pentagramas se puede fijar también de manera que los
2675 objetos fuera del pentagrama se sitúen de forma intercalada. El
2676 establecimiento del relleno horizontal
2677 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2678 desplace verticalmente para que tal situación no ocurra.
2680 @lilypond[quote,ragged-right,relative=2,verbatim]
2681 % the markup is too close to the following note
2685 % setting outside-staff-horizontal-padding fixes this
2687 \once \override TextScript #'outside-staff-horizontal-padding = #1
2695 Fragmentos de código:
2699 @node Espaciado horizontal
2700 @section Espaciado horizontal
2701 @translationof Horizontal spacing
2703 @cindex horizontal, espaciado
2704 @cindex espaciado horizontal
2707 * Panorámica del espaciado horizontal::
2708 * Área de espaciado nueva::
2709 * Cambiar el espaciado horizontal::
2710 * Longitud de la línea::
2711 * Notación proporcional::
2715 @node Panorámica del espaciado horizontal
2716 @subsection Panorámica del espaciado horizontal
2717 @translationof Horizontal spacing overview
2719 El motor de espaciado traduce las diferencias en las duraciones a
2720 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2721 duraciones más largas reciben un espacio mayor y las duraciones más
2722 cortas reciben menos. Las duraciones más breves reciben un espacio de
2723 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2724 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2725 duración, más espacio recibe: al doblar una duración se añade un
2726 espacio de tamaño fijo (este tamaño se controla mediante
2727 @code{spacing-increment}) a la nota.
2729 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2730 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2731 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2733 @lilypond[quote,verbatim,relative=1]
2734 c2 c4. c8 c4. c8 c4. c8 c8
2738 Normalmente, el valor de @code{spacing-increment} está establecido en
2739 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2740 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2741 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2742 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2743 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2744 símbolo, de manera que las notas más breves van seguidas generalmente
2745 por un espacio de 1 ACB.
2747 Si siguiésemos el procedimiento anterior exactamente, entonces la
2748 adición de una sola fusa a una partitura que usa corcheas y
2749 semicorcheas, aumentaría enormemente la anchura de la partitura
2750 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2751 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2752 duración más breve a efectos de espaciado no es la nota más breve de
2753 la partitura, sino la que ocurre con más frecuencia.
2755 La duración más breve que es más común se determina de la siguiente
2756 manera: en cada compás se determina la duración más breve. La menor
2757 duración más común se toma como base para el espaciado, habiendo
2758 estipulado que esta duración menor siempre debe ser igual o menor que
2759 una corchea. La duración más breve se imprime cuando se ejecuta
2760 @code{lilypond} con la opción @code{--verbose}.
2762 Estas duraciones también se pueden personalizar. Si establecemos la
2763 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2764 entonces éste establece la duración base para el espaciado. La
2765 duración máxima para esta base (normalmente una corchea), se fija a
2766 través de @code{base-shortest-duration}.
2768 @funindex common-shortest-duration
2769 @funindex base-shortest-duration
2770 @funindex stem-spacing-correction
2773 Las notas que son aún más breves que la nota común más breve van
2774 seguidas por un espacio proporcional a su duración en relación con la
2775 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2776 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2778 @lilypond[quote,verbatim,relative=2]
2779 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2783 En el @emph{Ensayo sobre grabado musical automatizado},
2785 direcciones de las plicas influyen en el espaciado
2786 (véase @ressay{Espaciado óptico}). Esto se controla
2787 con la propiedad @code{stem-spacing-correction} en el objeto
2788 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2789 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2790 (generado en el contexto de @rinternals{Staff}) contiene la misma
2791 propiedad para controlar el espaciado de las líneas de plica o
2792 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2793 con los valores predeterminados y otra con correcciones exageradas:
2795 @lilypond[quote,ragged-right]
2799 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2800 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2806 Está contemplada la notación proporcional; consulte
2807 @ref{Notación proporcional}.
2811 Fragmentos de código:
2814 Referencia de funcionamiento interno:
2815 @rinternals{SpacingSpanner},
2816 @rinternals{NoteSpacing},
2817 @rinternals{StaffSpacing},
2818 @rinternals{NonMusicalPaperColumn}.
2820 Ensayo sobre grabado musical automatizado:
2821 @ressay{Espaciado óptico}.
2826 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2827 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2828 adicional en una partitura, ajustando el valor del relleno en la
2832 \override Score.NonMusicalPaperColumn #'padding = #10
2835 No existe ningún rodeo para disminuir la magnitud de la separación.
2838 @node Área de espaciado nueva
2839 @subsection Área de espaciado nueva
2840 @translationof New spacing area
2842 Se pueden iniciar secciones nuevas con diferentes parámetros de
2843 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2844 secciones que tienen distinta noción de las notas largas y cortas.
2846 En el ejemplo siguiente, el cambio de compás introduce una sección
2847 nueva, y por ello las semicorcheas se separan de manera más amplia.
2849 @lilypond[relative=1,verbatim,quote]
2852 c8 c c4 c16[ c c8] c4
2858 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2859 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2860 instrucciones de sobreescritura @code{\override} en dicho punto.
2864 Fragmentos de código:
2867 Referencia de funcionamiento interno:
2868 @rinternals{SpacingSpanner}.
2871 @node Cambiar el espaciado horizontal
2872 @subsection Cambiar el espaciado horizontal
2873 @translationof Changing horizontal spacing
2875 Se puede alterar el espaciado horizontal con la propiedad
2876 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2877 vez sin alterar la propiedad, y luego alterándola. Los valores
2878 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2879 que @code{ly:make-moment} construye una duración, por lo que @code{1
2880 4} es una duración mayor que @code{1 16}.
2882 @lilypond[verbatim,line-width=12\cm]
2885 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2886 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2887 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2888 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2893 @lilypond[verbatim,line-width=12\cm]
2896 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2897 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2898 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2899 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2904 \override SpacingSpanner
2905 #'base-shortest-duration = #(ly:make-moment 1 16)
2914 De forma predeterminada, el espaciado en los grupos de valoración
2915 especial depende de varios factores ajenos a la duración (como
2916 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2917 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2918 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2919 puede cambiarse al principio de la partitura:
2921 @lilypond[quote,ragged-right,verbatim]
2940 \override SpacingSpanner #'uniform-stretching = ##t
2946 Cuando se establece @code{strict-note-spacing}, las notas se separan
2947 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2949 @lilypond[quote,ragged-right,relative=2,verbatim]
2950 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2951 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2956 Fragmentos de código:
2960 @node Longitud de la línea
2961 @subsection Longitud de la línea
2962 @translationof Line length
2964 @cindex saltos de página
2965 @cindex página, saltos de
2968 @funindex line-width
2969 @funindex ragged-right
2970 @funindex ragged-last
2972 @c Although line-width can be set in \layout, it should be set in paper
2973 @c block, to get page layout right.
2974 @c Setting indent in \paper block makes not much sense, but it works.
2976 @c Bit verbose and vague, use examples?
2977 Los ajustes más básicos que influyen en el espaciado son @code{indent}
2978 y @code{line-width}. Se definen en el bloque @code{\layout}.
2979 Controlan el sangrado de la primera línea de música y la longitud de
2982 Si se fija un valor verdadero para @code{ragged-right} en el bloque
2983 @code{\layout}, entonces los sistemas terminan en su longitud
2984 horizontal natural, en lugar de repartirse horizontalmente hasta
2985 llenar toda la línea. Esto es útil para fragmentos cortos, y para
2986 comprobar qué tan apretado es el espaciado natural.
2987 El valor normal predeterminado es falso, pero si la partitura
2988 tiene un solo sistema, el valor predeterminado es verdadero.
2991 @cindex diseño de página
2992 @cindex página, disposición de la
2993 @cindex vertical, espaciado
2995 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
2996 afecta sólo a la última línea de la pieza. No se efectúa ninguna
2997 restricción sobre dicha línea. El resultado es similar al formateo de
2998 los párrafos de texto. En un párrafo, la última línea sencillamente
2999 ocupa su longitud horizontal natural.
3000 @c Note that for text there are several options for the last line.
3001 @c While Knuth TeX uses natural length, lead typesetters use the same
3002 @c stretch as the previous line. eTeX uses \lastlinefit to
3003 @c interpolate between both these solutions.
3015 Fragmentos de código:
3019 @node Notación proporcional
3020 @subsection Notación proporcional
3021 @translationof Proportional notation
3023 LilyPond contempla la notación proporcional, un tipo de espaciado
3024 horizontal en el que cada nota consume una medida horizontal que
3025 equivale exactamente a su duración rítmica. Este tipo de espaciado
3026 proporcional es comparable al espaciado horizontal hecho sobre un
3027 papel milimetrado. Ciertas partituras del finales del s.XX y
3028 principios del s.XXI utilizan notación proporcional para clarificar
3029 relaciones rítmicas complejas o para facilitar la colocación de líneas
3030 cronométricas u otros gráficos directamente en la partitura.
3032 LilyPond contempla cinco ajustes distintos para la notación
3033 proporcional, que se pueden usar solos o combinados:
3036 @item @code{proportionalNotationDuration}
3037 @item @code{uniform-stretching}
3038 @item @code{strict-note-spacing}
3039 @item @code{\remove Separating_line_group_engraver}
3040 @item @code{\override PaperColumn #'used = ##t}
3043 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
3044 de la notación proporcional y examinamos la forma en que interactúan.
3046 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
3047 espaciado clásico sin justificación por la derecha.
3049 @lilypond[quote,verbatim,ragged-right]
3052 \new RhythmicStaff {
3056 c'16 c'16 c'16 c'16 c'16
3063 Observe que la blanca que inicia el compás ocupa mucho menos de la
3064 mitad de todo el espacio horizontal del compás. De forma similar, las
3065 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
3066 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
3069 En el grabado clásico, este espaciado puede ser exactamente el que
3070 deseamos porque podemos tomar prestado el espacio horizontal de la
3071 blanca y conservar el espacio horizontal a lo largo del compás como un
3074 Por otro lado, si queremos insertar una línea de tiempo graduada o
3075 algún otro gráfico encima o debajo de la partitura, necesitamos la
3076 notación proporcional. Se activa la notación proporcional con el
3077 ajuste @code{proportionalNotationDuration}.
3079 @lilypond[quote,verbatim,ragged-right]
3082 \new RhythmicStaff {
3086 c'16 c'16 c'16 c'16 c'16
3093 proportionalNotationDuration = #(ly:make-moment 1 20)
3099 La blanca al principio del compás y las notas rápidas de la segunda
3100 mitad del compás ocupan ahora cantidades iguales de espacio
3101 horizontal. Podríamos colocar una línea de tiempo graduada o un
3102 gráfico encima o debajo de este ejemplo.
3104 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
3105 que reside en @code{Score}. Recordemos que los ajustes de contexto
3106 aparecen en uno de tres posibles lugares del archivo de entrada: en un
3107 bloque @code{\with}, en un bloque @code{\context}, o directamente
3108 entre la música precedido por la instrucción @code{\set}. Como con
3109 todos los ajustes de contexto, el usuario puede elegir en cuál de los
3110 tres lugares diferentes prefiere establecer el valor de
3111 @code{proportionalNotationDuration}.
3113 El ajuste @code{proportionalNotationDuration} acepta un solo
3114 argumento, que es la duración de referencia contra el que se aplica el
3115 espaciado de toda la música. La función Scheme de LilyPond
3116 @code{make-moment} acepta dos argumentos: un numerador y un
3117 denominador que, juntos, expresan una cierta fracción de redonda. La
3118 llamada @code{#(ly:make-moment 1 20)}, por tanto, produce una duración
3119 de referencia de una nota de un veinteavo de redonda (semicorcheas de
3120 cinquillo). Son también posibles valores como
3121 @code{#(ly:make-moment 1 16)},
3122 @code{#(ly:make-moment 1 8)} y @code{#(ly:make-moment 3 97)}.
3124 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
3125 @code{proportionalNotationDuration}? Normalmente mediante un proceso
3126 de ensayo y error, comenzando con una duración cercana a la más rápida
3127 (o más breve) duración de la pieza. Las duraciones de referencia más
3128 pequeñas aplican un espaciado más suelto; las duraciones de referencia
3129 más largas aplican un espaciado más apretado.
3131 @lilypond[quote,verbatim,ragged-right]
3134 \new RhythmicStaff {
3138 c'16 c'16 c'16 c'16 c'16
3145 proportionalNotationDuration = #(ly:make-moment 1 8)
3152 \new RhythmicStaff {
3156 c'16 c'16 c'16 c'16 c'16
3163 proportionalNotationDuration = #(ly:make-moment 1 16)
3170 \new RhythmicStaff {
3174 c'16 c'16 c'16 c'16 c'16
3181 proportionalNotationDuration = #(ly:make-moment 1 32)
3187 Observe que una duración de referencia demasiado grande (como la
3188 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3189 apretado y puede ser causa de colisiones entre las cabezas de nota.
3190 Observe también que la notación proporcional en general ocupa más
3191 espacio horizontal que el espaciado clásico. El espaciado
3192 proporcional aporta claridad rítmica a expensas del espacio
3195 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3196 especial que se superponen.
3198 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3199 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3200 diferente de grupo especial.
3202 @lilypond[quote,verbatim,ragged-right]
3205 \new RhythmicStaff {
3209 c'16 c'16 c'16 c'16 c'16
3212 \new RhythmicStaff {
3214 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3221 El espaciado es defectuoso porque las notas regularmente espaciadas
3222 del pentagrama inferior no se amplían de manera uniforme. Los grabados
3223 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3224 grabado clásico pueden generar este tipo de resultado. El
3225 establecimiento de @code{proportionalNotationDuration} lo
3228 @lilypond[quote,verbatim,ragged-right]
3231 \new RhythmicStaff {
3235 c'16 c'16 c'16 c'16 c'16
3238 \new RhythmicStaff {
3240 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3247 proportionalNotationDuration = #(ly:make-moment 1 20)
3254 Pero si observamos con mucho cuidado podremos ver que las notas de la
3255 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3256 ancha que las de la primera mitad del 9-illo. Para asegurar una
3257 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3258 propiedad de @code{SpacingSpanner}.
3260 @lilypond[quote,verbatim,ragged-right]
3263 \new RhythmicStaff {
3267 c'16 c'16 c'16 c'16 c'16
3270 \new RhythmicStaff {
3272 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3279 proportionalNotationDuration = #(ly:make-moment 1 20)
3280 \override SpacingSpanner #'uniform-stretching = ##t
3286 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3287 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3288 una línea de tiempo graduada o un gráfico, si queremos.
3290 Observe que el paquete de notación proporcional de LilyPond espera que
3291 todas las partituras proporcionales establezcan el atributo
3292 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
3293 establecimiento de @code{proportionalNotationDuration} sin ajustar
3294 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3295 al valor ##t causará, por ejemplo, que los desplazamientos
3296 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3298 El @code{SpacingSpanner} es un grob abstracto que reside en el
3299 contexto de @code{Score}. Como con nuestros ajustes de
3300 @code{proportionalNotationDuration}, las sobreescrituras al
3301 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3302 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3303 @code{\context} o directamente dentro de la escritura de notas.
3305 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3306 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
3307 está activado para la partitura completa o desactivado para la
3308 partitura completa. Sin embargo, podemos sobreescribir este
3309 comportamiento y activar distintas posibilidades de espaciado en
3310 distintos lugares de la partitura. Lo hacemos con la instrucción
3311 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
3312 para más información.
3314 A continuación examinamos los efectos del grabador
3315 @code{Separating_line_group_engraver} y veremos por qué las partituras
3316 proporcionales con frecuencia eliminan este grabador. El ejemplo
3317 siguiente muestra que hay una pequeña cantidad de espacio
3318 @qq{preliminar} justo antes de la primera nota de cada sistema.
3320 @lilypond[quote,verbatim,ragged-right]
3333 Esta cantidad de espacio preliminar es la misma ya sea después de
3334 una indicación de compás, una armadura o una clave. El grabador
3335 @code{Separating_line_group_engraver} es responsable de este espacio.
3336 La eliminación de @code{Separating_line_group_engraver} reduce este
3339 @lilypond[quote,verbatim,ragged-right]
3345 \remove Separating_line_group_engraver
3353 Los elementos no musicales como la indicación de compás, la armadura,
3354 la clave y las alteraciones son problemáticos en notación
3355 proporcional. Ninguno de estos elementos tiene duración rítmica.
3356 Pero todos ellos consumen espacio horizontal. Las distintas
3357 partituras proporcionales abordan este problema de distinta manera.
3359 Sería posible evitar los problemas de espaciado con las armaduras,
3360 simplemente evitando tenerlas. Esta es una opción válida pues casi
3361 todas las partituras proporcionales son música contemporánea. Lo
3362 mismo puede valer para las indicaciones de compás, especialmente para
3363 las partituras que incluyen una línea de tiempo graduada u otro
3364 gráfico. Pero estas partituras son excepcionales y casi todas las
3365 partituras proporcionales incluyen al menos unas pocas indicaciones de
3366 compás. Las claves y las alteraciones son aún más esenciales.
3368 Así pues ¿qué estrategias existen para el espaciado de los elementos
3369 no musicales en un contexto proporcional? Una buena opción es la
3370 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3371 Compare las dos partituras siguientes:
3373 @lilypond[quote,verbatim,ragged-right]
3375 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3385 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3386 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3396 Las dos partituras son proporcionales, pero el espaciado de la
3397 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3398 espaciado de la segunda partitura se mantiene estricto, porque
3399 @code{strict-note-spacing} está activado. La activación de
3400 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3401 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3402 el algoritmo de espaciado.
3404 Además de los ajustes dados aquí, hay otros que aparecen con
3405 frecuencia en las partituras proporcionales. Entre ellos están:
3408 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3409 @item @code{tupletFullLength = ##t}
3410 @item @code{\override Beam #'breakable = ##t}
3411 @item @code{\override Glissando #'breakable = ##t}
3412 @item @code{\override TextSpanner #'breakable = ##t}
3413 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3416 Estos ajustes dan a las notas de adorno un espaciado estricto,
3417 extienden los corchetes de grupo especial para que marquen tanto los
3418 puntos de comienzo como de final, y permiten que los elementos de
3419 extensión se dividan entre los sistemas y las páginas. Consulte las
3420 partes respectivas del manual para ver estos ajustes relacionados.
3424 Referencia de la notación:
3425 @ref{Área de espaciado nueva}.
3427 Fragmentos de código:
3431 @node Encajar la música en menos páginas
3432 @section Encajar la música en menos páginas
3433 @translationof Fitting music onto fewer pages
3435 En ocasiones, podemos terminar con uno o dos pentagramas en una
3436 segunda página (o tercera, o cuarta...). Es fastidioso, especialmente
3437 cuando vemos que las páginas anteriores parecen tener espacio de
3440 Al investigar los problemas de disposición, una herramienta de valor
3441 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3442 valores de un cierto número de variables de espaciado; para ver más
3443 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3446 * Mostrar el espaciado::
3447 * Cambiar el espaciado::
3451 @node Mostrar el espaciado
3452 @subsection Mostrar el espaciado
3453 @translationof Displaying spacing
3455 @cindex espaciado, presentación del
3456 @funindex annotate-spacing
3458 Para presentar gráficamente las dimensiones de las variables de
3459 disposición vertical que pueden verse alteradas por el formato de la
3460 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3462 @c need to have \book{} otherwise we get the separate systems. -hwn
3463 @lilypond[verbatim,quote]
3464 #(set-default-paper-size "a6" 'landscape)
3467 \paper { annotate-spacing = ##t }
3473 Todas las dimensiones de disposición se muestran en espacios de
3474 pentagrama, independientemente de las unidades especificadas en los
3475 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3476 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3477 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3478 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3480 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3483 @tab = (25.4/72.27) mm
3486 @tab = (@code{staff-size})/4 pts
3488 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3493 En este caso, un @code{staff-space} equivale aproximadamente a
3494 1.757mm. Así, la medida @code{paper-height} de 59.75
3495 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3496 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3497 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3498 superior del intervalo.
3502 Referencia de la notación:
3503 @ref{Establecer el tamaño del pentagrama}.
3505 Fragmentos de código:
3509 @node Cambiar el espaciado
3510 @subsection Cambiar el espaciado
3511 @translationof Changing spacing
3513 La salida de @code{annotate-spacing} revela las dimensiones verticales
3514 con gran detalle. Para ver más detalles acerca de la modificación de
3515 los márgenes y otras variables de diseño de la página, consulte
3516 @ref{Disposición de la página}.
3518 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3522 Forzar los sistemas para que se junten lo más posible entre sí (de
3523 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3524 tiempo estén espaciados de forma que no exista un espacio vacío en la
3525 parte baja del papel.
3529 system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
3530 ragged-last-bottom = ##f
3536 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3537 Si tan sólo se establece un valor, incluso el mismo valor que el
3538 número de sistemas que se están trazando de forma predeterminada, ello
3539 ocasionará a veces que se traten de introducir más sistemas en cada
3540 página, pues en este caso se omite un paso en que se produce una
3541 estimación, dando así un encaje mejor en cada página. Asimismo, el
3542 forzar una reducción neta en el número de sistemas puede producir el
3543 ahorro de una página adicional. Por ejemplo, si la disposición
3544 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3545 disposición con 10 sistemas.
3554 Evitar (o reducir en número) los objetos que aumentan el tamaño
3555 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3556 segunda vez (o repeticiones con finales alternativos) necesitan
3557 espacio adicional. Si estas repeticiones se reparten a lo largo de
3558 dos sistemas, ocupan más espacio que un sistema con las casillas de
3559 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3560 dinámicas que se @q{salen} de un sistema se pueden acercar al
3563 @lilypond[verbatim,quote,relative=1]
3565 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3569 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3570 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3571 El ejemplo siguiente ilustra el espaciado predeterminado:
3573 @lilypond[verbatim,quote]
3586 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3587 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3588 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3589 duración se produce un efecto de @q{apretujamiento}:
3591 @lilypond[verbatim,quote]
3603 \override SpacingSpanner
3604 #'common-shortest-duration = #(ly:make-moment 1 2)
3611 La propiedad @code{common-shortest-duration} no se puede modificar de
3612 manera dinámica, por lo que se debe situar siempre dentro de un
3613 bloque @code{\context} de forma que se aplique a la partitura
3620 Referencia de la notación:
3621 @ref{Disposición de la página},
3622 @ref{Cambiar el espaciado horizontal}.
3624 Fragmentos de código: