]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/user/tweaks.itely
Merge branch 'master' of ssh+git://git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / es / user / tweaks.itely
index 5a4218e3fa8f0236949d7d3df023c7e6379b4b3c..5ed3dfab8997317ba6c1904b2a4ca404717fe243 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 2d57278342a30b2e51a0f2c961f8a57a2134225e
+    Translation of GIT committish: f2dfe5301630aa53a9558b33d1a97595b4724911
 
     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.61"
+
 @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
@@ -81,7 +79,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 +109,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.
 
@@ -129,14 +127,15 @@ 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
@@ -187,17 +186,16 @@ 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 +203,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
@@ -229,7 +227,7 @@ a b c
 @cindex revert, instrucción
 @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,12 +235,12 @@ 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:
 
@@ -296,9 +294,9 @@ 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}:
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
   <c e g>4
@@ -308,18 +306,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
@@ -333,15 +331,15 @@ se cambiaría de la siguiente forma:
   <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
@@ -353,6 +351,7 @@ a ^Black
   -\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.
 
@@ -385,9 +384,6 @@ 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}:
@@ -407,15 +403,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
@@ -452,7 +454,7 @@ con tan sólo algo de práctica.
 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 +480,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 +494,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 +547,7 @@ 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]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -605,12 +608,12 @@ 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]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -645,7 +648,7 @@ 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]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -670,7 +673,7 @@ 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]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -694,7 +697,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
@@ -714,13 +717,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 +732,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 +765,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,7 +788,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 6/8
   {
@@ -806,8 +810,8 @@ y toda la letra se imprime en cursiva.
 @cindex contexto, especificación en modo letra
 
 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 +832,11 @@ 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 +863,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 +884,25 @@ 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 +911,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 +930,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,7 +950,7 @@ 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
@@ -947,7 +962,7 @@ 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}:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override BarLine #'stencil = ##f
@@ -972,7 +987,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.BarLine #'stencil = ##f
@@ -994,17 +1009,17 @@ 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}.
 
 @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
@@ -1030,7 +1045,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.TimeSignature #'transparent = ##t
@@ -1048,7 +1063,7 @@ 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}:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.TimeSignature #'stencil = ##f
@@ -1066,18 +1081,26 @@ 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:
-
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+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:
+
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.BarLine #'color = #white
@@ -1089,7 +1112,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.
@@ -1105,7 +1128,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.BarLine #'color = #(x11-color 'white)
@@ -1117,7 +1140,7 @@ 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
@@ -1130,7 +1153,7 @@ 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)}:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.BarLine #'color = #(rgb-color 1 1 1)
@@ -1142,11 +1165,11 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 {
   \time 12/16
   \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
@@ -1179,7 +1202,7 @@ 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}.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Staff ="main" {
        \relative g' {
          r4 g8 g c4 c8 d |
@@ -1200,7 +1223,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
     r4 g8 g c4 c8 d |
@@ -1229,7 +1252,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,16 +1272,16 @@ 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
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
     r4 g8 g c4 c8 d |
@@ -1322,7 +1345,7 @@ reduce o aumenta el tamaño aproximadamente en un 12%.
 
 Vamos a probarlo en nuestro ejemplo del ossia:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
     r4 g8 g c4 c8 d |
@@ -1379,7 +1402,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Staff ="main" {
   \relative g' {
     r4 g8 g c4 c8 d |
@@ -1403,7 +1426,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,9 +1457,9 @@ 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
 
 
@@ -1484,7 +1507,7 @@ 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}.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c2^"Text1"
 c^"Text2"
 c^"Text3"
@@ -1524,7 +1547,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.
 
@@ -1541,7 +1564,7 @@ todas las plicas forzadas hacia abajo, cuatro notas con las plicas
 forzadas hacia arriba, y por último cuatro notas devueltas al
 comportamiento predeterminado.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 a4 g c a
 \override Stem #'direction = #DOWN
 a g c a
@@ -1565,14 +1588,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}
@@ -1628,7 +1651,7 @@ digitaciones; el primer compás muestra el comportamiento
 predeterminado, y después el efecto de especificar @code{DOWN} y
 @code{UP}:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@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
@@ -1641,7 +1664,7 @@ 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í:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 <c-5 g-3>
 <c-5 g-3 e-2>
 <c-5 g-3 e-2 c-1>
@@ -1671,7 +1694,7 @@ 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
+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.
 
@@ -1779,7 +1802,7 @@ de ellos.
 % Place dynamics above staff
 \dynamicUp
 % Start Ottava Bracket
-#(set-octavation 1)
+\ottava #1
 c' \startTextSpan
 % Add Dynamic Text
 c\pp
@@ -1791,12 +1814,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
@@ -1844,7 +1867,7 @@ recordando que @code{OttavaBracket} se crea dentro del contexto de
 %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 +1879,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,7 +1892,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c2^"Text1"
 c^"Text2"
 \once \override TextScript #'outside-staff-priority = #500
