Siguiente: Tipos de propiedades, Anterior: Propiedades de los objetos de presentación, Arriba: Manual de referencia de funcionamiento interno
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 (en las versiones de html del RFI)
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óstrofe, '
. Esa es la razón por la que se necesitan
apóstrofes 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 son en efecto valores especiales 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"
.
De acuerdo, entonces la instrucción \override
que necesitamos
para imprimir la letra en cursiva sería
\override LyricText #'font-shape = #'italic
y debe colocarse justo delante de, y cerca de, la letra a la que debe afectar, como esto:
{ \time 6/8 { r4 b8 b[( g]) g | g[( e]) e d[( f]) a | a 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.
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. |
Esta página corresponde a LilyPond-2.11.58 (rama de desarrollo).
Informe de los fallos a través de la lista en español lilypond-es, o en inglés a través de http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Se agradecen las sugerencias para la documentación.
Otros idiomas: English.