Sophie

Sophie

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

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>Objetos fuera del pentagrama - 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="Placement-of-objects.es.html#Placement-of-objects" title="Colocación de los objetos">
<link rel="prev" href="Within_002dstaff-objects.es.html#Within_002dstaff-objects" title="Objetos interiores al pentagrama">
<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="Outside-staff-objects"></a>
Anterior:&nbsp;<a rel="previous" accesskey="p" href="Within_002dstaff-objects.es.html#Within_002dstaff-objects">Objetos interiores al pentagrama</a>,
Arriba:&nbsp;<a rel="up" accesskey="u" href="Placement-of-objects.es.html#Placement-of-objects">Colocación de los objetos</a>
<hr>
</div>

<h4 class="subsection">4.4.3 Objetos fuera del pentagrama</h4>

<p>Los objetos fuera-del-pentagrama se colocan automáticamente para
evitar las colisiones.  Los objetos que tienen el valor más bajo de la
propiedad <code>outside-staff-priority</code> se sitúan más cerca del
pentagrama, y entonces otros objetos fuera-del-pentagrama se elevan
tanto como sea necesario para evitar la colisión.  La prioridad
<code>outside-staff-priority</code> se defina en el <code>grob-interface</code> y
así es una propiedad de todos los objetos de presentación.  De forma
predeterminada se establece a <code>#f</code> para todos los objetos
dentro-del-pentagrama, y a un valor numérico adecuado a cada objeto
fuera-del-pentagrama cuando se crea el objeto.  La tabla siguiente
presenta los valores numéricos predeterminados para algunos de los
objetos fuera-del-pentagrama que están inicialmente dentro de los
contextos <code>Staff</code> o <code>Voice</code>.

   <p><table summary=""><tr align="left"><th valign="top" width="30%">Objeto de presentación
  </th><th valign="top" width="30%">Prioridad
  </th><th valign="top" width="30%">Controla la posición de:
<br></th></tr><tr align="left"><td valign="top" width="30%"><code>MultiMeasureRestText</code>
  </td><td valign="top" width="30%"><code>450</code>
  </td><td valign="top" width="30%">Texto sobre silencios de compás completo
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>TextScript</code>
  </td><td valign="top" width="30%"><code>450</code>
  </td><td valign="top" width="30%">Elementos de marcado de texto
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>OttavaBracket</code>
  </td><td valign="top" width="30%"><code>400</code>
  </td><td valign="top" width="30%">Corchetes de octava alta y baja
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>TextSpanner</code>
  </td><td valign="top" width="30%"><code>350</code>
  </td><td valign="top" width="30%">Objetos de extensión de texto
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>DynamicLineSpanner</code>
  </td><td valign="top" width="30%"><code>250</code>
  </td><td valign="top" width="30%">Todas las indicaciones dinámicas
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>VoltaBracketSpanner</code>
  </td><td valign="top" width="30%"><code>100</code>
  </td><td valign="top" width="30%">Corchetes de primera y segunda vez
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>TrillSpanner</code>
  </td><td valign="top" width="30%"><code>50</code>
  </td><td valign="top" width="30%">Trinos mantenidos
   <br></td></tr></table>

   <p>He aquí un ejemplo que muestra la situación predeterminada de algunos
de ellos.

   <p><a name="index-texto_002c-extensiones-de-371"></a><a name="index-g_t_005cstartTextSpan-372"></a><a name="index-g_t_005cstartTextSpan-373"></a>
<a name="index-g_t_005cstopTextSpan-374"></a><a name="index-g_t_005cstopTextSpan-375"></a>
<a name="index-octava-alta-y-baja_002c-corchete-de-376"></a>
<blockquote>
<pre class="verbatim">     
     % Establecer ajustes para el extensor de texto ulterior
     \override TextSpanner #'bound-details #'left #'text
         = \markup { \small \bold Slower }
     % Situar la dinámica por encima
     \dynamicUp
     % Inicio del corchete de octava
     \ottava #1
     c' \startTextSpan
     % Añadir indicación dinámica textual
     c\pp
     % Añadir indicación dinámica de extensión de línea
     c\&lt;
     % Guiones de texto
     c^Text
     c c
     % Añadir indicación dinámica textual
     c\ff c \stopTextSpan
     % Detener el corchete de octava
     \ottava #0
     c, c c c
</pre>
     <p>
 <a href="../20/lily-769c3018.ly"> <img align="middle" border="0" src="../20/lily-769c3018.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Este ejemplo también muestra cómo crear textos con extensión (Text
