5.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 es importante, observe que ciertas
propiedades toman valores que son símbolos, como italic
, y
deben ir precedidos de un apóstrofo, '
. Los símbolos se
leen a continuación internamente por parte de LilyPond. Tenga en
cuenta la diferencia con las cadenas de texto arbitrarias, que
aparecerían como "una cadena de texto"
; para ver más
detalles sobre 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 \relative { r4 bes'8 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.
Nota: Dentro de la letra, deje siempre espacios entre la sílaba final y la llave de cierre.
Véase también
Manual de Extensión: Tutorial de Scheme.