Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 3a7b4dfc766af1222d90c7f03a0844e6 > files > 6379

lilypond-doc-2.11.57-1mdv2009.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- header_tag -->
<html lang="es">
<head>
<title>Métodos de trucaje - 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="Tweaking-basics.es.html#Tweaking-basics" title="Elementos de trucaje">
<link rel="prev" href="Naming-conventions-of-objects-and-properties.es.html#Naming-conventions-of-objects-and-properties" title="Convenciones de nombres de objetos y 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="Tweaking-methods"></a>
Anterior:&nbsp;<a rel="previous" accesskey="p" href="Naming-conventions-of-objects-and-properties.es.html#Naming-conventions-of-objects-and-properties">Convenciones de nombres de objetos y propiedades</a>,
Arriba:&nbsp;<a rel="up" accesskey="u" href="Tweaking-basics.es.html#Tweaking-basics">Elementos de trucaje</a>
<hr>
</div>

<h4 class="subsection">4.1.4 Métodos de trucaje</h4>

<p><strong>La instrucción \override</strong>

   <p><a name="index-override_002c-instrucci_00c3_00b3n-311"></a><a name="index-g_t_005coverride-312"></a><a name="index-g_t_005coverride-313"></a>

   <p>Ya hemos visto las instrucciones <code>\set</code> y <code>\with</code>, que se
usan para cambiar las propiedades de los <strong>contextos</strong> y para
quitar y poner <strong>grabadores</strong>, en <a href="Modifying-context-properties.es.html#Modifying-context-properties">Modificar las propiedades de los contextos</a> y <a href="Adding-and-removing-engravers.es.html#Adding-and-removing-engravers">Añadir y eliminar grabadores</a>.  Ahora debemos
examinar algunas instrucciones importantes más.

   <p>La instrucción que cambia las propiedades de los <strong>objetos de
presentación</strong> es <code>\override</code>.  Puesto que esta instrucción debe
modificar propiedades internas que se encuentran en un lugar profundo
dentro de LilyPond, su sintaxis no es tan simple como la del resto de
las instrucciones que hemos visto hasta ahora.  Tiene que saber
exactamente qué propiedad de qué objeto y en qué contexto se debe
modificar, y cuál debe ser su nuevo valor.  Veamos cómo se hace.

   <p>La sintaxis genérica de esta instrucción es:

<pre class="example">\override <em>contexto</em>.<em>objeto_de_presentación</em>
  #'<em>propiedad_de_presentación</em> = #<em>valor</em>
</pre>
   <p class="noindent">Esto establecerá la propiedad de nombre
<em>propiedad_de_presentación</em> del objeto de presentación con el
nombre <em>objeto_de_presentación</em>, que es miembro del contexto
<em>contexto</em>, al valor <em>valor</em>.

   <p>El <em>contexto</em> se puede omitir (y normalmente así es) cuando el
contexto requerido se encuentra implicado sin ambigüedad y es uno de
los contextos del nivel más bajo, es decir: <code>Voice</code>,
<code>ChordNames</code> o <code>Lyrics</code>, y lo omitiremos en muchos de los
ejemplos siguientes.  Veremos más tarde cuándo se debe especificar.

   <p>Las últimas secciones tratan de forma exhaustiva las propiedades y sus
valores, pero para ilustrar el formato y utilización de estas
instrucciones usaremos sólo unas cuantas propiedades y valores
sencillos que sean fáciles de entender.

   <p>Por ahora no se preocupe por el <code>#'</code>, que debe anteponerse a la
propiedad de presentación, y el <code>#</code>, que debe preceder al valor. 
Deben estar presentes siempre y de esa forma exacta.  Es la
instrucción de uso más común dentro del trucaje, y durante la mayor
parte del resto de este capítulo presentaremos ejemplos de cómo se
usa.  A continuación hay un ejemplo sencillo para cambiar el color de
una cabeza:

   <blockquote>
<pre class="verbatim">     
     c d
     \override NoteHead #'color = #red
     e f g
     \override NoteHead #'color = #green
     a b c
</pre>
     <p>
 <a href="../8c/lily-93693c78.ly"> <img align="middle" border="0" src="../8c/lily-93693c78.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p><strong>La instrucción \revert</strong>

   <p><a name="index-revert_002c-instrucci_00c3_00b3n-314"></a><a name="index-g_t_005crevert-315"></a><a name="index-g_t_005crevert-316"></a>

   <p>Una vez sobreescrita, la propiedad retiene su nuevo valor hasta que
se sobreescribe de nuevo o se encuentra una instrucción
<code>\revert</code>.  La instrucción <code>\revert</code> tiene la siguiente
sintaxis y ocasiona que el valor de la propiedad se devuelva a su
valor predeterminado original; observe que no es a su valor previo si
se han utilizado varias instrucciones <code>\override</code>.

