Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > f07b4b9fcbe6d8ab9260b52d15e551a6 > files > 7064

lilypond-doc-2.12.3-1.fc13.noarch.rpm

<!-- header_tag -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
<!-- Copyright C 1999-2009 por los autores

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.

The translation of the following copyright notice is provided
for courtesy to non-English speakers, but only the notice in English
legally counts.

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".

 -->
<!-- Created on el 15 diciembre 2009 by texi2html 1.82
texi2html was written by: 
            Lionel Cons <Lionel.Cons@cern.ch> (original author)
            Karl Berry  <karl@freefriends.org>
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
            and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
<title>Manual de aprendizaje de GNU LilyPond: 3.3.4 Modifying context properties</title>

<meta name="description" content="Manual de aprendizaje de GNU LilyPond: 3.3.4 Modifying context properties">
<meta name="keywords" content="Manual de aprendizaje de GNU LilyPond: 3.3.4 Modifying context properties">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.82">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.es.html#Top" rel="start" title="GNU LilyPond: Manual de aprendizaje">
<link href="LilyPond-index.es.html#LilyPond-index" rel="index" title="D. LilyPond index">
<link href="index_toc.es.html#SEC_Contents" rel="contents" title="&Iacute;ndice General">
<link href="index_abt.es.html#SEC_About" rel="help" title="Acerca de este documento">
<link href="Contexts-and-engravers.es.html#Contexts-and-engravers" rel="up" title="3.3 Contexts and engravers">
<link href="LilyPond-index.es.html#LilyPond-index" rel="next" title="D. LilyPond index">
<link href="Engravers-explained.es.html#Engravers-explained" rel="previous" title="3.3.3 Engravers explained">
<link rel="stylesheet" type="text/css" title="Patrick McCarty's design" href="lilypond-mccarty.css">
<link rel="alternate stylesheet" type="text/css" href="lilypond.css" title="Andrew Hawryluk's design">
<link rel="alternate stylesheet" type="text/css" href="lilypond-blue.css" title="Kurt Kroon's blue design">
<!--[if lte IE 7]>
<link href="lilypond-ie-fixes.css" rel="stylesheet" type="text/css">
<![endif]-->


</head>

<body lang="es" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">


<div id="main">
<a name="Modifying-context-properties"></a>
<table class="nav_table">
<tr><td valign="middle" align="left" colspan="1">[<a href="Fundamental-concepts.es.html#Fundamental-concepts" title="Inicio de este cap&iacute;tulo o cap&iacute;tulo anterior"> &lt;&lt; Fundamental concepts&nbsp;</a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.es.html#Top" title="Portada del documento" rel="start">Arriba</a>][<a href="index_toc.es.html#SEC_Contents" title="&Iacute;ndice general" rel="contents">&Iacute;ndice general</a>][<a href="LilyPond-index.es.html#LilyPond-index" title="&Iacute;ndice" rel="index">&Iacute;ndice</a>][<a href="index_abt.es.html#SEC_About" title="Acerca de (p&aacute;gina de ayuda)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Tweaking-output.es.html#Tweaking-output" title="Cap&iacute;tulo siguiente">&nbsp;Tweaking output &gt;&gt; </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Engravers-explained.es.html#Engravers-explained" title="Secci&oacute;n anterior en orden de lectura" accesskey="p" rel="previous"> &lt; Engravers explained&nbsp;</a>]</td><td valign="middle" align="center" colspan="1">[<a href="Contexts-and-engravers.es.html#Contexts-and-engravers" title="Subir secci&oacute;n" accesskey="u" rel="up">&nbsp; Subir :&nbsp;Contexts and engravers&nbsp;</a>]</td><td valign="middle" align="right" colspan="2">[<a href="Adding-and-removing-engravers.es.html#Adding-and-removing-engravers" title="Secci&oacute;n siguiente en orden de lectura" accesskey="n" rel="next">&nbsp;Adding and removing engravers &gt; </a>]</td></tr></table>
<a name="Modifying-context-properties"></a>
<h3 class="subsection">3.3.4 Modifying context properties</h3>

<a name="index-contexto_002c-propiedades-de"></a>
<a name="index-contexto_002c-propiedades-de_002c-modificacion"></a>
<a name="index-modificar-las-propiedades-de-contexto"></a>
<a name="index-_005cset"></a>
<a name="index-_005cset-1"></a>
<a name="index-set"></a>
<a name="index-set-1"></a>
<a name="index-_005cunset"></a>
<a name="index-_005cunset-1"></a>
<a name="index-unset"></a>
<a name="index-unset-1"></a>

<p>Los contextos se responsabilizan de mantener los valores de un cierto
número de <em>properties</em> de contexto.  Muchas de ellas se pueden
cambiar para influir en la interpretación del código de entrada y
cambiar así la apariencia de la salida impresa.  Se modifican mediante
la instrucción <code>\set</code>.  Esta instrucción toma la forma siguiente:
</p>
<blockquote><pre class="example">\set <em>NombreDelContexto</em>.<em>nombreDeLaPropiedad</em> = #<em>valor</em>
</pre></blockquote>

<p>Donde el <em>NombreDelContexto</em> es normalmente <code>Score</code>,
<code>Staff</code> o <code>Voice</code>.  Se puede omitir, en cuyo caso se supone
que es <code>Voice</code>.
</p>
<p>Los nombres de las propiedades de contexto consisten en palabras
unidas sin ningún guión o barra baja, y donde todas las palabras
excepto la primera empiezan en mayúscula.  A continuación podemos ver
algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
Hay muchas más que las que se muestran aquí.
</p>
<table>
<thead><tr><th width="25%"><p> nombreDeLaPropiedad
  </p></th><th width="15%"><p> Tipo
  </p></th><th width="45%"><p> Función
  </p></th><th width="15%"><p> Valor de ejemplo
</p></th></tr></thead>
<tr><td width="25%"><p> extraNatural
  </p></td><td width="15%"><p> Booleano
  </p></td><td width="45%"><p> Si es verdadero, poner becuadros adicionales antes de las alteraciones
  </p></td><td width="15%"><p> <code>#t</code>, <code>#f</code>
</p></td></tr>
<tr><td width="25%"><p> currentBarNumber
  </p></td><td width="15%"><p> Entero
  </p></td><td width="45%"><p> Ajustar el número del compás actual
  </p></td><td width="15%"><p> <code>50</code>
</p></td></tr>
<tr><td width="25%"><p> doubleSlurs
  </p></td><td width="15%"><p> Booleano
  </p></td><td width="45%"><p> Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
  </p></td><td width="15%"><p> <code>#t</code>, <code>#f</code>
</p></td></tr>
<tr><td width="25%"><p> instrumentName
  </p></td><td width="15%"><p> Texto
  </p></td><td width="45%"><p> Establecer el nombre del pentagrama, situado a la izquierda
  </p></td><td width="15%"><p> <code>&quot;Cello I&quot;</code>
</p></td></tr>
<tr><td width="25%"><p> fontSize
  </p></td><td width="15%"><p> Real
  </p></td><td width="45%"><p> Aumentar o disminuir el tamaño de la fuente tipográfica
  </p></td><td width="15%"><p> <code>2.4</code>
</p></td></tr>
<tr><td width="25%"><p> stanza
  </p></td><td width="15%"><p> Texto
  </p></td><td width="45%"><p> Establecer el texto que se imprime antes del comienzo de una estrofa
  </p></td><td width="15%"><p> <code>&quot;2&quot;</code>
</p></td></tr>
</table>

<p>donde un valor Booleano es verdadero (<code>#t</code>, True) o falso
(<code>#f</code>, False), un Entero es un número entero positivo, un número
Real es un número decimal positivo o negativo, y el texto se encierra
entre comillas dobles.  Observe la aparición de signos de cuadradillo,
(<code>#</code>), en dos lugares diferentes: como parte del valor Booleano
antes de la <code>t</code> o la <code>f</code>, y antes del <em>valor</em> dentro de
la sentencia <code>\set</code>.  Así pues, cuando se está escribiendo un
valor Booleano, hay que escribir dos signos de cuadradillo, por
ejemplo: <code>##t</code>.
</p>
<a name="index-propiedades-que-funcionan-en-contextos"></a>
<a name="index-establecer-propiedades-en-contextos"></a>

<p>Antes de poder establecer cualquiera de estas propiedades, tenemos que
saber en qué contexto operan.  A veces es algo obvio, pero en
ocasiones puede ser algo enrevesado.  Si especificamos un contexto
equivocado, no se produce ningún mensaje de error, pero el
funcionamiento esperado no tendrá lugar.  Por ejemplo, la propiedad
<code>instrumentName</code> (nombre del instrumento) vive claramente dentro
del contexto de <code>Staff</code>, puesto que es el pentagrama el que debe
ser nombrado.  En este ejemplo, el primer pentagrama resulta
etiquetado, pero no el segundo, porque hemos omitido el nombre del
contexto.
</p>
<blockquote><pre class="verbatim">&lt;&lt;
  \new Staff \relative c'' {
    \set Staff.instrumentName = #&quot;Soprano&quot;
    c4 c
 }
  \new Staff \relative c' {
  \set instrumentName = #&quot;Alto&quot;  % Wrong!
  d4 d
 }
&gt;&gt;
</pre><p>
 <a href="../29/lily-9e13c984.ly">
  <img align="middle"
       border="0"
       src="../29/lily-9e13c984.png"
       alt="[image of music]">
 </a>
</p>
</blockquote>



<p>Recuerde que el nombre del contexto predeterminado es <code>Voice</code>,
así que la segunda instrucción <code>\set</code> establece la propiedad
<code>instrumentName</code> del contexto <code>Voice</code> a &ldquo;Alto&rdquo;, pero como
LilyPond no busca esta propiedad en el contexto <code>Voice</code>, no se
realiza ninguna acción.  Esto no es un error, y no se registra ningún
mensaje en el archivo Log de registro de errores.
</p>
<p>De forma parecida, si el nombre de la propiedad se escribe con alguna
falta, no se produce ningún mensaje de error, y claramente la acción
esperada no puede tener lugar.  De hecho, se puede establecer
cualquier &lsquo;property&rsquo; (ficticia) usando cualquier nombre que queramos
en cualquier contexto que exista, mediante el uso de la instrucción
<code>\set</code>.  Pero si el nombre no es conocido para LilyPond, no
producirá ninguna acción.  Algunos editores de texto que apoyan a los
archivos de entrada de LilyPond de manera especial, documentan los
nombres de propiedades con viñetas cuando psamos sobre ellos con el
puntero del ratón, como JEdit con la extensión LilyPondTool, o
resaltan los nombres de propiedades desconocidas de manera diferente,
como ConTEXT.  Si no se utiliza un editor con tales posibilidades, se
recomienda comprobar la corrección del nombre de la propiedad en el
manual de Referencia de funcionamiento interno: véase
<a name="index-Tunable-context-properties"></a>
<a href="../lilypond-internals/Tunable-context-properties.es.html#Tunable-context-properties">Tunable context properties</a> o <a name="index-Contexts-1"></a>
<a href="../lilypond-internals/Contexts.es.html#Contexts">Contexts</a>.
</p>
<p>La propiedad <code>instrumentName</code> tendrá efecto solamente si se
establece dentro del contexto <code>Staff</code>, pero algunas propiedades
se pueden establecer en más de un contexto.  Por ejemplo, la propiedad
<code>extraNatural</code> está establecida por defecto al valor <code>##t</code>
(verdadero) para todos los pentagramas.  Si se establece a <code>##f</code>
(falso) en un contexto de <code>Staff</code> determinado, se aplicará
solamente a las alteraciones de ese pentagrama.  Si se establece a
falso en el contexto de la partitura, <code>Score</code>, se aplicará a
todos los pentagramas.
</p>
<p>Así, esto desactivará los becuadros adicionales en un pentagrama:
</p>
<blockquote><pre class="verbatim">&lt;&lt;
  \new Staff \relative c'' {
    ais4 aes
 }
  \new Staff \relative c'' {
    \set Staff.extraNatural = ##f
    ais4 aes
 }
&gt;&gt;
</pre><p>
 <a href="../5b/lily-d0a3125b.ly">
  <img align="middle"
       border="0"
       src="../5b/lily-d0a3125b.png"
       alt="[image of music]">
 </a>
</p>
</blockquote>



<p>y esto los desactivará en todos los pentagramas:
</p>
<blockquote><pre class="verbatim">&lt;&lt;
  \new Staff \relative c'' {
    ais4 aes
 }
  \new Staff \relative c'' {
    \set Score.extraNatural = ##f
    ais4 aes
 }
&gt;&gt;
</pre><p>
 <a href="../c2/lily-ce8468f7.ly">
  <img align="middle"
       border="0"
       src="../c2/lily-ce8468f7.png"
       alt="[image of music]">
 </a>
</p>
</blockquote>



<p>Como un ejemplo más, si se establece <code>clefOctavation</code> dentro del
contexto de <code>Score</code>, éste cambia inmediatamente el valor de la
octavación en todos los pentagramas en curso y establece un nuevo
valor predeterminado que se aplicará a todos los pentagramas.
</p>
<p>La instrucción opuesta, <code>\unset</code>, tiene el efecto de suprimir la
propiedad del contexto, lo que ocasiona que la mayoría de las
porpiedades vuelvan a su valor predeterminado.  Normalmente no es
necesario el uso de <code>\unset</code>, pues una nueva instrucción
<code>\set</code> hará el ajuste deseado.
</p>
<p>Las instrucciones <code>\set</code> y <code>\unset</code> pueden aparecer en
cualquier lugar del archivo de entrada y tendrán efecto a partir del
tiempo en que se encuentran y hasta el final de la partitura o hasta
que la propiedad se establezca de nuevo mediante <code>\set</code> o
<code>\unset</code>.  Probemos a modificar el tamaño de la fuente
tipográfica, lo que afecta al tamaño de las cabezas de las notas
(entre otras cosas) varias veces.  El cambio se toma a partir del
valor predeterminado, no el valor en curso.
</p>
<blockquote><pre class="verbatim">c4
% make note heads smaller
\set fontSize = #-4
d e
% make note heads larger
\set fontSize = #2.5
f g
% return to default size
\unset fontSize
a b
</pre><p>
 <a href="../c7/lily-499a61d2.ly">
  <img align="middle"
       border="0"
       src="../c7/lily-499a61d2.png"
       alt="[image of music]">
 </a>
</p>
</blockquote>



<p>Hemos podido ver cómo establecer los valores de diversos tipos de
propiedad diferentes.  Observe que los números enteros y reales van
siempre precedidos de un símbolo de cuadradillo, <code>#</code>, mientras
que un valor booleano verdadero o falso se especifica mediante
<code>##t</code> y <code>##f</code>, con dos cuadradillos.  Una propiedad de texto
se debe encerrar entre comillas dobles, como antes, aunque veremos más
adelante que el texto realmente se puede especificar de una forma
mucho más general utilizando la potentísima instrucción <code>markup</code>.
</p>
<a name="Setting-context-properties-with-_005cwith"></a>
<h4 class="subsubheading">Setting context properties with <code>\with</code></h4>

<a name="index-_005cwith"></a>
<a name="index-_005cwith-1"></a>
<a name="index-with"></a>
<a name="index-with-1"></a>
<a name="index-contexto_002c-propiedades-de_002c-establecimiento-con-_005cwith"></a>

<p>Las propiedades de contexto también se pueden establecer en el momento
en que se crea el contexto.  A veces esta forma de establecer el valor
de una propiedad es mucho más clara, si ha de quedar fijo durante todo
el tiempo que dure el contexto.  Cuando se crea un contexto con una
instrucción <code>\new</code> puede ir inmediatamente seguido de un bloque
<code>\with { .. }</code> en el que se establecen los valores de las
propiedades.  Por ejemplo, si queremos suprimir la impresión de
becuadros adicionales para toda la duración de un pentagrama, podemos
escribir:
</p>
<blockquote><pre class="example">\new Staff \with { extraNatural = ##f }
</pre></blockquote>

<p>de la siguiente forma:
</p>
<blockquote><pre class="verbatim">&lt;&lt;
  \new Staff
  \relative c'' {
    gis ges aes ais
  }
  \new Staff \with { extraNatural = ##f }
  \relative c'' {
    gis ges aes ais
  }
&gt;&gt;
</pre><p>
 <a href="../7f/lily-609e50dc.ly">
  <img align="middle"
       border="0"
       src="../7f/lily-609e50dc.png"
       alt="[image of music]">
 </a>
</p>
</blockquote>



<p>Las propiedades ajustadas de esta manera aún pueden cambiarse
dinámicamente utilizando <code>\set</code> y ser devueltas a sus valores
predeterminados mediante <code>\unset</code>.
</p>
<a name="index-fontSize-_0028tamano-de-la-tipografia_0029"></a>
<a name="index-fuente_002c-tamano-de-la"></a>
<a name="index-tamano-de-la-fuente"></a>

<p>La propiedad <code>fontSize</code> se trata de forma distinta.  Si se ajusta
dentro de una cláusula <code>\with</code>, tiene el efecto de reiniciar el
valor predeterminado del tamaño de la fuente tipográfica.  Si más
tarde se modifica con <code>\set</code>, este nuevo valor predeterminado
puede restablecerse con la instrucción <code>\unset fontSize</code>.
</p>
<a name="Setting-context-properties-with-_005ccontext"></a>
<h4 class="subsubheading">Setting context properties with <code>\context</code></h4>

<a name="index-contextos_002c-establecer-propiedades-de_002c-con-_005ccontext"></a>
<a name="index-_005ccontext"></a>
<a name="index-_005ccontext-1"></a>
<a name="index-context"></a>
<a name="index-context-1"></a>

<p>Los valores de propiedad de los contextos se pueden establecer para
<em>todos</em> los contextos de un tipo determinado, como por ejemplo
todos los contextos de <code>Staff</code>, con una única instrucción.  El
tipo de contexto se identifica mediante la utilización del nombre de
su tipo, como <code>Staff</code>, precedido de una barra invertida:
<code>\Staff</code>.  El enunciado que establece el valor de la propiedad es
el mismo que el que está en un bloque <code>\with</code>, presentado
anteriormente.  Se coloca en un bloque <code>\context</code> dentro de un
bloque <code>\layout</code>.  Cada bloque <code>\context</code> afecta a todos los
contextos del tipo especificado a lo largo del bloque <code>\score</code> o
<code>\book</code> en el que aparece el bloque <code>\layout</code>.  A
continuación presentamos un ejemplo que muestra el formato:
</p>
<blockquote><pre class="verbatim">\score {
  \new Staff {
    \relative c'' {
      cis4 e d ces
    }
  }
  \layout {
    \context {
      \Staff
      extraNatural = ##t
    }
  }
}
</pre><p>
 <a href="../e5/lily-dcb98145.ly">
  <img align="middle"
       border="0"
       src="../e5/lily-dcb98145.png"
       alt="[image of music]">
 </a>
</p>
</blockquote>



<p>Las propiedades de contexto establecidas de esta forma se pueden
sobreescribir para ejemplares concretos de contextos mediante
enunciados dentro de un bloque <code>\with</code>, y mediante instrucciones
<code>\set</code> intercaladas dentro de enunciados musicales.
</p>

<a name="Vease-tambien-20"></a>
<h4 class="subsubheading">Véase también</h4>
<p>Referencia de la notación:
<a name="index-Changing-context-default-settings"></a>
<a href="../lilypond/Changing-context-default-settings.es.html#Changing-context-default-settings">Changing context default settings</a>.
</p>
<p>Referencia de funcionamiento interno:
<a name="index-Contexts-2"></a>
<a href="../lilypond-internals/Contexts.es.html#Contexts">Contexts</a>,
<a name="index-Tunable-context-properties-1"></a>
<a href="../lilypond-internals/Tunable-context-properties.es.html#Tunable-context-properties">Tunable context properties</a>.
</p>

<hr size="6">
<table class="nav_table">
<tr><td valign="middle" align="left" colspan="1">[<a href="Fundamental-concepts.es.html#Fundamental-concepts" title="Inicio de este cap&iacute;tulo o cap&iacute;tulo anterior"> &lt;&lt; Fundamental concepts&nbsp;</a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.es.html#Top" title="Portada del documento" rel="start">Arriba</a>][<a href="index_toc.es.html#SEC_Contents" title="&Iacute;ndice general" rel="contents">&Iacute;ndice general</a>][<a href="LilyPond-index.es.html#LilyPond-index" title="&Iacute;ndice" rel="index">&Iacute;ndice</a>][<a href="index_abt.es.html#SEC_About" title="Acerca de (p&aacute;gina de ayuda)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Tweaking-output.es.html#Tweaking-output" title="Cap&iacute;tulo siguiente">&nbsp;Tweaking output &gt;&gt; </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Engravers-explained.es.html#Engravers-explained" title="Secci&oacute;n anterior en orden de lectura" accesskey="p" rel="previous"> &lt; Engravers explained&nbsp;</a>]</td><td valign="middle" align="center" colspan="1">[<a href="Contexts-and-engravers.es.html#Contexts-and-engravers" title="Subir secci&oacute;n" accesskey="u" rel="up">&nbsp; Subir :&nbsp;Contexts and engravers&nbsp;</a>]</td><td valign="middle" align="right" colspan="2">[<a href="Adding-and-removing-engravers.es.html#Adding-and-removing-engravers" title="Secci&oacute;n siguiente en orden de lectura" accesskey="n" rel="next">&nbsp;Adding and removing engravers &gt; </a>]</td></tr></table>
<!-- footer_tag -->
<div class="footer">
<p class="footer_version">
This page is for LilyPond-2.12.3 (stable-branch).
</p>
<p class="footer_report">
Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome, please report errors to our <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">bug list</a>.
</p>
</div>


<p id="languages">
 Other languages: <a href="Modifying-context-properties.html">English</a>, <a href="Modifying-context-properties.fr.html">français</a>, <a href="Modifying-context-properties.de.html">deutsch</a>.
 <br>
 
</p>

<!-- FOOTER -->

<!-- end div#main here -->
</div>



<div id="tocframe">
<p class="toc_uplink"><a href="../index.es.html" 
         title="Documentation Index">&lt;&lt; Volver al índice de la documentación</a></p>
<h4 class="toc_header"><a href="index.es.html#Top" title="Start of the manual">Manual de aprendizaje</a></h4>
<div class="contents">
<ul class="toc">
  <li><a name="toc-Preface-1" href="Preface.es.html#Preface">Preface</a>  </li>
  <li><a name="toc-Introduction-1" href="Introduction.es.html#Introduction">1. Introduction</a>
  <ul class="toc">
    <li><a name="toc-Background-1" href="Background.es.html#Background">1.1 Background</a>    </li>
    <li><a name="toc-About-the-documentation-1" href="About-the-documentation.es.html#About-the-documentation">1.2 About the documentation</a>    </li>
  </ul>
  </li>
  <li><a name="toc-Tutorial-1" href="Tutorial.es.html#Tutorial">2. Tutorial</a>
  <ul class="toc">
    <li><a name="toc-First-steps-1" href="First-steps.es.html#First-steps">2.1 First steps</a>    </li>
    <li><a name="toc-Single-staff-notation-1" href="Single-staff-notation.es.html#Single-staff-notation">2.2 Single staff notation</a>    </li>
    <li><a name="toc-Multiple-notes-at-once-1" href="Multiple-notes-at-once.es.html#Multiple-notes-at-once">2.3 Multiple notes at once</a>    </li>
    <li><a name="toc-Songs-1" href="Songs.es.html#Songs">2.4 Songs</a>    </li>
    <li><a name="toc-Final-touches-1" href="Final-touches.es.html#Final-touches">2.5 Final touches</a>    </li>
  </ul>
  </li>
  <li class="toc_current"><a name="toc-Fundamental-concepts-1" href="Fundamental-concepts.es.html#Fundamental-concepts">3. Fundamental concepts</a>
  <ul class="toc">
    <li><a name="toc-How-LilyPond-input-files-work-1" href="How-LilyPond-input-files-work.es.html#How-LilyPond-input-files-work">3.1 How LilyPond input files work</a>    </li>
    <li><a name="toc-Voices-contain-music-1" href="Voices-contain-music.es.html#Voices-contain-music">3.2 Voices contain music</a>    </li>
    <li class="toc_current"><a name="toc-Contexts-and-engravers-1" href="Contexts-and-engravers.es.html#Contexts-and-engravers">3.3 Contexts and engravers</a>
    <ul class="toc">
      <li><a name="toc-Contexts-explained-1" href="Contexts-explained.es.html#Contexts-explained">3.3.1 Contexts explained</a>      </li>
      <li><a name="toc-Creating-contexts-1" href="Creating-contexts.es.html#Creating-contexts">3.3.2 Creating contexts</a>      </li>
      <li><a name="toc-Engravers-explained-1" href="Engravers-explained.es.html#Engravers-explained">3.3.3 Engravers explained</a>      </li>
      <li class="toc_current"><a name="toc-Modifying-context-properties-1" href="Modifying-context-properties.es.html#Modifying-context-properties">3.3.4 Modifying context properties</a>      </li>
      <li><a name="toc-Adding-and-removing-engravers-1" href="Adding-and-removing-engravers.es.html#Adding-and-removing-engravers">3.3.5 Adding and removing engravers</a>      </li>
    </ul>
    </li>
    <li><a name="toc-Extending-the-templates-1" href="Extending-the-templates.es.html#Extending-the-templates">3.4 Extending the templates</a>    </li>
  </ul>
  </li>
  <li><a name="toc-Tweaking-output-1" href="Tweaking-output.es.html#Tweaking-output">4. Tweaking output</a>
  <ul class="toc">
    <li><a name="toc-Tweaking-basics-1" href="Tweaking-basics.es.html#Tweaking-basics">4.1 Tweaking basics</a>    </li>
    <li><a name="toc-The-Internals-Reference-manual-1" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual">4.2 The Internals Reference manual</a>    </li>
    <li><a name="toc-Appearance-of-objects-1" href="Appearance-of-objects.es.html#Appearance-of-objects">4.3 Appearance of objects</a>    </li>
    <li><a name="toc-Placement-of-objects-1" href="Placement-of-objects.es.html#Placement-of-objects">4.4 Placement of objects</a>    </li>
    <li><a name="toc-Collisions-of-objects-1" href="Collisions-of-objects.es.html#Collisions-of-objects">4.5 Collisions of objects</a>    </li>
    <li><a name="toc-Further-tweaking-1" href="Further-tweaking.es.html#Further-tweaking">4.6 Further tweaking</a>    </li>
  </ul>
  </li>
  <li><a name="toc-Working-on-LilyPond-projects-1" href="Working-on-LilyPond-projects.es.html#Working-on-LilyPond-projects">5. Working on LilyPond projects</a>
  <ul class="toc">
    <li><a name="toc-Suggestions-for-writing-LilyPond-files-1" href="Suggestions-for-writing-LilyPond-files.es.html#Suggestions-for-writing-LilyPond-files">5.1 Suggestions for writing LilyPond files</a>    </li>
    <li><a name="toc-When-things-don_0027t-work-1" href="When-things-don_0027t-work.es.html#When-things-don_0027t-work">5.2 When things don&rsquo;t work</a>    </li>
    <li><a name="toc-Scores-and-parts-1" href="Scores-and-parts.es.html#Scores-and-parts">5.3 Scores and parts</a>    </li>
  </ul>
  </li>
  <li><a name="toc-Templates-1" href="Templates.es.html#Templates">A. Templates</a>
  <ul class="toc">
    <li><a name="toc-Single-staff-1" href="Single-staff.es.html#Single-staff">A.1 Single staff</a>    </li>
    <li><a name="toc-Piano-templates-1" href="Piano-templates.es.html#Piano-templates">A.2 Piano templates</a>    </li>
    <li><a name="toc-String-quartet-2" href="String-quartet.es.html#String-quartet">A.3 String quartet</a>    </li>
    <li><a name="toc-Vocal-ensembles-1" href="Vocal-ensembles.es.html#Vocal-ensembles">A.4 Vocal ensembles</a>    </li>
    <li><a name="toc-Ancient-notation-templates-1" href="Ancient-notation-templates.es.html#Ancient-notation-templates">A.5 Ancient notation templates</a>    </li>
    <li><a name="toc-Jazz-combo-1" href="Jazz-combo.es.html#Jazz-combo">A.6 Jazz combo</a>    </li>
    <li><a name="toc-lilypond_002dbook-templates-1" href="lilypond_002dbook-templates.es.html#lilypond_002dbook-templates">A.7 lilypond-book templates</a>    </li>
  </ul>
  </li>
  <li><a name="toc-Scheme-tutorial-1" href="Scheme-tutorial.es.html#Scheme-tutorial">B. Scheme tutorial</a>
  <ul class="toc">
    <li><a name="toc-Tweaking-with-Scheme-1" href="Tweaking-with-Scheme.es.html#Tweaking-with-Scheme">B.1 Tweaking with Scheme</a>    </li>
  </ul>
  </li>
  <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.es.html#GNU-Free-Documentation-License">C. GNU Free Documentation License</a>  </li>
  <li><a name="toc-LilyPond-index-1" href="LilyPond-index.es.html#LilyPond-index">D. LilyPond index</a>  </li>
</ul>
</div>
</div>

</body>
</html>