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