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