4.2.1 El bloque \layout
Así como el bloque \paper
contiene ajustes relativos al
formateo de la página para todo el documento, el bloque \layout
contiene ajustes para la disposición específica de las partituras.
Para fijar las opciones de disposición de partituras de forma global,
escríbalas en un bloque \layout
del nivel jerárquico superior.
Para fijar opciones de disposición para una partitura individual
escríbalas dentro de un bloque \layout
dentro del bloque
\score
, después de la música. Entre los ajustes que pueden
aparecer en un bloque \layout
se encuentran los siguientes:
- la función de Scheme
layout-set-staff-size
, - las modificaciones de contexto de los bloques
\context
, y - las variables de
\paper
que afectan a la disposición de la partitura.
La función layout-set-staff-size
se estudia en la sección
siguiente, Establecer el tamaño del pentagrama. Las
modificaciones de contexto se estudian en un capítulo distinto; véase
Modificar los complementos (plug-ins) de contexto y
Cambiar los valores por omisión de los contextos. Las variables de
\paper
que pueden aparecer dentro de un bloque \layout
son:
-
line-width
,ragged-right
yragged-last
(véase Variables de\paper
para la anchura y los márgenes) -
indent
yshort-indent
(véase Variables de\paper
para desplazamientos y sangrados) -
system-count
(véase Variables de\paper
para los saltos de línea)
He aquí un ejemplo de un bloque \layout
:
\layout { indent = 2\cm \context { \StaffGroup \override StaffGrouper.staff-staff-spacing.basic-distance = #8 } \context { \Voice \override TextScript.padding = #1 \override Glissando.thickness = #3 } }
Se pueden escribir varios bloques \layout
como expresiones del
nivel superior. Esto puede ser útil, por ejemplo, si hay distintos
ajustes almacenados en diversos archivos y se incluyen opcionalmente.
Internamente, cuando se evalúa un bloque \layout
, se hace una
copia de la configuración de \layout
actual, y después se
aplican los cambios definidos en el bloque; el resultado se guarda
como la nueva configuración actual. Desde el punto de vista del
usuario, los bloques \layout
se combinan, pero en situaciones
de conflicto (cuando se cambia la misma propiedad en diferentes
bloques) las definiciones más tarías toman precedencia.
Por ejemplo: si este bloque:
\layout { \context { \Voice \override TextScript.color = #magenta \override Glissando.thickness = #1.5 } }
se coloca después del del ejemplo anterior, las sobreescrituras de
'padding
y de 'color
para TextScript
se combinan,
pero la última sobreescritura 'thickness
para Glissando
sustituye (u oculta) a la anterior.
Los bloques \layout
se pueden asignar a variables para una
reutilización posterior, pero la forma en que esto funciona es ligera
y significativamente diferente del hecho de escribirlas literalmente.
Si se define una variable de la siguiente manera:
variable_de_Layout = \layout { \context { \Voice \override NoteHead.font-size = #4 } }
guardará la configuración actual de \layout
con la
sobreescritura añadida de NoteHead.font-size
, pero esta
combinación no se guarda como la nueva configuración actual.
Tenga en cuenta que la ‘configuración actual’ se lee cuando la
variable se define y no cuando se usa, de manera que el contenido de
la variable depende de su posición dentro del código fuente.
La variable se puede entonces usar dentro de otro bloque
\layout
, por ejemplo:
\layout { \variable_de_layout \context { \Voice \override NoteHead.color = #red } }
Un bloque \layout
que contiene una variable, como en el ejemplo
anterior, no copia la configuración actual, sino que en lugar
de ello usa el contenido de \variable_de_layout
como la
configuración base para las adiciones posteriores. Esto significa que
cualquier cambio definido entre la definición y el uso de la variable,
se pierde.
Si la variable_de_layout
se define (o se incluye con
\include
) inmediatamente antes de que se utilice, su contenido
es sencillamente la configuración en curso más las sobreescrituras que
se hayan definido dentro de él. Así pues, en el ejemplo anterior que
muestra el uso de \variable_de_layout
el último bloque
\layout
consistiría en:
TextScript.padding = #1 TextScript.color = #magenta Glissando.thickness = #1.5 NoteHead.font-size = #4 NoteHead.color = #red
más las sobreescrituras de indent
y de StaffGrouper
.
Pero si la variable ya hubiera sido definida antes del primer bloque
\layout
la configuración actual contendría ahora solamente
NoteHead.font-size= #4 % (escrita en la definición de la variable) NoteHead.color = #red % (añadida después del uso de la variable)
Si se planifica cuidadosamente, las variables de \layout
pueden
ser una herramienta valiosa para estructurar el diseño de la
disposición de las fuentes, y tambiién para reiniciar la configuración
de \layout
a un estado conocido.
Véase también
Referencia de la notación: Cambiar los valores por omisión de los contextos.
Fragmentos de código: Spacing.
Otros idiomas: English, français, italiano.
Acerca de la selección automática del idioma.