<pre class="example">\revert <em>contexto</em>.<em>objeto_de_presentación</em> #'<em>propiedad_de_presentación</em>
</pre>
   <p>Una vez más, igual que <em>contexto</em> dentro de la instrucción
<code>\override</code>, con frecuencia no es necesario especificar el
<em>contexto</em>.  Se omitirá en muchos de los ejemplos siguientes. 
Aquí devolvemos el color de la cabeza al valor predeterminado para las
dos últimas notas:

   <blockquote>
<pre class="verbatim">     
     c d
     \override NoteHead #'color = #red
     e f g
     \override NoteHead #'color = #green
     a
     \revert NoteHead #'color
     b c
</pre>
     <p>
 <a href="../ec/lily-c94b8226.ly"> <img align="middle" border="0" src="../ec/lily-c94b8226.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p><strong>El prefijo \once</strong>

   <p>Tanto la instrucción <code>\override</code> como <code>\set</code> se pueden
preceder por <code>\once</code>.  Esto ocasiona que la siguiente instrucción
<code>\override</code> o <code>\set</code> sea efectiva solamente durante el
tiempo musical en curso y antes de que la propiedad vuelva a tener
otra vez su valor predeterminado.  Utilizando el mismo ejemplo,
podemos cambiar el color de una sola nota de la siguiente manera:

   <blockquote>
<pre class="verbatim">     
     c d
     \once \override NoteHead #'color = #red
     e f g
     \once \override NoteHead #'color = #green
     a b c
</pre>
     <p>
 <a href="../3d/lily-cbb460f1.ly"> <img align="middle" border="0" src="../3d/lily-cbb460f1.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p><strong>La instrucción \overrideProperty</strong>

   <p><a name="index-overrideProperty_002c-instrucci_00c3_00b3n-317"></a><a name="index-g_t_005coverrideProperty-318"></a><a name="index-g_t_005coverrideProperty-319"></a>

   <p>Hay otra forma para la instrucción de sobreescritura,
<code>\overrideProperty</code>, que ocasionalmente es necesaria.  La
mencionamos aquí con un propósito de exhaustividad, pero para ver más
detalles consulte <a name="index-Difficult-tweaks-320"></a><a href="../lilypond/Difficult-tweaks.es.html#Difficult-tweaks">Trucos difíciles</a>. 
<!-- Maybe explain in a later iteration  -td -->

   <p><strong>La instrucción \tweak</strong>

   <p><a name="index-tweak_002c-instrucci_00c3_00b3n-321"></a><a name="index-g_t_005ctweak-322"></a><a name="index-g_t_005ctweak-323"></a>

   <p>La última instrucción de trucaje que está disponible es <code>\tweak</code>. 
Se debe utilizar para cambiar las propiedades de objetos que suceden
en el mismo momento musical, como las notas de un acorde.  El uso de
<code>\override</code> para la sobreescritura afectaría a todas las notas
del acorde, mientras que <code>\tweak</code> afecta solamente al siguiente
elemento del flujo de entrada.

   <p>He aquí un ejemplo.  Suponga que queremos cambiar el tamaño de la nota
intermedia (el Mi) en un acorde de Do mayor.  En primer lugar, veamos
lo que haría <code>\once \override</code>:

   <blockquote>
<pre class="verbatim">     
       &lt;c e g>4
       \once \override NoteHead #'font-size = #-3
       &lt;c e g>
       &lt;c e g>
</pre>
     <p>
 <a href="../4e/lily-c85c0c72.ly"> <img align="middle" border="0" src="../4e/lily-c85c0c72.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Vemos que la sobreescritura con override afecta a <em>todas</em> las
notas del acorde.  Esto es así porque todas las notas de un acorde
ocurren en el mismo <em>momento musical</em>, y la acción de
<code>\once</code> es aplicar la sobreescritura a todos los objetos de
presentación del tipo especificado que ocurren en el mismo momento
musical que la propia instrucción de sobreescritura <code>\override</code>.

   <p>LA instrucción <code>\tweak</code> opera de una forma distinta.  Actúa sobre
el elemento inmediatamente siguiente dentro del flujo de entrada. 
Sin embargo, es efectivo solamente sobre objetos que se crean
directamente a partir del flujo de entrada, en esencia las cabezas y
las articulaciones (los objetos como las plicas y las alteraciones se
crean con posterioridad y no se pueden trucar de esta forma).  Es más,
cuando se aplica a las cabezas de las notas, éstas <em>deben</em> estar
dentro de un acorde, es decir, dentro de ángulos simples, así que para
trucar una sola nota la instrucción <code>\tweak</code> se debe colocar
dentro de ángulos simples junto con la nota.

   <p>Así pues, volviendo a nuestro ejemplo, el tamaño de la nota intermedia