@@ -1883,7 +1906,7 @@ 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
@@ -1897,7 +1920,7 @@ música.  La instrucción @code{\textLengthOn} invierte este
 comportamiento, ocasionando que las notas resulten tan espaciadas como
 sea necesario para acomodar el texto:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \textLengthOn  % Cause notes to space out to accommodate text
 c2^"Text1"
 c^"Text2"
@@ -1916,7 +1939,7 @@ 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.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 % This markup is short enough to fit without collision
 c2^"Tex"
 c''2
@@ -1963,7 +1986,7 @@ las marcas dinámicas posteriores más lejos, aunque este puede no ser
 el lugar óptimo, como muestra el siguiente ejemplo más bien
 artificial:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \dynamicUp
 a4\f b\mf c\mp b\p
 @end lilypond
@@ -2019,7 +2042,7 @@ instrucción que lo hace para las indicaciones dinámicas:
 @noindent
 Veamos si funciona en nuestro ejemplo anterior:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \dynamicUp
 \override DynamicText #'extra-spacing-width = #'(0 . 0)
 a4\f b\mf c\mp b\p
@@ -2036,7 +2059,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \dynamicUp
 % Extend width by 1 staff space
 \override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
@@ -2055,145 +2078,246 @@ 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.
+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.
 
-@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.
+Existen tres enfoques principales que llevan a la resolución de
+superposiciones en la notación.  Se deben considerar en el siguiente
+orden:
 
-@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
+@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.
 
-@cindex padding
+@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:
 
-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
+@itemize
 
-@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
+@item
+@code{direction} (dirección)
 
-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?
+Ya se ha estudiado con cierto detalle: véase @ref{Within-staff
+objects}.
 
-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.
+@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=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.
+@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}.
 
-@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
+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).
 
-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
+@item
+@code{self-alignment-X} (Auto-alineamiento en el eje X)
 
-@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
+@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.
 
-@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!
+@item
+@code{extra-spacing-width} (anchura de separación adicional)
+
+@cindex extra-spacing-width, propiedad
+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).
 
-Una advertencia final: en esta sección hemos usado
+@item
+@code{staff-position} (posición de pentagrama)
 
-@example
-\once \override TextScript @dots{}
-@end example
+@cindex staff-position, propiedad
+@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.
 
-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{force-hshift} (forzar desplazamiento horizontal)
 
-@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 force-hshift, propiedad
 
-@seealso
+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.
 
-En el presente manual: @ruser{The \override command}, @ruser{Common tweaks}.
+@end itemize
 
+@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 Fixing overlapping notation
@@ -2232,10 +2356,10 @@ 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{Constructing a
-tweak}.
+inadvertidos.  Para ver más detalles, consulte @ruser{Modifying
+properties}.
 
-Si la propiedad de relleno @code{padding} de un objetp se incrementa
+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
@@ -2254,7 +2378,7 @@ 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í:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 <b bes>
 <b! bes>
 <b? bes>
@@ -2302,7 +2426,7 @@ 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:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \dynamicUp
 % Extend width by 1 unit
 \override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
@@ -2333,7 +2457,7 @@ de la nota «padre»:
 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 averigüara qué otras notas podrína chocar con él, ya 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:
@@ -2382,7 +2506,7 @@ f-5
 @subheading positions property
 @cindex positions, propiedad
 
-La porpiedad @code{positions} permite controlar manualmente la
+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
@@ -2476,7 +2600,7 @@ dejamos con este aspecto:
 
 @noindent
 Las dos notas inferiores del primer acorde (es decir, las que están en
-al tercera voz) no deberían separarse de la colmna de notas de las dos
+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
@@ -2502,334 +2626,852 @@ Presentamos a continuación el resultado final:
 }
 @end lilypond
 
+
 @node Real music example
 @subsection Real music example
 
-UNTRANSLATED NODE: IGNORE ME
-
-@node Common tweaks
-@section Common tweaks
+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.\)
+}
 
-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.
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
 
-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.
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-@itemize @bullet
+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:
 
-@cindex relleno
+@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.
+}
 
-@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}.
+lhMusic = \relative c' {
+  r2 <c g ees>2 |
+  <d g, d>1 |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@lilypond[quote,fragment,relative=1,verbatim]
-c2\fermata
-\override Script #'padding = #3
-b2\fermata
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
 @end lilypond
 
-@lilypond[quote,fragment,relative=1,verbatim]
-% This will not work, see below:
-\override MetronomeMark #'padding = #3
-\tempo 4=120
-c1
-% This works:
-\override Score.MetronomeMark #'padding = #3
-\tempo 4=80
-d1
-@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:
 
-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}.
+@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.\)
+}
 
-@cindex extra-offset (desplazamiento adicional)
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1) |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@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.
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-En el ejemplo siguiente, la segunda digitación se desplaza un poco hacia
-la izquierda y 1.8 espacios de pentagrama hacia abajo:
+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:
 
-@lilypond[quote,fragment,relative=1,verbatim]
-\stemUp
-f-5
-\once \override Fingering
-    #'extra-offset = #'(-0.3 . -1.8)
-f-5
+@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
 
