Siguiente: , Anterior: Propiedades de los objetos de presentación, Arriba: Manual de referencia de funcionamiento interno


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 (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
       }
     }

[image of music]

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.

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.