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