5.1.7 Orden de disposición de los contextos

Los contextos se disponen en un sistema normalmente desde arriba hacia abajo en el orden en que se encuentran en el archivo de entrada. Cuando los contextos se anidan unos dentro de otros, el contexto exterior incluye a los contextos anidados tal y como se especifica en el archivo de entrada, siempre y cuando los contextos interiores estén incluidos en la lista “accepts” del contexto externo. Los contextos anidados que no está nincluidos en la lista “accepts” del contexto externo se recolocan debajo del contexto externo en lugar de anidarse dentro de él.

La lista “accepts” de un contexto se puede cambiar con las instrucciones \accepts (acepta) y \denies (niega). \accepts añade un contexto a la lista “accepts” y \denies elimina un contexto de la lista. Por ejemplo, normalmente no sería deseable que los acordes de cifrado americano estuvieran anidados dentro de un contexto Staff, por lo que el contexto ChordNames no se incluye de forma predeterminada dentro de la lista “accepts” del contexto Staff, pero podría hacerse si fuera necesario:

\score {
  \new Staff {
    c' d' e' f'
    \chords { d1:m7 b1:min7.5- }
  }
}

[image of music]

\score {
  \new Staff {
    c' d' e' f'
    \chords { d1:m7 b1:min7.5- }
  }
  \layout {
    \context {
      \Staff
      \accepts "ChordNames"
    }
  }
}

[image of music]

\denies se usa principalmente cuando un contexto nuevo se está basando en otro, pero los anidamientos requeridos difieren. Por ejemplo, el contexto VaticanaStaff está basado en el contexto Staff, pero con el contexto VaticanaVoice sustituido por el contexto Voice en la lista “accepts”.

Observe que discretamente se crea un contexto de forma implícita si se encuentra una instrucción donde no hay un contexto apropiado para contenerlo. Esto puede dar lugar a pentagramas o partituras nuevos no esperados.

Véase también

Manual de utilización del programa: Aparece un pentagrama de más.

Archivos instalados: ‘ly/engraver-init.ly’.


Otros idiomas: English, deutsch, français, italiano, 日本語.
About automatic language selection.

LilyPond — Referencia de la notación