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