-@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.
+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
 
-@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,
+@example
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
+@end example
 
-@lilypond[quote,fragment,relative=2]
-<< {
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
-@end lilypond
+@noindent
+al principio de la sección, y
+
+@example
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
+@end example
 
 @noindent
-y suprimiendo la primera plica hacia arriba en dicha voz, la ligadura parece cruzarse de una
-voz a otra:
+al final, dando como resultado:
 
+@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[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+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
 
-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},
+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:
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  \once \override Stem #'length = #8
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+@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
+}
+
+\score {
+  \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:
 
-@cindex Trucos, distancias
-@cindex Distancias
+@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.\)
+}
 
-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.
+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
 
 
-@node Default files
-@section Default files
+@node Further tweaking
+@section Further tweaking
 
-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.
+@menu
+* Other uses for tweaks::
+* Using variables for tweaks::
+* Other sources of information::
+* Avoiding tweaks with slower processing::
+* Advanced tweaks with Scheme::
+@end menu
 
-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.
+@node Other uses for tweaks
+@subsection Other uses for tweaks
 
-@itemize @bullet
+@cindex transparent, uso de la propiedad
+@cindex objetos, hace invisibles
+@cindex eliminar objetos
+@cindex objetos, eliminar
+@cindex ocultar objetos
+@cindex invisibles, objetos
+@cindex ligar notas entre voces distintas
 
-@item Linux: @file{@var{directorio_de_instalación}/lilypond/usr/share/lilypond/current/}
+@subheading Tying notes across voices
 
-@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}.
+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:
 
-@item Windows: @file{@var{carpeta_de_instalación}/LilyPond/usr/share/lilypond/current/}
+@lilypond[quote,fragment,relative=2]
+<< { b8~ b8\noBeam }
+\\ { b[ g8] }
+>>
+@end lilypond
 
-@end itemize
+@noindent
+y borrando la primera plica hacia arriba en esa voz, da la impresión
+de que la ligadura se cruza entre las voces:
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+  {
+    \once \override Stem #'transparent = ##t
+    b8~ b8\noBeam
+  }
+\\
+  { b[ g8] }
+>>
+@end lilypond
 
-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.
+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
 
-@node Fitting music onto fewer pages
-@section Fitting music onto fewer pages
+@subheading Simulating a fermata in MIDI
 
-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.
+@cindex sello, uso de la propiedad
+@cindex fermata, realización en MIDI
 
-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.
+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.
 
-Aparte de los márgenes, existen otras opciones para ahorrar espacio:
+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:
 
-@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]
+\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
 
-@example
-\paper @{
-  between-system-padding = #0.1
-  between-system-space = #0.1
-  ragged-last-bottom = ##f
-  ragged-bottom = ##f
-@}
-@end example
+@lilypond[quote,verbatim,ragged-right]
+\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
 
-@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
+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
+
+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}?
 
 @example
-\paper @{
-  system-count = #10
-@}
-@end example
+@code{\override Lyrics . LyricText #'font-shape = #'italic}
+@code{\override Lyrics . LyricText #'font-series = #'bold}
 
-@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.
+@code{\revert Lyrics . LyricText #'font-shape}
+@code{\revert Lyrics . LyricText #'font-series}
+@end example
 
-Otro ejemplo es desplazar las expresiones dinámicas que se
-@q{asoman por encima} de un sistema.
+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:
 
-@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
+@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
 }
-@end lilypond
 
-@item
-Altere el espaciado horizontal por medio de @code{SpacingSpanner}.  Consulte
-@ruser{Changing horizontal spacing} para ver más detalles.
+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 }
 
-@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 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
 
-@node Avoiding tweaks with slower processing
-@section Avoiding tweaks with slower processing
+@strong{Instalado mediante un gestor de paquetes o compilado a partir de la fuente}
 
-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.
+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
+incorporadas como estándar dentro 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
-%%  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
+tieDotted = @{
+  \override Tie #'dash-period = #0.75
+  \override Tie #'dash-fraction = #0.1
+@}
 @end example
 
-@node Advanced tweaks with Scheme
-@section Advanced tweaks with Scheme
-
-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}.
+Si no le gustan los valores predeterminados, estas instrucciones
+incorporadas 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.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 incorporadas que son comunes
+@end multitable
 
-Podemos usar Scheme simplemente para sobreponer (@code{\override}) comandos,
+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
 
-@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
-}
-@end lilypond
 
-Podemos usarlo para crear comandos nuevos,
 
-@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 }
-#})
+@node Avoiding tweaks with slower processing
+@subsection Avoiding tweaks with slower processing
 
-\relative c'' {
-  c2 e
-  \tempoMark #3.0 #"Allegro"
-  g c
-}
-@end lilypond
+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.
 
-E incluso se le pueden pasar expresiones musicales.
+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:
 
-@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 }
-}
-@end lilypond
 
+@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.
 
+@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}.