]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/notation/changing-defaults.itely
Doc-es: update Notation/Changing defaults.
[lilypond.git] / Documentation / es / notation / changing-defaults.itely
index 8035f2fdc4d3cbeaa534ce70805604b7285791b2..3bd0e6c93977adf48a4acaffebb8baf216964835 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: bcd9d85bfc1dd6cc2dd3e98901b4df33fd6d0989
+Translation of GIT committish: d409c67cbbdebe840220c17f796544a8a9dd193e
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.15.39"
+@c \version "2.17.6"
 
 @node Cambiar los valores por omisión
 @chapter Cambiar los valores por omisión
@@ -64,7 +64,7 @@ Esta sección explica qué son los contextos y cómo modificarlos.
 
 @menu
 * Explicación de los contextos::
-* Crear contextos::
+* Crear y referenciar contextos::
 * Mantener vivos los contextos::
 * Modificar los complementos (plug-ins) de contexto::
 * Cambiar los valores por omisión de los contextos::
@@ -239,150 +239,223 @@ Normalmente se deja que se cree implícitamente.
 Tipografía nombres de acordes.
 
 
-@node Crear contextos
-@subsection Crear contextos
-@translationof Creating contexts
-
-@c TODO more complete descriptions rather than learning style
-
-Para partituras que sólo tienen una voz y un pentagrama, los contextos
-se crean automáticamente.  Para partituras más complejas, es necesario
-crearlos a mano.  Existen tres instrucciones que hacen esto.
-
-@itemize
-
-@item
-La instrucción más fácil es @code{\new}, y es también la más rápida de
-escribir.  Se antepone a una expresión musical, por ejemplo
+@node Crear y referenciar contextos
+@subsection Crear y referenciar contextos
+@translationof Creating and referencing contexts
 
 @funindex \new
-@cindex nuevos, contextos
-@cindex Contexto, creación de
+@funindex \context
+@cindex nuevos contextos
+@cindex contextos, creación y referenciación de
+@cindex referenciar contextos
+
+LilyPond crea automáticamente contextos de nifel inferior si se
+encuentra una expresión musical antes de que exista un contexto
+adecuado, pero normalmente esto sólo funciona bien para partituras
+sencillas o fragmentos musicales como los que aparecen en la
+documentación.  Para partituras más complejas, se recomienda
+especificar explícitamente todos los contextos con las
+instrucciones @code{\new} o @code{\context}.  La sintaxis de estas
+dos instrucciones es muy similar:
 
 @example
-\new @var{tipo} @var{expresión_musical}
+[\new | \context] @var{Contexto} [ = @var{nombre}] [@var{expresión_musical}]
 @end example
 
 @noindent
-donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
-@code{Voice}).  Esta instrucción crea un contexto nuevo, y empieza a
-interpretar la @var{expresión_musical} con él.
+donde se puede especificar @code{\new} o @code{\context}.
+@var{Contexto} es el tipo de contexto que se desea crear,
+@var{nombre} es un nombre opcional que se da al contexto concreto
+que se está creando, y @var{expresión_musical} es una sola
+expresión musical que será interpretada por los complementos
+grabadores y reproductores dentro de este contexto.
 
-Una aplicación práctica de @code{\new} es una partitura con muchos
-pentagramas.  Cada parte que debe ir en su propio pentagrama, va
-precedida de @code{\new Staff}.
+El prefijo @code{\new} sin ningún nombre se usa con frecuencia
+para crear partituras con muchos pentagramas:
 
-@lilypond[quote,verbatim,relative=2,ragged-right]
+@lilypond[quote,verbatim,relative=2]
 <<
-  \new Staff { c4 c }
-  \new Staff { d4 d }
+  \new Staff {
+    % leave the Voice context to be created implicitly
+    c4 c
+  }
+  \new Staff {
+    d4 d
+  }
 >>
 @end lilypond
 
-La instrucción @code{\new} puede también dar nombre al contexto,
+@noindent
+y para introducir varias voces dentro de un solo pentagrama:
 
-@example
-\new @var{tipo} = @var{identificador} @var{música}
-@end example
-Sin embargo, este nombre especificado por el usuario sólo se utiliza
-si no hay ya otro contexto anterior con el mismo nombre.
+@lilypond[quote,verbatim,relative=2]
+<<
+  \new Staff <<
+    \new Voice {
+      \voiceOne
+      c8 c c4 c c
+    }
+    \new Voice {
+      \voiceTwo
+      g4 g g g
+    }
+  >>
+>>
+@end lilypond
 
+@noindent
+@code{\new} debería usarse siempre para especificar contextos sin
+nombre.
 
-@funindex \context
+La diferencia entre @code{\new} y @code{\context} se encuentra en
+la acción que se realiza:
 
+@itemize
 @item
-Como @code{\new}, la instrucción @code{\context} también dirige una
-expresión musical a un objeto de contexto, pero da al contexto un
-nombre explícito.  La sintaxis es
+@code{\new} con un nombre o sin él, siempre crea un contexto nuevo
+y distinto, incluso si ya existe un contexto con el mismo nombre:
 
-@example
-\context @var{tipo} = @var{identificador} @var{música}
-@end example
+@lilypond[quote,verbatim,relative=2]
+<<
+  \new Staff <<
+    \new Voice = "A" {
+      \voiceOne
+      c8 c c4 c c
+    }
+    \new Voice = "A" {
+      \voiceTwo
+      g4 g g g
+    }
+  >>
+>>
+@end lilypond
 
-En esta forma, la instrucción buscará un contexto existente del
-@var{tipo} especificado que tenga el nombre @var{identificador}.  Si
-ese contexto aún no existe, se crea un contexto nuevo con el nombre
-especificado.  Esto es útil si nos vamos a referir más tarde al
-contexto.  Por ejemplo, cuando se escribe la letra, la melodía está
-dentro de un contexto con nombre
+@item
+@code{\context} con un nombre especificado, crea un contexto nuevo
+solamente si no existe ya un contexto del mismo tipo y con el
+mismo nombre, dentro de la misma jerarquía de contextos.  En caso
+contrario, se toma como referencia a dicho contexto creado
+previamente, y su expresión musical se pasa a este contexto para
+su interpretación.
 
-@example
-\context Voice = "@b{tenor}" @var{música}
-@end example
+Una aplicación de los contextos con nombre es la separación entre
+la disposición de la partitura y el contenido musical.  Son
+válidas culaquiera de las dos formas siguientes:
 
-@noindent
-de forma que los textos se puedan alinear correctamente con sus notas,
+@lilypond[quote,verbatim]
+\score {
+  <<
+    % score layout
+    \new Staff <<
+      \new Voice = "one" {
+        \voiceOne
+      }
+      \new Voice = "two" {
+        \voiceTwo
+      }
+    >>
 
-@example
-\new Lyrics \lyricsto "@b{tenor}" @var{letra}
-@end example
+    % musical content
+    \context Voice = "one" {
+      \relative c'' {
+        c4 c c c
+      }
+    }
+    \context Voice = "two" {
+      \relative c'' {
+        g8 g g4 g g
+      }
+    }
+  >>
+}
+@end lilypond
 
-@noindent
+@lilypond[quote,verbatim]
+\score {
+  <<
+    % score layout
+    \new Staff <<
+      \context Voice = "one" {
+        \voiceOne
+      }
+      \context Voice = "two" {
+        \voiceTwo
+      }
+    >>
+
+    % musical content
+    \context Voice = "one" {
+      \relative c'' {
+        c4 c c c
+      }
+    }
+    \context Voice = "two" {
+      \relative c'' {
+        g8 g g4 g g
+      }
+    }
+  >>
+}
+@end lilypond
 
-Otro uso posible de los contextos con nombre es la fusión de dos
-expresiones musicales distintas en un solo contexto.  En el siguiente
-ejemplo, se introducen por separado las articulaciones y las notas:
+@noindent
+De manera alternativa, se pueden utilizar variables con un efecto
+similar. Véase @rlearning{Organizar las piezas mediante variables}.
 
-@example
-musica = @{ c4 c4 @}
-decoracion = @{ s4-. s4-> @}
-@end example
+@item
 
-se combinan enviando los dos al mismo contexto @code{Voice},
+@code{\context} sin ningún nombre corresponderá con el primer
+contexto que se encuentre entre los creados previamente que sean
+del mismo tipo dentro de la misma jerarquía de contextos, incluso
+si tiene nombre, y su expresión musical se pasará a dicho contexto
+para su interpretación.  Esta forma rara vez es útil.  Sin
+embargo, @code{\context} sin nombre y sin expresión musical se usa
+para establecer el contexto en que se ejecuta un procedimiento de
+Scheme especificado con @code{\applyContext}:
 
 @example
-<<
-  \new Staff \context Voice = "A" \musica
-  \context Voice = "A" \decoracion
->>
+\new Staff \relative c' @{
+  c1
+  \context Timing
+  \applyContext #(lambda (ctx)
+                   (newline)
+                   (display (ly:context-current-moment ctx)))
+  c1
+@}
 @end example
-@lilypond[quote,ragged-right]
-music = { c4 c4 }
-arts = { s4-. s4-> }
-\relative c'' <<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
-@end lilypond
 
-Con este mecanismo, es posible definir un @qq{urtext} (una edición
-original), con la posibilidad de poner articulaciones distintas sobre
-las mismas notas.
+@end itemize
 
-@cindex crear contextos
+Un contexto debe tener un nombre si se va a hacer referencia a él
+más tarde, por ejemplo cuando se asocia la letra con la música:
 
-@item
-La tercera instrucción para crear contextos es
 @example
-\context @var{tipo} @var{música}
+\new Voice = "tenor" @var{música}
+...
+\new Lyrics \lyricsto "tenor" @var{letra}
 @end example
 
-
 @noindent
-Esto es similar a @code{\context} con @code{= @var{identificador}},
-pero se corresponde con cualquier contexto del tipo @var{tipo}, sin
-importar qué nombre se le ha dado.
+Para ver más detalles sobre la asociación de letra y música,
+consulte @ref{Duración automática de las sílabas}.
 