se cambiaría de la siguiente forma:

   <blockquote>
<pre class="verbatim">     
       &lt;c e g>4
       &lt;c \tweak #'font-size #-3 e g>4
</pre>
     <p>
 <a href="../cd/lily-ec9e5537.ly"> <img align="middle" border="0" src="../cd/lily-ec9e5537.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Observe que la sintaxis de <code>\tweak</code> no es igual que la de
<code>\override</code>.  Ni el contexto ni el objeto de
presentación se deben especificar; de hecho, generaría un error
hacerlo.  Los dos están implícitos por el siguiente elemento del flujo
de entrada.  Así que la sintaxis genérica de la instrucción
<code>\tweak</code> es, simplemente:

<pre class="example">\tweak #'<em>propiedad_de_presentación</em> = #<em>valor</em>
</pre>
   <p>Una instrucción <code>\tweak</code> también se puede usar para modificar
sólo una de una serie de articulaciones, como se muestra aquí:

   <blockquote>
<pre class="verbatim">     
     a ^Black
       -\tweak #'color #red ^Red
       -\tweak #'color #green _Green
</pre>
     <p>
 <a href="../42/lily-b8be0511.ly"> <img align="middle" border="0" src="../42/lily-b8be0511.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Observe que la instrucción <code>\tweak</code> debe venir precedida de una
marca de articulación como si ella misma fuera una articulación.

   <p><a name="index-grupos-especiales-anidados-324"></a><a name="index-tresillos-anidados-325"></a><a name="index-corchete-del-grupo-especial-326"></a><a name="index-grupo-especial_002c-corchete-de-327"></a><a name="index-tresillo_002c-corchete-de-328"></a><a name="index-TupletBracket-329"></a><a name="index-TupletBracket-330"></a>

   <p>La instrucción <code>\tweak</code> también se debe usar para cambiar la
apariencia de uno solo de un conjunto de grupos especiales anidados
que comiencen en el mismo instante musical.  En el siguiente ejemplo,
el corchete del tresillo largo y el primero de los tres corchetes
cortos empiezan en el mismo momento musical, y por ello cualquier
instrucción <code>\override</code> se aplicaría a los dos.  En el ejemplo se
usa <code>\tweak</code> para distinguir entre ellos.  La primera instrucción
<code>\tweak</code> especifica que el corchete del tresillo largo se debe
colocar por encima de las notas y el segundo especifica que el número
del tresillo se debe imprimir en rojo sobre el corchete del primer
tresillo corto.

   <blockquote>
<pre class="verbatim">     
     \tweak #'direction #up
     \times 4/3 {
       \tweak #'color #red
       \times 2/3 { c8[ c8 c8] }
       \times 2/3 { c8[ c8 c8] }
       \times 2/3 { c8[ c8 c8] }
     }
</pre>
     <p>
 <a href="../c9/lily-843979a1.ly"> <img align="middle" border="0" src="../c9/lily-843979a1.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Encontrará más detalles de la instrucción <code>\tweak</code> en
<a name="index-The-tweak-command-331"></a><a href="../lilypond/The-tweak-command.es.html#The-tweak-command">La instrucción tweak</a>.

   <p>Si los grupos anidados no comienzan en el mismo momento, su apariencia
se puede modificar de la forma usual mediante instrucciones
<code>\override</code>:

<!-- NOTE Tuplet brackets collide if notes are high on staff -->
<!-- See issue 509 -->
   <blockquote>
<pre class="verbatim">     
     \times 2/3 { c8[ c c]}
     \once \override TupletNumber
       #'text = #tuplet-number::calc-fraction-text
     \times 2/3 {
       c[ c]
       c[ c]
       \once \override TupletNumber #'transparent = ##t
       \times 2/3 { c8[ c c] }
     \times 2/3 { c8[ c c]}
     }
</pre>
     <p>
 <a href="../02/lily-f833be4e.ly"> <img align="middle" border="0" src="../02/lily-f833be4e.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
Anterior:&nbsp;<a rel="previous" accesskey="p" href="Naming-conventions-of-objects-and-properties.es.html#Naming-conventions-of-objects-and-properties">Convenciones de nombres de objetos y propiedades</a>,
Arriba:&nbsp;<a rel="up" accesskey="u" href="Tweaking-basics.es.html#Tweaking-basics">Elementos de trucaje</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="Tweaking-methods.html">English</a>.
 <BR>
 
</P>
</BODY></html>