4.3.2 Tamaño de los objetos

Empezaremos examinando de nuevo un ejemplo anterior (véase Anidado de expresiones musicales) que nos mostraba cómo introducir un pentagrama temporal, como en un ossia.

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = #"main" }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Los fragmentos de Ossia se escriben normalmente sin clave ni compás, y por lo normal se imprimen más pequeños que el pentagrama principal. Ya sabemos cómo quitar la clave y el compás: simplemente establecemos el sello de cada uno de ellos a #f, como sigue:

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = #"main"
      }
      {
        \omit Staff.Clef
        \omit Staff.TimeSignature
        { f8 f c }
      }
    >>
    r4 |
  }
}

[image of music]

donde el par de llaves adicional después de la cláusula \with es necesario para asegurar que la sobreescritura encerrada y la música se aplican al pentagrama de ossia.

Pero ¿cuál es la diferencia entre modificar el contexto de pentagrama usando \with y modificar los sellos de clave y de compás con \override, o en este caso \omit? La diferencia principal es que los cambios que se realizan en una cláusula \with se hacen en el momento en que se crea el contexto, y permanecen activos como valores predeterminados durante toda la duración de dicho contexto, mientras que las instrucciones \set o \override incluidas dentro de la música son dinámicas: hacen cambios sincronizados con un punto concreto de la música. Si los cambios se deshacen o se devuelven mediante \unset o \revert volverán a su valor predeterminado que será el establecido en la cláusula \with, o si no se ha establecido ninguno en este lugar, los valores predeterminados normales.

Ciertas propiedades de contexto se pueden modificar solamente dentro de cláusulas \with. Son aquellas propiedades que no se pueden cambiar después de que el contexto se ha creado. alignAboveContext y su compañero, alignBelowContext, son dos de tales propiedades: una vez que el pentagrama se ha creado, su alineación está decidida y no tendría sentido intentar cambiarla más tarde.

Los valores predeterminados de las propiedades de los objetos de presentación también se pueden establecer dentro de cláusulas \with. Simplemente utilice la instrucción \override normal dejando aparte el nombre del contexto, ya que está definido sin ambigüedad como el contexto que la cláusula \with está modificando. De hecho, se producirá un error si se especifica un contexto en este lugar.

Así pues, podemos reemplazar el ejemplo anterior con

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = #"main"
        % Don't print clefs in this staff
        \override Clef.stencil = ##f
        % Don't print time signatures in this staff
        \override TimeSignature.stencil = ##f
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Resulta que también podemos emplear aquí las abreviaturas \hide y \omit para fijar la propiedad transparent y borrar el stencil, lo que conduce al resultado siguiente:

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = #"main"
        % Don't print clefs in this staff
        \omit Clef
        % Don't print time signatures in this staff
        \omit TimeSignature
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Finalmente llegamos a la forma de cambiar el tamaño de los objetos de presentación.

Ciertos objetos de presentación se crean como glifos sacados de una fuente tipográfica. Entre ellos se encuentran las cabezas, alteraciones, elementos de marcado, claves, indicaciones de compás, indicaciones dinámicas y la letra de las canciones. Su tamaño se cambia mediante la modificación de la propiedad font-size, como veremos en breve. Otros objetos de presentación como ligaduras de unión y de expresión (en general, objetos de extensión) se trazan individualmente, por lo que no hay un tamaño de tipografía font-size asociado a ellos. Estos objetos generalmente derivan su tamaño de los objetos a los que están adosados, y por ello normalmente no hay necesidad de cambiarles el tamaño manualmente. Aún otras propiedades como la longitud de las plicas y las barras de compás, el grosor de las barras de corchea y otras líneas, y la separación de las líneas del pentagrama se deben modificar de otras formas especiales.

Volviendo al ejemplo del ossia, vamos a cambiar en primer lugar el tamaño de la tipografía. Podemos hacerlo de dos formas. Podemos cambiar el tamaño de las tipografías de cada uno de los tipos de objeto como las cabezas (NoteHeads) con instrucciones como

\override NoteHead.font-size = #-2

o podemos cambiar el tamaño de todas las tipografías estableciendo una propiedad especial, fontSize, utilizando \set, o mediante su inclusión dentro de una cláusula \with (pero sin el \set).

\set fontSize = #-2

Los dos enunciados producirían una reducción del tamaño de la tipografía en dos pasos a partir de su valor previo, donde cada paso reduce o aumenta el tamaño aproximadamente en un 12%.

Vamos a probarlo en nuestro ejemplo del ossia:

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = #"main"
        \omit Clef
        \omit TimeSignature
        % Reduce all font sizes by ~24%
        fontSize = #-2
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Aún no está demasiado bien. Las cabezas y los corchetes de las notas son más pequeños, pero las plicas son demasiado largas en proporción, y las líneas del pentagrama están demasiado separadas entre sí. Se debe reducir su escala en proporción a la reducción de la tipografía. El siguiente apartado trata sobre cómo se hace esto.


Otros idiomas: English, català, česky, deutsch, français, italiano, 日本語, nederlands.
Acerca de la selección automática del idioma.

LilyPond — Manual de aprendizaje v2.21.0 (rama de desarrollo).