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
1170 Multiple @code{\layout} blocks can be entered as toplevel expressions.
1171 This can, for example, be useful if different settings are stored in
1172 separate files and included optionally. Internally, when
1173 a @code{\layout} block is evaluated, a copy of the current
1174 @code{\layout} configuration is made, then any changes defined within
1175 the block are applied and the result is saved as the new current
1176 configuration. From the user's perspective the @code{\layout} blocks
1177 are combined, but in conflicting situations (when the same property
1178 is changed in different blocks) the later definitions take precedence.
1180 For example, if this block:
1186 \override TextScript #'color = #magenta
1187 \override Glissando #'thickness = #1.5
1192 is placed after the one from the preceding example the @code{'padding}
1193 and @code{'color} overrides for @code{TextScript} are combined, but
1194 the later @code{'thickness} override for @code{Glissando} replaces
1195 (or hides) the earlier one.
1197 @code{\layout} blocks may be assigned to variables for reuse later,
1198 but the way this works is slightly but significantly different from
1199 writing them literally.
1201 If a variable is defined like this:
1204 layoutVariable = \layout @{
1207 \override NoteHead #'font-size = #4
1212 it will hold the current @code{\layout} configuration with the
1213 @code{NoteHead #'font-size} override added, but this combination
1214 is @emph{not} saved as the new current configuration. Be aware
1215 that the @q{current configuration} is read when the variable is
1216 defined and not when it is used, so the content of the variable
1217 is dependent on its position in the source.
1219 The variable can then be used inside another @code{\layout} block,
1227 \override NoteHead #'color = #red
1232 A @code{\layout} block containing a variable, as in the example above,
1233 does @emph{not} copy the current configuration but instead uses the
1234 content of @code{\layoutVariable} as the base configuration for the
1235 further additions. This means that any changes defined between the
1236 definition and the use of the variable are lost.
1238 If @code{layoutVariable} is defined (or @code{\include}d) immediately
1239 before being used, its content is just the current configuration plus
1240 the overrides defined within it. So in the example above showing the
1241 use of @code{\layoutVariable} the final @code{\layout} block would
1245 TextScript #'padding = #1
1246 TextScript #'color = #magenta
1247 Glissando #'thickness = #1.5
1248 NoteHead #' font-size = #4
1249 NoteHead #' color = #red
1252 plus the @code{indent} and the @code{StaffGrouper} overrides.
1254 But if the variable had already been defined before the first
1255 @code{\layout} block the current configuration would now contain
1259 NoteHead #' font-size= #4 % (written in the variable definition)
1260 NoteHead #' color = #red % (added after the use of the variable)
1263 If carefully planned, @code{\layout} variables can be a valuable tool
1264 to structure the layout design of sources, and also to reset the
1265 @code{\layout} configuration to a known state.
1268 Referencia de la notación:
1269 @ref{Cambiar los valores por omisión de los contextos}.
1271 Fragmentos de código:
1275 @node Establecer el tamaño del pentagrama
1276 @subsection Establecer el tamaño del pentagrama
1277 @translationof Setting the staff size
1279 @cindex tipografía, fijar el tamaño de
1280 @cindex pentagrama, fijar el tamaño de
1281 @funindex disposición, archivo de
1283 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1284 puntos. Esto se puede modificar de dos maneras:
1286 Para establecer globalmente el tamaño del pentagrama para todas las
1287 partituras de un archivo (o en un bloque @code{book}, para ser
1288 exactos), utilice @code{set-global-staff-size}.
1291 #(set-global-staff-size 14)
1295 Esto establece el tamaño global predeterminado a una altura de
1296 pentagrama de 14pt y escala todas las tipografías según corresponda.
1298 Para establecer el tamaño del pentagrama de forma individual para cada
1304 #(layout-set-staff-size 15)
1309 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1310 distintos. Cada fuente tipográfica está afinada para un tamaño de
1311 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1312 pesada, para que coincida con las líneas de pentagrama relativamente
1313 más gruesas. Los tamaños de tipografía recomendados están
1314 relacionados en la tabla siguiente:
1317 @multitable @columnfractions .15 .2 .22 .2
1319 @item @b{nombre de la fuente}
1320 @tab @b{altura del pentagrama (pt)}
1321 @tab @b{altura del pentagrama (mm)}
1327 @tab partituras de bolsillo
1352 @tab particellas estándar
1363 @c modern rental material?
1368 Estas tipografías están disponibles en cualquier tamaño. La propiedad
1369 de contexto @code{fontSize} y la propiedad de disposición
1370 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1371 afinar el tamaño de los pentagramas individuales. Los tamaños de
1372 pentagrama individuales están en relación al tamaño global.
1375 Referencia de la notación:
1376 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1378 Fragmentos de código:
1382 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1388 @translationof Breaks
1392 * Saltos de página::
1393 * Saltos de página óptimos::
1394 * Paso de página óptimo::
1395 * Saltos de página mínimos::
1396 * Saltos de línea explícitos::
1397 * Utilizar una voz adicional para los saltos de línea::
1401 @node Saltos de línea
1402 @subsection Saltos de línea
1403 @translationof Line breaking
1405 @cindex saltos de línea
1406 @cindex línea, saltos de
1408 Normalmente los saltos de línea se determinan automáticamente. Se
1409 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1410 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1413 Para forzar manualmente un salto de línea sobre la línea divisoria,
1414 utilice la instrucción @code{\break}:
1416 @lilypond[quote,ragged-right,relative=2,verbatim]
1421 De forma predeterminada se ignora cualquier @code{\break} en la mitad
1422 de un compás, y se imprime una advertencia. Para forzar un salto de
1423 línea en medio de un compás, añada una barra de compás invisible con
1426 @lilypond[quote,ragged-right,relative=2,verbatim]
1433 También se ignora un @code{\break} que se produce en la línea
1434 divisoria si el compás anterior termina en medio de una nota, como
1435 cuando un grupo de valoración especial inicia y termina en compases
1436 diferentes. Para permitir que las instrucciones @code{\break}
1437 funcionen en estas situaciones, elimine el grabador
1438 @code{Forbid_line_break_engraver} del contexto @code{Voice}. Observe
1439 que los saltos de línea forzados manualmente se deben añadir en
1440 paralelo con la música:
1442 @lilypond[quote,ragged-right,verbatim]
1444 \remove Forbid_line_break_engraver
1447 { c2. \times 2/3 { c4 c c } c2. | }
1448 { s1 | \break s1 | }
1453 De forma similar, los saltos de línea están normalmente prohibidos
1454 cuando hay barras de corchea que cruzan la línea divisoria. Se puede
1455 cambiar este comportamiento fijando @code{\override Beam #'breakable =
1458 @lilypond[quote,ragged-right,relative=2,verbatim]
1459 \override Beam #'breakable = ##t
1464 La instrucción @code{\noBreak}, prohíbe un salto de línea en
1465 la barra divisoria en que se inserta.
1467 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1468 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1469 @code{\layout}. Controlan el sangrado de la primera línea de música,
1470 y la longitud de las líneas.
1472 Si se establece @code{ragged-right} a verdadero en el bloque
1473 @code{\layout}, los sistemas terminan en su longitud horizontal
1474 natural, en lugar de distribuirse horizontalmente para llenar toda la
1475 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1476 comprobación de lo apretado que es el espaciado natural.
1478 @c TODO Check and add para on default for ragged-right
1480 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1481 afecta sólo a la última línea de la pieza.
1491 @cindex saltos de línea normales
1492 @cindex música de cuatro compases por línea
1494 Para saltos de línea a intervalos regulares utilice @code{\break}
1495 separado mediante desplazamientos con @code{\skip} y repetidos con
1496 @code{\repeat}. Por ejemplo, esto haría que los 28 compases
1497 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1498 compases, y sólo en dichos lugares:
1503 s1 \noBreak s1 \noBreak
1504 s1 \noBreak s1 \break
1506 @{ @var{la música real@dots{}} @}
1511 Una configuración de división de líneas se puede guardar como archivo
1512 @file{.ly} automáticamente. Ello permite que alineaciones verticales
1513 se estiren para que encajen en las páginas durante una segunda
1514 ejecución del proceso de formateo. Esta posibilidad es bastante
1515 novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
1525 Referencia de la notación:
1526 @ref{Variables de \paper para los saltos de línea}.
1528 Fragmentos de código:
1531 Referencia de funcionamiento interno:
1532 @rinternals{LineBreakEvent}.
1535 @node Saltos de página
1536 @subsection Saltos de página
1537 @translationof Page breaking
1539 Se puede sobreescribir el mecanismo predeterminado de salto de página
1540 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1541 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1542 Se deben insertar en una línea divisoria. Estas instrucciones fuerzan
1543 y prohíben, respectivamente, la eventualidad de un salto de página.
1544 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1547 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1548 pueden insertar en el nivel más alto, entre las partituras y los
1549 elementos de marcado situados en el nivel superior.
1551 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1552 tienen el mismo efecto sobre el espaciado vertical:
1553 @code{ragged-bottom} y @code{ragged-last-bottom}. Si están
1554 establecidos a @code{#t} los sistemas de todas las páginas o sólo de
1555 la última página, respectivamente, no se verán justificados
1556 verticalmente. Véase
1557 @ref{Variables de espaciado de \paper verticales fijas}.
1559 Los saltos de página se calculan por medio de la función
1560 @code{page-breaking}. LilyPond ofrece tres algoritmos para el cómputo
1561 de los saltos de página: @code{ly:optimal-breaking},
1562 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}. El
1563 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1564 cambiar en el bloque @code{\paper}:
1568 page-breaking = #ly:page-turn-breaking
1574 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1575 resolver el problema de los saltos de página, necesitando mucha
1576 memoria y prolongados tiempos de procesamiento. Para facilitar el
1577 proceso de división en páginas, se usan los bloques @code{\bookpart}
1578 para dividir el libro en varias partes: los saltos de página se
1579 producen de manera independiente en cada parte. También se pueden
1580 usar diferentes funciones de división en páginas para las distintas
1586 subtitle = "Prefacio"
1589 %% En una parte que consiste en texto principalmente,
1590 %% puede ser preferible ly:minimal-breaking
1591 page-breaking = #ly:minimal-breaking
1593 \markup @{ @dots{} @}
1597 %% En esta parte, consistente en música, se usa la función
1598 %% óptima predeterminada de saltos de página.
1600 subtitle = "Primer movimiento"
1602 \score @{ @dots{} @}
1608 @funindex \pageBreak
1610 @funindex \noPageBreak
1611 @code{\noPageBreak}.
1615 Referencia de la notación:
1616 @ref{Variables de \paper para los saltos de página}.
1618 Fragmentos de código:
1622 @node Saltos de página óptimos
1623 @subsection Saltos de página óptimos
1624 @translationof Optimal page breaking
1626 @funindex ly:optimal-breaking
1628 La función @code{ly:optimal-breaking} es el método predeterminado de
1629 LilyPond para determinar los saltos de página. Intenta hallar una
1630 división de páginas que haga mínimos el apretujamiento y la
1631 distensión, tanto horizontal como verticalmente. A diferencia de
1632 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1636 Fragmentos de código:
1640 @node Paso de página óptimo
1641 @subsection Paso de página óptimo
1642 @translationof Optimal page turning
1644 @funindex ly:page-turn-breaking
1646 Con frecuencia es necesario encontrar una configuración de división de
1647 páginas de manera que haya un silencio al final de una página de cada
1648 dos. De esta forma, el músico puede pasar la página sin perder notas.
1649 La función @code{ly:page-turn-breaking} trata de encontrar una
1650 división de páginas que haga mínimos el apretujamiento y el
1651 estiramiento, pero con la restricción añadida de que sólo se permite
1652 introducir vueltas de página en los lugares especificados.
1654 Hay dos etapas en el uso de esta función de división de páginas. En
1655 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1656 explicó en @ref{Saltos de página}. Entonces debemos decirle a la función
1657 dónde nos gustaría permitir los saltos de página.
1659 Hay dos formas de conseguir la segunda tarea. Primero, podemos
1660 especificar manualmente cada uno de los pasos de página potenciales,
1661 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1664 Si esto es demasiado tedioso, podemos añadir un grabador
1665 @code{Page_turn_engraver} a un contexto Staff o Voice. El grabador
1666 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1667 sin notas (observe que no busca silencios, sino la ausencia de notas.
1668 Se hace así para que la polifonía en un solo pentagrama con silencios
1669 en una de las voces no arruine la labor del grabador
1670 @code{Page_turn_engraver}). Cuando encuentra una sección sin notas
1671 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1672 un @code{\allowPageTurn} en la última barra de compás de dicha
1673 sección, a no ser que haya una barra @q{especial} de compás (como una
1674 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1675 última barra @q{especial} de compás de la sección.
1677 @funindex minimumPageTurnLength
1678 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1679 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1680 una sección sin notas antes de que se considere la posibilidad de un
1681 paso de página. El valor predeterminado para
1682 @code{minimumPageTurnLength} es @code{(ly:make-moment 1 1)}. Si
1683 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1687 \new Staff \with @{ \consists "Page_turn_engraver" @}
1690 R1 | % aquí se permite un salto de página
1692 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1693 R1 | % aquí no se permite un salto de página
1695 R1*2 | % aquí se permite un salto de página
1700 @funindex minimumRepeatLengthForPageTurn
1701 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1702 primera y segunda vez. Sólo permite un pase de página durante la
1703 repetición si hay suficiente tiempo al principio y al final de la
1704 repetición para volver a pasar la página hacia atrás. El grabador
1705 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1706 página si la repetición es muy corta. Si establecemos la propiedad de
1707 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1708 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1709 repeticiones cuya duración sea mayor que este valor.
1711 Las instrucciones de paso de página, @code{\pageTurn},
1712 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1713 el nivel más elevado del código, entre las partituras y los elementos
1714 de marcado del nivel superior.
1719 @funindex \noPageTurn
1721 @funindex \allowPageTurn
1722 @code{\allowPageTurn}.
1726 Fragmentos de código:
1730 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1731 partitura. Si hay más de uno, se interferirán entre sí.
1734 @node Saltos de página mínimos
1735 @subsection Saltos de página mínimos
1736 @translationof Minimal page breaking
1738 @funindex ly:minimal-breaking
1740 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1741 para determinar los saltos de página: completa una página con tantos
1742 sistemas como sea posible antes de continuar con la siguiente. Así,
1743 puede preferirse para partituras con muchas páginas, donde las otras
1744 funciones de salto de página pueden resultar demasiado lentas o ávidas
1745 de memoria, o con una gran cantidad de textos. Se habilita utilizando:
1749 page-breaking = #ly:minimal-breaking
1754 Fragmentos de código:
1758 @node Saltos de línea explícitos
1759 @subsection Saltos de línea explícitos
1760 @translationof Explicit breaks
1762 Lily a veces rechaza las instrucciones @code{\break} y
1763 @code{\pageBreak} explícitas. Hay dos instrucciones para
1764 sobreescribir este comportamiento:
1767 \override NonMusicalPaperColumn #'line-break-permission = ##f
1768 \override NonMusicalPaperColumn #'page-break-permission = ##f
1771 Cuando se sobreescribe el valor de @code{line-break-permission} a
1772 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1773 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1774 @code{page-break-permission} a falso, Lily inserta saltos de página en
1775 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1777 @lilypond[quote,verbatim]
1784 music = \relative c'' { c8 c c c }
1788 \repeat unfold 2 { \music } \break
1789 \repeat unfold 4 { \music } \break
1790 \repeat unfold 6 { \music } \break
1791 \repeat unfold 8 { \music } \pageBreak
1792 \repeat unfold 8 { \music } \break
1793 \repeat unfold 6 { \music } \break
1794 \repeat unfold 4 { \music } \break
1795 \repeat unfold 2 { \music }
1800 \override NonMusicalPaperColumn #'line-break-permission = ##f
1801 \override NonMusicalPaperColumn #'page-break-permission = ##f
1808 Fragmentos de código:
1812 @node Utilizar una voz adicional para los saltos de línea
1813 @subsection Utilizar una voz adicional para los saltos de línea
1814 @translationof Using an extra voice for breaks
1816 La información sobre saltos de línea y de página suele aparecer
1817 directamente entremezclado dentro del código de notas.
1820 music = \relative c'' @{ c4 c c c @}
1824 \repeat unfold 2 @{ \music @} \break
1825 \repeat unfold 3 @{ \music @}
1830 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1831 @code{\pageBreak}, pero mezcla la escritura de música con información
1832 que especifica cómo se debe disponer la música sobre la página.
1833 Podemos mantener la introducción de música y la información de saltos
1834 de línea y de página en dos lugares separados mediante la introducción
1835 de una voz adicional que contenga los saltos. Esta voz adicional
1836 contiene solamente desplazamientos o @q{skips} junto con los
1837 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1838 disposición de los saltos.
1840 @lilypond[quote,verbatim]
1841 music = \relative c'' { c4 c c c }
1852 \repeat unfold 2 { \music }
1853 \repeat unfold 3 { \music }
1854 \repeat unfold 6 { \music }
1855 \repeat unfold 5 { \music }
1861 Este patrón resulta especialmente útil cuando se sobreescribe
1862 @code{line-break-system-details} y las otras útiles (pero largas)
1863 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1864 @ref{Espaciado vertical}.
1866 @lilypond[quote,verbatim]
1867 music = \relative c'' { c4 c c c }
1872 \overrideProperty "Score.NonMusicalPaperColumn"
1873 #'line-break-system-details #'((Y-offset . 0))
1876 \overrideProperty "Score.NonMusicalPaperColumn"
1877 #'line-break-system-details #'((Y-offset . 35))
1880 \overrideProperty "Score.NonMusicalPaperColumn"
1881 #'line-break-system-details #'((Y-offset . 70))
1884 \overrideProperty "Score.NonMusicalPaperColumn"
1885 #'line-break-system-details #'((Y-offset . 105))
1889 \repeat unfold 2 { \music }
1890 \repeat unfold 3 { \music }
1891 \repeat unfold 6 { \music }
1892 \repeat unfold 5 { \music }
1899 Referencia de la notación:
1900 @ref{Espaciado vertical}.
1902 Fragmentos de código:
1906 @node Espaciado vertical
1907 @section Espaciado vertical
1908 @translationof Vertical spacing
1910 @cindex espaciado vertical
1911 @cindex vertical, espaciado
1913 El espaciado vertical está controlado por tres factores: la cantidad
1914 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1915 la separación entre los sistemas, y la separación entre los
1916 pentagramas dentro de un sistema.
1919 * Espaciado vertical flexible dentro de los sistemas::
1920 * Posicionamiento explícito de los pentagramas y los sistemas::
1921 * Evitar las colisiones verticales::
1925 @node Espaciado vertical flexible dentro de los sistemas
1926 @subsection Espaciado vertical flexible dentro de los sistemas
1927 @translationof Flexible vertical spacing within systems
1929 @cindex distancia entre pentagramas
1930 @cindex pentagrama, distancia entre los
1931 @cindex espacio entre pentagramas
1932 @cindex espacio dentro de los sistemas
1934 Tres mecanismos distintos controlan el espaciado vertical flexible
1935 dentro de los sistemas, uno por cada una de las categorías siguientes:
1940 @emph{pautas sin agrupar},
1943 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1944 @code{ChoirStaff}, etc.), y
1947 @emph{líneas que no son pautas} (como @code{Lyrics},
1948 @code{ChordNames}, etc.).
1952 @c TODO: Clarify this. This almost implies that non-staff lines
1953 @c have NO effect on the spacing between staves. -mp
1955 La altura de cada sistema se determina en dos fases. Primero, todos
1956 los pentagramas se disponen según la cantidad de espacio vacío
1957 disponible. Después, las líneas que no son pautas se distribuyen
1960 Observe que los mecanismos de espaciado estudiados en esta sección
1961 solamente controlan el espaciado vertical de las pautas y líneas que
1962 no son pautas dentro de los sistemas individuales. El espaciado
1963 vertical entre distintos sistemas, partituras, marcados y márgenes se
1964 controla mediante variables de @code{\paper} que se estudian en
1965 @ref{Flexible vertical spacing \paper variables}.
1968 * Propiedades de espaciado dentro de los sistemas::
1969 * Espaciado de pautas no agrupadas::
1970 * Espaciado de pautas agrupadas::
1971 * Espaciado de las líneas que no son pautas::
1975 @node Propiedades de espaciado dentro de los sistemas
1976 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1977 @translationof Within-system spacing properties
1979 @funindex staff-affinity
1980 @funindex staffgroup-staff-spacing
1981 @funindex staff-staff-spacing
1982 @funindex nonstaff-unrelatedstaff-spacing
1983 @funindex nonstaff-relatedstaff-spacing
1984 @funindex nonstaff-nonstaff-spacing
1985 @funindex default-staff-staff-spacing
1986 @funindex minimum-Y-extent
1987 @funindex extra-offset
1988 @funindex self-alignment-X
1990 @funindex VerticalAxisGroup
1992 Los mecanismos de espaciado vertical dentro del sistema están
1993 controlados por dos conjuntos de propiedades de grob. El primer
1994 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1995 crea por parte de todas las pautas y líneas que no son pautas. El
1996 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1997 puede crearse por parte de los grupos de pentagramas, pero solamente
1998 si se le llama explícitamente. Estas propiedades se describen
1999 individualmente al final de la presente sección.
2001 Los nombres de estas propiedades (excepto para @code{staff-affinity})
2002 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
2003 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
2004 elementos que se van a espaciar. Observe que @code{@var{elemento2}}
2005 no está necesariamente por debajo de @code{@var{elemento1}}; por
2006 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hacia arriba a
2007 partir de la línea del tipo no-pauta si @code{staff-affinity} es
2010 Cada distancia se mide entre los @emph{puntos de referencia} de los
2011 dos elementos. El @emph{punto de referencia} para un pentagrama y
2012 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
2013 decir, la línea central si @code{line-count} es un número impar; el
2014 espacio central si @code{line-count} es par). Los puntos de
2015 referencia para las líneas individuales que no son pautas aparecen en
2018 @multitable {Línea que no es una pauta} {Punto de referencia}
2019 @headitem Línea que no es una pauta @tab Punto de referencia
2020 @item @code{ChordNames} @tab línea de base
2021 @item @code{NoteNames} @tab línea de base
2022 @item @code{Lyrics} @tab línea de base
2023 @item @code{Dynamics} @tab centro vertical
2024 @item @code{FiguredBass} @tab punto más alto
2025 @item @code{FretBoards} @tab línea superior
2028 En la siguiente imagen, las líneas horizontales indican las posiciones
2029 de estos puntos de referencia:
2031 @lilypond[quote,noragged-right,line-width=110\mm]
2032 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
2034 alignToZero = \with {
2035 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
2036 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
2038 lowerCaseChords = \with {
2039 chordNameLowercaseMinor = ##t
2041 staffAffinityDown = \with {
2042 \override VerticalAxisGroup #'staff-affinity = #DOWN
2045 #(define-music-function
2046 (parser location context)
2048 #{ s1*0^\markup { \typewriter #context } #})
2051 \context { \Dynamics \alignToZero }
2052 \context { \FiguredBass \alignToZero }
2053 \context { \Lyrics \alignToZero }
2054 \context { \NoteNames \alignToZero \staffAffinityDown }
2055 \context { \ChordNames \alignToZero
2058 \context { \FretBoards \alignToZero \staffAffinityDown }
2060 \override BarLine #'stencil = ##f
2061 \override DynamicText #'self-alignment-X = #-1
2062 \override FretBoard #'X-offset = #1.75
2063 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
2064 \override InstrumentName #'extra-offset = #'(0 . -0.5)
2065 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
2066 \override TimeSignature #'stencil = ##f
2070 %% These contexts have reference points at the baseline:
2071 %% ChordNames, NoteNames, and Lyrics
2073 \new ChordNames { \chords { g1:m } }
2074 \new NoteNames { s1 | g1 | }
2075 \new RhythmicStaff {
2076 \set RhythmicStaff.instrumentName = #"baseline "
2078 \labelContext "ChordNames " s1 |
2079 \labelContext "NoteNames " s1 |
2080 \labelContext "Lyrics" s1 |
2082 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
2085 %% The reference point for Dynamics is its vertical center
2087 \new RhythmicStaff {
2088 \set RhythmicStaff.instrumentName = #"vertical center "
2089 \labelContext "Dynamics" s1*3
2091 \new Dynamics { s1\mp s\fp }
2094 %% The reference point for FiguredBass is its highest point
2096 \new RhythmicStaff {
2097 \set RhythmicStaff.instrumentName = #"highest point "
2098 \labelContext "FiguredBass" s1
2100 \new FiguredBass { \figuremode { <6 5>1 } }
2103 %% The reference point for FretBoards is the top line
2104 \include "predefined-guitar-fretboards.ly"
2106 \new FretBoards { \chordmode { e1 } }
2107 \new RhythmicStaff {
2108 \set RhythmicStaff.instrumentName = #"top line "
2109 \labelContext "FretBoards " s1
2114 Cada una de las propiedades de grob del espaciado vertical (excepto
2115 @code{staff-affinity})
2116 usa la misma estructura de lista-A que las
2117 variables de espaciado del bloque @code{\paper} que se han estudiado
2118 en @ref{Flexible vertical spacing \paper variables}.
2119 En @ref{Modificación de las listas-A}
2120 se estudian métodos específicos para la modificación de
2121 las listas-A. Las propiedades de los grobs deben ajustarse con un
2122 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
2123 no dentro de un bloque @code{\paper}.
2125 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
2126 estas listas-A. La primera declaración actualiza un par clave-valor de
2127 forma individual, y la segunda redefine la propiedad completamente:
2131 \override VerticalAxisGroup #'default-staff-staff-spacing
2132 #'basic-distance = #10
2136 \override VerticalAxisGroup #'default-staff-staff-spacing =
2137 #'((basic-distance . 10)
2138 (minimum-distance . 9)
2140 (stretchability . 10))
2144 Para modificar globalmente cualquiera de los ajustes de espaciado,
2145 póngalos dentro del bloque @code{\layout}:
2151 \override VerticalAxisGroup #'default-staff-staff-spacing
2152 #'basic-distance = #10
2157 Los ajustes estándar para las propiedades de grob del espaciado
2158 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
2159 @rinternals{StaffGrouper}. Las sobreescrituras predeterminadas para
2160 los tipos específicos de líneas que no son pautas están relacionadas
2161 en las descripciones de contexto correspondientes en
2162 @rinternals{Contexts}.
2164 @subsubheading Propiedades del grob @code{VerticalAxisGroup}
2166 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
2167 instrucción @code{\override} en el nivel de @code{Staff} (o
2171 @item staff-staff-spacing
2172 Se utiliza para determinar la distancia entre la pauta actual
2173 y la pauta que está justo por debajo
2174 de ella dentro del mismo sistema, incluso si hay más líneas que no son
2175 pautas (tales como @code{Lyrics}) entre las dos pautas. No se aplica
2176 a la pauta inferior de un sistema.
2178 Inicialmente, el valor de espaciado @code{staff-staff-spacing} de un
2179 grupo @code{VerticalAxisGroup} es una función de Scheme que aplica las
2180 propiedades del @code{StaffGrouper} si la pauta forma parte de un
2181 grupo, o el @code{default-staff-staff-spacing} de la pauta en caso
2182 contrario. Esto hace posible que las pautas estén espaciadas de forma
2183 diferente cuando están agrupadas. Para conseguir un espaciado regular
2184 sin importar el agrupamiento, esta función se puede sustituir por una
2185 lista-A de espaciado flexible, utilizando la forma de
2186 sobreescritura de redefinición completa que se ha mostrado más arriba.
2188 @item default-staff-staff-spacing
2189 Una lista-A de espaciado flexible que define el
2190 espacio @code{staff-staff-spacing} que se usará para las pautas sin
2191 agrupar, a no ser que se haya sobreescrito explícitamente
2192 @code{staff-staff-spacing} con una instrucción @code{\override}.
2194 @item staff-affinity
2195 Dirección de la pauta que utilizar para el espaciado de la línea
2196 actual que no es pauta. Se puede elegir entre @code{UP} (arriba),
2197 @code{DOWN} (abajo) y @code{CENTER} (centro). Si es @code{CENTER}, la
2198 línea del tipo no-pauta se coloca equidistante entre las dos pautas
2199 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
2200 restricciones de espaciado. Las líneas del tipo no-pauta adyacentes
2201 han de llevar valores de @code{staff-affinity} no crecientes desde la
2202 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
2203 establecida a @code{UP} no debería seguir inmediatamente a otra que
2204 esté establecida a @code{DOWN}. Las líneas del tipo no-pauta en la
2205 parte superior de un sistema deben usar @code{DOWN}; las de la parte
2206 inferior deben usar @code{UP}. El ajuste de @code{staff-affinity}
2207 para una pauta hace que se le trate como una línea que no es una
2208 pauta. El establecimiento de @code{staff-affinity} a @code{#f} para
2209 una línea que no es una pauta hace que se trate como una pauta.
2210 Establecer @code{staff-affinity} a @code{UP}, @code{CENTER}, o
2211 @code{DOWN} hace que el pentagrama resulte espaciado como si fuera una
2212 línea que no es una pauta.
2214 @item nonstaff-relatedstaff-spacing
2215 Distancia entre la línea del tipo no-pauta actual y la pauta más
2216 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
2217 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
2218 @code{UP} o @code{DOWN}. Si @code{staff-affinity} es @code{CENTER},
2219 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
2220 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
2221 líneas del tipo no-pauta entre la pauta actual y una de las otras.
2222 Esto significa que la colocación de una línea que no es una pauta
2223 depende tanto de las pautas que la rodean como de las líneas que no
2224 son pautas y que la rodean. Establecer la ampliabilidad
2225 @code{stretchability} de uno de estos tipos de espaciado a un valor
2226 más pequeño provoca que este espaciado domine. El establecimiento de
2227 @code{stretchability} a un valor mayor hace que dicho espaciado tenga
2230 @item nonstaff-nonstaff-spacing
2231 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
2232 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
2233 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
2234 es @code{UP} o @code{DOWN}.
2236 @item nonstaff-unrelatedstaff-spacing
2237 Distancia entre la línea actual del tipo no-pauta y la pauta en la
2238 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
2239 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
2240 @code{UP} o @code{DOWN}. Se puede usar, por ejemplo, para requerir
2241 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
2242 pauta a la que no pertenece.
2245 @subsubheading Propiedades del grob @code{StaffGrouper}
2247 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
2248 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
2252 @item staff-staff-spacing
2253 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
2254 La propiedad @code{staff-staff-spacing} del grob
2255 @code{VerticalAxisGroup} de una pauta individual se puede
2256 sobreescribir con distintos ajustes de espaciado para dicha
2259 @item staffgroup-staff-spacing
2260 Distancia entre la última pauta del grupo en curso y la pauta que está
2261 justo por debajo de ella dentro del mismo sistema, incluso si existen
2262 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
2263 las dos pautas. No se aplica al pentagrama o pauta inferior de un
2264 sistema. La propiedad @code{staff-staff-spacing} del grob
2265 @code{VerticalAxisGroup} de una pauta individual se puede
2266 sobreescribir con distintos ajustes de espaciado para dicha
2271 Referencia de la notación:
2272 @ref{Variables de espaciado de \paper verticales flexibles},
2273 @ref{Modificación de las listas-A}.
2276 @file{ly/engraver-init.ly},
2277 @file{scm/define-grobs.scm}.
2279 Referencia de funcionamiento interno:
2280 @rinternals{Contexts},
2281 @rinternals{VerticalAxisGroup},
2282 @rinternals{StaffGrouper}.
2286 @node Espaciado de pautas no agrupadas
2287 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2288 @translationof Spacing of ungrouped staves
2290 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2291 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2292 etc. son contextos que pueden contener uno o más contextos de voz,
2293 pero no pueden contener otras pautas.
2295 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2299 @item Propiedades de @code{VerticalAxisGroup}:
2301 @item @code{default-staff-staff-spacing}
2302 @item @code{staff-staff-spacing}
2306 Estas propiedades de grob se describen individualmente más arriba;
2307 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2309 Están implicadas ciertas propiedades adicionales para las pautas que
2310 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2312 El ejemplo siguiente muestra cómo la propiedad
2313 @code{default-staff-staff-spacing} puede afectar al espaciado de pautas no
2314 agrupadas. Las mismas sobreescrituras aplicadas a
2315 @code{staff-staff-spacing}
2316 tendrían el mismo efecto, pero también se aplicaría en caso de que las
2317 pautas estuvieran combinadas en un grupo o grupos.
2319 @lilypond[verbatim,quote,staffsize=16]
2323 \override VerticalAxisGroup #'default-staff-staff-spacing =
2324 #'((basic-distance . 8)
2325 (minimum-distance . 7)
2331 % The very low note here needs more room than 'basic-distance
2332 % can provide, so the distance between this staff and the next
2333 % is determined by 'padding.
2334 \new Staff { b,2 r | }
2336 % Here, 'basic-distance provides enough room, and there is no
2337 % need to compress the space (towards 'minimum-distance) to make
2338 % room for anything else on the page, so the distance between
2339 % this staff and the next is determined by 'basic-distance.
2340 \new Staff { \clef bass g2 r | }
2342 % By setting 'padding to a negative value, staves can be made to
2343 % collide. The lowest acceptable value for 'basic-distance is 0.
2345 \override VerticalAxisGroup #'default-staff-staff-spacing =
2346 #'((basic-distance . 3.5)
2348 } { \clef bass g2 r | }
2349 \new Staff { \clef bass g2 r | }
2355 @file{scm/define-grobs.scm}.
2357 Fragmentos de código:
2360 Referencia de funcionamiento interno:
2361 @rinternals{VerticalAxisGroup}.
2364 @node Espaciado de pautas agrupadas
2365 @unnumberedsubsubsec Espaciado de pautas agrupadas
2366 @translationof Spacing of grouped staves
2368 En partituras grandes como las orquestales, es común colocar los
2369 pentagramas en grupos. El espacio entre los grupos suele ser mayor
2370 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2372 Los grupos de pautas, @emph{Staff-groups} (tales como
2373 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2374 contener al mismo tiempo uno o más pentagramas o pautas.
2376 Las siguientes propiedades afectan al espaciado de las pautas dentro
2380 @item Propiedades de @code{VerticalAxisGroup}:
2382 @item @code{staff-staff-spacing}
2384 @item Propiedades de @code{StaffGrouper}:
2386 @item @code{staff-staff-spacing}
2387 @item @code{staffgroup-staff-spacing}
2391 Estas propiedades de grob se describen individualmente más arriba;
2392 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2394 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2395 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2397 @lilypond[verbatim,quote,staffsize=16]
2401 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2402 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2407 \new PianoStaff \with {
2408 \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2423 @file{scm/define-grobs.scm}.
2425 Fragmentos de código:
2428 Referencia de funcionamiento interno:
2429 @rinternals{VerticalAxisGroup},
2430 @rinternals{StaffGrouper}.
2433 @node Espaciado de las líneas que no son pautas
2434 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2435 @translationof Spacing of non-staff lines
2437 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2438 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2439 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2440 de los sistemas). Específicamente, las líneas que no son pautas son
2441 contextos del tipo no-pauta que crean el objeto de presentación
2442 @code{VerticalAxisGroup}.
2444 Las siguientes propiedades afectan al espaciado de las líneas que no
2448 @item Propiedades de @code{VerticalAxisGroup}:
2450 @item @code{staff-affinity}
2451 @item @code{nonstaff-relatedstaff-spacing}
2452 @item @code{nonstaff-nonstaff-spacing}
2453 @item @code{nonstaff-unrelatedstaff-spacing}
2457 Estas propiedades de grob se describen individualmente más arriba;
2458 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2460 El ejemplo siguiente muestra cómo la propiedad
2461 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2462 consecutivas que no son pautas. Aquí, mediante el establecimiento de
2463 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2464 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2466 @lilypond[verbatim,quote,staffsize=16]
2470 \override VerticalAxisGroup
2471 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2478 \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2481 \override VerticalAxisGroup #'staff-affinity = #UP
2484 \override VerticalAxisGroup #'staff-affinity = #CENTER
2485 } \lyricmode { center }
2487 \override VerticalAxisGroup #'staff-affinity = #DOWN
2488 } \lyricmode { down }
2495 @file{ly/engraver-init.ly},
2496 @file{scm/define-grobs.scm}.
2498 Fragmentos de código:
2501 @c @lsr{spacing,page-spacing.ly},
2502 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2504 Referencia de funcionamiento interno:
2505 @rinternals{Contexts},
2506 @rinternals{VerticalAxisGroup}.
2509 @node Posicionamiento explícito de los pentagramas y los sistemas
2510 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2511 @translationof Explicit staff and system positioning
2513 Una forma de entender los mecanismos del espaciado vertical
2514 flexible que se han explicado más arriba es como una
2515 colección de ajustes que controlan la cantidad de relleno
2516 vertical entre los pentagramas y los sistemas.
2518 Es posible enfrentarse al espaciado vertical de una forma distinta
2519 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2520 Mientras que los mecanismos del espaciado vertical flexible
2521 especifican relleno vertical, @code{NonMusicalPaperColumn
2522 #'line-break-system-details} puede especificar posiciones verticales
2523 exactas sobre la página.
2525 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2526 lista asociativa de tres ajustes diferentes:
2529 @item @code{X-offset} (desplazamiento en X)
2530 @item @code{Y-offset} (desplazamiento en Y)
2531 @item @code{alignment-distances} (distancias de alineación)
2534 Las sobreescrituras de los objetos gráficos, entre ellas las de
2535 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2536 tres lugares distintos dentro de un archivo de entrada:
2539 @item directamente en medio de las notas
2540 @item en un bloque @code{\context}
2541 @item en el bloque @code{\with}
2544 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2545 instrucción @code{\override} usual en los bloques @code{\context} y en
2546 el bloque @code{\with}. Por otra parte, cuando sobreescribimos
2547 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2548 instrucción especial @code{\overrideProperty}. He aquí algunas
2549 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2550 instrucción especial @code{\overrideProperty}:
2553 \overrideProperty NonMusicalPaperColumn
2554 #'line-break-system-details #'((X-offset . 20))
2556 \overrideProperty NonMusicalPaperColumn
2557 #'line-break-system-details #'((Y-offset . 40))
2559 \overrideProperty NonMusicalPaperColumn
2560 #'line-break-system-details #'((X-offset . 20)
2563 \overrideProperty NonMusicalPaperColumn
2564 #'line-break-system-details #'((alignment-distances . (15)))
2566 \overrideProperty NonMusicalPaperColumn
2567 #'line-break-system-details #'((X-offset . 20)
2569 (alignment-distances . (15)))
2572 Para entender cómo funciona cada uno de los distintos ajustes,
2573 empezamos observando un ejemplo que no incluye absolutamente ninguna
2576 @c \book { } is required in these examples to ensure the spacing
2577 @c overrides can be seen between systems. -np
2579 @lilypond[verbatim,quote,staffsize=16]
2580 \header { tagline = ##f }
2581 \paper { left-margin = 0\mm }
2591 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2594 \repeat unfold 15 { d'4 d' d' d' }
2601 Esta partitura mantiene aislada la información de los saltos de línea
2602 y de página en una voz dedicada a ello. Esta técnica de crear una voz
2603 de saltos ayuda a mantener separada de la escritura de notas conforme
2604 el ejemplo se vuelve más complicado. Consulte
2605 @ref{Utilizar una voz adicional para los saltos de línea}.
2607 Los saltos explícitos dividen la música de forma regular en seis
2608 compases por línea. El espaciado vertical es el resultado de los
2609 ajustes predeterminados de LilyPond. Para establecer explícitamente
2610 el punto de origen vertical de cada sistema, podemos establecer el par
2611 @code{Y-offset} en el atributo @code{line-break-system-details} del
2612 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2614 @lilypond[verbatim,quote,staffsize=16]
2615 \header { tagline = ##f }
2616 \paper { left-margin = 0\mm }
2622 \overrideProperty #"Score.NonMusicalPaperColumn"
2623 #'line-break-system-details #'((Y-offset . 0))
2625 \overrideProperty #"Score.NonMusicalPaperColumn"
2626 #'line-break-system-details #'((Y-offset . 40))
2628 \overrideProperty #"Score.NonMusicalPaperColumn"
2629 #'line-break-system-details #'((Y-offset . 80))
2632 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2635 \repeat unfold 15 { d'4 d' d' d' }
2642 Observe que @code{line-break-system-details} toma una lista asociativa
2643 de una cantidad de valores potencialmente elevada, pero aquí sólo
2644 fijamos un valor. Observe también que aquí la propiedad
2645 @code{Y-offset} determina la posición vertical exacta sobre la página
2646 en la que se trazará cada uno de los nuevos sistemas.
2648 Ahora que hemos establecido explícitamente el punto de origen vertical
2649 de cada sistema, podemos también establecer manualmente las distancias
2650 verticales entre los pentagramas dentro de cada sistema. Lo hacemos
2651 usando la subpropiedad @code{alignment-distances} de
2652 @code{line-break-system-details}.
2654 @lilypond[verbatim,quote,staffsize=16]
2655 \header { tagline = ##f }
2656 \paper { left-margin = 0\mm }
2662 \overrideProperty #"Score.NonMusicalPaperColumn"
2663 #'line-break-system-details #'((Y-offset . 20)
2664 (alignment-distances . (15)))
2666 \overrideProperty #"Score.NonMusicalPaperColumn"
2667 #'line-break-system-details #'((Y-offset . 60)
2668 (alignment-distances . (15)))
2670 \overrideProperty #"Score.NonMusicalPaperColumn"
2671 #'line-break-system-details #'((Y-offset . 100)
2672 (alignment-distances . (15)))
2675 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2678 \repeat unfold 15 { d'4 d' d' d' }
2685 Observe que aquí asignamos dos valores distintos al atributo
2686 @code{line-break-system-details} del grob
2687 @code{NonMusicalPaperColumn}. Aunque el atributo alist de
2688 @code{line-break-system-details} acepta muchos parámetros de espaciado
2689 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2690 correspondiente), sólo tenemos que establecer el desplazamiento
2691 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2692 el punto de origen vertical de cada sistema y pentagrama. Finalmente,
2693 observe que @code{alignment-distances} especifica el posicionamiento
2694 vertical de los pentagramas pero no de los grupos de pentagramas.
2696 @lilypond[verbatim,quote,staffsize=16]
2697 \header { tagline = ##f }
2698 \paper { left-margin = 0\mm }
2704 \overrideProperty #"Score.NonMusicalPaperColumn"
2705 #'line-break-system-details #'((Y-offset . 0)
2706 (alignment-distances . (30 10)))
2708 \overrideProperty #"Score.NonMusicalPaperColumn"
2709 #'line-break-system-details #'((Y-offset . 60)
2710 (alignment-distances . (10 10)))
2712 \overrideProperty #"Score.NonMusicalPaperColumn"
2713 #'line-break-system-details #'((Y-offset . 100)
2714 (alignment-distances . (10 30)))
2717 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2720 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2721 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2728 Algunos puntos que tener en cuenta:
2731 @item Al usar @code{alignment-distances}, la letra
2732 y otras líneas que no son pautas, no cuentan como un pentagrama.
2734 @item Las unidades de los números que se pasan a @code{X-offset},
2735 @code{Y-offset} y @code{alignment-distances} se interpretan como
2736 múltiplos de la distancia entre líneas de pentagrama adyacentes. Los
2737 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2738 los valores negativos mueven los pentagramas y la letra hacia abajo.
2740 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2741 #'line-break-system-details} dados aquí permiten el posicionamiento de
2742 pentagramas y sistemas en cualquier lugar de la página, es posible
2743 violar los márgenes o los límites del papel, o incluso imprimir
2744 pentagramas o sistemas unos encima de otros. Esto se evitaría pasando
2745 a los diferentes ajustes unos valores razonables.
2749 Fragmentos de código:
2753 @node Evitar las colisiones verticales
2754 @subsection Evitar las colisiones verticales
2755 @translationof Vertical collision avoidance
2757 @funindex outside-staff-priority
2758 @funindex outside-staff-padding
2759 @funindex outside-staff-horizontal-padding
2761 Podemos decir intuitivamente que algunos objetos de la notación
2762 musical pertenecen al pentagrama y otros se sitúan fuera del
2763 pentagrama. Entre los objetos que pertenecen al exterior del
2764 pentagrama están las marcas de ensayo, las marcas textuales y las
2765 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2766 del pentagrama). La regla de LilyPond para la colocación vertical de
2767 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2768 como sea posible pero no tan próximos como para que choquen con otro
2771 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2772 determinar si un grob es un objeto fuera del pentagrama: si
2773 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2774 del pentagrama. Además, @code{outside-staff-priority} informa a
2775 LilyPond en qué orden se debe situar los objetos.
2777 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2778 exterior del pentagrama. Después ordena los objetos fuera del
2779 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2780 orden creciente). LilyPond toma los objetos fuera del pentagrama uno
2781 a uno y los coloca de forma que no choquen con ningún objeto que ya
2782 haya sido colocado. Esto es, si dos grobs fuera del pentagrama
2783 compiten por el mismo espacio, el que tiene la prioridad
2784 @code{outside-staff-priority} más baja se colocará más próximo al
2787 @lilypond[quote,ragged-right,relative=2,verbatim]
2790 \once \override TextScript #'outside-staff-priority = #1
2791 c4_"Text"\pp % this time the text will be closer to the staff
2793 % by setting outside-staff-priority to a non-number,
2794 % we disable the automatic collision avoidance
2795 \once \override TextScript #'outside-staff-priority = ##f
2796 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2797 c4_"Text"\pp % now they will collide
2800 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2801 posicionados previamente se puede controlar con
2802 @code{outside-staff-padding}.
2804 @lilypond[quote,ragged-right,relative=2,verbatim]
2805 \once \override TextScript #'outside-staff-padding = #0
2806 a'^"This text is placed very close to the note"
2807 \once \override TextScript #'outside-staff-padding = #3
2808 c^"This text is padded away from the previous text"
2809 c^"This text is placed close to the previous text"
2812 De forma predeterminada, los objetos fuera del pentagrama se colocan
2813 sólo para evitar una colisión horizontal con los grobs posicionados
2814 previamente. Esto puede llevar a situaciones en las que los objetos
2815 se colocan muy próximos entre sí en el sentido horizontal. El espacio
2816 vertical entre pentagramas se puede fijar también de manera que los
2817 objetos fuera del pentagrama se sitúen de forma intercalada. El
2818 establecimiento del relleno horizontal
2819 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2820 desplace verticalmente para que tal situación no ocurra.
2822 @lilypond[quote,ragged-right,relative=2,verbatim]
2823 % the markup is too close to the following note
2827 % setting outside-staff-horizontal-padding fixes this
2829 \once \override TextScript #'outside-staff-horizontal-padding = #1
2836 Fragmentos de código:
2840 @node Espaciado horizontal
2841 @section Espaciado horizontal
2842 @translationof Horizontal spacing
2844 @cindex horizontal, espaciado
2845 @cindex espaciado horizontal
2848 * Panorámica del espaciado horizontal::
2849 * Área de espaciado nueva::
2850 * Cambiar el espaciado horizontal::
2851 * Longitud de la línea::
2852 * Notación proporcional::
2856 @node Panorámica del espaciado horizontal
2857 @subsection Panorámica del espaciado horizontal
2858 @translationof Horizontal spacing overview
2860 El motor de espaciado traduce las diferencias en las duraciones a
2861 distancias ampliables (@q{muelles}) de distintas longitudes. Las
2862 duraciones más largas reciben un espacio mayor y las duraciones más
2863 cortas reciben menos. Las duraciones más breves reciben un espacio de
2864 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2865 en el objeto @rinternals{SpacingSpanner}). Cuanto más larga es la
2866 duración, más espacio recibe: al doblar una duración se añade un
2867 espacio de tamaño fijo (este tamaño se controla mediante
2868 @code{spacing-increment}) a la nota.
2870 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2871 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2872 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2874 @lilypond[quote,verbatim,relative=1]
2875 c2 c4. c8 c4. c8 c4. c8 c8
2879 Normalmente, el valor de @code{spacing-increment} está establecido en
2880 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2881 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2882 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2883 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2884 horizontal. Este espacio se cuenta a partir del borde izquierdo del
2885 símbolo, de manera que las notas más breves van seguidas generalmente
2886 por un espacio de 1 ACB.
2888 Si siguiésemos el procedimiento anterior exactamente, entonces la
2889 adición de una sola fusa a una partitura que usa corcheas y
2890 semicorcheas, aumentaría enormemente la anchura de la partitura
2891 completa. La nota más breve ya no es la semicorchea, sino la fusa,
2892 añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la
2893 duración más breve a efectos de espaciado no es la nota más breve de
2894 la partitura, sino la que ocurre con más frecuencia.
2896 La duración más breve que es más común se determina de la siguiente
2897 manera: en cada compás se determina la duración más breve. La menor
2898 duración más común se toma como base para el espaciado, habiendo
2899 estipulado que esta duración menor siempre debe ser igual o menor que
2900 una corchea. La duración más breve se imprime cuando se ejecuta
2901 @code{lilypond} con la opción @option{--verbose}.
2903 Estas duraciones también se pueden personalizar. Si establecemos la
2904 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2905 entonces éste establece la duración base para el espaciado. La
2906 duración máxima para esta base (normalmente una corchea), se fija a
2907 través de @code{base-shortest-duration}.
2909 @funindex common-shortest-duration
2910 @funindex base-shortest-duration
2911 @funindex stem-spacing-correction
2914 Las notas que son aún más breves que la nota común más breve van
2915 seguidas por un espacio proporcional a su duración en relación con la
2916 nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas
2917 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2919 @lilypond[quote,verbatim,relative=2]
2920 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2923 En el @emph{Ensayo sobre grabado musical automatizado},
2925 direcciones de las plicas influyen en el espaciado
2926 (véase @ressay{Espaciado óptico}). Esto se controla
2927 con la propiedad @code{stem-spacing-correction} en el objeto
2928 @rinternals{NoteSpacing}. Estos se generan para cada uno de los
2929 contextos de @rinternals{Voice}. El objeto @code{StaffSpacing}
2930 (generado en el contexto de @rinternals{Staff}) contiene la misma
2931 propiedad para controlar el espaciado de las líneas de plica o
2932 divisorias. El ejemplo siguiente muestra estas correcciones, una vez
2933 con los valores predeterminados y otra con correcciones exageradas:
2935 @lilypond[quote,ragged-right]
2939 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2940 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2946 Está contemplada la notación proporcional; consulte
2947 @ref{Notación proporcional}.
2950 Ensayo sobre grabado musical automatizado:
2951 @ressay{Espaciado óptico}.
2953 Fragmentos de código:
2956 Referencia de funcionamiento interno:
2957 @rinternals{SpacingSpanner},
2958 @rinternals{NoteSpacing},
2959 @rinternals{StaffSpacing},
2960 @rinternals{NonMusicalPaperColumn}.
2963 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2964 manualmente. Se puede usar el siguiente rodeo para insertar espacio
2965 adicional en una partitura, ajustando el valor del relleno en la
2969 \override Score.NonMusicalPaperColumn #'padding = #10
2972 No existe ningún rodeo para disminuir la magnitud de la separación.
2975 @node Área de espaciado nueva
2976 @subsection Área de espaciado nueva
2977 @translationof New spacing area
2979 Se pueden iniciar secciones nuevas con diferentes parámetros de
2980 espaciado, con @code{newSpacingSection}. Esto es útil cuando hay
2981 secciones que tienen distinta noción de las notas largas y cortas.
2983 En el ejemplo siguiente, el cambio de compás introduce una sección
2984 nueva, y por ello las semicorcheas se separan de manera más amplia.
2986 @lilypond[relative=1,verbatim,quote]
2989 c8 c c4 c16[ c c8] c4
2995 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2996 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2997 instrucciones de sobreescritura @code{\override} en dicho punto.
3000 Fragmentos de código:
3003 Referencia de funcionamiento interno:
3004 @rinternals{SpacingSpanner}.
3007 @node Cambiar el espaciado horizontal
3008 @subsection Cambiar el espaciado horizontal
3009 @translationof Changing horizontal spacing
3011 Se puede alterar el espaciado horizontal con la propiedad
3012 @code{base-shortest-duration}. Aquí compararemos la misma música, una
3013 vez sin alterar la propiedad, y luego alterándola. Los valores
3014 mayores de @code{ly:make-moment} producen música más pequeña. Observe
3015 que @code{ly:make-moment} construye una duración, por lo que @code{1
3016 4} es una duración mayor que @code{1 16}.
3018 @lilypond[verbatim,line-width=12\cm]
3021 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
3022 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3023 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
3024 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3029 @lilypond[verbatim,line-width=12\cm]
3032 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
3033 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3034 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
3035 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
3040 \override SpacingSpanner
3041 #'base-shortest-duration = #(ly:make-moment 1 16)
3048 De forma predeterminada, el espaciado en los grupos de valoración
3049 especial depende de varios factores ajenos a la duración (como
3050 alteraciones, cambios de clave, etc.). Para pasar por alto estos
3051 símbolos y forzar un espaciado de duraciones iguales uniforme, use
3052 @code{Score.SpacingSpanner #'uniform-stretching}. Esta propiedad sólo
3053 puede cambiarse al principio de la partitura:
3055 @lilypond[quote,ragged-right,verbatim]
3074 \override SpacingSpanner #'uniform-stretching = ##t
3080 Cuando se establece @code{strict-note-spacing}, las notas se separan
3081 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
3083 @lilypond[quote,ragged-right,relative=2,verbatim]
3084 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3085 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
3089 Fragmentos de código:
3093 @node Longitud de la línea
3094 @subsection Longitud de la línea
3095 @translationof Line length
3097 @cindex saltos de página
3098 @cindex página, saltos de
3101 @funindex line-width
3102 @funindex ragged-right
3103 @funindex ragged-last
3105 @c Although line-width can be set in \layout, it should be set in paper
3106 @c block, to get page layout right.
3107 @c Setting indent in \paper block makes not much sense, but it works.
3109 @c Bit verbose and vague, use examples?
3110 Los ajustes más básicos que influyen en el espaciado son @code{indent}
3111 y @code{line-width}. Se definen en el bloque @code{\layout}.
3112 Controlan el sangrado de la primera línea de música y la longitud de
3115 Si se fija un valor verdadero para @code{ragged-right} en el bloque
3116 @code{\layout}, entonces los sistemas terminan en su longitud
3117 horizontal natural, en lugar de repartirse horizontalmente hasta
3118 llenar toda la línea. Esto es útil para fragmentos cortos, y para
3119 comprobar qué tan apretado es el espaciado natural.
3120 El valor normal predeterminado es falso, pero si la partitura
3121 tiene un solo sistema, el valor predeterminado es verdadero.
3123 @cindex diseño de página
3124 @cindex página, disposición de la
3125 @cindex vertical, espaciado
3127 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
3128 afecta sólo a la última línea de la pieza. No se efectúa ninguna
3129 restricción sobre dicha línea. El resultado es similar al formateo de
3130 los párrafos de texto. En un párrafo, la última línea sencillamente
3131 ocupa su longitud horizontal natural.
3132 @c Note that for text there are several options for the last line.
3133 @c While Knuth TeX uses natural length, lead typesetters use the same
3134 @c stretch as the previous line. eTeX uses \lastlinefit to
3135 @c interpolate between both these solutions.
3146 Fragmentos de código:
3150 @node Notación proporcional
3151 @subsection Notación proporcional
3152 @translationof Proportional notation
3154 LilyPond contempla la notación proporcional, un tipo de espaciado
3155 horizontal en el que cada nota consume una medida horizontal que
3156 equivale exactamente a su duración rítmica. Este tipo de espaciado
3157 proporcional es comparable al espaciado horizontal hecho sobre un
3158 papel milimetrado. Ciertas partituras del finales del s.XX y
3159 principios del s.XXI utilizan notación proporcional para clarificar
3160 relaciones rítmicas complejas o para facilitar la colocación de líneas
3161 cronométricas u otros gráficos directamente en la partitura.
3163 LilyPond contempla cinco ajustes distintos para la notación
3164 proporcional, que se pueden usar solos o combinados:
3167 @item @code{proportionalNotationDuration}
3168 @item @code{uniform-stretching}
3169 @item @code{strict-note-spacing}
3170 @item @code{\remove Separating_line_group_engraver}
3171 @item @code{\override PaperColumn #'used = ##t}
3174 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
3175 de la notación proporcional y examinamos la forma en que interactúan.
3177 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
3178 espaciado clásico sin justificación por la derecha.
3180 @lilypond[quote,verbatim,ragged-right]
3183 \new RhythmicStaff {
3187 c'16 c'16 c'16 c'16 c'16
3194 Observe que la blanca que inicia el compás ocupa mucho menos de la
3195 mitad de todo el espacio horizontal del compás. De forma similar, las
3196 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
3197 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
3200 En el grabado clásico, este espaciado puede ser exactamente el que
3201 deseamos porque podemos tomar prestado el espacio horizontal de la
3202 blanca y conservar el espacio horizontal a lo largo del compás como un
3205 Por otro lado, si queremos insertar una línea de tiempo graduada o
3206 algún otro gráfico encima o debajo de la partitura, necesitamos la
3207 notación proporcional. Se activa la notación proporcional con el
3208 ajuste @code{proportionalNotationDuration}.
3210 @lilypond[quote,verbatim,ragged-right]
3213 \new RhythmicStaff {
3217 c'16 c'16 c'16 c'16 c'16
3224 proportionalNotationDuration = #(ly:make-moment 1 20)
3230 La blanca al principio del compás y las notas rápidas de la segunda
3231 mitad del compás ocupan ahora cantidades iguales de espacio
3232 horizontal. Podríamos colocar una línea de tiempo graduada o un
3233 gráfico encima o debajo de este ejemplo.
3235 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
3236 que reside en @code{Score}. Recordemos que los ajustes de contexto
3237 aparecen en uno de tres posibles lugares del archivo de entrada: en un
3238 bloque @code{\with}, en un bloque @code{\context}, o directamente
3239 entre la música precedido por la instrucción @code{\set}. Como con
3240 todos los ajustes de contexto, el usuario puede elegir en cuál de los
3241 tres lugares diferentes prefiere establecer el valor de
3242 @code{proportionalNotationDuration}.
3244 El ajuste @code{proportionalNotationDuration} acepta un solo
3245 argumento, que es la duración de referencia contra el que se aplica el
3246 espaciado de toda la música. La función Scheme de LilyPond
3247 @code{make-moment} acepta dos argumentos: un numerador y un
3248 denominador que, juntos, expresan una cierta fracción de redonda. La
3249 llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración
3250 de referencia de una nota de un veinteavo de redonda (semicorcheas de
3251 cinquillo). Son también posibles valores como
3252 @code{(ly:make-moment 1 16)},
3253 @code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}.
3255 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
3256 @code{proportionalNotationDuration}? Normalmente mediante un proceso
3257 de ensayo y error, comenzando con una duración cercana a la más rápida
3258 (o más breve) duración de la pieza. Las duraciones de referencia más
3259 pequeñas aplican un espaciado más suelto; las duraciones de referencia
3260 más largas aplican un espaciado más apretado.
3262 @lilypond[quote,verbatim,ragged-right]
3265 \new RhythmicStaff {
3269 c'16 c'16 c'16 c'16 c'16
3276 proportionalNotationDuration = #(ly:make-moment 1 8)
3283 \new RhythmicStaff {
3287 c'16 c'16 c'16 c'16 c'16
3294 proportionalNotationDuration = #(ly:make-moment 1 16)
3301 \new RhythmicStaff {
3305 c'16 c'16 c'16 c'16 c'16
3312 proportionalNotationDuration = #(ly:make-moment 1 32)
3318 Observe que una duración de referencia demasiado grande (como la
3319 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3320 apretado y puede ser causa de colisiones entre las cabezas de nota.
3321 Observe también que la notación proporcional en general ocupa más
3322 espacio horizontal que el espaciado clásico. El espaciado
3323 proporcional aporta claridad rítmica a expensas del espacio
3326 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3327 especial que se superponen.
3329 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3330 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3331 diferente de grupo especial.
3333 @lilypond[quote,verbatim,ragged-right]
3336 \new RhythmicStaff {
3340 c'16 c'16 c'16 c'16 c'16
3343 \new RhythmicStaff {
3345 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3352 El espaciado es defectuoso porque las notas regularmente espaciadas
3353 del pentagrama inferior no se amplían de manera uniforme. Los grabados
3354 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3355 grabado clásico pueden generar este tipo de resultado. El
3356 establecimiento de @code{proportionalNotationDuration} lo
3359 @lilypond[quote,verbatim,ragged-right]
3362 \new RhythmicStaff {
3366 c'16 c'16 c'16 c'16 c'16
3369 \new RhythmicStaff {
3371 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3378 proportionalNotationDuration = #(ly:make-moment 1 20)
3384 Pero si observamos con mucho cuidado podremos ver que las notas de la
3385 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3386 ancha que las de la primera mitad del 9-illo. Para asegurar una
3387 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3388 propiedad de @code{SpacingSpanner}.
3390 @lilypond[quote,verbatim,ragged-right]
3393 \new RhythmicStaff {
3397 c'16 c'16 c'16 c'16 c'16
3400 \new RhythmicStaff {
3402 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3409 proportionalNotationDuration = #(ly:make-moment 1 20)
3410 \override SpacingSpanner #'uniform-stretching = ##t
3416 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3417 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3418 una línea de tiempo graduada o un gráfico, si queremos.
3420 Observe que el paquete de notación proporcional de LilyPond espera que
3421 todas las partituras proporcionales establezcan el atributo
3422 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t. El
3423 establecimiento de @code{proportionalNotationDuration} sin ajustar
3424 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3425 al valor ##t causará, por ejemplo, que los desplazamientos
3426 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3428 El @code{SpacingSpanner} es un grob abstracto que reside en el
3429 contexto de @code{Score}. Como con nuestros ajustes de
3430 @code{proportionalNotationDuration}, las sobreescrituras al
3431 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3432 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3433 @code{\context} o directamente dentro de la escritura de notas.
3435 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3436 @code{Score}. Esto supone que, por omisión, @code{uniform-stretching}
3437 está activado para la partitura completa o desactivado para la
3438 partitura completa. Sin embargo, podemos sobreescribir este
3439 comportamiento y activar distintas posibilidades de espaciado en
3440 distintos lugares de la partitura. Lo hacemos con la instrucción
3441 @code{\newSpacingSection}. Consulte @ref{Área de espaciado nueva}
3442 para más información.
3444 A continuación examinamos los efectos del grabador
3445 @code{Separating_line_group_engraver} y veremos por qué las partituras
3446 proporcionales con frecuencia eliminan este grabador. El ejemplo
3447 siguiente muestra que hay una pequeña cantidad de espacio
3448 @qq{preliminar} justo antes de la primera nota de cada sistema.
3450 @lilypond[quote,verbatim,ragged-right]
3462 Esta cantidad de espacio preliminar es la misma ya sea después de
3463 una indicación de compás, una armadura o una clave. El grabador
3464 @code{Separating_line_group_engraver} es responsable de este espacio.
3465 La eliminación de @code{Separating_line_group_engraver} reduce este
3468 @lilypond[quote,verbatim,ragged-right]
3474 \remove Separating_line_group_engraver
3482 Los elementos no musicales como la indicación de compás, la armadura,
3483 la clave y las alteraciones son problemáticos en notación
3484 proporcional. Ninguno de estos elementos tiene duración rítmica.
3485 Pero todos ellos consumen espacio horizontal. Las distintas
3486 partituras proporcionales abordan este problema de distinta manera.
3488 Sería posible evitar los problemas de espaciado con las armaduras,
3489 simplemente evitando tenerlas. Esta es una opción válida pues casi
3490 todas las partituras proporcionales son música contemporánea. Lo
3491 mismo puede valer para las indicaciones de compás, especialmente para
3492 las partituras que incluyen una línea de tiempo graduada u otro
3493 gráfico. Pero estas partituras son excepcionales y casi todas las
3494 partituras proporcionales incluyen al menos unas pocas indicaciones de
3495 compás. Las claves y las alteraciones son aún más esenciales.
3497 Así pues ¿qué estrategias existen para el espaciado de los elementos
3498 no musicales en un contexto proporcional? Una buena opción es la
3499 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3500 Compare las dos partituras siguientes:
3502 @lilypond[quote,verbatim,ragged-right]
3504 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3514 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3515 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3525 Las dos partituras son proporcionales, pero el espaciado de la
3526 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3527 espaciado de la segunda partitura se mantiene estricto, porque
3528 @code{strict-note-spacing} está activado. La activación de
3529 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3530 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3531 el algoritmo de espaciado.
3533 Además de los ajustes dados aquí, hay otros que aparecen con
3534 frecuencia en las partituras proporcionales. Entre ellos están:
3537 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3538 @item @code{tupletFullLength = ##t}
3539 @item @code{\override Beam #'breakable = ##t}
3540 @item @code{\override Glissando #'breakable = ##t}
3541 @item @code{\override TextSpanner #'breakable = ##t}
3542 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3545 Estos ajustes dan a las notas de adorno un espaciado estricto,
3546 extienden los corchetes de grupo especial para que marquen tanto los
3547 puntos de comienzo como de final, y permiten que los elementos de
3548 extensión se dividan entre los sistemas y las páginas. Consulte las
3549 partes respectivas del manual para ver estos ajustes relacionados.
3552 Referencia de la notación:
3553 @ref{Área de espaciado nueva}.
3555 Fragmentos de código:
3559 @node Encajar la música en menos páginas
3560 @section Encajar la música en menos páginas
3561 @translationof Fitting music onto fewer pages
3563 En ocasiones, podemos terminar con uno o dos pentagramas en una
3564 segunda página (o tercera, o cuarta@dots{}). Es fastidioso,
3565 especialmente cuando vemos que las páginas anteriores parecen tener
3568 Al investigar los problemas de disposición, una herramienta de valor
3569 incalculable es @code{annotate-spacing}. Esta instrucción imprime los
3570 valores de un cierto número de variables de espaciado; para ver más
3571 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3574 * Mostrar el espaciado::
3575 * Cambiar el espaciado::
3579 @node Mostrar el espaciado
3580 @subsection Mostrar el espaciado
3581 @translationof Displaying spacing
3583 @cindex espaciado, presentación del
3584 @funindex annotate-spacing
3586 Para presentar gráficamente las dimensiones de las variables de
3587 disposición vertical que pueden verse alteradas por el formato de la
3588 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3590 @c need to have \book{} otherwise we get the separate systems. -hwn
3591 @lilypond[verbatim,quote]
3592 #(set-default-paper-size "a6" 'landscape)
3595 \paper { annotate-spacing = ##t }
3600 Todas las dimensiones de disposición se muestran en espacios de
3601 pentagrama, independientemente de las unidades especificadas en los
3602 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3603 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3604 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3605 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3607 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3610 @tab = (25.4/72.27) mm
3613 @tab = (@code{staff-size})/4 pts
3615 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3620 En este caso, un @code{staff-space} equivale aproximadamente a
3621 1.757mm. Así, la medida @code{paper-height} de 59.75
3622 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3623 @code{a6} en orientación apaisada. Las parejas (@var{a},@var{b}) son
3624 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3625 superior del intervalo.
3628 Referencia de la notación:
3629 @ref{Establecer el tamaño del pentagrama}.
3631 Fragmentos de código:
3635 @node Cambiar el espaciado
3636 @subsection Cambiar el espaciado
3637 @translationof Changing spacing
3639 La salida de @code{annotate-spacing} revela las dimensiones verticales
3640 con gran detalle. Para ver más detalles acerca de la modificación de
3641 los márgenes y otras variables de diseño de la página, consulte
3642 @ref{Disposición de la página}.
3644 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3648 Forzar los sistemas para que se junten lo más posible entre sí (de
3649 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3650 tiempo estén espaciados de forma que no exista un espacio vacío en la
3651 parte baja del papel.
3655 system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
3656 ragged-last-bottom = ##f
3662 Forzar el número de sistemas. Puede ser de utilidad de dos formas.
3663 Si tan sólo se establece un valor, incluso el mismo valor que el
3664 número de sistemas que se están trazando de forma predeterminada, ello
3665 ocasionará a veces que se traten de introducir más sistemas en cada
3666 página, pues en este caso se omite un paso en que se produce una
3667 estimación, dando así un encaje mejor en cada página. Asimismo, el
3668 forzar una reducción neta en el número de sistemas puede producir el
3669 ahorro de una página adicional. Por ejemplo, si la disposición
3670 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3671 disposición con 10 sistemas.
3680 Forzar el número de páginas. Por ejemplo, la asignación
3681 siguiente fuerza una disposición con dos páginas.
3690 Evitar (o reducir en número) los objetos que aumentan el tamaño
3691 vertical de un sistema. Por ejemplo, las repeticiones de primera y
3692 segunda vez (o repeticiones con finales alternativos) necesitan
3693 espacio adicional. Si estas repeticiones se reparten a lo largo de
3694 dos sistemas, ocupan más espacio que un sistema con las casillas de
3695 repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
3696 dinámicas que se @q{salen} de un sistema se pueden acercar al
3699 @lilypond[verbatim,quote,relative=1]
3701 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3705 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3706 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3707 El ejemplo siguiente ilustra el espaciado predeterminado:
3709 @lilypond[verbatim,quote]
3722 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3723 valor de @code{1/4} (negra) a @code{1/2} (blanca). La negra es la
3724 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3725 duración se produce un efecto de @q{apretujamiento}:
3727 @lilypond[verbatim,quote]
3739 \override SpacingSpanner
3740 #'common-shortest-duration = #(ly:make-moment 1 2)
3747 La propiedad @code{common-shortest-duration} no se puede modificar de
3748 manera dinámica, por lo que se debe situar siempre dentro de un
3749 bloque @code{\context} de forma que se aplique a la partitura
3755 Referencia de la notación:
3756 @ref{Disposición de la página},
3757 @ref{Cambiar el espaciado horizontal}.
3759 Fragmentos de código: