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