-Esta variante se usa con expresiones musicales que se pueden
-interpretar en varios niveles.  Por ejemplo, la instrucción
-@code{\applyOutput} (véase
-@rextend{Ejecutar una función sobre todos los objetos de la presentación}).
-Sin una instrucción @code{\context}
-explícita, normalmente se aplicaría a @code{Voice}
+Las propiedades de todos los contextos de un tipo en particular se
+pueden modificar dentro de un bloque @code{\layout} (con una
+sintaxis diferente), véase @ref{Cambiar todos los contextos del mismo tipo}.
 
-@example
-\applyOutput #'@var{contexto} #@var{función}   % aplicar al contexto Voice
-@end example
+Esta construcción también ofrece una forma de mantener las
+instrucciones de disposición separadas del contenido musical.  Si
+se va a modificar un solo contexto, debe usarse un bloque
+@code{\with}, véase @ref{Cambiar solamente un contexto determinado}.
 
-Para que se interprete dentro de los niveles de @code{Score} o
-@code{Staff}, utilice las siguientes formas:
+@seealso
 
-@example
-\applyOutput #'Score #@var{función}
-\applyOutput #'Staff #@var{función}
-@end example
+Manual de aprendizaje:
+@rlearning{Organizar las piezas mediante variables}.
 
-@end itemize
+Referencia de la notación:
+@ref{Cambiar solamente un contexto determinado},
+@ref{Duración automática de las sílabas}.
 
 
 @node Mantener vivos los contextos
@@ -662,102 +735,349 @@ compás independiente.
 @end lilypond
 
 @knownissues
-Normalmente, el orden en que se especifican los grabadores no tiene
-importancia, pero en algunos casos especiales sí la tiene, por ejemplo
-donde un grabador escribe una propiedad y otro la lee, o donde un
-grabador crea un groby otro debe procesarlo.  El orden en que los
-grabadores se especifican es el orden en que se llaman para realizar
-su tarea de procesamiento.
 
-Las siguientes ordenaciones son importantes: el grabador de compases
-@code{Bar_engraver} debe ir normalmente en primer lugar, y el grabador
-de digitaciones @code{New_fingering_engraver} debe ir antes del
-grabador @code{Script_column_engraver} de columnas de inscripciones.
-Podría haber otros que tengan dependencias de ordenación.
+El orden en que los grabadores se especifican es el orden en que se
+llaman para realizar su tarea de procesamiento.  Normalmente, el orden
+en que se especifican los grabadores no tiene importancia, pero en
+algunos casos especiales sí la tiene, por ejemplo donde un grabador
+escribe una propiedad y otro la lee, o donde un grabador crea un groby
+otro debe procesarlo.
+
+Las siguientes ordenaciones son importantes:
+
+@itemize
+@item
+el grabador de compases @code{Bar_engraver} debe ir normalmente en
+primer lugar,
+
+@item
+el grabador de digitaciones @code{New_fingering_engraver} debe ir
+antes del grabador @code{Script_column_engraver} de columnas de
+inscripciones,
+
+@item
+el @code{Timing_translator} debe ir antes del grabador de números de
+compás @code{Bar_number_engraver}.
+
+@end itemize
+
+@seealso
+Archivos instalados:
+@file{ly/engraver-init.ly}.
 
 
 @node Cambiar los valores por omisión de los contextos
 @subsection Cambiar los valores por omisión de los contextos
 @translationof Changing context default settings
 
-Los ajustes de contexto que están preparados para usarse de forma
-predeterminada en los contextos @code{Score}, @code{Staff} y
-@code{Voice}, se pueden especificar dentro de un bloque
-@code{\layout}, como se ilustra en el ejemplo siguiente.  El bloque
-@code{\layout} se debe colocar dentro del bloque @code{\score} en que
-se quiere que haga efecto, pero fuera de la música.
+@cindex predeterminadas, cambio de propiedades de contexto
+@cindex contexto, cambiar propiedades predeterminadas de
+
+Se pueden cambiar las propiedades de contexto y de grob con las
+instrucciones @code{\set} y @code{\override}, tal y como se describe
+en @ref{Modificar las propiedades}.  Estas instrucciones crean eventos
+musicales, haciendo que los cambios tengan efecto en el punto temporal
+en que la música se está procesando.
+
+Por contra, esta sección explica la forma de cambiarlos valores
+@emph{predeterminados} de las propiedades de contexto y de grob en el
+momento en que se crea el contexto.  Existen dos formas de hacerlo.
+Una modifica los valores predeterminados en todos los contextos de un
+tipo dado, y el otro modifica los valores predeterminados solamente en
+una instancia concreta de un contexto.
+
+@menu
+* Cambiar todos los contextos del mismo tipo::
+* Cambiar solamente un contexto determinado::
+* Orden de precedencia::
+@end menu
+
+@node Cambiar todos los contextos del mismo tipo
+@unnumberedsubsubsec Cambiar todos los contextos del mismo tipo
+@translationof Changing all contexts of the same type
+
+@cindex \context dentro de un bloque \layout
+@funindex \context
+@funindex \layout
+
+Los ajustes de contexto que se han de usar de forma predeterminada
+dentro de @code{Score}, @code{Staff}, @code{Voice} y otros contextos
+se pueden especificar en un bloque @code{\context} dentro de cualquier
+bloque @code{\layout}.  El bloque @code{\layout} se debe colocar
+dentro del bloque @code{\score} al que se aplica, después de la
+música.
+
+@example
+\layout @{
+  \context @{
+    \Voice
+    [ajustes de contexto para todos los contextos Voice]
+  @}
+  \context @{
+    \Staff
+    [ajustes de contexto para todos los contextos Staff]
+  @}
+@}
+@end example
+
+Se pueden especificar los siguientes tipos de ajustes:
+
+@itemize
+@item
+Una instrucción @code{\override}, pero omitiendo el nombre del contexto
+
+@lilypond[quote,verbatim]
+\score {
+  \relative c'' {
+    a4^"Thicker stems" a a a
+    a4 a a\ff a
+  }
+  \layout {
+    \context {
+      \Staff
+      \override Stem.thickness = #4.0
+    }
+  }
+}
+@end lilypond
 
-Observe que la propia instrucción @code{\set} y el contexto se deben
-omitir cuando se especifican de esta manera los valores de contexto
-predeterminados:
+@item
+Estableciendo una propiedad de contexto directamente
 
 @lilypond[quote,verbatim]
 \score {
   \relative c'' {
-    a4^"Really small, thicker stems, no time signature" a a a
-    a a a a
+    a4^"Smaller font" a a a
+    a4 a a\ff a
   }
   \layout {
     \context {
       \Staff
       fontSize = #-4
-      \override Stem #'thickness = #4.0
-      \remove "Time_signature_engraver"
     }
   }
 }
 @end lilypond
 
-En este ejemplo, la instrucción @code{\Staff} especifica que los
-ajustes siguientes se apliquen a todos los pentagramas dentro del
-bloque de partitura.
+@item
+Una instrucción predefinida tal como @code{\dynamicUp} o una expresión
+musical como @code{\accidentalStyle dodecaphonic}
 
-Se pueden realizar de forma similar modificaciones al contexto
-@code{Score} o a todos los contextos @code{Voice}.
+@lilypond[quote,verbatim]
+\score {
+  \relative c'' {
+    a4^"Dynamics above" a a a
+    a4 a a\ff a
+  }
+  \layout {
+    \context {
+      \Voice
+      \dynamicUp
+    }
+    \context {
+      \Staff
+      \accidentalStyle dodecaphonic
+    }
+  }
+}
+@end lilypond
 
-Los cambios de contexto se pueden poner dentro de una variable y
-aplicarse a una definición de contexto @code{\context} anteponiendo la
-modificación mediante @code{\with}:
+@item
+Una variable definida por el usuario que contenga un bloque
+@code{\with}; para ver detalles acerca del bloque @code{\with},
+consulte @ref{Cambiar solamente un contexto determinado}.
 
 @lilypond[quote,verbatim]