Spanners) : textos con líneas extensoras por encima de una sección de
música.  El extensor abarca desde la instrucción <code>\startTextSpan</code>
hasta la instrucción <code>\stopTextSpan</code>, y el formado del texto se
define por medio de la instrucción <code>\override TextSpanner</code>.  Para
ver más detalles, consulte <a name="index-Text-spanners-377"></a><a href="../lilypond/Text-spanners.es.html#Text-spanners">Extensiones de texto</a>.

   <p>También muestra la manera de crear corchetes de octava alta y baja.

   <p>Observe que los números de compás, las indicaciones metronómicas y las
mercas de ensayo no se muestran. De forma predeterminada, se crean
dentro del contexto <code>Score</code> y su prioridad
<code>outside-staff-priority</code> se ignora con relación a los objetos de
presentación que se crean dentro del contexto <code>Staff</code>.  Si quiere
colocar los números de compás, indicaciones metronómicas o llamadas de
ensayo en concordancia con el valor de su
<code>outside-staff-priority</code>, los grabadores
<code>Bar_number_engraver</code>, <code>Metronome_mark_engraver</code> o
<code>Mark_engraver</code> respectivamente se deben eliminar del contexto
<code>Score</code> y colocarlos en el contexto <code>Staff</code> del nivel
superior.  Si se hace así, estas marcas obtendrán los siguientes
valores predeterminados de <code>outside-staff-priority</code>:

   <p><table summary=""><tr align="left"><th valign="top" width="30%">Objeto de presentación           </th><th valign="top" width="30%">Prioridad
<br></th></tr><tr align="left"><td valign="top" width="30%"><code>RehearsalMark</code>        </td><td valign="top" width="30%"><code>1500</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>MetronomeMark</code>        </td><td valign="top" width="30%"><code>1000</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>BarNumber</code>            </td><td valign="top" width="30%"><code> 100</code>
   <br></td></tr></table>

   <p>Si los valores predeterminados de <code>outside-staff-priority</code> no le
ofrecen las colocaciones deseadas se puede sobreescribir la prioridad
de cualquiera de los objetos.  Suponga que quisiéramos que el corchete
de octava estuviera situado por debajo del elemento extensor de texto
en el ejemplo de arriba.  Todo lo que debemos hacer es localizar la
prioridad de <code>OttavaBracket</code> en el RFI o en las tablas
anteriores, y reducirlo a un valor inferior al de <code>TextSpanner</code>,
recordando que <code>OttavaBracket</code> se crea dentro del contexto de
<code>Staff</code>:

   <blockquote>
<pre class="verbatim">     
     % Establecer ajustes para el extensor de texto ulterior
     \override TextSpanner #'bound-details #'left #'text
         = \markup { \small \bold Slower }
     % Situar la dinámica por encima
     \dynamicUp
     %Situar el corchete de octava ulterior por debajo de los extensores de texto
     \once \override Staff.OttavaBracket #'outside-staff-priority = #340
     % Inicio del corchete de octava
     \ottava #1
     c' \startTextSpan
     % Añadir indicación dinámica textual
     c\pp
     % Añadir indicación dinámica de extensión de línea
     c\&lt;
     % Guiones de texto
     c^Text
     c c
     % Añadir indicación dinámica textual
     c\ff c \stopTextSpan
     % Detener el corchete de octava
     \ottava #0
     c, c c c
</pre>
     <p>
 <a href="../98/lily-38c8b76a.ly"> <img align="middle" border="0" src="../98/lily-38c8b76a.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Los cambios en <code>outside-staff-priority</code> también se pueden emplear
para controlar la situación vertical de los objetos individuales,
aunque los resultados pueden no siempre ser deseables.  Suponga que
quiere que &ldquo;Text3&rdquo; se sitúe por encima de &ldquo;Text4&rdquo; en el ejemplo
bajo el epígrafe Comportamiento Automático de más arriba (véase
<a href="Automatic-behaviour.es.html#Automatic-behaviour">Comportamiento automático</a>).  Todo lo que debemos hacer es localizar la
prioridad de <code>TextScript</code> en el RFI o en las tablas de arriba, y
aumentar la prioridad de &ldquo;Text3&rdquo; hasta un valor superior:

   <blockquote>
<pre class="verbatim">     
     c2^"Text1"
     c^"Text2"
     \once \override TextScript #'outside-staff-priority = #500
     c^"Text3"
     c^"Text4"
</pre>
     <p>
 <a href="../0a/lily-a6c82911.ly"> <img align="middle" border="0" src="../0a/lily-a6c82911.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Esto, ciertamente, eleva a &ldquo;Text3&rdquo; por encima de &ldquo;Text4&rdquo; pero
