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