<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="es"> <head> <title>Propiedades de los interfaces - GNU LilyPond Learning Manual</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Learning Manual"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.es.html#Top"> <link rel="up" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual" title="Manual de referencia de funcionamiento interno"> <link rel="prev" href="Properties-of-layout-objects.es.html#Properties-of-layout-objects" title="Propiedades de los objetos de presentación"> <link rel="next" href="Types-of-properties.es.html#Types-of-properties" title="Tipos de propiedades"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 por los autores _The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts._ _La traducción de la siguiente nota de copyright se ofrece como cortesía para las personas de habla no inglesa, pero únicamente la nota en inglés tiene validez legal._ Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin ninguna de las secciones invariantes. Se incluye una copia de esta licencia dentro de la sección titulada ``Licencia de Documentación Libre de GNU''. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled ``GNU Free Documentation License''. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="Properties-found-in-interfaces"></a> Siguiente: <a rel="next" accesskey="n" href="Types-of-properties.es.html#Types-of-properties">Tipos de propiedades</a>, Anterior: <a rel="previous" accesskey="p" href="Properties-of-layout-objects.es.html#Properties-of-layout-objects">Propiedades de los objetos de presentación</a>, Arriba: <a rel="up" accesskey="u" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual">Manual de referencia de funcionamiento interno</a> <hr> </div> <h4 class="subsection">4.2.2 Propiedades de los interfaces</h4> <p><a name="index-propiedades-de-los-interfaces-348"></a><a name="index-interfaces_002c-propiedades-349"></a> Suponga ahora que queremos imprimir la letra de la canción en cursiva. ¿Qué forma de instrucción <code>\override</code> 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 <code>LyricText</code>, que parece adecuado. Al seguir este enlace se presentan las propiedades ajustables para el texto de la letra. Estos incluyen <code>font-series</code> y <code>font-size</code>, 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 <strong>Interface</strong>, el interface de las fuentes tipográficas <code>font-interface</code>. <p>Por tanto, ahora necesitamos aprender cómo encontrar las propiedades de los interfaces, y descubrir qué objetos usan estas propiedades de interface. <p>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 <code>font-interface</code>. 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. <p>Ahora vemos todas las propiedades ajustables por el usuario que controlan las tipografías, entre ellas <code>font-shape(symbol)</code>, donde <code>symbol</code> se puede establecer a <code>upright</code> (recta), <code>italics</code> (cursiva)o <code>caps</code> (mayúsculas pequeñas). <p>Observará que <code>font-series</code> y <code>font-size</code> también se encuentran aquí relacionadas. Esto inmediatamente hace que surja la pregunta: ¿Por qué están las propiedades comunes de tipografía <code>font-series</code> y <code>font-size</code> relacionadas bajo <code>LyricText</code> así como bajo el interface <code>font-interface</code> pero <code>font-shape</code> no lo está? La respuesta es que <code>font-series</code> y <code>font-size</code> se cambian a partir de sus valores predeterminados globales cuando se crea un objeto <code>LyricText</code>, pero <code>font-shape</code> no lo hace. Entonces los elementos de la lista <code>LyricText</code> le dicen los valores para esas dos propiedades que son de aplicación para <code>LyricText</code>. Otros objetos que contemplan <code>font-interface</code> establecerán dichas propiedades de forma diferente cuando se crean. <p>Veamos si ahora podemos construir la instrucción <code>\override</code> para cambiar la letra a cursiva. El objeto es <code>LyricText</code>, la propiedad es <code>font-shape</code> y el valor es <code>italic</code>. Igual que antes, omitiremos el contexto. <p>Como nota aparte, aunque una nota importante, observe que a causa de que los valores de <code>font-shape</code> son símbolos, deben ir precedidos de un apóstrofe, <code>'</code>. Esa es la razón por la que se necesitan apóstrofes antes de <code>thickness</code> en el ejemplo anterior y en <code>font-shape</code>. 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 <code>thickness</code> o <code>font-shape</code>, otros son en efecto valores especiales que se les puede dar a las propiedades, como <code>italic</code>. Observe la distinción entre esto y las cadenas de texto arbitrarias, que aparecerían entrecomilladas como <code>"a text string"</code>. <p>De acuerdo, entonces la instrucción <code>\override</code> que necesitamos para imprimir la letra en cursiva sería <pre class="example">\override LyricText #'font-shape = #'italic </pre> <p class="noindent">y debe colocarse justo delante de, y cerca de, la letra a la que debe afectar, como esto: <blockquote> <pre class="verbatim"> { \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 } } </pre> <p> <a href="../b6/lily-bede32cb.ly"> <img align="middle" border="0" src="../b6/lily-bede32cb.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">y toda la letra se imprime en cursiva. <h4 class="subheading">Especificación del contexto en modo letra</h4> <p><a name="index-contexto_002c-especificaci_00c3_00b3n-en-modo-letra-350"></a> 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 <code>}</code> 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á: <pre class="example">\override Lyrics . LyricText #'font-shape = #'italic </pre> <p><table class="cartouche" summary="cartouche" border="1"><tr><td> <b>Nota:</b> Dentro de la letra, deje siempre espacios entre la sílaba final y la llave de cierre. </td></tr></table> <p><table class="cartouche" summary="cartouche" border="1"><tr><td> <b>Nota:</b> 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. </td></tr></table> <!-- footer_tag --><br><hr> <div class="node"> <p> Siguiente: <a rel="next" accesskey="n" href="Types-of-properties.es.html#Types-of-properties">Tipos de propiedades</a>, Anterior: <a rel="previous" accesskey="p" href="Properties-of-layout-objects.es.html#Properties-of-layout-objects">Propiedades de los objetos de presentación</a>, Arriba: <a rel="up" accesskey="u" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual">Manual de referencia de funcionamiento interno</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Esta página corresponde a LilyPond-2.11.57 (rama de desarrollo). <br> <address> Informe de los fallos a través de la lista en español <a href="http://es.groups.yahoo.com/group/lilypond-es/">lilypond-es</a>, o en inglés a través de <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a>. </address> <br> Se agradecen las <a href="http://lilypond.org/web/devel/participating/documentation-adding">sugerencias para la documentación</a>. </font> </p> </div> <P> Otros idiomas: <a href="Properties-found-in-interfaces.html">English</a>. <BR> </P> </BODY></html>