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