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