también lo eleva por encima de &ldquo;Text2&rdquo;, y &ldquo;Text4&rdquo; ahora se
desploma hacia abajo.  Quizá no sea tan buena idea.  ¿Y si lo que
realmente queremos hacer es posicionar todas las anotaciones a la
misma distancia por encima del pentagrama?  Para hacerlo, vamos a
necesitar claramente espaciar las notas en sentido horizontal para
hacer sitio para el texto.  Esto se hace empleando la instrucción
<code>textLengthOn</code>.

<h4 class="subheading">\textLengthOn</h4>

<p><a name="index-g_t_005ctextLengthOn-378"></a><a name="index-g_t_005ctextLengthOn-379"></a>
<a name="index-notas_002c-espaciar-junto-al-texto-380"></a>
De forma predeterminada, el texto producido mediante marcado no ocupa
ningún espacio horizontal en cuanto se refiere a la disposición de la
música.  La instrucción <code>\textLengthOn</code> invierte este
comportamiento, ocasionando que las notas resulten tan espaciadas como
sea necesario para acomodar el texto:

   <blockquote>
<pre class="verbatim">     
     \textLengthOn  % Ocasionar que las notas se espacíen para adecuarse al texto
     c2^"Text1"
     c^"Text2"
     c^"Text3"
     c^"Text4"
</pre>
     <p>
 <a href="../53/lily-b9eff974.ly"> <img align="middle" border="0" src="../53/lily-b9eff974.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>La instrucción para volver al comportamiento predeterminado es
<code>\textLengthOff</code>.  Recuerde que <code>\once</code> funciona solamente
con <code>\override</code>, <code>\set</code>, <code>\revert</code> o <code>unset</code>, así
que no se puede usar con <code>\textLengthOn</code>.

   <p>El texto de marcado también evita las notas que se proyectan por
encima del pentagrama.  Si esto no es lo que deseamos, el
desplazamiento automático hacia arriba se puede desactivar mediante el
establecimiento de la prioridad a <code>#f</code>.  He aquí un ejemplo que
muestra cómo el texto de marcado interactúa con tales notas.

   <blockquote>
<pre class="verbatim">     
     % Este marcado es corto y cabe sin colisionar
     c2^"Tex"
     c''2
     R1
     % Este es muy largo y se desplaza hacia arriba
     c,,2^"Text"
     c''2
     R1
     % Desactivar el detector de colisiones
     \once \override TextScript #'outside-staff-priority = ##f
     c,,2^"Long Text   "
     c''2
     R1
     % Desactivar el detector de colisiones
     \once \override TextScript #'outside-staff-priority = ##f
     \textLengthOn  % y activar textLengthOn
     c,,2^"Long Text   "  % Spaces at end are honoured
     c''2
</pre>
     <p>
 <a href="../f2/lily-607b8294.ly"> <img align="middle" border="0" src="../f2/lily-607b8294.png" alt="[image of music]"> </a>
</p>

   </blockquote>

<h4 class="subheading">Matices dinámicos</h4>

<p>Las indicaciones de matiz dinámico normalmente se colocarán por debajo
del pentagrama, pero se pueden posicionar por encima con la
instrucción <code>dynamicUp</code>.  Se situarán verticalmente respecto a la
nota a la que van adosadas, y flotarán por debajo (o por encima) de
todos los objetos dentro-del-pentagrama tales como ligaduras de fraseo
y números de compás.  Esto puede ofrecer resultados bastante
aceptables, como muestra este ejemplo:

   <blockquote>
<pre class="verbatim">     
     \clef "bass"
     \key aes \major
     \time 9/8
     \dynamicUp
     bes4.~\f\&lt; \( bes4 bes8 des4\ff\> c16 bes\! |
     ees,2.~\)\mf ees4 r8 |
</pre>
     <p>
 <a href="../da/lily-f142f3b3.ly"> <img align="middle" border="0" src="../da/lily-f142f3b3.png" alt="[image of music]"> </a>
</p>

   </blockquote>

   <p>Sin embargo, si las notas y sus indicaciones dinámicas adosadas están
muy cerca, la colocación automática evitará las colisiones desplazando
las marcas dinámicas posteriores más lejos, aunque este puede no ser
el lugar óptimo, como muestra el siguiente ejemplo más bien
artificial:

   <blockquote>
<pre class="verbatim">     
     \dynamicUp
     a4\f b\mf c\mp b\p
</pre>
     <p>
 <a href="../e9/lily-ce9fa8f2.ly"> <img align="middle" border="0" src="../e9/lily-ce9fa8f2.png" alt="[image of music]"> </a>
</p>

   </blockquote>

<p class="noindent">Si se presentara una situación similar en música &lsquo;real&rsquo;, podría ser
preferible espaciar las notas un poco más entre sí, de forma que todas
las marcas dinámicas puedan caber a la misma distancia vertical desde
el pentagrama.  Hemos sido capaces de hacer esto para el texto de
marcado utilizando la instrucción <code>\textLengthOn</code>, pero no existe
una instrucción equivalente para las indicaciones de matiz dinámico. 
Por tanto, tendremos que averiguar cómo hacerlo utilizando
instrucciones <code>\override</code>.

