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