Manual de aprendizaje de GNU LilyPond: 4.2.2 Propiedades de los interfaces

### 4.2.2 Propiedades de los interfaces

Suponga ahora que queremos imprimir la letra de la canción en cursiva. ¿Qué forma de instrucción `\override` necesitamos para hacerlo? En primer lugar miramos en la página del RFI que relaciona todos los objetos, ‘All layout objects’, como antes, y buscamos un objeto que pueda controlar la letra de la canción. Encontramos `LyricText`, que parece adecuado. Al seguir este enlace se presentan las propiedades ajustables para el texto de la letra. Estos incluyen `font-series` y `font-size`, pero nada que pudiera aplicar una forma cursiva. Esto es porque la propiedad de la forma es común a todos los objetos de fuente tipográfica, y por tanto, en vez de incluirlo en cada uno de los objetos de presentación, se agrupa junto con otras propiedades comunes similares y se deposita en un Interface, el interface de las fuentes tipográficas `font-interface`.

Por tanto, ahora necesitamos aprender cómo encontrar las propiedades de los interfaces, y descubrir qué objetos usan estas propiedades de interface.

Mire de nuevo la página del RFI que describe a LyricText. Al final de la página hay una lista de enlaces a los interfaces que LyricText contempla. La lista tiene siete elementos, entre ellos `font-interface`. Al seguir este enlace llegamos a las propiedades asociadas con este interface, que también son propiedades de todos los objetos que lo llevan, entre ellos LyricText.

Ahora vemos todas las propiedades ajustables por el usuario que controlan las tipografías, entre ellas `font-shape(symbol)`, donde `symbol` se puede establecer a `upright` (recta), `italics` (cursiva)o `caps` (mayúsculas pequeñas).

Observará que `font-series` y `font-size` también se encuentran aquí relacionadas. Esto inmediatamente hace que surja la pregunta: ¿Por qué están las propiedades comunes de tipografía `font-series` y `font-size` relacionadas bajo `LyricText` así como bajo el interface `font-interface` pero `font-shape` no lo está? La respuesta es que `font-series` y `font-size` se cambian a partir de sus valores predeterminados globales cuando se crea un objeto `LyricText`, pero `font-shape` no lo hace. Entonces los elementos de la lista `LyricText` le dicen los valores para esas dos propiedades que son de aplicación para `LyricText`. Otros objetos que contemplan `font-interface` establecerán dichas propiedades de forma diferente cuando se crean.

Veamos si ahora podemos construir la instrucción `\override` para cambiar la letra a cursiva. El objeto es `LyricText`, la propiedad es `font-shape` y el valor es `italic`. Igual que antes, omitiremos el contexto.

Como nota aparte, aunque una nota importante, observe que a causa de que los valores de `font-shape` son símbolos, deben ir precedidos de un apóstrofo, `'`. Esa es la razón por la que se necesitan apóstrofos antes de `thickness` en el ejemplo anterior y en `font-shape`. Los dos son también símbolos. Los símbolos son nombres especiales que son conocidos por LilyPond internamente. Algunos de ellos son nombres de propiedades, como `thickness` o `font-shape`, otros se utilizan como valores que se les puede dar a las propiedades, como `italic`. Observe la distinción entre esto y las cadenas de texto arbitrarias, que aparecerían entrecomilladas como `"a text string"`. Para ver más detalles relacionados con los símbolos y las cadenas, consulte Tutorial de Scheme.

Así pues, la instrucción `\override` necesaria para imprimir la letra en cursiva, es:

>     \override LyricText #'font-shape = #'italic

Esto debe escribirse justo delante de la letra a la que debe afectar, de esta forma:

>     {
>       \key es \major
>       \time 6/8
>       {
>         r4 bes8 bes[( g]) g |
>         g8[( es]) es d[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         \override LyricText #'font-shape = #'italic
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

y toda la letra se imprime en cursiva.

### Especificación del contexto en modo letra

En el caso de la letra, si intenta especificar el contexto en el formato que acabamos de dar, la instrucción no funcionará. Una sílaba escrita en el modo letra, «lyricmode» termina en un espacio, un salto de línea o un dígito. Cualquier otro carácter se incluye como parte de la sílaba. Por esta razón, un espacio o salto de línea debe aparecer antes del último símbolo `}` para evitar que se incluya como parte de la sílaba final. De forma similar, se deben insertar espacios antes y después del punto, ‘.’, separando el nombre del contexto del nombre del objeto, pues en caso contrario los dos nombres se juntarán y el intérprete no podrá reconocerlos. Así pues, la instrucción será:

>     \override Lyrics . LyricText #'font-shape = #'italic

Nota: Dentro de la letra, deje siempre espacios entre la sílaba final y la llave de cierre.

Nota: En las sobreescrituras con override dentro de la letra, escriba siempre espacios antes y después del punto que separa el nombre del contexto y el nombre del objeto.

#### Véase también

Manual de Extensión: Tutorial de Scheme.

Otros idiomas: English, česky, deutsch, français, 日本語, nederlands.

#### LilyPond — Manual de aprendizaje