-blubb = \with {
+StaffDefaults = \with {
   fontSize = #-4
-  \override Stem #'thickness = #4.0
-  \remove "Time_signature_engraver"
 }
 
-bla = \with {
-  fontSize = #3
-  \override Stem #'thickness = #-2.0
+\score {
+  \new Staff {
+    \relative c'' {
+      a4^"Smaller font" a a a
+      a4 a a a
+    }
+  }
+  \layout {
+    \context {
+      \Staff
+      \StaffDefaults
+    }
+  }
 }
+@end lilypond
 
-melody = \relative c'' {
-  a4 a a a |
-  a4 a a a |
+@end itemize
+
+Las instrucciones de ajuste de propiedades se pueden disponer dentro
+de un bloque @code{\layout} sin que estén encerradas en un bloque
+@code{\context}.  Tales ajustes son equivalentes a incluir las mismas
+instrucciones de ajuste de propiedades al comienzo de cada uno de los
+contextos del tipo especificado.  Si no se especifica ningún contexto,
+@emph{todos y cada uno} de los contextos del nivel inferior quedan
+afectados, véase @ref{Contextos del nivel más bajo. Voces}.  La
+sintaxis de una instrucción de ajuste de propiedades dentro de un
+bloque @code{\layout} es la misma que si la misma instrucción
+estuviera escrita en el propio flujo musical.
+
+@lilypond[quote,verbatim]
+\score {
+  \new Staff {
+    \relative c'' {
+      a4^"Smaller font" a a a
+      a4 a a a
+    }
+  }
+  \layout {
+    \accidentalStyle dodecaphonic
+    \set fontSize = #-4
+    \override Voice.Stem.thickness = #4.0
+  }
+}
+@end lilypond
+
+
+@node Cambiar solamente un contexto determinado
+@unnumberedsubsubsec Cambiar solamente un contexto determinado
+@translationof Changing just one specific context
+
+@cindex \with
+@funindex \with
+
+Las propiedades de contexto de una única instancia de contexto pueden
+cambiarse dentro de un bloque @code{\with}.  Todas las demás
+instancias de contexto del mismo tipo retienen los ajustes
+predeterminados que LilyPond tiene programados y que se modifican por
+parte de cualquier bloque @code{\layout} que se encuentre dentro del
+ámbito.  El bloque @code{\with} se debe situar inmediatamente después
+de las instrucciones @code{\new} @var{context-type}:
+
+@example
+\new Staff
+\with @{
+  [ajustes de contexto para esta única instancia de contexto]
+@} @{
+...
+@}
+@end example
+
+Se pueden especificar los siguientes tipos de ajustes:
+
+@itemize
+@item
+Una instrucción @code{\override}, pero omitiendo el nombre del
+contexto
+
+@lilypond[quote,verbatim]
+\score {
+  \new Staff {
+    \new Voice
+    \with {
+      \override Stem.thickness = #4.0
+    }
+    {
+      \relative c'' {
+        a4^"Thick stems" a a a
+        a4 a a a
+      }
+    }
+  }
 }
+@end lilypond
 
+@item
+Estableciendo una propiedad de contexto directamente
+
+@lilypond[quote,verbatim]
 \score {
   <<
-    \new Staff <<
-      \melody
-      s4^"Small, thicker stems, no time signature"
-    >>
-    \new Staff \bla <<
-      \melody
-      s4^"Different"
-    >>
+    \new Staff {
+      \relative c'' {
+        a4^"Default font" a a a
+        a4 a a a
+      }
+    }
+    \new Staff
+    \with {
+      fontSize = #-4
+    } {
+      \relative c'' {
+        a4^"Smaller font" a a a
+        a4 a a a
+      }
+    }
   >>
-  \layout {
-    \context {
-      \Staff
-      \blubb
+}
+@end lilypond
+
+@item
+Una instrucción predefinida tal como @code{\dynamicUp}
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff {
+      \new Voice {
+        \relative c'' {
+          a4^"Dynamics below" a a a
+          a4 a a\ff a
+        }
+      }
     }
-  }
+    \new Staff
+    \with { \accidentalStyle dodecaphonic }
+    {
+      \new Voice
+      \with { \dynamicUp }
+      {
+        \relative c'' {
+          a4^"Dynamics above" a a a
+          a4 a a\ff a
+        }
+      }
+    }
+  >>
 }
 @end lilypond
 
-@c TODO: add \with in here.
+@end itemize
+
+@node Orden de precedencia
+@unnumberedsubsubsec Orden de precedencia
+@translationof Order of precedence
+
+El valor de una propiedad que se aplica en un momento determinado se
+determina de la siguiente forma:
+
+@itemize
+@item
+si está en efecto una instrucción @code{\override} o @code{\set}
+dentro del flujo musical, se usa dicho valor,
+
+@item
+de lo contrario, se usa el valor predeterminado tomado de un enunciado
+@code{\with} en las instrucciones de inicio del contexto,
+
+@item
+de lo contrario, se usa el valor tomado del bloque @code{\context} más
+reciente que corresponda dentro de los bloques @code{\layout},
 
+@item
+de lo contrario se usa el valor predeterminado que LilyPond lleva
+preprogramado.
+@end itemize
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Modificar las propiedades de los contextos}.
+
+Referencia de la notación:
+@ref{Explicación de los contextos},
+@ref{Contextos del nivel más bajo. Voces},
+@ref{La instrucción set},
+@ref{La instrucción override},
+@ref{El bloque \layout}.
 
 
 @node Definir contextos nuevos
@@ -790,7 +1110,6 @@ contexto de @code{Voice} partiendo de cero.  Será parecido a
 barra inclinada.  Se puede usar para indicar improvisación en piezas
 de jazz,
 
-@c KEEP LY
 @lilypond[quote,ragged-right]
 \layout { \context {
   \name ImproVoice
@@ -798,11 +1117,11 @@ de jazz,
   \consists "Note_heads_engraver"
   \consists "Rhythmic_column_engraver"
   \consists "Text_engraver"
-  \consists Pitch_squash_engraver
+  \consists "Pitch_squash_engraver"
   squashedPosition = #0
-  \override NoteHead #'style = #'slash
-  \override Stem #'transparent = ##t
-  \override Flag #'transparent = ##t
+  \override NoteHead.style = #'slash
+  \override Stem.transparent = ##t
+  \override Flag.transparent = ##t
   \alias Voice
 }
 \context { \Staff
@@ -811,7 +1130,7 @@ de jazz,
 
 \relative c'' {
   a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
-   c4 c^"desvístete" c_"mientras tocas :)" c }
+   c4 c^"undress" c_"while playing :)" c }
   a1
 }
 @end lilypond
@@ -850,14 +1169,14 @@ El contexto imprimirá notas y textos explicativos, por ello tenemos
 que añadir los grabadores que aportan esta funcionalidad:
 
 @example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
 @end example
 
 pero sólo necesitamos esto en la línea central:
 
 @example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
 squashedPosition = #0
 @end example
 
@@ -869,9 +1188,9 @@ establece sus posiciones verticales al valor de
 Las notas parecen barras inclinadas y no tienen plica:
 
 @example
-\override NoteHead #'style = #'slash
-\override Stem #'transparent = ##t
-\override Flag #'transparent = ##t
+\override NoteHead.style = #'slash
+\override Stem.transparent = ##t
+\override Flag.transparent = ##t
 @end example
 
 Todos estos añadidos tienen que cooperar, y esto se consigue con un
@@ -890,11 +1209,11 @@ Al juntarlo todo, obtenemos
   \type "Engraver_group"
   \consists "Note_heads_engraver"
   \consists "Text_engraver"
-  \consists Pitch_squash_engraver
+  \consists "Pitch_squash_engraver"
   squashedPosition = #0
-  \override NoteHead #'style = #'slash
-  \override Stem #'transparent = ##t
-  \override Flag #'transparent = ##t
+  \override NoteHead.style = #'slash
+  \override Stem.transparent = ##t
+  \override Flag.transparent = ##t
   \alias Voice
 @}
 @end example
@@ -1308,7 +1627,7 @@ digitación de la cabeza de la nota.  La siguiente orden inserta un
 espacio en blanco de 3 espacios de pentagrama entre la nota y la
 digitación:
 @example
-\once \override Voice.Fingering #'padding = #3
+\once \override Voice.Fingering.padding = #3
 @end example
 
 Al insertar esta instrucción antes de que se haya creado el objeto
@@ -1316,7 +1635,7 @@ Fingering, es decir, antes del @code{c2}, llegamos al siguiente
 resultado:
 
 @lilypond[quote,relative=2,verbatim]
-\once \override Voice.Fingering #'padding = #3
+\once \override Voice.Fingering.padding = #3
 c-2
 \stemUp
 f
@@ -1413,7 +1732,7 @@ funcionalidad des esta instrucción.
 La instrucción
 
 @verbatim
-\override Staff.Stem #'thickness = #4.0
+\override Staff.Stem.thickness = #4.0
 @end verbatim
 
 @noindent
@@ -1425,7 +1744,7 @@ Aquí vemos la instrucción en pleno funcionamiento:
 
 @lilypond[quote,verbatim,relative=2]
 c4
-\override Staff.Stem #'thickness = #4.0
+\override Staff.Stem.thickness = #4.0
 c4
 c4
 c4
@@ -1442,7 +1761,7 @@ solo paso de tiempo.
 
 @lilypond[quote,verbatim,relative=2]
 c4
-\once \override Stem #'thickness = #4.0
+\once \override Stem.thickness = #4.0
 c4
 c4
 @end lilypond
@@ -1453,9 +1772,9 @@ ligaduras o barras, la instrucción @code{\override} se debe ejecutar
 en el momento en que se crea el objeto.  En este ejemplo:
 
 @lilypond[quote,verbatim,relative=2]
-\override Slur #'thickness = #3.0
+\override Slur.thickness = #3.0
 c8[( c
-\override Beam #'beam-thickness = #0.6
+\override Beam.beam-thickness = #0.6
 c8 c])
 @end lilypond
 
@@ -1471,8 +1790,8 @@ del mismo contexto.  En otras palabras, el @code{\revert} del
 siguiente ejemplo no hace nada.
 
 @example
-\override Voice.Stem #'thickness = #4.0
-\revert Staff.Stem #'thickness
+\override Voice.Stem.thickness = #4.0
+\revert Staff.Stem.thickness
 @end example
 
 Algunas opciones «trucables» se llaman @q{subpropiedades} y residen
@@ -1488,7 +1807,7 @@ instrucciones de la forma
 tales como
 
 @example
-\override Stem #'(details beamed-lengths) = #'(4 4 3)
+\override Stem.details.beamed-lengths = #'(4 4 3)
 @end example
 
 @end ignore
@@ -1668,37 +1987,19 @@ de lista asociativa.  Consulte @file{scm/define-grobs.scm} para
 ver los ajustes de cada descripción de grob.  Las descripciones de
 grob se modifican con @code{\override}.
 
-@code{\override} es en realidad una forma abreviada;
+La sintaxis de la instrucción @code{\override} es
 
 @example
-\override @var{contexto}.@var{NombreDelGrob} #'@var{propiedad} = #@var{valor}
+\override [@var{contexto}.]@var{NombreDelGrob}.@var{propiedad} = #@var{valor}
 @end example
 
-@noindent
-equivale más o menos a
-
-@c  leave this long line -gp
-@example
-\set @var{contexto}.@var{NombreDelGrob}  =
-  #(cons (cons '@var{propiedad} @var{valor})
-         <valor anterior de @var{contexto}.@var{NombreDelGrob}>)
-@end example
-
-El valor de @code{contexto}.@code{NombreDelGrob} (la lista-A) se
-utiliza para inicializar las propiedades de los grobs individuales.
-Los grobs tienen propiedades, denominadas en el estilo de Scheme, con
-@code{palabras-con-guiones}.  Los valores de las propiedades de grob
-cambian durante el proceso de formateo: éste se realiza básicamente
-calculando las propiedades utilizando funciones de @q{callback}
-(pasadas como parámetro).
-
 Por ejemplo, podemos aumentar el grosor de la plica de una figura
 sobreescribiendo la propiedad @code{thickness} (grosor) del objeto
 @code{Stem} (plica):
 
 @lilypond[quote,verbatim,relative=2]
 c4 c
