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