<h4 class="subheading">Escalado de un «Grob»</h4>

<p><a name="index-grob_002c-cambio-de-tama_00c3_00b1o-de-un-381"></a><a name="index-escala-de-los-grobs-382"></a><a name="index-g_t_0040code_007bX_002doffset_007d-383"></a><a name="index-g_t_0040code_007bY_002doffset_007d-384"></a><a name="index-g_t_0040code_007bX_002dextent_007d-385"></a><a name="index-g_t_0040code_007bY_002dextent_007d-386"></a>
En primer lugar debemos aprender cómo se especifica el tamaño de los
grobs.  Todos los grobs tienen un punto de referencia definido dentro
de ellos que se usa para colocarlos respecto a su objeto padre. 
Entonces, este punto del grob se posiciona a una distancia horizontal,
<code>X-offset</code>, y una distancia vertical, <code>Y-offset</code>, a partir
de su padre.  La dimensión horizontal del objeto viene dada por una
pareja de números, <code>X-extent</code>, que dice dónde están los límites
izquierdo y derecho respecto del punto de referencia.  La amplitud
vertical se define de forma similar mediante una pareja de números,
<code>Y-extent</code>.  Éstas son propiedades de todos los grobs que
contemplan el <code>grob-interface</code>.

   <p><a name="index-g_t_0040code_007bextra_002dspacing_002dwidth_007d-387"></a>
De forma predeterminada, los objetos fuera-del-pentagrama reciben una
anchura cero, de manera que pueden solaparse en la dirección
horizontal.  Esto se hace mediante el truco de añadir una cantidad
infinita a la dimensión más a la izquierda y menos infinito a la
dimensión más a la derecha estableciendo el valor de
<code>extra-spacing-width</code> a <code>'(+inf.0 . -inf.0)</code>.  Así, para
asegurar que no se superponen en la dirección horizontal tendremos que
sobreescribir este valor de <code>extra-spacing-width</code> a <code>'(0
. 0)</code> de forma que el verdadero ancho se presente.  Esta es la
instrucción que lo hace para las indicaciones dinámicas:

<pre class="example">\override DynamicText #'extra-spacing-width = #'(0 . 0)
</pre>
   <p class="noindent">Veamos si funciona en nuestro ejemplo anterior:

   <blockquote>
<pre class="verbatim">     
     \dynamicUp
     \override DynamicText #'extra-spacing-width = #'(0 . 0)
     a4\f b\mf c\mp b\p
</pre>
     <p>
 <a href="../54/lily-cf45e3d2.ly"> <img align="middle" border="0" src="../54/lily-cf45e3d2.png" alt="[image of music]"> </a>
</p>

   </blockquote>

<p class="noindent">Bueno, ciertamente ha hecho que las marcas dinámicas ya no estén
desplazadas, pero aún quedan dos problemas.  Las marcas tendrían que
separarse un poco más entre sí, y sería mejor si todas estuvieran a la
misma distancia del pentagrama.  Podemos resolver el primer problema
fácilmente.  En vez de hacer cero la anchura
<code>extra-spacing-width</code>, podemos añadirle algo más.  Las unidades
son el espacio entre dos líneas de pentagrama, así que al mover el
límite izquierdo media unidad a la izquierda y el límite derecho media
unidad hacia la derecha, deberíamos conseguirlo:

   <blockquote>
<pre class="verbatim">     
     \dynamicUp
     % Aumentar la anchura en un espacio de pentagrama
     \override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
     a4\f b\mf c\mp b\p
</pre>
     <p>
 <a href="../b7/lily-18117edf.ly"> <img align="middle" border="0" src="../b7/lily-18117edf.png" alt="[image of music]"> </a>
</p>

   </blockquote>

<p class="noindent">Esto tiene un mejor aspecto, pero quizá habríamos preferido que las
indicaciones de dinámica estuvieran alineadas sobre la misma línea de
base en lugar de ir hacia arriba y hacia abajo con las notas.  La
propiedad que lo hace es <code>staff-padding</code> (relleno de pentagrama)
que se estudia en la sección siguiente.

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
Anterior:&nbsp;<a rel="previous" accesskey="p" href="Within_002dstaff-objects.es.html#Within_002dstaff-objects">Objetos interiores al pentagrama</a>,
Arriba:&nbsp;<a rel="up" accesskey="u" href="Placement-of-objects.es.html#Placement-of-objects">Colocación de los objetos</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="Outside-staff-objects.html">English</a>.
 <BR>
 
</P>
</BODY></html>