-\override Voice.Stem #'thickness = #3.0
+\override Voice.Stem.thickness = #3.0
 c4 c
 @end lilypond
 
@@ -1706,11 +2007,11 @@ Si no se ha especificado ningún contexto en la instrucción
 @code{\override}, se utiliza el contexto del nivel inferior:
 
 @lilypond[quote,verbatim,relative=2]
-{ \override Staff.Stem #'thickness = #3.0
+{ \override Staff.Stem.thickness = #3.0
   <<
     {
       e4 e
-      \override Stem #'thickness = #0.5
+      \override Stem.thickness = #0.5
       e4 e
     } \\ {
       c4 c c c
@@ -1719,18 +2020,42 @@ Si no se ha especificado ningún contexto en la instrucción
 }
 @end lilypond
 
+Algunas opciones susceptibles de trucaje, se llaman
+@q{subpropiedades} y residen dentro de las propiedades.  Para
+efectura trujajes sobre ellas, utilice instrucciones de la forma
+
+@example
+\override Stem.details.beamed-lengths = #'(4 4 3)
+@end example
+
+o para modificar los extremos de los objetos extensos, utilice una
+forma como las siguientes:
+
+@example
+\override TextSpanner.bound-details.left.text = #"left text"
+\override TextSpanner.bound-details.right.text = #"right text"
+@end example
+
 @funindex \revert
 @cindex reversión de sobreescrituras
 @cindex sobreescrituras, reversión de
 
 El efecto de una instrucción de sobreescritura @code{\override} se
-puede deshacer con @code{\revert}:
+puede deshacer con @code{\revert}.
+
+La sintaxis de la instrucción @code{\revert} es
+
+@example
+\revert [@var{Contexto}.]@var{NombreDelGrob}.@var{propiedad}
+@end example
+
+Por ejemplo,
 
 @lilypond[quote,verbatim,relative=2]
 c4
-\override Voice.Stem #'thickness = #3.0
+\override Voice.Stem.thickness = #3.0
 c4 c
-\revert Voice.Stem #'thickness
+\revert Voice.Stem.thickness
 c4
 @end lilypond
 
@@ -1743,11 +2068,11 @@ adelante:
   <<
     {
       e4
-      \override Staff.Stem #'thickness = #3.0
+      \override Staff.Stem.thickness = #3.0
       e4 e e
     } \\ {
       c4 c c
-      \revert Staff.Stem #'thickness
+      \revert Staff.Stem.thickness
       c4
     }
   >>
@@ -1764,11 +2089,11 @@ al instante de tiempo actual:
 {
   <<
     {
-      \override Stem #'thickness = #3.0
+      \override Stem.thickness = #3.0
       e4 e e e
     } \\ {
       c4
-      \once \override Stem #'thickness = #3.0
+      \once \override Stem.thickness = #3.0
       c4 c c
     }
   >>
@@ -1781,7 +2106,7 @@ Las instrucciones que modifican la salida tienen por lo general un
 aspecto como
 
 @example
-\override Voice.Stem #'thickness = #3.0
+\override Voice.Stem.thickness = #3.0
 @end example
 
 @noindent
@@ -1794,14 +2119,6 @@ Para construir este truco debemos determinar los siguientes datos:
 @item un valor adecuado: aquí @code{3.0}.
 @end itemize
 
-Ciertas opciones ajustables se denominan @q{subpropiedades} y residen
-en el interior de las propiedades normales.  Para modificarlas utilice
-instrucciones de la forma
-
-@example
-\override Stem #'(details beamed-lengths) = #'(4 4 3)
-@end example
-
 @cindex documentación interna
 @cindex buscar objetos gráficos
 @cindex gráficos, descripción de los objetos
@@ -1840,7 +2157,7 @@ a todos los grobs del contexto afectado.  Esto se consigue con la
 instrucción @code{\tweak}, que tiene la sintaxis siguiente:
 
 @example
-\tweak @var{objeto-de-presentación} #'@var{propiedad-del-grob} @var{valor}
+\tweak [@var{objeto-de-presentación}.]@var{propiedad-del-grob} @var{valor}
 @end example
 
 Es opcional especificar el @var{objeto-de-presentación}.  La
@@ -1855,19 +2172,19 @@ por ejemplo
 
 @lilypond[relative=2,verbatim,quote]
 < c
-  \tweak #'color #red
+  \tweak color #red
   d
   g
-  \tweak #'duration-log #1
+  \tweak duration-log #1
   a
 > 4
--\tweak #'padding #8
+-\tweak padding #8
 -^
 @end lilypond
 
 
 
-Pero el uso principal de la instrucción @code{\tweak} es modificar
+El uso principal de la instrucción @code{\tweak} es modificar
 solamente uno de varios elementos de notación que dan comienzo en el
 mismo momento musical, como las notas de un acorde, o corchetes de
 tresillo que empiezan al mismo tiempo.
@@ -1890,14 +2207,14 @@ posibilidad de modificarla.
 Así, esto funciona:
 
 @lilypond[relative=2,verbatim,quote]
-<\tweak #'color #red c>4
+<\tweak color #red c>4
 @end lilypond
 
 @noindent
 pero esto no funciona:
 
 @lilypond[relative=2,verbatim,quote]
-\tweak #'color #red c4
+\tweak color #red c4
 @end lilypond
 
 @end ignore
@@ -1928,10 +2245,10 @@ dentro del mismo acorde:
 
 @lilypond[relative=2,verbatim,quote]
 < c
-  \tweak #'color #red
+  \tweak color #red
   d
   g
-  \tweak #'duration-log #1
+  \tweak duration-log #1
   a
 > 4
 @end lilypond
@@ -1939,7 +2256,7 @@ dentro del mismo acorde:
 @code{\tweak} se puede usar para modificar ligaduras de expresión:
 
 @lilypond[verbatim,quote,relative=1]
-c-\tweak #'thickness #5 ( d e f)
+c-\tweak thickness #5 ( d e f)
 @end lilypond
 
 
@@ -1951,9 +2268,9 @@ como un contenedor, y todos los objetos de presentación se crean a
 partir de eventos dentro del @code{EventChord}:
 
 @lilypond[relative=2,verbatim,quote]
-\tweak #'color #red c4
-\tweak #'color #red <c e>4
-<\tweak #'color #red c e>4
+\tweak color #red c4
+\tweak color #red <c e>4
+<\tweak color #red c e>4
 @end lilypond
 
 La instrucción @code{\tweak} sencilla no se puede usar para modificar
@@ -1964,13 +2281,14 @@ parte de objetos de presentación @code{NoteHead}
 más que por elementos musicales del
 flujo de entrada.
 
-Tales objetos de presencaión creados indirectamente se pueden trucar
-usando la forma explícita de la instrucción @code{\tweak}:
+Tales objetos de presentación creados indirectamente se pueden trucar
+usando la forma de la instrucción @code{\tweak} en que el nombre
+del grob se especifica de forma explícita:
 
 @lilypond[relative=2,verbatim,quote]
-\tweak Stem #'color #red
-\tweak Beam #'color #green c8 e
-<c e \tweak Accidental #'font-size #-3 ges>4
+\tweak Stem.color #red
+\tweak Beam.color #green c8 e
+<c e \tweak Accidental.font-size #-3 ges>4
 @end lilypond
 
 No se puede usar @code{\tweak} para modificar las claves o las
@@ -1984,10 +2302,10 @@ elemento de notación; todos le afectan:
 
 @lilypond[verbatim,quote,relative=1]
 c
--\tweak #'style #'dashed-line
--\tweak #'dash-fraction #0.2
--\tweak #'thickness #3
--\tweak #'color #red
+-\tweak style #'dashed-line
+-\tweak dash-fraction #0.2
+-\tweak thickness #3
+-\tweak color #red
  \glissando
 f'
 @end lilypond
@@ -2010,8 +2328,10 @@ Manual de extensión:
 @cindex trucar puntos de control
 @cindex control, trucar puntos de
 
-La instrucción @code{\tweak} solamente se aplica a la primera de
-varias ligaduras generadas dentro de un acorde.
+No se puede usar la instrucción @code{\tweak} para modificar los
+puntos de control de una sola de varias ligaduras de unión dentro de
+un acorde, aparte de la primera que se encuentre en el código de
+entrada.
 
 
 @node set frente a override
@@ -2087,7 +2407,7 @@ anidada}:
 % reduced space between staves
 \new PianoStaff \with {
   % this is the nested declaration
-  \override StaffGrouper #'staff-staff-spacing #'basic-distance = #7
+  \override StaffGrouper.staff-staff-spacing.basic-distance = #7
 } <<
   \new Staff { \clef treble c''1 }
   \new Staff { \clef bass   c1   }
@@ -2109,7 +2429,7 @@ propiedad con una sola declaración, como una lista-A:
 
 @lilypond[quote,verbatim]
 \new PianoStaff \with {
-  \override StaffGrouper #'staff-staff-spacing =
+  \override StaffGrouper.staff-staff-spacing =
     #'((basic-distance . 0)
        (minimum-distance . 0)
        (padding . 0)
@@ -2129,10 +2449,10 @@ de @code{basic-distance} si no se fija).  Así, las dos declaraciones
 siguientes son equivalentes:
 
 @example
-\override StaffGrouper #'staff-staff-spacing =
+\override StaffGrouper.staff-staff-spacing =
   #'((basic-distance . 7))
 
-\override StaffGrouper #'staff-staff-spacing =
+\override StaffGrouper.staff-staff-spacing =
   #'((basic-distance . 7)
      (minimum-distance . 0)
      (padding . 0)
@@ -2214,11 +2534,12 @@ Se activa con la instrucción @code{\figuremode} y hace que el código
 de entrada se interprete con la sintaxis del bajo cifrado, véase
 @ref{Introducir el bajo cifrado}.
 
-El modo de cifrase también se activa con la instrucción
-@code{\figures}.  También crea un contexto de @code{FiguredBass} nuevo
-y hace que el código que viene a continuación se interprete con la
-sintaxis del bajo cifrado y se imprima como símbolos de bajo cifrado
-dentro del contexto @code{FiguredBass}, véase @ref{Introducción al bajo cifrado}.
+El modo de cifras también se activa con la instrucción
+@code{\figures}.  También crea un contexto de @code{FiguredBass}
+nuevo y hace que el código que viene a continuación se interprete
+con la sintaxis del bajo cifrado y se imprima como símbolos de
+bajo cifrado dentro del contexto @code{FiguredBass}, véase
+@ref{Introducción al bajo cifrado}.
 
 @strong{Modos de traste y tablatura}
 
@@ -2293,7 +2614,14 @@ o centrado; etc.  La mayoría de estas elecciones pueden dejarse que
 LilyPond las determine automáticamente, pero en ciertos casos puede
 ser deseable forzar una dirección o colocación concreta.
 
-@strong{Acciones predeterminadas}
+@menu
+* Indicadores de dirección de las articulaciones::
+* La propiedad de dirección::
+@end menu
+
+@node Indicadores de dirección de las articulaciones
+@unnumberedsubsubsec Indicadores de dirección de las articulaciones
+@translationof Articulation direction indicators
 
 De forma predeterminada algunas direcciones siempre son hacia arriba o
 siempre hacia abajo (p. ej. los matices o el calderón), mientras que
@@ -2329,7 +2657,9 @@ c2( c)
 c2^( c)
 @end lilypond
 
-@strong{La propiedad de dirección}
+@node La propiedad de dirección
+@unnumberedsubsubsec La propiedad de dirección
+@translationof The direction property
 
 La posición o dirección de muchos objetos de presentación está
 controlada por la propiedad @code{direction}.
@@ -2469,7 +2799,7 @@ valores de @code{'line-positions}.}
 
 @lilypond[verbatim,quote,relative=1]
 \new Staff \with {
-  \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7)
+  \override StaffSymbol.line-positions = #'(7 3 0 -4 -6 -7)
 }
 { a4 e' f b | d1 }
 @end lilypond
@@ -2480,7 +2810,7 @@ resulta afectado por este ajuste.
 
 @lilypond[verbatim,quote,relative=1]
 \new Staff \with {
-  \override StaffSymbol #'width = #23
+  \override StaffSymbol.width = #23
 }
 { a4 e' f b | d1 }
 @end lilypond
@@ -2503,20 +2833,27 @@ Todos los objetos de extensión contemplan el interface
 una línea recta entre los dos objetos, contemplan también el interface
 @code{line-spanner-interface}.
 
+@menu
+* Uso del spanner-interface::
+* Uso del line-spanner-interface::
+@end menu
+
+@node Uso del spanner-interface
 @unnumberedsubsubsec Uso del @code{spanner-interface}
+@translationof Using the spanner-interface
 
 Este interface proporciona dos propiedades que se aplican a varios
 extensores.
 
-@strong{@i{La propiedad @code{minimum-length}}}
+@subsubsubheading La propiedad @code{minimum-length} (longitud mínima)
 
-La longitud mínima del objeto de extensión se especifica a través de
-la propiedad @code{minimum-length}.  Su aumento suele producir el
-efecto necesario de aumentar el espaciado de las notas entre los dos
-puntos extremos.  Sin embargo, esta sobreescritura no tiene ningún
-efecto sobre muchos extensores, pues su longitud está determinada por
-otras consideraciones.  Más abajo se muestran algunos ejemplos de
-dónde es efectiva.
+La longitud mínima del objeto de extensión se especifica a través
+de la propiedad @code{minimum-length}.  Su aumento suele producir
+el efecto necesario de aumentar el espaciado de las notas entre
+los dos puntos extremos.  Sin embargo, esta sobreescritura no
+tiene ningún efecto sobre muchos extensores, pues su longitud está
+determinada por otras consideraciones.  Más abajo se muestran
+algunos ejemplos de dónde es efectiva.
 
 @ignore
 Works for:
@@ -2543,7 +2880,7 @@ Works not at all for:
 a~a
 a
 % increase the length of the tie
--\tweak #'minimum-length #5
+-\tweak minimum-length #5
 ~a
 @end lilypond
 
@@ -2552,7 +2889,7 @@ a1
 \compressFullBarRests
 R1*23
 % increase the length of the rest bar
-\once \override MultiMeasureRest #'minimum-length = #20
+\once \override MultiMeasureRest.minimum-length = #20
 R1*23
 a1
 @end lilypond
@@ -2560,7 +2897,7 @@ a1
 @lilypond[verbatim,quote,relative=2]
 a \< a a a \!
 % increase the length of the hairpin
-\override Hairpin #'minimum-length = #20
+\override Hairpin.minimum-length = #20
 a \< a a a \!
 @end lilypond
 
@@ -2570,12 +2907,12 @@ las ligaduras de expresión y de fraseo:
 @lilypond[verbatim,quote,relative=2]
 a( a)
 a
--\tweak #'minimum-length #5
+-\tweak minimum-length #5
 ( a)
 
 a\( a\)
 a
--\tweak #'minimum-length #5
+-\tweak minimum-length #5
 \( a\)
 @end lilypond
 
@@ -2592,12 +2929,12 @@ propiedad @code{springs-and-rods}:
 e \glissando c'
 
 % not effective alone
-\once \override Glissando #'minimum-length = #20
+\once \override Glissando.minimum-length = #20
 e, \glissando c'
 
 % effective only when both overrides are present
-\once \override Glissando #'minimum-length = #20
-\once \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
+\once \override Glissando.minimum-length = #20
+\once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
 e, \glissando c'
 @end lilypond
 
@@ -2605,16 +2942,16 @@ Lo mismo se puede decir del objeto @code{Beam}:
 
 @lilypond[verbatim,quote,relative=1]
 % not effective alone
-\once \override Beam #'minimum-length = #20
+\once \override Beam.minimum-length = #20
 e8 e e e
 
 % effective only when both overrides are present
-\once \override Beam #'minimum-length = #20
-\once \override Beam #'springs-and-rods = #ly:spanner::set-spacing-rods
+\once \override Beam.minimum-length = #20
+\once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
 e8 e e e
 @end lilypond
 
-@strong{@i{The @code{to-barline} property}}
+@subsubsubheading La propiedad @code{to-barline}
 
 La segunda propiedad útil del @code{spanner-interface} es
 @code{to-barline}.  De forma predeterminada tiene el valor cierto,
@@ -2626,7 +2963,7 @@ exactamente sobre la nota:
 
 @lilypond[verbatim,quote,relative=2]
 a \< a a a a \! a a a \break
-\override Hairpin #'to-barline = ##f
+\override Hairpin.to-barline = ##f
 a \< a a a a \! a a a
 @end lilypond
 
@@ -2635,7 +2972,9 @@ su establecimiento a @code{#t} no tienen ningún efecto sobre las
 ligaduras de expresión o de fraseo, o sobre otros extensores para los
 que terminar en la barra de compás no tendría ningún significado.
 
+@node Uso del line-spanner-interface
 @unnumberedsubsubsec Uso del @code{line-spanner-interface}
+@translationof Using the line-spanner-interface
 
 Entre los objetos que contemplan el interface
 @code{line-spanner-interface} se encuentran
@@ -2660,8 +2999,8 @@ jerarquía de propiedades, pero la sintaxis de la instrucción
 
 @lilypond[relative=2,quote,verbatim]
 e2 \glissando b
-\once \override Glissando #'(bound-details left Y) = #3
-\once \override Glissando #'(bound-details right Y) = #-2
+\once \override Glissando.bound-details.left.Y = #3
+\once \override Glissando.bound-details.right.Y = #-2
 e2 \glissando b
 @end lilypond
 
@@ -2679,8 +3018,8 @@ especifican por las sub-listas @code{left-broken} y
 @code{right-broken} de @code{bound-details}.  Por ejemplo:
 
 @lilypond[relative=2,ragged-right,verbatim,quote]
-\override Glissando #'breakable = ##t
-\override Glissando #'(bound-details right-broken Y) = #-3
+\override Glissando.breakable = ##t
+\override Glissando.bound-details.right-broken.Y = #-3
 c1 \glissando \break
 f1
 @end lilypond
@@ -2720,7 +3059,7 @@ usa para escribir @i{cresc.}, @i{tr} y otros textos sobre los objetos
 de extensión horizontales.
 
 @lilypond[quote,ragged-right,relative=2,verbatim]
-\override TextSpanner #'(bound-details left text)
+\override TextSpanner.bound-details.left.text
    = \markup { \small \bold Slower }
 c2\startTextSpan b c a\stopTextSpan
 @end lilypond
@@ -2734,15 +3073,11 @@ subpropiedades @code{X} e @code{Y}.  Si se fijan
 símbolo del borde verticalmente con relación al extremo de la línea:
 
 @lilypond[relative=1,quote,verbatim]
-\override TextSpanner
-  #'(bound-details left stencil-align-dir-y) = #-2
-\override TextSpanner
-  #'(bound-details right stencil-align-dir-y) = #UP
-
-\override TextSpanner
-  #'(bound-details left text) = #"ggg"
-\override TextSpanner
-  #'(bound-details right text) = #"hhh"
+\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2
+\override TextSpanner.bound-details.right.stencil-align-dir-y = #UP
+
+\override TextSpanner.bound-details.left.text = #"ggg"
+\override TextSpanner.bound-details.right.text = #"hhh"
 c4^\startTextSpan c c c \stopTextSpan
 @end lilypond
 
@@ -2831,9 +3166,9 @@ predeterminada se puede recuperar con @code{\revert}.
 
 @lilypond[quote,verbatim,relative=1]
 a1 a
-\override Score.BarLine #'stencil = ##f
+\override Score.BarLine.stencil = ##f
 a a
-\revert Score.BarLine #'stencil
+\revert Score.BarLine.stencil
 a a a
 @end lilypond
 
@@ -2851,7 +3186,7 @@ invisible.
 
 @lilypond[quote,verbatim,relative=2]
 a4 a
-\once \override NoteHead #'transparent = ##t
+\once \override NoteHead.transparent = ##t
 a a
 @end lilypond
 
@@ -2877,7 +3212,7 @@ dibujan estos objetos, lo que puede dejar una imagen fantasma del
 objeto blanco, como puede verse aquí:
 
 @lilypond[quote,verbatim,relative=2]
-\override Staff.Clef #'color = #white
+\override Staff.Clef.color = #white
 a1
 @end lilypond
 
@@ -2902,8 +3237,8 @@ sobreimpresionándolas.  Para cambiarlo, se debe dar al objeto
 para que se dibuje antes:
 
 @lilypond[quote,verbatim,relative=2]
-\override Staff.Clef #'color = #white
-\override Staff.Clef #'layer = #-1
+\override Staff.Clef.color = #white
+\override Staff.Clef.layer = #-1
 a1
 @end lilypond
 
@@ -2950,7 +3285,7 @@ combinaciones mediante funciones predefinidas cuya definición está en
 los objetos de presentación serán visibles en las posiciones que se
 muestran en el encabezamiento de cada columna:
 
-@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {yes} {yes} {yes}
+@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {Antes del} {Si no hay} {Después del}
 @headitem Forma                   @tab Forma                  @tab Antes del @tab Si no hay    @tab Después del
 @headitem de función              @tab de vector              @tab salto     @tab salto        @tab salto
 
@@ -2983,8 +3318,7 @@ de presentación de interés que resultan afectados por
 @item @code{Clef}                @tab @code{Staff}          @tab @code{begin-of-line-visible}
 @item @code{Custos}              @tab @code{Staff}          @tab @code{end-of-line-visible}
 @item @code{DoublePercentRepeat} @tab @code{Voice}          @tab @code{begin-of-line-invisible}
-@c omit KeyCancellation until it can be explained -td
-@c @item @code{KeyCancellation}  @tab ??             @tab @code{begin-of-line-invisible}
+@item @code{KeyCancellation}     @tab @code{Staff}          @tab @code{begin-of-line-invisible}
 @item @code{KeySignature}        @tab @code{Staff}          @tab @code{begin-of-line-visible}
 @c omit LeftEdge until it can be explained -td
 @c @item @code{LeftEdge}         @tab @code{Score}          @tab @code{center-invisible}
@@ -3001,7 +3335,7 @@ controlar la visibilidad de las líneas divisorias:
 f4 g a b
 f4 g a b
 % Remove bar line at the end of the current line
-\once \override Score.BarLine #'break-visibility = #'#(#f #t #t)
+\once \override Score.BarLine.break-visibility = ##(#f #t #t)
 \break
 f4 g a b
 f4 g a b
@@ -3029,7 +3363,7 @@ imprimirlas y all-invisible para suprimirlas.
 @unnumberedsubsubsec Consideraciones especiales
 @translationof Special considerations
 
-@strong{@emph{Visibilidad después de un cambio explícito}}
+@subsubsubheading Visibilidad después de un cambio explícito
 
 @cindex armadura, visibilidad después de un cambio explícito
 @cindex explicitKeySignatureVisibility
@@ -3048,7 +3382,7 @@ bemol mayor es visible incluso con @code{all-invisible} establecido.
 \key g \major
 f4 g a b
 % Try to remove all key signatures
-\override Staff.KeySignature #'break-visibility = #all-invisible
+\override Staff.KeySignature.break-visibility = #all-invisible
 \key bes \major
 f4 g a b
 \break
@@ -3076,16 +3410,16 @@ objeto correspondiente.
 \key g \major
 f4 g a b
 \set Staff.explicitKeySignatureVisibility = #all-invisible
-\override Staff.KeySignature #'break-visibility = #all-invisible
+\override Staff.KeySignature.break-visibility = #all-invisible
 \key bes \major
 f4 g a b \break
 f4 g a b
 f4 g a b
 @end lilypond
 
-@strong{@emph{Visibilidad de las alteraciones de precaución}}
+@subsubsubheading Visibilidad de las alteraciones de precaución
 
-Para eliminar las alteraciones de precaución que se imprimen en un
+Para eliminar las alteraciones de cancelación que se imprimen en un
 cambio de tonalidad explícito, establezca la propiedad
 @code{printKeyCancellation} del contexto Staff a @code{#f}:
 
@@ -3094,7 +3428,7 @@ cambio de tonalidad explícito, establezca la propiedad
 f4 g a b
 \set Staff.explicitKeySignatureVisibility = #all-invisible
 \set Staff.printKeyCancellation = ##f
-\override Staff.KeySignature #'break-visibility = #all-invisible
+\override Staff.KeySignature.break-visibility = #all-invisible
 \key bes \major
 f4 g a b \break
 f4 g a b
@@ -3104,9 +3438,41 @@ f4 g a b
 Con estas sobreescrituras solamente permanecen las alteraciones
 accidentales delante de las notas para indicar el cambio de tonalidad.
 
+Observe que al modificar la tonalidad a Do@tie{}mayor o
+La@tie{}menor, las alteraciones de cancelación serían @emph{la
+única} indicación del cambio de armadura.  En este caso, el
+establecimiento de @code{printKeyCancellation} al valor @code{#f}
+no tiene ningún efecto:
+
+@lilypond[quote,verbatim,relative=1,ragged-right]
+\key g \major
+f4 g a b
+\set Staff.explicitKeySignatureVisibility = #all-invisible
+\set Staff.printKeyCancellation = ##f
+\key c \major
+f4 g a b \break
+f4 g a b
+f4 g a b
+@end lilypond
+
+En lugar de ello, para suprimir las alteraciones de cancelación
+aún cuando la armadura cambia a Do@tie{}mayor o a La@tie{}menor,
+sobreescriba la visibilidad del grob @code{KeyCancellation}:
+
+@lilypond[quote,verbatim,relative=1,ragged-right]
+\key g \major
+f4 g a b
+\set Staff.explicitKeySignatureVisibility = #all-invisible
+\override Staff.KeyCancellation.break-visibility = #all-invisible
+\key c \major
+f4 g a b \break
+f4 g a b
+f4 g a b
+@end lilypond
+
 @c TODO Add visibility of cautionary accidentals before notes
 
-@strong{@emph{Automatic bars}}
+@subsubsubheading Líneas divisorias automáticas
 
 @cindex automaticBars
 @cindex líneas divisorias, eliminación
@@ -3124,7 +3490,7 @@ explícitas.
 
 @c TODO Add example
 
-@strong{@emph{Octavated clefs}}
+@subsubsubheading Claves octavadas
 
 @cindex octavadas, visibilidad de las claves
 @cindex visibilidad de las claves octavadas
@@ -3168,13 +3534,13 @@ cómo aplicarles ajustes finos.
 
 @lilypond[relative=2,ragged-right,verbatim,quote]
 d2 \glissando d'2
-\once \override Glissando #'style = #'dashed-line
+\once \override Glissando.style = #'dashed-line
 d,2 \glissando d'2
-\override Glissando #'style = #'dotted-line
+\override Glissando.style = #'dotted-line
 d,2 \glissando d'2
-\override Glissando #'style = #'zigzag
+\override Glissando.style = #'zigzag
 d,2 \glissando d'2
-\override Glissando #'style = #'trill
+\override Glissando.style = #'trill
 d,2 \glissando d'2
 @end lilypond
 
@@ -3185,7 +3551,7 @@ posible sobreescribirlos:
 @c TODO Complete
 @lilypond[relative=2,ragged-right,verbatim,quote]
 e2 \glissando f
-\once \override Glissando #'(bound-details right Y) = #-2
+\once \override Glissando.bound-details.right.Y = #-2
 e2 \glissando f
 @end lilypond
 
@@ -3241,7 +3607,7 @@ serlo:
 
 @lilypond[quote,verbatim,relative=1]
 g4\< e' d' f\!
-\override Hairpin #'rotation = #'(20 -1 0)
+\override Hairpin.rotation = #'(20 -1 0)
 g,,4\< e' d' f\!
 @end lilypond
 
@@ -3261,7 +3627,7 @@ propiedad @code{outside-staff-priority} del texto se establece a
 que empuja al texto a una posición muy alta.
 
 @lilypond[quote,verbatim,relative=1]
-\override TextScript #'outside-staff-priority = ##f
+\override TextScript.outside-staff-priority = ##f
 g4^\markup { \rotate #30 "a G" }
 b^\markup { \rotate #30 "a B" }
 des^\markup { \rotate #30 "a D-Flat" }
@@ -3381,12 +3747,12 @@ valores @code{X-offset} y @code{Y-offset} modificados.
 @lilypond[verbatim,quote,relative=2]
 a-3
 a
--\tweak #'X-offset #0
--\tweak #'Y-offset #0
+-\tweak X-offset #0
+-\tweak Y-offset #0
 -3
 a
--\tweak #'X-offset #-1
--\tweak #'Y-offset #1
+-\tweak X-offset #-1
+-\tweak Y-offset #1
 -3
 @end lilypond
 
@@ -3440,7 +3806,7 @@ situar el objeto encima o debajo del padre de acuerdo con el valor de
 @unnumberedsubsubsec Uso del @code{self-alignment-interface}
 @translationof Using the self-alignment-interface
 
-@emph{Auto-alineación horizontal de los objetos}
+@subsubsubheading Auto-alineación horizontal de los objetos
 
 La alineación horizontal de un objeto que contempla el interface
 @code{self-alignment-interface} está controlada por el valor de la
@@ -3465,17 +3831,17 @@ sola nota:
 
 @lilypond[quote,verbatim,relative=1]
 a'
--\tweak #'self-alignment-X #-1
+-\tweak self-alignment-X #-1
 ^"left-aligned"
--\tweak #'self-alignment-X #0
+-\tweak self-alignment-X #0
 ^"center-aligned"
--\tweak #'self-alignment-X #RIGHT
+-\tweak self-alignment-X #RIGHT
 ^"right-aligned"
--\tweak #'self-alignment-X #-2.5
+-\tweak self-alignment-X #-2.5
 ^"aligned further to the right"
 @end lilypond
 
-@emph{Auto-alineación vertical de los objetos}
+@subsubsubheading Auto-alineación vertical de los objetos
 
 Los objetos se pueden alinear verticalmente en una forma análoga a la
 alineación horizontal si la propiedad @code{Y-offset} está establecida
@@ -3504,9 +3870,9 @@ se acerque a la cabeza de la nota.
 
 @lilypond[quote,verbatim,relative=2]
 a
--\tweak #'self-alignment-X #0.5  % move horizontally left
--\tweak #'Y-offset #ly:self-alignment-interface::y-aligned-on-self
--\tweak #'self-alignment-Y #-1  % move vertically up
+-\tweak self-alignment-X #0.5  % move horizontally left
+-\tweak Y-offset #ly:self-alignment-interface::y-aligned-on-self
+-\tweak self-alignment-Y #-1  % move vertically up
 -3  % third finger
 @end lilypond
 
@@ -3558,20 +3924,20 @@ se centran horizontalmente sobre el objeto:
 
 @lilypond[verbatim,quote,relative=1]
 % The rehearsal mark will be centered above the Clef
-\override Score.RehearsalMark #'break-align-symbols = #'(clef)
+\override Score.RehearsalMark.break-align-symbols = #'(clef)
 \key a \major
 \clef treble
 \mark "↓"
 e1
 % The rehearsal mark will be centered above the Time Signature
-\override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
+\override Score.RehearsalMark.break-align-symbols = #'(time-signature)
 \key a \major
 \clef treble
 \time 3/4
 \mark "↓"
 e2.
 % The rehearsal mark will be centered above the Breath Mark
-\override Score.RehearsalMark #'break-align-symbols = #'(breathing-sign)
+\override Score.RehearsalMark.break-align-symbols = #'(breathing-sign)
 \key a \major
 \clef treble
 \time 4/4
@@ -3591,14 +3957,14 @@ con el punto en el que se encontraría la línea divisoria.
 
 @lilypond[verbatim,quote,relative=1]
 % The rehearsal mark will be centered above the Key Signature
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef treble
 \mark "↓"
 e1
 % The rehearsal mark will be centered above the Clef
 \set Staff.explicitKeySignatureVisibility = #all-invisible
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef bass
 \mark "↓"
@@ -3606,7 +3972,7 @@ gis,,1
 % The rehearsal mark will be centered above the Bar Line
 \set Staff.explicitKeySignatureVisibility = #all-invisible
 \set Staff.explicitClefVisibility = #all-invisible
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef treble
 \mark "↓"
@@ -3620,19 +3986,19 @@ los pentagramas.
 
 @lilypond[verbatim,quote,relative=1]
 % The RehearsalMark will be centered above the Key Signature
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
 \key a \major
 \clef treble
 \time 4/4
 \mark "↓"
 e1
 % The RehearsalMark will be aligned with the left edge of the Key Signature
-\once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
+\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
 \mark "↓"
 \key a \major
 e1
 % The RehearsalMark will be aligned with the right edge of the Key Signature
-\once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
+\once \override Score.KeySignature.break-align-anchor-alignment = #RIGHT
 \key a \major
 \mark "↓"
 e1
@@ -3645,14 +4011,14 @@ pentagrama:
 @lilypond[verbatim,quote,relative=1]
 % The RehearsalMark will be aligned with the left edge of the Key Signature
 % and then shifted right by 3.5 staff-spaces
-\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
-\once \override Score.KeySignature #'break-align-anchor = #3.5
+\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
+\once \override Score.KeySignature.break-align-anchor = #3.5
 \key a \major
 \mark "↓"
 e1
 % The RehearsalMark will be aligned with the left edge of the Key Signature
 % and then shifted left by 2 staff-spaces
-\once \override Score.KeySignature #'break-align-anchor = #-2
+\once \override Score.KeySignature.break-align-anchor = #-2
 \key a \major
 \mark "↓"
 e1
@@ -3705,8 +4071,8 @@ la nota a unas aspas dentro de una circunferencia.
 
 @lilypond[verbatim,quote]
 XinO = {
-  \once \override NoteHead  #'stencil = #ly:text-interface::print
-  \once \override NoteHead #'text = \markup {
+  \once \override NoteHead.stencil = #ly:text-interface::print
+  \once \override NoteHead.text = \markup {
     \combine
       \halign #-0.7 \draw-circle #0.85 #0.2 ##f
       \musicglyph #"noteheads.s2cross"
@@ -3750,27 +4116,55 @@ Referencia de la notación:
 @cindex Bézier, curvas de, puntos de control
 @cindex puntos de control en curvas de Bézier
 
-Las ligaduras de unión, de expresión y de fraseo se trazan como curvas
-de Bézier de tercer orden.  Si la forma de la ligadura calculada
-automáticamente no resulta óptima, se puede modificar su forma
-manualmente mediante la especificación explícita de los cuatro puntos
-de control necesarios para definir una curva de Bézier de tercer
-orden.
-
-Las curvas Bézier de tercer orden o cúbicas están definidas por cuatro
-puntos de control.  El primer y cuarto puntos de control son
-exactamente los puntos extremos de comienzo y de final de la curva.
-Los dos puntos de control intermedios definen la forma.  Se pueden
-encontrar en la web animaciones que muestran cómo se traza la curva,
-pero la descripción siguiente puede ser de ayuda.  La curva comienza a
-partir del primer punto de control dirigiéndose directamente hacia el
-segundo, curvándose progresivamente para dirigirse hacia el tercero y
-continuando la curva hacia el cuarto, llegando a éste en viaje directo
-desde el tercer punto de control.  La curva está contenida enteramente
+Las ligaduras de unión (@code{Tie}s), de expresión (@code{Slur}s),
+de fraseo (@code{PhrasingSlur}s), de dejar vibrar
+(@code{LaissezVibrerTie}s) y de repetición (@code{RepeatTie}s) se
+trazan como curvas de Bézier de tercer orden.  Si la forma de la
+ligadura calculada automáticamente no resulta óptima, se puede
+modificar su forma manualmente de dos formas:
+
+@enumerate a
+@item
+mediante la especificación de los desplazamientos que se quieren
+realizar sobre los puntos de control de la curva de Bézier
+calculada automáticamente, o bien
+
+@item
+mediante la especificación explícita de las posiciones de los
+cuatro puntos de control que se requieren para definir la curva
+deseada.
+@end enumerate
+
+A continuación se explican ambos métodos.  El primer método es más
+adecuado cuando solo se requieren ligeros ajustes de la curva; el
+segundo puede ser mejor para crear curvas que tienen relación con
+una única nota.
+
+@subsubsubheading Curvas de Bézier cúbicas
+
+Las curvas Bézier de tercer orden o cúbicas están definidas por
+cuatro puntos de control.  El primer y cuarto puntos de control
+son exactamente los puntos extremos de comienzo y de final de la
+curva.  Los dos puntos de control intermedios definen la forma.
+Se pueden encontrar en la web animaciones que muestran cómo se
+traza la curva, pero la descripción siguiente puede ser de ayuda.
+La curva comienza a partir del primer punto de control
+dirigiéndose directamente hacia el segundo, curvándose
+progresivamente para dirigirse hacia el tercero y continuando la
+curva hacia el cuarto, llegando a éste en viaje directo desde el
+tercer punto de control.  La curva está contenida enteramente
 dentro del cuadrilátero definido por los cuatro puntos de control.
+Todas las traslaciones, rotaciones y escalado de los puntos de
+control producen exactamente las mismas operaciones sobre la
+curva.
+
+@subsubsubheading Especificar desplazamientos a partir de los puntos de control actuales
+
+@cindex conformar ligaduras
+@funindex \shape
 
-He aquí un ejemplo de un caso en que la ligadura no es óptima, y donde
-@code{\tieDown} no sirve de ayuda.
+En este ejemplo, la colocación automática de la ligadura no
+resulta óptima, y @code{\tieDown} no es la solución.
 
 @lilypond[verbatim,quote,relative=1]
 <<
@@ -3780,49 +4174,169 @@ He aquí un ejemplo de un caso en que la ligadura no es óptima, y donde
 >>
 @end lilypond
 
-Una forma de mejorar esta ligadura es modificar manualmente sus puntos
-de control como sigue.
-
-Las coordenadas de los puntos de control de Bézier se especifican en
-unidades de espacios de pentagrama.  La coordenada@tie{}X está en
-relación con el punto de referencia de la nota a la que está unida la
-ligadura, y la coordenada@tie{}Y está en relación con la línea central
-del pentagrama.  Las coordenadas se introducen como una lista de
-cuatro parejas de números decimales (reales).  Un enfoque es estimar
-las coordenadas de los dos puntos extremos, y luego tratar de adivinar
-los dos puntos intermedios.  Los valores óptimos se encuentran por
-ensayo y error.
-
-Es útil recordar que una curva simétrica necesita puntos de control
-simétricos, y que las curvas de Bézier tienen la útil propiedad de que
-las transformaciones de la curva tales como la traslación, rotación y
-escalado se pueden obtener aplicando la misma transformación a los
-puntos de control de la curva.
-
-Para el ejemplo anterior, la sobreescritura siguiente da una ligadura
-satisfactoria.  Observe la colocación: debe ir inmediatamente antes de
-la nota a la que se asigna el comienzo de la ligadura de expresión o
-de unión.
+El ajuste de los puntos de control de la ligadura mediante la
+instrucción @code{\shape} permite evitar las colisiones.
+
+La sintaxis de @code{\shape} es:
+
+@example
+[-]@code{\shape} @var{desplazamientos} @var{elemento}
+@end example
+
+Esta instrucción recoloca los puntos de control de @var{elemento}
+en las cantidades dadas por @var{desplazamientos}.  El argumento
+@var{desplazamientos} es una lista de parejas de números o una
+lista de tales listas.  Cada elemento de una pareja representa el
+desplazamiento de una de las coordenadas de un punto de control.
+Si el @var{elemento} es una cadena de caracteres, el resultado es
+@code{\once\override} para el tipo de grob especificado.  Si
+@var{elemento} es una expresión musical, el resultado es la misma
+expresión musical con la consiguiente modificación aplicada.
+
+En otras palabras, la función @code{\shape} puede actuar como una
+instrucción @code{\once\override} o como una instrucción
+@code{\tweak} dependiendo de si el argumento @var{elemento} es el
+nombre de un grob, como @qq{Slur}, o una expresión musical, como
+@qq{(}.  El argumento @var{desplazamientos} especifica los
+desplazamientos de los cuatro puntos de control como una lista de
+cuatro parejas de valores (dx . dy) en unidades de espacios de
+pentagrama (o una lista de tales listas si la curva tiene más de
+un segmento).
+
+El guión precedente se exige si, y sólo si, se usa la forma
+@code{\tweak}.
+
+Así, usando el mismo ejemplo de arriba y la forma
+@code{\once\override} de la instrucción @code{\shape}, lo
+siguiente tiene el efecto de elevar la ligadura de unión en la
+mitad de un espacio de pentagrama:
 
 @lilypond[verbatim,quote,relative=1]
 <<
   {
-    \once \override Tie
-      #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
-     e1 ~ e
+    \shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 0.5)) Tie
+    e1~ e
   }
 \\
   { r4 <g c,> <g c,> <g c,> }
 >>
 @end lilypond
 
+Este posicionamiento de la ligadura de unión es mejor, pero quizá
+debería elevarse más en la parte central.  El ejemplo siguiente
+hace esto, esta vez usando la forma alternativa @code{\tweak}:
+
+@lilypond[verbatim,quote,relative=1]
+<<
+  {
+    e1-\shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) ~ e
+  }
+\\
+  { r4 <g c,> <g c,> <g c,> }
+>>
+@end lilypond
+
+Los cambios en las posiciones horizontales de los puntos de
+control se pueden hacer de la misma forma, y dos curvas distintas
+que dan comienzo en el mismo momento musical se pueden conformar
+también:
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+c8(\( a) a'4 e c\)
+\shape #'((0.7 . -0.4) (0.5 . -0.4) (0.3 . -0.3) (0 . -0.2)) Slur
+\shape #'((0 . 0) (0 . 0.5) (0 . 0.5) (0 . 0)) PhrasingSlur
+c8(\( a) a'4 e c\)
+@end lilypond
+
+La función @code{\shape} también puede desplazar los puntos de
+control de las curvas que se extienden atravesando saltos de
+línea.  Cada pieza de la curva dividida puede recibir su propia
+lista de desplazamientos.  Si no se necesita hacer cambios a uno
+de los segmentos en particular, se puede usar una lista vacía como
+contenedor.  En este ejemplo, el salto de línea hace que la única
+ligadura de expresión aparezca como si fueran dos:
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+c4( f g c
+\break
+d,4 c' f, c)
+@end lilypond
+
+Los cambios en la forma de las dos mitades de la ligadura de
+expresión deja más claro que la ligadura continúa más allá del
+salto de línea:
+
+@lilypond[verbatim,quote,ragged-right,relative=1]
+% () may be used as a shorthand for ((0 . 0) (0 . 0) (0 . 0) (0 . 0))
+% if any of the segments does not need to be changed
+\shape #'(
+           (( 0 . 0) (0 . 0) (0 . 0) (0 . 1))
+           ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5))
+         ) Slur
+c4( f g c
+\break
+d,4 c' f, c)
+@end lilypond
+
+En una curva en forma de «S» siempre es necesario ajustar
+manualmente los puntos de control: LilyPond nunca escoge tales
+formas automáticamente.
+
+@lilypond[verbatim,quote,relative=2]
+c8( e b-> f d' a e-> g)
+\shape #'((0 . -1) (5.5 . -0.5) (-5.5 . -10.5) (0 . -5.5)) PhrasingSlur
+c8\( e b-> f d' a e-> g\)
+@end lilypond
+
+@subsubsubheading Especificar los puntos de control explícitamente
+
+Las coordenadas de los puntos de contro de Bézier se especifican
+en unidades de espacios de pentagrama.  La coordenada@tie{}X es
+relativa al punto de referencia al que se adjunta la ligadura, y
+la coordenada@tie{}Y es relativa a la línea central del
+pentagrama.  Las coordenadas se especifican como una lista de
+cuatro parejas de números decimales (reales).  Un enfoque consiste
+en estimar las coordenadas de los dos extremos, y después adivinar
+los dos puntos intermedios.  Los valores óptimos se encuentran
+después por ensayo y error.  Tenga en cuenta que estos valores
+podrían requerir un ajuste manual si se hace posteriormente
+cualquier cambio manual a la música o a la disposición.
+
+Una situación en la que es preferible especificar los puntos de
+control explícitamente a especificar los desplazamientos es cuando
+se necesita especificarlos de forma relativa a una nota única.  A
+continuación presentamos un ejemplo de esto.  Muestra una forma de
+indicar una ligadura que se extiende hacia el interior de las
+casillas de primera y segunda vez de una repetición.
+
+@lilypond[verbatim,quote,relative=2]
+c1
+\repeat volta 3 { c4 d( e f }
+\alternative {
+  { g2) d }
+  {
+    g2
+    % create a slur and move it to a new position
+    % the <> is just an empty chord to carry the slur termination
+    -\tweak control-points #'((-2 . 3.8) (-1 . 3.9) (0 . 4) (1 . 3.4)) ( <> )
+    f,
+  }
+  {
+    e'2
+    % create a slur and move it to a new position
+    -\tweak control-points #'((-2 . 3) (-1 . 3.1) (0 . 3.2) (1 . 2.4)) ( <> )
+    f,
+  }
+}
+@end lilypond
+
 @knownissues
 No es posible modificar la forma de las ligaduras de unión o de
-expresión cambiando la propiedad @code{control-points} si hay más de
-una en el mismo momento musical, ni siquiera usando la instrucción
-@code{\tweak}.  Sin embargo, se puede sobreescribir la propiedad
-@code{tie-configuration} de @code{TieColumn} para fijar la línea de
-inicio y la dirección según se requiera.
+expresión cambiando la propiedad @code{control-points} si hay más
+de una en el mismo momento musical, ni siquiera usando la
+instrucción @code{\tweak}.  Sin embargo, se puede sobreescribir la
+propiedad @code{tie-configuration} de @code{TieColumn} para fijar
+la línea de inicio y la dirección según se requiera.
 
 @seealso
 Referencia de funcionamiento interno:
@@ -3904,12 +4418,12 @@ precisión mucho más tardío durante el proceso de espaciado.
                               '(-0.5 . 0.5)))))
 
 squareLineCircleSpace = {
-  \override NoteHead #'stencil = #square-line-circle-space
+  \override NoteHead.stencil = #square-line-circle-space
 }
 
 smartSquareLineCircleSpace = {
   \squareLineCircleSpace
-  \override NoteHead #'Y-extent =
+  \override NoteHead.Y-extent =
    #(ly:make-unpure-pure-container
       ly:grob::stencil-height
       (lambda (grob start end) (ly:grob::stencil-height grob)))
@@ -3918,9 +4432,9 @@ smartSquareLineCircleSpace = {
 \new Voice \with { \remove "Stem_engraver" }
 \relative c'' {
   \squareLineCircleSpace
-  cis4 ces cisis c
+  cis4 ces disis d
   \smartSquareLineCircleSpace
-  cis4 ces cisis c
+  cis4 ces disis d
 }
 @end lilypond
 
@@ -3991,8 +4505,9 @@ debe devolver @code{#t}.
 @item @code{@var{@dots{}música@dots{}}}
 @tab código de entrada normal de LilyPond, que utiliza @code{$} (en los
 lugares en que sólo se permiten construcciones de Lilypond) o @code{#}
-(para usarlo como un valor de Scheme o un argumento de función
-musical) para referenciar argumentos (p.ej. @samp{#arg1}).
+(para usarlo como un valor de Scheme o un argumento de función musical
+o música dentro de listas de música) para referenciar argumentos
+(p.ej. @samp{#arg1}).
 @end multitable
 
 Los argumentos @code{parser} y @code{location} son necesarios, y se
@@ -4052,7 +4567,7 @@ padText =
      (parser location padding)
      (number?)
    #{
-     \once \override TextScript #'padding = #padding
+     \once \override TextScript.padding = #padding
    #})
 
 \relative c''' {
@@ -4073,11 +4588,11 @@ custosNote =
      (parser location note)
      (ly:music?)
    #{
-     \tweak NoteHead #'stencil #ly:text-interface::print
-     \tweak NoteHead #'text
+     \tweak NoteHead.stencil #ly:text-interface::print
+     \tweak NoteHead.text
         \markup \musicglyph #"custodes.mensural.u0"
-     \tweak Stem #'stencil ##f
-     $note
+     \tweak Stem.stencil ##f
+     #note
    #})
 
 \relative c' { c4 d e f \custosNote g }
@@ -4091,7 +4606,7 @@ tempoPadded =
      (parser location padding tempotext)
      (number? markup?)
    #{
-     \once \override Score.MetronomeMark #'padding = #padding
+     \once \override Score.MetronomeMark.padding = #padding
      \tempo \markup { \bold #tempotext }
    #})