1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 17ca0c2843f39775c3a9632e132b62dceba19a69
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..
15 This block comment is copied here to ease comparation of
16 original and its translation.
18 Negative numbers are allowed:
19 > Are you sure? The following works well
21 > first-page-number = -2
23 > and prints page number -1 on the second page, for example.
26 In 5.2.1 the @refbugs (line 495 in spacing.itely on master) it
29 "@code{layout-set-staff-size} does not change the distance between
33 Could we add a sentence:
34 "Use instead the pair fontSize = #@var{N}
35 \override StaffSymbol #'staff-space = #(magstep
37 inside the Staff context to change the size of the font and the
39 staff lines accordingly."
41 Actually I found, that the @internalsref{StaffSymbol} at line 481
42 sends to an incomplete
43 documentation. The property staff-space is not explained here. I
44 thought Y-extent might be of
45 help, but it is in turn explained by x-space which again is
46 missing from the list. Who has the
47 knowledge to fix this?
51 http://code.google.com/p/lilypond/issues/detail?id=68
56 @node Problemas de espaciado
57 @chapter Problemas de espaciado
58 @translationof Spacing issues
60 La disposición global sobre el papel viene determinada por tres
61 factores: el diseño de página, los saltos de línea y el espaciado.
62 Estos factores influyen entre sí. La elección de uno u otro espaciado
63 determina qué densidad termina teniendo cada sistema de música. Esto
64 influye en el lugar en que se eligen los saltos de línea y, en último
65 término, en el número de páginas que tiene una partitura.
67 Considerado globalmente, este proceso se produce en cuatro fases: en
68 primer lugar se eligen unas distancias elásticas o @q{muelles},
69 basados en la duración de las figuras. Se prueban todas las
70 combinaciones de saltos de línea posibles, y para cada una de ellas se
71 calcula una puntuación de @q{maldad}. Después se hace una estimación
72 de la altura de cada uno de los posibles sistemas. Finalmente se
73 selecciona una combinación de saltos de página y de línea de tal forma
74 que ni el espaciado horizontal ni el vertical estén demasiado
75 estrechos ni estirados.
77 Hay dos tipos de bloques que pueden contener ajustes de disposición:
78 @code{\paper @{@dots{}@}} y @code{\layout @{@dots{}@}}. El bloque
79 @code{\paper} contiene ajustes de disposición de la página que se
80 espera sean los mismos para todas las partituras de un libro, como la
81 altura de la hoja o si se imprimen los números de página, etc. Véase
82 @ref{Disposición de la página}. El bloque @code{\layout} contiene
83 ajustes de disposición de la partitura, como el número de sistemas que
84 utilizar, o la separación entre grupos de pentagramas, etc. Véase
85 @ref{Disposición de la partitura}.
88 * Disposición de la página::
89 * Disposición de la partitura::
91 * Espaciado vertical::
92 * Espaciado horizontal::
93 * Encajar la música en menos páginas::
97 @node Disposición de la página
98 @section Disposición de la página
99 @translationof Page layout
101 Esta sección estudia las opciones de disposición de la página para el
102 bloque @code{\paper}.
106 * Tamaño del papel y escalado automático::
107 * Variables de espaciado de \paper verticales fijas::
108 * Variables de espaciado de \paper verticales flexibles::
109 * Variables de espaciado de \paper horizontales::
110 * Otras variables de \paper::
114 @node El bloque \paper
115 @subsection El bloque @code{\paper}
116 @translationof The \paper block
118 El bloque @code{\paper} puede aparecer dentro de un bloque
119 @code{\book}, pero no dentro de un bloque @code{\score}. Los ajustes
120 de un bloque @code{\paper} se aplican a todo el libro, que puede
121 comprender varias partituras. Entre los ajustes que pueden aparecer
122 dentro de un bloque @code{\paper} están los siguientes:
127 la función de Scheme @code{set-paper-size},
130 variables de @code{\paper} utilizadas para personalizar la disposición
134 definiciones de marcado utilizadas para personalizar la disposición de
135 los encabezamientos, pies y títulos.
139 La función @code{set-paper-size} se estudia en la sección siguiente,
140 @ref{Tamaño del papel y escalado automático}. Las variables de
141 @code{\paper} que se ocupan de la disposición de la página
142 se estudian en secciones posteriores. Las definiciones de elementos
143 de marcado que se encargan de los encabezamientos, pies y títulos se
144 estudian en @ref{Cabeceras pies y títulos personalizados}.
146 Casi todas las variables de @code{\paper} funcionan solamente dentro
147 de un bloque @code{\paper}. Las pocas que funcionan también en un
148 bloque @code{\layout} están relacionadas en @ref{El bloque \layout}.
150 Excepto cuando se especifica lo contrario, todas las variables de
151 @code{\paper} que corresponden a distancias sobre la página se miden
152 en milímetros, a no ser que el usuario especifique unas unidades
153 diferentes. Por ejemplo, la declaración siguiente
154 establece el margen superior @code{top-margin} a diez milímetros:
162 Para fijarlo en @code{0.5} pulgadas, utilice el sufijo de unidades
171 Los sufijos de unidades que están disponibles son @code{\mm},
172 @code{\cm}, @code{\in} y @code{\pt}. Estas unidades son valores
173 simples para convertir a partir de milímetros; están definidos en
174 @file{ly/paper-defaults-init.ly}. Por claridad, al usar milímetros,
175 se suele escribir el sufijo @code{\mm} aunque no es necesario
178 También es posible definir valores de @code{\paper} utilizando Scheme.
179 El equivalente de Scheme del ejemplo anterior es:
183 #(define top-margin (* 0.5 in))
188 Referencia de la notación:
189 @ref{Tamaño del papel y escalado automático},
190 @ref{Cabeceras pies y títulos personalizados},
191 @ref{El bloque \layout}.
194 @file{ly/paper-defaults-init.ly}.
197 @node Tamaño del papel y escalado automático
198 @subsection Tamaño del papel y escalado automático
199 @translationof Paper size and automatic scaling
201 @cindex tamaño del papel
202 @cindex tamaño de la página
207 * Fijar el tamaño del papel::
208 * Escalado automático al tamaño del papel::
212 @node Fijar el tamaño del papel
213 @unnumberedsubsubsec Fijar el tamaño del papel
214 @translationof Setting paper size
216 Existen dos funciones para cambiar el tamaño del papel:
217 @code{set-default-paper-size} (establecer tamaño de página
218 predeterminado) y @code{set-paper-size} (establecer tamaño de página).
219 @code{set-default-paper-size} se debe poner en el ámbito del nivel
220 superior, y @code{set-paper-size} se debe poner en un bloque
224 #(set-default-paper-size "a4")
229 #(set-paper-size "a4")
234 Dentro del ámbito del nivel jerárquico superior, se puede llamar sin
235 riesgo a la función @code{set-default-paper-size} desde cualquier
236 lugar antes del primer bloque @code{\paper} block. Dentro de un
237 bloque @code{\paper}, el lugar más seguro para llamar a
238 @code{set-paper-size} es al principio, por encima de la lista de
239 declaraciones de variables. Se explican las razones de esto en
240 @ref{Escalado automático al tamaño del papel}.
242 @code{set-default-paper-size} establece el tamaño de todas las
243 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
244 de las páginas a las que se aplica el bloque @code{\paper}. Por
245 ejemplo, si el bloque @code{\paper} está al principio del archivo,
246 aplica el tamaño de papel a todas las páginas. Si el bloque
247 @code{\paper} está dentro de un bloque @code{\book}, entonces el
248 tamaño del papel sólo se aplica a ese libro.
250 Se encuentran disponibles los tamaños de papel más comunes, entre
251 ellos @code{a4}, @code{letter}, @code{legal} y @code{11x17} (conocido
252 también como tabloide). Están contemplados muchos más tamaños de papel
253 de forma predeterminada. Para ver más detalles, consulte
254 @file{scm/paper.scm} y busque la definición de @code{paper-alist}.
256 @c TODO add a new appendix for paper sizes (auto-generated) -pm
258 @warning{El tamaño predeterminado del papel es @code{a4}.}
260 Se pueden añadir tamaños adicionales editando la definición de
261 @code{paper-alist} en el archivo de inicio @file{scm/paper.scm},
262 aunque se sobreescribirán en la siguiente reinstalación del programa.
266 @cindex horizontal, papel
268 Si se añade el símbolo @code{'landscape} (apaisado) como argumento a
269 @code{set-default-paper-size}, las páginas se giran 90 grados y se
270 establece en consonancia una mayor longitud de las líneas.
273 #(set-default-paper-size "a6" 'landscape)
277 Referencia de la notación:
278 @ref{Escalado automático al tamaño del papel}.
281 @file{scm/paper.scm}.
284 @node Escalado automático al tamaño del papel
285 @unnumberedsubsubsec Escalado automático al tamaño del papel
286 @translationof Automatic scaling to paper size
288 Si se cambia el tamaño del papel con una de las funciones de Scheme
289 (@code{set-default-paper-size} o @code{set-paper-size}), los valores
290 de algunas variables de @code{\paper} se escalan automáticamente al
291 nuevo tamaño. Para sortear el escalado automático para una variable
292 determinada, fije el valor de la variable después de establecer el
293 tamaño del papel. Observe que el escalado automático no se activa
294 mediante el ajuste de las variables
295 @code{paper-height} o de @code{paper-width},
296 incluso aunque @code{paper-width} puede influir sobre otros valores
297 (esto es distinto al escalado y se estudia más abajo). Las funciones
298 @code{set-default-paper-size} y @code{set-paper-size} se describen en
299 @ref{Fijar el tamaño del papel}.
301 Las dimensiones verticales afectadas por el escalado automático son
302 @code{top-margin} y @code{bottom-margin}
303 (véase @ref{Variables de espaciado de \paper verticales fijas}).
305 horizontales afectadas por el escalado automático son
306 @code{left-margin}, @code{right-margin}, @code{inner-margin},
307 @code{outer-margin}, @code{binding-offset}, @code{indent} y
308 @code{short-indent} (véase
309 @ref{Variables de espaciado de \paper horizontales}).
311 Los valores predeterminados para estas dimensiones están fijados en el
312 archivo @file{ly/paper-defaults-init.ly}, usando variables internas
313 llamadas @code{top-margin-default}, @code{bottom-margin-default}, etc.
314 Estos son los valores que resultan del tamaño predeterminado del papel
315 @code{a4}. Como referencia, con el papel @code{a4} la altura
316 @code{paper-height} es @code{297\mm} y la anchura @code{paper-width}
320 Referencia de la notación:
321 @ref{Variables de espaciado de \paper verticales fijas},
322 @ref{Variables de espaciado de \paper horizontales}.
325 @file{ly/paper-defaults-init.ly},
326 @file{scm/paper.scm}.
329 @node Variables de espaciado de \paper verticales fijas
330 @subsection Variables de espaciado de @code{\paper} verticales fijas
331 @translationof Fixed vertical spacing \paper variables
333 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
334 automáticamente al tamaño del papel, lo que puede llevar a un
335 comportamiento no esperado. Véase @ref{Escalado automático al tamaño
338 Los valores predeterminados (previos al escalado) están definidos en
339 el archivo @file{ly/paper-defaults-init.ly}.
342 @item paper-height (altura del papel)
343 @funindex paper-height
345 Altura de la página, no fijada de forma predeterminada. Observe que
346 el escalado automático de algunas dimensiones verticales no resulta
349 @item top-margin (margen superior)
352 Margen entre el extremo superior de la página y la parte superior de
353 la zona imprimible. Si se modifica el tamaño del papel, el valor
354 predeterminado de esta dimensión se escala de acuerdo con ello.
356 @item bottom-margin (margen inferior)
357 @funindex bottom-margin
359 Margen entre la parte inferior de la zona imprimible y el extremo
360 inferior de la página. Si se modifica el tamaño del papel, se escala
361 de acuerdo con ello el valor predeterminado de esta dimensión.
363 @item ragged-bottom (sin justificar por abajo)
364 @funindex ragged-bottom
366 Si se fija al valor verdadero, los sistemas no se reparten
367 verticalmente hasta abajo de la página. Esto no afecta a la última
368 página. Se debe fijar a verdadero para piezas que sólo tienen dos o
369 tres sistemas por página, como por ejemplo las partituras orquestales.
371 @item ragged-last-bottom (sin justificar la última por abajo)
372 @funindex ragged-last-bottom
374 Si se establece al valor falso, los sistemas se reparten verticalmente
375 hasta abajo de la última página. Las piezas que llenan sobradamente
376 dos o más páginas deben tener este valor fijado a verdadero. También
377 afecta a la última página de las partes de libro, es decir, partes de
378 un libro creadas con bloques @code{\bookpart}.
383 Referencia de la notación:
384 @ref{Escalado automático al tamaño del papel}.
387 @file{ly/paper-defaults-init.ly}.
389 Fragmentos de código:
394 Los títulos (extraídos del bloque @code{\header}) se tratan como
395 sistemas, así pues @code{ragged-bottom} y @code{ragged-last-bottom}
396 aumentan la separación entre los títulos y el primer sistema de la
399 Los tamaños de papel definidos explícitamente
400 sobreescriben cualquier ajuste de los márgenes
401 superior o inferior definidos por el usuario.
404 @node Variables de espaciado de \paper verticales flexibles
405 @subsection Variables de espaciado de @code{\paper} verticales flexibles
406 @translationof Flexible vertical spacing \paper variables
408 En casi todos los casos es preferible que las distancias verticales
409 entre ciertos elementos (como márgenes, títulos, sistemas y las
410 distintas partituras) sean flexibles, de manera que se amplíen y
411 compriman adecuadamente dependiendo de la situación. Están
412 disponibles un cierto número de variables del bloque @code{\paper}
413 (relacionadas más abajo) para realizar un ajuste fino del
414 comportamiento de estas dimensiones frente a su ampliación o
417 Observe que las variables de @code{\paper} que se estudian en esta
418 sección no controlan el espaciado de los pentagramas que están dentro
419 de los sistemas individuales. El espaciado dentro de los sistemas se
420 controla por medio de propiedades de grob, con ajustes que se escriben
421 normalmente dentro de un bloque @code{\score} o @code{\layout}, y no
422 dentro del bloque @code{\paper}.
423 Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
426 * Estructura de las listas-A de espaciado vertical flexible::
427 * Lista de variables de espaciado de \paper verticales flexibles::
431 @node Estructura de las listas-A de espaciado vertical flexible
432 @unnumberedsubsubsec Estructura de las listas-A de espaciado vertical flexible
433 @translationof Structure of flexible vertical spacing alists
435 Cada una de las variables de espaciado de @code{\paper} flexibles es
436 una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
441 @code{basic-distance} (distancia básica):
442 distancia vertical, medida en espacios de pentagrama, entre los
443 @emph{puntos de referencia} de los dos elementos, cuando no resulte
444 ninguna colisión, y no se produzca ninguna ampliación o compresión.
445 El punto de referencia de un elemento de marcado (de título o del
446 nivel jerárquico superior) es su punto más alto, y el punto de
447 referencia de un sistema es el centro vertical del @code{StaffSymbol}
448 más cercano (incluso si se trata de una línea que no es un pentagrama,
449 como un contexto @code{Lyrics}). Los valores de @code{distancia básica} menores
450 de @code{padding} o de @code{minimum-distance} no son significativos,
451 porque la distancia resultante nunca será menor de @code{padding} o de
452 @code{minimum-distance}.
455 @code{minimum-distance} (distancia mínima):
456 la distancia vertical mínima permitida, medida en espacios de
457 pentagrama, entre los puntos de referencia de los dos elementos,
458 cuando se produce una compresión. Los valores de
459 @code{minimum-distance} menores de @code{padding} no son
460 significativos, porque la distancia resultante nunca será menor de
463 @c TODO: explain skylines somewhere and xref to it from here.
466 @code{padding} (relleno):
467 mínimo espacio vertical vacío necesario entre los rectángulos
468 circundantes (o las líneas de horizonte) de los dos elementos,
469 medido en espacios de pentagrama.
472 @code{stretchability} (ampliabilidad):
473 medida sin unidades de la propensión relativa de esta dimensión a
474 ampliarse. Si es cero, la distancia no se ampliará (a no ser que
475 resultasen colisiones). Si es positiva, la significación del valor de
476 ampliabilidad de una dimensión concreta depende solamente de su
477 relación con los valores de @code{stretchability} de las otras
478 dimensiones. Por ejemplo, si una dimensión tiene el doble de
479 @code{stretchability} que otra, se ampliará con el doble de facilidad.
480 Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
481 desencadena un error de programación y se ignora, pero se puede usar
482 @code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
483 fija un valor, el valor predeterminado se establece a @code{basic-distance}.
484 Observe que la propensión de la dimensión a @emph{comprimirse} no se
485 puede establecer directamente por el usuario y es igual a
486 (@code{basic-distance}@tie{}@minus{}@tie{}@code{minimum-distance}).
490 Si una página tiene un margen inferior no justificado, la distancia
491 resultante es la mayor de:
496 @code{basic-distance},
499 @code{minimum-distance}, y
502 @code{padding} más la menor distancia necesaria
503 para eliminar las colisiones.
507 Los métodos específicos para la modificación de las listas-A se
508 estudian en @ref{Modificación de las listas-A}. El siguiente ejemplo
509 muestra las dos formas en que pueden modificarse estas listas-A. La
510 primera declaración actualiza un par clave-valor individualmente, y la
511 segunda redefine la variable completamente:
515 system-system-spacing #'basic-distance = #8
516 score-system-spacing =
517 #'((basic-distance . 12)
518 (minimum-distance . 6)
520 (stretchability . 12))
525 @node Lista de variables de espaciado de \paper verticales flexibles
526 @unnumberedsubsubsec Lista de variables de espaciado de @code{\paper} verticales flexibles
527 @translationof List of flexible vertical spacing \paper variables
529 Los nombres de estas variables siguen el formato
530 @code{@var{superior}-@var{inferior}-spacing}, donde
531 @code{@var{superior}} e @code{@var{inferior}} son los elementos que
532 van a ser espaciados. Cada distancia se mide entre los puntos de
533 referencia de los dos elementos (véase más arriba la descripción de la
534 estructura de la lista-A). Observe que en estos nombres de variable,
535 el término @q{@code{markup}} se refiere tanto a @emph{elementos de
536 marcado de título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup})
537 como a @emph{elementos de marcado del nivel superior} (véase
538 @ref{Estructura del archivo}). Todas las distancias se miden en
539 espacios de pentagrama.
541 Los ajustes predeterminados están definidos en el archivo
542 @file{ly/paper-defaults-init.ly}.
544 @c TODO: Where do headers/footers fit in? -mp
547 @item markup-system-spacing
548 @funindex markup-system-spacing
550 distancia entre un elemento de marcado (de título o del nivel
551 superior) y el sistema que le sigue.
553 @item score-markup-spacing
554 @funindex score-markup-spacing
556 distancia entre el último sistema de una partitura y el elemento de
557 marcado (de título o del nivel superior) que le sigue.
559 @item score-system-spacing
560 @funindex score-system-spacing
562 distancia entre el último sistema de una partitura y el primer sistema
563 de la partitura que le sigue, cuando no existe ningún elemento de
564 marcado (de título o del nivel superior) entre ellos.
566 @item system-system-spacing
567 @funindex system-system-spacing
569 distancia entre dos sistemas dentro de la misma partitura.
571 @item markup-markup-spacing
572 @funindex markup-markup-spacing
574 distancia entre dos elementos de marcado (de título o del nivel
577 @item last-bottom-spacing
578 @funindex last-bottom-spacing
580 distancia desde el último sistema o elemento de marcado del nivel
581 superior en una página, hasta la parte inferior de la zona imprimible
582 (es decir, el extremo superior del margen inferior).
584 @item top-system-spacing
585 @funindex top-system-spacing
587 distancia desde la parte superior de la zona imprimible (es decir, el
588 extremo inferior del margen superior) hasta el primer sistema de una
589 página, cuando no hay ningún elemento de marcado (de título o del
590 nivel superior) entre los dos.
592 @item top-markup-spacing
593 @funindex top-markup-spacing
595 distancia desde el extremo superior de la zona imprimible (es decir,
596 el extremo inferior del margen superior) hasta el primer elemento de
597 marcado (de título o del nivel superior) sobre una página, cuando no
598 hay ningún sistema entre los dos.
602 Referencia de la notación:
603 @ref{Espaciado vertical flexible dentro de los sistemas}.
606 @file{ly/paper-defaults-init.ly}.
608 Fragmentos de código:
612 @node Variables de espaciado de \paper horizontales
613 @subsection Variables de espaciado de \paper horizontales
614 @translationof Horizontal spacing \paper variables
616 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
617 automáticamente al tamaño del papel, lo que puede dar lugar a un
618 comportamiento distinto al esperado. Véase
619 @ref{Escalado automático al tamaño del papel}.}
622 * Variables de \paper para la anchura y los márgenes::
623 * Variables de \paper para el modo de doble cara::
624 * Variables de \paper para desplazamientos y sangrados::
628 @node Variables de \paper para la anchura y los márgenes
629 @unnumberedsubsubsec Variables de @code{\paper} para la anchura y los márgenes
630 @translationof \paper variables for widths and margins
632 Los valores predeterminados (antes del escalado) que no están
633 relacionados aquí se encuentran definidos en el archivo
634 @file{ly/paper-defaults-init.ly}.
639 @funindex paper-width
641 Anchura de la página, sin fijar de forma predeterminada. Aunque
642 @code{paper-width} no tiene ningún efecto sobre el escalado automático
643 de algunas dimensiones horizontales, sí influye sobre la variable
644 @code{line-width}. Si están establecidas las dos variables
645 @code{paper-width} y @code{line-width}, entonces también se actualizan
646 @code{left-margin} y @code{right-margin}. Véase también
647 @code{check-consistency}.
652 Dimensiones horizontales de las líneas del pentagrama en los sistemas
653 sin sangrado y justificados, igual a
654 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
655 cuando está sin fijar. Si @code{line-width} está fijado, y tanto
656 @code{left-margin} como @code{right-margin} están sin fijar, entonces
657 los márgenes se actualizan para centrar los sistemas automáticamente
658 sobre la página. Véase también @code{check-consistency}.
659 Esta variable también se puede fijar dentro de un bloque @code{\layout}.
662 @funindex left-margin
664 Margen entre el extremos izquierdo de la página y el comienzo de las
665 líneas del pentagrama en los sistemas sin sangrado. Si el tamaño del
666 papel se modifica, el valor predeterminado de esta dimensión se escala
667 de acuerdo con ello. Si no se fija el valor de @code{left-margin}, y
668 tanto @code{line-width} como @code{right-margin} están fijados,
669 entonces se establece el valor de @code{left-margin} a
670 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
671 Si solamente está fijado @code{line-width}, entonces los dos márgenes
673 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
674 como consecuencia los sistemas se centran sobre la página. Véase
675 también @code{check-consistency}.
678 @funindex right-margin
680 Margen entre el extremo derecho de la página y el final de las líneas
681 del pentagrama en sistemas justificados. Si el tamaño de la página se
682 modifica, el valor predeterminado de esta dimensión se escala de
683 acuerdo con ello. Si @code{right-margin} está sin fijar, y tanto
684 @code{line-width} como @code{left-margin} están fijados, el valor de
685 @code{right-margin} se establece a
686 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
687 Si solamente está fijado @code{line-width}, los dos márgenes se
689 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
690 como consecuencia los sistemas aparecen centrados sobre la página.
691 Véase también @code{check-consistency}.
693 @item check-consistency
694 @funindex check-consistency
696 Si se establece al valor verdadero, se imprime una advertencia en caso
697 de que la suma de @code{left-margin}, @code{line-width} y
698 @code{right-margin} no coincida exactamente con el valor de
699 @code{paper-width}, y se sustituye cada uno de estos valores (excepto
700 @code{paper-width}) con su valor predeterminado (escalado al tamaño
701 del papel si es necesario). Si está fijado al valor falso, se ignora
702 cualquier inconsistencia y se permite que los sistemas se salgan del
706 @funindex ragged-right
708 Si está fijado al valor verdadero, los sistemas no cubren el ancho de
709 la línea. En lugar de ello, los sistemas finalizan en su longitud
710 horizontal natural. Valor predeterminado: @code{#t} para las
711 partituras con un solo sistema, y @code{#f} para partituras que tienen
712 dos o más sistemas. Esta variable también se puede establecer dentro
713 de un bloque @code{\layout}.
716 @funindex ragged-last
718 Si está fijado al valor verdadero, el último sistema de la partitura
719 no llena toda la anchura de la línea. En lugar de ello, el último
720 sistema finaliza en su longitud horizontal natural. Valor
721 predeterminado: @code{#f}. Esta variable también puede ajustarse
722 dentro de un bloque @code{\layout}.
727 Referencia de la notación:
728 @ref{Escalado automático al tamaño del papel}.
731 @file{ly/paper-defaults-init.ly}.
735 Los tamaños de papel definidos explícitamente
736 sobreescriben cualquier ajuste de los márgenes
737 izquierdo o derecho definidos por el usuario.
740 @node Variables de \paper para el modo de doble cara
741 @unnumberedsubsubsec Variables de @code{\paper} para el modo de doble cara
742 @translationof \paper variables for two-sided mode
744 Los valores predeterminados (antes del escalado) se definen en
745 @file{ly/paper-defaults-init.ly}.
752 @cindex encuadernación
753 @cindex margen de encuadernación
755 Si tiene el valor verdadero, utilizar @code{inner-margin},
756 @code{outer-margin} y @code{binding-offset} para determinar los
757 márgenes dependiendo de si el número de la página es par o impar.
758 Esto sobreescribe a @code{left-margin} y a @code{right-margin}.
761 @funindex inner-margin
763 Margen que todas las páginas tienen en el lado interno si forman parte
764 de un libro. Si el tamaño del papel se modifica, el valor
765 predeterminado de esta dimensión se escala de acuerdo con ello.
766 Solamente funciona con @code{two-sided} fijado al valor verdadero.
769 @funindex outer-margin
771 Margen que todas las páginas tienen en el lado externo si forman parte
772 de un libro. Si el tamaño del papel se modifica, el valor
773 predeterminado de esta dimensión se escala de acuerdo con ello.
774 Solamente funciona con @code{two-sided} fijado al valor verdadero.
777 @funindex binding-offset
779 Medida en que se aumenta @code{inner-margin} para asegurar que no se
780 oculta nada a causa de la encuadernación. Si el tamaño del papel se
781 modifica, el valor predeterminado de esta dimensión se escala de
782 acuerdo con ello. Solamente funciona con @code{two-sided} fijado al
789 Referencia de la notación:
790 @ref{Escalado automático al tamaño del papel}.
793 @file{ly/paper-defaults-init.ly}.
796 @node Variables de \paper para desplazamientos y sangrados
797 @unnumberedsubsubsec Variables de @code{\paper} para desplazamientos y sangrados
798 @translationof \paper variables for shifts and indents
800 Los valores predeterminados (antes del escalado) que no se relacionan
801 aquí están definidos en el archivo @file{ly/paper-defaults-init.ly}.
805 @item horizontal-shift
806 @funindex horizontal-shift
808 @c This default value is buried in the middle of page.scm. -mp
810 Medida en que todos los sistemas (incluidos los títulos de cabecera y
811 los separadores de sistemas) se desplazan a la derecha.
812 Predeterminado: @code{0.0}.
817 Nivel de sangrado para el primer sistema de una partitura. Si se
818 modifica el tamaño del papel, el valor predeterminado de esta
819 dimensión se escala de acuerdo con ello. Esta variable también se
820 puede ajustar dentro de un bloque @code{\layout}.
823 @funindex short-indent
825 Nivel de sangrado para todos los sistemas de una partitura excepto el
826 primero. Si el tamaño del papel se modifica, el valor predeterminado
827 de esta dimensión se escala de acuerdo con ello. Esta variable
828 también se puede ajustar dentro de un bloque @code{\layout}.
833 Referencia de la notación:
834 @ref{Escalado automático al tamaño del papel}.
837 @file{ly/paper-defaults-init.ly}.
839 Fragmentos de código:
843 @node Otras variables de \paper
844 @subsection Otras variables de @code{\paper}
845 @translationof Other \paper variables
848 * Variables de \paper para los saltos de línea::
849 * Variables de \paper para los saltos de página::
850 * Variables de \paper para la numeración de las páginas::
851 * Variables de \paper diversas::
855 @node Variables de \paper para los saltos de línea
856 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de línea
857 @translationof \paper variables for line breaking
859 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
863 @item max-systems-per-page
864 @funindex max-systems-per-page
866 Número máximo de sistemas que se colocan sobre una página. Solo está
867 contemplado por el algoritmo @code{ly:optimal-breaking}. Valor
868 predeterminado: no fijado.
870 @item min-systems-per-page
871 @funindex min-systems-per-page
873 Número mínimo de sistemas que se colocan sobre una página. Puede
874 causar que las páginas aparezcan atiborradas si el valor es demasiado
875 grande En el momento actual solo está contemplado por el algoritmo
876 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
878 @item systems-per-page
879 @funindex systems-per-page
881 Número de sistemas que se deben colocar en cada página. En el momento
882 actual solo está contemplado por el algoritmo
883 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
886 @funindex system-count
888 Número de sistemas que utilizar para una partitura. Valor
889 predeterminado: no fijado. Esta variables también se puede ajustar
890 dentro de un bloque @code{\layout}.
895 Referencia de la notación:
896 @ref{Saltos de línea}.
899 @node Variables de \paper para los saltos de página
900 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de página
901 @translationof \paper variables for page breaking
903 Los valores predeterminados que no están relacionados aquí, se definen
904 en el archivo @file{ly/paper-defaults-init.ly}
908 @item blank-after-score-page-force
909 @funindex blank-after-score-page-force
911 Penalización por tener una página vacía después del final de una
912 partitura y antes de la siguiente. De forma predeterminada, es menor
913 que @code{blank-page-force}, de manera que preferimos páginas vacías
914 después de las partituras que páginas vacías dentro de una partitura.
916 @item blank-last-page-force
917 @funindex blank-last-page-force
919 Penalización por terminar la partitura sobre una página impar.
921 @item blank-page-force
922 @funindex blank-page-force
924 Penalización por tener una página vacía en medio de una partitura. No
925 se utiliza por parte de @code{ly:optimal-breaking} porque nunca
926 considera páginas vacías en mitad de una partitura.
929 @funindex page-breaking
931 Algoritmo de saltos de página que utilizar. Se puede elegir entre
932 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking} o
933 @code{ly:optimal-breaking}.
935 @item page-breaking-system-system-spacing
936 @funindex page-breaking-system-system-spacing
938 Engaña a la parte del programa encargada de los saltos de página para
939 que piense que @code{system-system-spacing} está establecido a un
940 valor distinto al que tiene realmente. Por ejemplo, si
941 @code{page-breaking-system-system-spacing #'padding} está establecido
942 a algo que es mucho mayor que @code{system-system-spacing #'padding},
943 entonces el divisor de páginas pone menos sistemas en cada página.
944 Valor predeterminado: sin ajustar.
949 Número de páginas que utilizar en una partitura, no ajustado de forma
955 Referencia de la notación:
956 @ref{Saltos de página},
957 @ref{Saltos de página óptimos},
958 @ref{Paso de página óptimo},
959 @ref{Saltos de página mínimos}.
962 @file{ly/paper-defaults-init.ly}.
965 @node Variables de \paper para la numeración de las páginas
966 @unnumberedsubsubsec Variables de @code{\paper} para la numeración de las páginas
967 @translationof \paper variables for page numbering
969 Los valores predeterminados que no se relacionan aquí están definidos
970 en el archivo @file{ly/paper-defaults-init.ly}
974 @cindex números de página, automáticos
975 @item auto-first-page-number
976 @funindex auto-first-page-number
978 El algoritmo de división de páginas está afectado por el hecho de que
979 el número de la primera página sea par o impar. Si está establecido
980 al valor verdadero, el algoritmo de división de páginas decide si
981 comenzar con un número par o impar. Esto hace que el número de la
982 primera página se quede como está, o que se aumente en una unidad.
983 Predeterminado: @code{#f}.
985 @cindex números de página, especificar el primero
986 @item first-page-number
987 @funindex first-page-number
989 Valor del número de pátina en la primera página.
991 @item print-first-page-number
992 @funindex print-first-page-number
994 Si está fijado a verdadero, se imprime un número de página en la
997 @cindex números de página, suprimir
998 @item print-page-number
999 @funindex print-page-number
1001 Si está fijado a falso, no se imprimen los números de página.
1007 @file{ly/paper-defaults-init.ly}.
1010 Los números de página impares siempre están a la derecha.
1011 Si quiere que la música comience en la página 1 debe haber
1012 una página en blanco en el reverso de la página de cubierta
1013 de manera que la página 1 esté en el lado derecho.
1016 @node Variables de \paper diversas
1017 @unnumberedsubsubsec Variables de @code{\paper} diversas
1018 @translationof Miscellaneous \paper variables
1022 @item page-spacing-weight
1023 @funindex page-spacing-weight
1025 Importancia relativa del espacio (vertical) de las páginas y el
1026 espaciado (horizontal) de las líneas. Los valores altos hacen que el
1027 espaciado de la página tenga más importancia. Predeterminado:
1030 @item print-all-headers
1031 @funindex print-all-headers
1033 Si está fijado a verdadero, imprime todos los encabezamientos para
1034 cada una de las partituras @code{\score} de la salida. Normalmente
1035 sólo se imprimen las variables de encabezamiento @code{piece} y
1036 @code{opus}. Valor predeterminado: @code{#f}.
1038 @item system-separator-markup
1039 @funindex system-separator-markup
1041 Objeto de marcado que se inserta entre los sistemas. Se suele usar
1042 para partituras orquestales. Predeterminado: sin establecer. El
1043 elemento de marcado @code{\slashSeparator}, definido en el archivo
1044 @file{ly/titling-init.ly}, se aporta como un valor predeterminado
1045 adecuado, por ejemplo:
1047 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
1048 #(set-default-paper-size "a8")
1052 system-separator-markup = \slashSeparator
1058 \relative c'' { c1 \break c1 \break c1 }
1068 @file{ly/titling-init.ly}.
1070 Fragmentos de código:
1076 El encabezamiento de página predeterminado pone el número de página y
1077 el campo @code{instrument} del bloque @code{\header} sobre la misma
1081 @node Disposición de la partitura
1082 @section Disposición de la partitura
1083 @translationof Score layout
1085 Esta sección trata de las opciones de disposición de la partitura para
1086 el bloque @code{\layout}.
1089 * El bloque \layout::
1090 * Establecer el tamaño del pentagrama::
1094 @node El bloque \layout
1095 @subsection El bloque @code{\layout}
1096 @translationof The \layout block
1100 Así como el bloque @code{\paper} contiene ajustes relativos al
1101 formateo de la página para todo el documento, el bloque @code{\layout}
1102 contiene ajustes para la disposición específica de las partituras.
1103 Para fijar las opciones de disposición de partituras de forma global,
1104 escríbalas en un bloque @code{\layout} del nivel jerárquico superior.
1105 Para fijar opciones de disposición para una partitura individual
1106 escríbalas dentro de un bloque @code{\layout} dentro del bloque
1107 @code{\score}, después de la música. Entre los ajustes que pueden
1108 aparecer en un bloque @code{\layout} se encuentran los siguientes:
1111 @item la función de Scheme @code{layout-set-staff-size},
1112 @item las modificaciones de contexto de los bloques @code{\context}, y
1113 @item las variables de @code{\paper} que afectan a la disposición de la partitura.
1116 La función @code{layout-set-staff-size} se estudia en la sección
1117 siguiente, @ref{Establecer el tamaño del pentagrama}. Las
1118 modificaciones de contexto se estudian en un capítulo distinto; véase
1119 @ref{Modificar los complementos (plug-ins) de contexto} y
1120 @ref{Cambiar los valores por omisión de los contextos}. Las variables de
1121 @code{\paper} que pueden aparecer dentro de un bloque @code{\layout}
1127 @code{line-width}, @code{ragged-right} y @code{ragged-last}
1128 (véase @ref{Variables de \paper para la anchura y los márgenes})
1131 @code{indent} y @code{short-indent}
1132 (véase @ref{Variables de \paper para desplazamientos y sangrados})
1136 (véase @ref{Variables de \paper para los saltos de línea})
1140 He aquí un ejemplo de un bloque @code{\layout}:
1147 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
1151 \override TextScript #'padding = #1
1152 \override Glissando #'thickness = #3
1159 Referencia de la notación:
1160 @ref{Cambiar los valores por omisión de los contextos}.
1162 Fragmentos de código:
1166 @node Establecer el tamaño del pentagrama
1167 @subsection Establecer el tamaño del pentagrama
1168 @translationof Setting the staff size
1170 @cindex tipografía, fijar el tamaño de
1171 @cindex pentagrama, fijar el tamaño de
1172 @funindex disposición, archivo de
1174 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1175 puntos. Esto se puede modificar de dos maneras:
1177 Para establecer globalmente el tamaño del pentagrama para todas las
1178 partituras de un archivo (o en un bloque @code{book}, para ser
1179 exactos), utilice @code{set-global-staff-size}.
1182 #(set-global-staff-size 14)
1186 Esto establece el tamaño global predeterminado a una altura de
1187 pentagrama de 14pt y escala todas las tipografías según corresponda.
1189 Para establecer el tamaño del pentagrama de forma individual para cada
1195 #(layout-set-staff-size 15)
1200 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1201 distintos. Cada fuente tipográfica está afinada para un tamaño de
1202 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1203 pesada, para que coincida con las líneas de pentagrama relativamente
1204 más gruesas. Los tamaños de tipografía recomendados están
1205 relacionados en la tabla siguiente:
1208 @multitable @columnfractions .15 .2 .22 .2
1210 @item @b{nombre de la fuente}
1211 @tab @b{altura del pentagrama (pt)}
1212 @tab @b{altura del pentagrama (mm)}
1218 @tab partituras de bolsillo
1243 @tab particellas estándar
1254 @c modern rental material?
1259 Estas tipografías están disponibles en cualquier tamaño. La propiedad
1260 de contexto @code{fontSize} y la propiedad de disposición
1261 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1262 afinar el tamaño de los pentagramas individuales. Los tamaños de
1263 pentagrama individuales están en relación al tamaño global.
1267 Referencia de la notación:
1268 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1270 Fragmentos de código:
1276 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1282 @translationof Breaks
1286 * Saltos de página::
1287 * Saltos de página óptimos::
1288 * Paso de página óptimo::
1289 * Saltos de página mínimos::
1290 * Saltos de línea explícitos::
1291 * Utilizar una voz adicional para los saltos de línea::
1295 @node Saltos de línea
1296 @subsection Saltos de línea
1297 @translationof Line breaking
1299 @cindex saltos de línea
1300 @cindex línea, saltos de
1302 Normalmente los saltos de línea se determinan automáticamente. Se
1303 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1304 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1307 Para forzar manualmente un salto de línea sobre la línea divisoria,
1308 utilice la instrucción @code{\break}:
1310 @lilypond[quote,ragged-right,relative=2,verbatim]
1315 De forma predeterminada se ignora cualquier @code{\break} en la mitad
1316 de un compás, y se imprime una advertencia. Para forzar un salto de
1317 línea en medio de un compás, añada una barra de compás invisible con
1320 @lilypond[quote,ragged-right,relative=2,verbatim]
1327 También se ignora un @code{\break} que se produce en la línea
1328 divisoria si el compás anterior termina en medio de una nota, como
1329 cuando un grupo de valoración especial inicia y termina en compases
1330 diferentes. Para permitir que las instrucciones @code{\break}
1331 funcionen en estas situaciones, elimine el grabador
1332 @code{Forbid_line_break_engraver} del contexto @code{Voice}. Observe
1333 que los saltos de línea forzados manualmente se deben añadir en
1334 paralelo con la música:
1336 @lilypond[quote,ragged-right,verbatim]
1338 \remove Forbid_line_break_engraver
1341 { c2. \times 2/3 { c4 c c } c2. | }
1342 { s1 | \break s1 | }
1347 De forma similar, los saltos de línea están normalmente prohibidos
1348 cuando hay barras de corchea que cruzan la línea divisoria. Se puede
1349 cambiar este comportamiento fijando @code{\override Beam #'breakable =
1352 @lilypond[quote,ragged-right,relative=2,verbatim]
1353 \override Beam #'breakable = ##t
1358 La instrucción @code{\noBreak}, prohíbe un salto de línea en
1359 la barra divisoria en que se inserta.
1361 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1362 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1363 @code{\layout}. Controlan el sangrado de la primera línea de música,
1364 y la longitud de las líneas.
1366 Si se establece @code{ragged-right} a verdadero en el bloque
1367 @code{\layout}, los sistemas terminan en su longitud horizontal
1368 natural, en lugar de distribuirse horizontalmente para llenar toda la
1369 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1370 comprobación de lo apretado que es el espaciado natural.
1372 @c TODO Check and add para on default for ragged-right
1374 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1375 afecta sólo a la última línea de la pieza.
1387 @cindex saltos de línea normales
1388 @cindex música de cuatro compases por línea
1390 Para saltos de línea a intervalos regulares utilice @code{\break}
1391 separado mediante desplazamientos con @code{\skip} y repetidos con
1392 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1393 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1394 compases, y sólo en dichos lugares:
1399 s1 \noBreak s1 \noBreak
1400 s1 \noBreak s1 \break
1402 @{ @var{la música real@dots{}} @}
1407 Una configuración de división de líneas se puede guardar como archivo
1408 @file{.ly} automáticamente. Ello permite que alineaciones verticales
1409 se estiren para que encajen en las páginas durante una segunda
1410 ejecución del proceso de formateo. Esta posibilidad es bastante
1411 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1423 Referencia de la notación:
1424 @ref{Variables de \paper para los saltos de línea}.
1426 Fragmentos de código:
1429 Referencia de funcionamiento interno:
1430 @rinternals{LineBreakEvent}.
1433 @node Saltos de página
1434 @subsection Saltos de página
1435 @translationof Page breaking
1437 Se puede sobreescribir el mecanismo predeterminado de salto de página
1438 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1439 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1440 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1441 y prohíben, respectivamente, la eventualidad de un salto de página.
1442 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1445 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1446 pueden insertar en el nivel más alto, entre las partituras y los
1447 elementos de marcado situados en el nivel superior.
1449 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1450 tienen el mismo efecto sobre el espaciado vertical:
1451 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1452 establecidos a @code{#t} los sistemas de todas las páginas o sólo de
1453 la última página, respectivamente, no se verán justificados
1454 verticalmente. Véase
1455 @ref{Variables de espaciado de \paper verticales fijas}.
1457 Los saltos de página se calculan por medio de la función
1458 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1459 de los saltos de página: @code{ly:optimal-breaking},
1460 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1461 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1462 cambiar en el bloque @code{\paper}:
1466 page-breaking = #ly:page-turn-breaking
1472 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1473 resolver el problema de los saltos de página, necesitando mucha
1474 memoria y prolongados tiempos de procesamiento. Para facilitar el
1475 proceso de división en páginas, se usan los bloques @code{\bookpart}
1476 para dividir el libro en varias partes: los saltos de página se
1477 producen de manera independiente en cada parte. También se pueden
1478 usar diferentes funciones de división en páginas para las distintas
1484 subtitle = "Prefacio"
1487 %% En una parte que consiste en texto principalmente,
1488 %% puede ser preferible ly:minimal-breaking
1489 page-breaking = #ly:minimal-breaking
1491 \markup @{ @dots{} @}
1495 %% En esta parte, consistente en música, se usa la función
1496 %% óptima predeterminada de saltos de página.
1498 subtitle = "Primer movimiento"
1500 \score @{ @dots{} @}
1507 @funindex \pageBreak
1509 @funindex \noPageBreak
1510 @code{\noPageBreak}.
1515 Referencia de la notación:
1516 @ref{Variables de \paper para los saltos de página}.
1518 Fragmentos de código:
1522 @node Saltos de página óptimos
1523 @subsection Saltos de página óptimos
1524 @translationof Optimal page breaking
1526 @funindex ly:optimal-breaking
1528 La función @code{ly:optimal-breaking} es el método predeterminado de
1529 LilyPond para determinar los saltos de página. Intenta hallar una
1530 división de páginas que haga mínimos el apretujamiento y la
1531 distensión, tanto horizontal como verticalmente. A diferencia de
1532 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1537 Fragmentos de código:
1541 @node Paso de página óptimo
1542 @subsection Paso de página óptimo
1543 @translationof Optimal page turning
1545 @funindex ly:page-turn-breaking
1547 Con frecuencia es necesario encontrar una configuración de división de
1548 páginas de manera que haya un silencio al final de una página de cada
1549 dos. De esta forma, el músico puede pasar la página sin perder notas.
1550 La función @code{ly:page-turn-breaking} trata de encontrar una
1551 división de páginas que haga mínimos el apretujamiento y el
1552 estiramiento, pero con la restricción añadida de que sólo se permite
1553 introducir vueltas de página en los lugares especificados.
1555 Hay dos etapas en el uso de esta función de división de páginas. En
1556 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1557 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1558 dónde nos gustaría permitir los saltos de página.
1560 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1561 especificar manualmente cada uno de los pasos de página potenciales,
1562 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1565 Si esto es demasiado tedioso, podemos añadir un grabador
1566 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1567 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1568 sin notas (observe que no busca silencios, sino la ausencia de notas.
1569 Se hace así para que la polifonía en un solo pentagrama con silencios
1570 en una de las voces no arruine la labor del grabador
1571 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1572 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1573 un @code{\allowPageTurn} en la última barra de compás de dicha
1574 sección, a no ser que haya una barra @q{especial} de compás (como una
1575 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1576 última barra @q{especial} de compás de la sección.
1578 @funindex minimumPageTurnLength
1579 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1580 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1581 una sección sin notas antes de que se considere la posibilidad de un
1582 paso de página. El valor predeterminado para
1583 @code{minimumPageTurnLength} es @code{(ly:make-moment 1 1)}. Si
1584 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1588 \new Staff \with @{ \consists "Page_turn_engraver" @}
1591 R1 | % aquí se permite un salto de página
1593 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1594 R1 | % aquí no se permite un salto de página
1596 R1*2 | % aquí se permite un salto de página
1601 @funindex minimumRepeatLengthForPageTurn
1602 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1603 primera y segunda vez. Sólo permite un pase de página durante la
1604 repetición si hay suficiente tiempo al principio y al final de la
1605 repetición para volver a pasar la página hacia atrás. El grabador
1606 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1607 página si la repetición es muy corta. Si establecemos la propiedad de
1608 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1609 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1610 repeticiones cuya duración sea mayor que este valor.
1612 Las instrucciones de paso de página, @code{\pageTurn},
1613 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1614 el nivel más elevado del código, entre las partituras y los elementos
1615 de marcado del nivel superior.
1621 @funindex \noPageTurn
1623 @funindex \allowPageTurn
1624 @code{\allowPageTurn}.
1629 Fragmentos de código:
1635 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1636 partitura. Si hay más de uno, se interferirán entre sí.
1639 @node Saltos de página mínimos
1640 @subsection Saltos de página mínimos
1641 @translationof Minimal page breaking
1643 @funindex ly:minimal-breaking
1645 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1646 para determinar los saltos de página: completa una página con tantos
1647 sistemas como sea posible antes de continuar con la siguiente. Así,
1648 puede preferirse para partituras con muchas páginas, donde las otras
1649 funciones de salto de página pueden resultar demasiado lentas o ávidas
1650 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1654 page-breaking = #ly:minimal-breaking
1660 Fragmentos de código:
1664 @node Saltos de línea explícitos
1665 @subsection Saltos de línea explícitos
1666 @translationof Explicit breaks
1668 Lily a veces rechaza las instrucciones @code{\break} y
1669 @code{\pageBreak} explícitas. Hay dos instrucciones para
1670 sobreescribir este comportamiento:
1673 \override NonMusicalPaperColumn #'line-break-permission = ##f
1674 \override NonMusicalPaperColumn #'page-break-permission = ##f
1677 Cuando se sobreescribe el valor de @code{line-break-permission} a
1678 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1679 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1680 @code{page-break-permission} a falso, Lily inserta saltos de página en
1681 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1683 @lilypond[quote,verbatim]
1690 music = \relative c'' { c8 c c c }
1694 \repeat unfold 2 { \music } \break
1695 \repeat unfold 4 { \music } \break
1696 \repeat unfold 6 { \music } \break
1697 \repeat unfold 8 { \music } \pageBreak
1698 \repeat unfold 8 { \music } \break
1699 \repeat unfold 6 { \music } \break
1700 \repeat unfold 4 { \music } \break
1701 \repeat unfold 2 { \music }
1706 \override NonMusicalPaperColumn #'line-break-permission = ##f
1707 \override NonMusicalPaperColumn #'page-break-permission = ##f
1715 Fragmentos de código:
1719 @node Utilizar una voz adicional para los saltos de línea
1720 @subsection Utilizar una voz adicional para los saltos de línea
1721 @translationof Using an extra voice for breaks
1723 La información sobre saltos de línea y de página suele aparecer
1724 directamente entremezclado dentro del código de notas.
1727 music = \relative c'' @{ c4 c c c @}
1731 \repeat unfold 2 @{ \music @} \break
1732 \repeat unfold 3 @{ \music @}
1737 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1738 @code{\pageBreak}, pero mezcla la escritura de música con información
1739 que especifica cómo se debe disponer la música sobre la página.
1740 Podemos mantener la introducción de música y la información de saltos
1741 de línea y de página en dos lugares separados mediante la introducción
1742 de una voz adicional que contenga los saltos. Esta voz adicional
1743 contiene solamente desplazamientos o @q{skips} junto con los
1744 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1745 disposición de los saltos.
1747 @lilypond[quote,verbatim]
1748 music = \relative c'' { c4 c c c }
1759 \repeat unfold 2 { \music }
1760 \repeat unfold 3 { \music }
1761 \repeat unfold 6 { \music }
1762 \repeat unfold 5 { \music }
1768 Este patrón resulta especialmente útil cuando se sobreescribe
1769 @code{line-break-system-details} y las otras útiles (pero largas)
1770 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1771 @ref{Espaciado vertical}.
1773 @lilypond[quote,verbatim]
1774 music = \relative c'' { c4 c c c }
1779 \overrideProperty "Score.NonMusicalPaperColumn"
1780 #'line-break-system-details #'((Y-offset . 0))
1783 \overrideProperty "Score.NonMusicalPaperColumn"
1784 #'line-break-system-details #'((Y-offset . 35))
1787 \overrideProperty "Score.NonMusicalPaperColumn"
1788 #'line-break-system-details #'((Y-offset . 70))
1791 \overrideProperty "Score.NonMusicalPaperColumn"
1792 #'line-break-system-details #'((Y-offset . 105))
1796 \repeat unfold 2 { \music }
1797 \repeat unfold 3 { \music }
1798 \repeat unfold 6 { \music }
1799 \repeat unfold 5 { \music }
1807 Referencia de la notación:
1808 @ref{Espaciado vertical}.
1810 Fragmentos de código:
1814 @node Espaciado vertical
1815 @section Espaciado vertical
1816 @translationof Vertical spacing
1818 @cindex espaciado vertical
1819 @cindex vertical, espaciado
1821 El espaciado vertical está controlado por tres factores: la cantidad
1822 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1823 la separación entre los sistemas, y la separación entre los
1824 pentagramas dentro de un sistema.
1827 * Espaciado vertical flexible dentro de los sistemas::
1828 * Posicionamiento explícito de los pentagramas y los sistemas::
1829 * Evitar las colisiones verticales::
1833 @node Espaciado vertical flexible dentro de los sistemas
1834 @subsection Espaciado vertical flexible dentro de los sistemas
1835 @translationof Flexible vertical spacing within systems
1837 @cindex distancia entre pentagramas
1838 @cindex pentagrama, distancia entre los
1839 @cindex espacio entre pentagramas
1840 @cindex espacio dentro de los sistemas
1842 Tres mecanismos distintos controlan el espaciado vertical flexible
1843 dentro de los sistemas, uno por cada una de las categorías siguientes:
1848 @emph{pautas sin agrupar},
1851 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1852 @code{ChoirStaff}, etc.), y
1855 @emph{líneas que no son pautas} (como @code{Lyrics},
1856 @code{ChordNames}, etc.).
1860 @c TODO: Clarify this. This almost implies that non-staff lines
1861 @c have NO effect on the spacing between staves. -mp
1863 La altura de cada sistema se determina en dos fases. Primero, todos
1864 los pentagramas se disponen según la cantidad de espacio vacío
1865 disponible. Después, las líneas que no son pautas se distribuyen
1868 Observe que los mecanismos de espaciado estudiados en esta sección
1869 solamente controlan el espaciado vertical de las pautas y líneas que
1870 no son pautas dentro de los sistemas individuales. El espaciado
1871 vertical entre distintos sistemas, partituras, marcados y márgenes se
1872 controla mediante variables de @code{\paper} que se estudian en
1873 @ref{Flexible vertical spacing \paper variables}.
1876 * Propiedades de espaciado dentro de los sistemas::
1877 * Espaciado de pautas no agrupadas::
1878 * Espaciado de pautas agrupadas::
1879 * Espaciado de las líneas que no son pautas::
1883 @node Propiedades de espaciado dentro de los sistemas
1884 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1885 @translationof Within-system spacing properties
1887 @funindex staff-affinity
1888 @funindex staffgroup-staff-spacing
1889 @funindex staff-staff-spacing
1890 @funindex nonstaff-unrelatedstaff-spacing
1891 @funindex nonstaff-relatedstaff-spacing
1892 @funindex nonstaff-nonstaff-spacing
1893 @funindex default-staff-staff-spacing
1894 @funindex minimum-Y-extent
1895 @funindex extra-offset
1896 @funindex self-alignment-X
1898 @funindex VerticalAxisGroup
1900 Los mecanismos de espaciado vertical dentro del sistema están
1901 controlados por dos conjuntos de propiedades de grob. El primer
1902 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1903 crea por parte de todas las pautas y líneas que no son pautas. El
1904 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1905 puede crearse por parte de los grupos de pentagramas, pero solamente
1906 si se le llama explícitamente. Estas propiedades se describen
1907 individualmente al final de la presente sección.
1909 Los nombres de estas propiedades (excepto para @code{staff-affinity})
1910 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
1911 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
1912 elementos que se van a espaciar. Observe que @code{@var{elemento2}}
1913 no está necesariamente por debajo de @code{@var{elemento1}}; por
1914 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hacia arriba a
1915 partir de la línea del tipo no-pauta si @code{staff-affinity} es
1918 Cada distancia se mide entre los @emph{puntos de referencia} de los
1919 dos elementos. El @emph{punto de referencia} para un pentagrama y
1920 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
1921 decir, la línea central si @code{line-count} es un número impar; el
1922 espacio central si @code{line-count} es par). Los puntos de
1923 referencia para las líneas individuales que no son pautas aparecen en
1926 @multitable {Línea que no es una pauta} {Punto de referencia}
1927 @headitem Línea que no es una pauta @tab Punto de referencia
1928 @item @code{ChordNames} @tab línea de base
1929 @item @code{NoteNames} @tab línea de base
1930 @item @code{Lyrics} @tab línea de base
1931 @item @code{Dynamics} @tab centro vertical
1932 @item @code{FiguredBass} @tab punto más alto
1933 @item @code{FretBoards} @tab línea superior
1936 En la siguiente imagen, las líneas horizontales indican las posiciones
1937 de estos puntos de referencia:
1939 @lilypond[quote,noragged-right,line-width=110\mm]
1940 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
1942 alignToZero = \with {
1943 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1944 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1946 lowerCaseChords = \with {
1947 chordNameLowercaseMinor = ##t
1949 staffAffinityDown = \with {
1950 \override VerticalAxisGroup #'staff-affinity = #DOWN
1953 #(define-music-function
1954 (parser location context)
1956 #{ s1*0^\markup { \typewriter #context } #})
1959 \context { \Dynamics \alignToZero }
1960 \context { \FiguredBass \alignToZero }
1961 \context { \Lyrics \alignToZero }
1962 \context { \NoteNames \alignToZero \staffAffinityDown }
1963 \context { \ChordNames \alignToZero
1966 \context { \FretBoards \alignToZero \staffAffinityDown }
1968 \override BarLine #'stencil = ##f
1969 \override DynamicText #'self-alignment-X = #-1
1970 \override FretBoard #'X-offset = #1.75
1971 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1972 \override InstrumentName #'extra-offset = #'(0 . -0.5)
1973 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1974 \override TimeSignature #'stencil = ##f
1978 %% These contexts have reference points at the baseline:
1979 %% ChordNames, NoteNames, and Lyrics
1981 \new ChordNames { \chords { g1:m } }
1982 \new NoteNames { s1 | g1 | }
1983 \new RhythmicStaff {
1984 \set RhythmicStaff.instrumentName = #"baseline "
1986 \labelContext "ChordNames " s1 |
1987 \labelContext "NoteNames " s1 |
1988 \labelContext "Lyrics" s1 |
1990 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1993 %% The reference point for Dynamics is its vertical center
1995 \new RhythmicStaff {
1996 \set RhythmicStaff.instrumentName = #"vertical center "
1997 \labelContext "Dynamics" s1*3
1999 \new Dynamics { s1\mp s\fp }
2002 %% The reference point for FiguredBass is its highest point
2004 \new RhythmicStaff {
2005 \set RhythmicStaff.instrumentName = #"highest point "
2006 \labelContext "FiguredBass" s1
2008 \new FiguredBass { \figuremode { <6 5>1 } }
2011 %% The reference point for FretBoards is the top line
2012 \include "predefined-guitar-fretboards.ly"
2014 \new FretBoards { \chordmode { e1 } }
2015 \new RhythmicStaff {
2016 \set RhythmicStaff.instrumentName = #"top line "
2017 \labelContext "FretBoards " s1
2022 Cada una de las propiedades de grob del espaciado vertical (excepto
2023 @code{staff-affinity})
2024 usa la misma estructura de lista-A que las
2025 variables de espaciado del bloque @code{\paper} que se han estudiado
2026 en @ref{Flexible vertical spacing \paper variables}.
2027 En @ref{Modificación de las listas-A}
2028 se estudian métodos específicos para la modificación de
2029 las listas-A. Las propiedades de los grobs deben ajustarse con un
2030 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
2031 no dentro de un bloque @code{\paper}.
2033 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
2034 estas listas-A. La primera declaración actualiza un par clave-valor de
2035 forma individual, y la segunda redefine la propiedad completamente:
2039 \override VerticalAxisGroup #'default-staff-staff-spacing
2040 #'basic-distance = #10
2044 \override VerticalAxisGroup #'default-staff-staff-spacing =
2045 #'((basic-distance . 10)
2046 (minimum-distance . 9)
2048 (stretchability . 10))
2052 Para modificar globalmente cualquiera de los ajustes de espaciado,
2053 póngalos dentro del bloque @code{\layout}:
2059 \override VerticalAxisGroup #'default-staff-staff-spacing
2060 #'basic-distance = #10
2065 Los ajustes estándar para las propiedades de grob del espaciado
2066 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
2067 @rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
2068 los tipos específicos de líneas que no son pautas están relacionadas
2069 en las descripciones de contexto correspondientes en
2070 @rinternals{Contexts}.
2073 @subsubheading Propiedades del grob @code{VerticalAxisGroup}
2075 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
2076 instrucción @code{\override} en el nivel de @code{Staff} (o
2080 @item staff-staff-spacing
2081 Se utiliza para determinar la distancia entre la pauta actual
2082 y la pauta que está justo por debajo
2083 de ella dentro del mismo sistema, incluso si hay más líneas que no son
2084 pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
2085 a la pauta inferior de un sistema.
2087 Inicialmente, el valor de espaciado @code{staff-staff-spacing} de un
2088 grupo @code{VerticalAxisGroup} es una función de Scheme que aplica las
2089 propiedades del @code{StaffGrouper} si la pauta forma parte de un
2090 grupo, o el @code{default-staff-staff-spacing} de la pauta en caso
2091 contrario. Esto hace posible que las pautas estén espaciadas de forma
2092 diferente cuando están agrupadas. Para conseguir un espaciado regular
2093 sin importar el agrupamiento, esta función se puede sustituir por una
2094 lista-A de espaciado flexible, utilizando la forma de
2095 sobreescritura de redefinición completa que se ha mostrado más arriba.
2097 @item default-staff-staff-spacing
2098 Una lista-A de espaciado flexible que define el
2099 espacio @code{staff-staff-spacing} que se usará para las pautas sin
2100 agrupar, a no ser que se haya sobreescrito explícitamente
2101 @code{staff-staff-spacing} con una instrucción @code{\override}.
2103 @item staff-affinity
2104 Dirección de la pauta que utilizar para el espaciado de la línea
2105 actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
2106 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
2107 línea del tipo no-pauta se coloca equidistante entre las dos pautas
2108 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
2109 restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
2110 han de llevar valores de @code{staff-affinity} no crecientes desde la
2111 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
2112 establecida a @code{UP} no debería seguir inmediatamente a otra que
2113 esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
2114 parte superior de un sistema deben usar @code{DOWN}; las de la parte
2115 inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
2116 para una pauta hace que se le trate como una línea que no es una
2117 pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
2118 una línea que no es una pauta hace que se trate como una pauta.
2119 Establecer @code{staff-affinity} a @code{UP}, @code{CENTER}, o
2120 @code{DOWN} hace que el pentagrama resulte espaciado como si fuera una
2121 línea que no es una pauta.
2123 @item nonstaff-relatedstaff-spacing
2124 Distancia entre la línea del tipo no-pauta actual y la pauta más
2125 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
2126 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
2127 @code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
2128 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
2129 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
2130 líneas del tipo no-pauta entre la pauta actual y una de las otras.
2131 Esto significa que la colocación de una línea que no es una pauta
2132 depende tanto de las pautas que la rodean como de las líneas que no
2133 son pautas y que la rodean. Establecer la ampliabilidad
2134 @code{stretchability} de uno de estos tipos de espaciado a un valor
2135 más pequeño provoca que este espaciado domine. El establecimiento de
2136 @code{stretchability} a un valor mayor hace que dicho espaciado tenga
2139 @item nonstaff-nonstaff-spacing
2140 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
2141 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
2142 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
2143 es @code{UP} o @code{DOWN}.
2145 @item nonstaff-unrelatedstaff-spacing
2146 Distancia entre la línea actual del tipo no-pauta y la pauta en la
2147 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
2148 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
2149 @code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
2150 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
2151 pauta a la que no pertenece.
2155 @subsubheading Propiedades del grob @code{StaffGrouper}
2157 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
2158 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
2162 @item staff-staff-spacing
2163 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
2164 La propiedad @code{staff-staff-spacing} del grob
2165 @code{VerticalAxisGroup} de una pauta individual se puede
2166 sobreescribir con distintos ajustes de espaciado para dicha
2169 @item staffgroup-staff-spacing
2170 Distancia entre la última pauta del grupo en curso y la pauta que está
2171 justo por debajo de ella dentro del mismo sistema, incluso si existen
2172 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
2173 las dos pautas. No se aplica al pentagrama o pauta inferior de un
2174 sistema. La propiedad @code{staff-staff-spacing} del grob
2175 @code{VerticalAxisGroup} de una pauta individual se puede
2176 sobreescribir con distintos ajustes de espaciado para dicha
2181 Referencia de la notación:
2182 @ref{Variables de espaciado de \paper verticales flexibles},
2183 @ref{Modificación de las listas-A}.
2185 Referencia de funcionamiento interno:
2186 @rinternals{Contexts},
2187 @rinternals{VerticalAxisGroup},
2188 @rinternals{StaffGrouper}.
2191 @file{ly/engraver-init.ly},
2192 @file{scm/define-grobs.scm}.
2195 @node Espaciado de pautas no agrupadas
2196 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2197 @translationof Spacing of ungrouped staves
2199 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2200 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2201 etc. son contextos que pueden contener uno o más contextos de voz,
2202 pero no pueden contener otras pautas.
2204 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2208 @item Propiedades de @code{VerticalAxisGroup}:
2210 @item @code{default-staff-staff-spacing}
2211 @item @code{staff-staff-spacing}
2215 Estas propiedades de grob se describen individualmente más arriba;
2216 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2218 Están implicadas ciertas propiedades adicionales para las pautas que
2219 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2221 El ejemplo siguiente muestra cómo la propiedad
2222 @code{default-staff-staff-spacing} puede afectar al espaciado de pautas no
2223 agrupadas. Las mismas sobreescrituras aplicadas a
2224 @code{staff-staff-spacing}
2225 tendrían el mismo efecto, pero también se aplicaría en caso de que las
2226 pautas estuvieran combinadas en un grupo o grupos.
2228 @lilypond[verbatim,quote,staffsize=16]
2232 \override VerticalAxisGroup #'default-staff-staff-spacing =
2233 #'((basic-distance . 8)
2234 (minimum-distance . 7)
2240 % The very low note here needs more room than 'basic-distance
2241 % can provide, so the distance between this staff and the next
2242 % is determined by 'padding.
2243 \new Staff { b,2 r | }
2245 % Here, 'basic-distance provides enough room, and there is no
2246 % need to compress the space (towards 'minimum-distance) to make
2247 % room for anything else on the page, so the distance between
2248 % this staff and the next is determined by 'basic-distance.
2249 \new Staff { \clef bass g2 r | }
2251 % By setting 'padding to a negative value, staves can be made to
2252 % collide. The lowest acceptable value for 'basic-distance is 0.
2254 \override VerticalAxisGroup #'default-staff-staff-spacing =
2255 #'((basic-distance . 3.5)
2257 } { \clef bass g2 r | }
2258 \new Staff { \clef bass g2 r | }
2264 @file{scm/define-grobs.scm}.
2266 Fragmentos de código:
2269 Referencia de funcionamiento interno:
2270 @rinternals{VerticalAxisGroup}.
2273 @node Espaciado de pautas agrupadas
2274 @unnumberedsubsubsec Espaciado de pautas agrupadas
2275 @translationof Spacing of grouped staves
2277 En partituras grandes como las orquestales, es común colocar los
2278 pentagramas en grupos. El espacio entre los grupos suele ser mayor
2279 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2281 Los grupos de pautas, @emph{Staff-groups} (tales como
2282 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2283 contener al mismo tiempo uno o más pentagramas o pautas.
2285 Las siguientes propiedades afectan al espaciado de las pautas dentro
2289 @item Propiedades de @code{VerticalAxisGroup}:
2291 @item @code{staff-staff-spacing}
2293 @item Propiedades de @code{StaffGrouper}:
2295 @item @code{staff-staff-spacing}
2296 @item @code{staffgroup-staff-spacing}
2300 Estas propiedades de grob se describen individualmente más arriba;
2301 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2303 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2304 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2306 @lilypond[verbatim,quote,staffsize=16]
2310 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2311 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2316 \new PianoStaff \with {
2317 \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2332 @file{scm/define-grobs.scm}.
2334 Fragmentos de código:
2337 Referencia de funcionamiento interno:
2338 @rinternals{VerticalAxisGroup},
2339 @rinternals{StaffGrouper}.
2342 @node Espaciado de las líneas que no son pautas
2343 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2344 @translationof Spacing of non-staff lines
2346 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2347 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2348 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2349 de los sistemas). Específicamente, las líneas que no son pautas son
2350 contextos del tipo no-pauta que crean el objeto de presentación
2351 @code{VerticalAxisGroup}.
2353 Las siguientes propiedades afectan al espaciado de las líneas que no
2357 @item Propiedades de @code{VerticalAxisGroup}:
2359 @item @code{staff-affinity}
2360 @item @code{nonstaff-relatedstaff-spacing}
2361 @item @code{nonstaff-nonstaff-spacing}
2362 @item @code{nonstaff-unrelatedstaff-spacing}
2366 Estas propiedades de grob se describen individualmente más arriba;
2367 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2369 El ejemplo siguiente muestra cómo la propiedad
2370 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2371 consecutivas que no son pautas. Aquí, mediante el establecimiento de
2372 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2373 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2375 @lilypond[verbatim,quote,staffsize=16]
2379 \override VerticalAxisGroup
2380 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2387 \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2390 \override VerticalAxisGroup #'staff-affinity = #UP
2393 \override VerticalAxisGroup #'staff-affinity = #CENTER
2394 } \lyricmode { center }
2396 \override VerticalAxisGroup #'staff-affinity = #DOWN
2397 } \lyricmode { down }
2405 @file{ly/engraver-init.ly},
2406 @file{scm/define-grobs.scm}.
2408 Fragmentos de código:
2411 @c @lsr{spacing,page-spacing.ly},
2412 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2414 Referencia de funcionamiento interno:
2415 @rinternals{Contexts},
2416 @rinternals{VerticalAxisGroup}.
2419 @node Posicionamiento explícito de los pentagramas y los sistemas
2420 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2421 @translationof Explicit staff and system positioning
2423 Una forma de entender los mecanismos del espaciado vertical
2424 flexible que se han explicado más arriba es como una
2425 colección de ajustes que controlan la cantidad de relleno
2426 vertical entre los pentagramas y los sistemas.
2428 Es posible enfrentarse al espaciado vertical de una forma distinta
2429 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2430 Mientras que los mecanismos del espaciado vertical flexible
2431 especifican relleno vertical, @code{NonMusicalPaperColumn
2432 #'line-break-system-details} puede especificar posiciones verticales
2433 exactas sobre la página.
2435 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2436 lista asociativa de tres ajustes diferentes:
2439 @item @code{X-offset} (desplazamiento en X)
2440 @item @code{Y-offset} (desplazamiento en Y)
2441 @item @code{alignment-distances} (distancias de alineación)
2444 Las sobreescrituras de los objetos gráficos, entre ellas las de
2445 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2446 tres lugares distintos dentro de un archivo de entrada:
2449 @item directamente en medio de las notas
2450 @item en un bloque @code{\context}
2451 @item en el bloque @code{\with}
2454 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2455 instrucción @code{\override} usual en los bloques @code{\context} y en
2456 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2457 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2458 instrucción especial @code{\overrideProperty}. He aquí algunas
2459 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2460 instrucción especial @code{\overrideProperty}:
2463 \overrideProperty NonMusicalPaperColumn
2464 #'line-break-system-details #'((X-offset . 20))
2466 \overrideProperty NonMusicalPaperColumn
2467 #'line-break-system-details #'((Y-offset . 40))
2469 \overrideProperty NonMusicalPaperColumn
2470 #'line-break-system-details #'((X-offset . 20)
2473 \overrideProperty NonMusicalPaperColumn
2474 #'line-break-system-details #'((alignment-distances . (15)))
2476 \overrideProperty NonMusicalPaperColumn
2477 #'line-break-system-details #'((X-offset . 20)
2479 (alignment-distances . (15)))
2482 Para entender cómo funciona cada uno de los distintos ajustes,
2483 empezamos observando un ejemplo que no incluye absolutamente ninguna
2486 @c \book { } is required in these examples to ensure the spacing
2487 @c overrides can be seen between systems. -np
2489 @lilypond[verbatim,quote,staffsize=16]
2490 \header { tagline = ##f }
2491 \paper { left-margin = 0\mm }
2501 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2504 \repeat unfold 15 { d'4 d' d' d' }
2511 Esta partitura mantiene aislada la información de los saltos de línea
2512 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2513 de saltos ayuda a mantener separada de la escritura de notas conforme
2514 el ejemplo se vuelve más complicado. Consulte
2515 @ref{Utilizar una voz adicional para los saltos de línea}.
2517 Los saltos explícitos dividen la música de forma regular en seis
2518 compases por línea. El espaciado vertical es el resultado de los
2519 ajustes predeterminados de LilyPond. Para establecer explícitamente
2520 el punto de origen vertical de cada sistema, podemos establecer el par
2521 @code{Y-offset} en el atributo @code{line-break-system-details} del
2522 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2524 @lilypond[verbatim,quote,staffsize=16]
2525 \header { tagline = ##f }
2526 \paper { left-margin = 0\mm }
2532 \overrideProperty #"Score.NonMusicalPaperColumn"
2533 #'line-break-system-details #'((Y-offset . 0))
2535 \overrideProperty #"Score.NonMusicalPaperColumn"
2536 #'line-break-system-details #'((Y-offset . 40))
2538 \overrideProperty #"Score.NonMusicalPaperColumn"
2539 #'line-break-system-details #'((Y-offset . 80))
2542 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2545 \repeat unfold 15 { d'4 d' d' d' }
2552 Observe que @code{line-break-system-details} toma una lista asociativa
2553 de una cantidad de valores potencialmente elevada, pero aquí sólo
2554 fijamos un valor. Observe también que aquí la propiedad
2555 @code{Y-offset} determina la posición vertical exacta sobre la página
2556 en la que se trazará cada uno de los nuevos sistemas.
2558 Ahora que hemos establecido explícitamente el punto de origen vertical
2559 de cada sistema, podemos también establecer manualmente las distancias
2560 verticales entre los pentagramas dentro de cada sistema. Lo hacemos
2561 usando la subpropiedad @code{alignment-distances} de
2562 @code{line-break-system-details}.
2564 @lilypond[verbatim,quote,staffsize=16]
2565 \header { tagline = ##f }
2566 \paper { left-margin = 0\mm }
2572 \overrideProperty #"Score.NonMusicalPaperColumn"
2573 #'line-break-system-details #'((Y-offset . 20)
2574 (alignment-distances . (15)))
2576 \overrideProperty #"Score.NonMusicalPaperColumn"
2577 #'line-break-system-details #'((Y-offset . 60)
2578 (alignment-distances . (15)))
2580 \overrideProperty #"Score.NonMusicalPaperColumn"
2581 #'line-break-system-details #'((Y-offset . 100)
2582 (alignment-distances . (15)))
2585 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2588 \repeat unfold 15 { d'4 d' d' d' }
2595 Observe que aquí asignamos dos valores distintos al atributo
2596 @code{line-break-system-details} del grob
2597 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2598 @code{line-break-system-details} acepta muchos parámetros de espaciado
2599 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2600 correspondiente), sólo tenemos que establecer el desplazamiento
2601 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2602 el punto de origen vertical de cada sistema y pentagrama. Finalmente,
2603 observe que @code{alignment-distances} especifica el posicionamiento
2604 vertical de los pentagramas pero no de los grupos de pentagramas.
2606 @lilypond[verbatim,quote,staffsize=16]
2607 \header { tagline = ##f }
2608 \paper { left-margin = 0\mm }
2614 \overrideProperty #"Score.NonMusicalPaperColumn"
2615 #'line-break-system-details #'((Y-offset . 0)
2616 (alignment-distances . (30 10)))
2618 \overrideProperty #"Score.NonMusicalPaperColumn"
2619 #'line-break-system-details #'((Y-offset . 60)
2620 (alignment-distances . (10 10)))
2622 \overrideProperty #"Score.NonMusicalPaperColumn"
2623 #'line-break-system-details #'((Y-offset . 100)
2624 (alignment-distances . (10 30)))
2627 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2630 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2631 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2638 Algunos puntos que tener en cuenta:
2641 @item Al usar @code{alignment-distances}, la letra
2642 y otras líneas que no son pautas, no cuentan como un pentagrama.
2644 @item Las unidades de los números que se pasan a @code{X-offset},
2645 @code{Y-offset} y @code{alignment-distances} se interpretan como
2646 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2647 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2648 los valores negativos mueven los pentagramas y la letra hacia abajo.
2650 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2651 #'line-break-system-details} dados aquí permiten el posicionamiento de
2652 pentagramas y sistemas en cualquier lugar de la página, es posible
2653 violar los márgenes o los límites del papel, o incluso imprimir
2654 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2655 a los diferentes ajustes unos valores razonables.
2660 Fragmentos de código:
2664 @node Evitar las colisiones verticales
2665 @subsection Evitar las colisiones verticales
2666 @translationof Vertical collision avoidance
2668 @funindex outside-staff-priority
2669 @funindex outside-staff-padding
2670 @funindex outside-staff-horizontal-padding
2672 Podemos decir intuitivamente que algunos objetos de la notación
2673 musical pertenecen al pentagrama y otros se sitúan fuera del
2674 pentagrama. Entre los objetos que pertenecen al exterior del
2675 pentagrama están las marcas de ensayo, las marcas textuales y las
2676 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2677 del pentagrama). La regla de LilyPond para la colocación vertical de
2678 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2679 como sea posible pero no tan próximos como para que choquen con otro
2682 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2683 determinar si un grob es un objeto fuera del pentagrama: si
2684 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2685 del pentagrama. Además, @code{outside-staff-priority} informa a
2686 LilyPond en qué orden se debe situar los objetos.
2688 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2689 exterior del pentagrama. Después ordena los objetos fuera del
2690 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2691 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2692 a uno y los coloca de forma que no choquen con ningún objeto que ya
2693 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2694 compiten por el mismo espacio, el que tiene la prioridad
2695 @code{outside-staff-priority} más baja se colocará más próximo al
2698 @lilypond[quote,ragged-right,relative=2,verbatim]
2701 \once \override TextScript #'outside-staff-priority = #1
2702 c4_"Text"\pp % this time the text will be closer to the staff
2704 % by setting outside-staff-priority to a non-number,
2705 % we disable the automatic collision avoidance
2706 \once \override TextScript #'outside-staff-priority = ##f
2707 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2708 c4_"Text"\pp % now they will collide
2711 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2712 posicionados previamente se puede controlar con
2713 @code{outside-staff-padding}.
2715 @lilypond[quote,ragged-right,relative=2,verbatim]
2716 \once \override TextScript #'outside-staff-padding = #0
2717 a'^"This text is placed very close to the note"
2718 \once \override TextScript #'outside-staff-padding = #3
2719 c^"This text is padded away from the previous text"
2720 c^"This text is placed close to the previous text"
2723 De forma predeterminada, los objetos fuera del pentagrama se colocan
2724 sólo para evitar una colisión horizontal con los grobs posicionados
2725 previamente. Esto puede llevar a situaciones en las que los objetos
2726 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2727 vertical entre pentagramas se puede fijar también de manera que los
2728 objetos fuera del pentagrama se sitúen de forma intercalada. El
2729 establecimiento del relleno horizontal
2730 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2731 desplace verticalmente para que tal situación no ocurra.
2733 @lilypond[quote,ragged-right,relative=2,verbatim]
2734 % the markup is too close to the following note
2738 % setting outside-staff-horizontal-padding fixes this
2740 \once \override TextScript #'outside-staff-horizontal-padding = #1
2748 Fragmentos de código:
2752 @node Espaciado horizontal
2753 @section Espaciado horizontal
2754 @translationof Horizontal spacing
2756 @cindex horizontal, espaciado
2757 @cindex espaciado horizontal
2760 * Panorámica del espaciado horizontal::
2761 * Área de espaciado nueva::
2762 * Cambiar el espaciado horizontal::
2763 * Longitud de la línea::
2764 * Notación proporcional::
2768 @node Panorámica del espaciado horizontal
2769 @subsection Panorámica del espaciado horizontal
2770 @translationof Horizontal spacing overview
2772 El motor de espaciado traduce las diferencias en las duraciones a
2773 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2774 duraciones más largas reciben un espacio mayor y las duraciones más
2775 cortas reciben menos. Las duraciones más breves reciben un espacio de
2776 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2777 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2778 duración, más espacio recibe: al doblar una duración se añade un
2779 espacio de tamaño fijo (este tamaño se controla mediante
2780 @code{spacing-increment}) a la nota.
2782 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2783 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2784 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2786 @lilypond[quote,verbatim,relative=1]
2787 c2 c4. c8 c4. c8 c4. c8 c8
2791 Normalmente, el valor de @code{spacing-increment} está establecido en
2792 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2793 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2794 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2795 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2796 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2797 símbolo, de manera que las notas más breves van seguidas generalmente
2798 por un espacio de 1 ACB.
2800 Si siguiésemos el procedimiento anterior exactamente, entonces la
2801 adición de una sola fusa a una partitura que usa corcheas y
2802 semicorcheas, aumentaría enormemente la anchura de la partitura
2803 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2804 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2805 duración más breve a efectos de espaciado no es la nota más breve de
2806 la partitura, sino la que ocurre con más frecuencia.
2808 La duración más breve que es más común se determina de la siguiente
2809 manera: en cada compás se determina la duración más breve. La menor
2810 duración más común se toma como base para el espaciado, habiendo
2811 estipulado que esta duración menor siempre debe ser igual o menor que
2812 una corchea. La duración más breve se imprime cuando se ejecuta
2813 @code{lilypond} con la opción @option{--verbose}.
2815 Estas duraciones también se pueden personalizar. Si establecemos la
2816 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2817 entonces éste establece la duración base para el espaciado. La
2818 duración máxima para esta base (normalmente una corchea), se fija a
2819 través de @code{base-shortest-duration}.
2821 @funindex common-shortest-duration
2822 @funindex base-shortest-duration
2823 @funindex stem-spacing-correction
2826 Las notas que son aún más breves que la nota común más breve van
2827 seguidas por un espacio proporcional a su duración en relación con la
2828 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2829 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2831 @lilypond[quote,verbatim,relative=2]
2832 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2836 En el @emph{Ensayo sobre grabado musical automatizado},
2838 direcciones de las plicas influyen en el espaciado
2839 (véase @ressay{Espaciado óptico}). Esto se controla
2840 con la propiedad @code{stem-spacing-correction} en el objeto
2841 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2842 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2843 (generado en el contexto de @rinternals{Staff}) contiene la misma
2844 propiedad para controlar el espaciado de las líneas de plica o
2845 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2846 con los valores predeterminados y otra con correcciones exageradas:
2848 @lilypond[quote,ragged-right]
2852 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2853 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2859 Está contemplada la notación proporcional; consulte
2860 @ref{Notación proporcional}.
2864 Fragmentos de código:
2867 Referencia de funcionamiento interno:
2868 @rinternals{SpacingSpanner},
2869 @rinternals{NoteSpacing},
2870 @rinternals{StaffSpacing},
2871 @rinternals{NonMusicalPaperColumn}.
2873 Ensayo sobre grabado musical automatizado:
2874 @ressay{Espaciado óptico}.
2879 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2880 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2881 adicional en una partitura, ajustando el valor del relleno en la
2885 \override Score.NonMusicalPaperColumn #'padding = #10
2888 No existe ningún rodeo para disminuir la magnitud de la separación.
2891 @node Área de espaciado nueva
2892 @subsection Área de espaciado nueva
2893 @translationof New spacing area
2895 Se pueden iniciar secciones nuevas con diferentes parámetros de
2896 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2897 secciones que tienen distinta noción de las notas largas y cortas.
2899 En el ejemplo siguiente, el cambio de compás introduce una sección
2900 nueva, y por ello las semicorcheas se separan de manera más amplia.
2902 @lilypond[relative=1,verbatim,quote]
2905 c8 c c4 c16[ c c8] c4
2911 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2912 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2913 instrucciones de sobreescritura @code{\override} en dicho punto.
2917 Fragmentos de código:
2920 Referencia de funcionamiento interno:
2921 @rinternals{SpacingSpanner}.
2924 @node Cambiar el espaciado horizontal
2925 @subsection Cambiar el espaciado horizontal
2926 @translationof Changing horizontal spacing
2928 Se puede alterar el espaciado horizontal con la propiedad
2929 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2930 vez sin alterar la propiedad, y luego alterándola. Los valores
2931 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2932 que @code{ly:make-moment} construye una duración, por lo que @code{1
2933 4} es una duración mayor que @code{1 16}.
2935 @lilypond[verbatim,line-width=12\cm]
2938 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2939 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2940 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2941 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2946 @lilypond[verbatim,line-width=12\cm]
2949 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2950 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2951 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2952 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2957 \override SpacingSpanner
2958 #'base-shortest-duration = #(ly:make-moment 1 16)
2967 De forma predeterminada, el espaciado en los grupos de valoración
2968 especial depende de varios factores ajenos a la duración (como
2969 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2970 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2971 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2972 puede cambiarse al principio de la partitura:
2974 @lilypond[quote,ragged-right,verbatim]
2993 \override SpacingSpanner #'uniform-stretching = ##t
2999 Cuando se establece @code{strict-note-spacing}, las notas se separan
3000 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
3002 @lilypond[quote,ragged-right,relative=2,verbatim]
3003 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3004 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
3009 Fragmentos de código:
3013 @node Longitud de la línea
3014 @subsection Longitud de la línea
3015 @translationof Line length
3017 @cindex saltos de página
3018 @cindex página, saltos de
3021 @funindex line-width
3022 @funindex ragged-right
3023 @funindex ragged-last
3025 @c Although line-width can be set in \layout, it should be set in paper
3026 @c block, to get page layout right.
3027 @c Setting indent in \paper block makes not much sense, but it works.
3029 @c Bit verbose and vague, use examples?
3030 Los ajustes más básicos que influyen en el espaciado son @code{indent}
3031 y @code{line-width}. Se definen en el bloque @code{\layout}.
3032 Controlan el sangrado de la primera línea de música y la longitud de
3035 Si se fija un valor verdadero para @code{ragged-right} en el bloque
3036 @code{\layout}, entonces los sistemas terminan en su longitud
3037 horizontal natural, en lugar de repartirse horizontalmente hasta
3038 llenar toda la línea. Esto es útil para fragmentos cortos, y para
3039 comprobar qué tan apretado es el espaciado natural.
3040 El valor normal predeterminado es falso, pero si la partitura
3041 tiene un solo sistema, el valor predeterminado es verdadero.
3044 @cindex diseño de página
3045 @cindex página, disposición de la
3046 @cindex vertical, espaciado
3048 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
3049 afecta sólo a la última línea de la pieza. No se efectúa ninguna
3050 restricción sobre dicha línea. El resultado es similar al formateo de
3051 los párrafos de texto. En un párrafo, la última línea sencillamente
3052 ocupa su longitud horizontal natural.
3053 @c Note that for text there are several options for the last line.
3054 @c While Knuth TeX uses natural length, lead typesetters use the same
3055 @c stretch as the previous line. eTeX uses \lastlinefit to
3056 @c interpolate between both these solutions.
3068 Fragmentos de código:
3072 @node Notación proporcional
3073 @subsection Notación proporcional
3074 @translationof Proportional notation
3076 LilyPond contempla la notación proporcional, un tipo de espaciado
3077 horizontal en el que cada nota consume una medida horizontal que
3078 equivale exactamente a su duración rítmica. Este tipo de espaciado
3079 proporcional es comparable al espaciado horizontal hecho sobre un
3080 papel milimetrado. Ciertas partituras del finales del s.XX y
3081 principios del s.XXI utilizan notación proporcional para clarificar
3082 relaciones rítmicas complejas o para facilitar la colocación de líneas
3083 cronométricas u otros gráficos directamente en la partitura.
3085 LilyPond contempla cinco ajustes distintos para la notación
3086 proporcional, que se pueden usar solos o combinados:
3089 @item @code{proportionalNotationDuration}
3090 @item @code{uniform-stretching}
3091 @item @code{strict-note-spacing}
3092 @item @code{\remove Separating_line_group_engraver}
3093 @item @code{\override PaperColumn #'used = ##t}
3096 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
3097 de la notación proporcional y examinamos la forma en que interactúan.
3099 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
3100 espaciado clásico sin justificación por la derecha.
3102 @lilypond[quote,verbatim,ragged-right]
3105 \new RhythmicStaff {
3109 c'16 c'16 c'16 c'16 c'16
3116 Observe que la blanca que inicia el compás ocupa mucho menos de la
3117 mitad de todo el espacio horizontal del compás. De forma similar, las
3118 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
3119 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
3122 En el grabado clásico, este espaciado puede ser exactamente el que
3123 deseamos porque podemos tomar prestado el espacio horizontal de la
3124 blanca y conservar el espacio horizontal a lo largo del compás como un
3127 Por otro lado, si queremos insertar una línea de tiempo graduada o
3128 algún otro gráfico encima o debajo de la partitura, necesitamos la
3129 notación proporcional. Se activa la notación proporcional con el
3130 ajuste @code{proportionalNotationDuration}.
3132 @lilypond[quote,verbatim,ragged-right]
3135 \new RhythmicStaff {
3139 c'16 c'16 c'16 c'16 c'16
3146 proportionalNotationDuration = #(ly:make-moment 1 20)
3152 La blanca al principio del compás y las notas rápidas de la segunda
3153 mitad del compás ocupan ahora cantidades iguales de espacio
3154 horizontal. Podríamos colocar una línea de tiempo graduada o un
3155 gráfico encima o debajo de este ejemplo.
3157 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
3158 que reside en @code{Score}. Recordemos que los ajustes de contexto
3159 aparecen en uno de tres posibles lugares del archivo de entrada: en un
3160 bloque @code{\with}, en un bloque @code{\context}, o directamente
3161 entre la música precedido por la instrucción @code{\set}. Como con
3162 todos los ajustes de contexto, el usuario puede elegir en cuál de los
3163 tres lugares diferentes prefiere establecer el valor de
3164 @code{proportionalNotationDuration}.
3166 El ajuste @code{proportionalNotationDuration} acepta un solo
3167 argumento, que es la duración de referencia contra el que se aplica el
3168 espaciado de toda la música. La función Scheme de LilyPond
3169 @code{make-moment} acepta dos argumentos: un numerador y un
3170 denominador que, juntos, expresan una cierta fracción de redonda. La
3171 llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración
3172 de referencia de una nota de un veinteavo de redonda (semicorcheas de
3173 cinquillo). Son también posibles valores como
3174 @code{(ly:make-moment 1 16)},
3175 @code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}.
3177 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
3178 @code{proportionalNotationDuration}? Normalmente mediante un proceso
3179 de ensayo y error, comenzando con una duración cercana a la más rápida
3180 (o más breve) duración de la pieza. Las duraciones de referencia más
3181 pequeñas aplican un espaciado más suelto; las duraciones de referencia
3182 más largas aplican un espaciado más apretado.
3184 @lilypond[quote,verbatim,ragged-right]
3187 \new RhythmicStaff {
3191 c'16 c'16 c'16 c'16 c'16
3198 proportionalNotationDuration = #(ly:make-moment 1 8)
3205 \new RhythmicStaff {
3209 c'16 c'16 c'16 c'16 c'16
3216 proportionalNotationDuration = #(ly:make-moment 1 16)
3223 \new RhythmicStaff {
3227 c'16 c'16 c'16 c'16 c'16
3234 proportionalNotationDuration = #(ly:make-moment 1 32)
3240 Observe que una duración de referencia demasiado grande (como la
3241 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3242 apretado y puede ser causa de colisiones entre las cabezas de nota.
3243 Observe también que la notación proporcional en general ocupa más
3244 espacio horizontal que el espaciado clásico. El espaciado
3245 proporcional aporta claridad rítmica a expensas del espacio
3248 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3249 especial que se superponen.
3251 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3252 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3253 diferente de grupo especial.
3255 @lilypond[quote,verbatim,ragged-right]
3258 \new RhythmicStaff {
3262 c'16 c'16 c'16 c'16 c'16
3265 \new RhythmicStaff {
3267 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3274 El espaciado es defectuoso porque las notas regularmente espaciadas
3275 del pentagrama inferior no se amplían de manera uniforme. Los grabados
3276 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3277 grabado clásico pueden generar este tipo de resultado. El
3278 establecimiento de @code{proportionalNotationDuration} lo
3281 @lilypond[quote,verbatim,ragged-right]
3284 \new RhythmicStaff {
3288 c'16 c'16 c'16 c'16 c'16
3291 \new RhythmicStaff {
3293 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3300 proportionalNotationDuration = #(ly:make-moment 1 20)
3307 Pero si observamos con mucho cuidado podremos ver que las notas de la
3308 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3309 ancha que las de la primera mitad del 9-illo. Para asegurar una
3310 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3311 propiedad de @code{SpacingSpanner}.
3313 @lilypond[quote,verbatim,ragged-right]
3316 \new RhythmicStaff {
3320 c'16 c'16 c'16 c'16 c'16
3323 \new RhythmicStaff {
3325 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3332 proportionalNotationDuration = #(ly:make-moment 1 20)
3333 \override SpacingSpanner #'uniform-stretching = ##t
3339 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3340 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3341 una línea de tiempo graduada o un gráfico, si queremos.
3343 Observe que el paquete de notación proporcional de LilyPond espera que
3344 todas las partituras proporcionales establezcan el atributo
3345 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
3346 establecimiento de @code{proportionalNotationDuration} sin ajustar
3347 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3348 al valor ##t causará, por ejemplo, que los desplazamientos
3349 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3351 El @code{SpacingSpanner} es un grob abstracto que reside en el
3352 contexto de @code{Score}. Como con nuestros ajustes de
3353 @code{proportionalNotationDuration}, las sobreescrituras al
3354 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3355 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3356 @code{\context} o directamente dentro de la escritura de notas.
3358 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3359 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
3360 está activado para la partitura completa o desactivado para la
3361 partitura completa. Sin embargo, podemos sobreescribir este
3362 comportamiento y activar distintas posibilidades de espaciado en
3363 distintos lugares de la partitura. Lo hacemos con la instrucción
3364 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
3365 para más información.
3367 A continuación examinamos los efectos del grabador
3368 @code{Separating_line_group_engraver} y veremos por qué las partituras
3369 proporcionales con frecuencia eliminan este grabador. El ejemplo
3370 siguiente muestra que hay una pequeña cantidad de espacio
3371 @qq{preliminar} justo antes de la primera nota de cada sistema.
3373 @lilypond[quote,verbatim,ragged-right]
3386 Esta cantidad de espacio preliminar es la misma ya sea después de
3387 una indicación de compás, una armadura o una clave. El grabador
3388 @code{Separating_line_group_engraver} es responsable de este espacio.
3389 La eliminación de @code{Separating_line_group_engraver} reduce este
3392 @lilypond[quote,verbatim,ragged-right]
3398 \remove Separating_line_group_engraver
3406 Los elementos no musicales como la indicación de compás, la armadura,
3407 la clave y las alteraciones son problemáticos en notación
3408 proporcional. Ninguno de estos elementos tiene duración rítmica.
3409 Pero todos ellos consumen espacio horizontal. Las distintas
3410 partituras proporcionales abordan este problema de distinta manera.
3412 Sería posible evitar los problemas de espaciado con las armaduras,
3413 simplemente evitando tenerlas. Esta es una opción válida pues casi
3414 todas las partituras proporcionales son música contemporánea. Lo
3415 mismo puede valer para las indicaciones de compás, especialmente para
3416 las partituras que incluyen una línea de tiempo graduada u otro
3417 gráfico. Pero estas partituras son excepcionales y casi todas las
3418 partituras proporcionales incluyen al menos unas pocas indicaciones de
3419 compás. Las claves y las alteraciones son aún más esenciales.
3421 Así pues ¿qué estrategias existen para el espaciado de los elementos
3422 no musicales en un contexto proporcional? Una buena opción es la
3423 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3424 Compare las dos partituras siguientes:
3426 @lilypond[quote,verbatim,ragged-right]
3428 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3438 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3439 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3449 Las dos partituras son proporcionales, pero el espaciado de la
3450 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3451 espaciado de la segunda partitura se mantiene estricto, porque
3452 @code{strict-note-spacing} está activado. La activación de
3453 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3454 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3455 el algoritmo de espaciado.
3457 Además de los ajustes dados aquí, hay otros que aparecen con
3458 frecuencia en las partituras proporcionales. Entre ellos están:
3461 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3462 @item @code{tupletFullLength = ##t}
3463 @item @code{\override Beam #'breakable = ##t}
3464 @item @code{\override Glissando #'breakable = ##t}
3465 @item @code{\override TextSpanner #'breakable = ##t}
3466 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3469 Estos ajustes dan a las notas de adorno un espaciado estricto,
3470 extienden los corchetes de grupo especial para que marquen tanto los
3471 puntos de comienzo como de final, y permiten que los elementos de
3472 extensión se dividan entre los sistemas y las páginas. Consulte las
3473 partes respectivas del manual para ver estos ajustes relacionados.
3477 Referencia de la notación:
3478 @ref{Área de espaciado nueva}.
3480 Fragmentos de código:
3484 @node Encajar la música en menos páginas
3485 @section Encajar la música en menos páginas
3486 @translationof Fitting music onto fewer pages
3488 En ocasiones, podemos terminar con uno o dos pentagramas en una
3489 segunda página (o tercera, o cuarta@dots{}). Es fastidioso,
3490 especialmente cuando vemos que las páginas anteriores parecen tener
3493 Al investigar los problemas de disposición, una herramienta de valor
3494 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3495 valores de un cierto número de variables de espaciado; para ver más
3496 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3499 * Mostrar el espaciado::
3500 * Cambiar el espaciado::
3504 @node Mostrar el espaciado
3505 @subsection Mostrar el espaciado
3506 @translationof Displaying spacing
3508 @cindex espaciado, presentación del
3509 @funindex annotate-spacing
3511 Para presentar gráficamente las dimensiones de las variables de
3512 disposición vertical que pueden verse alteradas por el formato de la
3513 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3515 @c need to have \book{} otherwise we get the separate systems. -hwn
3516 @lilypond[verbatim,quote]
3517 #(set-default-paper-size "a6" 'landscape)
3520 \paper { annotate-spacing = ##t }
3526 Todas las dimensiones de disposición se muestran en espacios de
3527 pentagrama, independientemente de las unidades especificadas en los
3528 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3529 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3530 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3531 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3533 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3536 @tab = (25.4/72.27) mm
3539 @tab = (@code{staff-size})/4 pts
3541 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3546 En este caso, un @code{staff-space} equivale aproximadamente a
3547 1.757mm. Así, la medida @code{paper-height} de 59.75
3548 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3549 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3550 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3551 superior del intervalo.
3555 Referencia de la notación:
3556 @ref{Establecer el tamaño del pentagrama}.
3558 Fragmentos de código:
3562 @node Cambiar el espaciado
3563 @subsection Cambiar el espaciado
3564 @translationof Changing spacing
3566 La salida de @code{annotate-spacing} revela las dimensiones verticales
3567 con gran detalle. Para ver más detalles acerca de la modificación de
3568 los márgenes y otras variables de diseño de la página, consulte
3569 @ref{Disposición de la página}.
3571 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3575 Forzar los sistemas para que se junten lo más posible entre sí (de
3576 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3577 tiempo estén espaciados de forma que no exista un espacio vacío en la
3578 parte baja del papel.
3582 system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
3583 ragged-last-bottom = ##f
3589 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3590 Si tan sólo se establece un valor, incluso el mismo valor que el
3591 número de sistemas que se están trazando de forma predeterminada, ello
3592 ocasionará a veces que se traten de introducir más sistemas en cada
3593 página, pues en este caso se omite un paso en que se produce una
3594 estimación, dando así un encaje mejor en cada página. Asimismo, el
3595 forzar una reducción neta en el número de sistemas puede producir el
3596 ahorro de una página adicional. Por ejemplo, si la disposición
3597 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3598 disposición con 10 sistemas.
3607 Evitar (o reducir en número) los objetos que aumentan el tamaño
3608 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3609 segunda vez (o repeticiones con finales alternativos) necesitan
3610 espacio adicional. Si estas repeticiones se reparten a lo largo de
3611 dos sistemas, ocupan más espacio que un sistema con las casillas de
3612 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3613 dinámicas que se @q{salen} de un sistema se pueden acercar al
3616 @lilypond[verbatim,quote,relative=1]
3618 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3622 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3623 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3624 El ejemplo siguiente ilustra el espaciado predeterminado:
3626 @lilypond[verbatim,quote]
3639 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3640 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3641 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3642 duración se produce un efecto de @q{apretujamiento}:
3644 @lilypond[verbatim,quote]
3656 \override SpacingSpanner
3657 #'common-shortest-duration = #(ly:make-moment 1 2)
3664 La propiedad @code{common-shortest-duration} no se puede modificar de
3665 manera dinámica, por lo que se debe situar siempre dentro de un
3666 bloque @code{\context} de forma que se aplique a la partitura
3673 Referencia de la notación:
3674 @ref{Disposición de la página},
3675 @ref{Cambiar el espaciado horizontal}.
3677 Fragmentos de código: