1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 312f7ebc83ec9fb8cbbddfcf78b65a8502c16ab2
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 @q{A4} es el valor predeterminado si no se establece ningún tamaño de
217 página explícitamente. Sin embargo, existen dos funciones que se
218 pueden usar para modificarlo: @code{set-default-paper-size},
221 #(set-default-paper-size "quarto")
224 que siempre se debe colocar en el ámbito superior, y
225 @code{set-paper-size},
229 #(set-paper-size "tabloid")
233 que se debe colocar siempre dentro de un bloque @code{\paper}.
235 Si se usa la función @code{set-default-paper-size} en el ámbito
236 superior jerárquico, debe ir antes de cualquier bloque @code{\paper}.
237 @code{set-default-paper-size} establece el tamaño de todas las
238 páginas, mientras que @code{set-paper-size} establece sólo el tamaño
239 de las páginas a las que se aplica el bloque @code{\paper}. Por
240 ejemplo, si el bloque @code{\paper} está al principio del archivo,
241 aplica el tamaño de papel a todas las páginas. Si el bloque
242 @code{\paper} está dentro de un bloque @code{\book}, entonces el
243 tamaño del papel sólo se aplica a ese libro.
245 Cuando se usa la función @code{set-paper-size}, se debe colocar
246 @emph{antes} de cualquier otra función que se utilice dentro del mismo
247 bloque @code{\paper}. Véase @ref{Escalado automático al tamaño del
250 Los tamaños de página están definidos en el archivo
251 @file{scm/paper.scm}, y aunque es posible añadir tamaños
252 personalizados, se sobreescribirán en las actualizaciones del software
253 posteriores. La lista de todos los tamaños de papel disponibles
254 está en @ref{Tamaños de página predefinidos}.
256 @c An appendix entry exists for paper sizes but is not auto-generated
258 Se puede usar la siguiente instrucción en el archivo para añadir un
259 tamaño de página personalizado que se puede usar después con
260 @code{set-default-paper-size} o con @code{set-paper-size} según
264 #(set! paper-alist (cons '("mi tamaño" . (cons (* 15 in) (* 3 in))) paper-alist))
267 #(set-paper-size "mi tamaño")
271 Se puede usar cualquiera de las unidades @code{in} (pulgadas),
272 @code{cm} (centímetros) o @code{mm} (milímetros).
274 @cindex papel, tamaño, orientación
275 @cindex página, orientación de la
276 @cindex papel, tamaño, apaisado
278 Si se añade el símbolo @code{'landscape} a la función del tamaño de la
279 página, el papel se gira 90 grados y se establece adecuadamente la
280 anchura de las líneas.
283 #(set-default-paper-size "a6" 'landscape)
286 La salida de música @emph{no} se gira, solo las dimensiones de la
290 Referencia de la notación:
291 @ref{Escalado automático al tamaño del papel},
292 @ref{Tamaños de página predefinidos}.
295 @file{scm/paper.scm}.
298 @node Escalado automático al tamaño del papel
299 @unnumberedsubsubsec Escalado automático al tamaño del papel
300 @translationof Automatic scaling to paper size
302 Si se cambia el tamaño del papel con una de las funciones de Scheme
303 (@code{set-default-paper-size} o @code{set-paper-size}), los valores
304 de algunas variables de @code{\paper} se escalan automáticamente al
305 nuevo tamaño. Para sortear el escalado automático para una variable
306 determinada, fije el valor de la variable después de establecer el
307 tamaño del papel. Observe que el escalado automático no se activa
308 mediante el ajuste de las variables
309 @code{paper-height} o de @code{paper-width},
310 incluso aunque @code{paper-width} puede influir sobre otros valores
311 (esto es distinto al escalado y se estudia más abajo). Las funciones
312 @code{set-default-paper-size} y @code{set-paper-size} se describen en
313 @ref{Fijar el tamaño del papel}.
315 Las dimensiones verticales afectadas por el escalado automático son
316 @code{top-margin} y @code{bottom-margin}
317 (véase @ref{Variables de espaciado de \paper verticales fijas}).
319 horizontales afectadas por el escalado automático son
320 @code{left-margin}, @code{right-margin}, @code{inner-margin},
321 @code{outer-margin}, @code{binding-offset}, @code{indent} y
322 @code{short-indent} (véase
323 @ref{Variables de espaciado de \paper horizontales}).
325 Los valores predeterminados para estas dimensiones están fijados en el
326 archivo @file{ly/paper-defaults-init.ly}, usando variables internas
327 llamadas @code{top-margin-default}, @code{bottom-margin-default}, etc.
328 Estos son los valores que resultan del tamaño predeterminado del papel
329 @code{a4}. Como referencia, con el papel @code{a4} la altura
330 @code{paper-height} es @code{297\mm} y la anchura @code{paper-width}
334 Referencia de la notación:
335 @ref{Variables de espaciado de \paper verticales fijas},
336 @ref{Variables de espaciado de \paper horizontales}.
339 @file{ly/paper-defaults-init.ly},
340 @file{scm/paper.scm}.
343 @node Variables de espaciado de \paper verticales fijas
344 @subsection Variables de espaciado de @code{\paper} verticales fijas
345 @translationof Fixed vertical spacing \paper variables
347 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
348 automáticamente al tamaño del papel, lo que puede llevar a un
349 comportamiento no esperado. Véase @ref{Escalado automático al tamaño
352 Los valores predeterminados (previos al escalado) están definidos en
353 el archivo @file{ly/paper-defaults-init.ly}.
356 @item paper-height (altura del papel)
357 @funindex paper-height
359 Altura de la página, no fijada de forma predeterminada. Observe que
360 el escalado automático de algunas dimensiones verticales no resulta
363 @item top-margin (margen superior)
366 Margen entre el extremo superior de la página y la parte superior de
367 la zona imprimible. Si se modifica el tamaño del papel, el valor
368 predeterminado de esta dimensión se escala de acuerdo con ello.
370 @item bottom-margin (margen inferior)
371 @funindex bottom-margin
373 Margen entre la parte inferior de la zona imprimible y el extremo
374 inferior de la página. Si se modifica el tamaño del papel, se escala
375 de acuerdo con ello el valor predeterminado de esta dimensión.
377 @item ragged-bottom (sin justificar por abajo)
378 @funindex ragged-bottom
380 Si se fija al valor verdadero, los sistemas no se reparten
381 verticalmente hasta abajo de la página. Esto no afecta a la última
382 página. Se debe fijar a verdadero para piezas que sólo tienen dos o
383 tres sistemas por página, como por ejemplo las partituras orquestales.
385 @item ragged-last-bottom (sin justificar la última por abajo)
386 @funindex ragged-last-bottom
388 Si se establece al valor falso, los sistemas se reparten verticalmente
389 hasta abajo de la última página. Las piezas que llenan sobradamente
390 dos o más páginas deben tener este valor fijado a falso. También
391 afecta a la última página de las partes de libro, es decir, partes de
392 un libro creadas con bloques @code{\bookpart}.
397 Referencia de la notación:
398 @ref{Escalado automático al tamaño del papel}.
401 @file{ly/paper-defaults-init.ly}.
403 Fragmentos de código:
407 Los títulos (extraídos del bloque @code{\header}) se tratan como
408 sistemas, así pues @code{ragged-bottom} y @code{ragged-last-bottom}
409 aumentan la separación entre los títulos y el primer sistema de la
412 Los tamaños de papel definidos explícitamente
413 sobreescriben cualquier ajuste de los márgenes
414 superior o inferior definidos por el usuario.
417 @node Variables de espaciado de \paper verticales flexibles
418 @subsection Variables de espaciado de @code{\paper} verticales flexibles
419 @translationof Flexible vertical spacing \paper variables
421 En casi todos los casos es preferible que las distancias verticales
422 entre ciertos elementos (como márgenes, títulos, sistemas y las
423 distintas partituras) sean flexibles, de manera que se amplíen y
424 compriman adecuadamente dependiendo de la situación. Están
425 disponibles un cierto número de variables del bloque @code{\paper}
426 (relacionadas más abajo) para realizar un ajuste fino del
427 comportamiento de estas dimensiones frente a su ampliación o
430 Observe que las variables de @code{\paper} que se estudian en esta
431 sección no controlan el espaciado de los pentagramas que están dentro
432 de los sistemas individuales. El espaciado dentro de los sistemas se
433 controla por medio de propiedades de grob, con ajustes que se escriben
434 normalmente dentro de un bloque @code{\score} o @code{\layout}, y no
435 dentro del bloque @code{\paper}.
436 Véase @ref{Espaciado vertical flexible dentro de los sistemas}.
439 * Estructura de las listas-A de espaciado vertical flexible::
440 * Lista de variables de espaciado de \paper verticales flexibles::
444 @node Estructura de las listas-A de espaciado vertical flexible
445 @unnumberedsubsubsec Estructura de las listas-A de espaciado vertical flexible
446 @translationof Structure of flexible vertical spacing alists
448 Cada una de las variables de espaciado de @code{\paper} flexibles es
449 una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
454 @code{basic-distance} (distancia básica):
455 distancia vertical, medida en espacios de pentagrama, entre los
456 @emph{puntos de referencia} de los dos elementos, cuando no resulte
457 ninguna colisión, y no se produzca ninguna ampliación o compresión.
458 El punto de referencia de un elemento de marcado (de título o del
459 nivel jerárquico superior) es su punto más alto, y el punto de
460 referencia de un sistema es el centro vertical del @code{StaffSymbol}
461 más cercano (incluso si se trata de una línea que no es un pentagrama,
462 como un contexto @code{Lyrics}). Los valores de @code{distancia básica} menores
463 de @code{padding} o de @code{minimum-distance} no son significativos,
464 porque la distancia resultante nunca será menor de @code{padding} o de
465 @code{minimum-distance}.
468 @code{minimum-distance} (distancia mínima):
469 la distancia vertical mínima permitida, medida en espacios de
470 pentagrama, entre los puntos de referencia de los dos elementos,
471 cuando se produce una compresión. Los valores de
472 @code{minimum-distance} menores de @code{padding} no son
473 significativos, porque la distancia resultante nunca será menor de
476 @c TODO: explain skylines somewhere and xref to it from here.
479 @code{padding} (relleno):
480 mínimo espacio vertical vacío necesario entre los rectángulos
481 circundantes (o las líneas de horizonte) de los dos elementos,
482 medido en espacios de pentagrama.
485 @code{stretchability} (ampliabilidad):
486 medida sin unidades de la propensión relativa de esta dimensión a
487 ampliarse. Si es cero, la distancia no se ampliará (a no ser que
488 resultasen colisiones). Si es positiva, la significación del valor de
489 ampliabilidad de una dimensión concreta depende solamente de su
490 relación con los valores de @code{stretchability} de las otras
491 dimensiones. Por ejemplo, si una dimensión tiene el doble de
492 @code{stretchability} que otra, se ampliará con el doble de facilidad.
493 Los valores deben ser no negativos y finitos. El valor @code{+inf.0}
494 desencadena un error de programación y se ignora, pero se puede usar
495 @code{1.0e7} para un muelle casi infinitamente ampliable. Si no se
496 fija un valor, el valor predeterminado se establece a @code{basic-distance}.
497 Observe que la propensión de la dimensión a @emph{comprimirse} no se
498 puede establecer directamente por el usuario y es igual a
499 (@code{basic-distance}@tie{}@minus{}@tie{}@code{minimum-distance}).
503 Si una página tiene un margen inferior no justificado, la distancia
504 resultante es la mayor de:
509 @code{basic-distance},
512 @code{minimum-distance}, y
515 @code{padding} más la menor distancia necesaria
516 para eliminar las colisiones.
520 Para partituras de varias páginas con la parte inferior
521 no justificada en la última página, ésta usará el mismo
522 espaciado que la página anterior
523 siempre y cuando haya espacio suficiente para ello.
525 Los métodos específicos para la modificación de las listas-A se
526 estudian en @ref{Modificación de las listas-A}. El siguiente ejemplo
527 muestra las dos formas en que pueden modificarse estas listas-A. La
528 primera declaración actualiza un par clave-valor individualmente, y la
529 segunda redefine la variable completamente:
533 system-system-spacing #'basic-distance = #8
534 score-system-spacing =
535 #'((basic-distance . 12)
536 (minimum-distance . 6)
538 (stretchability . 12))
543 @node Lista de variables de espaciado de \paper verticales flexibles
544 @unnumberedsubsubsec Lista de variables de espaciado de @code{\paper} verticales flexibles
545 @translationof List of flexible vertical spacing \paper variables
547 Los nombres de estas variables siguen el formato
548 @code{@var{superior}-@var{inferior}-spacing}, donde
549 @code{@var{superior}} e @code{@var{inferior}} son los elementos que
550 van a ser espaciados. Cada distancia se mide entre los puntos de
551 referencia de los dos elementos (véase más arriba la descripción de la
552 estructura de la lista-A). Observe que en estos nombres de variable,
553 el término @q{@code{markup}} se refiere tanto a @emph{elementos de
554 marcado de título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup})
555 como a @emph{elementos de marcado del nivel superior} (véase
556 @ref{Estructura del archivo}). Todas las distancias se miden en
557 espacios de pentagrama.
559 Los ajustes predeterminados están definidos en el archivo
560 @file{ly/paper-defaults-init.ly}.
562 @c TODO: Where do headers/footers fit in? -mp
565 @item markup-system-spacing
566 @funindex markup-system-spacing
568 distancia entre un elemento de marcado (de título o del nivel
569 superior) y el sistema que le sigue.
571 @item score-markup-spacing
572 @funindex score-markup-spacing
574 distancia entre el último sistema de una partitura y el elemento de
575 marcado (de título o del nivel superior) que le sigue.
577 @item score-system-spacing
578 @funindex score-system-spacing
580 distancia entre el último sistema de una partitura y el primer sistema
581 de la partitura que le sigue, cuando no existe ningún elemento de
582 marcado (de título o del nivel superior) entre ellos.
584 @item system-system-spacing
585 @funindex system-system-spacing
587 distancia entre dos sistemas dentro de la misma partitura.
589 @item markup-markup-spacing
590 @funindex markup-markup-spacing
592 distancia entre dos elementos de marcado (de título o del nivel
595 @item last-bottom-spacing
596 @funindex last-bottom-spacing
598 distancia desde el último sistema o elemento de marcado del nivel
599 superior en una página, hasta la parte inferior de la zona imprimible
600 (es decir, el extremo superior del margen inferior).
602 @item top-system-spacing
603 @funindex top-system-spacing
605 distancia desde la parte superior de la zona imprimible (es decir, el
606 extremo inferior del margen superior) hasta el primer sistema de una
607 página, cuando no hay ningún elemento de marcado (de título o del
608 nivel superior) entre los dos.
610 @item top-markup-spacing
611 @funindex top-markup-spacing
613 distancia desde el extremo superior de la zona imprimible (es decir,
614 el extremo inferior del margen superior) hasta el primer elemento de
615 marcado (de título o del nivel superior) sobre una página, cuando no
616 hay ningún sistema entre los dos.
620 Referencia de la notación:
621 @ref{Espaciado vertical flexible dentro de los sistemas}.
624 @file{ly/paper-defaults-init.ly}.
626 Fragmentos de código:
630 @node Variables de espaciado de \paper horizontales
631 @subsection Variables de espaciado de \paper horizontales
632 @translationof Horizontal spacing \paper variables
634 @warning{Algunas dimensiones de @code{@bs{}paper} se escalan
635 automáticamente al tamaño del papel, lo que puede dar lugar a un
636 comportamiento distinto al esperado. Véase
637 @ref{Escalado automático al tamaño del papel}.}
640 * Variables de \paper para la anchura y los márgenes::
641 * Variables de \paper para el modo de doble cara::
642 * Variables de \paper para desplazamientos y sangrados::
646 @node Variables de \paper para la anchura y los márgenes
647 @unnumberedsubsubsec Variables de @code{\paper} para la anchura y los márgenes
648 @translationof \paper variables for widths and margins
650 Los valores predeterminados (antes del escalado) que no están
651 relacionados aquí se encuentran definidos en el archivo
652 @file{ly/paper-defaults-init.ly}.
657 @funindex paper-width
659 Anchura de la página, sin fijar de forma predeterminada. Aunque
660 @code{paper-width} no tiene ningún efecto sobre el escalado automático
661 de algunas dimensiones horizontales, sí influye sobre la variable
662 @code{line-width}. Si están establecidas las dos variables
663 @code{paper-width} y @code{line-width}, entonces también se actualizan
664 @code{left-margin} y @code{right-margin}. Véase también
665 @code{check-consistency}.
670 Dimensiones horizontales de las líneas del pentagrama en los sistemas
671 sin sangrado y justificados, igual a
672 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
673 cuando está sin fijar. Si @code{line-width} está fijado, y tanto
674 @code{left-margin} como @code{right-margin} están sin fijar, entonces
675 los márgenes se actualizan para centrar los sistemas automáticamente
676 sobre la página. Véase también @code{check-consistency}.
677 Esta variable también se puede fijar dentro de un bloque @code{\layout}.
680 @funindex left-margin
682 Margen entre el extremos izquierdo de la página y el comienzo de las
683 líneas del pentagrama en los sistemas sin sangrado. Si el tamaño del
684 papel se modifica, el valor predeterminado de esta dimensión se escala
685 de acuerdo con ello. Si no se fija el valor de @code{left-margin}, y
686 tanto @code{line-width} como @code{right-margin} están fijados,
687 entonces se establece el valor de @code{left-margin} a
688 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}.
689 Si solamente está fijado @code{line-width}, entonces los dos márgenes
691 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
692 como consecuencia los sistemas se centran sobre la página. Véase
693 también @code{check-consistency}.
696 @funindex right-margin
698 Margen entre el extremo derecho de la página y el final de las líneas
699 del pentagrama en sistemas justificados. Si el tamaño de la página se
700 modifica, el valor predeterminado de esta dimensión se escala de
701 acuerdo con ello. Si @code{right-margin} está sin fijar, y tanto
702 @code{line-width} como @code{left-margin} están fijados, el valor de
703 @code{right-margin} se establece a
704 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}.
705 Si solamente está fijado @code{line-width}, los dos márgenes se
707 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}, y
708 como consecuencia los sistemas aparecen centrados sobre la página.
709 Véase también @code{check-consistency}.
711 @item check-consistency
712 @funindex check-consistency
714 Si se establece al valor verdadero, se imprime una advertencia en caso
715 de que la suma de @code{left-margin}, @code{line-width} y
716 @code{right-margin} no coincida exactamente con el valor de
717 @code{paper-width}, y se sustituye cada uno de estos valores (excepto
718 @code{paper-width}) con su valor predeterminado (escalado al tamaño
719 del papel si es necesario). Si está fijado al valor falso, se ignora
720 cualquier inconsistencia y se permite que los sistemas se salgan del
724 @funindex ragged-right
726 Si está fijado al valor verdadero, los sistemas no cubren el ancho de
727 la línea. En lugar de ello, los sistemas finalizan en su longitud
728 horizontal natural. Valor predeterminado: @code{#t} para las
729 partituras con un solo sistema, y @code{#f} para partituras que tienen
730 dos o más sistemas. Esta variable también se puede establecer dentro
731 de un bloque @code{\layout}.
734 @funindex ragged-last
736 Si está fijado al valor verdadero, el último sistema de la partitura
737 no llena toda la anchura de la línea. En lugar de ello, el último
738 sistema finaliza en su longitud horizontal natural. Valor
739 predeterminado: @code{#f}. Esta variable también puede ajustarse
740 dentro de un bloque @code{\layout}.
745 Referencia de la notación:
746 @ref{Escalado automático al tamaño del papel}.
749 @file{ly/paper-defaults-init.ly}.
752 Los tamaños de papel definidos explícitamente
753 sobreescriben cualquier ajuste de los márgenes
754 izquierdo o derecho definidos por el usuario.
757 @node Variables de \paper para el modo de doble cara
758 @unnumberedsubsubsec Variables de @code{\paper} para el modo de doble cara
759 @translationof \paper variables for two-sided mode
761 Los valores predeterminados (antes del escalado) se definen en
762 @file{ly/paper-defaults-init.ly}.
769 @cindex encuadernación
770 @cindex margen de encuadernación
772 Si tiene el valor verdadero, utilizar @code{inner-margin},
773 @code{outer-margin} y @code{binding-offset} para determinar los
774 márgenes dependiendo de si el número de la página es par o impar.
775 Esto sobreescribe a @code{left-margin} y a @code{right-margin}.
778 @funindex inner-margin
780 Margen que todas las páginas tienen en el lado interno si forman parte
781 de un libro. Si el tamaño del papel se modifica, el valor
782 predeterminado de esta dimensión se escala de acuerdo con ello.
783 Solamente funciona con @code{two-sided} fijado al valor verdadero.
786 @funindex outer-margin
788 Margen que todas las páginas tienen en el lado externo si forman parte
789 de un libro. Si el tamaño del papel se modifica, el valor
790 predeterminado de esta dimensión se escala de acuerdo con ello.
791 Solamente funciona con @code{two-sided} fijado al valor verdadero.
794 @funindex binding-offset
796 Medida en que se aumenta @code{inner-margin} para asegurar que no se
797 oculta nada a causa de la encuadernación. Si el tamaño del papel se
798 modifica, el valor predeterminado de esta dimensión se escala de
799 acuerdo con ello. Solamente funciona con @code{two-sided} fijado al
805 Referencia de la notación:
806 @ref{Escalado automático al tamaño del papel}.
809 @file{ly/paper-defaults-init.ly}.
812 @node Variables de \paper para desplazamientos y sangrados
813 @unnumberedsubsubsec Variables de @code{\paper} para desplazamientos y sangrados
814 @translationof \paper variables for shifts and indents
816 Los valores predeterminados (antes del escalado) que no se relacionan
817 aquí están definidos en el archivo @file{ly/paper-defaults-init.ly}.
821 @item horizontal-shift
822 @funindex horizontal-shift
824 @c This default value is buried in the middle of page.scm. -mp
826 Medida en que todos los sistemas (incluidos los títulos de cabecera y
827 los separadores de sistemas) se desplazan a la derecha.
828 Predeterminado: @code{0.0}.
833 Nivel de sangrado para el primer sistema de una partitura. Si se
834 modifica el tamaño del papel, el valor predeterminado de esta
835 dimensión se escala de acuerdo con ello. Esta variable también se
836 puede ajustar dentro de un bloque @code{\layout}.
839 @funindex short-indent
841 Nivel de sangrado para todos los sistemas de una partitura excepto el
842 primero. Si el tamaño del papel se modifica, el valor predeterminado
843 de esta dimensión se escala de acuerdo con ello. Esta variable
844 también se puede ajustar dentro de un bloque @code{\layout}.
849 Referencia de la notación:
850 @ref{Escalado automático al tamaño del papel}.
853 @file{ly/paper-defaults-init.ly}.
855 Fragmentos de código:
859 @node Otras variables de \paper
860 @subsection Otras variables de @code{\paper}
861 @translationof Other \paper variables
864 * Variables de \paper para los saltos de línea::
865 * Variables de \paper para los saltos de página::
866 * Variables de \paper para la numeración de las páginas::
867 * Variables de \paper diversas::
871 @node Variables de \paper para los saltos de línea
872 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de línea
873 @translationof \paper variables for line breaking
875 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
879 @item max-systems-per-page
880 @funindex max-systems-per-page
882 Número máximo de sistemas que se colocan sobre una página. Solo está
883 contemplado por el algoritmo @code{ly:optimal-breaking}. Valor
884 predeterminado: no fijado.
886 @item min-systems-per-page
887 @funindex min-systems-per-page
889 Número mínimo de sistemas que se colocan sobre una página. Puede
890 causar que las páginas aparezcan atiborradas si el valor es demasiado
891 grande En el momento actual solo está contemplado por el algoritmo
892 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
894 @item systems-per-page
895 @funindex systems-per-page
897 Número de sistemas que se deben colocar en cada página. En el momento
898 actual solo está contemplado por el algoritmo
899 @code{ly:optimal-breaking}. Valor predeterminado: no fijado.
902 @funindex system-count
904 Número de sistemas que utilizar para una partitura. Valor
905 predeterminado: no fijado. Esta variables también se puede ajustar
906 dentro de un bloque @code{\layout}.
911 Referencia de la notación:
912 @ref{Saltos de línea}.
915 @node Variables de \paper para los saltos de página
916 @unnumberedsubsubsec Variables de @code{\paper} para los saltos de página
917 @translationof \paper variables for page breaking
919 Los valores predeterminados que no están relacionados aquí, se definen
920 en el archivo @file{ly/paper-defaults-init.ly}
924 @item blank-after-score-page-force
925 @funindex blank-after-score-page-force
927 Penalización por tener una página vacía después del final de una
928 partitura y antes de la siguiente. De forma predeterminada, es menor
929 que @code{blank-page-force}, de manera que preferimos páginas vacías
930 después de las partituras que páginas vacías dentro de una partitura.
932 @item blank-last-page-force
933 @funindex blank-last-page-force
935 Penalización por terminar la partitura sobre una página impar.
937 @item blank-page-force
938 @funindex blank-page-force
940 Penalización por tener una página vacía en medio de una partitura. No
941 se utiliza por parte de @code{ly:optimal-breaking} porque nunca
942 considera páginas vacías en mitad de una partitura.
945 @funindex page-breaking
947 Algoritmo de saltos de página que utilizar. Se puede elegir entre
948 @code{ly:minimal-breaking}, @code{ly:page-turn-breaking} o
949 @code{ly:optimal-breaking}.
951 @item page-breaking-system-system-spacing
952 @funindex page-breaking-system-system-spacing
954 Engaña a la parte del programa encargada de los saltos de página para
955 que piense que @code{system-system-spacing} está establecido a un
956 valor distinto al que tiene realmente. Por ejemplo, si
957 @code{page-breaking-system-system-spacing #'padding} está establecido
958 a algo que es mucho mayor que @code{system-system-spacing #'padding},
959 entonces el divisor de páginas pone menos sistemas en cada página.
960 Valor predeterminado: sin ajustar.
965 Número de páginas que utilizar en una partitura, no ajustado de forma
971 Referencia de la notación:
972 @ref{Saltos de página},
973 @ref{Saltos de página óptimos},
974 @ref{Paso de página óptimo},
975 @ref{Saltos de página mínimos}.
978 @file{ly/paper-defaults-init.ly}.
981 @node Variables de \paper para la numeración de las páginas
982 @unnumberedsubsubsec Variables de @code{\paper} para la numeración de las páginas
983 @translationof \paper variables for page numbering
985 Los valores predeterminados que no se relacionan aquí están definidos
986 en el archivo @file{ly/paper-defaults-init.ly}
990 @cindex números de página, automáticos
991 @item auto-first-page-number
992 @funindex auto-first-page-number
994 El algoritmo de división de páginas está afectado por el hecho de que
995 el número de la primera página sea par o impar. Si está establecido
996 al valor verdadero, el algoritmo de división de páginas decide si
997 comenzar con un número par o impar. Esto hace que el número de la
998 primera página se quede como está, o que se aumente en una unidad.
999 Predeterminado: @code{#f}.
1001 @cindex números de página, especificar el primero
1002 @item first-page-number
1003 @funindex first-page-number
1005 Valor del número de pátina en la primera página.
1007 @item print-first-page-number
1008 @funindex print-first-page-number
1010 Si está fijado a verdadero, se imprime un número de página en la
1013 @cindex números de página, suprimir
1014 @item print-page-number
1015 @funindex print-page-number
1017 Si está fijado a falso, no se imprimen los números de página.
1023 @file{ly/paper-defaults-init.ly}.
1026 Los números de página impares siempre están a la derecha.
1027 Si quiere que la música comience en la página 1 debe haber
1028 una página en blanco en el reverso de la página de cubierta
1029 de manera que la página 1 esté en el lado derecho.
1032 @node Variables de \paper diversas
1033 @unnumberedsubsubsec Variables de @code{\paper} diversas
1034 @translationof Miscellaneous \paper variables
1038 @item page-spacing-weight
1039 @funindex page-spacing-weight
1041 Importancia relativa del espacio (vertical) de las páginas y el
1042 espaciado (horizontal) de las líneas. Los valores altos hacen que el
1043 espaciado de la página tenga más importancia. Predeterminado:
1046 @item print-all-headers
1047 @funindex print-all-headers
1049 Si está fijado a verdadero, imprime todos los encabezamientos para
1050 cada una de las partituras @code{\score} de la salida. Normalmente
1051 sólo se imprimen las variables de encabezamiento @code{piece} y
1052 @code{opus}. Valor predeterminado: @code{#f}.
1054 @item system-separator-markup
1055 @funindex system-separator-markup
1057 Objeto de marcado que se inserta entre los sistemas. Se suele usar
1058 para partituras orquestales. Predeterminado: sin establecer. El
1059 elemento de marcado @code{\slashSeparator}, definido en el archivo
1060 @file{ly/titling-init.ly}, se aporta como un valor predeterminado
1061 adecuado, por ejemplo:
1063 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
1064 #(set-default-paper-size "a8")
1068 system-separator-markup = \slashSeparator
1074 \relative c'' { c1 \break c1 \break c1 }
1083 @file{ly/titling-init.ly}.
1085 Fragmentos de código:
1089 El encabezamiento de página predeterminado pone el número de página y
1090 el campo @code{instrument} del bloque @code{\header} sobre la misma
1094 @node Disposición de la partitura
1095 @section Disposición de la partitura
1096 @translationof Score layout
1098 Esta sección trata de las opciones de disposición de la partitura para
1099 el bloque @code{\layout}.
1102 * El bloque \layout::
1103 * Establecer el tamaño del pentagrama::
1107 @node El bloque \layout
1108 @subsection El bloque @code{\layout}
1109 @translationof The \layout block
1113 Así como el bloque @code{\paper} contiene ajustes relativos al
1114 formateo de la página para todo el documento, el bloque @code{\layout}
1115 contiene ajustes para la disposición específica de las partituras.
1116 Para fijar las opciones de disposición de partituras de forma global,
1117 escríbalas en un bloque @code{\layout} del nivel jerárquico superior.
1118 Para fijar opciones de disposición para una partitura individual
1119 escríbalas dentro de un bloque @code{\layout} dentro del bloque
1120 @code{\score}, después de la música. Entre los ajustes que pueden
1121 aparecer en un bloque @code{\layout} se encuentran los siguientes:
1124 @item la función de Scheme @code{layout-set-staff-size},
1125 @item las modificaciones de contexto de los bloques @code{\context}, y
1126 @item las variables de @code{\paper} que afectan a la disposición de la partitura.
1129 La función @code{layout-set-staff-size} se estudia en la sección
1130 siguiente, @ref{Establecer el tamaño del pentagrama}. Las
1131 modificaciones de contexto se estudian en un capítulo distinto; véase
1132 @ref{Modificar los complementos (plug-ins) de contexto} y
1133 @ref{Cambiar los valores por omisión de los contextos}. Las variables de
1134 @code{\paper} que pueden aparecer dentro de un bloque @code{\layout}
1140 @code{line-width}, @code{ragged-right} y @code{ragged-last}
1141 (véase @ref{Variables de \paper para la anchura y los márgenes})
1144 @code{indent} y @code{short-indent}
1145 (véase @ref{Variables de \paper para desplazamientos y sangrados})
1149 (véase @ref{Variables de \paper para los saltos de línea})
1153 He aquí un ejemplo de un bloque @code{\layout}:
1160 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
1164 \override TextScript #'padding = #1
1165 \override Glissando #'thickness = #3
1171 Referencia de la notación:
1172 @ref{Cambiar los valores por omisión de los contextos}.
1174 Fragmentos de código:
1178 @node Establecer el tamaño del pentagrama
1179 @subsection Establecer el tamaño del pentagrama
1180 @translationof Setting the staff size
1182 @cindex tipografía, fijar el tamaño de
1183 @cindex pentagrama, fijar el tamaño de
1184 @funindex disposición, archivo de
1186 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1187 puntos. Esto se puede modificar de dos maneras:
1189 Para establecer globalmente el tamaño del pentagrama para todas las
1190 partituras de un archivo (o en un bloque @code{book}, para ser
1191 exactos), utilice @code{set-global-staff-size}.
1194 #(set-global-staff-size 14)
1198 Esto establece el tamaño global predeterminado a una altura de
1199 pentagrama de 14pt y escala todas las tipografías según corresponda.
1201 Para establecer el tamaño del pentagrama de forma individual para cada
1207 #(layout-set-staff-size 15)
1212 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1213 distintos. Cada fuente tipográfica está afinada para un tamaño de
1214 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1215 pesada, para que coincida con las líneas de pentagrama relativamente
1216 más gruesas. Los tamaños de tipografía recomendados están
1217 relacionados en la tabla siguiente:
1220 @multitable @columnfractions .15 .2 .22 .2
1222 @item @b{nombre de la fuente}
1223 @tab @b{altura del pentagrama (pt)}
1224 @tab @b{altura del pentagrama (mm)}
1230 @tab partituras de bolsillo
1255 @tab particellas estándar
1266 @c modern rental material?
1271 Estas tipografías están disponibles en cualquier tamaño. La propiedad
1272 de contexto @code{fontSize} y la propiedad de disposición
1273 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1274 afinar el tamaño de los pentagramas individuales. Los tamaños de
1275 pentagrama individuales están en relación al tamaño global.
1278 Referencia de la notación:
1279 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1281 Fragmentos de código:
1285 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1291 @translationof Breaks
1295 * Saltos de página::
1296 * Saltos de página óptimos::
1297 * Paso de página óptimo::
1298 * Saltos de página mínimos::
1299 * Saltos de línea explícitos::
1300 * Utilizar una voz adicional para los saltos de línea::
1304 @node Saltos de línea
1305 @subsection Saltos de línea
1306 @translationof Line breaking
1308 @cindex saltos de línea
1309 @cindex línea, saltos de
1311 Normalmente los saltos de línea se determinan automáticamente. Se
1312 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1313 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1316 Para forzar manualmente un salto de línea sobre la línea divisoria,
1317 utilice la instrucción @code{\break}:
1319 @lilypond[quote,ragged-right,relative=2,verbatim]
1324 De forma predeterminada se ignora cualquier @code{\break} en la mitad
1325 de un compás, y se imprime una advertencia. Para forzar un salto de
1326 línea en medio de un compás, añada una barra de compás invisible con
1329 @lilypond[quote,ragged-right,relative=2,verbatim]
1336 También se ignora un @code{\break} que se produce en la línea
1337 divisoria si el compás anterior termina en medio de una nota, como
1338 cuando un grupo de valoración especial inicia y termina en compases
1339 diferentes. Para permitir que las instrucciones @code{\break}
1340 funcionen en estas situaciones, elimine el grabador
1341 @code{Forbid_line_break_engraver} del contexto @code{Voice}. Observe
1342 que los saltos de línea forzados manualmente se deben añadir en
1343 paralelo con la música:
1345 @lilypond[quote,ragged-right,verbatim]
1347 \remove Forbid_line_break_engraver
1350 { c2. \times 2/3 { c4 c c } c2. | }
1351 { s1 | \break s1 | }
1356 De forma similar, los saltos de línea están normalmente prohibidos
1357 cuando hay barras de corchea que cruzan la línea divisoria. Se puede
1358 cambiar este comportamiento fijando @code{\override Beam #'breakable =
1361 @lilypond[quote,ragged-right,relative=2,verbatim]
1362 \override Beam #'breakable = ##t
1367 La instrucción @code{\noBreak}, prohíbe un salto de línea en
1368 la barra divisoria en que se inserta.
1370 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1371 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1372 @code{\layout}. Controlan el sangrado de la primera línea de música,
1373 y la longitud de las líneas.
1375 Si se establece @code{ragged-right} a verdadero en el bloque
1376 @code{\layout}, los sistemas terminan en su longitud horizontal
1377 natural, en lugar de distribuirse horizontalmente para llenar toda la
1378 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1379 comprobación de lo apretado que es el espaciado natural.
1381 @c TODO Check and add para on default for ragged-right
1383 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1384 afecta sólo a la última línea de la pieza.
1394 @cindex saltos de línea normales
1395 @cindex música de cuatro compases por línea
1397 Para saltos de línea a intervalos regulares utilice @code{\break}
1398 separado mediante desplazamientos con @code{\skip} y repetidos con
1399 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1400 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1401 compases, y sólo en dichos lugares:
1406 s1 \noBreak s1 \noBreak
1407 s1 \noBreak s1 \break
1409 @{ @var{la música real@dots{}} @}
1414 Una configuración de división de líneas se puede guardar como archivo
1415 @file{.ly} automáticamente. Ello permite que alineaciones verticales
1416 se estiren para que encajen en las páginas durante una segunda
1417 ejecución del proceso de formateo. Esta posibilidad es bastante
1418 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1428 Referencia de la notación:
1429 @ref{Variables de \paper para los saltos de línea}.
1431 Fragmentos de código:
1434 Referencia de funcionamiento interno:
1435 @rinternals{LineBreakEvent}.
1438 @node Saltos de página
1439 @subsection Saltos de página
1440 @translationof Page breaking
1442 Se puede sobreescribir el mecanismo predeterminado de salto de página
1443 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1444 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1445 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1446 y prohíben, respectivamente, la eventualidad de un salto de página.
1447 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1450 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1451 pueden insertar en el nivel más alto, entre las partituras y los
1452 elementos de marcado situados en el nivel superior.
1454 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1455 tienen el mismo efecto sobre el espaciado vertical:
1456 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1457 establecidos a @code{#t} los sistemas de todas las páginas o sólo de
1458 la última página, respectivamente, no se verán justificados
1459 verticalmente. Véase
1460 @ref{Variables de espaciado de \paper verticales fijas}.
1462 Los saltos de página se calculan por medio de la función
1463 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1464 de los saltos de página: @code{ly:optimal-breaking},
1465 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1466 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1467 cambiar en el bloque @code{\paper}:
1471 page-breaking = #ly:page-turn-breaking
1477 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1478 resolver el problema de los saltos de página, necesitando mucha
1479 memoria y prolongados tiempos de procesamiento. Para facilitar el
1480 proceso de división en páginas, se usan los bloques @code{\bookpart}
1481 para dividir el libro en varias partes: los saltos de página se
1482 producen de manera independiente en cada parte. También se pueden
1483 usar diferentes funciones de división en páginas para las distintas
1489 subtitle = "Prefacio"
1492 %% En una parte que consiste en texto principalmente,
1493 %% puede ser preferible ly:minimal-breaking
1494 page-breaking = #ly:minimal-breaking
1496 \markup @{ @dots{} @}
1500 %% En esta parte, consistente en música, se usa la función
1501 %% óptima predeterminada de saltos de página.
1503 subtitle = "Primer movimiento"
1505 \score @{ @dots{} @}
1511 @funindex \pageBreak
1513 @funindex \noPageBreak
1514 @code{\noPageBreak}.
1518 Referencia de la notación:
1519 @ref{Variables de \paper para los saltos de página}.
1521 Fragmentos de código:
1525 @node Saltos de página óptimos
1526 @subsection Saltos de página óptimos
1527 @translationof Optimal page breaking
1529 @funindex ly:optimal-breaking
1531 La función @code{ly:optimal-breaking} es el método predeterminado de
1532 LilyPond para determinar los saltos de página. Intenta hallar una
1533 división de páginas que haga mínimos el apretujamiento y la
1534 distensión, tanto horizontal como verticalmente. A diferencia de
1535 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1539 Fragmentos de código:
1543 @node Paso de página óptimo
1544 @subsection Paso de página óptimo
1545 @translationof Optimal page turning
1547 @funindex ly:page-turn-breaking
1549 Con frecuencia es necesario encontrar una configuración de división de
1550 páginas de manera que haya un silencio al final de una página de cada
1551 dos. De esta forma, el músico puede pasar la página sin perder notas.
1552 La función @code{ly:page-turn-breaking} trata de encontrar una
1553 división de páginas que haga mínimos el apretujamiento y el
1554 estiramiento, pero con la restricción añadida de que sólo se permite
1555 introducir vueltas de página en los lugares especificados.
1557 Hay dos etapas en el uso de esta función de división de páginas. En
1558 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1559 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1560 dónde nos gustaría permitir los saltos de página.
1562 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1563 especificar manualmente cada uno de los pasos de página potenciales,
1564 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1567 Si esto es demasiado tedioso, podemos añadir un grabador
1568 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1569 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1570 sin notas (observe que no busca silencios, sino la ausencia de notas.
1571 Se hace así para que la polifonía en un solo pentagrama con silencios
1572 en una de las voces no arruine la labor del grabador
1573 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1574 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1575 un @code{\allowPageTurn} en la última barra de compás de dicha
1576 sección, a no ser que haya una barra @q{especial} de compás (como una
1577 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1578 última barra @q{especial} de compás de la sección.
1580 @funindex minimumPageTurnLength
1581 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1582 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1583 una sección sin notas antes de que se considere la posibilidad de un
1584 paso de página. El valor predeterminado para
1585 @code{minimumPageTurnLength} es @code{(ly:make-moment 1 1)}. Si
1586 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1590 \new Staff \with @{ \consists "Page_turn_engraver" @}
1593 R1 | % aquí se permite un salto de página
1595 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1596 R1 | % aquí no se permite un salto de página
1598 R1*2 | % aquí se permite un salto de página
1603 @funindex minimumRepeatLengthForPageTurn
1604 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1605 primera y segunda vez. Sólo permite un pase de página durante la
1606 repetición si hay suficiente tiempo al principio y al final de la
1607 repetición para volver a pasar la página hacia atrás. El grabador
1608 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1609 página si la repetición es muy corta. Si establecemos la propiedad de
1610 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1611 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1612 repeticiones cuya duración sea mayor que este valor.
1614 Las instrucciones de paso de página, @code{\pageTurn},
1615 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1616 el nivel más elevado del código, entre las partituras y los elementos
1617 de marcado del nivel superior.
1622 @funindex \noPageTurn
1624 @funindex \allowPageTurn
1625 @code{\allowPageTurn}.
1629 Fragmentos de código:
1633 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1634 partitura. Si hay más de uno, se interferirán entre sí.
1637 @node Saltos de página mínimos
1638 @subsection Saltos de página mínimos
1639 @translationof Minimal page breaking
1641 @funindex ly:minimal-breaking
1643 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1644 para determinar los saltos de página: completa una página con tantos
1645 sistemas como sea posible antes de continuar con la siguiente. Así,
1646 puede preferirse para partituras con muchas páginas, donde las otras
1647 funciones de salto de página pueden resultar demasiado lentas o ávidas
1648 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1652 page-breaking = #ly:minimal-breaking
1657 Fragmentos de código:
1661 @node Saltos de línea explícitos
1662 @subsection Saltos de línea explícitos
1663 @translationof Explicit breaks
1665 Lily a veces rechaza las instrucciones @code{\break} y
1666 @code{\pageBreak} explícitas. Hay dos instrucciones para
1667 sobreescribir este comportamiento:
1670 \override NonMusicalPaperColumn #'line-break-permission = ##f
1671 \override NonMusicalPaperColumn #'page-break-permission = ##f
1674 Cuando se sobreescribe el valor de @code{line-break-permission} a
1675 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1676 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1677 @code{page-break-permission} a falso, Lily inserta saltos de página en
1678 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1680 @lilypond[quote,verbatim]
1687 music = \relative c'' { c8 c c c }
1691 \repeat unfold 2 { \music } \break
1692 \repeat unfold 4 { \music } \break
1693 \repeat unfold 6 { \music } \break
1694 \repeat unfold 8 { \music } \pageBreak
1695 \repeat unfold 8 { \music } \break
1696 \repeat unfold 6 { \music } \break
1697 \repeat unfold 4 { \music } \break
1698 \repeat unfold 2 { \music }
1703 \override NonMusicalPaperColumn #'line-break-permission = ##f
1704 \override NonMusicalPaperColumn #'page-break-permission = ##f
1711 Fragmentos de código:
1715 @node Utilizar una voz adicional para los saltos de línea
1716 @subsection Utilizar una voz adicional para los saltos de línea
1717 @translationof Using an extra voice for breaks
1719 La información sobre saltos de línea y de página suele aparecer
1720 directamente entremezclado dentro del código de notas.
1723 music = \relative c'' @{ c4 c c c @}
1727 \repeat unfold 2 @{ \music @} \break
1728 \repeat unfold 3 @{ \music @}
1733 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1734 @code{\pageBreak}, pero mezcla la escritura de música con información
1735 que especifica cómo se debe disponer la música sobre la página.
1736 Podemos mantener la introducción de música y la información de saltos
1737 de línea y de página en dos lugares separados mediante la introducción
1738 de una voz adicional que contenga los saltos. Esta voz adicional
1739 contiene solamente desplazamientos o @q{skips} junto con los
1740 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1741 disposición de los saltos.
1743 @lilypond[quote,verbatim]
1744 music = \relative c'' { c4 c c c }
1755 \repeat unfold 2 { \music }
1756 \repeat unfold 3 { \music }
1757 \repeat unfold 6 { \music }
1758 \repeat unfold 5 { \music }
1764 Este patrón resulta especialmente útil cuando se sobreescribe
1765 @code{line-break-system-details} y las otras útiles (pero largas)
1766 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1767 @ref{Espaciado vertical}.
1769 @lilypond[quote,verbatim]
1770 music = \relative c'' { c4 c c c }
1775 \overrideProperty "Score.NonMusicalPaperColumn"
1776 #'line-break-system-details #'((Y-offset . 0))
1779 \overrideProperty "Score.NonMusicalPaperColumn"
1780 #'line-break-system-details #'((Y-offset . 35))
1783 \overrideProperty "Score.NonMusicalPaperColumn"
1784 #'line-break-system-details #'((Y-offset . 70))
1787 \overrideProperty "Score.NonMusicalPaperColumn"
1788 #'line-break-system-details #'((Y-offset . 105))
1792 \repeat unfold 2 { \music }
1793 \repeat unfold 3 { \music }
1794 \repeat unfold 6 { \music }
1795 \repeat unfold 5 { \music }
1802 Referencia de la notación:
1803 @ref{Espaciado vertical}.
1805 Fragmentos de código:
1809 @node Espaciado vertical
1810 @section Espaciado vertical
1811 @translationof Vertical spacing
1813 @cindex espaciado vertical
1814 @cindex vertical, espaciado
1816 El espaciado vertical está controlado por tres factores: la cantidad
1817 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1818 la separación entre los sistemas, y la separación entre los
1819 pentagramas dentro de un sistema.
1822 * Espaciado vertical flexible dentro de los sistemas::
1823 * Posicionamiento explícito de los pentagramas y los sistemas::
1824 * Evitar las colisiones verticales::
1828 @node Espaciado vertical flexible dentro de los sistemas
1829 @subsection Espaciado vertical flexible dentro de los sistemas
1830 @translationof Flexible vertical spacing within systems
1832 @cindex distancia entre pentagramas
1833 @cindex pentagrama, distancia entre los
1834 @cindex espacio entre pentagramas
1835 @cindex espacio dentro de los sistemas
1837 Tres mecanismos distintos controlan el espaciado vertical flexible
1838 dentro de los sistemas, uno por cada una de las categorías siguientes:
1843 @emph{pautas sin agrupar},
1846 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1847 @code{ChoirStaff}, etc.), y
1850 @emph{líneas que no son pautas} (como @code{Lyrics},
1851 @code{ChordNames}, etc.).
1855 @c TODO: Clarify this. This almost implies that non-staff lines
1856 @c have NO effect on the spacing between staves. -mp
1858 La altura de cada sistema se determina en dos fases. Primero, todos
1859 los pentagramas se disponen según la cantidad de espacio vacío
1860 disponible. Después, las líneas que no son pautas se distribuyen
1863 Observe que los mecanismos de espaciado estudiados en esta sección
1864 solamente controlan el espaciado vertical de las pautas y líneas que
1865 no son pautas dentro de los sistemas individuales. El espaciado
1866 vertical entre distintos sistemas, partituras, marcados y márgenes se
1867 controla mediante variables de @code{\paper} que se estudian en
1868 @ref{Flexible vertical spacing \paper variables}.
1871 * Propiedades de espaciado dentro de los sistemas::
1872 * Espaciado de pautas no agrupadas::
1873 * Espaciado de pautas agrupadas::
1874 * Espaciado de las líneas que no son pautas::
1878 @node Propiedades de espaciado dentro de los sistemas
1879 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1880 @translationof Within-system spacing properties
1882 @funindex staff-affinity
1883 @funindex staffgroup-staff-spacing
1884 @funindex staff-staff-spacing
1885 @funindex nonstaff-unrelatedstaff-spacing
1886 @funindex nonstaff-relatedstaff-spacing
1887 @funindex nonstaff-nonstaff-spacing
1888 @funindex default-staff-staff-spacing
1889 @funindex minimum-Y-extent
1890 @funindex extra-offset
1891 @funindex self-alignment-X
1893 @funindex VerticalAxisGroup
1895 Los mecanismos de espaciado vertical dentro del sistema están
1896 controlados por dos conjuntos de propiedades de grob. El primer
1897 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1898 crea por parte de todas las pautas y líneas que no son pautas. El
1899 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1900 puede crearse por parte de los grupos de pentagramas, pero solamente
1901 si se le llama explícitamente. Estas propiedades se describen
1902 individualmente al final de la presente sección.
1904 Los nombres de estas propiedades (excepto para @code{staff-affinity})
1905 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
1906 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
1907 elementos que se van a espaciar. Observe que @code{@var{elemento2}}
1908 no está necesariamente por debajo de @code{@var{elemento1}}; por
1909 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hacia arriba a
1910 partir de la línea del tipo no-pauta si @code{staff-affinity} es
1913 Cada distancia se mide entre los @emph{puntos de referencia} de los
1914 dos elementos. El @emph{punto de referencia} para un pentagrama y
1915 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
1916 decir, la línea central si @code{line-count} es un número impar; el
1917 espacio central si @code{line-count} es par). Los puntos de
1918 referencia para las líneas individuales que no son pautas aparecen en
1921 @multitable {Línea que no es una pauta} {Punto de referencia}
1922 @headitem Línea que no es una pauta @tab Punto de referencia
1923 @item @code{ChordNames} @tab línea de base
1924 @item @code{NoteNames} @tab línea de base
1925 @item @code{Lyrics} @tab línea de base
1926 @item @code{Dynamics} @tab centro vertical
1927 @item @code{FiguredBass} @tab punto más alto
1928 @item @code{FretBoards} @tab línea superior
1931 En la siguiente imagen, las líneas horizontales indican las posiciones
1932 de estos puntos de referencia:
1934 @lilypond[quote,noragged-right,line-width=110\mm]
1935 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
1937 alignToZero = \with {
1938 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1939 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1941 lowerCaseChords = \with {
1942 chordNameLowercaseMinor = ##t
1944 staffAffinityDown = \with {
1945 \override VerticalAxisGroup #'staff-affinity = #DOWN
1948 #(define-music-function
1949 (parser location context)
1951 #{ s1*0^\markup { \typewriter #context } #})
1954 \context { \Dynamics \alignToZero }
1955 \context { \FiguredBass \alignToZero }
1956 \context { \Lyrics \alignToZero }
1957 \context { \NoteNames \alignToZero \staffAffinityDown }
1958 \context { \ChordNames \alignToZero
1961 \context { \FretBoards \alignToZero \staffAffinityDown }
1963 \override BarLine #'stencil = ##f
1964 \override DynamicText #'self-alignment-X = #-1
1965 \override FretBoard #'X-offset = #1.75
1966 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1967 \override InstrumentName #'extra-offset = #'(0 . -0.5)
1968 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1969 \override TimeSignature #'stencil = ##f
1973 %% These contexts have reference points at the baseline:
1974 %% ChordNames, NoteNames, and Lyrics
1976 \new ChordNames { \chords { g1:m } }
1977 \new NoteNames { s1 | g1 | }
1978 \new RhythmicStaff {
1979 \set RhythmicStaff.instrumentName = #"baseline "
1981 \labelContext "ChordNames " s1 |
1982 \labelContext "NoteNames " s1 |
1983 \labelContext "Lyrics" s1 |
1985 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1988 %% The reference point for Dynamics is its vertical center
1990 \new RhythmicStaff {
1991 \set RhythmicStaff.instrumentName = #"vertical center "
1992 \labelContext "Dynamics" s1*3
1994 \new Dynamics { s1\mp s\fp }
1997 %% The reference point for FiguredBass is its highest point
1999 \new RhythmicStaff {
2000 \set RhythmicStaff.instrumentName = #"highest point "
2001 \labelContext "FiguredBass" s1
2003 \new FiguredBass { \figuremode { <6 5>1 } }
2006 %% The reference point for FretBoards is the top line
2007 \include "predefined-guitar-fretboards.ly"
2009 \new FretBoards { \chordmode { e1 } }
2010 \new RhythmicStaff {
2011 \set RhythmicStaff.instrumentName = #"top line "
2012 \labelContext "FretBoards " s1
2017 Cada una de las propiedades de grob del espaciado vertical (excepto
2018 @code{staff-affinity})
2019 usa la misma estructura de lista-A que las
2020 variables de espaciado del bloque @code{\paper} que se han estudiado
2021 en @ref{Flexible vertical spacing \paper variables}.
2022 En @ref{Modificación de las listas-A}
2023 se estudian métodos específicos para la modificación de
2024 las listas-A. Las propiedades de los grobs deben ajustarse con un
2025 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
2026 no dentro de un bloque @code{\paper}.
2028 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
2029 estas listas-A. La primera declaración actualiza un par clave-valor de
2030 forma individual, y la segunda redefine la propiedad completamente:
2034 \override VerticalAxisGroup #'default-staff-staff-spacing
2035 #'basic-distance = #10
2039 \override VerticalAxisGroup #'default-staff-staff-spacing =
2040 #'((basic-distance . 10)
2041 (minimum-distance . 9)
2043 (stretchability . 10))
2047 Para modificar globalmente cualquiera de los ajustes de espaciado,
2048 póngalos dentro del bloque @code{\layout}:
2054 \override VerticalAxisGroup #'default-staff-staff-spacing
2055 #'basic-distance = #10
2060 Los ajustes estándar para las propiedades de grob del espaciado
2061 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
2062 @rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
2063 los tipos específicos de líneas que no son pautas están relacionadas
2064 en las descripciones de contexto correspondientes en
2065 @rinternals{Contexts}.
2067 @subsubheading Propiedades del grob @code{VerticalAxisGroup}
2069 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
2070 instrucción @code{\override} en el nivel de @code{Staff} (o
2074 @item staff-staff-spacing
2075 Se utiliza para determinar la distancia entre la pauta actual
2076 y la pauta que está justo por debajo
2077 de ella dentro del mismo sistema, incluso si hay más líneas que no son
2078 pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
2079 a la pauta inferior de un sistema.
2081 Inicialmente, el valor de espaciado @code{staff-staff-spacing} de un
2082 grupo @code{VerticalAxisGroup} es una función de Scheme que aplica las
2083 propiedades del @code{StaffGrouper} si la pauta forma parte de un
2084 grupo, o el @code{default-staff-staff-spacing} de la pauta en caso
2085 contrario. Esto hace posible que las pautas estén espaciadas de forma
2086 diferente cuando están agrupadas. Para conseguir un espaciado regular
2087 sin importar el agrupamiento, esta función se puede sustituir por una
2088 lista-A de espaciado flexible, utilizando la forma de
2089 sobreescritura de redefinición completa que se ha mostrado más arriba.
2091 @item default-staff-staff-spacing
2092 Una lista-A de espaciado flexible que define el
2093 espacio @code{staff-staff-spacing} que se usará para las pautas sin
2094 agrupar, a no ser que se haya sobreescrito explícitamente
2095 @code{staff-staff-spacing} con una instrucción @code{\override}.
2097 @item staff-affinity
2098 Dirección de la pauta que utilizar para el espaciado de la línea
2099 actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
2100 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
2101 línea del tipo no-pauta se coloca equidistante entre las dos pautas
2102 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
2103 restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
2104 han de llevar valores de @code{staff-affinity} no crecientes desde la
2105 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
2106 establecida a @code{UP} no debería seguir inmediatamente a otra que
2107 esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
2108 parte superior de un sistema deben usar @code{DOWN}; las de la parte
2109 inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
2110 para una pauta hace que se le trate como una línea que no es una
2111 pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
2112 una línea que no es una pauta hace que se trate como una pauta.
2113 Establecer @code{staff-affinity} a @code{UP}, @code{CENTER}, o
2114 @code{DOWN} hace que el pentagrama resulte espaciado como si fuera una
2115 línea que no es una pauta.
2117 @item nonstaff-relatedstaff-spacing
2118 Distancia entre la línea del tipo no-pauta actual y la pauta más
2119 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
2120 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
2121 @code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
2122 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
2123 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
2124 líneas del tipo no-pauta entre la pauta actual y una de las otras.
2125 Esto significa que la colocación de una línea que no es una pauta
2126 depende tanto de las pautas que la rodean como de las líneas que no
2127 son pautas y que la rodean. Establecer la ampliabilidad
2128 @code{stretchability} de uno de estos tipos de espaciado a un valor
2129 más pequeño provoca que este espaciado domine. El establecimiento de
2130 @code{stretchability} a un valor mayor hace que dicho espaciado tenga
2133 @item nonstaff-nonstaff-spacing
2134 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
2135 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
2136 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
2137 es @code{UP} o @code{DOWN}.
2139 @item nonstaff-unrelatedstaff-spacing
2140 Distancia entre la línea actual del tipo no-pauta y la pauta en la
2141 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
2142 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
2143 @code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
2144 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
2145 pauta a la que no pertenece.
2148 @subsubheading Propiedades del grob @code{StaffGrouper}
2150 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
2151 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
2155 @item staff-staff-spacing
2156 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
2157 La propiedad @code{staff-staff-spacing} del grob
2158 @code{VerticalAxisGroup} de una pauta individual se puede
2159 sobreescribir con distintos ajustes de espaciado para dicha
2162 @item staffgroup-staff-spacing
2163 Distancia entre la última pauta del grupo en curso y la pauta que está
2164 justo por debajo de ella dentro del mismo sistema, incluso si existen
2165 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
2166 las dos pautas. No se aplica al pentagrama o pauta inferior de un
2167 sistema. La propiedad @code{staff-staff-spacing} del grob
2168 @code{VerticalAxisGroup} de una pauta individual se puede
2169 sobreescribir con distintos ajustes de espaciado para dicha
2174 Referencia de la notación:
2175 @ref{Variables de espaciado de \paper verticales flexibles},
2176 @ref{Modificación de las listas-A}.
2179 @file{ly/engraver-init.ly},
2180 @file{scm/define-grobs.scm}.
2182 Referencia de funcionamiento interno:
2183 @rinternals{Contexts},
2184 @rinternals{VerticalAxisGroup},
2185 @rinternals{StaffGrouper}.
2189 @node Espaciado de pautas no agrupadas
2190 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2191 @translationof Spacing of ungrouped staves
2193 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2194 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2195 etc. son contextos que pueden contener uno o más contextos de voz,
2196 pero no pueden contener otras pautas.
2198 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2202 @item Propiedades de @code{VerticalAxisGroup}:
2204 @item @code{default-staff-staff-spacing}
2205 @item @code{staff-staff-spacing}
2209 Estas propiedades de grob se describen individualmente más arriba;
2210 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2212 Están implicadas ciertas propiedades adicionales para las pautas que
2213 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2215 El ejemplo siguiente muestra cómo la propiedad
2216 @code{default-staff-staff-spacing} puede afectar al espaciado de pautas no
2217 agrupadas. Las mismas sobreescrituras aplicadas a
2218 @code{staff-staff-spacing}
2219 tendrían el mismo efecto, pero también se aplicaría en caso de que las
2220 pautas estuvieran combinadas en un grupo o grupos.
2222 @lilypond[verbatim,quote,staffsize=16]
2226 \override VerticalAxisGroup #'default-staff-staff-spacing =
2227 #'((basic-distance . 8)
2228 (minimum-distance . 7)
2234 % The very low note here needs more room than 'basic-distance
2235 % can provide, so the distance between this staff and the next
2236 % is determined by 'padding.
2237 \new Staff { b,2 r | }
2239 % Here, 'basic-distance provides enough room, and there is no
2240 % need to compress the space (towards 'minimum-distance) to make
2241 % room for anything else on the page, so the distance between
2242 % this staff and the next is determined by 'basic-distance.
2243 \new Staff { \clef bass g2 r | }
2245 % By setting 'padding to a negative value, staves can be made to
2246 % collide. The lowest acceptable value for 'basic-distance is 0.
2248 \override VerticalAxisGroup #'default-staff-staff-spacing =
2249 #'((basic-distance . 3.5)
2251 } { \clef bass g2 r | }
2252 \new Staff { \clef bass g2 r | }
2258 @file{scm/define-grobs.scm}.
2260 Fragmentos de código:
2263 Referencia de funcionamiento interno:
2264 @rinternals{VerticalAxisGroup}.
2267 @node Espaciado de pautas agrupadas
2268 @unnumberedsubsubsec Espaciado de pautas agrupadas
2269 @translationof Spacing of grouped staves
2271 En partituras grandes como las orquestales, es común colocar los
2272 pentagramas en grupos. El espacio entre los grupos suele ser mayor
2273 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2275 Los grupos de pautas, @emph{Staff-groups} (tales como
2276 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2277 contener al mismo tiempo uno o más pentagramas o pautas.
2279 Las siguientes propiedades afectan al espaciado de las pautas dentro
2283 @item Propiedades de @code{VerticalAxisGroup}:
2285 @item @code{staff-staff-spacing}
2287 @item Propiedades de @code{StaffGrouper}:
2289 @item @code{staff-staff-spacing}
2290 @item @code{staffgroup-staff-spacing}
2294 Estas propiedades de grob se describen individualmente más arriba;
2295 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2297 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2298 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2300 @lilypond[verbatim,quote,staffsize=16]
2304 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2305 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2310 \new PianoStaff \with {
2311 \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2326 @file{scm/define-grobs.scm}.
2328 Fragmentos de código:
2331 Referencia de funcionamiento interno:
2332 @rinternals{VerticalAxisGroup},
2333 @rinternals{StaffGrouper}.
2336 @node Espaciado de las líneas que no son pautas
2337 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2338 @translationof Spacing of non-staff lines
2340 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2341 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2342 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2343 de los sistemas). Específicamente, las líneas que no son pautas son
2344 contextos del tipo no-pauta que crean el objeto de presentación
2345 @code{VerticalAxisGroup}.
2347 Las siguientes propiedades afectan al espaciado de las líneas que no
2351 @item Propiedades de @code{VerticalAxisGroup}:
2353 @item @code{staff-affinity}
2354 @item @code{nonstaff-relatedstaff-spacing}
2355 @item @code{nonstaff-nonstaff-spacing}
2356 @item @code{nonstaff-unrelatedstaff-spacing}
2360 Estas propiedades de grob se describen individualmente más arriba;
2361 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2363 El ejemplo siguiente muestra cómo la propiedad
2364 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2365 consecutivas que no son pautas. Aquí, mediante el establecimiento de
2366 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2367 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2369 @lilypond[verbatim,quote,staffsize=16]
2373 \override VerticalAxisGroup
2374 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2381 \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2384 \override VerticalAxisGroup #'staff-affinity = #UP
2387 \override VerticalAxisGroup #'staff-affinity = #CENTER
2388 } \lyricmode { center }
2390 \override VerticalAxisGroup #'staff-affinity = #DOWN
2391 } \lyricmode { down }
2398 @file{ly/engraver-init.ly},
2399 @file{scm/define-grobs.scm}.
2401 Fragmentos de código:
2404 @c @lsr{spacing,page-spacing.ly},
2405 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2407 Referencia de funcionamiento interno:
2408 @rinternals{Contexts},
2409 @rinternals{VerticalAxisGroup}.
2412 @node Posicionamiento explícito de los pentagramas y los sistemas
2413 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2414 @translationof Explicit staff and system positioning
2416 Una forma de entender los mecanismos del espaciado vertical
2417 flexible que se han explicado más arriba es como una
2418 colección de ajustes que controlan la cantidad de relleno
2419 vertical entre los pentagramas y los sistemas.
2421 Es posible enfrentarse al espaciado vertical de una forma distinta
2422 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2423 Mientras que los mecanismos del espaciado vertical flexible
2424 especifican relleno vertical, @code{NonMusicalPaperColumn
2425 #'line-break-system-details} puede especificar posiciones verticales
2426 exactas sobre la página.
2428 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2429 lista asociativa de tres ajustes diferentes:
2432 @item @code{X-offset} (desplazamiento en X)
2433 @item @code{Y-offset} (desplazamiento en Y)
2434 @item @code{alignment-distances} (distancias de alineación)
2437 Las sobreescrituras de los objetos gráficos, entre ellas las de
2438 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2439 tres lugares distintos dentro de un archivo de entrada:
2442 @item directamente en medio de las notas
2443 @item en un bloque @code{\context}
2444 @item en el bloque @code{\with}
2447 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2448 instrucción @code{\override} usual en los bloques @code{\context} y en
2449 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2450 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2451 instrucción especial @code{\overrideProperty}. He aquí algunas
2452 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2453 instrucción especial @code{\overrideProperty}:
2456 \overrideProperty NonMusicalPaperColumn
2457 #'line-break-system-details #'((X-offset . 20))
2459 \overrideProperty NonMusicalPaperColumn
2460 #'line-break-system-details #'((Y-offset . 40))
2462 \overrideProperty NonMusicalPaperColumn
2463 #'line-break-system-details #'((X-offset . 20)
2466 \overrideProperty NonMusicalPaperColumn
2467 #'line-break-system-details #'((alignment-distances . (15)))
2469 \overrideProperty NonMusicalPaperColumn
2470 #'line-break-system-details #'((X-offset . 20)
2472 (alignment-distances . (15)))
2475 Para entender cómo funciona cada uno de los distintos ajustes,
2476 empezamos observando un ejemplo que no incluye absolutamente ninguna
2479 @c \book { } is required in these examples to ensure the spacing
2480 @c overrides can be seen between systems. -np
2482 @lilypond[verbatim,quote,staffsize=16]
2483 \header { tagline = ##f }
2484 \paper { left-margin = 0\mm }
2494 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2497 \repeat unfold 15 { d'4 d' d' d' }
2504 Esta partitura mantiene aislada la información de los saltos de línea
2505 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2506 de saltos ayuda a mantener separada de la escritura de notas conforme
2507 el ejemplo se vuelve más complicado. Consulte
2508 @ref{Utilizar una voz adicional para los saltos de línea}.
2510 Los saltos explícitos dividen la música de forma regular en seis
2511 compases por línea. El espaciado vertical es el resultado de los
2512 ajustes predeterminados de LilyPond. Para establecer explícitamente
2513 el punto de origen vertical de cada sistema, podemos establecer el par
2514 @code{Y-offset} en el atributo @code{line-break-system-details} del
2515 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2517 @lilypond[verbatim,quote,staffsize=16]
2518 \header { tagline = ##f }
2519 \paper { left-margin = 0\mm }
2525 \overrideProperty #"Score.NonMusicalPaperColumn"
2526 #'line-break-system-details #'((Y-offset . 0))
2528 \overrideProperty #"Score.NonMusicalPaperColumn"
2529 #'line-break-system-details #'((Y-offset . 40))
2531 \overrideProperty #"Score.NonMusicalPaperColumn"
2532 #'line-break-system-details #'((Y-offset . 80))
2535 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2538 \repeat unfold 15 { d'4 d' d' d' }
2545 Observe que @code{line-break-system-details} toma una lista asociativa
2546 de una cantidad de valores potencialmente elevada, pero aquí sólo
2547 fijamos un valor. Observe también que aquí la propiedad
2548 @code{Y-offset} determina la posición vertical exacta sobre la página
2549 en la que se trazará cada uno de los nuevos sistemas.
2551 Ahora que hemos establecido explícitamente el punto de origen vertical
2552 de cada sistema, podemos también establecer manualmente las distancias
2553 verticales entre los pentagramas dentro de cada sistema. Lo hacemos
2554 usando la subpropiedad @code{alignment-distances} de
2555 @code{line-break-system-details}.
2557 @lilypond[verbatim,quote,staffsize=16]
2558 \header { tagline = ##f }
2559 \paper { left-margin = 0\mm }
2565 \overrideProperty #"Score.NonMusicalPaperColumn"
2566 #'line-break-system-details #'((Y-offset . 20)
2567 (alignment-distances . (15)))
2569 \overrideProperty #"Score.NonMusicalPaperColumn"
2570 #'line-break-system-details #'((Y-offset . 60)
2571 (alignment-distances . (15)))
2573 \overrideProperty #"Score.NonMusicalPaperColumn"
2574 #'line-break-system-details #'((Y-offset . 100)
2575 (alignment-distances . (15)))
2578 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2581 \repeat unfold 15 { d'4 d' d' d' }
2588 Observe que aquí asignamos dos valores distintos al atributo
2589 @code{line-break-system-details} del grob
2590 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2591 @code{line-break-system-details} acepta muchos parámetros de espaciado
2592 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2593 correspondiente), sólo tenemos que establecer el desplazamiento
2594 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2595 el punto de origen vertical de cada sistema y pentagrama. Finalmente,
2596 observe que @code{alignment-distances} especifica el posicionamiento
2597 vertical de los pentagramas pero no de los grupos de pentagramas.
2599 @lilypond[verbatim,quote,staffsize=16]
2600 \header { tagline = ##f }
2601 \paper { left-margin = 0\mm }
2607 \overrideProperty #"Score.NonMusicalPaperColumn"
2608 #'line-break-system-details #'((Y-offset . 0)
2609 (alignment-distances . (30 10)))
2611 \overrideProperty #"Score.NonMusicalPaperColumn"
2612 #'line-break-system-details #'((Y-offset . 60)
2613 (alignment-distances . (10 10)))
2615 \overrideProperty #"Score.NonMusicalPaperColumn"
2616 #'line-break-system-details #'((Y-offset . 100)
2617 (alignment-distances . (10 30)))
2620 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2623 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2624 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2631 Algunos puntos que tener en cuenta:
2634 @item Al usar @code{alignment-distances}, la letra
2635 y otras líneas que no son pautas, no cuentan como un pentagrama.
2637 @item Las unidades de los números que se pasan a @code{X-offset},
2638 @code{Y-offset} y @code{alignment-distances} se interpretan como
2639 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2640 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2641 los valores negativos mueven los pentagramas y la letra hacia abajo.
2643 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2644 #'line-break-system-details} dados aquí permiten el posicionamiento de
2645 pentagramas y sistemas en cualquier lugar de la página, es posible
2646 violar los márgenes o los límites del papel, o incluso imprimir
2647 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2648 a los diferentes ajustes unos valores razonables.
2652 Fragmentos de código:
2656 @node Evitar las colisiones verticales
2657 @subsection Evitar las colisiones verticales
2658 @translationof Vertical collision avoidance
2660 @funindex outside-staff-priority
2661 @funindex outside-staff-padding
2662 @funindex outside-staff-horizontal-padding
2664 Podemos decir intuitivamente que algunos objetos de la notación
2665 musical pertenecen al pentagrama y otros se sitúan fuera del
2666 pentagrama. Entre los objetos que pertenecen al exterior del
2667 pentagrama están las marcas de ensayo, las marcas textuales y las
2668 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2669 del pentagrama). La regla de LilyPond para la colocación vertical de
2670 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2671 como sea posible pero no tan próximos como para que choquen con otro
2674 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2675 determinar si un grob es un objeto fuera del pentagrama: si
2676 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2677 del pentagrama. Además, @code{outside-staff-priority} informa a
2678 LilyPond en qué orden se debe situar los objetos.
2680 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2681 exterior del pentagrama. Después ordena los objetos fuera del
2682 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2683 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2684 a uno y los coloca de forma que no choquen con ningún objeto que ya
2685 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2686 compiten por el mismo espacio, el que tiene la prioridad
2687 @code{outside-staff-priority} más baja se colocará más próximo al
2690 @lilypond[quote,ragged-right,relative=2,verbatim]
2693 \once \override TextScript #'outside-staff-priority = #1
2694 c4_"Text"\pp % this time the text will be closer to the staff
2696 % by setting outside-staff-priority to a non-number,
2697 % we disable the automatic collision avoidance
2698 \once \override TextScript #'outside-staff-priority = ##f
2699 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2700 c4_"Text"\pp % now they will collide
2703 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2704 posicionados previamente se puede controlar con
2705 @code{outside-staff-padding}.
2707 @lilypond[quote,ragged-right,relative=2,verbatim]
2708 \once \override TextScript #'outside-staff-padding = #0
2709 a'^"This text is placed very close to the note"
2710 \once \override TextScript #'outside-staff-padding = #3
2711 c^"This text is padded away from the previous text"
2712 c^"This text is placed close to the previous text"
2715 De forma predeterminada, los objetos fuera del pentagrama se colocan
2716 sólo para evitar una colisión horizontal con los grobs posicionados
2717 previamente. Esto puede llevar a situaciones en las que los objetos
2718 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2719 vertical entre pentagramas se puede fijar también de manera que los
2720 objetos fuera del pentagrama se sitúen de forma intercalada. El
2721 establecimiento del relleno horizontal
2722 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2723 desplace verticalmente para que tal situación no ocurra.
2725 @lilypond[quote,ragged-right,relative=2,verbatim]
2726 % the markup is too close to the following note
2730 % setting outside-staff-horizontal-padding fixes this
2732 \once \override TextScript #'outside-staff-horizontal-padding = #1
2739 Fragmentos de código:
2743 @node Espaciado horizontal
2744 @section Espaciado horizontal
2745 @translationof Horizontal spacing
2747 @cindex horizontal, espaciado
2748 @cindex espaciado horizontal
2751 * Panorámica del espaciado horizontal::
2752 * Área de espaciado nueva::
2753 * Cambiar el espaciado horizontal::
2754 * Longitud de la línea::
2755 * Notación proporcional::
2759 @node Panorámica del espaciado horizontal
2760 @subsection Panorámica del espaciado horizontal
2761 @translationof Horizontal spacing overview
2763 El motor de espaciado traduce las diferencias en las duraciones a
2764 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2765 duraciones más largas reciben un espacio mayor y las duraciones más
2766 cortas reciben menos. Las duraciones más breves reciben un espacio de
2767 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2768 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2769 duración, más espacio recibe: al doblar una duración se añade un
2770 espacio de tamaño fijo (este tamaño se controla mediante
2771 @code{spacing-increment}) a la nota.
2773 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2774 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2775 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2777 @lilypond[quote,verbatim,relative=1]
2778 c2 c4. c8 c4. c8 c4. c8 c8
2782 Normalmente, el valor de @code{spacing-increment} está establecido en
2783 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2784 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2785 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2786 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2787 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2788 símbolo, de manera que las notas más breves van seguidas generalmente
2789 por un espacio de 1 ACB.
2791 Si siguiésemos el procedimiento anterior exactamente, entonces la
2792 adición de una sola fusa a una partitura que usa corcheas y
2793 semicorcheas, aumentaría enormemente la anchura de la partitura
2794 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2795 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2796 duración más breve a efectos de espaciado no es la nota más breve de
2797 la partitura, sino la que ocurre con más frecuencia.
2799 La duración más breve que es más común se determina de la siguiente
2800 manera: en cada compás se determina la duración más breve. La menor
2801 duración más común se toma como base para el espaciado, habiendo
2802 estipulado que esta duración menor siempre debe ser igual o menor que
2803 una corchea. La duración más breve se imprime cuando se ejecuta
2804 @code{lilypond} con la opción @option{--verbose}.
2806 Estas duraciones también se pueden personalizar. Si establecemos la
2807 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2808 entonces éste establece la duración base para el espaciado. La
2809 duración máxima para esta base (normalmente una corchea), se fija a
2810 través de @code{base-shortest-duration}.
2812 @funindex common-shortest-duration
2813 @funindex base-shortest-duration
2814 @funindex stem-spacing-correction
2817 Las notas que son aún más breves que la nota común más breve van
2818 seguidas por un espacio proporcional a su duración en relación con la
2819 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2820 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2822 @lilypond[quote,verbatim,relative=2]
2823 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2826 En el @emph{Ensayo sobre grabado musical automatizado},
2828 direcciones de las plicas influyen en el espaciado
2829 (véase @ressay{Espaciado óptico}). Esto se controla
2830 con la propiedad @code{stem-spacing-correction} en el objeto
2831 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2832 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2833 (generado en el contexto de @rinternals{Staff}) contiene la misma
2834 propiedad para controlar el espaciado de las líneas de plica o
2835 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2836 con los valores predeterminados y otra con correcciones exageradas:
2838 @lilypond[quote,ragged-right]
2842 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2843 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2849 Está contemplada la notación proporcional; consulte
2850 @ref{Notación proporcional}.
2853 Ensayo sobre grabado musical automatizado:
2854 @ressay{Espaciado óptico}.
2856 Fragmentos de código:
2859 Referencia de funcionamiento interno:
2860 @rinternals{SpacingSpanner},
2861 @rinternals{NoteSpacing},
2862 @rinternals{StaffSpacing},
2863 @rinternals{NonMusicalPaperColumn}.
2866 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2867 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2868 adicional en una partitura, ajustando el valor del relleno en la
2872 \override Score.NonMusicalPaperColumn #'padding = #10
2875 No existe ningún rodeo para disminuir la magnitud de la separación.
2878 @node Área de espaciado nueva
2879 @subsection Área de espaciado nueva
2880 @translationof New spacing area
2882 Se pueden iniciar secciones nuevas con diferentes parámetros de
2883 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2884 secciones que tienen distinta noción de las notas largas y cortas.
2886 En el ejemplo siguiente, el cambio de compás introduce una sección
2887 nueva, y por ello las semicorcheas se separan de manera más amplia.
2889 @lilypond[relative=1,verbatim,quote]
2892 c8 c c4 c16[ c c8] c4
2898 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2899 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2900 instrucciones de sobreescritura @code{\override} en dicho punto.
2903 Fragmentos de código:
2906 Referencia de funcionamiento interno:
2907 @rinternals{SpacingSpanner}.
2910 @node Cambiar el espaciado horizontal
2911 @subsection Cambiar el espaciado horizontal
2912 @translationof Changing horizontal spacing
2914 Se puede alterar el espaciado horizontal con la propiedad
2915 @code{base-shortest-duration}. Aquí compararemos la misma música, una
2916 vez sin alterar la propiedad, y luego alterándola. Los valores
2917 mayores de @code{ly:make-moment} producen música más pequeña. Observe
2918 que @code{ly:make-moment} construye una duración, por lo que @code{1
2919 4} es una duración mayor que @code{1 16}.
2921 @lilypond[verbatim,line-width=12\cm]
2924 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2925 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2926 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2927 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2932 @lilypond[verbatim,line-width=12\cm]
2935 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2936 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2937 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2938 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2943 \override SpacingSpanner
2944 #'base-shortest-duration = #(ly:make-moment 1 16)
2951 De forma predeterminada, el espaciado en los grupos de valoración
2952 especial depende de varios factores ajenos a la duración (como
2953 alteraciones, cambios de clave, etc.). Para pasar por alto estos
2954 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2955 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
2956 puede cambiarse al principio de la partitura:
2958 @lilypond[quote,ragged-right,verbatim]
2977 \override SpacingSpanner #'uniform-stretching = ##t
2983 Cuando se establece @code{strict-note-spacing}, las notas se separan
2984 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2986 @lilypond[quote,ragged-right,relative=2,verbatim]
2987 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2988 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2992 Fragmentos de código:
2996 @node Longitud de la línea
2997 @subsection Longitud de la línea
2998 @translationof Line length
3000 @cindex saltos de página
3001 @cindex página, saltos de
3004 @funindex line-width
3005 @funindex ragged-right
3006 @funindex ragged-last
3008 @c Although line-width can be set in \layout, it should be set in paper
3009 @c block, to get page layout right.
3010 @c Setting indent in \paper block makes not much sense, but it works.
3012 @c Bit verbose and vague, use examples?
3013 Los ajustes más básicos que influyen en el espaciado son @code{indent}
3014 y @code{line-width}. Se definen en el bloque @code{\layout}.
3015 Controlan el sangrado de la primera línea de música y la longitud de
3018 Si se fija un valor verdadero para @code{ragged-right} en el bloque
3019 @code{\layout}, entonces los sistemas terminan en su longitud
3020 horizontal natural, en lugar de repartirse horizontalmente hasta
3021 llenar toda la línea. Esto es útil para fragmentos cortos, y para
3022 comprobar qué tan apretado es el espaciado natural.
3023 El valor normal predeterminado es falso, pero si la partitura
3024 tiene un solo sistema, el valor predeterminado es verdadero.
3026 @cindex diseño de página
3027 @cindex página, disposición de la
3028 @cindex vertical, espaciado
3030 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
3031 afecta sólo a la última línea de la pieza. No se efectúa ninguna
3032 restricción sobre dicha línea. El resultado es similar al formateo de
3033 los párrafos de texto. En un párrafo, la última línea sencillamente
3034 ocupa su longitud horizontal natural.
3035 @c Note that for text there are several options for the last line.
3036 @c While Knuth TeX uses natural length, lead typesetters use the same
3037 @c stretch as the previous line. eTeX uses \lastlinefit to
3038 @c interpolate between both these solutions.
3049 Fragmentos de código:
3053 @node Notación proporcional
3054 @subsection Notación proporcional
3055 @translationof Proportional notation
3057 LilyPond contempla la notación proporcional, un tipo de espaciado
3058 horizontal en el que cada nota consume una medida horizontal que
3059 equivale exactamente a su duración rítmica. Este tipo de espaciado
3060 proporcional es comparable al espaciado horizontal hecho sobre un
3061 papel milimetrado. Ciertas partituras del finales del s.XX y
3062 principios del s.XXI utilizan notación proporcional para clarificar
3063 relaciones rítmicas complejas o para facilitar la colocación de líneas
3064 cronométricas u otros gráficos directamente en la partitura.
3066 LilyPond contempla cinco ajustes distintos para la notación
3067 proporcional, que se pueden usar solos o combinados:
3070 @item @code{proportionalNotationDuration}
3071 @item @code{uniform-stretching}
3072 @item @code{strict-note-spacing}
3073 @item @code{\remove Separating_line_group_engraver}
3074 @item @code{\override PaperColumn #'used = ##t}
3077 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
3078 de la notación proporcional y examinamos la forma en que interactúan.
3080 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
3081 espaciado clásico sin justificación por la derecha.
3083 @lilypond[quote,verbatim,ragged-right]
3086 \new RhythmicStaff {
3090 c'16 c'16 c'16 c'16 c'16
3097 Observe que la blanca que inicia el compás ocupa mucho menos de la
3098 mitad de todo el espacio horizontal del compás. De forma similar, las
3099 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
3100 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
3103 En el grabado clásico, este espaciado puede ser exactamente el que
3104 deseamos porque podemos tomar prestado el espacio horizontal de la
3105 blanca y conservar el espacio horizontal a lo largo del compás como un
3108 Por otro lado, si queremos insertar una línea de tiempo graduada o
3109 algún otro gráfico encima o debajo de la partitura, necesitamos la
3110 notación proporcional. Se activa la notación proporcional con el
3111 ajuste @code{proportionalNotationDuration}.
3113 @lilypond[quote,verbatim,ragged-right]
3116 \new RhythmicStaff {
3120 c'16 c'16 c'16 c'16 c'16
3127 proportionalNotationDuration = #(ly:make-moment 1 20)
3133 La blanca al principio del compás y las notas rápidas de la segunda
3134 mitad del compás ocupan ahora cantidades iguales de espacio
3135 horizontal. Podríamos colocar una línea de tiempo graduada o un
3136 gráfico encima o debajo de este ejemplo.
3138 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
3139 que reside en @code{Score}. Recordemos que los ajustes de contexto
3140 aparecen en uno de tres posibles lugares del archivo de entrada: en un
3141 bloque @code{\with}, en un bloque @code{\context}, o directamente
3142 entre la música precedido por la instrucción @code{\set}. Como con
3143 todos los ajustes de contexto, el usuario puede elegir en cuál de los
3144 tres lugares diferentes prefiere establecer el valor de
3145 @code{proportionalNotationDuration}.
3147 El ajuste @code{proportionalNotationDuration} acepta un solo
3148 argumento, que es la duración de referencia contra el que se aplica el
3149 espaciado de toda la música. La función Scheme de LilyPond
3150 @code{make-moment} acepta dos argumentos: un numerador y un
3151 denominador que, juntos, expresan una cierta fracción de redonda. La
3152 llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración
3153 de referencia de una nota de un veinteavo de redonda (semicorcheas de
3154 cinquillo). Son también posibles valores como
3155 @code{(ly:make-moment 1 16)},
3156 @code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}.
3158 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
3159 @code{proportionalNotationDuration}? Normalmente mediante un proceso
3160 de ensayo y error, comenzando con una duración cercana a la más rápida
3161 (o más breve) duración de la pieza. Las duraciones de referencia más
3162 pequeñas aplican un espaciado más suelto; las duraciones de referencia
3163 más largas aplican un espaciado más apretado.
3165 @lilypond[quote,verbatim,ragged-right]
3168 \new RhythmicStaff {
3172 c'16 c'16 c'16 c'16 c'16
3179 proportionalNotationDuration = #(ly:make-moment 1 8)
3186 \new RhythmicStaff {
3190 c'16 c'16 c'16 c'16 c'16
3197 proportionalNotationDuration = #(ly:make-moment 1 16)
3204 \new RhythmicStaff {
3208 c'16 c'16 c'16 c'16 c'16
3215 proportionalNotationDuration = #(ly:make-moment 1 32)
3221 Observe que una duración de referencia demasiado grande (como la
3222 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3223 apretado y puede ser causa de colisiones entre las cabezas de nota.
3224 Observe también que la notación proporcional en general ocupa más
3225 espacio horizontal que el espaciado clásico. El espaciado
3226 proporcional aporta claridad rítmica a expensas del espacio
3229 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3230 especial que se superponen.
3232 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3233 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3234 diferente de grupo especial.
3236 @lilypond[quote,verbatim,ragged-right]
3239 \new RhythmicStaff {
3243 c'16 c'16 c'16 c'16 c'16
3246 \new RhythmicStaff {
3248 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3255 El espaciado es defectuoso porque las notas regularmente espaciadas
3256 del pentagrama inferior no se amplían de manera uniforme. Los grabados
3257 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3258 grabado clásico pueden generar este tipo de resultado. El
3259 establecimiento de @code{proportionalNotationDuration} lo
3262 @lilypond[quote,verbatim,ragged-right]
3265 \new RhythmicStaff {
3269 c'16 c'16 c'16 c'16 c'16
3272 \new RhythmicStaff {
3274 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3281 proportionalNotationDuration = #(ly:make-moment 1 20)
3287 Pero si observamos con mucho cuidado podremos ver que las notas de la
3288 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3289 ancha que las de la primera mitad del 9-illo. Para asegurar una
3290 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3291 propiedad de @code{SpacingSpanner}.
3293 @lilypond[quote,verbatim,ragged-right]
3296 \new RhythmicStaff {
3300 c'16 c'16 c'16 c'16 c'16
3303 \new RhythmicStaff {
3305 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3312 proportionalNotationDuration = #(ly:make-moment 1 20)
3313 \override SpacingSpanner #'uniform-stretching = ##t
3319 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3320 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3321 una línea de tiempo graduada o un gráfico, si queremos.
3323 Observe que el paquete de notación proporcional de LilyPond espera que
3324 todas las partituras proporcionales establezcan el atributo
3325 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
3326 establecimiento de @code{proportionalNotationDuration} sin ajustar
3327 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3328 al valor ##t causará, por ejemplo, que los desplazamientos
3329 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3331 El @code{SpacingSpanner} es un grob abstracto que reside en el
3332 contexto de @code{Score}. Como con nuestros ajustes de
3333 @code{proportionalNotationDuration}, las sobreescrituras al
3334 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3335 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3336 @code{\context} o directamente dentro de la escritura de notas.
3338 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3339 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
3340 está activado para la partitura completa o desactivado para la
3341 partitura completa. Sin embargo, podemos sobreescribir este
3342 comportamiento y activar distintas posibilidades de espaciado en
3343 distintos lugares de la partitura. Lo hacemos con la instrucción
3344 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
3345 para más información.
3347 A continuación examinamos los efectos del grabador
3348 @code{Separating_line_group_engraver} y veremos por qué las partituras
3349 proporcionales con frecuencia eliminan este grabador. El ejemplo
3350 siguiente muestra que hay una pequeña cantidad de espacio
3351 @qq{preliminar} justo antes de la primera nota de cada sistema.
3353 @lilypond[quote,verbatim,ragged-right]
3365 Esta cantidad de espacio preliminar es la misma ya sea después de
3366 una indicación de compás, una armadura o una clave. El grabador
3367 @code{Separating_line_group_engraver} es responsable de este espacio.
3368 La eliminación de @code{Separating_line_group_engraver} reduce este
3371 @lilypond[quote,verbatim,ragged-right]
3377 \remove Separating_line_group_engraver
3385 Los elementos no musicales como la indicación de compás, la armadura,
3386 la clave y las alteraciones son problemáticos en notación
3387 proporcional. Ninguno de estos elementos tiene duración rítmica.
3388 Pero todos ellos consumen espacio horizontal. Las distintas
3389 partituras proporcionales abordan este problema de distinta manera.
3391 Sería posible evitar los problemas de espaciado con las armaduras,
3392 simplemente evitando tenerlas. Esta es una opción válida pues casi
3393 todas las partituras proporcionales son música contemporánea. Lo
3394 mismo puede valer para las indicaciones de compás, especialmente para
3395 las partituras que incluyen una línea de tiempo graduada u otro
3396 gráfico. Pero estas partituras son excepcionales y casi todas las
3397 partituras proporcionales incluyen al menos unas pocas indicaciones de
3398 compás. Las claves y las alteraciones son aún más esenciales.
3400 Así pues ¿qué estrategias existen para el espaciado de los elementos
3401 no musicales en un contexto proporcional? Una buena opción es la
3402 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3403 Compare las dos partituras siguientes:
3405 @lilypond[quote,verbatim,ragged-right]
3407 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3417 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3418 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3428 Las dos partituras son proporcionales, pero el espaciado de la
3429 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3430 espaciado de la segunda partitura se mantiene estricto, porque
3431 @code{strict-note-spacing} está activado. La activación de
3432 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3433 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3434 el algoritmo de espaciado.
3436 Además de los ajustes dados aquí, hay otros que aparecen con
3437 frecuencia en las partituras proporcionales. Entre ellos están:
3440 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3441 @item @code{tupletFullLength = ##t}
3442 @item @code{\override Beam #'breakable = ##t}
3443 @item @code{\override Glissando #'breakable = ##t}
3444 @item @code{\override TextSpanner #'breakable = ##t}
3445 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3448 Estos ajustes dan a las notas de adorno un espaciado estricto,
3449 extienden los corchetes de grupo especial para que marquen tanto los
3450 puntos de comienzo como de final, y permiten que los elementos de
3451 extensión se dividan entre los sistemas y las páginas. Consulte las
3452 partes respectivas del manual para ver estos ajustes relacionados.
3455 Referencia de la notación:
3456 @ref{Área de espaciado nueva}.
3458 Fragmentos de código:
3462 @node Encajar la música en menos páginas
3463 @section Encajar la música en menos páginas
3464 @translationof Fitting music onto fewer pages
3466 En ocasiones, podemos terminar con uno o dos pentagramas en una
3467 segunda página (o tercera, o cuarta@dots{}). Es fastidioso,
3468 especialmente cuando vemos que las páginas anteriores parecen tener
3471 Al investigar los problemas de disposición, una herramienta de valor
3472 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3473 valores de un cierto número de variables de espaciado; para ver más
3474 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3477 * Mostrar el espaciado::
3478 * Cambiar el espaciado::
3482 @node Mostrar el espaciado
3483 @subsection Mostrar el espaciado
3484 @translationof Displaying spacing
3486 @cindex espaciado, presentación del
3487 @funindex annotate-spacing
3489 Para presentar gráficamente las dimensiones de las variables de
3490 disposición vertical que pueden verse alteradas por el formato de la
3491 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3493 @c need to have \book{} otherwise we get the separate systems. -hwn
3494 @lilypond[verbatim,quote]
3495 #(set-default-paper-size "a6" 'landscape)
3498 \paper { annotate-spacing = ##t }
3503 Todas las dimensiones de disposición se muestran en espacios de
3504 pentagrama, independientemente de las unidades especificadas en los
3505 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3506 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3507 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3508 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3510 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3513 @tab = (25.4/72.27) mm
3516 @tab = (@code{staff-size})/4 pts
3518 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3523 En este caso, un @code{staff-space} equivale aproximadamente a
3524 1.757mm. Así, la medida @code{paper-height} de 59.75
3525 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3526 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3527 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3528 superior del intervalo.
3531 Referencia de la notación:
3532 @ref{Establecer el tamaño del pentagrama}.
3534 Fragmentos de código:
3538 @node Cambiar el espaciado
3539 @subsection Cambiar el espaciado
3540 @translationof Changing spacing
3542 La salida de @code{annotate-spacing} revela las dimensiones verticales
3543 con gran detalle. Para ver más detalles acerca de la modificación de
3544 los márgenes y otras variables de diseño de la página, consulte
3545 @ref{Disposición de la página}.
3547 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3551 Forzar los sistemas para que se junten lo más posible entre sí (de
3552 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3553 tiempo estén espaciados de forma que no exista un espacio vacío en la
3554 parte baja del papel.
3558 system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
3559 ragged-last-bottom = ##f
3565 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3566 Si tan sólo se establece un valor, incluso el mismo valor que el
3567 número de sistemas que se están trazando de forma predeterminada, ello
3568 ocasionará a veces que se traten de introducir más sistemas en cada
3569 página, pues en este caso se omite un paso en que se produce una
3570 estimación, dando así un encaje mejor en cada página. Asimismo, el
3571 forzar una reducción neta en el número de sistemas puede producir el
3572 ahorro de una página adicional. Por ejemplo, si la disposición
3573 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3574 disposición con 10 sistemas.
3583 Forzar el número de páginas. Por ejemplo, la asignación
3584 siguiente fuerza una disposición con dos páginas.
3593 Evitar (o reducir en número) los objetos que aumentan el tamaño
3594 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3595 segunda vez (o repeticiones con finales alternativos) necesitan
3596 espacio adicional. Si estas repeticiones se reparten a lo largo de
3597 dos sistemas, ocupan más espacio que un sistema con las casillas de
3598 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3599 dinámicas que se @q{salen} de un sistema se pueden acercar al
3602 @lilypond[verbatim,quote,relative=1]
3604 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3608 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3609 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3610 El ejemplo siguiente ilustra el espaciado predeterminado:
3612 @lilypond[verbatim,quote]
3625 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3626 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3627 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3628 duración se produce un efecto de @q{apretujamiento}:
3630 @lilypond[verbatim,quote]
3642 \override SpacingSpanner
3643 #'common-shortest-duration = #(ly:make-moment 1 2)
3650 La propiedad @code{common-shortest-duration} no se puede modificar de
3651 manera dinámica, por lo que se debe situar siempre dentro de un
3652 bloque @code{\context} de forma que se aplique a la partitura
3658 Referencia de la notación:
3659 @ref{Disposición de la página},
3660 @ref{Cambiar el espaciado horizontal}.
3662 Fragmentos de código: