]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/user/tweaks.itely
Doc-es: Full update from master. Includes status.
[lilypond.git] / Documentation / es / user / tweaks.itely
index fd78187dca1dea35bbbc5f7c5aa866fc0b8ce157..363f66c31d19bd35c9151f7f7ac4a3e92e440ac1 100644 (file)
@@ -1,12 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 1292d70ff6fa2d24e71fd7b9ac118359eef21794
+    Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.65"
+
 @node Tweaking output
 @chapter Tweaking output
 
@@ -15,26 +17,22 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 
 
 @menu
-* Tweaking basics::             
-* The Internals Reference manual::  
-* Appearance of objects::       
-* Placement of objects::        
-* Collisions of objects::       
-* Common tweaks::               
-* Default files::               
-* Fitting music onto fewer pages::  
-* Avoiding tweaks with slower processing::  
-* Advanced tweaks with Scheme::  
+* Tweaking basics::
+* The Internals Reference manual::
+* Appearance of objects::
+* Placement of objects::
+* Collisions of objects::
+* Further tweaking::
 @end menu
 
 @node Tweaking basics
 @section Tweaking basics
 
 @menu
-* Introduction to tweaks::      
-* Objects and interfaces::      
-* Naming conventions of objects and properties::  
-* Tweaking methods::            
+* Introduction to tweaks::
+* Objects and interfaces::
+* Naming conventions of objects and properties::
+* Tweaking methods::
 @end menu
 
 @node Introduction to tweaks
@@ -63,10 +61,14 @@ fundamentales para comprender y construir los trucos.
 @node Objects and interfaces
 @subsection Objects and interfaces
 
-@cindex objetos
-@cindex grobs
-@cindex selectores
-@cindex interfaces
+@cindex objeto
+@cindex grob
+@cindex objeto de extensión
+@cindex interfaz
+@cindex propiedades de objetos
+@cindex objeto, propiedades de
+@cindex layout (disposición), objeto de
+@cindex objeto de disposición (layout)
 
 El trucaje consiste en modificar el funcionamiento y estructura
 interna del programa LilyPond, por lo que en primer lugar
@@ -81,7 +83,7 @@ tipo @code{Staff}.  Entonces, este objeto @code{Staff} contiene todas
 las propiedades asociadas con ese pentagrama en particular, por
 ejemplo, su nombre y su armadura, además de otros detalles de los
 grabadores que se han asignado para que operen dentro del contexto del
-pentagrama.  De forma similar, hay objetos que guardan las propieades
+pentagrama.  De forma similar, hay objetos que guardan las propiedades
 de todos los demás contextos, como objetos de @code{Voice}, objetos de
 @code{Score}, objetos de @code{Lyrics}, así como objetos que
 representan todos los elementos notacionales como líneas divisorias,
@@ -111,10 +113,10 @@ se deben procesar de la misma manera.  Por ejemplo, todos los objetos
 gráficos tienen un color, un tamaño, una posición, etc., y todas estas
 propiedades se procesan de la misma forma durante la interpretación
 del archivo de entrada por parte de LilyPond.  Para simplificar estas
-operaciones internas, estas acciones t propiedades comunes se agrupan
+operaciones internas, estas acciones y propiedades comunes se agrupan
 en un objeto llamado @code{grob-interface}, interface de grob.  Hay
 muchas otras agrupaciones de propiedades comunes como ésta, y cada
-unoa recibe un nombre que acaba en @code{interface}.  En total hay más
+una recibe un nombre que acaba en @code{interface}.  En total hay más
 de 100 interfaces de éstos.  Veremos más adelante porqué esto es del
 interés y de utilidad para el usuario.
 
@@ -124,19 +126,25 @@ que vamos a utilizar en este capítulo.
 @node Naming conventions of objects and properties
 @subsection Naming conventions of objects and properties
 
+@cindex nomemclatura, convenciones de, para objetos
+@cindex nomemclatura, convenciones de, para propiedades
+@cindex objetos, convenciones de nomenclatura
+@cindex propiedades, convenciones de nomenclatura
+
 Ya hemos visto ciertas convenciones de nomenclatura de objetos, en la
 sección @ref{Contexts and engravers}.  En este lugar, para más fácil
 referencia, presentamos una lista de los tipos de objetos y
 propiedades más comunes, junto con las convenciones según las cuales
 reciben su nombre, y un par de ejemplos de nombres reales.  Hemos
-utilizado una «A» mayúscula para denotar cualquier carácter alfabético
-en mayúsculas, y «aaa» para cualquier número de caracteres alfabéticos
-en minúscula.  Otros caracteres se utilizan literalmente como están.
+utilizado una @q{A} mayúscula para denotar cualquier carácter
+alfabético en mayúsculas, y @q{aaa} para cualquier número de
+caracteres alfabéticos en minúscula.  Otros caracteres se utilizan
+literalmente como están.
 
 @multitable @columnfractions .33 .33 .33
 @headitem Objeto o tipo de propiedad
   @tab Convención de nomenclatura
-  @tab Ejemplo
+  @tab Ejemplos
 @item Contextos
   @tab Aaaa o AaaaAaaaAaaa
   @tab Staff, GrandStaff
@@ -165,10 +173,15 @@ propiedad.
 @node Tweaking methods
 @subsection Tweaking methods
 
+@cindex trucaje, métodos de
+
 @strong{La instrucción \override}
 
 @cindex override, instrucción
+@cindex override (sobreescritura), sintaxis de
+
 @funindex \override
+@funindex override
 
 Ya hemos visto las instrucciones @code{\set} y @code{\with}, que se
 usan para cambiar las propiedades de los @strong{contextos} y para
@@ -187,17 +200,17 @@ modificar, y cuál debe ser su nuevo valor.  Veamos cómo se hace.
 La sintaxis genérica de esta instrucción es:
 
 @example
-\override @emph{contexto}.@emph{objeto_de_presentación}
-  #'@emph{propiedad_de_presentación} = #@emph{valor}
+\override @var{Contexto}.@var{ObjetoDePresentación}  #'@var{propiedad-de-presentación} =
+#@var{valor}
 @end example
 
 @noindent
 Esto establecerá la propiedad de nombre
-@emph{propiedad_de_presentación} del objeto de presentación con el
-nombre @emph{objeto_de_presentación}, que es miembro del contexto
-@emph{contexto}, al valor @emph{valor}.
+@var{propiedad-de-presentación} del objeto de presentación con el
+nombre @var{ObjetoDePresentación}, que es miembro del contexto
+@var{Contexto}, al valor @var{valor}.
 
-El @emph{contexto} se puede omitir (y normalmente así es) cuando el
+El @var{contexto} 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{ChordNames} o @code{Lyrics}, y lo omitiremos en muchos de los
@@ -205,7 +218,7 @@ ejemplos siguientes.  Veremos más tarde cuándo se debe especificar.
 
 Las últimas secciones tratan de forma exhaustiva las propiedades y sus
 valores, pero para ilustrar el formato y utilización de estas
-iinstrucciones usaremos sólo unas cuantas propiedades y valores
+instrucciones usaremos sólo unas cuantas propiedades y valores
 sencillos que sean fáciles de entender.
 
 Por ahora no se preocupe por el @code{#'}, que debe anteponerse a la
@@ -216,6 +229,9 @@ 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:
 
+@cindex color, propiedad, ejemplo
+@cindex NoteHead, ejemplo de sobreescritura
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c d
 \override NoteHead #'color = #red
@@ -227,9 +243,11 @@ a b c
 @strong{La instrucción \revert}
 
 @cindex revert, instrucción
+
 @funindex \revert
+@funindex revert
 
-Una vez sobreescrita, la proopiedad retiene su nuevo valor hasta que
+Una vez sobreescrita, la propiedad retiene su nuevo valor hasta que
 se sobreescribe de nuevo o se encuentra una instrucción
 @code{\revert}.  La instrucción @code{\revert} tiene la siguiente
 sintaxis y ocasiona que el valor de la propiedad se devuelva a su
@@ -237,15 +255,18 @@ valor predeterminado original; observe que no es a su valor previo si
 se han utilizado varias instrucciones @code{\override}.
 
 @example
-\revert @emph{contexto}.@emph{objeto_de_presentación} #'@emph{propiedad_de_presentación}
+\revert @var{Contexto}.@var{ObjetoDePresentación} #'@var{propiedad-de-presentación}
 @end example
 
-Una vez más, igual que @emph{contexto} dentro de la instrucción
+Una vez más, igual que @var{Contexto} dentro de la instrucción
 @code{\override}, con frecuencia no es necesario especificar el
-@emph{contexto}.  Se omitirá en muchos de los ejemplos siguientes.
+@var{Contexto}.  Se omitirá en muchos de los ejemplos siguientes.
 Aquí devolvemos el color de la cabeza al valor predeterminado para las
 dos últimas notas:
 
+@cindex color, propiedad, ejemplo
+@cindex NoteHead, ejemplo de sobreescritura
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c d
 \override NoteHead #'color = #red
@@ -258,6 +279,9 @@ b c
 
 @strong{El prefijo \once}
 
+@funindex \once
+@funindex once
+
 Tanto la instrucción @code{\override} como @code{\set} se pueden
 preceder por @code{\once}.  Esto ocasiona que la siguiente instrucción
 @code{\override} o @code{\set} sea efectiva solamente durante el
@@ -265,6 +289,9 @@ 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:
 
+@cindex color, propiedad, ejemplo
+@cindex NoteHead, ejemplo de sobreescritura
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c d
 \once \override NoteHead #'color = #red
@@ -276,7 +303,9 @@ a b c
 @strong{La instrucción \overrideProperty}
 
 @cindex overrideProperty, instrucción
+
 @funindex \overrideProperty
+@funindex overrideProperty
 
 Hay otra forma para la instrucción de sobreescritura,
 @code{\overrideProperty}, que ocasionalmente es necesaria.  La
@@ -287,7 +316,9 @@ detalles consulte @ruser{Difficult tweaks}.
 @strong{La instrucción \tweak}
 
 @cindex tweak, instrucción
+
 @funindex \tweak
+@funindex tweak
 
 La última instrucción de trucaje que está disponible es @code{\tweak}.
 Se debe utilizar para cambiar las propiedades de objetos que suceden
@@ -296,9 +327,12 @@ en el mismo momento musical, como las notas de un acorde.  El uso de
 del acorde, mientras que @code{\tweak} afecta solamente al siguiente
 elemento del flujo de entrada.
 
-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}:
+He aquí un ejemplo.  Suponga que queremos cambiar el tamaño de la
+cabeza de la nota intermedia (el Mi) en un acorde de Do mayor.  En
+primer lugar, veamos lo que haría @code{\once \override}:
+
+@cindex font-size, propiedad, ejemplo
+@cindex NoteHead, ejemplo de sobreescritura
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
   <c e g>4
@@ -308,18 +342,18 @@ lo que haría @code{\once \override}:
 @end lilypond
 
 Vemos que la sobreescritura con override afecta a @emph{todas} las
-notas del acorde.  Esto es así porque todas las notas de un acorde
-ocurren en el mismo @emph{momento musical}, y la acción de
-@code{\once} es aplicar la sobreescritura a todos los oobjetos de
+cabezas de las notas del acorde.  Esto es así porque todas las notas
+de un acorde ocurren en el mismo @emph{momento musical}, y la acción
+de @code{\once} 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}.
 
-LA instrucción @code{\tweak} opera de una forma distinta.  Actúa sobre
-el elemento inmediatamente siguiente dentro del flujjo 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,
+La instrucción @code{\tweak} 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 @emph{deben} estar
 dentro de un acorde, es decir, dentro de ángulos simples, así que para
 trucar una sola nota la instrucción @code{\tweak} se debe colocar
@@ -328,39 +362,48 @@ dentro de ángulos simples junto con la nota.
 Así pues, volviendo a nuestro ejemplo, el tamaño de la nota intermedia
 se cambiaría de la siguiente forma:
 
+@cindex font-size, propiedad, ejemplo
+@cindex @code{\tweak}, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
   <c e g>4
   <c \tweak #'font-size #-3 e g>4
 @end lilypond
 
-Observe que la sintaxis de @code{\tweak} es diferente de la de la
-instrucción @code{\override}.  Ni el contexto ni el objeto de
+Observe que la sintaxis de @code{\tweak} no es igual que la de
+@code{\override}.  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} es, simmplemente:
+@code{\tweak} es, simplemente,
 
 @example
-\tweak #'@emph{propiedad_de_presentación} = #@emph{valor}
+\tweak #'@var{propiedad-de-presentación} = #@var{valor}
 @end example
 
 Una instrucción @code{\tweak} también se puede usar para modificar
 sólo una de una serie de articulaciones, como se muestra aquí:
 
+@cindex color, propiedad, ejemplo
+@cindex @code{\tweak}, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 a ^Black
   -\tweak #'color #red ^Red
   -\tweak #'color #green _Green
 @end lilypond
 
+@noindent
 Observe que la instrucción @code{\tweak} debe venir precedida de una
 marca de articulación como si ella misma fuera una articulación.
 
 @cindex grupos especiales anidados
 @cindex tresillos anidados
 @cindex corchete del grupo especial
+@cindex corchete de tresillo
 @cindex grupo especial, corchete de
 @cindex tresillo, corchete de
+
 @funindex TupletBracket
 
 La instrucción @code{\tweak} también se debe usar para cambiar la
@@ -375,6 +418,10 @@ 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.
 
+@cindex @code{\tweak}, ejemplo
+@cindex direction, propiedad, ejemplo
+@cindex color, propiedad, ejemplo
+
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak #'direction #up
 \times 4/3 {
@@ -385,13 +432,15 @@ tresillo corto.
 }
 @end lilypond
 
-Encontrará más detalles de la instrucción @code{\tweak} en
-@ruser{Objects connected to the input}.
-
 Si los grupos anidados no comienzan en el mismo momento, su apariencia
 se puede modificar de la forma usual mediante instrucciones
 @code{\override}:
 
+@cindex text, propiedad, ejemplo
+@cindex tuplet-number, función, ejemplo
+@cindex transparent, propiedad, ejemplo
+@cindex TupletNumber, ejemplo de sobreescritura
+
 @c NOTE Tuplet brackets collide if notes are high on staff
 @c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
@@ -407,15 +456,21 @@ se puede modificar de la forma usual mediante instrucciones
 }
 @end lilypond
 
+
+@seealso
+Referencia de la notación:
+@ruser{The tweak command}.
+
+
 @node The Internals Reference manual
 @section The Internals Reference manual
 
 @cindex Internals Reference
 
 @menu
-* Properties of layout objects::  
-* Properties found in interfaces::  
-* Types of properties::         
+* Properties of layout objects::
+* Properties found in interfaces::
+* Types of properties::
 @end menu
 
 @node Properties of layout objects
@@ -425,6 +480,7 @@ se puede modificar de la forma usual mediante instrucciones
 @cindex propiedades de los grobs
 @cindex grobs, propiedades de
 @cindex presentación, propiedades de los objetos de
+@cindex Referencia de funcionamiento interno
 
 Suponga que tiene una partitura con una ligadura de expresión que para
 su gusto es demasiado fina y quiere trazarla un poco más gruesa. ¿Cómo
@@ -448,11 +504,13 @@ con tan sólo algo de práctica.
 
 @cindex sobreescritura, ejemplo de
 @cindex Referencia de Funcionamiento Interno, ejemplo de utilización
+@cindex @code{\addlyrics}, ejemplo
+
 
 Utilicemos un ejemplo concreto con un sencillo fragmento de música
 real:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -478,11 +536,11 @@ El RFI de la versión de LilyPond que está usando se puede encontrar en
 la página web de LilyPond en @uref{http://lilypond.org}.  Vaya a la
 página de la documentación y siga el enlace Manual de Referencia de
 Funcionamiento Interno (RFI).  Para nuestros propósitos pedagógicos
-sería mejor que utilizase la versión html, no la @q{en una sola
+sería mejor que utilizase la versión en HTML, no la @q{en una sola
 página} ni el PDF.  Para que los siguientes párrafos tengan algún
 sentido deberá consultarlo realmente al tiempo que lee.
 
-@c Link names in English as these pages are not yet translated
+@c Link names in English as those pages are not yet translated. FV
 Bajo el encabezamiento @strong{Top} podrá ver cinco enlaces.
 Seleccione el enlace @emph{Backend}, que es donde se encuentra la
 información sobre los objetos de presentación.  Una vez allí, bajo el
@@ -492,12 +550,13 @@ presentación que se usan en su versión de LilyPond, en orden
 alfabético.  Siga el enlace Slur (ligadura de expresión), y aparecerán
 relacionadas las propiedades de las ligaduras de expresión o Slurs.
 
-(Una forma alternativa de encontrar esta página es a partir de la
+Una forma alternativa de encontrar esta página es a partir de la
 Referencia de la Notación.  En una de las páginas que tratan de las
 ligaduras de expresión podrá encontrar un enlace al manual de
-referencia del funcioonamiento interno.  Este enlace le llevará
-directamente a esta página, aunque con frecuencia es más fácil ir
-directamente al RFI y buscar allí.)
+referencia del funcionamiento interno.  Este enlace le llevará
+directamente a esta página, aunque si tiene una idea del nombre del
+objeto de presentación que pretende trucar, le resultará más fácil ir
+directamente al RFI y buscar allí.
 
 Esta página sobre las ligaduras de expresión dentro del manual RFI nos
 dice en primer lugar que los objetos Slur se crean por el grabador
@@ -544,7 +603,10 @@ Aunque nos falta seguridad y estamos todavía aprendiendo, la mejor
 respuesta es: @q{Dentro de la música, antes de la primera ligadura y
 cerca de ella.}  Hagámoslo así:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@cindex Slur, ejemplo de sobreescritura
+@cindex thickness, propiedad, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -572,7 +634,9 @@ práctica).  La cual vendrá proporcionada por los ejemplos que vienen a
 continuación.
 
 @subheading Finding the context
+
 @cindex contexto, encontrar
+@cindex contexto, buscar el, correcto
 
 Pero en primer lugar ¿qué habría pasado si hubiésemos tenido que
 especificar el contexto? ¿Cuál sería?  Podemos suponer que las
@@ -596,7 +660,9 @@ este lugar concreto.
 
 @cindex sobreescritura por una sola vez
 @cindex once override
+
 @funindex \once
+@funindex once
 
 Como puede ver, @emph{todas} las ligaduras son más gruesas en el
 último ejemplo.  Pero ¿y si quisiéramos que solamente la primera
@@ -605,12 +671,15 @@ prefijo @code{\once}.  Colocado inmediatamente antes de la instrucción
 @code{\override} ocasiona que solamente cambie la ligadura que
 comienza en la nota @strong{inmediata siguiente}.  Si la nota
 inmediata siguiente no da inicio a una ligadura, la instrucción no
-tiene niingún efecto en absoluto: no se recuerda hasta que se
+tiene ningún efecto en absoluto: no se recuerda hasta que se
 encuentre alguna ligadura, sino que simplemente se ignora.  Así pues,
 la instrucción que lleva @code{\once} se debe reposicionar de la forma
 siguiente:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@cindex Slur, ejemplo de sobreescritura
+@cindex thickness, propiedad, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -635,9 +704,11 @@ la instrucción @code{\set}.
 
 @subheading Reverting
 
-@cindex revert
-@cindex predeterminadas, devolver a las propiedades
+@cindex revertir
+@cindex predeterminadas, recuperar las propiedades
+
 @funindex \revert
+@funindex revert
 
 Finalmente ¿y si quisiéramos que solamente las dos primeras ligaduras
 fuesen más gruesas?  En fin; podríamos usar dos instrucciones, cada
@@ -645,7 +716,10 @@ una de ellas precedida por el prefijo @code{\once}, situadas
 inmediatamente antes de cada una de las notas en que comienzan las
 ligaduras:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@cindex Slur, ejemplo de sobreescritura
+@cindex thickness, propiedad, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -670,7 +744,10 @@ instrucción @code{\revert} (restablecer) para devolver la propiedad
 del grosor, @code{thickness}, a su valor predeterminado después de la
 segunda ligadura:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@cindex Slur, ejemplo de sobreescritura
+@cindex thickness, propiedad, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -694,7 +771,7 @@ segunda ligadura:
 la instrucción @code{\revert} se puede utilizar para devolver
 cualquier propiedad que se haya cambiado con @code{\override} a su
 valor predeterminado.  Puede utilizar el método que mejor se adapte a
-aquello que quere hacer.
+aquello que quiere hacer.
 
 Así finaliza nuestra introducción al manual de RFI, y el método básico
 de trucaje.  A continuación, en las últimas secciones de este capítulo
@@ -707,6 +784,7 @@ explicación.
 @node Properties found in interfaces
 @subsection Properties found in interfaces
 
+@cindex interface
 @cindex propiedades de los interfaces
 @cindex interfaces, propiedades
 
@@ -714,13 +792,13 @@ Suponga ahora que queremos imprimir la letra de la canción en cursiva.
 ¿Qué forma de instrucción @code{\override} necesitamos para hacerlo?
 En primer lugar miramos en la página del RFI que relaciona todos los
 objetos, @q{All layout objects}, como antes, y buscamos un objeto que
-pueda conteolar la letra de la canción.  Encontramos @code{LyricText},
+pueda controlar la letra de la canción.  Encontramos @code{LyricText},
 que parece adecuado.  Al seguir este enlace se presentan las
 propiedades ajustables para el texto de la letra.  Estos incluyen
 @code{font-series} y @code{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 preesentación, se agrupa junto
+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}, el interface de las fuentes tipográficas
 @code{font-interface}.
@@ -729,13 +807,12 @@ 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 decribe 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}.  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.
+Mire de nuevo la página del RFI que describe a LyricText.  Al final de
+la página hay una lista de enlaces a los interfaces que LyricText
+contempla.  La lista tiene siete elementos, entre ellos
+@code{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 @code{font-shape(symbol)},
@@ -763,18 +840,20 @@ antes, omitiremos el contexto.
 
 Como nota aparte, aunque una nota importante, observe que a causa de
 que los valores de @code{font-shape} son símbolos, deben ir precedidos
-de un apóstrofe, @code{'}.  Esa es la razón por la que se necesitan
-apóstrofes antes de @code{thickness} en el ejemplo anterior y en
+de un apóstrofo, @code{'}.  Esa es la razón por la que se necesitan
+apóstrofos antes de @code{thickness} en el ejemplo anterior y en
 @code{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 @code{thickness} o
-@code{font-shape}, otros son en efecto valores especiales que se les
-puede dar a las propiedades, como @code{italic}.  Observe la
-distincion entre esto y las cadenas de texto arbitrarias, que
-aparecerían entrecomilladas como @code{"a text string"}.
+@code{font-shape}, otros se utilizan como valores que se les puede dar
+a las propiedades, como @code{italic}.  Observe la distinción entre
+esto y las cadenas de texto arbitrarias, que aparecerían
+entrecomilladas como @code{"a text string"}.  Para ver más detalles
+relacionados con los símbolos y las cadenas, consulte @ref{Scheme
+tutorial}.
 
-De acuerdo, entonces la instrucción @code{\override} que necesitamos
-para imprimir la letra en cursiva sería
+Así pues, la instrucción @code{\override} que necesitamos para
+imprimir la letra en cursiva sería
 
 @example
 \override LyricText #'font-shape = #'italic
@@ -784,6 +863,11 @@ para imprimir la letra en cursiva sería
 y debe colocarse justo delante de, y cerca de, la letra a la que debe
 afectar, como esto:
 
+@cindex font-shape, propiedad, ejemplo
+@cindex italic, ejemplo
+@cindex LyricText, ejemplo de sobreescritura
+@cindex @code{\addlyrics}, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 6/8
@@ -803,11 +887,13 @@ afectar, como esto:
 y toda la letra se imprime en cursiva.
 
 @subheading Specifying the context in lyric mode
+
 @cindex contexto, especificación en modo letra
+@cindex letra, modo, especificar el contexto en
 
 En el caso de la letra, si intenta especificar el contexto en el
-formato que acabamnos de dar, la instrucción no funcionará.  Una
-sílaba escrita en el modo letra, «lyricmode» temina en un espacio, un
+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{@}} para evitar que se incluya
@@ -828,6 +914,12 @@ final y la llave de cierre.}
 escriba siempre espacios antes y después del punto que separa el
 nombre del contexto y el nombre del objeto.}
 
+
+@seealso
+Manual de aprendizaje:
+@ref{Scheme tutorial}.
+
+
 @node Types of properties
 @subsection Types of properties
 
@@ -854,14 +946,14 @@ en la instrucción @code{\override}.
   @tab Un número decimal positivo (en unidades de espacios de pentagrama)
   @tab @code{2.5}, @code{0.34}
 @item Dirección
-  @tab Una constante válida de dirección o su equivalente numérico
-  @tab @code{#LEFT}, @code{#CENTER}, @code{#UP},
+  @tab Una constante válida de dirección o su equivalente numérico (se permiten valores decimales entre -1 y 1)
+  @tab @code{LEFT}, @code{CENTER}, @code{UP},
        @code{1}, @code{-1}
 @item Entero
   @tab Un número entero positivo
   @tab @code{3}, @code{1}
 @item Lista
-  @tab Un conjunto de elementos entre paréntesis separados por espacios y precedido de un apóstrofe
+  @tab Un conjunto de valores separados por espacios, encerrado entre paréntesis y precedido de un apóstrofo
   @tab @code{'(left-edge staff-bar)}, @code{'(1)},
        @code{'(1.0 0.25 0.5)}
 @item Marcado
@@ -875,20 +967,26 @@ en la instrucción @code{\override}.
   @tab Cualquier valor decimal positivo o negativo
   @tab @code{3.5}, @code{-2.45}
 @item Pareja (de números)
-  @tab Dos números separados por un @q{espacio . espacio}, encerrado entre paréntesis y precedido de un apóstrofe
+  @tab Dos números separados por un @q{espacio . espacio}, encerrado entre paréntesis y precedido de un apóstrofo
   @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
 @item Símbolo
-  @tab Cualquiera del conjunto de símbolos premitidos para esa propiedad, precedido de un apóstrofe
+  @tab Cualquiera del conjunto de símbolos permitidos para esa propiedad, precedido de un apóstrofo
   @tab @code{'italic}, @code{'inside}
 @item Desconocido
-  @tab Un procedimiento o @code{#f} (para no producir ninguna acción)
+  @tab Un procedimiento o @code{#f} para no producir ninguna acción
   @tab @code{bend::print}, @code{ly:text-interface::print},
        @code{#f}
 @item Vector
-  @tab Una lista de tres elementos encerrados entre paréntesis y precedida de una almohadilla, @code{#}.
-  @tab @code{#(#t #t #f)}
+  @tab Una lista de tres elementos encerrados entre paréntesis y precedida de apóstrofo-almohadilla, @code{'#}.
+  @tab @code{'#(#t #t #f)}
 @end multitable
 
+
+@seealso
+Manual de aprendizaje:
+@ref{Scheme tutorial}.
+
+
 @node Appearance of objects
 @section Appearance of objects
 
@@ -897,9 +995,9 @@ cuantos ejemplos que muestran cómo se pueden usar los trucos para
 cambiar el aspecto de la música impresa.
 
 @menu
-* Visibility and color of objects::  
-* Size of objects::             
-* Length and thickness of objects::  
+* Visibility and color of objects::
+* Size of objects::
+* Length and thickness of objects::
 @end menu
 
 @node Visibility and color of objects
@@ -916,17 +1014,18 @@ que no se impriman?
 Antes de enredarnos con esto, recordemos que las propiedades de los
 objetos se agrupan en lo que hemos llamado @emph{interfaces} (véase
 @ref{Properties found in interfaces}).  Esto es simplemente agrupar
-las propiedades que normalmente se necesitan juntas: si una de ellas
-se necesita para un objeto, también las otras.  Así, ciertos objetos
-necesitan las propiedades de algunos interfaces, otros necesitan las
-de otros interfaces.  Los interfaces que contienen las propiedades que
-un determinado grob necesita se ecuentran relacionadas en el manual
-RFI al final de la página que describe dicho grob, y esas propiedades
-se pueden ver mirando dichos interfaces.
+las propiedades que se pueden usar juntas para trucar un objeto
+gráfico: si una de ellas se necesita para un objeto, también las
+otras.  Así, ciertos objetos usan las propiedades de algunos
+interfaces, otros usan las de otros interfaces.  Los interfaces que
+contienen las propiedades que un determinado grob necesita se
+encuentran relacionadas en el manual RFI al final de la página que
+describe dicho grob, y esas propiedades se pueden ver mirando dichos
+interfaces.
 
 Hemos explicado cómo encontrar información sobre los grobs en
 @ref{Properties of layout objects}.  Usando el mismo enfoque, vamos al
-RFI para biscar el objeto de presentación que imprime las líneas
+RFI para buscar el objeto de presentación que imprime las líneas
 divisorias.  A través del enlace @emph{Backend} y @emph{All layout
 objects} encontramos que hay un objeto de presentación llamado
 @code{BarLine}.  Entre sus propiedades se encuentran dos que controlan
@@ -935,10 +1034,11 @@ divisorias también contemplan un número de interfaces, entre ellos el
 @code{grob-interface}, donde podemos encontrar las propiedades
 @code{transparent} y @code{color}.  Todas ellas pueden afectar la
 visibilidad de las barras de compás (y, por supuesto, por extensión,
-tambén la de muchos otros objetos de presentación).  Vamos a
+también la de muchos otros objetos de presentación).  Vamos a
 considerar cada uno de ellos por orden.
 
 @subheading stencil
+
 @cindex stencil (sello), propiedad
 
 Esta propiedad controla la apariencia de las barras de compás mediante
@@ -947,6 +1047,9 @@ que como otras muchas propiedades, se puede establecer de forma que no
 imprima nada ajustando su valor a @code{#f}.  Vamos a probarlo, como
 antes, omitiendo el Contexto implícito, @code{Voice}:
 
+@cindex BarLine, ejemplo de sobreescritura
+@cindex stencil, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -972,6 +1075,9 @@ simplemente no funciona.  No se produce ningún mensaje de error, y no
 se registra nada en el archivo log de registro.  Vamos a intentar
 corregirlo escribiendo el contexto correcto:
 
+@cindex BarLine, ejemplo de sobreescritura
+@cindex stencil, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -986,7 +1092,7 @@ Ahora las barras de compás han desaparecido.
 
 @subheading break-visibility
 
-@cindex break-visibility property
+@cindex break-visibility, propiedad
 
 Vemos en las propiedades de @code{BarLine} que aparecen en el RFI que
 la propiedad @code{break-visibility} requiere un vector de tres
@@ -994,17 +1100,20 @@ valores booleanos.  Controlan respectivamente si las barras de compás
 se imprimen al final de una línea, en mitad de una línea, y al
 principio de las líneas.  Para nuestro ejemplo, queremos que todas las
 barras de compás se supriman, por lo que el valor que necesitamos es
-@code{#(#f #f #f)}.  Vamos a probarlo, recordando incluir el contexto
-de @code{Staff}.  Observa también que al escribir este valor tenemos
-dos símbolos de almohadilla antes del paréntesis de apertura.  Se
-necesita uno como parte del valor para introducir un vector, y se
-necesita otro más, como siempre, para precered el propio valor dentro
-de la instrucción @code{\override}.
+@code{'#(#f #f #f)}.  Vamos a probarlo, recordando incluir el contexto
+de @code{Staff}.  Observe también que al escribir este valor tenemos
+@code{#'#} antes del paréntesis de apertura.  Se necesita @code{'#}
+como parte del valor para introducir un vector, y el primer símbolo de
+almohadilla @code{#} se necesita, como siempre, para preceder el valor
+en sí dentro de la instrucción @code{\override}.
+
+@cindex BarLine, ejemplo de sobreescritura
+@cindex break-visibility, propiedad, ejemplo
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
-  \override Staff.BarLine #'break-visibility = ##(#f #f #f)
+  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
   c4 b8 c d16 c d8 |
   g, a16 b8 c d4 e16 |
   e8
@@ -1014,7 +1123,9 @@ de la instrucción @code{\override}.
 Y podemos ver que esto también quita todas las líneas divisorias.
 
 @subheading transparent
-@cindex transparente, propiedad
+
+@cindex transparent, propiedad
+@cindex transparencia
 
 En la relación de propiedades que se especifican en la página del
 @code{grob-interface} del RFI podemos ver que la propiedad
@@ -1030,6 +1141,9 @@ del contexto de @code{Staff} y también contempla el interface
 @code{grob-interface}.  Así pues, la instrucción que hace transparente
 a la indicación de compás es:
 
+@cindex TimeSignature, ejemplo de sobreescritura
+@cindex transparent, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -1048,6 +1162,9 @@ en otras circunstancias esta separación podría no ser deseable.  En
 vez de eso, para quitarla, el stencil o «sello» de la indicación de
 compás se debe establecer al valor @code{#f}:
 
+@cindex TimeSignature, ejemplo de sobreescritura
+@cindex stencil, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -1064,18 +1181,30 @@ quitamos el objeto por completo; al hacer el objeto @code{transparent}
 lo dejamos donde está, pero lo hacemos invisible.
 
 @subheading color
+
 @cindex color, propiedad
 
-PAra finalizar, podríamos hacer invisibles las barras de compás
-pintándolas de color blanco.  El interface @code{grob-interface}
-especifica que la propiedad del color es una lista, pero no hay
-ninguna explicación sobre lo que debe ir en esa lista.  La lista que
-requiere es realmente una lista de valores en unidades internas, pero
-para evitar tener que saber cuáles son, se ofrecen varias vías para la
-especificación de los colores.  La primera forma es utilizar uno de
-los colores @q{normales} que están relacionados en la primera tabla de
-la @ruser{List of colors}.  Para poner las líneas divisorias de color
-blanco, escribimos:
+Para finalizar, intentemos hacer invisibles las barras de compás
+pintándolas de color blanco (hay un problema relacionado, que consiste
+en que la línea divisoria blanca puede tapar o no tapar las líneas del
+pentagrama a las que cruza.  Podrá observar en algunos de los ejemplos
+que aparecen a continuación, que esto sucede de forma impredecible.
+Los detalles sobre por qué esto ocurre así, y cómo controlarlo, se
+estudian en @ruser{Painting objects white}; de momento estamos
+estudiando el color, por lo que le rogamos que acepte esta limitación
+por ahora).
+
+El interface @code{grob-interface} especifica que la propiedad del
+color es una lista, pero no hay ninguna explicación sobre lo que debe
+ir en esa lista.  La lista que requiere es realmente una lista de
+valores en unidades internas, pero para evitar tener que saber cuáles
+son, se ofrecen varias vías para la especificación de los colores.  La
+primera forma es utilizar uno de los colores @q{normales} que están
+relacionados en la primera tabla de la @ruser{List of colors}.  Para
+poner las líneas divisorias de color blanco, escribimos:
+
+@cindex BarLine, ejemplo de sobreescritura
+@cindex color, propiedad, ejemplo
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
@@ -1089,7 +1218,7 @@ blanco, escribimos:
 
 @noindent
 y de nuevo podemos comprobar que las barras de compás no son visibles.
-Observe que @emph{white} no viene precedido de un apóstrofe: no es un
+Observe que @emph{white} no viene precedido de un apóstrofo: no es un
 símbolo, sino una @emph{función}.  Cuando se invoca, proporciona la
 lista de valores internos que se requieren para establecer el color a
 blanco.  Los otros colores de la lista normal también son funciones.
@@ -1099,12 +1228,17 @@ una de las otras funciones de la lista.
 @cindex colores de X11
 @cindex X11, colores de
 
+@funindex x11-color
+
 La segunda forma de cambiar el color es utilizar la lista de nombres
 de colores de X11 que aparecen en la segunda lista de @ruser{List of
 colors}.  Sin embargo, éstos deben ir precedidos de otra función, que
 convierte los nombres de colores de X11 en la lista de valores
 internos, @code{x11-color}, de la siguiente manera:
 
+@cindex BarLine, ejemplo de sobreescritura
+@cindex color, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -1117,12 +1251,14 @@ internos, @code{x11-color}, de la siguiente manera:
 
 @noindent
 Observe que en este caso la función @code{x11-color} toma un símbolo
-como argumento, así que el símbolo debe ir precedido de un apóstrofe y
+como argumento, así que el símbolo debe ir precedido de un apóstrofo y
 los dos deben ir entre paréntesis.
 
 @cindex rgb, colores
 @cindex color, rgb
 
+@funindex rgb-color
+
 Aún hay una tercera función, que convierte valores RGB en colores
 internos: la función @code{rgb-color}.  Toma tres argumentos que dan
 las intensidades de rojo, verde y azul.  Cada uno de ellos puede tomar
@@ -1130,6 +1266,9 @@ valores entre 0 y 1.  Por lo tanto, para establecer el color a rojo el
 valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser
 @code{(rgb-color 1 1 1)}:
 
+@cindex BarLine, ejemplo de sobreescritura
+@cindex color, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -1142,10 +1281,19 @@ valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser
 
 Finalmente, existe también una escala de grises como parte del
 conjunto de colores de X11.  Varían desde el negro, @code{'grey0'},
-hsta el blanco, @code{'grey100}, en pasos de 1.  Vamos a ilustrar esto
+hasta el blanco, @code{'grey100}, en pasos de 1.  Vamos a ilustrar esto
 estableciendo todos los objetos de presentación de nuestro ejemplo a
 varias gradaciones de gris:
 
+@cindex StaffSymbol, ejemplo de sobreescritura
+@cindex TimeSignature, ejemplo de sobreescritura
+@cindex Clef, ejemplo de sobreescritura
+@cindex NoteHead, ejemplo de sobreescritura
+@cindex Stem, ejemplo de sobreescritura
+@cindex BarLine, ejemplo de sobreescritura
+@cindex color property, ejemplo
+@cindex x11-color, ejemplo de utilización
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 {
   \time 12/16
@@ -1175,10 +1323,18 @@ normalmente el grabador.
 @node Size of objects
 @subsection Size of objects
 
+@cindex cambiar el tamaño de los objetos
+@cindex tamaño de los objetos
+@cindex objetos, tamaño de
+@cindex objetos, cambiar el tamaño de
+
 Empezaremos examinando de nuevo un ejemplo anterior (véase
 @ref{Nesting music expressions}) que nos mostraba cómo introducir un
 pentagrama temporal, como en un @rglos{ossia}.
 
+@cindex alignAboveContext, propiedad, ejemplo
+@cindex @code{\with}, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
        \relative g' {
@@ -1200,6 +1356,12 @@ por lo normal se imprimen más pequeños que el pentagrama principal.
 Ya sabemos cómo quitar la clave y el compás: simplemente establecemos
 el sello de cada uno de ellos a @code{#f}, como sigue:
 
+@cindex alignAboveContext, propiedad, ejemplo
+@cindex @code{\with}, ejemplo
+@cindex stencil, propiedad, ejemplo
+@cindex Clef, ejemplo de sobreescritura
+@cindex TimeSignature, ejemplo de sobreescritura
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
@@ -1229,7 +1391,7 @@ se aplican al pentagrama de ossia.
 Pero ¿cuál es la diferencia entre modificar el contexto de pentagrama
 usando @code{\with} y modificar los sellos de clave y de compás con
 \override?  La diferencia principal es que los cambios que se realizan
-enuna cláusula @code{\with} se hacen en el momento en que se crea el
+en una cláusula @code{\with} se hacen en el momento en que se crea el
 contexto, y permanecen activos como valores @strong{predeterminados}
 durante toda la duración de dicho contexto, mientras que las
 instrucciones @code{\set} o @code{\override} incluidas dentro de la
@@ -1249,15 +1411,20 @@ alineación está decidida y no tendría sentido intentar cambiarla más
 tarde.
 
 Los valores predeterminados de las propiedades de los objetos de
-presentación también se pueden establever dentro de cláusulas
+presentación también se pueden establecer dentro de cláusulas
 @code{\with}.  Simplemente utilice la instrucción @code{\override}
-normal dejando aparte el nombre del contextom ya que está definido sin
+normal dejando aparte el nombre del contexto, ya que está definido sin
 ambigüedad como el contexto que la cláusula @code{\with} está
 modificando.  De hecho, se producirá un error si se especifica un
 contexto en este lugar.
 
 Así pues, podemos reemplazar el ejemplo anterior con
 
+@cindex alignAboveContext, propiedad, ejemplo
+@cindex @code{\with}, example
+@cindex Clef, ejemplo de sobreescritura
+@cindex TimeSignature, ejemplo de sobreescritura
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
@@ -1322,6 +1489,12 @@ reduce o aumenta el tamaño aproximadamente en un 12%.
 
 Vamos a probarlo en nuestro ejemplo del ossia:
 
+@cindex alignAboveContext, propiedad, ejemplo
+@cindex @code{\with}, ejemplo
+@cindex Clef, ejemplo de sobreescritura
+@cindex TimeSignature, ejemplo de sobreescritura
+@cindex fontSize, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
@@ -1379,6 +1552,16 @@ propósito.  Toma un argumento, el cambio de tamaño de la tipografía
 para reducir otros objetos en la misma proporción.  Se usa de la
 siguiente forma:
 
+@cindex alignAboveContext, propiedad, ejemplo
+@cindex @code{\with}, ejemplo
+@cindex Clef, ejemplo de sobreescritura
+@cindex TimeSignature, ejemplo de sobreescritura
+@cindex fontSize, propiedad, ejemplo
+@cindex StaffSymbol, ejemplo de sobreescritura
+@cindex magstep function, ejemplo de utilización
+@cindex staff-space, propiedad, ejemplo
+@cindex stencil, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
@@ -1403,7 +1586,7 @@ siguiente forma:
 
 @noindent
 Puesto que la longitud de las plicas y muchas otras propiedades
-relacionadas con la longitudse calculan siempre con relación al valor
+relacionadas con la longitudes calculan siempre con relación al valor
 de la propiedad @code{staff-space}, su longitud también ve reducida su
 escala automáticamente.  Observe que esto afecta solamente a la escala
 vertical del ossia: la escala horizontal se determina por medio de la
@@ -1434,15 +1617,20 @@ tipografía) se pueden cambiar de la misma forma.
 @section Placement of objects
 
 @menu
-* Automatic behaviour::         
-* Within-staff objects::        
-* Outside staff objects::       
+* Automatic behaviour::
+* Within-staff objects::
+* Outside-staff objects::
 @end menu
 
 
 @node Automatic behaviour
 @subsection Automatic behaviour
 
+@cindex dentro del pentagrama, objetos
+@cindex fuera del pentagrama, objetos
+@cindex objetos dentro del pentagrama
+@cindex objetos fuera del pentagrama
+
 Hay ciertos objetos en notación musical que pertenecen al pentagrama y
 otros cuyo lugar se sitúa fuera del pentagrama.  Reciben el nombre de
 objetos dentro-del-pentagrama y objetos fuera-del-pentagrama,
@@ -1484,6 +1672,8 @@ prioridad (pues no se ha establecido explícitamente).  Observe que
 @q{Text3} se posiciona de nuevo automáticamente cerca del pentagrama,
 acomodado por debajo de @q{Text2}.
 
+@cindex markup, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 c2^"Text1"
 c^"Text2"
@@ -1524,7 +1714,7 @@ automático.  Se puede hacer por secciones de música completas o
 incluso para una nota individual.  La propiedad que controla este
 comportamiento es la propiedad de @code{direction} (dirección) de cada
 objeto de presentación.  En primer lugar explicaremos qué hace esto, y
-lueco introduciremos algunas instrucciones listas para usar que le
+luego introduciremos algunas instrucciones listas para usar que le
 evitarán tener que codificar sobreescrituras explícitas para las
 modificaciones más comunes.
 
@@ -1534,6 +1724,15 @@ mueven a la derecha o a la izquierda cuando apuntan hacia arriba o
 hacia abajo.  Esto se controla automáticamente cuando está establecida
 la propiedad @code{direction}.
 
+@cindex abajo
+@cindex arriba
+@cindex centro
+@cindex neutro
+@cindex down
+@cindex up
+@cindex center
+@cindex neutral
+
 El ejemplo siguiente muestra en el compás 1 el comportamiento
 predeterminado de las plicas, con las de las notas agudas apuntando
 hacia abajo y las graves hacia arriba, seguidas de cuatro notas con
@@ -1541,6 +1740,9 @@ todas las plicas forzadas hacia abajo, cuatro notas con las plicas
 forzadas hacia arriba, y por último cuatro notas devueltas al
 comportamiento predeterminado.
 
+@cindex Stem, ejemplo de sobreescritura
+@cindex direction, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 a4 g c a
 \override Stem #'direction = #DOWN
@@ -1565,14 +1767,14 @@ están disponibles instrucciones predefinidas equivalentes más
 sencillas.  Aquí podemos ver una tabla de las más comunes.  Se
 menciona el significado de cada una allí donde no es obvio.
 
-@multitable @columnfractions .2 .2 .2 .4
+@multitable @columnfractions .2 .2 .25 .35
 @headitem Abajo o Izquierda
   @tab Arriba o Derecha
   @tab Anular
   @tab Efecto
-@item @code{\arpeggioDown}
-  @tab @code{\arpeggioUp}
-  @tab @code{\arpeggioNeutral}
+@item @code{\arpeggioArrowDown}
+  @tab @code{\arpeggioArrowUp}
+  @tab @code{\arpeggioNormal}
   @tab La flecha está abajo, arriba o no hay flecha
 @item @code{\dotsDown}
   @tab @code{\dotsUp}
@@ -1615,20 +1817,26 @@ equivalente, o usar la instrucción predefinida, seguida después de la
 nota afectada por la instrucción @code{\xxxNeutral} correspondiente.
 
 @subheading Fingering
+
 @cindex digitación, colocación
+@cindex digitación de acordes
 
-La colocación de las digitaciones también resulta afectada por el
-valor de su propiedad @code{direction}, pero existen instrucciones
-especiales que permiten controlar las digitaciones de notas
-individuales, situando la digitación encima, debajo, a la izquierda o
-a la derecha de cada nota.
+La colocación de las digitaciones sobre notas sueltas también se puede
+controlar mediante la propiedad @code{direction}, pero los cambios
+sobre @code{direction} no tienen ningún efecto sobre las notas de los
+acordes.  Como veremos, existen instrucciones especiales que permiten
+controlar las digitaciones de notas individuales, situando la
+digitación encima, debajo, a la izquierda o a la derecha de cada nota.
 
 En primer lugar, he aquí el efecto de @code{direction} sobre las
-digitaciones; el primer compás muestra el comportamiento
-predeterminado, y después el efecto de especificar @code{DOWN} y
-@code{UP}:
+digitaciones aplicadas a notas sueltas.  Se muestra en el primer
+compás el comportamiento predeterminado, y en los dos comases
+siguiente el efecto de especificar @code{DOWN} y @code{UP}:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@cindex Fingering, ejemplo de sobreescritura
+@cindex direction, propiedad, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
 c-5 a-3 f-1 c'-5
 \override Fingering #'direction = #DOWN
 c-5 a-3 f-1 c'-5
@@ -1636,20 +1844,51 @@ c-5 a-3 f-1 c'-5
 c-5 a-3 f-1 c'-5
 @end lilypond
 
-Así es como se controla la digitación sobre notas aisladas, pero la
-propiedad @code{direction} se ignora para los acordes.  En su lugar,
-de forma predeterminada las digitaciones se colocan automáticamente
-encima y debajo de las notas del acorde, como se muestra aquí:
+Sin embargo, la sobreescritura de la propiedad @code{direction} no es
+la forma más sencilla de especificar manualmente la digitación por
+encima o por debajo de las notas; suele ser preferible usar @code{_} o
+@code{^} en lugar de @code{-}, antes del número de la digitación.
+Este es el ejemplo anterior utilizando este método:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@cindex fingering, ejemplo
+@cindex digitación, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
+c-5 a-3 f-1 c'-5
+c_5 a_3 f_1 c'_5
+c^5 a^3 f^1 c'^5
+@end lilypond
+
+La propiedad @code{direction} se ignora para los acordes, pero los
+prefijos direccionales @code{_} y @code{^} sí funcionan.  De forma
+predeterminada, las digitaciones se colocan automáticamente encima y
+debajo de las notas de un acorde, como se muestra aquí:
+
+@cindex fingering, ejemplo
+@cindex digitación, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
 <c-5 g-3>
 <c-5 g-3 e-2>
 <c-5 g-3 e-2 c-1>
 @end lilypond
 
-Es posible tener un mayor control sobre la situación exacta de las
+@noindent
+pero se puede forzar de manera que todos o algunos de los números de
+digitación estén por encima o por debajo:
+
+@cindex fingering, ejemplo
+@cindex digitación, ejemplo
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3 e-2 c-1>
+<c^5 g_3 e_2 c_1>
+<c^5 g^3 e^2 c_1>
+@end lilypond
+
+Es posible ejercer un control aún mayor sobre la colocación de las
 digitaciones mediante la utilización de la instrucción @code{\set
-fingeringOrientations}.  El formato de esta instrucción es
+fingeringOrientations}.  El formato de esta instrucción es:
 
 @example
 @code{\set fingeringOrientations = #'([up] [left/right] [down])}
@@ -1671,12 +1910,17 @@ digitación de las notas de los acordes que siguen.  Observe que
 @code{left} y @code{right} son mutuamente excluyentes: las
 digitaciones pueden situarse en un lado o en el otro, no en los dos.
 
-Para controlar la colocación de la digitacion de una sola nota usando
-esta instrucción es necesario escribirla como un acorde de una sola
-nota encerrándola entre ángulos simples.
+@warning{Para controlar la colocación de la digitación de una sola
+nota usando esta instrucción es necesario escribirla como un acorde de
+una sola nota encerrándola entre ángulos simples.}
 
 Aquí podemos ver algunos ejemplos:
 
+@cindex fingering, ejemplo
+@cindex digitación, ejemplo
+@cindex @code{\set}, ejemplo de utilización
+@cindex fingeringOrientations, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 \set fingeringOrientations = #'(left)
 <f-2>
@@ -1720,8 +1964,9 @@ objeto @code{Fingering} del RFI que es @code{-5}, así que probaremos
 < c-1  e-2 g-3 b-5 > 4
 @end lilypond
 
-@node Outside staff objects
-@subsection Outside staff objects
+
+@node Outside-staff objects
+@subsection Outside-staff objects
 
 Los objetos fuera-del-pentagrama se colocan automáticamente para
 evitar las colisiones.  Los objetos que tienen el valor más bajo de la
@@ -1768,18 +2013,24 @@ He aquí un ejemplo que muestra la situación predeterminada de algunos
 de ellos.
 
 @cindex texto, extensiones de
+@cindex octava alta y baja, corchete de
+
 @funindex \startTextSpan
+@funindex startTextSpan
 @funindex \stopTextSpan
-@cindex octava alta y baja, corchete de
+@funindex stopTextSpan
+
+@cindex TextSpanner, ejemplo de sobreescritura
+@cindex bound-details, propiedad, ejemplo
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 % Set details for later Text Spanner
-\override TextSpanner #'bound-details #'left #'text
+\override TextSpanner #'(bound-details left text)
     = \markup { \small \bold Slower }
 % Place dynamics above staff
 \dynamicUp
 % Start Ottava Bracket
-#(set-octavation 1)
+\ottava #1
 c' \startTextSpan
 % Add Dynamic Text
 c\pp
@@ -1791,12 +2042,12 @@ c c
 % Add Dynamic Text
 c\ff c \stopTextSpan
 % Stop Ottava Bracket
-#(set-octavation 0)
+\ottava #0
 c, c c c
 @end lilypond
 
 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
+Spanners): textos con líneas extensoras por encima de una sección de
 música.  El extensor abarca desde la instrucción @code{\startTextSpan}
 hasta la instrucción @code{\stopTextSpan}, y el formado del texto se
 define por medio de la instrucción @code{\override TextSpanner}.  Para
@@ -1804,6 +2055,13 @@ ver más detalles, consulte @ruser{Text spanners}.
 
 También muestra la manera de crear corchetes de octava alta y baja.
 
+@cindex trucar la situación de los números de compás
+@cindex números de compás, ajustar posición
+@cindex trucar la situación de marcas metronómicas
+@cindex metrónomo, situación de las indicaciones de
+@cindex trucar la situación de las letras de ensayo
+@cindex ensayo, letras, trucar la colocación
+
 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} y su prioridad
@@ -1835,16 +2093,19 @@ anteriores, y reducirlo a un valor inferior al de @code{TextSpanner},
 recordando que @code{OttavaBracket} se crea dentro del contexto de
 @code{Staff}:
 
+@cindex TextSpanner, ejemplo de sobreescritura
+@cindex bound-details, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 % Set details for later Text Spanner
-\override TextSpanner #'bound-details #'left #'text
+\override TextSpanner #'(bound-details left text)
     = \markup { \small \bold Slower }
 % Place dynamics above staff
 \dynamicUp
 %Place following Ottava Bracket below Text Spanners
 \once \override Staff.OttavaBracket #'outside-staff-priority = #340
 % Start Ottava Bracket
-#(set-octavation 1)
+\ottava #1
 c' \startTextSpan
 % Add Dynamic Text
 c\pp
@@ -1856,7 +2117,7 @@ c c
 % Add Dynamic Text
 c\ff c \stopTextSpan
 % Stop Ottava Bracket
-#(set-octavation 0)
+\ottava #0
 c, c c c
 @end lilypond
 
@@ -1869,6 +2130,9 @@ bajo el epígrafe Comportamiento Automático de más arriba (véase
 prioridad de @code{TextScript} en el RFI o en las tablas de arriba, y
 aumentar la prioridad de @qq{Text3} hasta un valor superior:
 
+@cindex TextScript, ejemplo de sobreescritura
+@cindex outside-staff-priority, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 c2^"Text1"
 c^"Text2"
@@ -1883,14 +2147,18 @@ 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.  Estoo se hace empleando la instrucción
+hacer sitio para el texto.  Esto se hace empleando la instrucción
 @code{textLengthOn}.
 
 @subheading \textLengthOn
 
-@funindex \textLengthOn
 @cindex notas, espaciar junto al texto
 
+@funindex \textLengthOn
+@funindex textLengthOn
+@funindex \textLengthOff
+@funindex textLengthOff
+
 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} invierte este
@@ -1910,12 +2178,17 @@ La instrucción para volver al comportamiento predeterminado es
 con @code{\override}, @code{\set}, @code{\revert} o @code{unset}, así
 que no se puede usar con @code{\textLengthOn}.
 
+@cindex marcado, texto de, permitir las colisiones en
+
 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}.  He aquí un ejemplo que
 muestra cómo el texto de marcado interactúa con tales notas.
 
+@cindex TextScript, ejemplo de sobreescritura
+@cindex outside-staff-priority, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 % This markup is short enough to fit without collision
 c2^"Tex"
@@ -1933,13 +2206,17 @@ R1
 % Turn off collision avoidance
 \once \override TextScript #'outside-staff-priority = ##f
 \textLengthOn  % and turn on textLengthOn
-c,,2^"Long Text   "  % Spaces at end are honoured
+c,,2^"Long Text   "  % Spaces at end are honored
 c''2
 @end lilypond
 
 
 @subheading Dynamics
 
+@cindex trucar la colocación de los matices
+@cindex dinámica, trucar la colocación de las indicaciones de
+@cindex matices, trucar la colocación
+
 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}.  Se situarán verticalmente respecto a la
@@ -1982,10 +2259,6 @@ instrucciones @code{\override}.
 
 @cindex grob, cambio de tamaño de un
 @cindex escala de los grobs
-@cindex @code{X-offset}
-@cindex @code{Y-offset}
-@cindex @code{X-extent}
-@cindex @code{Y-extent}
 
 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
@@ -2019,6 +2292,9 @@ instrucción que lo hace para las indicaciones dinámicas:
 @noindent
 Veamos si funciona en nuestro ejemplo anterior:
 
+@cindex DynamicText, ejemplo de sobreescritura
+@cindex extra-spacing-width, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
 \override DynamicText #'extra-spacing-width = #'(0 . 0)
@@ -2036,6 +2312,9 @@ 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:
 
+@cindex DynamicText, ejemplo de sobreescritura
+@cindex extra-spacing-width, propiedad, ejemplo
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
 % Extend width by 1 staff space
@@ -2055,215 +2334,282 @@ que se estudia en la sección siguiente.
 @section Collisions of objects
 
 @menu
-* Moving objects::              
-* Fixing overlapping notation::  
-* Real music example::          
+* Moving objects::
+* Fixing overlapping notation::
+* Real music example::
 @end menu
 
 @node Moving objects
 @subsection Moving objects
 
-Aunque pueda sorprenderle, LilyPond no es perfecto.  Ciertos elementos
-de notación se pueden superponer, lo que es una lástima, pero en casi
-todos los casos se resuelve fácilmente.
-
-@c  FIXME: find a better example for 5.1 Moving Objects.  -gp
-@c  yes, I want this TODO to be visible to end-users.  It's better
-@c  than having nothing at all.
-HACER: con las nuevas funcionalidades de espaciado en la versión 2.12, estos ejemplos específicos
-ya no son de relevancia.  Sin embargo siguen demostrando las poderosas funcionalidades de lilypond,
-así que quedan aquí hasta que alguien elabore unos ejemplos mejores.
+@cindex mover objetos superpuestos
+@cindex mover objetos que colisionan
+@cindex moving grobs que colisionan
+@cindex objetos que colisionan, mover
+@cindex grobs, mover, que colisionan
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
-
-@cindex padding
-
-La solución más fácil es aumentar la distancia entre el objeto
-(texto en este caso, pero muy bien podrían ser digitaciones o dinámicas)
-y la nota.  En LilyPond, esto se llama la propiedad
-@code{padding} (relleno); se mide en espacios de pentagrama.  Para la mayor
-parte de los objetos, este valor ronda la cantidad de 1.0 o menos (varía dependiendo del
-objeto). Queremos aumentarlo, así que probaremos el valor 1.5
-
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'padding = #1.5
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
-
-Esto tiene un mejor aspecto, pero no es suficiente.  Después de probar
-con algunos valores, creemos que 2.3 es el mejor número en este caso. Sin embargo
-esta cantidad es el mero resultado del ensayo y error y de mi gusto personal
-acerca de la notación.  Pruebe el ejemplo anterior con 2.3... pero también con otros valores
-mayores (y menores).  ¿Cuál cree que queda mejor?
-
-La propiedad @code{staff-padding} (relleno de pentagrama) está estrechamente relacionada.
-@code{padding} controla la cantidad de espacio mínima entre un objeto y el objeto más cercano
-(generalmente la nota o las líneas del pentagrama);
-@code{staff-padding} controla la cantidad mínima de espacio entre un
-objeto y el pentagrama.  Ello supone una sutil diferencia, pero podrá
-observar el comportamiento a continuación.
-
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-c4^"piu mosso" b a b
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-\once \override TextScript #'staff-padding = #4.6
-c4^"piu mosso" fis a g
-\break
-c'4^"piu mosso" b a b
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-\once \override TextScript #'staff-padding = #4.6
-c4^"piu mosso" fis a g
-@end lilypond
-
-@cindex desplazamiento adicional
-
-Otra solución nos proporciona un control absoluto sobre la situación del objeto: podemos
-moverlo horizontal o verticalmente.  Se hace con la propiedad
-@code{extra-offset} (desplazamiento adicional).  Es ligeramente más complicado y puede
-causar otros problemas.  Cuando movemos objetos con @code{extra-offset},
-el movimiento se hace después de que LilyPond haya colocado todos los demás objetos.
-Esto significa
-que el resultado podría entrar en conflicto con otros objetos.
+Aunque pueda sorprenderle, LilyPond no es perfecto.  Ciertos elementos
+de notación se pueden superponer, lo que es una lástima, pero en
+realidad es bastante poco frecuente.  Normalmente la necesidad de
+mover objetos es por claridad o razones estéticas: el aspecto es mejor
+con un poco más o un poco menos de espacio de separación.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'extra-offset = #'( 1.0 . -1.0 )
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
+Existen tres enfoques principales que llevan a la resolución de
+superposiciones en la notación.  Se deben considerar en el siguiente
+orden:
 
-Con @code{extra-offset}, el primer número controla el movimiento
-horizontal (negativo hacia la izquierda); el segundo número controla el movimiento
-vertical (positivo hacia arriba).  Después de algunos ensayos, hemos decidido que los siguientes valores
-son apropiados
+@enumerate
+@item
+La @strong{dirección} de uno de los objetos que se superponen se puede
+cambiar usando las instrucciones predefinidas que están relacionadas
+arriba para los objetos dentro-del-pentagrama (véase @ref{Within-staff
+objects}).  Se pueden recolocar fácilmente las plicas, ligaduras de
+expresión y de unión, barras de corchea, indicaciones dinámicas, texto
+y grupos de valoración especial de esta forma.  La limitación es que
+sólo tiene la posibilidad de elegir entre dos posiciones, y podría ser
+que ninguna de ellas sea la adecuada.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'extra-offset = #'( -1.6 . 1.0 )
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
+@item
+Las @strong{propiedades del objeto}, que LilyPond usa cuando está
+colocando los objetos de presentación, se pueden modificar usando la
+instrucción de sobreescritura @code{\override}.  Las ventadas de hacer
+cambios a este tipo de propiedad son: a) que algún otro objeto se
+moverá automáticamente si es necesario, para dejarle sitio, y b) una
+única sobreescritura se puede aplicar a todas las instancias del mismo
+tipo de objeto.  Entre tales propiedades se encuentran:
 
-@noindent
-Una vez más, estos números son simplemente el resultado de algunos experimentos y
-de observar la salida.  Quizá prefiera que el texto se encuentre algo más arriba,
-o a la izquierda, o en cualquier dirección.  ¡Pruébelo y observe el resultado!
+@itemize
 
-Una advertencia final: en esta sección hemos usado
+@item
+@code{direction} (dirección)
 
-@example
-\once \override TextScript @dots{}
-@end example
+Ya se ha estudiado con cierto detalle: véase @ref{Within-staff
+objects}.
 
-Esto altera la presentación del texto para la nota siguiente.  Si la nota no
-tiene ningún texto, este truco no hace nada (y @strong{no} se queda esperando al
-siguiente fragmento de texto).  Para cambiar el comportamiento permanentemente a partir
-del comando, omita el @code{\once}.  Para detener este truco, use
-@code{\revert} (revertir).  Todo esto se explica en profundidad en
-@ruser{The \override command}.
+@item
+@code{padding} (relleno), @code{left-padding} (relleno por la
+izquierda), @code{right-padding} (relleno por la derecha),
+@code{staff-padding} (relleno de pentagrama)
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-c4^"piu mosso" b
-\once \override TextScript #'padding = #4.6
-  a4 b
-c4^"piu mosso" d e f
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-c4^"piu mosso" d e f
-\break
-\override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-c4^"piu mosso" d e f
-\revert TextScript #'padding
-c4^"piu mosso" d e f
-@end lilypond
+@cindex relleno
+@cindex left-padding, propiedad
+@cindex padding, propiedad
+@cindex right-padding, propiedad
+@cindex staff-padding, propiedad
+
+Según un objeto se está colocando, el valor de su propiedad de relleno
+@code{padding} especifica el espacio intermedio que se debe dejar
+entre él mismo y el límite más próximo del objeto contra el que se
+está colocando.  Observe que es el valor de @code{padding} del objeto
+@strong{que se está colocando} el que se usa; el valor de
+@code{padding} del objeto que ya está colocado se ignora.  Los
+espacios intermedios especificados mediante @code{padding} se pueden
+aplicar a todos los objetos que contemplan el interface
+@code{side-position-interface}.
 
-@seealso
+En lugar de con @code{padding}, la colocación de los grupos de
+alteraciones se controla con @code{left-padding} y
+@code{right-padding}.  Estas propiedades se encontrarán en el objeto
+@code{AccidentalPlacement} que, observe, vive dentro del contexto de
+@strong{staff}.  Durante el proceso tipográfico, las cabezas de las
+notas se componen tipográficamente en primer lugar, y después las
+alteraciones, si existen, se añaden a la izquierda de las cabezas
+utilizando la propiedad de relleno por la derecha @code{right-padding}
+para determinar la separación entre la alteración y la cabeza.  así
+pues, sólo la propiedad de relleno por la derecha @code{right-padding}
+del objeto @code{AccidentalPlacement} tiene efecto sobre la colocación
+de las alteraciones.
+
+La propiedad @code{staff-padding} está estrechamente relacionada con
+la propiedad @code{padding}: @code{padding} controla la separación
+mínima entre cualquier objeto que contemple el interface
+@code{side-position-interface} y el objeto más cercano (generalmente
+la nota o las líneas del pentagrama); @code{staff-padding} se aplica
+sólo a los objetos que siempre se sitúan fuera del pentagrama:
+controla la separación mínima entre dicho objeto y el pentagrama.
+Observe que @code{staff-padding} no tiene ningún efecto sobre objetos
+que se posicionan respecto a la nota en vez de hacerlo respecto al
+pentagrama, incluso aunque puede ser sobreescrito sin error por tales
+objetos: simplemente se ignora.
+
+Para descubrir qué propiedad de relleno se necesita para el objeto que
+quiere recolocar, debe volver al manual de RFI y buscar las
+propiedades del objeto.  Tenga cuidado porque las propiedades de
+relleno podrían no estar en el objeto más obvio, así que busque en los
+objetos que puedan tener alguna relación con él.
+
+Todos los valores de relleno se miden en espacios del pentagrama.
+Para la mayor parte de los objetos el valor se establece de forma
+predeterminada en aproximadamente 1.0 o menos (varía con cada objeto).
+Se puede sobreescribir si se necesita una separación intermedia mayor
+(o menor).
 
-En el presente manual: @ruser{The \override command}, @ruser{Common tweaks}.
+@item
+@code{self-alignment-X} (Auto-alineamiento en el eje X)
+
+@cindex self-alignment-X, propiedad
+
+Esta propiedad se puede usar para alinear el objeto a la izquierda, a
+la derecha, o centrarlo con respecto al punto de referencia del objeto
+«padre».  Se puede usar con todos los objetos que contemplan el
+interface
+@code{self-alignment-interface}.  En general son objetos que contienen
+texto.  Los valores son @code{LEFT}, @code{RIGHT} o @code{CENTER}.  De
+forma alternativa se puede especificar un valor numérico entre
+@code{-1} y @code{+1}, donde @code{-1} es alineado por la izquierda,
+@code{+1} es alineado por la derecha, y los números intermedios mueven
+el texto progresivamente desde alineado por la izquierda hasta alineado
+por la derecha.  Se pueden especificar valores numéricos mayores de
+@code{1} para mover el texto incluso más lejos hacia la izquierda, o
+menos de @code{-1} para alejarlo más hacia la derecha.  Un cambio en
+@code{1} en el valor corresponde a un movimiento de la mitad de la
+longitud total del propio texto.
 
+@item
+@code{extra-spacing-width} (anchura de separación adicional)
 
-@node Fixing overlapping notation
-@subsection Fixing overlapping notation
+@cindex extra-spacing-width, propiedad
 
-En @ruser{Moving objects}, pudimos ver cómo mover un objeto @code{TextScript}.
-El mismo mecanismo se puede usar para mover otros tipos de
-objetos; simplemente sustituya @code{TextScript} con el nombre de
-otro objeto.
+Esta propiedad está disponible para todos los objetos que contemplan
+el interface @code{item-interface}.  Toma dos números, el primero se
+suma al límite izquierdo y el segundo se suma al límite derecho.  Los
+números negativos desplazan el límite a la izquierda y los positivos a
+la derecha, por lo que para ensanchar un objeto el primer número debe
+ser negativo y el segundo positivo.  Observe que no todos los objetos
+ostentan los dos números.  Por ejemplo, el objeto @code{Accidental}
+(alteración) sólo toma nota del primer número (el borde izquierdo).
 
-Para encontrar el nombre del objeto, consulte la sección @q{@strong{véase también}} al
-final de la página relevante dentro de la documentación.  Por ejemplo, al
-final de @ruser{Dynamics}, vemos
+@item
+@code{staff-position} (posición de pentagrama)
 
-@quotation
-@seealso
+@cindex staff-position, propiedad
 
-Referencia del programa: @internalsref{DynamicText}, @internalsref{Hairpin}.
-La posición vertical de estos símbolos se maneja por medio de
-@internalsref{DynamicLineSpanner}.
-@end quotation
+@code{staff-position} es una propiedad del interface
+@code{staff-symbol-referencer-interface}, que está contemplado por los
+objetos que se colocan con relación al pentagrama.  Especifica la
+posición vertical del objeto con relación a la tercera línea del
+pentagrama en medios espacios de pentagrama.  Es útil en la
+resolución de colisiones entre objetos de presentación como silencios
+multi-compás, ligaduras de unión y notas en distintas voces.
 
-@noindent
-Así que para mover expresiones dinámicas verticalmente, usamos
+@item
+@code{force-hshift} (forzar desplazamiento horizontal)
+
+@cindex force-hshift, propiedad
+
+Las notas muy juntas de un acorde, o aquellas que ocurren al mismo
+tiempo en voces distintas, se disponen en dos (y ocasionalmente más)
+columnas para evitar la superposición de las cabezas.  Éstas reciben
+el nombre de columnas de notas, y se crea un objeto llamado
+@code{NoteColumn} para disponer las notas en dicha columna.
+
+La propiedad @code{force-hshift} es una propiedad de una
+@code{NoteColumn} (realmente lo es del interface
+@code{note-column-interface}).  Modificarlo permite mover una columna
+de notas en unidades adecuadas a una columna de notas, por ejemplo la
+anchura de la cabeza de la nota de la primera voz.  Se debe usar en
+situaciones complejas donde las instrucciones @code{\shiftOn} normales
+(véase @ref{Explicitly instantiating voices}) no resuelven el
+conflicto entre las notas.  Es preferible a la propiedad
+@code{extra-offset} para este propósito porque no hay necesidad de
+averiguar la distancia en espacios de pentagrama, y mover las notas
+dentro o fuera de una @code{NoteColumn} afecta a otras acciones como a
+la fusión entre cabezas de nota.
 
-@example
-\override DynamicLineSpanner #'padding = #2.0
-@end example
+@end itemize
 
-No podemos listar todos y cada uno de los objetos, pero presentamos a continuación una lista
-de los objetos más comunes.
-
-@multitable @columnfractions .33 .66
-@headitem Tipo de objeto                        @tab Nombre del objeto
-@item Expresiones dinámicas (verticalmente)     @tab @code{DynamicLineSpanner}
-@item Expresiones dinámicas (horizontalmente)   @tab @code{DynamicText}
-@item Ligaduras de unión                        @tab @code{Tie}
-@item Ligaduras de expresión                    @tab @code{Slur}
-@item Articulaciones                            @tab @code{Script}
-@item Digitaciones                              @tab @code{Fingering}
-@item Texto, p.ej. @code{^"text"}               @tab @code{TextScript}
-@item Llamadas de ensayo o marcas de texto      @tab @code{RehearsalMark}
+@item
+Finalmente, cuando todo lo demás falla, los objetos se pueden
+reposicionar manualmente con relación a la tercera línea del
+pentagrama verticalmente, o desplazándolas una cierta distancia a una
+nueva posición.  Las desventajas son que los valores correctos para el
+reposicionamiento se deben adivinar, a menudo por ensayo y error, para
+cada objeto individual y, puesto que el movimiento se hace después de
+que LilyPond ha colocado todos los demás objetos es usuario es
+responsable de evitar cualquier colisión que pudiera producirse.  Pero
+la dificultar principal con este enfoque es que los valores de
+reposicionado podrían tener que ser vueltos a calcular si la música se
+modifica más tarde.  Las propiedades que se pueden usar para este tipo
+de posicionamiento manual son:
+
+@table @code
+@item extra-offset (desplazamiento adicional)
+
+@cindex extra-offset, propiedad
+
+Esta propiedad se aplica a cualquier objeto de presentación que
+contemple el @code{grob-interface}.  Toma una pareja de números que
+especifican el desplazamiento adicional en las direcciones horizontal
+y vertical.  Los números negativos mueven el objeto a la izquierda o
+hacia abajo.  Las unidades son espacios de pentagrama.  El
+desplazamiento adicional se hace después de que la composición
+tipográfica de los objetos ha terminado, así que un objeto puede ser
+reposicionado a cualquier lugar sin afectar a ninguna otra cosa.
+
+@item positions (posiciones)
+
+@cindex positions, propiedad
+
+Ésta es de la mayor utilidad para ajustar manualmente la inclinación y
+la altura de las barras de corchea, ligaduras de expresión y corchetes
+de grupos de valoración especial.  Toma una pareja de números que dan
+la posición de los extremos izquierdo y derecho de la barra, ligadura,
+etc. con relación a la tercera línea del pentagrama.  Las unidades son
+espacios de pentagrama.  Observe, sin embargo, que las ligaduras de
+expresión y de fraseo no se pueden reposicionar en cantidades
+arbitrariamente grandes.  LilyPond en primer lugar genera una lista de
+posiciones posibles para la ligadura y de forma predeterminada
+encuentra la ligadura que tiene @qq{mejor aspecto}.  Si la propiedad
+@code{positions} se ha sobreescrito, la ligadura que está más cerca de
+las posiciones que se han solicitado, se selecciona de la lista.
+@end table
+
+@end enumerate
+
+Un objeto en particular podría no tener todas estas propiedades.  Es
+necesario ir al manual RFI para buscar qué propiedades se encuentran
+disponibles para el objeto en cuestión.
+
+
+Aquí presentamos una lista de los objetos que es más probable que
+estén implicados en colisiones, con el nombre del objeto que habría
+que buscar en el RFI para descubrir qué propiedades se deben usar para
+moverlos.
+
+@multitable @columnfractions .5 .5
+@headitem Tipo de objeto           @tab Nombre del objeto
+@item Articulaciones            @tab @code{Script}
+@item Barras                    @tab @code{Beam}
+@item Dinámica (verticalmente)  @tab @code{DynamicLineSpanner}
+@item Dinámica (horizontalmente)   @tab @code{DynamicText}
+@item Digitaciones                @tab @code{Fingering}
+@item Llamadas de ensayo y textuales   @tab @code{RehearsalMark}
+@item Ligaduras de expresión    @tab @code{Slur}
+@item Texto, por ejemplo @code{^"texto"}  @tab @code{TextScript}
+@item Ligaduras de unión        @tab @code{Tie}
+@item Grupos de valoración especial @tab @code{TupletBracket}
 @end multitable
 
-@node Real music example
-@subsection Real music example
-
-UNTRANSLATED NODE: IGNORE ME
 
-@node Common tweaks
-@section Common tweaks
+@node Fixing overlapping notation
+@subsection Fixing overlapping notation
 
-Algunas sustituciones son tan comunes que se proporcionan comandos preestablecidos
-como atajos, como @code{\slurUp} (ligadura hacia arriba) y @code{\stemDown} (plica hacia abajo).  Estos
-comandos se describen dentro de la Referencia de Notación bajo las secciones
-correspondientes.
+Veamos ahora cómo pueden ser de ayuda las propiedades que hemos visto
+en la sección anterior, para resolver problemas de notación que se
+superpone.
 
-La lista completa de modificaciones disponibles para cada tipo de
-objeto (como ligaduras o barras de corchea) están documentadas en la Referencia del
-Programa.  Sin embargo, muchos objetos de la presentación comparten propiedades que se pueden
-usar para aplicar trucos genéricos.
-
-@itemize @bullet
+@subheading padding property
 
 @cindex relleno
+@cindex arreglar notación que se superpone
+@cindex superpuesta, notación
 
-@item
-La propiedad @code{padding} (relleno) se puede establecer de forma que incremente
-(o disminuya) la distancia entre símbolos que se imprimen encima
-o debajo de las notas.  Se aplica a todos los objetos con
-@code{side-position-interface}.
+La propiedad @code{padding} se puede ajustar para aumentar (o
+disminuir) la distancia entre símbolos impresos encima o debajo de las
+notas.
+
+@cindex Script, ejemplo de sobreescritura
+@cindex padding, propiedad, ejemplo
 
 @lilypond[quote,fragment,relative=1,verbatim]
 c2\fermata
@@ -2271,6 +2617,9 @@ c2\fermata
 b2\fermata
 @end lilypond
 
+@cindex MetronomeMark, ejemplo de sobreescritura
+@cindex padding, propiedad, ejemplo
+
 @lilypond[quote,fragment,relative=1,verbatim]
 % This will not work, see below:
 \override MetronomeMark #'padding = #3
 d1
 @end lilypond
 
-Observe en el segundo ejemplo cuán importante es determinar qué contexto
-maneja un objeto determinado.  Debido a que el objeto @code{MetronomeMark} (indicación metronómica)
-se maneja en el contexto @code{Score}, los cambios de propiedades dentro del
-contexto @code{Voice} no se tendrán en cuenta.  Para ver más detalles, consulte
-@ruser{Constructing a tweak}.
+Observe en el segundo ejemplo la gran importancia que tiene saber qué
+contexto maneja un determinado objeto.  Puesto que el objeto
+@code{MetronomeMark} se maneja dentro del contexto @code{Score}, los
+cambios de propiedades en el contexto @code{Voice} pasarán
+inadvertidos.  Para ver más detalles, consulte @ruser{Modifying
+properties}.
 
-@cindex extra-offset (desplazamiento adicional)
+Si la propiedad de relleno @code{padding} de un objeto se incrementa
+cuando dicho objeto se encuentra en una pila de objetos que se están
+colocando de acuerdo a su prioridad @code{outside-staff-priority},
+entonces ese objeto se moverá, y también todos los que están por fuera
+de él.
 
-@item
-La propiedad @code{extra-offset} mueve objetos en la salida;
-requiere una pareja de números.  El primer número
-controla el movimiento horizontal, un número positivo moverá
-el objeto hacia la derecha.  El segundo número controla el movimiento
-vertical; un número positivo lo desplazará hacia arriba.  La
-propiedad @code{extra-offset} es una funcionalidad de bajo nivel: el motor
-de formateo es completamente olvidadizo respecto de estos desplazamientos.
 
-En el ejemplo siguiente, la segunda digitación se desplaza un poco hacia
-la izquierda y 1.8 espacios de pentagrama hacia abajo:
+@subheading left-padding and right-padding
+
+@cindex left-padding, propiedad
+@cindex right-padding, propiedad
+
+La propiedad @code{right-padding} afecta al espaciado entre la
+alteración y la nota a que se aplica.  Normalmente no es necesaria,
+pero el ejemplo siguiente muestra una situación en la que sí se
+necesita.  Suponga que queremos presentar un acorde que contiene un Si
+natural y un Si bemol.  Para evitar la ambigüedad querríamos preceder
+las notas con un becuadro y un bemol.  Aquí vienen varios intentos de
+hacerlo así:
+
+@cindex Accidental, ejemplo de sobreescritura
+@cindex text, propiedad, ejemplo
+@cindex stencil, propiedad, ejemplo
+@cindex AccidentalPlacement, ejemplo de sobreescritura
+@cindex right-padding, propiedad, ejemplo
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+<b bes>
+<b! bes>
+<b? bes>
+@end lilypond
+
+Ninguno de ellos funciona y el segundo además presenta una fea
+colisión entre las dos alteraciones.
+
+Una forma de conseguirlo es sobreescribir el sello de la alteración
+con un elemento de marcado que contenga los símbolos de becuadro y
+bemol en el orden que nos gustaría que estuvieran, así:
+
+@lilypond[quote,ragged-right,verbatim]
+naturalplusflat = \markup { \natural \flat }
+\relative c'' {
+  \once \override Accidental
+    #'stencil = #ly:text-interface::print
+  \once \override Accidental #'text = #naturalplusflat
+  \once \override Score.AccidentalPlacement #'right-padding = #1.5
+  <b bes>
+}
+@end lilypond
+
+@noindent
+Esto utiliza necesariamente una sobreescritura para el sello de la
+alteración que no se estudiará hasta más adelante.  El tipo de sello
+debe ser un procedimiento, aquí modificado para que imprima el
+contenido de la propiedad @code{text} del objeto @code{Accidental},
+que a su vez está establecido como un signo de becuadro seguido de un
+bemol.  Entonces el conjunto se puede separar de la cabeza de la nota
+sobreescribiendo @code{right-padding}.
+
+@noindent
+
+@subheading staff-padding property
+
+@cindex alineación de objetos sobre la línea base
+@cindex objetos, alineación sobre la línea base
+
+@code{staff-padding} se puede usar para alinear objetos como matices
+dinámicos a lo largo de una línea de base a una altura fija sobre el
+pentagrama, en lugar de hacerlo a una altura que dependa de la
+posición de la nota a la que están adosados.  No es una propiedad de
+@code{DynamicText} sino de @code{DynamicLineSpanner}.  Esto es así
+porque la línea de base debe aplicarse por igual a @strong{todas} las
+dinámicas, entre ellas las que se han creado como objetos de
+extensión.  Así que ésta es la forma de alinear las indicaciones de
+matiz en el ejemplo de la sección anterior:
+
+@cindex DynamicText, ejemplo de sobreescritura
+@cindex extra-spacing-width, propiedad, ejemplo
+@cindex DynamicLineSpanner, ejemplo de sobreescritura
+@cindex staff-padding, propiedad, ejemplo
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Extend width by 1 unit
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+% Align dynamics to a base line 2 units above staff
+\override DynamicLineSpanner #'staff-padding = #2
+a4\f b\mf c\mp b\p
+@end lilypond
+
+
+@subheading self-alignment-X property
+
+El ejemplo siguiente muestra cómo esto puede resolver la colisión
+entre un objeto de digitación de cuerda y la plica de una nota
+mediante el alineamiento del límite derecho con el punto de referencia
+de la nota «padre»:
+
+@cindex StringNumber, ejemplo de sobreescritura
+@cindex self-alignment-X, propiedad, ejemplo
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
+\voiceOne
+< a \2 >
+\once \override StringNumber #'self-alignment-X = #RIGHT
+< a \2 >
+@end lilypond
+
+@subheading staff-position property
+
+@cindex objeto, colisión dentro del pentagrama
+
+Los silencios multi-compás en una voz pueden chocar con las notas en
+otra voz.  Puesto que estos silencios se tipografían centrados entre
+las barras de compás se necesitaría bastante esfuerzo para que
+LilyPond averiguara qué otras notas podrían chocar con él, ya que
+actualmente todo el manejo de colisiones entre notas y silencios se
+hace solamente para notas y silencios que ocurren al mismo tiempo.  He
+aquí un ejemplo de colisión de este tipo:
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<< {c c c c} \\ {R1} >>
+@end lilypond
+
+La mejor solución aquí es mover el silencio multi-compás hacia abajo,
+pues el silencio está en la voz dos.  El ajuste predeterminado para
+@code{\voiceTwo} (es decir, en la segunda voz de una construcción
+@code{<<@{...@} \\ @{...@}>>}) es que @code{staff-position} tenga el
+valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos,
+cuatro semi-espacios de pentagrama, al valor @code{-8}.
+
+@cindex MultiMeasureRest, ejemplo de sobreescritura
+@cindex staff-position, propiedad, ejemplo
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<<
+  {c c c c}
+\\
+  \override MultiMeasureRest #'staff-position = #-8
+  {R1}
+>>
+@end lilypond
+
+Esto es mejor que utilizar, por ejemplo, @code{extra-offset}, porque
+la línea adicional por encima del silencio se inserta automáticamente.
+
+@subheading extra-offset property
+
+@cindex posicionar objetos
+@cindex posicionar grobs
+@cindex objetos, posicionar
+@cindex grobs, posicionar
+
+La propiedad @code{extra-offset} da un completo control sobre el
+posicionamiento de un objeto tanto vertical como horizontalmente.
+
+En el ejemplo siguiente, la segunda digitación se desplaza ligeramente
+a la izquierda, y 1.8 espacios de pentagrama hacia abajo:
+
+@cindex Fingering, ejemplo de sobreescritura
+@cindex extra-offset, propiedad, ejemplo
 
 @lilypond[quote,fragment,relative=1,verbatim]
 \stemUp
 f-5
 @end lilypond
 
-@item
-El establecimiento de la propiedad @code{transparent} provocará que un objeto se imprima
-con @q{tinta invisible}: el objeto no se imprime, pero se conserva todo el resto
-de su comportamiento.  El objeto aún ocupa un espacio, toma parte en las colisiones,
-y se le pueden adjuntar ligaduras de unión o de expresión y barras de corchea.
 
-@cindex objetos transparentes
-@cindex quitar objetos
-@cindex ocultar objetos
-@cindex objetos invisibles
-El ejemplo siguiente demuestra cómo conectar distintas voces
-utilizando ligaduras.  Normalmente las ligaduras sólo unen dos notas de la misma voz.
-Al introducir una ligadura en una voz distinta,
+@subheading positions property
 
-@lilypond[quote,fragment,relative=2]
-<< {
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+@cindex controlar manualmente grupos especiales, ligaduras y barras
+@cindex manual, control, de grupos especiales, ligaduras y barras
+@cindex grupos especiales, barras de, control manual
+@cindex ligaduras de expresión, control manual
+@cindex ligaduras de fraseo, control manual
+@cindex barras de corchea, control manual
+
+La propiedad @code{positions} permite controlar manualmente la
+posición e inclinación de los tresillos, ligaduras de expresión y de
+fraseo, y barras de corchea.  He aquí un ejemplo que tiene una fea
+ligadura de fraseo debido a que intenta evitar la ligadura de
+expresión que está sobre la acciaccatura.
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4  \acciaccatura e8\( d8 c ~c d c d\)
 @end lilypond
 
 @noindent
-y suprimiendo la primera plica hacia arriba en dicha voz, la ligadura parece cruzarse de una
-voz a otra:
+Simplemente podemos mover la ligadura de fraseo por encima de las
+notas, y de hecho ésta será la solución preferida:
 
+@cindex PhrasingSlur, ejemplo de sobreescritura
+@cindex positions, propiedad, ejemplo
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\phrasingSlurUp
+\acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
+
+@noindent
+Pero si por algún motivo no pudiéramos hacerlo, la otra alternativa
+sería mover el extremo izquierdo de la ligadura de fraseo un poco
+hacia abajo usando la propiedad @code{positions}.  Esto también
+resuelve la forma algo indecente de la ligadura.
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\once \override PhrasingSlur #'positions = #'(-4 . -3)
+\acciaccatura
+e8\( d8 c ~c d c d\)
 @end lilypond
 
-Para asegurarse de que la plica que hemos suprimido no aprieta demasiado a la
-ligadura, también alargamos la plica, estableciendo su @code{length} (longitud) a
-@code{8},
+Presentamos un ejemplo más extraído del comienzo del pentagrama de la
+mano izquierda del preludio de Chopin Op 28 No. 2.  vemos que la barra
+choca con las notas superiores:
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  \once \override Stem #'length = #8
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+\clef "bass"
+<< {b,8 ais, b, g,} \\ {e, g e, g} >>
+<< {b,8 ais, b, g,} \\ {e, g e, g} >>
+}
 @end lilypond
 
-@end itemize
+@noindent
+Esto se puede resolver manualmente elevando los dos extremos de la
+barra desde su posición a dos espacios de pentagrama sobre la línea
+central hasta, digamos, 3 espacios:
 
-@cindex Trucos, distancias
-@cindex Distancias
+@cindex Beam, ejemplo de sobreescritura
+@cindex positions, propiedad, ejemplo
 
-Las distancias en LilyPond se miden en espacios de pentagrama, mientras que
-las propiedades de grosor se miden en grosores de líneas de pentagrama.  Algunas
-propiedades son diferentes; por ejemplo, el grosor de las barras de corchea
-se mide en espacios de pentagrama.  Para más información, consulte la porción
-correspondiente de la referencia del programa.
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+  \clef "bass"
+  <<
+    \override Beam #'positions = #'(3 . 3)
+    {b,8 ais, b, g,}
+  \\
+    {e, g e, g}
+  >>
+  << {b,8 ais, b, g,} \\ {e, g e, g} >>
+}
+@end lilypond
 
+@noindent
+Observe que la sobreescritura sigue aplicándose en la primera voz del
+segundo bloque de corcheas, pero no a ninguna de las barras de la
+segunda voz.
+
+@subheading force-hshift property
+
+@c FIXME: formatting stuff  (ie not important right now IMO)
+@c @a nchor Chopin finally corrected TODOgp
+
+Ahora podremos ver cómo aplicar las correcciones finales al ejemplo de
+Chopin que presentamos al final de @ref{I'm hearing Voices}, que
+dejamos con este aspecto:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\
+    { aes2 f4 fes   } \\
+    { \voiceFour
+      <ees c>2
+      des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
 
+@noindent
+Las dos notas inferiores del primer acorde (es decir, las que están en
+al tercera voz) no deberían separarse de la columna de notas de las dos
+notas agudas.  Para corregir esto, establecemos el valor de
+@code{force-hshift} (que es una propiedad de @code{NoteColumn}) de
+esas notas a cero.  La nota más grave del segundo acorde se sitúa
+mejor justo a la derecha de las más agudas.  Lo conseguimos
+estableciendo el valor de @code{force-hshift} de esta nota a 0.5, o
+sea, la anchura de media cabeza de nota a la derecha de la columna de
+las notas agudas.
+
+Presentamos a continuación el resultado final:
+
+@cindex NoteColumn, ejemplo de sobreescritura
+@cindex force-hshift, propiedad, ejemplo
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\
+    { aes2 f4 fes   } \\
+    { \voiceFour
+      \once \override NoteColumn #'force-hshift = #0 <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5 des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
 
-@node Default files
-@section Default files
 
-La documentación de la Referencia del Programa contiene una gran cantidad de información
-sobre LilyPond, pero más información aún se puede obtener a partir de la observación
-de los archivos internos de LilyPond.
+@node Real music example
+@subsection Real music example
 
-Algunos ajustes por omisión como las definiciones de las
-@code{\header@{@}}s (encabezamientos) están almacenados en archivos @code{.ly}.
-Otros ajustes como las definiciones de los comandos de marcado se almacenan
-como archivos @code{.scm} (de Scheme).  Cae fuera del ámbito de presente manual
-cualquier explicación más profunda; los usuarios están advertidos de que se necesita
-una considerable cantidad de conocimientos técnicos
-para comprender estos archivos.
+Finalizaremos esta sección sobre los trucos mostrando los pasos que se
+deben tomar para tratar con un ejemplo complicado que necesita varios
+trucos para producir el resultado deseado.  El ejemplo se ha escogido
+deliberadamente para ilustrar el uso de la Referencia de la Notación
+para resolver problemas de notación poco comunes.  No es
+representativo de un proceso de grabado más usual, por lo que ¡le
+recomendamos que no deje que estas dificultades le desanimen!
+¡Afortunadamente, las dificultades como éstas no son muy comunes!
+
+El ejemplo está extraído de la Primera Balada de Chopin, Op. 23,
+compases 6 al 9, la transición entre el Lento inicial y el Moderato.
+Presentamos en primer lugar el aspecto que queremos que tenga el
+resultado, pero para evitar complicar demasiado el ejemplo hemos
+quitado las indicaciones dinámicas, las digitaciones y el pedal.
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+rhMusic = \relative c'' {
+  r2
+  c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  bes2.^\markup {\bold "Moderato"} r8
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    % Reposition the c2 to the right of the merged note
+    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
+    % Move the c2 out of the main note column so the merge will work
+    \shiftOnn c2}
+  \\
+    % Stem on the d2 must be down to permit merging
+    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+  \\
+    {s4 fis4.}
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
 
-@itemize @bullet
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@item Linux: @file{@var{directorio_de_instalación}/lilypond/usr/share/lilypond/current/}
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-@item OSX:
-@file{@var{carpeta_de_instalación}/LilyPond.app/Contents/Resources/share/lilypond/current/}.
-Para llegar aquí, o bien entre con @code{cd} en este directorio desde el
-Terminal, o haga control-clic sobre la aplicación LilyPond y elija
-@q{Mostrar el Contenido del Paquete}.
+Observamos en primer lugar que la parte de la mano derecha del tercer
+compás requiere cuatro voces.  Son las cinco corcheas unidas por una
+barra, la nota Do ligada, el Re blanca que se funde con el Re corchea,
+y el Fa sostenido negra con puntillo, que también está fundida con la
+corchea de su misma altura.  Todo lo demás está en una sola voz, así
+que lo más fácil es introducir estas cuatro voces temporalmente en el
+momento en que se necesiten.  Si ha olvidado cómo hacerlo, lea
+@ref{I'm hearing Voices}.  Vamos a comenzar introduciendo las notas
+como dos variables y disponiendo la estructura de pentagramas en un
+bloque score, y veremos qué produce LilyPond de forma predeterminada:
 
-@item Windows: @file{@var{carpeta_de_instalación}/LilyPond/usr/share/lilypond/current/}
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4. g8 |
+  bes1~ |
+  \time 6/4
+  bes2. r8
+  % Start polyphonic section of four voices
+  <<
+    {c,8 d fis bes a | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  g2.
+}
 
-@end itemize
+lhMusic = \relative c' {
+  r2 <c g ees>2 |
+  <d g, d>1 |
+  r2. d,,4 r4 r |
+  r4
+}
 
-Los directorios @file{ly/} y @file{scm/} son de especial interés.
-Archivos como @file{ly/property-init.ly} y
-@file{ly/declarations-init.ly} definen todos los trucos comunes.
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
+Todas las notas son correctas, pero el aspecto está lejos de ser
+satisfactorio.  La ligadura de unión choca con el cambio de compás, el
+barrado del tercer compás es incorrecto, las notas no se funden
+correctamente, y faltan algunos elementos de notación.  En primer
+lugar trataremos con lo más fácil.  Podemos corregir el barrado de las
+corcheas insertando una barra manualmente, y podemos añadir fácilmente
+la ligadura de expresión de la mano izquierda y la ligadura de fraseo
+de la mano derecha, pues todo ello se estudió en el Tutorial.  Al
+hacerlo así obtenemos:
 
-@node Fitting music onto fewer pages
-@section Fitting music onto fewer pages
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  bes1~ |
+  \time 6/4
+  bes2. r8
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  g2.\)
+}
 
-A veces puede acabar con uno o dos pentagramas en una segunda página
-(o tercera, o cuarta...).  Es fastidioso sobre todo si observa las
-páginas anteriores y parece haber
-espacio suficiente en ellas.
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1) |
+  r2. d,,4 r4 r |
+  r4
+}
 
-Al investigar asuntos relacionados con la presentación, la herramienta
-@code{annotate-spacing} (anotar el espaciado) no tiene precio.
-Este comando imprime los valores de algunos comandos de espaciado;
-consulte @ruser{Displaying spacing} para ver más detalles.  A partir de
-la salida de de @code{annotate-spacing}, podemos ver qué márgenes podríamos desear alterar.
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-Aparte de los márgenes, existen otras opciones para ahorrar espacio:
+El primer compás ahora es correcto.  El segundo compás contiene un
+arpegio y acaba en una doble barra.  ¿Cómo los hacemos, pues no han
+sido mencionados en este Manual de Aprendizaje?  Aquí es donde tenemos
+que volver e la Referencia de la Notación.  Buscando la palabra
+@q{arpegio} y @q{línea divisoria} en el índice nos muestra rápidamente
+que un arpegio se hace añadiendo @code{\arpeggio} a un acorde, y la
+doble barra se produce por medio de la instrucción @code{\bar "||"}.
+Esto podemos hacerlo fácilmente.  A continuación tenemos que corregir
+la colisión entre la ligadura de unión y la indicación de compás.
+Esto se hace mejor moviendo la ligadura hacia arriba.  Estudiamos cómo
+mover objetos anteriormente en @ref{Moving objects}, donde dice que
+los objetos que están situados de forma relativa al pentagrama se
+pueden mover sobreescribiendo su propiedad @code{staff-position}, que
+se especifica en unidades de medio espacio de pentagrama respecto de
+la línea central del pentagrama.  Así pues, la sobreescritura
+siguiente colocada justo antes de la primera nota ligada subirá la
+ligadura 3.5 medios espacios de pentagrama por encima de la línea
+central:
+
+@code{\once \override Tie #'staff-position = #3.5}
+
+Con esto se completa el compás dos, dando como resultado:
 
-@itemize
-@item
-Puede indicarle a LilyPond que coloque los sistemas tan juntos como sea
-posible (para que quepan tantos sistemas como sea posible sobre una página),
-pero luego separar estos sistemas para que no haya ningún espacio vacío
-al final de la página.
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2. r8
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+Vayamos ahora al tercer compás y comienzo de la sección Moderato.  El
+tutorial nos enseñó cómo escribir texto en negrita mediante la
+instrucción @code{\markup}, por lo que añadir @q{Moderato} en negrita
+es fácil.  Pero ahora ¿cómo fundimos notas que están en distintas
+voces?  Aquí es donde debemos volver a buscar ayuda en el manual de
+Referencia de la notación. Al buscar la palabra @qq{merge} (mezcla) en
+el índice de la Referencia de la notación llegamos rápidamente a las
+instrucciones para mezclar notas con distinta cabeza y con o sin
+puntillo, en @ruser{Collision resolution}.  En nuestro ejemplo tenemos
+que fusionar ambos tipos de nota en el transcurso de la sección
+polifónica del compás 3; por tanto, en virtud de la información que
+aparece en la Referencia de la Notación, escribimos
 
 @example
-\paper @{
-  between-system-padding = #0.1
-  between-system-space = #0.1
-  ragged-last-bottom = ##f
-  ragged-bottom = ##f
-@}
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
 @end example
 
-@item
-Puede forzar el número de sistemas (es decir, si LilyPond quiere
-tipografiar la música con 11 sistemas, puede forzarlo
-para que use 10).
+@noindent
+al principio de la sección, y
 
 @example
-\paper @{
-  system-count = #10
-@}
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
 @end example
 
-@item
-Evite (o reduzca) el uso de objetos que aumenten el tamaño
-vertical de un sistema.  Por ejemplo, las repeticiones con
-primera y segunda vez necesitan espacio adicional.  Si
-estas repeticiones abarcan dos sistemas, ocuparán más espacio
-que un solo sistema con las repeticiones y otro sistema sin ellas.
+@noindent
+al final, dando como resultado:
 
-Otro ejemplo es desplazar las expresiones dinámicas que se
-@q{asoman por encima} de un sistema.
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2.^\markup {\bold "Moderato"} r8
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
 
-@lilypond[verbatim,quote,fragment]
-\relative c' {
-  e4 c g\f c
-  \override DynamicLineSpanner #'padding = #-1.8
-  \override DynamicText #'extra-offset = #'( -2.1 . 0)
-  e4 c g\f c
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
 }
 @end lilypond
 
-@item
-Altere el espaciado horizontal por medio de @code{SpacingSpanner}.  Consulte
-@ruser{Changing horizontal spacing} para ver más detalles.
+Estas sobreescrituras han fundido los dos Fa sostenido, pero no los
+dos Re.  ¿Por qué no?  La respuesta está en la misma sección de la
+Referencia de la Notación: las notas que se fusionan deben tener las
+plicas en direcciones opuestas y dos notas no se pueden fusionar bien
+si hay una tercera nota en la misma columna.  Aquí los dos Re tienen
+las plicas hacia arriba y hay una tercera nota: el Do.  Sabemos cómo
+cambiar la dirección de la plica usando @code{\stemDown}, y la
+Referencia de la Notación también explica cómo mover el Do: aplicar un
+desplazamiento usando una de las instrucciones @code{\shift}.  Pero
+¿cuál?  El Do está en la voz dos que tiene desactivado el
+desplazamiento, y los dos Re están en las voces uno y tres, que tienen
+el desplazamiento desactivado y activado, respectivamente.  Por ello
+tenemos que desplazar el Do un nivel más todavía, usando
+@code{\shiftOnn} para evitar que interfiera con los dos Re.  Al
+aplicar estos cambios obtenemos:
+
+@cindex Tie, ejemplo de sobreescritura
+@cindex staff-position, propiedad, ejemplo
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2.^\markup {\bold "Moderato"} r8
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    % Move the c2 out of the main note column so the merge will work
+    {c,8~ \shiftOnn c2 | }
+  \\
+    % Stem on the d2 must be down to permit merging
+    {s8 \stemDown d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@lilypond[verbatim,quote]
 \score {
-  \relative c'' {
-    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
-    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
-    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
-    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
-  }
-  \layout {
-    \context {
-      \Score
-      \override SpacingSpanner
-                #'base-shortest-duration = #(ly:make-moment 1 4)
-    }
-  }
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
 }
 @end lilypond
 
-@end itemize
+Ya casi está.  Solamente quedan dos problemas: la plica hacia abajo
+sobre el Re fusionado no tendría que estar ahí, y el Do estaría mejor
+colocado a la derecha de los Re.  Sabemos cómo hacer las dos cosas a
+partir de trucos anteriores: hacemos la plica transparente, y movemos
+el Do con la propiedad @code{force-hshift}.  Aquí tenemos el resultado
+final:
 
-@node Avoiding tweaks with slower processing
-@section Avoiding tweaks with slower processing
+@cindex NoteColumn, ejemplo de sobreescritura
+@cindex force-hshift, propiedad, ejemplo
+@cindex Stem, ejemplo de sobreescritura
+@cindex transparent, propiedad, ejemplo
 
-LilyPond puede llevar a cabo comprobaciones adicionales al tiempo que
-procesa los archivos.  Estos comandos consumen tiempo, pero el
-resultado puede necesitar menos trucos manuales.
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2
+  c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2.^\markup {\bold "Moderato"} r8
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    % Reposition the c2 to the right of the merged note
+    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
+    % Move the c2 out of the main note column so the merge will work
+    \shiftOnn c2}
+  \\
+    % Stem on the d2 must be down to permit merging
+    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+  \\
+    {s4 fis4.}
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
 
-@example
-%%  asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
-\override Score.PaperColumn #'keep-inside-line = ##t
-@end example
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@node Advanced tweaks with Scheme
-@section Advanced tweaks with Scheme
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-Hemos visto cómo la salida de LilyPond se puede modificar de manera muy profunda utilizando
-comandos como
-@code{\override TextScript #'extra-offset = ( 1 . -1)}.  Pero
-tenemos un potencial incluso mayor si utilizamos Scheme.  Para ver una explicación completa
-de esto, consulte el @ruser{Scheme tutorial} e
-@ruser{Interfaces for programmers}.
 
-Podemos usar Scheme simplemente para sobreponer (@code{\override}) comandos,
+@node Further tweaking
+@section Further tweaking
+
+@menu
+* Other uses for tweaks::
+* Using variables for tweaks::
+* Other sources of information::
+* Avoiding tweaks with slower processing::
+* Advanced tweaks with Scheme::
+@end menu
+
+@node Other uses for tweaks
+@subsection Other uses for tweaks
+
+@cindex transparent, uso de la propiedad
+@cindex objetos, hace invisibles
+@cindex eliminar objetos
+@cindex objetos, eliminar
+@cindex objetos, ocultar
+@cindex ocultar objetos
+@cindex invisibles, objetos
+@cindex objetos invisibles
+@cindex ligar notas entre voces distintas
+
+@subheading Tying notes across voices
+
+El ejemplo siguiente muestra cómo conectar notas que están en
+distintas voces utilizando ligaduras de unión.  Normalmente sólo se
+pueden conectar mediante ligaduras de unión dos notas que estén en la
+misma voz.  Usando dos voces, con las notas ligadas en una de ellas:
+
+@lilypond[quote,fragment,relative=2]
+<< { b8~ b8\noBeam }
+\\ { b[ g8] }
+>>
+@end lilypond
+
+@noindent
+y borrando la primera plica hacia arriba en esa voz, da la impresión
+de que la ligadura se cruza entre las voces:
+
+@cindex Stem, ejemplo de sobreescritura
+@cindex transparent, propiedad, ejemplo
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+  {
+    \once \override Stem #'transparent = ##t
+    b8~ b8\noBeam
+  }
+\\
+  { b[ g8] }
+>>
+@end lilypond
+
+Para estar seguros de que la plica que acabamos de borrar no aprieta
+demasiado a la ligadura, podemos alargar la plica estableciendo su
+valor de longitud @code{length} a @code{8},
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+  {
+    \once \override Stem #'transparent = ##t
+    \once \override Stem #'length = #8
+    b8~ b8\noBeam
+  }
+\\
+  { b[ g8] }
+>>
+@end lilypond
+
+@subheading Simulating a fermata in MIDI
+
+@cindex sello, uso de la propiedad
+@cindex fermata, realización en MIDI
+
+Para los objetos fuera-del-pentagrama, normalmente es mejor
+sobreescribir la propiedad @code{stencil} («sello») del objeto que su
+propiedad @code{transparent} cuando desee quitarlos de la salida
+impresa.  Mediante el establecimiento de la propiedad @code{stencil}
+de un objeto al valor @code{#f} podemos quitar el objeto por completo
+de la salida impresa.  Esto significa que no tiene efecto sobre la
+colocación de otros objetos que pudieran colocarse en relación a él.
+
+Por ejemplo, si quisiéramos cambiar la indicación metronómica con el
+propósito de simular un calderón en la salida MIDI, seguramente no
+querríamos que la indicación metronómica apareciese en la salida
+impresa, y no querríamos influir sobre la separación entre los dos
+sistemas ni sobre la colocación de las anotaciones adyacentes sobre el
+pentagrama.  Por lo tanto, establecer su propiedad @code{stencil} al
+valor @code{#f} sería la mejor manera.  Mostramos aquí el efecto de
+los dos métodos:
+
+@cindex MetronomeMark, ejemplo de sobreescritura
+@cindex transparent, propiedad, ejemplo
 
 @lilypond[quote,verbatim,ragged-right]
-padText = #(define-music-function (parser location padding) (number?)
-#{
-  \once \override TextScript #'padding = #$padding
-#})
-
-\relative c''' {
-  c4^"piu mosso" b a b
-  \padText #1.8
-  c4^"piu mosso" d e f
-  \padText #2.6
-  c4^"piu mosso" fis a g
+\score {
+  \relative c'' {
+    % Visible tempo marking
+    \tempo 4=120
+    a4 a a
+    \once \override Score.MetronomeMark #'transparent = ##t
+    % Invisible tempo marking to lengthen fermata in MIDI
+    \tempo 4=80
+    a\fermata
+    % New tempo for next section
+    \tempo 4=100
+    a a a a
+  }
+  \layout { }
+  \midi { }
 }
 @end lilypond
 
-Podemos usarlo para crear comandos nuevos,
+@cindex MetronomeMark, ejemplo de sobreescritura
+@cindex stencil, propiedad, ejemplo
 
 @lilypond[quote,verbatim,ragged-right]
-tempoMark = #(define-music-function (parser location padding marktext)
-                                    (number? string?)
-#{
-  \once \override Score . RehearsalMark #'padding = $padding
-  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-  \mark \markup { \bold $marktext }
-#})
-
-\relative c'' {
-  c2 e
-  \tempoMark #3.0 #"Allegro"
-  g c
+\score {
+  \relative c'' {
+    % Visible tempo marking
+    \tempo 4=120
+    a4 a a
+    \once \override Score.MetronomeMark #'stencil = ##f
+    % Invisible tempo marking to lengthen fermata in MIDI
+    \tempo 4=80
+    a\fermata
+    % New tempo for next section
+    \tempo 4=100
+    a a a a
+  }
+  \layout { }
+  \midi { }
 }
 @end lilypond
 
-E incluso se le pueden pasar expresiones musicales.
+@noindent
+Ambos métodos quitan de la salida impresa la indicación metronómica
+que alarga el calderón, y los dos afectan al tempo del MIDI tal y como
+queríamos, pero la indicación metronómica transparente de la primera
+línea fuerza una colocación muy alta de la indicación de tempo que
+sigue, meintras que la segunda (con el sello suprimido) no lo hace.
+
+@node Using variables for tweaks
+@subsection Using variables for tweaks
+
+@cindex variables, uso de, para trucos
+@cindex usar variables para hacer trucos
+@cindex trucos, usar variables para hacer
+
+Las instrucciones de sobreescritura son con frecuencia largas y
+tediosas de escribir, y se tienen que escribir de forma absolutamente
+correcta.  Si las mismas sobreescrituras se van a utilizar muchas
+veces, podría merecer la pena definir variables para guardarlas.
+Suponga que queremos realzar ciertas palabras de la letra de una
+canción imprimiéndolas en cursiva y negrita.  Las instrucciones
+@code{\italic} y @code{\bold} sólo funcionan dentro de la letra de las
+canciones si están incluidas dentro de un @code{\markup}, lo que las
+hace tediosas de escribir.  ¿Podríamos, como alternativa, utilizar las
+instrucciones @code{\override} y @code{\revert}?
 
-@lilypond[quote,verbatim,ragged-right]
-pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
-#{
-  $x e8 a b $y b a e
-#})
-
-\relative c''{
-  \pattern c8 c8\f
-  \pattern {d16 dis} { ais16-> b\p }
+@example
+@code{\override Lyrics . LyricText #'font-shape = #'italic}
+@code{\override Lyrics . LyricText #'font-series = #'bold}
+
+@code{\revert Lyrics . LyricText #'font-shape}
+@code{\revert Lyrics . LyricText #'font-series}
+@end example
+
+Estas instrucciones también serían extremadamente tediosas de escribir
+si hubiera muchas palabras que quisiéramos subrayar.  Entonces, en vez
+de esto las definimos como dos variables, y las usamos de la siguiente
+forma, aunque normalmente quizá elegiríamos unos nombres de variable
+más cortos para que fueran más rápidos de teclear:
+
+@cindex LyricText, ejemplo de sobreescritura
+@cindex font-shape, propiedad, ejemplo
+@cindex font-series, propiedad, ejemplo
+
+@lilypond[quote,verbatim]
+emphasize = {
+  \override Lyrics . LyricText #'font-shape = #'italic
+  \override Lyrics . LyricText #'font-series = #'bold
+}
+normal = {
+  \revert Lyrics . LyricText #'font-shape
+  \revert Lyrics . LyricText #'font-series
+}
+
+global = { \time 4/4 \partial 4 \key c \major}
+SopranoMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
+TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
+VerseOne   = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
+VerseTwo   = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
+VerseFour  = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \clef "treble"
+      \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
+      \new Voice = "Alto" { \voiceTwo \AltoMusic }
+      \new Lyrics \lyricsto "Soprano" { \VerseOne   }
+      \new Lyrics \lyricsto "Soprano" { \VerseTwo   }
+      \new Lyrics \lyricsto "Soprano" { \VerseThree }
+      \new Lyrics \lyricsto "Soprano" { \VerseFour  }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \new Voice = "Tenor" { \voiceOne \TenorMusic }
+      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
+    >>
+  >>
 }
 @end lilypond
 
 
+@node Other sources of information
+@subsection Other sources of information
+
+La documentación del manual de Referencia de Funcionamiento Interno
+contiene montañas de información sobre LilyPond, pero se puede obtener
+más información aún leyendo los archivos internos de LilyPond.  Para
+echarles un vistazo, en primer lugar debe buscar la carpeta
+correspondiente a su sistema.  La ubicación de esta carpeta depende
+(a) de si consiguió el programa LilyPond descargando un binario
+precompilado desde el sitio web lilypond.org o si lo instaló mediante
+un gestor de paquetes (es decir, distribuido con Linux, o instalado
+bajo fink o cygwin) o fue compilado a partir de la fuente, y (b) de
+qué sistema operativo está utilizando:
+
+
+@strong{Descargado de lilypond.org}
+
+@itemize @bullet
+@item Linux
+
+Diríjase a
+@file{@var{CARPETA_DE_INSTALACIÓN}/lilypond/usr/share/lilypond/current/}
+
+@item MacOS X
+
+Diríjase a
+@file{@var{CARPETA_DE_INSTALACIÓN}/LilyPond.app/Contents/Resources/share/lilypond/current/}
+bien haciendo @code{cd} hacia este directorio desde el Terminal, o
+bien manteniendo pulsada la tecla de Control y haciendo click sobre la
+aplicación de LilyPond, y allí eligiendo @q{Mostrar el contenido del
+paquete}.
+
+@item Windows
+
+Mediante el Explorador de Windows, diríjase a
+@file{@var{CARPETA_DE_INSTALACIÓN}/LilyPond/usr/share/lilypond/current/}
+
+@end itemize
+
+@strong{Instalado mediante un gestor de paquetes o compilado a partir de la fuente}
+
+Diríjase a
+@file{@var{PREFIJO}/share/lilypond/@var{X.Y.Z}/}, donde @var{PREFIJO}
+se encuentra determinado por su administrador de paquetes o guión
+@code{configure}, y @var{X.Y.Z} es el número de la versión de
+LilyPond.
+
+@smallspace
+
+Dentro de esta carpeta, las dos subcarpetas interesantes son
+
+@itemize
+@item @file{ly/} - contiene archivos en formato LilyPond
+@item @file{scm/} - contiene archivos en formato Scheme
+@end itemize
+
+Vamos a comenzar observando algunos archivos que están en @file{ly/}.
+Abra @file{ly/property-init.ly} con un editor de textos.  El mismo que
+usaría normalmente para los archivos @code{.ly} servirá perfectamente.
+Este archivo contiene las definiciones de todas las instrucciones
+estándar predefinidas de LilyPond, como por ejemplo @code{\stemUp} y
+@code{\slurDotted}.  Podrá ver que no son nada más que definiciones de
+variables que contienen una o varias instrucciones @code{\override}.
+Por ejemplo, @code{/tieDotted} está definido de tal forma que su valor
+es:
+
+@example
+tieDotted = @{
+  \override Tie #'dash-period = #0.75
+  \override Tie #'dash-fraction = #0.1
+@}
+@end example
+
+Si no le gustan los valores predeterminados, estas instrucciones
+predefinidas se pueden redefinir con facilidad como cualquier otra
+variable, al principio de su archivo de código de entrada.
+
+Los siguientes son los archivos más útiles que se encuentran en
+@file{ly/}:
+
+@multitable @columnfractions .4 .6
+@headitem Archivo
+  @tab Contenido
+@item @file{ly/engraver-init.ly}
+  @tab Definiciones de Contextos de grabadores
+@item @file{ly/paper-defaults-init.ly}
+  @tab especificaciones de valores predeterminados relacionados con el papel
+@item @file{ly/performer-init.ly}
+  @tab Definiciones de Contextos de interpretación
+@item @file{ly/property-init.ly}
+  @tab Definiciones de todas las instrucciones predefinidas que son comunes
+@item @file{ly/spanner-init.ly}
+  @tab Definiciones de las instrucciones predefinidas relacionadas con los objetos de extensión
+@end multitable
+
+Otros ajustes (como las definiciones de las instrucciones de marcado)
+se almacenan como archivos @code{.scm} (de Scheme).  El lenguaje de
+programación Scheme se utiliza para proporcionar un interfaz
+programable en el funcionamiento interno de LilyPond.  Cualquier
+explicación adicional sobre estos archivos se encuentra por el momento
+fuera del ámbito de este manual, porque se requieren conocimientos del
+lenguaje Scheme.  Se advierte a los usuarios que se necesita una
+importante cantidad de conocimientos técnicos o de tiempo para
+comprender el lenguaje Scheme y estos archivos (véase @ref{Scheme
+tutorial}).
+
+Si ya tiene estos conocimientos, los archivos de Scheme que pueden
+interesarle son:
+
+@multitable @columnfractions .4 .6
+@headitem Archivo
+  @tab Contenido
+@item @file{scm/auto-beam.scm}
+  @tab Valores predeterminados de sub-barrado
+@item @file{scm/define-grobs.scm}
+  @tab valores predeterminados de las propiedades de grobs
+@item @file{scm/define-markup-commands.scm}
+  @tab Especificar todas las instrucciones de marcado
+@item @file{scm/midi.scm}
+  @tab Ajustes predeterminados para la salida MIDI
+@item @file{scm/output-lib.scm}
+  @tab Ajustes que afectan al aspecto de los trastes, colores, alteraciones, lineas divisorias, etc.
+@item @file{scm/parser-clef.scm}
+  @tab Definiciones de las claves contempladas
+@item @file{scm/script.scm}
+  @tab Ajustes predeterminados para las articulaciones
+@end multitable
+
+
+
+@node Avoiding tweaks with slower processing
+@subsection Avoiding tweaks with slower processing
+
+LilyPond puede llevar a cabo comprobaciones adicionales al tiempo que
+procesa los archivos.  Estas instrucciones consumen tiempo, pero el
+resultado puede necesitar menos trucos manuales para obtener un
+resultado aceptable.  Si una inscripción de texto o parte de la letra
+se sale de los márgenes, estas comprobaciones comprimirán dicha línea
+en la medida justa como para que encaje dentro de los márgenes.
 
+Para que sean efectivos bajo cualquier circunstancia, estas
+comprobaciones deben habilitarse colocando las instrucciones de
+sobreescritura dentro del bloque @code{\with} dentro de un Score, y no
+en línea con la música, de la forma siguiente:
 
 
+@example
+\new Score \with @{
+  %  asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
+  \override PaperColumn #'keep-inside-line = ##t
+  \override NonMusicalPaperColumn #'keep-inside-line = ##t
+@} @{
+   ..
+@}
+@end example
+
+@node Advanced tweaks with Scheme
+@subsection Advanced tweaks with Scheme
+
+Aunque es posible hacer muchas cosas con las instrucciones
+@code{\override} y @code{\tweak} , tenemos una forma incluso más
+poderosa de modificar el funcionamiento de LilyPond, a través de un
+interface programable hacia las operaciones internas de LilyPond.  Se
+puede incorporar código escrito en el lenguaje de programación Scheme,
+directamente en el mecanismo de funcionamiento de LilyPond.  Por
+supuesto, para hacer esto se necesitan al menos unos conocimientos
+básicos de programación en Scheme, y damos una introducción en el
+@ref{Scheme tutorial}.
+
+Como ejemplo que ilustra una de las muchas posibilidades, en lugar de
+dar a una propiedad un valor constante, se puede establecer al
+resultado de un procedimiento de Scheme que se invoca cada vez que
+LilyPond accede a esta propiedad.  La propiedad se puede establecer
+dinámicamente a un valor determinado por el procedimiento en el
+momento en que se invoca.  En este ejemplo damos a las cabezas de las
+notas un color que depende de su posición dentro del pentagrama.
+
+@cindex x11-color function, ejemplo de utilización
+@cindex NoteHead, ejemplo de sobreescritura
+@cindex color, propiedad, establecer a procedimiento de Scheme
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (color-notehead grob)
+  "Color the notehead according to its position on the staff."
+  (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
+    (case mod-position
+      ;;   Return rainbow colors
+      ((1) (x11-color 'red    ))  ; for C
+      ((2) (x11-color 'orange ))  ; for D
+      ((3) (x11-color 'yellow ))  ; for E
+      ((4) (x11-color 'green  ))  ; for F
+      ((5) (x11-color 'blue   ))  ; for G
+      ((6) (x11-color 'purple ))  ; for A
+      ((0) (x11-color 'violet ))  ; for B
+    )
+  )
+)
+
+\relative c' {
+  % Arrange to obtain color from color-notehead procedure
+  \override NoteHead #'color = #color-notehead
+  c2 c' |
+  b4 g8 a b4 c |
+  c,2 a' |
+  g1 |
+}
+\addlyrics {
+  Some -- where o -- ver the Rain -- bow, way up high,
+}
+@end lilypond
+
+Se pueden encontrar ejemplos adicionales que muestran la utilización
+de estos interfaces programables, en @ref{Tweaking with Scheme}.