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