]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/notation/spacing.itely
Issue 2695: Bad output in display-lily-tests.ly
[lilypond.git] / Documentation / es / notation / spacing.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 312f7ebc83ec9fb8cbbddfcf78b65a8502c16ab2
5
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..
9 @end ignore
10
11 @c \version "2.15.20"
12
13 @ignore
14 GDP TODO list
15 This block comment is copied here to ease comparation of
16 original and its translation.
17
18 Negative numbers are allowed:
19 > Are you sure? The following works well
20 > \paper{
21 >   first-page-number = -2
22 > }
23 > and prints page number -1 on the second page, for example.
24
25
26 In 5.2.1 the @refbugs (line 495 in spacing.itely on master) it
27 states:
28
29 "@code{layout-set-staff-size} does not change the distance between
30 the
31 staff lines."
32
33 Could we add a sentence:
34 "Use instead the pair               fontSize = #@var{N}
35             \override StaffSymbol #'staff-space = #(magstep
36 @var{N})
37 inside the Staff context to change the size of the font and the
38 distance between
39 staff lines accordingly."
40
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?
48
49
50 Clarify
51 http://code.google.com/p/lilypond/issues/detail?id=68
52
53 @end ignore
54
55
56 @node Problemas de espaciado
57 @chapter Problemas de espaciado
58 @translationof Spacing issues
59
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.
66
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.
76
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}.
86
87 @menu
88 * Disposición de la página::
89 * Disposición de la partitura::
90 * Saltos::
91 * Espaciado vertical::
92 * Espaciado horizontal::
93 * Encajar la música en menos páginas::
94 @end menu
95
96
97 @node Disposición de la página
98 @section Disposición de la página
99 @translationof Page layout
100
101 Esta sección estudia las opciones de disposición de la página para el
102 bloque @code{\paper}.
103
104 @menu
105 * El bloque \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::
111 @end menu
112
113
114 @node El bloque \paper
115 @subsection El bloque @code{\paper}
116 @translationof The \paper block
117
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:
123
124 @itemize
125
126 @item
127 la función de Scheme @code{set-paper-size},
128
129 @item
130 variables de @code{\paper} utilizadas para personalizar la disposición
131 de la página, y
132
133 @item
134 definiciones de marcado utilizadas para personalizar la disposición de
135 los encabezamientos, pies y títulos.
136
137 @end itemize
138
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}.
145
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}.
149
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:
155
156 @example
157 \paper @{
158   top-margin = 10
159 @}
160 @end example
161
162 Para fijarlo en @code{0.5} pulgadas, utilice el sufijo de unidades
163 @code{\in}:
164
165 @example
166 \paper @{
167   top-margin = 0.5\in
168 @}
169 @end example
170
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
176 técnicamente.
177
178 También es posible definir valores de @code{\paper} utilizando Scheme.
179 El equivalente de Scheme del ejemplo anterior es:
180
181 @example
182 \paper @{
183   #(define top-margin (* 0.5 in))
184 @}
185 @end example
186
187 @seealso
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}.
192
193 Archivos instalados:
194 @file{ly/paper-defaults-init.ly}.
195
196
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
200
201 @cindex tamaño del papel
202 @cindex tamaño de la página
203
204 @funindex \paper
205
206 @menu
207 * Fijar el tamaño del papel::
208 * Escalado automático al tamaño del papel::
209 @end menu
210
211
212 @node Fijar el tamaño del papel
213 @unnumberedsubsubsec Fijar el tamaño del papel
214 @translationof Setting paper size
215
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},
219
220 @example
221 #(set-default-paper-size "quarto")
222 @end example
223
224 que siempre se debe colocar en el ámbito superior, y
225 @code{set-paper-size},
226
227 @example
228 \paper @{
229   #(set-paper-size "tabloid")
230 @}
231 @end example
232
233 que se debe colocar siempre dentro de un bloque @code{\paper}.
234
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.
244
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
248 papel}.
249
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}.
255
256 @c An appendix entry exists for paper sizes but is not auto-generated
257
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
261 convenga,
262
263 @example
264 #(set! paper-alist (cons '("mi tamaño" . (cons (* 15 in) (* 3 in))) paper-alist))
265
266 \paper @{
267   #(set-paper-size "mi tamaño")
268 @}
269 @end example
270
271 Se puede usar cualquiera de las unidades @code{in} (pulgadas),
272 @code{cm} (centímetros) o @code{mm} (milímetros).
273
274 @cindex papel, tamaño, orientación
275 @cindex página, orientación de la
276 @cindex papel, tamaño, apaisado
277
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.
281
282 @example
283 #(set-default-paper-size "a6" 'landscape)
284 @end example
285
286 La salida de música @emph{no} se gira, solo las dimensiones de la
287 página lo hacen.
288
289 @seealso
290 Referencia de la notación:
291 @ref{Escalado automático al tamaño del papel},
292 @ref{Tamaños de página predefinidos}.
293
294 Archivos instalados:
295 @file{scm/paper.scm}.
296
297
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
301
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}.
314
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}).
318 Las dimensiones
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}).
324
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}
331 es @code{210\mm}.
332
333 @seealso
334 Referencia de la notación:
335 @ref{Variables de espaciado de \paper verticales fijas},
336 @ref{Variables de espaciado de \paper horizontales}.
337
338 Archivos de inicio:
339 @file{ly/paper-defaults-init.ly},
340 @file{scm/paper.scm}.
341
342
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
346
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
350 del papel}.}
351
352 Los valores predeterminados (previos al escalado) están definidos en
353 el archivo @file{ly/paper-defaults-init.ly}.
354
355 @table @code
356 @item paper-height (altura del papel)
357 @funindex paper-height
358
359 Altura de la página, no fijada de forma predeterminada.  Observe que
360 el escalado automático de algunas dimensiones verticales no resulta
361 afectado por esto.
362
363 @item top-margin (margen superior)
364 @funindex top-margin
365
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.
369
370 @item bottom-margin (margen inferior)
371 @funindex bottom-margin
372
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.
376
377 @item ragged-bottom (sin justificar por abajo)
378 @funindex ragged-bottom
379
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.
384
385 @item ragged-last-bottom (sin justificar la última por abajo)
386 @funindex ragged-last-bottom
387
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}.
393
394 @end table
395
396 @seealso
397 Referencia de la notación:
398 @ref{Escalado automático al tamaño del papel}.
399
400 Archivos de inicio:
401 @file{ly/paper-defaults-init.ly}.
402
403 Fragmentos de código:
404 @rlsr{Spacing}.
405
406 @knownissues
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
410 partitura.
411
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.
415
416
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
420
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
428 compresión.
429
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}.
437
438 @menu
439 * Estructura de las listas-A de espaciado vertical flexible::
440 * Lista de variables de espaciado de \paper verticales flexibles::
441 @end menu
442
443
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
447
448 Cada una de las variables de espaciado de @code{\paper} flexibles es
449 una lista-A (lista asociativa) que contiene cuatro @emph{claves}:
450
451 @itemize
452
453 @item
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}.
466
467 @item
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
474 @code{padding}.
475
476 @c TODO: explain skylines somewhere and xref to it from here.
477
478 @item
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.
483
484 @item
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}).
500
501 @end itemize
502
503 Si una página tiene un margen inferior no justificado, la distancia
504 resultante es la mayor de:
505
506 @itemize
507
508 @item
509 @code{basic-distance},
510
511 @item
512 @code{minimum-distance}, y
513
514 @item
515 @code{padding} más la menor distancia necesaria
516 para eliminar las colisiones.
517
518 @end itemize
519
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.
524
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:
530
531 @example
532 \paper @{
533   system-system-spacing #'basic-distance = #8
534   score-system-spacing =
535     #'((basic-distance . 12)
536        (minimum-distance . 6)
537        (padding . 1)
538        (stretchability . 12))
539 @}
540 @end example
541
542
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
546
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.
558
559 Los ajustes predeterminados están definidos en el archivo
560 @file{ly/paper-defaults-init.ly}.
561
562 @c TODO: Where do headers/footers fit in? -mp
563
564 @table @code
565 @item markup-system-spacing
566 @funindex markup-system-spacing
567
568 distancia entre un elemento de marcado (de título o del nivel
569 superior) y el sistema que le sigue.
570
571 @item score-markup-spacing
572 @funindex score-markup-spacing
573
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.
576
577 @item score-system-spacing
578 @funindex score-system-spacing
579
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.
583
584 @item system-system-spacing
585 @funindex system-system-spacing
586
587 distancia entre dos sistemas dentro de la misma partitura.
588
589 @item markup-markup-spacing
590 @funindex markup-markup-spacing
591
592 distancia entre dos elementos de marcado (de título o del nivel
593 superior).
594
595 @item last-bottom-spacing
596 @funindex last-bottom-spacing
597
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).
601
602 @item top-system-spacing
603 @funindex top-system-spacing
604
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.
609
610 @item top-markup-spacing
611 @funindex top-markup-spacing
612
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.
617 @end table
618
619 @seealso
620 Referencia de la notación:
621 @ref{Espaciado vertical flexible dentro de los sistemas}.
622
623 Archivos de inicio:
624 @file{ly/paper-defaults-init.ly}.
625
626 Fragmentos de código:
627 @rlsr{Spacing}.
628
629
630 @node Variables de espaciado de \paper horizontales
631 @subsection Variables de espaciado de \paper horizontales
632 @translationof Horizontal spacing \paper variables
633
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}.}
638
639 @menu
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::
643 @end menu
644
645
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
649
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}.
653
654 @table @code
655
656 @item paper-width
657 @funindex paper-width
658
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}.
666
667 @item line-width
668 @funindex line-width
669
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}.
678
679 @item left-margin
680 @funindex left-margin
681
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
690 se establecen a
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}.
694
695 @item right-margin
696 @funindex right-margin
697
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
706 establecen a
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}.
710
711 @item check-consistency
712 @funindex check-consistency
713
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
721 borde del papel.
722
723 @item ragged-right
724 @funindex ragged-right
725
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}.
732
733 @item ragged-last
734 @funindex ragged-last
735
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}.
741
742 @end table
743
744 @seealso
745 Referencia de la notación:
746 @ref{Escalado automático al tamaño del papel}.
747
748 Archivos de inicio:
749 @file{ly/paper-defaults-init.ly}.
750
751 @knownissues
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.
755
756
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
760
761 Los valores predeterminados (antes del escalado) se definen en
762 @file{ly/paper-defaults-init.ly}.
763
764 @table @code
765
766 @item two-sided
767 @funindex two-sided
768
769 @cindex encuadernación
770 @cindex margen de encuadernación
771
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}.
776
777 @item inner-margin
778 @funindex inner-margin
779
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.
784
785 @item outer-margin
786 @funindex outer-margin
787
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.
792
793 @item binding-offset
794 @funindex binding-offset
795
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
800 valor verdadero.
801
802 @end table
803
804 @seealso
805 Referencia de la notación:
806 @ref{Escalado automático al tamaño del papel}.
807
808 Archivos de inicio:
809 @file{ly/paper-defaults-init.ly}.
810
811
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
815
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}.
818
819 @table @code
820
821 @item horizontal-shift
822 @funindex horizontal-shift
823
824 @c This default value is buried in the middle of page.scm.  -mp
825
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}.
829
830 @item indent
831 @funindex indent
832
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}.
837
838 @item short-indent
839 @funindex short-indent
840
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}.
845
846 @end table
847
848 @seealso
849 Referencia de la notación:
850 @ref{Escalado automático al tamaño del papel}.
851
852 Archivos de inicio:
853 @file{ly/paper-defaults-init.ly}.
854
855 Fragmentos de código:
856 @rlsr{Spacing}.
857
858
859 @node Otras variables de \paper
860 @subsection Otras variables de @code{\paper}
861 @translationof Other \paper variables
862
863 @menu
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::
868 @end menu
869
870
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
874
875 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
876
877 @table @code
878
879 @item max-systems-per-page
880 @funindex max-systems-per-page
881
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.
885
886 @item min-systems-per-page
887 @funindex min-systems-per-page
888
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.
893
894 @item systems-per-page
895 @funindex systems-per-page
896
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.
900
901 @item system-count
902 @funindex system-count
903
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}.
907
908 @end table
909
910 @seealso
911 Referencia de la notación:
912 @ref{Saltos de línea}.
913
914
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
918
919 Los valores predeterminados que no están relacionados aquí, se definen
920 en el archivo @file{ly/paper-defaults-init.ly}
921
922 @table @code
923
924 @item blank-after-score-page-force
925 @funindex blank-after-score-page-force
926
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.
931
932 @item blank-last-page-force
933 @funindex blank-last-page-force
934
935 Penalización por terminar la partitura sobre una página impar.
936
937 @item blank-page-force
938 @funindex blank-page-force
939
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.
943
944 @item page-breaking
945 @funindex page-breaking
946
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}.
950
951 @item page-breaking-system-system-spacing
952 @funindex page-breaking-system-system-spacing
953
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.
961
962 @item page-count
963 @funindex page-count
964
965 Número de páginas que utilizar en una partitura, no ajustado de forma
966 predeterminada.
967
968 @end table
969
970 @seealso
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}.
976
977 Archivos de inicio:
978 @file{ly/paper-defaults-init.ly}.
979
980
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
984
985 Los valores predeterminados que no se relacionan aquí están definidos
986 en el archivo @file{ly/paper-defaults-init.ly}
987
988 @table @code
989
990 @cindex números de página, automáticos
991 @item auto-first-page-number
992 @funindex auto-first-page-number
993
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}.
1000
1001 @cindex números de página, especificar el primero
1002 @item first-page-number
1003 @funindex first-page-number
1004
1005 Valor del número de pátina en la primera página.
1006
1007 @item print-first-page-number
1008 @funindex print-first-page-number
1009
1010 Si está fijado a verdadero, se imprime un número de página en la
1011 primera página.
1012
1013 @cindex números de página, suprimir
1014 @item print-page-number
1015 @funindex print-page-number
1016
1017 Si está fijado a falso, no se imprimen los números de página.
1018
1019 @end table
1020
1021 @seealso
1022 Archivos de inicio:
1023 @file{ly/paper-defaults-init.ly}.
1024
1025 @knownissues
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.
1030
1031
1032 @node Variables de \paper diversas
1033 @unnumberedsubsubsec Variables de @code{\paper} diversas
1034 @translationof Miscellaneous \paper variables
1035
1036 @table @code
1037
1038 @item page-spacing-weight
1039 @funindex page-spacing-weight
1040
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:
1044 @code{10}.
1045
1046 @item print-all-headers
1047 @funindex print-all-headers
1048
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}.
1053
1054 @item system-separator-markup
1055 @funindex system-separator-markup
1056
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:
1062
1063 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
1064 #(set-default-paper-size "a8")
1065
1066 \book {
1067   \paper {
1068     system-separator-markup = \slashSeparator
1069   }
1070   \header {
1071     tagline = ##f
1072   }
1073   \score {
1074     \relative c'' { c1 \break c1 \break c1 }
1075   }
1076 }
1077 @end lilypond
1078
1079 @end table
1080
1081 @seealso
1082 Archivos de inicio:
1083 @file{ly/titling-init.ly}.
1084
1085 Fragmentos de código:
1086 @rlsr{Spacing}.
1087
1088 @knownissues
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
1091 línea.
1092
1093
1094 @node Disposición de la partitura
1095 @section Disposición de la partitura
1096 @translationof Score layout
1097
1098 Esta sección trata de las opciones de disposición de la partitura para
1099 el bloque @code{\layout}.
1100
1101 @menu
1102 * El bloque \layout::
1103 * Establecer el tamaño del pentagrama::
1104 @end menu
1105
1106
1107 @node El bloque \layout
1108 @subsection El bloque @code{\layout}
1109 @translationof  The \layout block
1110
1111 @funindex \layout
1112
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:
1122
1123 @itemize
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.
1127 @end itemize
1128
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}
1135 son:
1136
1137 @itemize
1138
1139 @item
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})
1142
1143 @item
1144 @code{indent} y @code{short-indent}
1145 (véase @ref{Variables de \paper para desplazamientos y sangrados})
1146
1147 @item
1148 @code{system-count}
1149 (véase @ref{Variables de \paper para los saltos de línea})
1150
1151 @end itemize
1152
1153 He aquí un ejemplo de un bloque @code{\layout}:
1154
1155 @example
1156 \layout @{
1157   indent = 2\cm
1158   \context @{
1159     \StaffGroup
1160     \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
1161   @}
1162   \context @{
1163     \Voice
1164     \override TextScript #'padding = #1
1165     \override Glissando #'thickness = #3
1166   @}
1167 @}
1168 @end example
1169
1170 @seealso
1171 Referencia de la notación:
1172 @ref{Cambiar los valores por omisión de los contextos}.
1173
1174 Fragmentos de código:
1175 @rlsr{Spacing}.
1176
1177
1178 @node Establecer el tamaño del pentagrama
1179 @subsection Establecer el tamaño del pentagrama
1180 @translationof Setting the staff size
1181
1182 @cindex tipografía, fijar el tamaño de
1183 @cindex pentagrama, fijar el tamaño de
1184 @funindex disposición, archivo de
1185
1186 El @strong{tamaño de pentagrama} predeterminado se establece en 20
1187 puntos.  Esto se puede modificar de dos maneras:
1188
1189 Para establecer globalmente el tamaño del pentagrama para todas las
1190 partituras de un archivo (o en un bloque @code{book}, para ser
1191 exactos), utilice @code{set-global-staff-size}.
1192
1193 @example
1194 #(set-global-staff-size 14)
1195 @end example
1196
1197 @noindent
1198 Esto establece el tamaño global predeterminado a una altura de
1199 pentagrama de 14pt y escala todas las tipografías según corresponda.
1200
1201 Para establecer el tamaño del pentagrama de forma individual para cada
1202 partitura, use
1203 @example
1204 \score@{
1205   @dots{}
1206   \layout @{
1207     #(layout-set-staff-size 15)
1208   @}
1209 @}
1210 @end example
1211
1212 La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños
1213 distintos.  Cada fuente tipográfica está afinada para un tamaño de
1214 pentagrama distinto: a un tamaño menor la tipografía se vuelve más
1215 pesada, para que coincida con las líneas de pentagrama relativamente
1216 más gruesas.  Los tamaños de tipografía recomendados están
1217 relacionados en la tabla siguiente:
1218
1219 @quotation
1220 @multitable @columnfractions .15 .2 .22 .2
1221
1222 @item @b{nombre de la fuente}
1223 @tab @b{altura del pentagrama (pt)}
1224 @tab @b{altura del pentagrama (mm)}
1225 @tab @b{usos}
1226
1227 @item feta11
1228 @tab 11.22
1229 @tab 3.9
1230 @tab partituras de bolsillo
1231
1232 @item feta13
1233 @tab 12.60
1234 @tab 4.4
1235 @tab
1236
1237 @item feta14
1238 @tab 14.14
1239 @tab 5.0
1240 @tab
1241
1242 @item feta16
1243 @tab 15.87
1244 @tab 5.6
1245 @tab
1246
1247 @item feta18
1248 @tab 17.82
1249 @tab 6.3
1250 @tab cancioneros
1251
1252 @item feta20
1253 @tab 20
1254 @tab 7.0
1255 @tab particellas estándar
1256
1257 @item feta23
1258 @tab 22.45
1259 @tab 7.9
1260 @tab
1261
1262 @item feta26
1263 @tab 25.2
1264 @tab 8.9
1265 @tab
1266 @c modern rental material?
1267
1268 @end multitable
1269 @end quotation
1270
1271 Estas tipografías están disponibles en cualquier tamaño.  La propiedad
1272 de contexto @code{fontSize} y la propiedad de disposición
1273 @code{staff-space} (en @rinternals{StaffSymbol}) se pueden usar para
1274 afinar el tamaño de los pentagramas individuales.  Los tamaños de
1275 pentagrama individuales están en relación al tamaño global.
1276
1277 @seealso
1278 Referencia de la notación:
1279 @ref{Seleccionar el tamaño de la tipografía para la notación}.
1280
1281 Fragmentos de código:
1282 @rlsr{Spacing}.
1283
1284 @knownissues
1285 @code{layout-set-staff-size} no cambia la distancia entre las líneas
1286 del pentagrama.
1287
1288
1289 @node Saltos
1290 @section Saltos
1291 @translationof Breaks
1292
1293 @menu
1294 * Saltos de línea::
1295 * Saltos de página::
1296 * Saltos de página óptimos::
1297 * Paso de página óptimo::
1298 * Saltos de página mínimos::
1299 * Saltos de línea explícitos::
1300 * Utilizar una voz adicional para los saltos de línea::
1301 @end menu
1302
1303
1304 @node Saltos de línea
1305 @subsection Saltos de línea
1306 @translationof Line breaking
1307
1308 @cindex saltos de línea
1309 @cindex línea, saltos de
1310
1311 Normalmente los saltos de línea se determinan automáticamente. Se
1312 eligen de forma que las líneas no aparezcan demasiado apretadas ni
1313 demasiado sueltas, y que las líneas consecutivas tengan una densidad
1314 similar.
1315
1316 Para forzar manualmente un salto de línea sobre la línea divisoria,
1317 utilice la instrucción @code{\break}:
1318
1319 @lilypond[quote,ragged-right,relative=2,verbatim]
1320 c4 c c c | \break
1321 c4 c c c |
1322 @end lilypond
1323
1324 De forma predeterminada se ignora cualquier @code{\break} en la mitad
1325 de un compás, y se imprime una advertencia.  Para forzar un salto de
1326 línea en medio de un compás, añada una barra de compás invisible con
1327 @w{@samp{\bar ""}}:
1328
1329 @lilypond[quote,ragged-right,relative=2,verbatim]
1330 c4 c c
1331 \bar "" \break
1332 c |
1333 c4 c c c |
1334 @end lilypond
1335
1336 También se ignora un @code{\break} que se produce en la línea
1337 divisoria si el compás anterior termina en medio de una nota, como
1338 cuando un grupo de valoración especial inicia y termina en compases
1339 diferentes.  Para permitir que las instrucciones @code{\break}
1340 funcionen en estas situaciones, elimine el grabador
1341 @code{Forbid_line_break_engraver} del contexto @code{Voice}.  Observe
1342 que los saltos de línea forzados manualmente se deben añadir en
1343 paralelo con la música:
1344
1345 @lilypond[quote,ragged-right,verbatim]
1346 \new Voice \with {
1347   \remove Forbid_line_break_engraver
1348 } \relative c'' {
1349   <<
1350     { c2. \times 2/3 { c4 c c } c2. | }
1351     { s1 | \break s1 | }
1352   >>
1353 }
1354 @end lilypond
1355
1356 De forma similar, los saltos de línea están normalmente prohibidos
1357 cuando hay barras de corchea que cruzan la línea divisoria.  Se puede
1358 cambiar este comportamiento fijando @code{\override Beam #'breakable =
1359 ##t}:
1360
1361 @lilypond[quote,ragged-right,relative=2,verbatim]
1362 \override Beam #'breakable = ##t
1363 c2. c8[ c | \break
1364 c8 c] c2. |
1365 @end lilypond
1366
1367 La instrucción @code{\noBreak}, prohíbe un salto de línea en
1368 la barra divisoria en que se inserta.
1369
1370 Los ajustes más básicos que influyen sobre el espaciado de las líneas
1371 son @code{indent} y @code{line-width}. Se establecen dentro del bloque
1372 @code{\layout}.  Controlan el sangrado de la primera línea de música,
1373 y la longitud de las líneas.
1374
1375 Si se establece @code{ragged-right} a verdadero en el bloque
1376 @code{\layout}, los sistemas terminan en su longitud horizontal
1377 natural, en lugar de distribuirse horizontalmente para llenar toda la
1378 línea. Esto es de utilidad para fragmentos cortos, y para efectuar una
1379 comprobación de lo apretado que es el espaciado natural.
1380
1381 @c TODO Check and add para on default for ragged-right
1382
1383 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
1384 afecta sólo a la última línea de la pieza.
1385
1386 @example
1387 \layout @{
1388   indent = 0\mm
1389   line-width = 150\mm
1390   ragged-last = ##t
1391 @}
1392 @end example
1393
1394 @cindex saltos de línea normales
1395 @cindex música de cuatro compases por línea
1396
1397 Para saltos de línea a intervalos regulares utilice @code{\break}
1398 separado mediante desplazamientos con @code{\skip} y repetidos con
1399 @code{\repeat}.  Por ejemplo, esto haría que los 28 compases
1400 siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
1401 compases, y sólo en dichos lugares:
1402
1403 @example
1404 <<
1405   \repeat unfold 7 @{
1406     s1 \noBreak s1 \noBreak
1407     s1 \noBreak s1 \break
1408   @}
1409   @{ @var{la música real@dots{}} @}
1410 >>
1411 @end example
1412
1413 @c TODO Check this
1414 Una configuración de división de líneas se puede guardar como archivo
1415 @file{.ly} automáticamente.  Ello permite que alineaciones verticales
1416 se estiren para que encajen en las páginas durante una segunda
1417 ejecución del proceso de formateo.  Esta posibilidad es bastante
1418 novedosa y difícil.  Hay más detalles disponibles en @rlsr{Spacing}.
1419
1420 @predefined
1421 @funindex \break
1422 @code{\break},
1423 @funindex \noBreak
1424 @code{\noBreak}.
1425 @endpredefined
1426
1427 @seealso
1428 Referencia de la notación:
1429 @ref{Variables de \paper para los saltos de línea}.
1430
1431 Fragmentos de código:
1432 @rlsr{Spacing}.
1433
1434 Referencia de funcionamiento interno:
1435 @rinternals{LineBreakEvent}.
1436
1437
1438 @node Saltos de página
1439 @subsection Saltos de página
1440 @translationof Page breaking
1441
1442 Se puede sobreescribir el mecanismo predeterminado de salto de página
1443 insertando instrucciones @code{\pageBreak} o @code{\noPageBreak}.
1444 Estas instrucciones son análogas a @code{\break} y @code{\noBreak}.
1445 Se deben insertar en una línea divisoria.  Estas instrucciones fuerzan
1446 y prohíben, respectivamente, la eventualidad de un salto de página.
1447 Por supuesto, la instrucción @code{\pageBreak} también fuerza un salto
1448 de línea.
1449
1450 Las instrucciones @code{\pageBreak} y @code{\noPageBreak} también se
1451 pueden insertar en el nivel más alto, entre las partituras y los
1452 elementos de marcado situados en el nivel superior.
1453
1454 Hay ajustes análogos a @code{ragged-right} y @code{ragged-last} que
1455 tienen el mismo efecto sobre el espaciado vertical:
1456 @code{ragged-bottom} y @code{ragged-last-bottom}.  Si están
1457 establecidos a @code{#t} los sistemas de todas las páginas o sólo de
1458 la última página, respectivamente, no se verán justificados
1459 verticalmente.  Véase
1460 @ref{Variables de espaciado de \paper verticales fijas}.
1461
1462 Los saltos de página se calculan por medio de la función
1463 @code{page-breaking}.  LilyPond ofrece tres algoritmos para el cómputo
1464 de los saltos de página: @code{ly:optimal-breaking},
1465 @code{ly:page-turn-breaking} y @code{ly:minimal-breaking}.  El
1466 predeterminado es @code{ly:optimal-breaking}, pero el valor se puede
1467 cambiar en el bloque @code{\paper}:
1468
1469 @example
1470 \paper @{
1471   page-breaking = #ly:page-turn-breaking
1472 @}
1473 @end example
1474
1475 @funindex \bookpart
1476
1477 Cuando un libro tiene muchas partituras y páginas, puede ser difícil
1478 resolver el problema de los saltos de página, necesitando mucha
1479 memoria y prolongados tiempos de procesamiento.  Para facilitar el
1480 proceso de división en páginas, se usan los bloques @code{\bookpart}
1481 para dividir el libro en varias partes: los saltos de página se
1482 producen de manera independiente en cada parte.  También se pueden
1483 usar diferentes funciones de división en páginas para las distintas
1484 partes del libro.
1485
1486 @example
1487 \bookpart @{
1488   \header @{
1489     subtitle = "Prefacio"
1490   @}
1491   \paper @{
1492      %% En una parte que consiste en texto principalmente,
1493      %% puede ser preferible ly:minimal-breaking
1494      page-breaking = #ly:minimal-breaking
1495   @}
1496   \markup @{ @dots{} @}
1497   @dots{}
1498 @}
1499 \bookpart @{
1500   %% En esta parte, consistente en música, se usa la función
1501   %% óptima predeterminada de saltos de página.
1502   \header @{
1503     subtitle = "Primer movimiento"
1504   @}
1505   \score @{ @dots{} @}
1506   @dots{}
1507 @}
1508 @end example
1509
1510 @predefined
1511 @funindex \pageBreak
1512 @code{\pageBreak},
1513 @funindex \noPageBreak
1514 @code{\noPageBreak}.
1515 @endpredefined
1516
1517 @seealso
1518 Referencia de la notación:
1519 @ref{Variables de \paper para los saltos de página}.
1520
1521 Fragmentos de código:
1522 @rlsr{Spacing}.
1523
1524
1525 @node Saltos de página óptimos
1526 @subsection Saltos de página óptimos
1527 @translationof Optimal page breaking
1528
1529 @funindex ly:optimal-breaking
1530
1531 La función @code{ly:optimal-breaking} es el método predeterminado de
1532 LilyPond para determinar los saltos de página.  Intenta hallar una
1533 división de páginas que haga mínimos el apretujamiento y la
1534 distensión, tanto horizontal como verticalmente.  A diferencia de
1535 @code{ly:page-turn-breaking}, no tiene un concepto de los pasos de
1536 página.
1537
1538 @seealso
1539 Fragmentos de código:
1540 @rlsr{Spacing}.
1541
1542
1543 @node Paso de página óptimo
1544 @subsection Paso de página óptimo
1545 @translationof Optimal page turning
1546
1547 @funindex ly:page-turn-breaking
1548
1549 Con frecuencia es necesario encontrar una configuración de división de
1550 páginas de manera que haya un silencio al final de una página de cada
1551 dos.  De esta forma, el músico puede pasar la página sin perder notas.
1552 La función @code{ly:page-turn-breaking} trata de encontrar una
1553 división de páginas que haga mínimos el apretujamiento y el
1554 estiramiento, pero con la restricción añadida de que sólo se permite
1555 introducir vueltas de página en los lugares especificados.
1556
1557 Hay dos etapas en el uso de esta función de división de páginas.  En
1558 primer lugar debemos habilitarlo en el bloque @code{\paper}, como se
1559 explicó en @ref{Saltos de página}.  Entonces debemos decirle a la función
1560 dónde nos gustaría permitir los saltos de página.
1561
1562 Hay dos formas de conseguir la segunda tarea.  Primero, podemos
1563 especificar manualmente cada uno de los pasos de página potenciales,
1564 insertando @code{\allowPageTurn} en nuestro archivo de entrada en los
1565 lugares adecuados.
1566
1567 Si esto es demasiado tedioso, podemos añadir un grabador
1568 @code{Page_turn_engraver} a un contexto Staff o Voice.  El grabador
1569 @code{Page_turn_engraver} analizará el contexto en busca de secciones
1570 sin notas (observe que no busca silencios, sino la ausencia de notas.
1571 Se hace así para que la polifonía en un solo pentagrama con silencios
1572 en una de las voces no arruine la labor del grabador
1573 @code{Page_turn_engraver}).  Cuando encuentra una sección sin notas
1574 suficientemente larga, el grabador @code{Page_turn_engraver} inserta
1575 un @code{\allowPageTurn} en la última barra de compás de dicha
1576 sección, a no ser que haya una barra @q{especial} de compás (como una
1577 doble barra), en cuyo caso se insertará el @code{\allowPageTurn} en la
1578 última barra @q{especial} de compás de la sección.
1579
1580 @funindex minimumPageTurnLength
1581 El grabador @code{Page_turn_engraver} lee la propiedad de contexto
1582 @code{minimumPageTurnLength} para determinar qué longitud debe tener
1583 una sección sin notas antes de que se considere la posibilidad de un
1584 paso de página.  El valor predeterminado para
1585 @code{minimumPageTurnLength} es @code{(ly:make-moment 1 1)}.  Si
1586 quiere inhabilitar las vueltas de página, puede establecerlo a algún
1587 valor muy grande.
1588
1589 @example
1590 \new Staff \with @{ \consists "Page_turn_engraver" @}
1591 @{
1592   a4 b c d |
1593   R1 | % aquí se permite un salto de página
1594   a4 b c d |
1595   \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1596   R1 | % aquí no se permite un salto de página
1597   a4 b r2 |
1598   R1*2 | % aquí se permite un salto de página
1599   a1
1600 @}
1601 @end example
1602
1603 @funindex minimumRepeatLengthForPageTurn
1604 El grabador @code{Page_turn_engraver} detecta las repeticiones de
1605 primera y segunda vez.  Sólo permite un pase de página durante la
1606 repetición si hay suficiente tiempo al principio y al final de la
1607 repetición para volver a pasar la página hacia atrás. El grabador
1608 @code{Page_turn_engraver} también puede inhabilitar los pasos de
1609 página si la repetición es muy corta.  Si establecemos la propiedad de
1610 contexto @code{minimumRepeatLengthForPageTurn} entonces el grabador
1611 @code{Page_turn_engraver} sólo permitirá los pases de página en las
1612 repeticiones cuya duración sea mayor que este valor.
1613
1614 Las instrucciones de paso de página, @code{\pageTurn},
1615 @code{\noPageTurn} y @code{\allowPageTurn}, se pueden usar también en
1616 el nivel más elevado del código, entre las partituras y los elementos
1617 de marcado del nivel superior.
1618
1619 @predefined
1620 @funindex \pageTurn
1621 @code{\pageTurn},
1622 @funindex \noPageTurn
1623 @code{\noPageTurn},
1624 @funindex \allowPageTurn
1625 @code{\allowPageTurn}.
1626 @endpredefined
1627
1628 @seealso
1629 Fragmentos de código:
1630 @rlsr{Spacing}.
1631
1632 @knownissues
1633 Sólo debería haber un grabador @code{Page_turn_engraver} dentro de una
1634 partitura.  Si hay más de uno, se interferirán entre sí.
1635
1636
1637 @node Saltos de página mínimos
1638 @subsection Saltos de página mínimos
1639 @translationof Minimal page breaking
1640
1641 @funindex ly:minimal-breaking
1642
1643 La función @code{ly:minimal-breaking} efectúa unos cálculos mínimos
1644 para determinar los saltos de página: completa una página con tantos
1645 sistemas como sea posible antes de continuar con la siguiente.  Así,
1646 puede preferirse para partituras con muchas páginas, donde las otras
1647 funciones de salto de página pueden resultar demasiado lentas o ávidas
1648 de memoria, o con una gran cantidad de textos.  Se habilita utilizando:
1649
1650 @example
1651 \paper @{
1652   page-breaking = #ly:minimal-breaking
1653 @}
1654 @end example
1655
1656 @seealso
1657 Fragmentos de código:
1658 @rlsr{Spacing}.
1659
1660
1661 @node Saltos de línea explícitos
1662 @subsection Saltos de línea explícitos
1663 @translationof Explicit breaks
1664
1665 Lily a veces rechaza las instrucciones @code{\break} y
1666 @code{\pageBreak} explícitas.  Hay dos instrucciones para
1667 sobreescribir este comportamiento:
1668
1669 @example
1670 \override NonMusicalPaperColumn #'line-break-permission = ##f
1671 \override NonMusicalPaperColumn #'page-break-permission = ##f
1672 @end example
1673
1674 Cuando se sobreescribe el valor de @code{line-break-permission} a
1675 falso, Lily inserta saltos de línea en las instrucciones @code{\break}
1676 explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
1677 @code{page-break-permission} a falso, Lily inserta saltos de página en
1678 las instrucciones @code{\pageBreak} explícitas y en ningún otro lugar.
1679
1680 @lilypond[quote,verbatim]
1681 \paper {
1682   indent = #0
1683   ragged-right = ##t
1684   ragged-bottom = ##t
1685 }
1686
1687 music = \relative c'' { c8 c c c }
1688
1689 \score {
1690   \new Staff {
1691     \repeat unfold 2 { \music } \break
1692     \repeat unfold 4 { \music } \break
1693     \repeat unfold 6 { \music } \break
1694     \repeat unfold 8 { \music } \pageBreak
1695     \repeat unfold 8 { \music } \break
1696     \repeat unfold 6 { \music } \break
1697     \repeat unfold 4 { \music } \break
1698     \repeat unfold 2 { \music }
1699   }
1700   \layout {
1701     \context {
1702       \Score
1703       \override NonMusicalPaperColumn #'line-break-permission = ##f
1704       \override NonMusicalPaperColumn #'page-break-permission = ##f
1705     }
1706   }
1707 }
1708 @end lilypond
1709
1710 @seealso
1711 Fragmentos de código:
1712 @rlsr{Spacing}.
1713
1714
1715 @node Utilizar una voz adicional para los saltos de línea
1716 @subsection Utilizar una voz adicional para los saltos de línea
1717 @translationof Using an extra voice for breaks
1718
1719 La información sobre saltos de línea y de página suele aparecer
1720 directamente entremezclado dentro del código de notas.
1721
1722 @example
1723 music = \relative c'' @{ c4 c c c @}
1724
1725 \score @{
1726   \new Staff @{
1727     \repeat unfold 2 @{ \music @} \break
1728     \repeat unfold 3 @{ \music @}
1729   @}
1730 @}
1731 @end example
1732
1733 Esto hace sencillas de introducir a las instrucciones @code{\break} y
1734 @code{\pageBreak}, pero mezcla la escritura de música con información
1735 que especifica cómo se debe disponer la música sobre la página.
1736 Podemos mantener la introducción de música y la información de saltos
1737 de línea y de página en dos lugares separados mediante la introducción
1738 de una voz adicional que contenga los saltos.  Esta voz adicional
1739 contiene solamente desplazamientos o @q{skips} junto con los
1740 @code{\break}, @code{pageBreak} y otras informaciones sobre la
1741 disposición de los saltos.
1742
1743 @lilypond[quote,verbatim]
1744 music = \relative c'' { c4 c c c }
1745
1746 \score {
1747   \new Staff <<
1748     \new Voice {
1749       s1 * 2 \break
1750       s1 * 3 \break
1751       s1 * 6 \break
1752       s1 * 5 \break
1753     }
1754     \new Voice {
1755       \repeat unfold 2 { \music }
1756       \repeat unfold 3 { \music }
1757       \repeat unfold 6 { \music }
1758       \repeat unfold 5 { \music }
1759     }
1760   >>
1761 }
1762 @end lilypond
1763
1764 Este patrón resulta especialmente útil cuando se sobreescribe
1765 @code{line-break-system-details} y las otras útiles (pero largas)
1766 propiedades de @code{NonMusicalPaperColumnGrob}, como se explica en
1767 @ref{Espaciado vertical}.
1768
1769 @lilypond[quote,verbatim]
1770 music = \relative c'' { c4 c c c }
1771
1772 \score {
1773   \new Staff <<
1774     \new Voice {
1775       \overrideProperty "Score.NonMusicalPaperColumn"
1776         #'line-break-system-details #'((Y-offset . 0))
1777       s1 * 2 \break
1778
1779       \overrideProperty "Score.NonMusicalPaperColumn"
1780         #'line-break-system-details #'((Y-offset . 35))
1781       s1 * 3 \break
1782
1783       \overrideProperty "Score.NonMusicalPaperColumn"
1784         #'line-break-system-details #'((Y-offset . 70))
1785       s1 * 6 \break
1786
1787       \overrideProperty "Score.NonMusicalPaperColumn"
1788         #'line-break-system-details #'((Y-offset . 105))
1789       s1 * 5 \break
1790     }
1791     \new Voice {
1792       \repeat unfold 2 { \music }
1793       \repeat unfold 3 { \music }
1794       \repeat unfold 6 { \music }
1795       \repeat unfold 5 { \music }
1796     }
1797   >>
1798 }
1799 @end lilypond
1800
1801 @seealso
1802 Referencia de la notación:
1803 @ref{Espaciado vertical}.
1804
1805 Fragmentos de código:
1806 @rlsr{Spacing}.
1807
1808
1809 @node Espaciado vertical
1810 @section Espaciado vertical
1811 @translationof Vertical spacing
1812
1813 @cindex espaciado vertical
1814 @cindex vertical, espaciado
1815
1816 El espaciado vertical está controlado por tres factores: la cantidad
1817 de espacio disponible (es decir, el tamaño del papel y los márgenes),
1818 la separación entre los sistemas, y la separación entre los
1819 pentagramas dentro de un sistema.
1820
1821 @menu
1822 * Espaciado vertical flexible dentro de los sistemas::
1823 * Posicionamiento explícito de los pentagramas y los sistemas::
1824 * Evitar las colisiones verticales::
1825 @end menu
1826
1827
1828 @node Espaciado vertical flexible dentro de los sistemas
1829 @subsection Espaciado vertical flexible dentro de los sistemas
1830 @translationof Flexible vertical spacing within systems
1831
1832 @cindex distancia entre pentagramas
1833 @cindex pentagrama, distancia entre los
1834 @cindex espacio entre pentagramas
1835 @cindex espacio dentro de los sistemas
1836
1837 Tres mecanismos distintos controlan el espaciado vertical flexible
1838 dentro de los sistemas, uno por cada una de las categorías siguientes:
1839
1840 @itemize
1841
1842 @item
1843 @emph{pautas sin agrupar},
1844
1845 @item
1846 @emph{pautas agrupadas} (pautas dentro de un grupo de pentagramas como
1847 @code{ChoirStaff}, etc.), y
1848
1849 @item
1850 @emph{líneas que no son pautas} (como @code{Lyrics},
1851 @code{ChordNames}, etc.).
1852
1853 @end itemize
1854
1855 @c TODO: Clarify this.  This almost implies that non-staff lines
1856 @c       have NO effect on the spacing between staves.  -mp
1857
1858 La altura de cada sistema se determina en dos fases.  Primero, todos
1859 los pentagramas se disponen según la cantidad de espacio vacío
1860 disponible.  Después, las líneas que no son pautas se distribuyen
1861 entre las pautas.
1862
1863 Observe que los mecanismos de espaciado estudiados en esta sección
1864 solamente controlan el espaciado vertical de las pautas y líneas que
1865 no son pautas dentro de los sistemas individuales.  El espaciado
1866 vertical entre distintos sistemas, partituras, marcados y márgenes se
1867 controla mediante variables de @code{\paper} que se estudian en
1868 @ref{Flexible vertical spacing \paper variables}.
1869
1870 @menu
1871 * Propiedades de espaciado dentro de los sistemas::
1872 * Espaciado de pautas no agrupadas::
1873 * Espaciado de pautas agrupadas::
1874 * Espaciado de las líneas que no son pautas::
1875 @end menu
1876
1877
1878 @node Propiedades de espaciado dentro de los sistemas
1879 @unnumberedsubsubsec Propiedades de espaciado dentro de los sistemas
1880 @translationof Within-system spacing properties
1881
1882 @funindex staff-affinity
1883 @funindex staffgroup-staff-spacing
1884 @funindex staff-staff-spacing
1885 @funindex nonstaff-unrelatedstaff-spacing
1886 @funindex nonstaff-relatedstaff-spacing
1887 @funindex nonstaff-nonstaff-spacing
1888 @funindex default-staff-staff-spacing
1889 @funindex minimum-Y-extent
1890 @funindex extra-offset
1891 @funindex self-alignment-X
1892 @funindex X-offset
1893 @funindex VerticalAxisGroup
1894
1895 Los mecanismos de espaciado vertical dentro del sistema están
1896 controlados por dos conjuntos de propiedades de grob.  El primer
1897 conjunto está asociado con el grob @code{VerticalAxisGroup}, que se
1898 crea por parte de todas las pautas y líneas que no son pautas.  El
1899 segundo conjunto está asociado con el grob @code{StaffGrouper}, que
1900 puede crearse por parte de los grupos de pentagramas, pero solamente
1901 si se le llama explícitamente.  Estas propiedades se describen
1902 individualmente al final de la presente sección.
1903
1904 Los nombres de estas propiedades (excepto para @code{staff-affinity})
1905 siguen el formato @code{@var{elemento1}-@var{elemento2}-spacing},
1906 donde @code{@var{elemento1}} y @code{@var{elemento2}} son los
1907 elementos que se van a espaciar.  Observe que @code{@var{elemento2}}
1908 no está necesariamente por debajo de @code{@var{elemento1}}; por
1909 ejemplo, @code{nonstaff-relatedstaff-spacing} mide hacia arriba a
1910 partir de la línea del tipo no-pauta si @code{staff-affinity} es
1911 @code{UP}.
1912
1913 Cada distancia se mide entre los @emph{puntos de referencia} de los
1914 dos elementos.  El @emph{punto de referencia} para un pentagrama y
1915 otro tipo de pauta es el centro vertical de su @code{StaffSymbol} (es
1916 decir, la línea central si @code{line-count} es un número impar; el
1917 espacio central si @code{line-count} es par).  Los puntos de
1918 referencia para las líneas individuales que no son pautas aparecen en
1919 la tabla siguiente:
1920
1921 @multitable {Línea que no es una pauta} {Punto de referencia}
1922 @headitem Línea que no es una pauta @tab Punto de referencia
1923 @item @code{ChordNames}  @tab línea de base
1924 @item @code{NoteNames}   @tab línea de base
1925 @item @code{Lyrics}      @tab línea de base
1926 @item @code{Dynamics}    @tab centro vertical
1927 @item @code{FiguredBass} @tab punto más alto
1928 @item @code{FretBoards}  @tab línea superior
1929 @end multitable
1930
1931 En la siguiente imagen, las líneas horizontales indican las posiciones
1932 de estos puntos de referencia:
1933
1934 @lilypond[quote,noragged-right,line-width=110\mm]
1935 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
1936
1937 alignToZero = \with {
1938   \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1939   \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1940 }
1941 lowerCaseChords = \with {
1942   chordNameLowercaseMinor = ##t
1943 }
1944 staffAffinityDown = \with {
1945   \override VerticalAxisGroup #'staff-affinity = #DOWN
1946 }
1947 labelContext =
1948 #(define-music-function
1949      (parser location context)
1950      (string?)
1951    #{ s1*0^\markup { \typewriter #context } #})
1952
1953 \layout {
1954   \context { \Dynamics    \alignToZero }
1955   \context { \FiguredBass \alignToZero }
1956   \context { \Lyrics      \alignToZero }
1957   \context { \NoteNames   \alignToZero \staffAffinityDown }
1958   \context { \ChordNames  \alignToZero
1959                           \staffAffinityDown
1960                           \lowerCaseChords }
1961   \context { \FretBoards  \alignToZero \staffAffinityDown }
1962   \context { \Score
1963     \override BarLine #'stencil = ##f
1964     \override DynamicText #'self-alignment-X = #-1
1965     \override FretBoard #'X-offset = #1.75
1966     \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1967     \override InstrumentName #'extra-offset = #'(0 . -0.5)
1968     \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1969     \override TimeSignature #'stencil = ##f
1970   }
1971 }
1972
1973 %% These contexts have reference points at the baseline:
1974 %%   ChordNames, NoteNames, and Lyrics
1975 <<
1976   \new ChordNames { \chords { g1:m } }
1977   \new NoteNames { s1 | g1 | }
1978   \new RhythmicStaff {
1979     \set RhythmicStaff.instrumentName = #"baseline "
1980     \textLengthOn
1981     \labelContext "ChordNames " s1 |
1982     \labelContext "NoteNames "  s1 |
1983     \labelContext "Lyrics"     s1 |
1984   }
1985   \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1986 >>
1987
1988 %% The reference point for Dynamics is its vertical center
1989 <<
1990   \new RhythmicStaff {
1991     \set RhythmicStaff.instrumentName = #"vertical center "
1992     \labelContext "Dynamics" s1*3
1993   }
1994   \new Dynamics { s1\mp s\fp }
1995 >>
1996
1997 %% The reference point for FiguredBass is its highest point
1998 <<
1999   \new RhythmicStaff {
2000     \set RhythmicStaff.instrumentName = #"highest point "
2001     \labelContext "FiguredBass" s1
2002   }
2003   \new FiguredBass { \figuremode { <6 5>1 } }
2004 >>
2005
2006 %% The reference point for FretBoards is the top line
2007 \include "predefined-guitar-fretboards.ly"
2008 <<
2009   \new FretBoards { \chordmode { e1 } }
2010   \new RhythmicStaff {
2011     \set RhythmicStaff.instrumentName = #"top line "
2012     \labelContext "FretBoards " s1
2013   }
2014 >>
2015 @end lilypond
2016
2017 Cada una de las propiedades de grob del espaciado vertical (excepto
2018 @code{staff-affinity})
2019 usa la misma estructura de lista-A que las
2020 variables de espaciado del bloque @code{\paper} que se han estudiado
2021 en @ref{Flexible vertical spacing \paper variables}.
2022 En @ref{Modificación de las listas-A}
2023 se estudian métodos específicos para la modificación de
2024 las listas-A.  Las propiedades de los grobs deben ajustarse con un
2025 @code{\override} dentro de un bloque @code{\score} o @code{\layout}, y
2026 no dentro de un bloque @code{\paper}.
2027
2028 El ejemplo que sigue muestra las dos maneras en que pueden modificarse
2029 estas listas-A.  La primera declaración actualiza un par clave-valor de
2030 forma individual, y la segunda redefine la propiedad completamente:
2031
2032 @example
2033 \new Staff \with @{
2034   \override VerticalAxisGroup #'default-staff-staff-spacing
2035        #'basic-distance = #10
2036 @} @{ @dots{} @}
2037
2038 \new Staff \with @{
2039   \override VerticalAxisGroup #'default-staff-staff-spacing =
2040     #'((basic-distance . 10)
2041        (minimum-distance . 9)
2042        (padding . 1)
2043        (stretchability . 10))
2044 @} @{ @dots{} @}
2045 @end example
2046
2047 Para modificar globalmente cualquiera de los ajustes de espaciado,
2048 póngalos dentro del bloque @code{\layout}:
2049
2050 @example
2051 \layout @{
2052   \context @{
2053     \Staff
2054     \override VerticalAxisGroup #'default-staff-staff-spacing
2055          #'basic-distance = #10
2056   @}
2057 @}
2058 @end example
2059
2060 Los ajustes estándar para las propiedades de grob del espaciado
2061 vertical están relacionadas en @rinternals{VerticalAxisGroup} y en
2062 @rinternals{StaffGrouper}.  Las sobreescrituras predeterminadas para
2063 los tipos específicos de líneas que no son pautas están relacionadas
2064 en las descripciones de contexto correspondientes en
2065 @rinternals{Contexts}.
2066
2067 @subsubheading Propiedades del grob @code{VerticalAxisGroup}
2068
2069 Las propiedades de @code{VerticalAxisGroup} se suelen ajustar con una
2070 instrucción @code{\override} en el nivel de @code{Staff} (o
2071 equivalente).
2072
2073 @table @code
2074 @item staff-staff-spacing
2075 Se utiliza para determinar la distancia entre la pauta actual
2076 y la pauta que está justo por debajo
2077 de ella dentro del mismo sistema, incluso si hay más líneas que no son
2078 pautas (tales como @code{Lyrics}) entre las dos pautas.  No se aplica
2079 a la pauta inferior de un sistema.
2080
2081 Inicialmente, el valor de espaciado @code{staff-staff-spacing} de un
2082 grupo @code{VerticalAxisGroup} es una función de Scheme que aplica las
2083 propiedades del @code{StaffGrouper} si la pauta forma parte de un
2084 grupo, o el @code{default-staff-staff-spacing} de la pauta en caso
2085 contrario.  Esto hace posible que las pautas estén espaciadas de forma
2086 diferente cuando están agrupadas.  Para conseguir un espaciado regular
2087 sin importar el agrupamiento, esta función se puede sustituir por una
2088 lista-A de espaciado flexible, utilizando la forma de
2089 sobreescritura de redefinición completa que se ha mostrado más arriba.
2090
2091 @item default-staff-staff-spacing
2092 Una lista-A de espaciado flexible que define el
2093 espacio @code{staff-staff-spacing} que se usará para las pautas sin
2094 agrupar, a no ser que se haya sobreescrito explícitamente
2095 @code{staff-staff-spacing} con una instrucción @code{\override}.
2096
2097 @item staff-affinity
2098 Dirección de la pauta que utilizar para el espaciado de la línea
2099 actual que no es pauta.  Se puede elegir entre @code{UP} (arriba),
2100 @code{DOWN} (abajo) y @code{CENTER} (centro).  Si es @code{CENTER}, la
2101 línea del tipo no-pauta se coloca equidistante entre las dos pautas
2102 contiguas a ambos lados, a no ser que lo impidan colisiones u otras
2103 restricciones de espaciado.  Las líneas del tipo no-pauta adyacentes
2104 han de llevar valores de @code{staff-affinity} no crecientes desde la
2105 parte superior hasta la inferior, p.ej. una línea del tipo no-pauta
2106 establecida a @code{UP} no debería seguir inmediatamente a otra que
2107 esté establecida a @code{DOWN}.  Las líneas del tipo no-pauta en la
2108 parte superior de un sistema deben usar @code{DOWN}; las de la parte
2109 inferior deben usar @code{UP}.  El ajuste de @code{staff-affinity}
2110 para una pauta hace que se le trate como una línea que no es una
2111 pauta.  El establecimiento de @code{staff-affinity} a @code{#f} para
2112 una línea que no es una pauta hace que se trate como una pauta.
2113 Establecer @code{staff-affinity} a @code{UP}, @code{CENTER}, o
2114 @code{DOWN} hace que el pentagrama resulte espaciado como si fuera una
2115 línea que no es una pauta.
2116
2117 @item nonstaff-relatedstaff-spacing
2118 Distancia entre la línea del tipo no-pauta actual y la pauta más
2119 próxima en la dirección de @code{staff-affinity}, si no hay ninguna
2120 línea que no sea una pauta entre las dos, y @code{staff-affinity} es
2121 @code{UP} o @code{DOWN}.  Si @code{staff-affinity} es @code{CENTER},
2122 entonces se usa @code{nonstaff-relatedstaff-spacing} para las pautas
2123 más próximas @emph{a los dos lados}, incluso aunque aparezcan otras
2124 líneas del tipo no-pauta entre la pauta actual y una de las otras.
2125 Esto significa que la colocación de una línea que no es una pauta
2126 depende tanto de las pautas que la rodean como de las líneas que no
2127 son pautas y que la rodean.  Establecer la ampliabilidad
2128 @code{stretchability} de uno de estos tipos de espaciado a un valor
2129 más pequeño provoca que este espaciado domine.  El establecimiento de
2130 @code{stretchability} a un valor mayor hace que dicho espaciado tenga
2131 un menor efecto.
2132
2133 @item nonstaff-nonstaff-spacing
2134 Distancia entre la línea actual del tipo no-pauta y la siguiente línea
2135 del tipo no-pauta en la dirección de @code{staff-affinity}, si las dos
2136 están al mismo lado de la pauta relacionada, y @code{staff-affinity}
2137 es @code{UP} o @code{DOWN}.
2138
2139 @item nonstaff-unrelatedstaff-spacing
2140 Distancia entre la línea actual del tipo no-pauta y la pauta en la
2141 dirección opuesta de @code{staff-affinity}, si no hay ninguna otra
2142 línea del tipo no-pauta entre las dos, y @code{staff-affinity} es
2143 @code{UP} o @code{DOWN}.  Se puede usar, por ejemplo, para requerir
2144 una cantidad de relleno mínima entre una línea de @code{Lyrics} y la
2145 pauta a la que no pertenece.
2146 @end table
2147
2148 @subsubheading Propiedades del grob @code{StaffGrouper}
2149
2150 Las propiedades de @code{StaffGrouper} se suelen ajustar con una
2151 instrucción @code{\override} en el nivel de @code{StaffGroup} (o
2152 equivalente).
2153
2154 @table @code
2155 @item staff-staff-spacing
2156 Distancia entre pautas consecutivas dentro del grupo de pautas actual.
2157 La propiedad @code{staff-staff-spacing} del grob
2158 @code{VerticalAxisGroup} de una pauta individual se puede
2159 sobreescribir con distintos ajustes de espaciado para dicha
2160 pauta.
2161
2162 @item staffgroup-staff-spacing
2163 Distancia entre la última pauta del grupo en curso y la pauta que está
2164 justo por debajo de ella dentro del mismo sistema, incluso si existen
2165 una o más líneas que no son pautas (tales como @code{Lyrics}) entre
2166 las dos pautas.  No se aplica al pentagrama o pauta inferior de un
2167 sistema.  La propiedad @code{staff-staff-spacing} del grob
2168 @code{VerticalAxisGroup} de una pauta individual se puede
2169 sobreescribir con distintos ajustes de espaciado para dicha
2170 pauta.
2171 @end table
2172
2173 @seealso
2174 Referencia de la notación:
2175 @ref{Variables de espaciado de \paper verticales flexibles},
2176 @ref{Modificación de las listas-A}.
2177
2178 Archivos de inicio:
2179 @file{ly/engraver-init.ly},
2180 @file{scm/define-grobs.scm}.
2181
2182 Referencia de funcionamiento interno:
2183 @rinternals{Contexts},
2184 @rinternals{VerticalAxisGroup},
2185 @rinternals{StaffGrouper}.
2186
2187
2188
2189 @node Espaciado de pautas no agrupadas
2190 @unnumberedsubsubsec Espaciado de pautas no agrupadas
2191 @translationof Spacing of ungrouped staves
2192
2193 Las @emph{pautas}, tales como los pentagramas (@code{Staff}), pautas
2194 de percusión (@code{DrumStaff}) o de tablatura (@code{TabStaff}),
2195 etc. son contextos que pueden contener uno o más contextos de voz,
2196 pero no pueden contener otras pautas.
2197
2198 Las siguientes propiedades afectan al espaciado de las pautas @emph{no
2199 agrupadas}:
2200
2201 @itemize
2202 @item Propiedades de @code{VerticalAxisGroup}:
2203 @itemize
2204 @item @code{default-staff-staff-spacing}
2205 @item @code{staff-staff-spacing}
2206 @end itemize
2207 @end itemize
2208
2209 Estas propiedades de grob se describen individualmente más arriba;
2210 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2211
2212 Están implicadas ciertas propiedades adicionales para las pautas que
2213 son parte de un grupo; véase @ref{Espaciado de pautas agrupadas}.
2214
2215 El ejemplo siguiente muestra cómo la propiedad
2216 @code{default-staff-staff-spacing} puede afectar al espaciado de pautas no
2217 agrupadas.  Las mismas sobreescrituras aplicadas a
2218 @code{staff-staff-spacing}
2219 tendrían el mismo efecto, pero también se aplicaría en caso de que las
2220 pautas estuvieran combinadas en un grupo o grupos.
2221
2222 @lilypond[verbatim,quote,staffsize=16]
2223 \layout {
2224   \context {
2225     \Staff
2226     \override VerticalAxisGroup #'default-staff-staff-spacing =
2227       #'((basic-distance . 8)
2228          (minimum-distance . 7)
2229          (padding . 1))
2230   }
2231 }
2232
2233 <<
2234   % The very low note here needs more room than 'basic-distance
2235   % can provide, so the distance between this staff and the next
2236   % is determined by 'padding.
2237   \new Staff { b,2 r | }
2238
2239   % Here, 'basic-distance provides enough room, and there is no
2240   % need to compress the space (towards 'minimum-distance) to make
2241   % room for anything else on the page, so the distance between
2242   % this staff and the next is determined by 'basic-distance.
2243   \new Staff { \clef bass g2 r | }
2244
2245   % By setting 'padding to a negative value, staves can be made to
2246   % collide.  The lowest acceptable value for 'basic-distance is 0.
2247   \new Staff \with {
2248     \override VerticalAxisGroup #'default-staff-staff-spacing =
2249       #'((basic-distance . 3.5)
2250          (padding . -10))
2251   } { \clef bass g2 r | }
2252   \new Staff { \clef bass g2 r | }
2253 >>
2254 @end lilypond
2255
2256 @seealso
2257 Archivos de inicio:
2258 @file{scm/define-grobs.scm}.
2259
2260 Fragmentos de código:
2261 @rlsr{Spacing}.
2262
2263 Referencia de funcionamiento interno:
2264 @rinternals{VerticalAxisGroup}.
2265
2266
2267 @node Espaciado de pautas agrupadas
2268 @unnumberedsubsubsec Espaciado de pautas agrupadas
2269 @translationof Spacing of grouped staves
2270
2271 En partituras grandes como las orquestales, es común colocar los
2272 pentagramas en grupos.  El espacio entre los grupos suele ser mayor
2273 que el espacio que hay entre los pentagramas dentro del mismo grupo.
2274
2275 Los grupos de pautas, @emph{Staff-groups} (tales como
2276 @code{StaffGroup}, @code{ChoirStaff}, etc.) son contextos que pueden
2277 contener al mismo tiempo uno o más pentagramas o pautas.
2278
2279 Las siguientes propiedades afectan al espaciado de las pautas dentro
2280 de los grupos:
2281
2282 @itemize
2283 @item Propiedades de @code{VerticalAxisGroup}:
2284 @itemize
2285 @item @code{staff-staff-spacing}
2286 @end itemize
2287 @item Propiedades de @code{StaffGrouper}:
2288 @itemize
2289 @item @code{staff-staff-spacing}
2290 @item @code{staffgroup-staff-spacing}
2291 @end itemize
2292 @end itemize
2293
2294 Estas propiedades de grob se describen individualmente más arriba;
2295 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2296
2297 El ejemplo siguiente muestra cómo pueden afectar las propiedades del
2298 grob @code{StaffGrouper} al espaciado de las pautas agrupadas:
2299
2300 @lilypond[verbatim,quote,staffsize=16]
2301 \layout {
2302   \context {
2303     \Score
2304     \override StaffGrouper #'staff-staff-spacing #'padding = #0
2305     \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2306   }
2307 }
2308
2309 <<
2310   \new PianoStaff \with {
2311     \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2312   } <<
2313     \new Staff { c'1 }
2314     \new Staff { c'1 }
2315   >>
2316
2317   \new StaffGroup <<
2318     \new Staff { c'1 }
2319     \new Staff { c'1 }
2320   >>
2321 >>
2322 @end lilypond
2323
2324 @seealso
2325 Archivos de inicio:
2326 @file{scm/define-grobs.scm}.
2327
2328 Fragmentos de código:
2329 @rlsr{Spacing}.
2330
2331 Referencia de funcionamiento interno:
2332 @rinternals{VerticalAxisGroup},
2333 @rinternals{StaffGrouper}.
2334
2335
2336 @node Espaciado de las líneas que no son pautas
2337 @unnumberedsubsubsec Espaciado de las líneas que no son pautas
2338 @translationof Spacing of non-staff lines
2339
2340 Las @emph{Líneas que no son pautas} (tales como @code{Lyrics},
2341 @code{ChordNames}, etc.) son contextos cuyos objetos de presentación
2342 se imprimen como pentagramas (es decir, en líneas horizontales dentro
2343 de los sistemas).  Específicamente, las líneas que no son pautas son
2344 contextos del tipo no-pauta que crean el objeto de presentación
2345 @code{VerticalAxisGroup}.
2346
2347 Las siguientes propiedades afectan al espaciado de las líneas que no
2348 son pautas:
2349
2350 @itemize
2351 @item Propiedades de @code{VerticalAxisGroup}:
2352 @itemize
2353 @item @code{staff-affinity}
2354 @item @code{nonstaff-relatedstaff-spacing}
2355 @item @code{nonstaff-nonstaff-spacing}
2356 @item @code{nonstaff-unrelatedstaff-spacing}
2357 @end itemize
2358 @end itemize
2359
2360 Estas propiedades de grob se describen individualmente más arriba;
2361 véase @ref{Propiedades de espaciado dentro de los sistemas}.
2362
2363 El ejemplo siguiente muestra cómo la propiedad
2364 @code{nonstaff-nonstaff-spacing} puede afectar el espaciado de líneas
2365 consecutivas que no son pautas.  Aquí, mediante el establecimiento de
2366 la clave de ampliabilidad @code{stretchability} a un valor muy grande,
2367 la línea de letra es capaz de ampliarse mucho más de lo que es usual:
2368
2369 @lilypond[verbatim,quote,staffsize=16]
2370 \layout {
2371   \context {
2372     \Lyrics
2373     \override VerticalAxisGroup
2374       #'nonstaff-nonstaff-spacing #'stretchability = #1000
2375   }
2376 }
2377
2378 \new StaffGroup
2379 <<
2380   \new Staff \with {
2381     \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2382   } { c'1 }
2383   \new Lyrics \with {
2384     \override VerticalAxisGroup #'staff-affinity = #UP
2385   } \lyricmode { up }
2386   \new Lyrics \with {
2387     \override VerticalAxisGroup #'staff-affinity = #CENTER
2388   } \lyricmode { center }
2389   \new Lyrics \with {
2390     \override VerticalAxisGroup #'staff-affinity = #DOWN
2391   } \lyricmode { down }
2392   \new Staff { c'1 }
2393 >>
2394 @end lilypond
2395
2396 @seealso
2397 Archivos de inicio:
2398 @file{ly/engraver-init.ly},
2399 @file{scm/define-grobs.scm}.
2400
2401 Fragmentos de código:
2402 @rlsr{Spacing}.
2403
2404 @c @lsr{spacing,page-spacing.ly},
2405 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2406
2407 Referencia de funcionamiento interno:
2408 @rinternals{Contexts},
2409 @rinternals{VerticalAxisGroup}.
2410
2411
2412 @node Posicionamiento explícito de los pentagramas y los sistemas
2413 @subsection Posicionamiento explícito de los pentagramas y los sistemas
2414 @translationof Explicit staff and system positioning
2415
2416 Una forma de entender los mecanismos del espaciado vertical
2417 flexible que se han explicado más arriba es como una
2418 colección de ajustes que controlan la cantidad de relleno
2419 vertical entre los pentagramas y los sistemas.
2420
2421 Es posible enfrentarse al espaciado vertical de una forma distinta
2422 utilizando @code{NonMusicalPaperColumn #'line-break-system-details}.
2423 Mientras que los mecanismos del espaciado vertical flexible
2424 especifican relleno vertical, @code{NonMusicalPaperColumn
2425 #'line-break-system-details} puede especificar posiciones verticales
2426 exactas sobre la página.
2427
2428 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
2429 lista asociativa de tres ajustes diferentes:
2430
2431 @itemize
2432 @item @code{X-offset} (desplazamiento en X)
2433 @item @code{Y-offset} (desplazamiento en Y)
2434 @item @code{alignment-distances} (distancias de alineación)
2435 @end itemize
2436
2437 Las sobreescrituras de los objetos gráficos, entre ellas las de
2438 @code{NonMusicalPaperColumn} que aparecen más abajo, pueden ocurrir en
2439 tres lugares distintos dentro de un archivo de entrada:
2440
2441 @itemize
2442 @item directamente en medio de las notas
2443 @item en un bloque @code{\context}
2444 @item en el bloque @code{\with}
2445 @end itemize
2446
2447 Cuando sobreescribimos @code{NonMusicalPaperColumn}, usamos la
2448 instrucción @code{\override} usual en los bloques @code{\context} y en
2449 el bloque @code{\with}.  Por otra parte, cuando sobreescribimos
2450 @code{NonMusicalPaperColumn} en medio de las notas, debemos usar la
2451 instrucción especial @code{\overrideProperty}.  He aquí algunas
2452 sobreescrituras de @code{NonMusicalPaperColumn} de ejemplo con la
2453 instrucción especial @code{\overrideProperty}:
2454
2455 @example
2456 \overrideProperty NonMusicalPaperColumn
2457   #'line-break-system-details #'((X-offset . 20))
2458
2459 \overrideProperty NonMusicalPaperColumn
2460   #'line-break-system-details #'((Y-offset . 40))
2461
2462 \overrideProperty NonMusicalPaperColumn
2463   #'line-break-system-details #'((X-offset . 20)
2464                                  (Y-offset . 40))
2465
2466 \overrideProperty NonMusicalPaperColumn
2467   #'line-break-system-details #'((alignment-distances . (15)))
2468
2469 \overrideProperty NonMusicalPaperColumn
2470   #'line-break-system-details #'((X-offset . 20)
2471                                  (Y-offset . 40)
2472                                  (alignment-distances . (15)))
2473 @end example
2474
2475 Para entender cómo funciona cada uno de los distintos ajustes,
2476 empezamos observando un ejemplo que no incluye absolutamente ninguna
2477 sobreescritura.
2478
2479 @c \book { } is required in these examples to ensure the spacing
2480 @c overrides can be seen between systems. -np
2481
2482 @lilypond[verbatim,quote,staffsize=16]
2483 \header { tagline = ##f }
2484 \paper { left-margin = 0\mm }
2485 \book {
2486   \score {
2487     <<
2488       \new Staff <<
2489         \new Voice {
2490           s1*5 \break
2491           s1*5 \break
2492           s1*5 \break
2493         }
2494         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2495       >>
2496       \new Staff {
2497         \repeat unfold 15 { d'4 d' d' d' }
2498       }
2499     >>
2500   }
2501 }
2502 @end lilypond
2503
2504 Esta partitura mantiene aislada la información de los saltos de línea
2505 y de página en una voz dedicada a ello.  Esta técnica de crear una voz
2506 de saltos ayuda a mantener separada de la escritura de notas conforme
2507 el ejemplo se vuelve más complicado.  Consulte
2508 @ref{Utilizar una voz adicional para los saltos de línea}.
2509
2510 Los saltos explícitos dividen la música de forma regular en seis
2511 compases por línea.  El espaciado vertical es el resultado de los
2512 ajustes predeterminados de LilyPond.  Para establecer explícitamente
2513 el punto de origen vertical de cada sistema, podemos establecer el par
2514 @code{Y-offset} en el atributo @code{line-break-system-details} del
2515 grob (objeto gráfico) @code{NonMusicalPaperColumn}:
2516
2517 @lilypond[verbatim,quote,staffsize=16]
2518 \header { tagline = ##f }
2519 \paper { left-margin = 0\mm }
2520 \book {
2521   \score {
2522     <<
2523       \new Staff <<
2524         \new Voice {
2525           \overrideProperty #"Score.NonMusicalPaperColumn"
2526             #'line-break-system-details #'((Y-offset . 0))
2527           s1*5 \break
2528           \overrideProperty #"Score.NonMusicalPaperColumn"
2529             #'line-break-system-details #'((Y-offset . 40))
2530           s1*5 \break
2531           \overrideProperty #"Score.NonMusicalPaperColumn"
2532             #'line-break-system-details #'((Y-offset . 80))
2533           s1*5 \break
2534         }
2535         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2536       >>
2537       \new Staff {
2538         \repeat unfold 15 { d'4 d' d' d' }
2539       }
2540     >>
2541   }
2542 }
2543 @end lilypond
2544
2545 Observe que @code{line-break-system-details} toma una lista asociativa
2546 de una cantidad de valores potencialmente elevada, pero aquí sólo
2547 fijamos un valor.  Observe también que aquí la propiedad
2548 @code{Y-offset} determina la posición vertical exacta sobre la página
2549 en la que se trazará cada uno de los nuevos sistemas.
2550
2551 Ahora que hemos establecido explícitamente el punto de origen vertical
2552 de cada sistema, podemos también establecer manualmente las distancias
2553 verticales entre los pentagramas dentro de cada sistema.  Lo hacemos
2554 usando la subpropiedad @code{alignment-distances} de
2555 @code{line-break-system-details}.
2556
2557 @lilypond[verbatim,quote,staffsize=16]
2558 \header { tagline = ##f }
2559 \paper { left-margin = 0\mm }
2560 \book {
2561   \score {
2562     <<
2563       \new Staff <<
2564         \new Voice {
2565           \overrideProperty #"Score.NonMusicalPaperColumn"
2566             #'line-break-system-details #'((Y-offset . 20)
2567                                            (alignment-distances . (15)))
2568           s1*5 \break
2569           \overrideProperty #"Score.NonMusicalPaperColumn"
2570             #'line-break-system-details #'((Y-offset . 60)
2571                                            (alignment-distances . (15)))
2572           s1*5 \break
2573           \overrideProperty #"Score.NonMusicalPaperColumn"
2574             #'line-break-system-details #'((Y-offset . 100)
2575                                            (alignment-distances . (15)))
2576           s1*5 \break
2577         }
2578         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2579       >>
2580       \new Staff {
2581         \repeat unfold 15 { d'4 d' d' d' }
2582       }
2583     >>
2584   }
2585 }
2586 @end lilypond
2587
2588 Observe que aquí asignamos dos valores distintos al atributo
2589 @code{line-break-system-details} del grob
2590 @code{NonMusicalPaperColumn}.  Aunque el atributo alist de
2591 @code{line-break-system-details} acepta muchos parámetros de espaciado
2592 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
2593 correspondiente), sólo tenemos que establecer el desplazamiento
2594 @code{Y-offset} y los pares @code{alignment-distances} para controlar
2595 el punto de origen vertical de cada sistema y pentagrama.  Finalmente,
2596 observe que @code{alignment-distances} especifica el posicionamiento
2597 vertical de los pentagramas pero no de los grupos de pentagramas.
2598
2599 @lilypond[verbatim,quote,staffsize=16]
2600 \header { tagline = ##f }
2601 \paper { left-margin = 0\mm }
2602 \book {
2603   \score {
2604     <<
2605       \new Staff <<
2606         \new Voice {
2607           \overrideProperty #"Score.NonMusicalPaperColumn"
2608             #'line-break-system-details #'((Y-offset . 0)
2609                                            (alignment-distances . (30 10)))
2610           s1*5 \break
2611           \overrideProperty #"Score.NonMusicalPaperColumn"
2612             #'line-break-system-details #'((Y-offset . 60)
2613                                            (alignment-distances . (10 10)))
2614           s1*5 \break
2615           \overrideProperty #"Score.NonMusicalPaperColumn"
2616             #'line-break-system-details #'((Y-offset . 100)
2617                                            (alignment-distances . (10 30)))
2618           s1*5 \break
2619         }
2620         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2621       >>
2622       \new StaffGroup <<
2623         \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2624         \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2625       >>
2626     >>
2627   }
2628 }
2629 @end lilypond
2630
2631 Algunos puntos que tener en cuenta:
2632
2633 @itemize
2634 @item Al usar @code{alignment-distances}, la letra
2635 y otras líneas que no son pautas, no cuentan como un pentagrama.
2636
2637 @item Las unidades de los números que se pasan a @code{X-offset},
2638 @code{Y-offset} y @code{alignment-distances} se interpretan como
2639 múltiplos de la distancia entre líneas de pentagrama adyacentes.  Los
2640 valores positivos mueven a los pentagramas y a la letra hacia arriba,
2641 los valores negativos mueven los pentagramas y la letra hacia abajo.
2642
2643 @item A causa de que los ajustes a @code{NonMusicalPaperColumn
2644 #'line-break-system-details} dados aquí permiten el posicionamiento de
2645 pentagramas y sistemas en cualquier lugar de la página, es posible
2646 violar los márgenes o los límites del papel, o incluso imprimir
2647 pentagramas o sistemas unos encima de otros.  Esto se evitaría pasando
2648 a los diferentes ajustes unos valores razonables.
2649 @end itemize
2650
2651 @seealso
2652 Fragmentos de código:
2653 @rlsr{Spacing}.
2654
2655
2656 @node Evitar las colisiones verticales
2657 @subsection Evitar las colisiones verticales
2658 @translationof Vertical collision avoidance
2659
2660 @funindex outside-staff-priority
2661 @funindex outside-staff-padding
2662 @funindex outside-staff-horizontal-padding
2663
2664 Podemos decir intuitivamente que algunos objetos de la notación
2665 musical pertenecen al pentagrama y otros se sitúan fuera del
2666 pentagrama.  Entre los objetos que pertenecen al exterior del
2667 pentagrama están las marcas de ensayo, las marcas textuales y las
2668 indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera
2669 del pentagrama).  La regla de LilyPond para la colocación vertical de
2670 los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama
2671 como sea posible pero no tan próximos como para que choquen con otro
2672 objeto.
2673
2674 LilyPond utiliza la propiedad @code{outside-staff-priority} para
2675 determinar si un grob es un objeto fuera del pentagrama: si
2676 @code{outside-staff-priority} es un número, el grob es un objeto fuera
2677 del pentagrama.  Además, @code{outside-staff-priority} informa a
2678 LilyPond en qué orden se debe situar los objetos.
2679
2680 En primer lugar, LilyPond sitúa todos los objetos que no pertenecen al
2681 exterior del pentagrama.  Después ordena los objetos fuera del
2682 pentagrama de acuerdo a su prioridad @code{outside-staff-priority} (en
2683 orden creciente).  LilyPond toma los objetos fuera del pentagrama uno
2684 a uno y los coloca de forma que no choquen con ningún objeto que ya
2685 haya sido colocado.  Esto es, si dos grobs fuera del pentagrama
2686 compiten por el mismo espacio, el que tiene la prioridad
2687 @code{outside-staff-priority} más baja se colocará más próximo al
2688 pentagrama.
2689
2690 @lilypond[quote,ragged-right,relative=2,verbatim]
2691 c4_"Text"\pp
2692 r2.
2693 \once \override TextScript #'outside-staff-priority = #1
2694 c4_"Text"\pp % this time the text will be closer to the staff
2695 r2.
2696 % by setting outside-staff-priority to a non-number,
2697 % we disable the automatic collision avoidance
2698 \once \override TextScript #'outside-staff-priority = ##f
2699 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2700 c4_"Text"\pp % now they will collide
2701 @end lilypond
2702
2703 El relleno vertical entre un objeto fuera del pentagrama y los grobs
2704 posicionados previamente se puede controlar con
2705 @code{outside-staff-padding}.
2706
2707 @lilypond[quote,ragged-right,relative=2,verbatim]
2708 \once \override TextScript #'outside-staff-padding = #0
2709 a'^"This text is placed very close to the note"
2710 \once \override TextScript #'outside-staff-padding = #3
2711 c^"This text is padded away from the previous text"
2712 c^"This text is placed close to the previous text"
2713 @end lilypond
2714
2715 De forma predeterminada, los objetos fuera del pentagrama se colocan
2716 sólo para evitar una colisión horizontal con los grobs posicionados
2717 previamente.  Esto puede llevar a situaciones en las que los objetos
2718 se colocan muy próximos entre sí en el sentido horizontal.  El espacio
2719 vertical entre pentagramas se puede fijar también de manera que los
2720 objetos fuera del pentagrama se sitúen de forma intercalada.  El
2721 establecimiento del relleno horizontal
2722 @code{outside-staff-horizontal-padding} ocasiona que un objeto se
2723 desplace verticalmente para que tal situación no ocurra.
2724
2725 @lilypond[quote,ragged-right,relative=2,verbatim]
2726 % the markup is too close to the following note
2727 c4^"Text"
2728 c4
2729 c''2
2730 % setting outside-staff-horizontal-padding fixes this
2731 R1
2732 \once \override TextScript #'outside-staff-horizontal-padding = #1
2733 c,,4^"Text"
2734 c4
2735 c''2
2736 @end lilypond
2737
2738 @seealso
2739 Fragmentos de código:
2740 @rlsr{Spacing}.
2741
2742
2743 @node Espaciado horizontal
2744 @section Espaciado horizontal
2745 @translationof Horizontal spacing
2746
2747 @cindex horizontal, espaciado
2748 @cindex espaciado horizontal
2749
2750 @menu
2751 * Panorámica del espaciado horizontal::
2752 * Área de espaciado nueva::
2753 * Cambiar el espaciado horizontal::
2754 * Longitud de la línea::
2755 * Notación proporcional::
2756 @end menu
2757
2758
2759 @node Panorámica del espaciado horizontal
2760 @subsection Panorámica del espaciado horizontal
2761 @translationof Horizontal spacing overview
2762
2763 El motor de espaciado traduce las diferencias en las duraciones a
2764 distancias ampliables (@q{muelles}) de distintas longitudes.  Las
2765 duraciones más largas reciben un espacio mayor y las duraciones más
2766 cortas reciben menos.  Las duraciones más breves reciben un espacio de
2767 tamaño fijo (que se controla mediante @code{shortest-duration-space}
2768 en el objeto @rinternals{SpacingSpanner}).  Cuanto más larga es la
2769 duración, más espacio recibe: al doblar una duración se añade un
2770 espacio de tamaño fijo (este tamaño se controla mediante
2771 @code{spacing-increment}) a la nota.
2772
2773 Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y
2774 corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB).
2775 La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
2776
2777 @lilypond[quote,verbatim,relative=1]
2778 c2 c4. c8 c4. c8 c4. c8 c8
2779 c8 c4 c4 c4
2780 @end lilypond
2781
2782 Normalmente, el valor de @code{spacing-increment} está establecido en
2783 1.2 espacios de pentagrama, lo que es aproximadamente el ancho de una
2784 cabeza, y @code{shortest-duration-space} está establecido en 2.0, lo
2785 que significa que la nota más breve recibe 2.4 espacios de pentagrama
2786 (2.0 multiplicado por el @code{spacing-increment}) de espacio
2787 horizontal.  Este espacio se cuenta a partir del borde izquierdo del
2788 símbolo, de manera que las notas más breves van seguidas generalmente
2789 por un espacio de 1 ACB.
2790
2791 Si siguiésemos el procedimiento anterior exactamente, entonces la
2792 adición de una sola fusa a una partitura que usa corcheas y
2793 semicorcheas, aumentaría enormemente la anchura de la partitura
2794 completa.  La nota más breve ya no es la semicorchea, sino la fusa,
2795 añadiendo así 1 ACB a cada una de las notas.  Para evitarlo, la
2796 duración más breve a efectos de espaciado no es la nota más breve de
2797 la partitura, sino la que ocurre con más frecuencia.
2798
2799 La duración más breve que es más común se determina de la siguiente
2800 manera: en cada compás se determina la duración más breve.  La menor
2801 duración más común se toma como base para el espaciado, habiendo
2802 estipulado que esta duración menor siempre debe ser igual o menor que
2803 una corchea.  La duración más breve se imprime cuando se ejecuta
2804 @code{lilypond} con la opción @option{--verbose}.
2805
2806 Estas duraciones también se pueden personalizar.  Si establecemos la
2807 @code{common-shortest-duration} en @rinternals{SpacingSpanner},
2808 entonces éste establece la duración base para el espaciado.  La
2809 duración máxima para esta base (normalmente una corchea), se fija a
2810 través de @code{base-shortest-duration}.
2811
2812 @funindex common-shortest-duration
2813 @funindex base-shortest-duration
2814 @funindex stem-spacing-correction
2815 @funindex spacing
2816
2817 Las notas que son aún más breves que la nota común más breve van
2818 seguidas por un espacio proporcional a su duración en relación con la
2819 nota común más breve.  Así pues, si fuésemos a añadir tan sólo algunas
2820 semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
2821
2822 @lilypond[quote,verbatim,relative=2]
2823 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2824 @end lilypond
2825
2826 En el @emph{Ensayo sobre grabado musical automatizado},
2827 se explicó que las
2828 direcciones de las plicas influyen en el espaciado
2829 (véase @ressay{Espaciado óptico}).  Esto se controla
2830 con la propiedad @code{stem-spacing-correction} en el objeto
2831 @rinternals{NoteSpacing}.  Estos se generan para cada uno de los
2832 contextos de @rinternals{Voice}.  El objeto @code{StaffSpacing}
2833 (generado en el contexto de @rinternals{Staff}) contiene la misma
2834 propiedad para controlar el espaciado de las líneas de plica o
2835 divisorias.  El ejemplo siguiente muestra estas correcciones, una vez
2836 con los valores predeterminados y otra con correcciones exageradas:
2837
2838 @lilypond[quote,ragged-right]
2839 {
2840   c'4 e''4 e'4 b'4 |
2841   b'4 e''4 b'4 e''4 |
2842   \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2843   \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2844   c'4 e''4 e'4 b'4 |
2845   b'4 e''4 b'4 e''4 |
2846 }
2847 @end lilypond
2848
2849 Está contemplada la notación proporcional; consulte
2850 @ref{Notación proporcional}.
2851
2852 @seealso
2853 Ensayo sobre grabado musical automatizado:
2854 @ressay{Espaciado óptico}.
2855
2856 Fragmentos de código:
2857 @rlsr{Spacing}.
2858
2859 Referencia de funcionamiento interno:
2860 @rinternals{SpacingSpanner},
2861 @rinternals{NoteSpacing},
2862 @rinternals{StaffSpacing},
2863 @rinternals{NonMusicalPaperColumn}.
2864
2865 @knownissues
2866 No existe ningún mecanismo conveniente para sobreescribir el espaciado
2867 manualmente.  Se puede usar el siguiente rodeo para insertar espacio
2868 adicional en una partitura, ajustando el valor del relleno en la
2869 medida necesaria.
2870
2871 @example
2872  \override Score.NonMusicalPaperColumn #'padding = #10
2873 @end example
2874
2875 No existe ningún rodeo para disminuir la magnitud de la separación.
2876
2877
2878 @node Área de espaciado nueva
2879 @subsection Área de espaciado nueva
2880 @translationof New spacing area
2881
2882 Se pueden iniciar secciones nuevas con diferentes parámetros de
2883 espaciado, con @code{newSpacingSection}.  Esto es útil cuando hay
2884 secciones que tienen distinta noción de las notas largas y cortas.
2885
2886 En el ejemplo siguiente, el cambio de compás introduce una sección
2887 nueva, y por ello las semicorcheas se separan de manera más amplia.
2888
2889 @lilypond[relative=1,verbatim,quote]
2890 \time 2/4
2891 c4 c8 c
2892 c8 c c4 c16[ c c8] c4
2893 \newSpacingSection
2894 \time 4/16
2895 c16[ c c8]
2896 @end lilypond
2897
2898 La instrucción @code{\newSpacingSection} crea un nuevo objeto
2899 @code{SpacingSpanner}, y de ahí que se puedan usar nuevas
2900 instrucciones de sobreescritura @code{\override} en dicho punto.
2901
2902 @seealso
2903 Fragmentos de código:
2904 @rlsr{Spacing}.
2905
2906 Referencia de funcionamiento interno:
2907 @rinternals{SpacingSpanner}.
2908
2909
2910 @node Cambiar el espaciado horizontal
2911 @subsection Cambiar el espaciado horizontal
2912 @translationof Changing horizontal spacing
2913
2914 Se puede alterar el espaciado horizontal con la propiedad
2915 @code{base-shortest-duration}.  Aquí compararemos la misma música, una
2916 vez sin alterar la propiedad, y luego alterándola.  Los valores
2917 mayores de @code{ly:make-moment} producen música más pequeña.  Observe
2918 que @code{ly:make-moment} construye una duración, por lo que @code{1
2919 4} es una duración mayor que @code{1 16}.
2920
2921 @lilypond[verbatim,line-width=12\cm]
2922 \score {
2923   \relative c'' {
2924     g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2925     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2926     d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2927     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2928   }
2929 }
2930 @end lilypond
2931
2932 @lilypond[verbatim,line-width=12\cm]
2933 \score {
2934   \relative c'' {
2935     g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2936     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2937     d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2938     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2939   }
2940   \layout {
2941     \context {
2942       \Score
2943       \override SpacingSpanner
2944         #'base-shortest-duration = #(ly:make-moment 1 16)
2945     }
2946   }
2947 }
2948 @end lilypond
2949
2950 @snippets
2951 De forma predeterminada, el espaciado en los grupos de valoración
2952 especial depende de varios factores ajenos a la duración (como
2953 alteraciones, cambios de clave, etc.).  Para pasar por alto estos
2954 símbolos y forzar un espaciado de duraciones iguales uniforme, use
2955 @code{Score.SpacingSpanner #'uniform-stretching}.  Esta propiedad sólo
2956 puede cambiarse al principio de la partitura:
2957
2958 @lilypond[quote,ragged-right,verbatim]
2959 \score {
2960   <<
2961     \new Staff {
2962       \times 4/5 {
2963         c8 c8 c8 c8 c8
2964       }
2965       c8 c8 c8 c8
2966     }
2967     \new Staff {
2968       c8 c8 c8 c8
2969       \times 4/5 {
2970         c8 c8 c8 c8 c8
2971       }
2972     }
2973   >>
2974   \layout {
2975     \context {
2976       \Score
2977       \override SpacingSpanner #'uniform-stretching = ##t
2978     }
2979   }
2980 }
2981 @end lilypond
2982
2983 Cuando se establece @code{strict-note-spacing}, las notas se separan
2984 sin tener en cuenta las claves, líneas divisorias ni notas de adorno:
2985
2986 @lilypond[quote,ragged-right,relative=2,verbatim]
2987 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2988 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
2989 @end lilypond
2990
2991 @seealso
2992 Fragmentos de código:
2993 @rlsr{Spacing}.
2994
2995
2996 @node Longitud de la línea
2997 @subsection Longitud de la línea
2998 @translationof Line length
2999
3000 @cindex saltos de página
3001 @cindex página, saltos de
3002
3003 @funindex indent
3004 @funindex line-width
3005 @funindex ragged-right
3006 @funindex ragged-last
3007
3008 @c Although line-width can be set in \layout, it should be set in paper
3009 @c block, to get page layout right.
3010 @c Setting indent in \paper block makes not much sense, but it works.
3011
3012 @c Bit verbose and vague, use examples?
3013 Los ajustes más básicos que influyen en el espaciado son @code{indent}
3014 y @code{line-width}.  Se definen en el bloque @code{\layout}.
3015 Controlan el sangrado de la primera línea de música y la longitud de
3016 las líneas.
3017
3018 Si se fija un valor verdadero para @code{ragged-right} en el bloque
3019 @code{\layout}, entonces los sistemas terminan en su longitud
3020 horizontal natural, en lugar de repartirse horizontalmente hasta
3021 llenar toda la línea.  Esto es útil para fragmentos cortos, y para
3022 comprobar qué tan apretado es el espaciado natural.
3023 El valor normal predeterminado es falso, pero si la partitura
3024 tiene un solo sistema, el valor predeterminado es verdadero.
3025
3026 @cindex diseño de página
3027 @cindex página, disposición de la
3028 @cindex vertical, espaciado
3029
3030 La opción @code{ragged-last} es similar a @code{ragged-right}, pero
3031 afecta sólo a la última línea de la pieza.  No se efectúa ninguna
3032 restricción sobre dicha línea.  El resultado es similar al formateo de
3033 los párrafos de texto.  En un párrafo, la última línea sencillamente
3034 ocupa su longitud horizontal natural.
3035 @c Note that for text there are several options for the last line.
3036 @c While Knuth TeX uses natural length, lead typesetters use the same
3037 @c stretch as the previous line.  eTeX uses \lastlinefit to
3038 @c interpolate between both these solutions.
3039
3040 @example
3041 \layout @{
3042   indent = #0
3043   line-width = #150
3044   ragged-last = ##t
3045 @}
3046 @end example
3047
3048 @seealso
3049 Fragmentos de código:
3050 @rlsr{Spacing}.
3051
3052
3053 @node Notación proporcional
3054 @subsection Notación proporcional
3055 @translationof Proportional notation
3056
3057 LilyPond contempla la notación proporcional, un tipo de espaciado
3058 horizontal en el que cada nota consume una medida horizontal que
3059 equivale exactamente a su duración rítmica.  Este tipo de espaciado
3060 proporcional es comparable al espaciado horizontal hecho sobre un
3061 papel milimetrado.  Ciertas partituras del finales del s.XX y
3062 principios del s.XXI utilizan notación proporcional para clarificar
3063 relaciones rítmicas complejas o para facilitar la colocación de líneas
3064 cronométricas u otros gráficos directamente en la partitura.
3065
3066 LilyPond contempla cinco ajustes distintos para la notación
3067 proporcional, que se pueden usar solos o combinados:
3068
3069 @itemize
3070 @item @code{proportionalNotationDuration}
3071 @item @code{uniform-stretching}
3072 @item @code{strict-note-spacing}
3073 @item @code{\remove Separating_line_group_engraver}
3074 @item @code{\override PaperColumn #'used = ##t}
3075 @end itemize
3076
3077 En los ejemplos que siguen, exploramos el uso de estos cinco ajustes
3078 de la notación proporcional y examinamos la forma en que interactúan.
3079
3080 Comenzamos con el siguiente ejemplo de un solo compás, que usa un
3081 espaciado clásico sin justificación por la derecha.
3082
3083 @lilypond[quote,verbatim,ragged-right]
3084 \score {
3085   <<
3086     \new RhythmicStaff {
3087       c'2
3088       c'16 c'16 c'16 c'16
3089       \times 4/5 {
3090         c'16 c'16 c'16 c'16 c'16
3091       }
3092     }
3093   >>
3094 }
3095 @end lilypond
3096
3097 Observe que la blanca que inicia el compás ocupa mucho menos de la
3098 mitad de todo el espacio horizontal del compás.  De forma similar, las
3099 semicorcheas y el cinquillo de semicorcheas con que finaliza el compás
3100 ocupan en conjunto mucho más de la mitad de todo el espacio horizontal
3101 del compás.
3102
3103 En el grabado clásico, este espaciado puede ser exactamente el que
3104 deseamos porque podemos tomar prestado el espacio horizontal de la
3105 blanca y conservar el espacio horizontal a lo largo del compás como un
3106 todo.
3107
3108 Por otro lado, si queremos insertar una línea de tiempo graduada o
3109 algún otro gráfico encima o debajo de la partitura, necesitamos la
3110 notación proporcional.  Se activa la notación proporcional con el
3111 ajuste @code{proportionalNotationDuration}.
3112
3113 @lilypond[quote,verbatim,ragged-right]
3114 \score {
3115   <<
3116     \new RhythmicStaff {
3117       c'2
3118       c'16 c'16 c'16 c'16
3119       \times 4/5 {
3120         c'16 c'16 c'16 c'16 c'16
3121       }
3122     }
3123   >>
3124  \layout {
3125     \context {
3126       \Score
3127       proportionalNotationDuration = #(ly:make-moment 1 20)
3128     }
3129   }
3130 }
3131 @end lilypond
3132
3133 La blanca al principio del compás y las notas rápidas de la segunda
3134 mitad del compás ocupan ahora cantidades iguales de espacio
3135 horizontal.  Podríamos colocar una línea de tiempo graduada o un
3136 gráfico encima o debajo de este ejemplo.
3137
3138 El ajuste @code{proportionalNotationDuration} es un ajuste de contexto
3139 que reside en @code{Score}.  Recordemos que los ajustes de contexto
3140 aparecen en uno de tres posibles lugares del archivo de entrada: en un
3141 bloque @code{\with}, en un bloque @code{\context}, o directamente
3142 entre la música precedido por la instrucción @code{\set}.  Como con
3143 todos los ajustes de contexto, el usuario puede elegir en cuál de los
3144 tres lugares diferentes prefiere establecer el valor de
3145 @code{proportionalNotationDuration}.
3146
3147 El ajuste @code{proportionalNotationDuration} acepta un solo
3148 argumento, que es la duración de referencia contra el que se aplica el
3149 espaciado de toda la música.  La función Scheme de LilyPond
3150 @code{make-moment} acepta dos argumentos: un numerador y un
3151 denominador que, juntos, expresan una cierta fracción de redonda.  La
3152 llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración
3153 de referencia de una nota de un veinteavo de redonda (semicorcheas de
3154 cinquillo).  Son también posibles valores como
3155 @code{(ly:make-moment 1 16)},
3156 @code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}.
3157
3158 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
3159 @code{proportionalNotationDuration}?  Normalmente mediante un proceso
3160 de ensayo y error, comenzando con una duración cercana a la más rápida
3161 (o más breve) duración de la pieza.  Las duraciones de referencia más
3162 pequeñas aplican un espaciado más suelto; las duraciones de referencia
3163 más largas aplican un espaciado más apretado.
3164
3165 @lilypond[quote,verbatim,ragged-right]
3166 \score {
3167   <<
3168     \new RhythmicStaff {
3169       c'2
3170       c'16 c'16 c'16 c'16
3171       \times 4/5 {
3172         c'16 c'16 c'16 c'16 c'16
3173       }
3174     }
3175   >>
3176   \layout {
3177     \context {
3178       \Score
3179       proportionalNotationDuration = #(ly:make-moment 1 8)
3180     }
3181   }
3182 }
3183
3184 \score {
3185   <<
3186     \new RhythmicStaff {
3187       c'2
3188       c'16 c'16 c'16 c'16
3189       \times 4/5 {
3190         c'16 c'16 c'16 c'16 c'16
3191       }
3192     }
3193   >>
3194   \layout {
3195     \context {
3196       \Score
3197       proportionalNotationDuration = #(ly:make-moment 1 16)
3198     }
3199   }
3200 }
3201
3202 \score {
3203   <<
3204     \new RhythmicStaff {
3205       c'2
3206       c'16 c'16 c'16 c'16
3207       \times 4/5 {
3208         c'16 c'16 c'16 c'16 c'16
3209       }
3210     }
3211   >>
3212   \layout {
3213     \context {
3214       \Score
3215       proportionalNotationDuration = #(ly:make-moment 1 32)
3216     }
3217   }
3218 }
3219 @end lilypond
3220
3221 Observe que una duración de referencia demasiado grande (como la
3222 corchea, en el ejemplo de arriba) produce un espaciado excesivamente
3223 apretado y puede ser causa de colisiones entre las cabezas de nota.
3224 Observe también que la notación proporcional en general ocupa más
3225 espacio horizontal que el espaciado clásico.  El espaciado
3226 proporcional aporta claridad rítmica a expensas del espacio
3227 horizontal.
3228
3229 Ahora veremos cómo espaciar de forma óptima grupos de valoración
3230 especial que se superponen.
3231
3232 Empezamos por examinar qué le ocurre a nuestro ejemplo original, con
3233 espaciado clásico, cuando añadimos un segundo pentagrama con un tipo
3234 diferente de grupo especial.
3235
3236 @lilypond[quote,verbatim,ragged-right]
3237 \score {
3238   <<
3239     \new RhythmicStaff {
3240       c'2
3241       c'16 c'16 c'16 c'16
3242       \times 4/5 {
3243         c'16 c'16 c'16 c'16 c'16
3244       }
3245     }
3246     \new RhythmicStaff {
3247       \times 8/9 {
3248         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3249       }
3250     }
3251   >>
3252 }
3253 @end lilypond
3254
3255 El espaciado es defectuoso porque las notas regularmente espaciadas
3256 del pentagrama inferior no se amplían de manera uniforme.  Los grabados
3257 clásicos incluyen muy pocos tresillos complejos y así las reglas del
3258 grabado clásico pueden generar este tipo de resultado.  El
3259 establecimiento de @code{proportionalNotationDuration} lo
3260 soluciona.
3261
3262 @lilypond[quote,verbatim,ragged-right]
3263 \score {
3264   <<
3265     \new RhythmicStaff {
3266       c'2
3267       c'16 c'16 c'16 c'16
3268       \times 4/5 {
3269         c'16 c'16 c'16 c'16 c'16
3270       }
3271     }
3272     \new RhythmicStaff {
3273       \times 8/9 {
3274         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3275       }
3276     }
3277   >>
3278   \layout {
3279     \context {
3280       \Score
3281       proportionalNotationDuration = #(ly:make-moment 1 20)
3282     }
3283   }
3284 }
3285 @end lilypond
3286
3287 Pero si observamos con mucho cuidado podremos ver que las notas de la
3288 segunda mitad del 9-illo están espaciadas de forma ligeramente más
3289 ancha que las de la primera mitad del 9-illo.  Para asegurar una
3290 ampliación uniforme, activamos @code{uniform-stretching}, que es una
3291 propiedad de @code{SpacingSpanner}.
3292
3293 @lilypond[quote,verbatim,ragged-right]
3294 \score {
3295   <<
3296     \new RhythmicStaff {
3297       c'2
3298       c'16 c'16 c'16 c'16
3299       \times 4/5 {
3300         c'16 c'16 c'16 c'16 c'16
3301       }
3302     }
3303     \new RhythmicStaff {
3304       \times 8/9 {
3305         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3306       }
3307     }
3308   >>
3309   \layout {
3310     \context {
3311       \Score
3312       proportionalNotationDuration = #(ly:make-moment 1 20)
3313       \override SpacingSpanner #'uniform-stretching = ##t
3314     }
3315   }
3316 }
3317 @end lilypond
3318
3319 Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente,
3320 nuestras relaciones rítmicas son visualmente claras, y podemos incluir
3321 una línea de tiempo graduada o un gráfico, si queremos.
3322
3323 Observe que el paquete de notación proporcional de LilyPond espera que
3324 todas las partituras proporcionales establezcan el atributo
3325 @code{uniform-stretching} de @code{SpacingSpanner} al valor ##t.  El
3326 establecimiento de @code{proportionalNotationDuration} sin ajustar
3327 también el atributo @code{uniform-stretching} de @code{SpacingSpanner}
3328 al valor ##t causará, por ejemplo, que los desplazamientos
3329 (@code{skips}) consuman una cantidad de espacio horizontal incorrecta.
3330
3331 El @code{SpacingSpanner} es un grob abstracto que reside en el
3332 contexto de @code{Score}. Como con nuestros ajustes de
3333 @code{proportionalNotationDuration}, las sobreescrituras al
3334 @code{SpacingSpanner} sólo pueden ocurrir en uno de estos tres lugares
3335 dentro del archivo de entrada: en el bloque @code{\with}, en el bloque
3336 @code{\context} o directamente dentro de la escritura de notas.
3337
3338 De manera predeterminada, sólo hay un @code{SpacingSpanner} por
3339 @code{Score}.  Esto supone que, por omisión, @code{uniform-stretching}
3340 está activado para la partitura completa o desactivado para la
3341 partitura completa.  Sin embargo, podemos sobreescribir este
3342 comportamiento y activar distintas posibilidades de espaciado en
3343 distintos lugares de la partitura.  Lo hacemos con la instrucción
3344 @code{\newSpacingSection}.  Consulte @ref{Área de espaciado nueva}
3345 para más información.
3346
3347 A continuación examinamos los efectos del grabador
3348 @code{Separating_line_group_engraver} y veremos por qué las partituras
3349 proporcionales con frecuencia eliminan este grabador.  El ejemplo
3350 siguiente muestra que hay una pequeña cantidad de espacio
3351 @qq{preliminar} justo antes de la primera nota de cada sistema.
3352
3353 @lilypond[quote,verbatim,ragged-right]
3354 \paper {
3355   indent = #0
3356 }
3357
3358 \new Staff {
3359   c'1
3360   \break
3361   c'1
3362 }
3363 @end lilypond
3364
3365 Esta cantidad de espacio preliminar es la misma ya sea después de
3366 una indicación de compás, una armadura o una clave.  El grabador
3367 @code{Separating_line_group_engraver} es responsable de este espacio.
3368 La eliminación de @code{Separating_line_group_engraver} reduce este
3369 espacio a cero.
3370
3371 @lilypond[quote,verbatim,ragged-right]
3372 \paper {
3373   indent = #0
3374 }
3375
3376 \new Staff \with {
3377   \remove Separating_line_group_engraver
3378 } {
3379   c'1
3380   \break
3381   c'1
3382 }
3383 @end lilypond
3384
3385 Los elementos no musicales como la indicación de compás, la armadura,
3386 la clave y las alteraciones son problemáticos en notación
3387 proporcional.  Ninguno de estos elementos tiene duración rítmica.
3388 Pero todos ellos consumen espacio horizontal.  Las distintas
3389 partituras proporcionales abordan este problema de distinta manera.
3390
3391 Sería posible evitar los problemas de espaciado con las armaduras,
3392 simplemente evitando tenerlas.  Esta es una opción válida pues casi
3393 todas las partituras proporcionales son música contemporánea.  Lo
3394 mismo puede valer para las indicaciones de compás, especialmente para
3395 las partituras que incluyen una línea de tiempo graduada u otro
3396 gráfico.  Pero estas partituras son excepcionales y casi todas las
3397 partituras proporcionales incluyen al menos unas pocas indicaciones de
3398 compás.  Las claves y las alteraciones son aún más esenciales.
3399
3400 Así pues ¿qué estrategias existen para el espaciado de los elementos
3401 no musicales en un contexto proporcional?  Una buena opción es la
3402 propiedad @code{strict-note-spacing} de @code{SpacingSpanner}.
3403 Compare las dos partituras siguientes:
3404
3405 @lilypond[quote,verbatim,ragged-right]
3406 \new Staff {
3407   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3408   c''8
3409   c''8
3410   c''8
3411   \clef alto
3412   d'8
3413   d'2
3414 }
3415
3416 \new Staff {
3417   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3418   \override Score.SpacingSpanner #'strict-note-spacing = ##t
3419   c''8
3420   c''8
3421   c''8
3422   \clef alto
3423   d'8
3424   d'2
3425 }
3426 @end lilypond
3427
3428 Las dos partituras son proporcionales, pero el espaciado de la
3429 primera es muy suelto a causa del cambio de clave. Sin embargo, el
3430 espaciado de la segunda partitura se mantiene estricto, porque
3431 @code{strict-note-spacing} está activado.  La activación de
3432 @code{strict-note-spacing} hace que el ancho de las indicaciones de
3433 compás, armaduras, cambios de clave y alteraciones no tomen parte en
3434 el algoritmo de espaciado.
3435
3436 Además de los ajustes dados aquí, hay otros que aparecen con
3437 frecuencia en las partituras proporcionales.  Entre ellos están:
3438
3439 @itemize
3440 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3441 @item @code{tupletFullLength = ##t}
3442 @item @code{\override Beam #'breakable = ##t}
3443 @item @code{\override Glissando #'breakable = ##t}
3444 @item @code{\override TextSpanner #'breakable = ##t}
3445 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3446 @end itemize
3447
3448 Estos ajustes dan a las notas de adorno un espaciado estricto,
3449 extienden los corchetes de grupo especial para que marquen tanto los
3450 puntos de comienzo como de final, y permiten que los elementos de
3451 extensión se dividan entre los sistemas y las páginas.  Consulte las
3452 partes respectivas del manual para ver estos ajustes relacionados.
3453
3454 @seealso
3455 Referencia de la notación:
3456 @ref{Área de espaciado nueva}.
3457
3458 Fragmentos de código:
3459 @rlsr{Spacing}.
3460
3461
3462 @node Encajar la música en menos páginas
3463 @section Encajar la música en menos páginas
3464 @translationof Fitting music onto fewer pages
3465
3466 En ocasiones, podemos terminar con uno o dos pentagramas en una
3467 segunda página (o tercera, o cuarta@dots{}).  Es fastidioso,
3468 especialmente cuando vemos que las páginas anteriores parecen tener
3469 espacio de sobra.
3470
3471 Al investigar los problemas de disposición, una herramienta de valor
3472 incalculable es @code{annotate-spacing}.  Esta instrucción imprime los
3473 valores de un cierto número de variables de espaciado; para ver más
3474 detalles consulte la sección siguiente, @ref{Mostrar el espaciado}.
3475
3476 @menu
3477 * Mostrar el espaciado::
3478 * Cambiar el espaciado::
3479 @end menu
3480
3481
3482 @node Mostrar el espaciado
3483 @subsection Mostrar el espaciado
3484 @translationof Displaying spacing
3485
3486 @cindex espaciado, presentación del
3487 @funindex annotate-spacing
3488
3489 Para presentar gráficamente las dimensiones de las variables de
3490 disposición vertical que pueden verse alteradas por el formato de la
3491 página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
3492
3493 @c need to have \book{} otherwise we get the separate systems. -hwn
3494 @lilypond[verbatim,quote]
3495 #(set-default-paper-size "a6" 'landscape)
3496 \book {
3497   \score { { c4 } }
3498   \paper { annotate-spacing = ##t }
3499 }
3500 @end lilypond
3501
3502 @noindent
3503 Todas las dimensiones de disposición se muestran en espacios de
3504 pentagrama, independientemente de las unidades especificadas en los
3505 bloques @code{\paper} o @code{\layout}. En el ejemplo anterior,
3506 @code{paper-height} tiene un valor de 59.75 @code{staff-spaces}
3507 (espacios de pentagrama), y el @code{staff-size} (tamaño del
3508 pentagrama) es de 20 puntos, el valor predeterminado. Observe que:
3509
3510 @multitable {1 staff-space} {staff-size)/4 * (25.4/72.27) mm}
3511
3512 @item 1 punto
3513 @tab = (25.4/72.27) mm
3514
3515 @item 1 staff-space
3516 @tab = (@code{staff-size})/4 pts
3517 @item
3518 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3519
3520 @end multitable
3521
3522 @noindent
3523 En este caso, un @code{staff-space} equivale aproximadamente a
3524 1.757mm.  Así, la medida @code{paper-height} de 59.75
3525 @code{staff-spaces} equivale a 105 milímetros, la altura de una hoja
3526 @code{a6} en orientación apaisada.  Las parejas (@var{a},@var{b}) son
3527 intervalos, donde @var{a} es el límite inferior y @var{b} es el límite
3528 superior del intervalo.
3529
3530 @seealso
3531 Referencia de la notación:
3532 @ref{Establecer el tamaño del pentagrama}.
3533
3534 Fragmentos de código:
3535 @rlsr{Spacing}.
3536
3537
3538 @node Cambiar el espaciado
3539 @subsection Cambiar el espaciado
3540 @translationof Changing spacing
3541
3542 La salida de @code{annotate-spacing} revela las dimensiones verticales
3543 con gran detalle.  Para ver más detalles acerca de la modificación de
3544 los márgenes y otras variables de diseño de la página, consulte
3545 @ref{Disposición de la página}.
3546
3547 Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
3548
3549 @itemize
3550 @item
3551 Forzar los sistemas para que se junten lo más posible entre sí (de
3552 forma que quepan la mayor cantidad de ellos en la página) y al mismo
3553 tiempo estén espaciados de forma que no exista un espacio vacío en la
3554 parte baja del papel.
3555
3556 @example
3557 \paper @{
3558   system-system-spacing = #'((basic-distance . 0.1) (padding . 0))
3559   ragged-last-bottom = ##f
3560   ragged-bottom = ##f
3561 @}
3562 @end example
3563
3564 @item
3565 Forzar el número de sistemas.  Puede ser de utilidad de dos formas.
3566 Si tan sólo se establece un valor, incluso el mismo valor que el
3567 número de sistemas que se están trazando de forma predeterminada, ello
3568 ocasionará a veces que se traten de introducir más sistemas en cada
3569 página, pues en este caso se omite un paso en que se produce una
3570 estimación, dando así un encaje mejor en cada página.  Asimismo, el
3571 forzar una reducción neta en el número de sistemas puede producir el
3572 ahorro de una página adicional.  Por ejemplo, si la disposición
3573 predeterminada tiene 11 sistemas, la asignación siguiente fuerza una
3574 disposición con 10 sistemas.
3575
3576 @example
3577 \paper @{
3578   system-count = #10
3579 @}
3580 @end example
3581
3582 @item
3583 Forzar el número de páginas.  Por ejemplo, la asignación
3584 siguiente fuerza una disposición con dos páginas.
3585
3586 @example
3587 \paper @{
3588   page-count = #2
3589 @}
3590 @end example
3591
3592 @item
3593 Evitar (o reducir en número) los objetos que aumentan el tamaño
3594 vertical de un sistema.  Por ejemplo, las repeticiones de primera y
3595 segunda vez (o repeticiones con finales alternativos) necesitan
3596 espacio adicional.  Si estas repeticiones se reparten a lo largo de
3597 dos sistemas, ocupan más espacio que un sistema con las casillas de
3598 repetición y otro sistema sin ellas.  Por ejemplo, las indicaciones
3599 dinámicas que se @q{salen} de un sistema se pueden acercar al
3600 pentagrama:
3601
3602 @lilypond[verbatim,quote,relative=1]
3603 e4 c g\f c
3604 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3605 @end lilypond
3606
3607 @item
3608 Alterar el espaciado horizontal por medio de @code{SpacingSpanner}.
3609 Para ver más detalles, consulte @ref{Cambiar el espaciado horizontal}.
3610 El ejemplo siguiente ilustra el espaciado predeterminado:
3611
3612 @lilypond[verbatim,quote]
3613 \score {
3614   \relative c'' {
3615     g4 e e2 |
3616     f4 d d2 |
3617     c4 d e f |
3618     g4 g g2 |
3619     g4 e e2 |
3620   }
3621 }
3622 @end lilypond
3623
3624 @noindent
3625 El ejemplo siguiente modifica @code{common-shortest-duration} de un
3626 valor de @code{1/4} (negra) a @code{1/2} (blanca).  La negra es la
3627 nota más común y la más breve del ejemplo, por lo que al agrandar esta
3628 duración se produce un efecto de @q{apretujamiento}:
3629
3630 @lilypond[verbatim,quote]
3631 \score {
3632   \relative c'' {
3633     g4 e e2 |
3634     f4 d d2 |
3635     c4 d e f |
3636     g4 g g2 |
3637     g4 e e2 |
3638   }
3639   \layout {
3640     \context {
3641       \Score
3642       \override SpacingSpanner
3643         #'common-shortest-duration = #(ly:make-moment 1 2)
3644     }
3645   }
3646 }
3647 @end lilypond
3648
3649 @noindent
3650 La propiedad @code{common-shortest-duration} no se puede modificar de
3651 manera dinámica, por lo que se debe situar siempre dentro de un
3652 bloque @code{\context} de forma que se aplique a la partitura
3653 completa.
3654
3655 @end itemize
3656
3657 @seealso
3658 Referencia de la notación:
3659 @ref{Disposición de la página},
3660 @ref{Cambiar el espaciado horizontal}.
3661
3662 Fragmentos de código:
3663 @rlsr{Spacing}.