]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/notation/changing-defaults.itely
Merge branch 'master' of git://git.savannah.gnu.org/lilypond.git
[lilypond.git] / Documentation / es / notation / changing-defaults.itely
index 1858692de6399b37d43294ac56ade9aa3e553aee..67a33d6518b677e89523e6959e2390bd0ce0bc9f 100644 (file)
@@ -1,16 +1,18 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
+Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
 
     When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.14.0"
 
-@node Changing defaults
-@chapter Changing defaults
+@node Cambiar los valores por omisión
+@chapter Cambiar los valores por omisión
+@translationof Changing defaults
 
 El objetivo del diseño de LilyPond es proporcionar la más alta calidad
 de los resultados, de forma predeterminada.  A pesar de ello, podría
@@ -19,63 +21,65 @@ el papel se controla a través de un amplio número de @q{botones e
 interruptores} llamados en su conjunto @q{propiedades}.  En el Manual
 de aprendizaje podemos encontrar una introducción en forma de tutorial
 al acceso y modificación de estas propiedades, véase
-@rlearning{Tweaking output}.  Éste debería leerse en primer lugar.
+@rlearning{Trucar la salida}.  Éste debería leerse en primer lugar.
 Este capítulo cubre un terreno similar, pero con un estilo más
 adecuado para un manual de referencia.
 
 @cindex Referencia de funcionamiento interno
 
 La descripción definitiva de los controles que están disponibles para
-su ajuste fino están en un documento aparte: @rinternalsnamed{Top,la
-Referencia de funcionamiento interno}.  Dicho manual relaciona todas
+su ajuste fino están en un documento aparte: la
+@rinternalsnamed{Top,Referencia de funcionamiento interno}.
+Dicho manual relaciona todas
 las variables, funciones y opciones que se encuentran disponibles en
 LilyPond.  Está escrito como un documento HTML, que se puede encontrar
-en
 @c leave the @uref as one long line.
-@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,on@/-line},
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,en línea},
 pero que también va incluido en el paquete de la documentación de LilyPond.
 
 Internamente, LilyPond utiliza el lenguaje Scheme (un dialecto de
 LISP) para aportar la infraestructura.  La sobreescritura de las
 decisiones de disposición da acceso efectivo a las interioridades del
 programa, lo que requiere código de Scheme como entrada.  Los
-elementos de Scheme se inauguran dentro de un archivo @code{.ly} con
-el símbolo de cuadradillo @code{#}.@footnote{@rlearning{Scheme
-tutorial} contiene un breve tutorial sobre la introducción de números,
+elementos de Scheme se inauguran dentro de un archivo @file{.ly} con
+el símbolo de cuadradillo @code{#}.@footnote{@rextend{Tutorial de Scheme}
+contiene un breve tutorial sobre la introducción de números,
 listas, cadenas y símbolos en Scheme.}
 
 @menu
-* Interpretation contexts::
-* Explaining the Internals Reference::
-* Modifying properties::
-* Useful concepts and properties::
-* Advanced tweaks::
+* Contextos de interpretación::
+* Explicación del Manual de referencia de funcionamiento interno::
+* Modificar las propiedades::
+* Conceptos y propiedades útiles::
+* Trucos avanzados::
+* Uso de las funciones musicales::
 @end menu
 
 
-@node Interpretation contexts
-@section Interpretation contexts
+@node Contextos de interpretación
+@section Contextos de interpretación
+@translationof Interpretation contexts
 
 Esta sección explica qué son los contextos y cómo modificarlos.
 
 @menu
-* Contexts explained::
-* Creating contexts::
-* Keeping contexts alive::
-* Modifying context plug-ins::
-* Changing context default settings::
-* Defining new contexts::
-* Aligning contexts::
+* Explicación de los contextos::
+* Crear contextos::
+* Mantener vivos los contextos::
+* Modificar los complementos (plug-ins) de contexto::
+* Cambiar los valores por omisión de los contextos::
+* Definir contextos nuevos::
+* Alinear los contextos::
 @end menu
 
 
 @seealso
 Manual de aprendizaje:
-@rlearning{Contexts and engravers}.
+@rlearning{Contextos y grabadores}.
 
 Archivos de inicio:
-@file{ly/@/engraver@/-init@/.ly},
-@file{ly/@/performer@/-init@/.ly}.
+@file{ly/engraver-init.ly},
+@file{ly/performer-init.ly}.
 
 Fragmentos de código:
 @rlsr{Contexts and engravers}.
@@ -85,20 +89,22 @@ Referencia de funcionamiento interno:
 @rinternals{Engravers and Performers}.
 
 
-@node Contexts explained
-@subsection Contexts explained
+@node Explicación de los contextos
+@subsection Explicación de los contextos
+@translationof Contexts explained
 
 Los contextos se disponen de forma jerárquica:
 
 @menu
-* Score - the master of all contexts::
-* Top-level contexts - staff containers::
-* Intermediate-level contexts - staves::
-* Bottom-level contexts - voices::
+* Score. El contexto maestro::
+* Contextos del nivel superior. Contenedores de pentagramas::
+* Contextos de nivel intermedio. Pentagramas::
+* Contextos del nivel más bajo. Voces::
 @end menu
 
-@node Score - the master of all contexts
-@unnumberedsubsubsec Score - the master of all contexts
+@node Score. El contexto maestro
+@unnumberedsubsubsec Score. El contexto maestro
+@translationof Score - the master of all contexts
 
 Este es el contexto de notación del nivel más alto.  Ningún otro
 contexto puede contener a un contexto Score.  De forma predeterminada,
@@ -108,11 +114,11 @@ armaduras están siempre alineados entre los distintos pentagramas.
 
 Se crea implícitamente una instancia del contexto Score cuando se
 procesa un bloque @code{\score @{@dots{}@}} o @code{\layout
-@{@dots{}@}}, o explícitamente cuando se ejecuta una instrucción
-@code{\new Score}.
+@{@dots{}@}}.
 
-@node Top-level contexts - staff containers
-@unnumberedsubsubsec Top-level contexts - staff containers
+@node Contextos del nivel superior. Contenedores de pentagramas
+@unnumberedsubsubsec Contextos del nivel superior: contenedores de pentagramas
+@translationof Top-level contexts - staff containers
 
 @strong{@emph{StaffGroup}}
 
@@ -138,8 +144,9 @@ se conectan verticalmente.
 Igual que @code{GrandStaff}, pero contempla la posibilidad de poner el
 nombre del instrumento a la izquierda del sistema.
 
-@node Intermediate-level contexts - staves
-@unnumberedsubsubsec Intermediate-level contexts - staves
+@node Contextos de nivel intermedio. Pentagramas
+@unnumberedsubsubsec Contextos de nivel intermedio. Pentagramas
+@translationof Intermediate-level contexts - staves
 
 @strong{@emph{Staff}}
 
@@ -173,8 +180,9 @@ Igual que @code{Staff}, excepto que está diseñado para tipografiar
 piezas en estilo mensural.
 
 
-@node Bottom-level contexts - voices
-@unnumberedsubsubsec Bottom-level contexts - voices
+@node Contextos del nivel más bajo. Voces
+@unnumberedsubsubsec Contextos del nivel más bajo. Voces
+@translationof Bottom-level contexts - voices
 
 Los contextos del mismo nivel que Voice dan un valor inicial a ciertas
 propiedades e inician los grabadores correspondientes.  Siendo
@@ -217,13 +225,23 @@ la entrada escrita en el modo @code{\figuremode}.
 El contexto de voz utilizado dentro de un contexto @code{TabStaff}.
 Se suele dejar que se cree implícitamente.
 
+@strong{@emph{CueVoice}}
+
+El contexto de voz que se utiliza para dibujar notas de tamaño
+reducido, con el principal objetivo de añadir notas guía de un
+pentagrama a otro, véase @ref{Formateo de las notas guía}.
+Normalmente se deja que se cree implícitamente.
+
 @strong{@emph{ChordNames}}
 
 Tipografía nombres de acordes.
 
 
-@node Creating contexts
-@subsection Creating contexts
+@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
@@ -248,11 +266,11 @@ 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.
 
-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}.
+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}.
 
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
+@lilypond[quote,verbatim,relative=2,ragged-right]
 <<
   \new Staff { c4 c }
   \new Staff { d4 d }
@@ -291,7 +309,7 @@ dentro de un contexto con nombre
 @end example
 
 @noindent
-de forma que los textos se puedan alienar correctamente con sus notas,
+de forma que los textos se puedan alinear correctamente con sus notas,
 
 @example
 \new Lyrics \lyricsto "@b{tenor}" @var{letra}
@@ -301,7 +319,7 @@ de forma que los textos se puedan alienar correctamente con sus notas,
 
 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,
+ejemplo, se introducen por separado las articulaciones y las notas:
 
 @example
 musica = @{ c4 c4 @}
@@ -325,7 +343,7 @@ arts = { s4-. s4-> }
 >>
 @end lilypond
 
-Con este mecanismo, es posible definir un Urtext (una edición
+Con este mecanismo, es posible definir un @qq{urtext} (una edición
 original), con la posibilidad de poner articulaciones distintas sobre
 las mismas notas.
 
@@ -345,9 +363,10 @@ importar qué nombre se le ha dado.
 
 Esta variante se usa con expresiones musicales que se pueden
 interpretar en varios niveles.  Por ejemplo, la instrucción
-@code{\applyOutput} (véase @ref{Running a function on all layout
-objects}).  Sin una instrucción @code{\context} explícita, normalmente
-se aplicaría a @code{Voice}
+@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}
 
 @example
 \applyOutput #'@var{contexto} #@var{función}   % aplicar al contexto Voice
@@ -363,8 +382,9 @@ Para que se interprete dentro de los niveles de @code{Score} o
 
 @end itemize
 
-@node Keeping contexts alive
-@subsection Keeping contexts alive
+@node Mantener vivos los contextos
+@subsection Mantener vivos los contextos
+@translationof Keeping contexts alive
 
 @cindex contextos, mantener vivos
 @cindex contextos, tiempo de vida
@@ -519,14 +539,17 @@ words = \lyricmode { These words fol -- low the mel -- o -- dy }
 @end lilypond
 
 
-@node Modifying context plug-ins
-@subsection Modifying context plug-ins
+@node Modificar los complementos (plug-ins) de contexto
+@subsection Modificar los complementos (plug-ins) de contexto
+@translationof Modifying context plug-ins
+
+@c TODO Should this be Modifying engravers or Modifying contexts?
 
 Los contextos de notación (como @code{Score} y @code{Staff}) no sólo
 almacenan propiedades, también contienen «plug-ins» o complementos
 llamados @q{grabadores} que crean elementos de notación.  Por ejemplo,
 el contexto @code{Voice} contiene un grabador
-@code{Note_head_engraver} que crea las cabezas de nota y el contexto
+@code{Note_heads_engraver} que crea las cabezas de nota y el contexto
 @code{Staff} contiene un grabador @code{Key_signature_engraver} que
 crea la indicación de compás.
 
@@ -568,12 +591,12 @@ modificándolo:
 @end example
 
 @noindent
-donde los @dots{} debe ser el nombre de un grabador.  Aquí tenemos un
+donde los @dots{} deben ser el nombre de un grabador.  Aquí tenemos un
 ejemplo sencillo que suprime los grabadores
 @code{Time_signature_engraver} y @code{Clef_engraver} de un contexto
 @code{Staff}:
 
-@lilypond[quote,relative=1,verbatim,fragment]
+@lilypond[quote,relative=1,verbatim]
 <<
   \new Staff {
     f2 g
@@ -592,7 +615,7 @@ es un método bastante rudimentario de hacer que desaparezcan los
 objetos porque afecta a todo el pentagrama.  Este método también
 afecta al espaciado, lo que puede ser deseable o no serlo.  Se
 muestran métodos más sofisticados para quitar objetos en
-@rlearning{Visibility and color of objects}.
+@rlearning{Visibilidad y color de los objetos}.
 
 El ejemplo siguiente muestra una aplicación práctica.  Normalmente las
 líneas divisorias y las indicaciones de compás están sincronizadas a
@@ -607,31 +630,52 @@ compás independiente.
 @cindex polimétricas, partituras
 @cindex compases distintos al mismo tiempo
 
-@lilypond[quote,relative=1,ragged-right,verbatim,fragment]
-\new Score \with {
-  \remove "Timing_translator"
-  \remove "Default_bar_line_engraver"
-} <<
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff \with {
+      \consists "Timing_translator"
+      \consists "Default_bar_line_engraver"
+    } {
+        \time 3/4
+        c4 c c c c c
+    }
   \new Staff \with {
     \consists "Timing_translator"
     \consists "Default_bar_line_engraver"
   } {
-      \time 3/4
+      \time 2/4
       c4 c c c c c
   }
-  \new Staff \with {
-    \consists "Timing_translator"
-    \consists "Default_bar_line_engraver"
-  } {
-       \time 2/4
-       c4 c c c c c
-  }
 >>
+\layout {
+  \context {
+    \Score
+    \remove "Timing_translator"
+    \remove "Default_bar_line_engraver"
+    }
+  }
+}
 @end lilypond
 
+@knownissues
 
-@node Changing context default settings
-@subsection Changing context default settings
+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.
+
+@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
@@ -674,34 +718,55 @@ No es posible recolectar cambios de contexto dentro de una variable y
 aplicarlos a una definición de @code{\context} por referencia a dicha
 variable.
 
-La instrucción @code{\RemoveEmptyStaffContext} sobreescribe nuestros
-ajustes en curso para @code{\Staff}.  Si queremos cambiar los valores
-predeterminados para un pentagrama que utilice
-@code{\RemoveEmptyStaffContext}, debe hacerlo después de llamar a
-@code{\RemoveEmptyStaffContext}, o sea
+La instrucción @code{\RemoveEmptyStaves} sobreescribe nuestros ajustes
+en curso para el contexto @code{\Staff}.  Si queremos cambiar los
+valores predeterminados para un pentagrama que utilice
+@code{\RemoveEmptyStaves}, debemos hacerlo después de llamar a
+@code{\RemoveEmptyStaves}, o sea
 
 @example
 \layout @{
   \context @{
-    \RemoveEmptyStaffContext
+    \Staff \RemoveEmptyStaves
 
     \override Stem #'thickness = #4.0
   @}
 @}
 @end example
 
+@c TODO: add \with in here.
+
+
+
+@node Definir contextos nuevos
+@subsection Definir contextos nuevos
+@translationof Defining new contexts
 
-@node Defining new contexts
-@subsection Defining new contexts
+@cindex contextos, definición de nuevos
+@cindex grabadores, incluir en contextos
+
+@funindex \alias
+@funindex alias
+@funindex \name
+@funindex name
+@funindex \type
+@funindex type
+@funindex \consists
+@funindex consists
+@funindex \accepts
+@funindex accepts
+@funindex \denies
+@funindex denies
 
 Los contextos específicos, como @code{Staff} y @code{Voice}, están
 construidos a base de bloques sencillos.  Es posible crear nuevos
 tipos de contextos con combinaciones distintas de añadidos grabadores.
 
-El siguiente ejemplo muestra cómo construir un tipo diferente de contexto de
-@code{Voice} partiendo de cero.  Será parecido a
-@code{Voice}, pero imprime solamente cabezas centradas en forma de barra inclinada.  Se puede usar
-para indicar improvisación en piezas de jazz,
+El siguiente ejemplo muestra cómo construir un tipo diferente de
+contexto de @code{Voice} partiendo de cero.  Será parecido a
+@code{Voice}, pero imprime solamente cabezas centradas en forma de
+barra inclinada.  Se puede usar para indicar improvisación en piezas
+de jazz,
 
 @c KEEP LY
 @lilypond[quote,ragged-right]
@@ -723,7 +788,7 @@ para indicar improvisación en piezas de jazz,
 
 \relative c'' {
   a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
-   c4 c^"desvístete" c_"mientras juegas :)" c }
+   c4 c^"desvístete" c_"mientras tocas :)" c }
   a1
 }
 @end lilypond
@@ -759,14 +824,14 @@ siga funcionando.  Esto se consigue dando al contexto nuevo un alias
 @end example
 
 El contexto imprimirá notas y textos explicativos, por ello tenemos
-que añadir los grabadores que aportan esta funcionalidad,
+que añadir los grabadores que aportan esta funcionalidad:
 
 @example
 \consists Note_heads_engraver
 \consists Text_engraver
 @end example
 
-Pero sólo necesitamos esto en la línea central,
+pero sólo necesitamos esto en la línea central:
 
 @example
 \consists Pitch_squash_engraver
@@ -778,7 +843,7 @@ nota (creadas por el grabador @rinternals{Note_heads_engraver}) y
 establece sus posiciones verticales al valor de
 @code{squashedPosition}, en este caso@tie{}@code{0}, la línea central.
 
-Las notas parecen barras inclinadas y no tienen plica,
+Las notas parecen barras inclinadas y no tienen plica:
 
 @example
 \override NoteHead #'style = #'slash
@@ -850,24 +915,25 @@ puede escribir como
   a4 d8 bes8
   \new ImproVoice @{
     c4^"ad lib" c
-    c4 c^"undress"
-    c c_"while playing :)"
+    c4 c^"desvístete"
+    c c_"mientras tocas :)"
   @}
   a1
 @}
 @end example
 
 
-@node Aligning contexts
-@subsection Aligning contexts
+@node Alinear los contextos
+@subsection Alinear los contextos
+@translationof Aligning contexts
 
 Los contextos nuevos se pueden alinear por encima o por debajo de
 otros contextos existentes.  Esto podría ser de utilidad al preparar
-un pentagrama vocal (@rlearning{Vocal ensembles}) y un ossia,
+un pentagrama vocal (@rlearning{Conjuntos vocales}) y en el ossia,
 
 @cindex ossia
-@findex alignAboveContext
-@findex alignBelowContext
+@funindex alignAboveContext
+@funindex alignBelowContext
 
 @lilypond[quote,ragged-right]
 ossia = { f4 f f f }
@@ -931,33 +997,35 @@ Lo contrario de @code{\accepts} (acepta) es @code{\denies} (deniega);
 esto suprime un contexto de la lista @qq{accepts}.
 
 
-@node Explaining the Internals Reference
-@section Explaining the Internals Reference
+@node Explicación del Manual de referencia de funcionamiento interno
+@section Explicación del Manual de referencia de funcionamiento interno
+@translationof Explaining the Internals Reference
 
 
 @menu
-* Navigating the program reference::
-* Layout interfaces::
-* Determining the grob property::
-* Naming conventions::
+* Navegar por la referencia del programa::
+* Interfaces de la presentación::
+* Determinar la propiedad del grob::
+* Convenciones de nombres::
 @end menu
 
 
 
-@node Navigating the program reference
-@subsection Navigating the program reference
+@node Navegar por la referencia del programa
+@subsection Navegar por la referencia del programa
+@translationof Navigating the program reference
 
 Supongamos que queremos mover la indicación de digitación del
 fragmento siguiente:
 
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
 c-2
 \stemUp
 f
 @end lilypond
 
 Si hace una visita a la documentación en busca de instrucciones de
-digitación (en @ref{Fingering instructions}), encontrará:
+digitación (en @ref{Indicaciones de digitación}), encontrará:
 
 @quotation
 @strong{Véase también}
@@ -1018,8 +1086,9 @@ de los capítulos relaciona todas las definiciones utilizadas y todas
 las propiedades que se pueden ajustar.
 
 
-@node Layout interfaces
-@subsection Layout interfaces
+@node Interfaces de la presentación
+@subsection Interfaces de la presentación
+@translationof Layout interfaces
 
 @cindex interfaz de la presentación
 @cindex presentación, interfaz de la
@@ -1038,7 +1107,7 @@ La página dedicada a @code{Fingering} relaciona las definiciones del
 objeto @code{Fingering}.  Por ejemplo, la página dice
 
 @quotation
-@code{relleno} (dimensión, en espacios de pentagrama):
+@code{padding} (dimensión, en espacios de pentagrama):
 
 @code{0.5}
 @end quotation
@@ -1097,8 +1166,8 @@ pueden modificar.
 
 Hemos estado hablando de @emph{el} objeto @code{Fingering}, pero
 realmente esto no significa mucho.  El archivo de inicialización
-(véase @rlearning{Other sources of information})
-@file{scm/@/define@/-grobs@/.scm} muestra el alma del @q{objeto},
+(véase @rlearning{Otras fuentes de información})
+@file{scm/define-grobs.scm} muestra el alma del @q{objeto},
 
 @example
 (Fingering
@@ -1111,7 +1180,7 @@ realmente esto no significa mucho.  El archivo de inicialización
      (script-priority . 100)
      (stencil . ,ly:text-interface::print)
      (direction . ,ly:script-interface::calc-direction)
-     (font-encoding . fetaNumber)
+     (font-encoding . fetaText)
      (font-size . -5)          ; don't overlap when next to heads.
      (meta . ((class . Item)
      (interfaces . (finger-interface
@@ -1130,12 +1199,13 @@ funcionamiento interno se genera directamente a partir de esta
 definición.
 
 
-@node Determining the grob property
-@subsection Determining the grob property
+@node Determinar la propiedad del grob
+@subsection Determinar la propiedad del grob
+@translationof Determining the grob property
 
 Recordemos que queríamos cambiar la posición del @b{2} en
 
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
 c-2
 \stemUp
 f
@@ -1156,8 +1226,10 @@ derecha, encima o debajo?)
 @end quotation
 
 @cindex relleno
+@cindex padding (relleno)
 @noindent
-Debajo de esta descripción, la variable @code{padding} (relleno) se describe como
+Debajo de esta descripción, la variable @code{padding} (relleno) se
+describe como
 
 @quotation
 @table @code
@@ -1181,7 +1253,7 @@ Al insertar esta instrucción antes de que se haya creado el objeto
 Fingering, es decir, antes del @code{c2}, llegamos al siguiente
 resultado:
 
-@lilypond[quote,relative=2,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \once \override Voice.Fingering #'padding = #3
 c-2
 \stemUp
@@ -1198,52 +1270,68 @@ El grabador Fingering_engraver es parte de los contextos: @dots{}
 @end quotation
 
 
+@node Convenciones de nombres
+@subsection Convenciones de nombres
+@translationof Naming conventions
 
-@node Naming conventions
-@subsection Naming conventions
+Se hace necesario presentar una panorámica de las diversas
+convenciones de nomenclatura:
+
+@itemize
+@item funciones de Scheme: minúsculas-con-guiones (incluso nombres de una sola palabra)
+@item funciones de Scheme: ly:más-estilo-de-scheme
+@item eventos, clases y propiedades musicales: como-las-funciones-de-scheme
+@item interfaces de Grobs: estilo-scheme
+@item propiedades de backend: estilo-scheme (¡pero X e Y en mayúsculas!)
+@item contextos (y ExpresionesMusicales y grobs): Mayúsculas o MayúsculasDeCamello
+@item propiedades de contexto: minúsculasSeguidoDeMayúsculasDeCamello
+@item grabadores: Mayúsculas_seguido_de_minúsculas_y_con_barras_bajas
+@end itemize
 
 @ignore
-Another thing that is needed, is an overview of the various naming
-conventions:
-
-    scheme functions: lowercase-with-hyphens (incl. one-word
-names)
-    scheme functions: ly:plus-scheme-style
-    music events, music classes and music properties:
-as-scheme-functions
-    Grob interfaces: scheme-style
-    backend properties: scheme-style (but X and Y!)
-    contexts (and MusicExpressions and grobs): Capitalized or
-CamelCase
-    context properties: lowercaseFollowedByCamelCase
-    engravers:
-Capitalized_followed_by_lowercase_and_with_underscores
-
-Which of these are conventions and which are rules?
-Which are rules of the underlying language, and which are
-LP-specific?
+Preguntas aún sin respuesta
+@itemize
+@item ¿Cuáles de aquéllas son convenciones y cuáles son reglas?
+@item ¿Cuáles son reglas del lenguaje subyacente, y cuáles son específicas de LilyPond?
+@end itemize
 @end ignore
 
-@node Modifying properties
-@section Modifying properties
+@node Modificar las propiedades
+@section Modificar las propiedades
+@translationof Modifying properties
 
 @menu
-* Overview of modifying properties::
-* The set command::
-* The override command::
-* The tweak command::
-* set versus override::
+* Panorámica de la modificación de las propiedades::
+* La instrucción set::
+* La instrucción override::
+* La instrucción tweak::
+* set frente a override::
+* Modificación de las listas-A::
 @end menu
 
 
-@node Overview of modifying properties
-@subsection Overview of modifying properties
+@node Panorámica de la modificación de las propiedades
+@subsection Panorámica de la modificación de las propiedades
+@translationof Overview of modifying properties
 
 Cada contexto es responsable de la creación de ciertos tipos de
 objetos gráficos.  Los ajustes que se usan para imprimir estos objetos
 también se almacenan por contexto.  Mediante la modificación de estos
 ajustes, se puede alterar la apariencia de los objetos.
 
+Existen dos tipos diferentes de propiedades almacenadas en los
+contextos: las propiedades de contexto y las propiedades de grob.  Las
+prpopiedades de contexto son propiedades que se aplican al contexto
+como un todo y controlan la forma en que el propio contexto se
+imprime.  Por contra, las propiedades de grob se aplican a los tipos
+de grob específicos que se imprimirán dentro del contexto.
+
+Las instrucciones @code{\set} y @code{\unset} se usan para cambiar los
+valores de las propiedades de contexto.  Las instrucciones
+@code{\override} y @code{\revert} se usan para cambiar los valores de
+las propiedades de grob.
+
+@ignore
 La sintaxis de esto es
 
 @example
@@ -1254,7 +1342,7 @@ Aquí @var{nombre} es el nombre de un objeto gráfico, como @code{Stem}
 o @code{NoteHead}, y @var{propiedad} es una variable interna del
 sistema de formateo (@q{propiedad del grob} o @q{propiedad de
 disposición}).  Este último es un símbolo, y por ello debe ir
-precedido de un apóstrofo.  La subsección @ref{Modifying properties}
+precedido de un apóstrofo.  La subsección @ref{Modificar las propiedades}
 explica cómo se deben cumplimentar los conceptos @var{nombre},
 @var{propiedad} y @var{valor}.  Aquí sólo nos ocuparemos de la
 funcionalidad des esta instrucción.
@@ -1272,7 +1360,7 @@ instrucción especifica como contexto a @code{Staff}, sólo se aplica al
 pentagrama actual.  Otros pentagramas mantienen su aspecto normal.
 Aquí vemos la instrucción en pleno funcionamiento:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 c4
 \override Staff.Stem #'thickness = #4.0
 c4
@@ -1289,7 +1377,7 @@ omitir, ocasionando que se utilice el contexto predeterminado
 @code{Voice}.  Al añadir @code{\once} se aplica el cambio durante un
 solo paso de tiempo.
 
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c4
 \once \override Stem #'thickness = #4.0
 c4
@@ -1301,10 +1389,10 @@ Por tanto, al alterar objetos @emph{Spanner} «de extensión» como
 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,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \override Slur #'thickness = #3.0
 c8[( c
-\override Beam #'thickness = #0.6
+\override Beam #'beam-thickness = #0.6
 c8 c])
 @end lilypond
 
@@ -1340,14 +1428,15 @@ tales como
 \override Stem #'(details beamed-lengths) = #'(4 4 3)
 @end example
 
+@end ignore
 
 @seealso
 Referencia de funcionamiento interno:
+@rinternals{Backend},
+@rinternals{All layout objects},
 @rinternals{OverrideProperty},
 @rinternals{RevertProperty},
-@rinternals{PropertySet},
-@rinternals{Backend},
-@rinternals{All layout objects}.
+@rinternals{PropertySet}.
 
 
 @knownissues
@@ -1358,8 +1447,9 @@ valores Scheme de propiedades pueden producir cuelgues o salidas
 abruptas, o las dos cosas.
 
 
-@node The set command
-@subsection The @code{\set} command
+@node La instrucción set
+@subsection La instrucción @code{@bs{}set}
+@translationof The set command
 
 @cindex propiedades
 @funindex \set
@@ -1374,37 +1464,56 @@ paso de interpretación.  Se consigue insertando la instrucción
 \set @var{contexto}.@var{propiedad} = #@var{valor}
 @end example
 
-Por ejemplo:
-@lilypond[quote,verbatim,relative=2,fragment]
+@var{valor} es un objeto de Scheme, razón por la que va precedido del
+carácter almohadilla, @code{#}.
+
+El nombre de las propiedades de contexto suele ir en minúsculas con
+mayúscula en medio.  Controlan sobre todo la traducción de la música a
+la notación, p.ej. @code{localKeySignature} (para determinar si hay
+que impriir alteraciones o no), o @code{measurePosition} (para
+determinar cuándo hay que imprimir una línea divisoria).  El valor de
+las propiedades de contexto puede modifcarse con el tiempo durante la
+interpretación de la música; un ejemplo obvio es
+@code{measurePosition}.  Las propiedades de contexto se modifican
+mediante la instrucción @code{\set}.
+
+Por ejemplo, los silencios multicompás se combinan en un solo compás
+si el valor de la propiedad de contexto @code{skipBars} se establece a
+@code{#t} (verdadero):
+
+@lilypond[quote,verbatim,relative=2]
 R1*2
 \set Score.skipBars = ##t
 R1*2
 @end lilypond
 
-Estas instrucción salta los compases que no tienen notas.  El
-resultado es que los silencios multicompás se condensan.  El valor
-asignado es un objeto de Scheme.  En este caso, es @code{#t}, el valor
-booleano True o verdadero.
-
 Si se omite el argumento @var{context}, entonces se utiliza el
 contexto actual de nivel más bajo (normalmente @code{ChordNames},
 @code{Voice} o @code{Lyrics}). En este ejemplo:
 
-@lilypond[quote,verbatim,relative=2,fragment]
-c8 c c c
-\set autoBeaming = ##f
-c8 c c c
+@lilypond[quote,verbatim,relative=2]
+\set Score.autoBeaming = ##f
+<<
+  {
+    e8 e e e
+    \set autoBeaming = ##t
+    e8 e e e
+  } \\ {
+    c8 c c c c8 c c c
+  }
+>>
 @end lilypond
 
-@noindent
-el argumento @var{contexto} de la instrucción @code{\set} se omite,
-así pues el barrado automático se desactiva en la voz actual.  Observe
-que el contexto de nivel más bajo no siempre contiene la propiedad que
-queremos cambiar (por ejemplo, no tendrá ningún efecto intentar
-establecer un valor para la propiedad @code{skipBars} del contexto de
-nivel más bajo, en este caso @code{Voice}).
-
-@lilypond[quote,verbatim,relative=2,fragment]
+El cambio se aplica @q{al vuelo}, mientras dura la música, de forma
+que el ajuste sólo afecta al segundo grupo de corcheas.
+
+Observe que el contexto del nivel más bajo no siempre contiene la
+propiedad que querríamos modificar: por ejemplo, intentar ajustar el
+valor de la propiedad @code{skipBars} del contexto predeterminado del
+nivel más bajo, que en este caso es @code{Voice}, no tendrá ningún
+efecto, porque skipBars es una propiedad del contexto @code{Score}.
+
+@lilypond[quote,verbatim,relative=2]
 R1*2
 \set skipBars = ##t
 R1*2
@@ -1413,8 +1522,7 @@ R1*2
 Los contextos son jerárquicos, y si se ha especificado un contexto
 mayor, por ejemplo @code{Staff}, entonces el cambio se aplicaría
 también a todos los contextos @code{Voice} dentro del pentagrama
-actual.  El cambio se aplica @q{al vuelo}, durante la música, de
-manera que el ajuste sólo afecta al segundo grupo de corcheas.
+actual.
 
 @funindex \unset
 
@@ -1426,28 +1534,22 @@ También existe una instrucción @code{\unset}:
 @noindent
 que elimina la definición de @var{propiedad}.  Esta instrucción
 elimina la definición solamente si está establecida dentro de
-@var{contexto}, de manera que
-
-@example
-\set Staff.autoBeaming = ##f
-@end example
+@var{contexto}.  Properties that have been set in enclosing contexts will
+not be altered by an unset in an enclosed context:
 
-@noindent
-introduce un ajuste de la propiedad en el nivel de @code{Staff}.  El
-ajuste también se aplica a la @code{Voice} actual.  Sin embargo:
-
-@example
-\unset Voice.autoBeaming
-@end example
-
-@noindent
-no tiene ningún efecto.  Para cancelar este ajuste, se debe
-especificar el @code{\unset} en el mismo nivel que el @code{\set}
-original.  Dicho de otra forma, para deshacer el efecto de
-@code{Staff.autoBeaming = ##f} se necesita
-@example
-\unset Staff.autoBeaming
-@end example
+@lilypond[quote,verbatim,relative=2]
+\set Score.autoBeaming = ##t
+<<
+  {
+    \unset autoBeaming
+    e8 e e e
+    \unset Score.autoBeaming
+    e8 e e e
+  } \\ {
+    c8 c c c c8 c c c
+  }
+>>
+@end lilypond
 
 Como @code{\set}, el argumento @var{contexto} no se tiene que
 especificar para un contexto del nivel más bajo, por lo que los dos
@@ -1459,23 +1561,20 @@ enunciados
 @end example
 
 @noindent
-son equivalentes.
+son equivalentes si el contexto inferior en curso es @code{Voice}.
 
 
 @cindex \once
 Los ajustes que se aplican solamente a un único paso de tiempo se
 pueden escribir con @code{\once}, por ejemplo en
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 c4
 \once \set fontSize = #4.7
 c4
 c4
 @end lilypond
 
-la propiedad @code{fontSize} se deshace automáticamente después de la
-segunda nota.
-
 En el manual de Referencia de funcionamiento interno hay una
 descripción completa de todas las propiedades de contexto disponibles,
 consulte
@@ -1487,11 +1586,137 @@ Traducción @expansion{} Propiedades de contexto modificables por el
 usuario.
 @end ifnothtml
 
+@seealso
+
+Referencia de funcionamiento interno:
+@rinternals{Tunable context properties}.
+
 
+@cindex grob, propiedades de
+@cindex propiedades de grob
+@funindex \override
+
+@node La instrucción override
+@subsection La instrucción @code{\override}
+@translationof The override command
+
+Existe un tipo especial de propiedad de contexto: la descripción de
+los grobs.  Las decscripciones de los grobs reciben un nombre en
+@code{MayúsculasDeCamello} (empezando en mayúscula).  Contienen los
+@q{ajustes predeterminados} para un tipo particular de grob, en forma
+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;
+
+@example
+\override @var{contexto}.@var{NombreDelGrob} #'@var{propiedad} = #@var{valor}
+@end example
+
+@noindent
+equivale más o menos a
 
-@node The override command
-@subsection The @code{\override} command
+@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
+c4 c
+@end lilypond
+
+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
+  <<
+    {
+      e4 e
+      \override Stem #'thickness = #0.5
+      e4 e
+    } \\ {
+      c4 c c c
+    }
+  >>
+}
+@end lilypond
 
+@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}:
+
+@lilypond[quote,verbatim,relative=2]
+c4
+\override Voice.Stem #'thickness = #3.0
+c4 c
+\revert Voice.Stem #'thickness
+c4
+@end lilypond
+
+Los efectos de @code{\override} y @code{\revert} se aplican a todos
+los grobs del contexto afectado partiendo del momento actual y hacia
+adelante:
+
+@lilypond[quote,verbatim,relative=2]
+{
+  <<
+    {
+      e4
+      \override Staff.Stem #'thickness = #3.0
+      e4 e e
+    } \\ {
+      c4 c c
+      \revert Staff.Stem #'thickness
+      c4
+    }
+  >>
+}
+@end lilypond
+
+@funindex \once
+@cindex sobreescritura para un solo momento
+
+Se puede usar @code{\once} con @code{\override} para afectar solamente
+al instante de tiempo actual:
+
+@lilypond[quote,verbatim,relative=2]
+{
+  <<
+    {
+      \override Stem #'thickness = #3.0
+      e4 e e e
+    } \\ {
+      c4
+      \once \override Stem #'thickness = #3.0
+      c4 c c
+    }
+  >>
+}
+@end lilypond
+
+
+@ignore
 Las instrucciones que modifican la salida tienen por lo general un
 aspecto como
 
@@ -1533,20 +1758,41 @@ causarían problemas.
 
 Mostraremos a continuación cómo localizar esta información en el
 manual de notación y en la referencia de funcionamiento interno.
+@end ignore
+
+@seealso
 
+Referencia de funcionamiento interno:
+@rinternals{Backend}
 
-@node The tweak command
-@subsection The @code{\tweak} command
+@node La instrucción tweak
+@subsection La instrucción @code{\tweak}
+@translationof The tweak command
 
 @funindex \tweak
 @cindex trucar
 
+El cambio de las propiedades de grob mediante @code{\override} produce
+la aplicación del cambio a todos los grobs dados en el contexto en el
+momento en que se aplica dicho cambio.  Sin embargo, en ocasiones
+podemos desear que los cambios se apliquen a un solo grob en lugar de
+a todos los grobs del contexto afectado.  Esto se consigue con la
+instrucción @code{\tweak}, que tiene la sintaxis siguiente:
+
+@example
+\tweak #'@code{propiedad-del-grob} #@code{valor}
+@end example
+
+La instrucción @code{\tweak} se aplica al objeto que viene
+inmediatamente después de @code{valor} dentro del flujo musical.
+
+@ignore
 En ocasiones es posible tomar un atajo para realizar el ajuste fino de
 los objetos gráficos.  Para objetos que resultan directamente de un
 elemento de código de la entrada, puede usar la función @code{\tweak},
 por ejemplo
 
-@lilypond[relative=2,verbatim]
+@lilypond[relative=2,verbatim,quote]
 < c
   \tweak #'color #red
   d
@@ -1558,16 +1804,13 @@ por ejemplo
 -^
 @end lilypond
 
-@cindex chord, modifying one note in
+
 
 Pero 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.
 
-Para ver una introducción a la sintaxis y los usos de la instrucción
-tweak, consulte @rlearning{Tweaking methods}.
-
 La instrucción @code{\tweak} fija una propiedad en el objeto que viene
 a continuación de forma directa, sin necesidad de especificar el
 nombre del grob o el contexto.  Para que esto funcione, es necesario
@@ -1596,6 +1839,11 @@ pero esto no funciona:
 \tweak #'color #red c4
 @end lilypond
 
+@end ignore
+
+Para ver una introducción a la sintaxis y los usos de la instrucción tweak,
+consulte @rlearning{Métodos de trucaje}.
+
 Si se colocan varios elementos similares en el mismo momento musical,
 la instrucción @code{\override} no se puede usar para modificar uno
 solo de ellos: aquí es donde se debe usar la instrucción
@@ -1612,30 +1860,54 @@ en el mismo momento musical están los siguientes:
 
 @c TODO add examples of these
 
-@noindent
-y se puede usar @code{\tweak} para modificar cualquier aparición
-específica de estos elementos.
-
-Es de resaltar que la instrucción @code{\tweak} no se puede usar para
-modificar plicas, barras o alteraciones accidentales directamente,
-porque éstos se generan más tarde por parte de las cabezas de nota, en
-vez de por elementos musicales que están en el flujo de entrada.  Ni
-se puede usar una instrucción @code{\tweak} para modificar claves o
-indicaciones de compás, ya que éstos están separados de cualquier
-instrucción @code{\tweak} precedente en el flujo de entrada a causa de
-la inserción automática de elementos adicionales necesarios para
-especificar el contexto.
-
-Pero la instrucción @code{\tweak} se puede usar como alternativa a la
-instrucción @code{\override} para modificar estos elementos
-notacionales que no producen la adición de ningún elemento notacional
-implícito antes de ellos mismos en el flujo musical.  Por ejemplo, las
-ligaduras de expresión se pueden modificar de esta forma:
+@cindex acorde, modificación de una nota
+
+En este ejemplo se modifican el color de una cabeza y el tipo de otra,
+dentro del mismo acorde:
+
+@lilypond[relative=2,verbatim,quote]
+< c
+  \tweak #'color #red
+  d
+  g
+  \tweak #'duration-log #1
+  a
+> 4
+@end lilypond
+
+@code{\tweak} se puede usar para modificar ligaduras de expresión:
 
 @lilypond[verbatim,quote,relative=1]
 c-\tweak #'thickness #5 ( d e f)
 @end lilypond
 
+
+Para que funcione la instrucción @code{\tweak}, debe permanecer
+adyacente al objeto al que se ha de aplicar después de que el código
+de entrada se ha convertido a un flujo musical.  A veces, LilyPond
+puede insertar elementos adicionales dentro del flujo de música
+durante el proceso de análisis sintáctico.  Por ejemplo, cuando una
+nota que no es parte explícita de un acorde se coloca dentro de un
+acorde por parte de LilyPond de manera que las notas que se pretenden
+modificar con @code{\tweak} se deben poner dentro de una construcción
+de acorde:
+
+@lilypond[relative=2,verbatim,quote]
+\tweak #'color #red c4
+<\tweak #'color #red c>4
+@end lilypond
+
+La instrucción @code{\tweak} no se puede usar para modificar ningún
+elemento que no aparezca explícitamente en el código de entrada.
+Concretamente, no se puede usar para modificar plicas, barras o
+alteraciones directamente, porque éstos se generan posteriormente por
+parte de las cabezas de las notas, más que por elementos musicales del
+flujo de entrada.  Tampoco se puede usar @code{\tweak} para modificar
+las claves ni las indicaciones de compás, porque se separarán de
+cualquier instrucción @code{\tweak} que aparezca en el flujo de
+entrada debido a la inserción automática de los elementos adicionales
+que se requieren para especificar el contexto.
+
 También se pueden escribir varias instrucciones @code{\tweak} antes de
 un elemento notacional, y todas ellas le afectan:
 
@@ -1650,18 +1922,18 @@ f'
 @end lilypond
 
 El flujo musical que se genera a partir de una sección de un archivo
-de entrada, incluido cualquier elemento insertado automáticamente,
-puede examinarse, véase @ref{Displaying music expressions}.  Esto
-puede ser de utilidad en la determinación de lo que puede modificarse
-por medio de una instrucción @code{\tweak}.
+de entrada (incluido cualquier elemento insertado automáticamente)
+puede examinarse, véase @rextend{Presentación de las expresiones musicales}.
+Esto puede ser de utilidad en la determinación de lo que
+puede modificarse por medio de una instrucción @code{\tweak}.
 
 
 @seealso
 Manual de aprendizaje:
-@rlearning{Tweaking methods}.
+@rlearning{Métodos de trucaje}.
 
-Referencia de la notación:
-@ref{Displaying music expressions}.
+Manual de extensión:
+@rextend{Presentación de las expresiones musicales}.
 
 
 @knownissues
@@ -1670,85 +1942,180 @@ Referencia de la notación:
 La instrucción @code{\tweak} no se puede usar dentro de una variable.
 
 @cindex trucos en la letra
-Las instrucciones @code{\tweak} no se pueden usar dentro del modo @code{\lyricmode}.
+Las instrucciones @code{\tweak} no se pueden usar dentro del modo
+@code{\lyricmode}.
 
 @cindex trucar puntos de control
 @cindex control, trucar puntos de
 
-La instrucción @code{\tweak} no se puede usar para modificar los
-puntos de control de una única ligadura entre varias dentro de un
-acorde, aparte de la primera que aparece en el archivo de entrada.
-
-@node set versus override
-@subsection @code{\set} vs. @code{\override}
-
-Hemos visto dos formas de cambiar las propiedades: @code{\set} y
-@code{\override}.  De hecho, en realidad existen dos clases diferentes
-de propiedades.
-
-Los contextos pueden tener propiedades, que por lo general reciben
-nombres en @code{mayúsculasDeCamello}.  Principalmente controlan la
-traducción de la música a la notación, p.ej. @code{localKeySignature}
-(para determinar si hay que imprimir las alteraciones accidentales),
-@code{measurePosition} (para determinar cuándo imprimir una línea
-divisoria).  Las propiedades de contexto pueden ver modificado su
-valor con el tiempo según se interpreta una pieza de música;
-@code{measurePosition} es un ejemplo obvio de esto.  Las propiedades
-de contexto se modifican con @code{\set}.
-
-Hay un tipo especial de propiedad de contexto: la descripción del
-elemento.  Estas propiedades reciben nombres en
-@code{MayúsculasDeCamello} (comenzando en letra mayúscula).  Contienen
-los @q{ajustes por defecto} para dicho elemento gráfico como una lista
-asociativa.  Consulte @file{scm/@/define@/-grobs@/.scm} para ver qué
-tipos de ajustes hay.  Las descripciones de los elementos se pueden
-modificar con @code{\override}.
-
-Realmente, @code{\override} es un atajo;
+La instrucción @code{\tweak} solamente se aplica a la primera de
+varias ligaduras generadas dentro de un acorde.
+
+@node set frente a override
+@subsection @code{\set} frente a @code{\override}
+@translationof set versus override
+
+@c HACER: probablemente esta sección es innecesaria.
+
+@ignore
+We have seen two methods of changing properties: @code{\set} and
+@code{\override}.  There are actually two different kinds of
+properties.
+
+@code{fontSize} is a special property: it is equivalent to
+entering @code{\override ... #'font-size} for all pertinent
+objects.  Since this is a common change, the special
+property (modified with @code{\set}) was created.
+
+@end ignore
+
+
+@node Modificación de las listas-A
+@subsection Modificación de las listas-A
+@translationof Modifying alists
+
+Ciertas propiedades configurables por parte del usuario se representan
+internamente como @emph{listas-A} (listas asociativas), que almacenan
+duplas de @emph{claves} y @emph{valores}.  La estructura de una
+lista-A es la siguiente:
 
 @example
-\override @var{contexto}.@var{nombre} #'@var{propiedad} = #@var{valor}
+'((@var{clave1} . @var{valor1})
+  (@var{clave2} . @var{valor2})
+  (@var{clave3} . @var{valor3})
+  @dots{})
 @end example
 
-@noindent
-es más o menos equivalente a
+Si una lista-A es una propiedad de un grob o una variable de
+@code{\paper}, sus claves se pueden modificar individualmente sin que
+afecte a las otras claves.
+
+Por ejemplo, para reducir el espacio entre pentagramas adyacentes
+dentro de un grupo, use la propiedad @code{staff-staff-spacing}
+del grob @code{StaffGrouper}.  La propiedad es una lista-A con cuatro
+claves: @code{basic-distance} (distancia básica),
+@code{minimum-distance} (distancia mínima), @code{padding} (relleno)
+y @code{stretchability} (ampliabilidad).
+Los ajustes estándar para esta propiedad
+se relacionan en la sección
+@qq{Backend} de la Referencia de Funcionamiento Interno
+(véase @rinternals{StaffGrouper}):
+
+@example
+'((basic-distance . 9)
+  (minimum-distance . 7)
+  (padding . 1)
+  (stretchability . 5))
+@end example
+
+Una forma de acercar los pentagramas entre sí es reducir el valor de
+la clave @code{basic-distance} (@code{9}) para que se corresponda con el valor
+de @code{minimum-distance} (@code{7}).  Para modificar una única clave
+de forma individual, utilice una @emph{declaración anidada}:
+
+@lilypond[quote,verbatim]
+% default space between staves
+\new PianoStaff <<
+  \new Staff { \clef treble c''1 }
+  \new Staff { \clef bass   c1   }
+>>
+
+% reduced space between staves
+\new PianoStaff \with {
+  % this is the nested declaration
+  \override StaffGrouper #'staff-staff-spacing #'basic-distance = #7
+} <<
+  \new Staff { \clef treble c''1 }
+  \new Staff { \clef bass   c1   }
+>>
+@end lilypond
+
+La utilización de una declaración anidada actualiza la clave
+especificada (como @code{basic-distance} en el ejemplo anterior)
+sin alterar ninguna
+de las otras claves que ya se habían establecido para la misma
+propiedad.
+
+Ahora, supongamos que deseamos que los pentagramas estén tan próximos
+como sea posible sin que se superpongan.  La manera más sencilla de
+hacerlo es establecer las cuatro claves de la lista-A a cero.  Sin
+embargo, no es necesario escribir cuatro declaraciones anidadas,
+una por cada clave.  En lugar de eso, se puede redefinir
+completamente la propiedad con una sola declaración, como una lista-A:
+
+@lilypond[quote,verbatim]
+\new PianoStaff \with {
+  \override StaffGrouper #'staff-staff-spacing =
+    #'((basic-distance . 0)
+       (minimum-distance . 0)
+       (padding . 0)
+       (stretchability . 0))
+} <<
+  \new Staff { \clef treble c''1 }
+  \new Staff { \clef bass   c1   }
+>>
+@end lilypond
+
+Observe que cualquier clave que no haya sido relacionada
+explícitamente en la definición de la lista-A, será reiniciada a sus
+valores @emph{predeterminados si no se han fijado}.  En el caso de
+@code{staff-staff-spacing}, el valor de cualquier clave no fijada se
+reiniciaría a cero (excepto @code{stretchability}, que toma el valor
+de @code{basic-distance} si no se fija).  Así, las dos declaraciones siguientes
+son equivalentes:
 
-@c  leave this long line -gp
 @example
-\set @var{contexto}.@var{nombre} #'@var{propiedad} = #(cons (cons '@var{propiedad} @var{valor}) <valor previo de @var{contexto})
+\override StaffGrouper #'staff-staff-spacing =
+  #'((basic-distance . 7))
+
+\override StaffGrouper #'staff-staff-spacing =
+  #'((basic-distance . 7)
+     (minimum-distance . 0)
+     (padding . 0)
+     (stretchability . 7))
 @end example
 
-El valor de @code{contexto} (la lista-a) se usa para da un valor
-inicial a las propiedades de los objetos gráficos individuales.  Los
-objetos gráficos también tienen propiedades, que reciben nombres en el
-estilo de Scheme, con @code{palabras-con-guiones}.  Los valores de las
-propiedades de objetos gráficos cambian durante el proceso de
-formateo: el formateo básicamente consiste en calcular las propiedades
-utilizando funciones de callback.
+Una consecuencia de esto (posiblemente no intencionada) es la
+eliminación de cualquier valor estándar que
+se establezca en un archivo de inicio y que se carga cada vez que se
+compila un archivo de entrada.  En el ejemplo anterior, los ajustes
+estándar para @code{padding} y
+@code{minimum-distance} (definidos en @file{scm/define-grobs.scm}) se
+reinician a sus valores predeterminados si no se han fijado (cero para
+las dos claves).  La definición de una propiedad o variable como una
+lista-A (de cualquier tamaño) siempre reinicia todos los valores de
+clave no establecidos a sus valores predeterminados si no se han
+fijado.  Ano ser que este sea el resultado deseado, es más seguro
+actualizar los valores de clave individualmente con una declaración
+anidada.
 
-@code{fontSize} es una propiedad especial: equivale a escribir
-@code{\override ... #'font-size} para todos los objetos pertinentes.
-Al ser éste un cambio muy común, se creó la propiedad especial
-(modificada con @code{\set}).
+@warning{Las declaraciones anidadas no funcionan para las listas-A de
+propiedades de contexto (como @code{beamExceptions},
+@code{keySignature}, @code{timeSignatureSettings}, etc.).  Estas
+propiedades sólo se pueden modificar redefiniéndolas completamente
+como listas-A.}
 
 
-@node Useful concepts and properties
-@section Useful concepts and properties
+@node Conceptos y propiedades útiles
+@section Conceptos y propiedades útiles
+@translationof Useful concepts and properties
 
 
 @menu
-* Input modes::
-* Direction and placement::
-* Distances and measurements::
-* Staff symbol properties::
-* Spanners::
-* Visibility of objects::
-* Line styles::
-* Rotating objects::
+* Modos de entrada::
+* Dirección y posición::
+* Orden de disposición de los contextos::
+* Distancias y medidas::
+* Propiedades del símbolo del pentagrama::
+* Objetos de extensión::
+* Visibilidad de los objetos::
+* Estilos de línea::
+* Rotación de objetos::
 @end menu
 
-@node Input modes
-@subsection Input modes
+@node Modos de entrada
+@subsection Modos de entrada
+@translationof Input modes
 
 La forma en que se interpreta la notación contenida dentro de un
 archivo de entrada, está determinada por el modo de entrada en curso.
@@ -1757,39 +2124,38 @@ archivo de entrada, está determinada por el modo de entrada en curso.
 
 Se activa con la instrucción @code{\chordmode} y produce que la
 entrada se interprete con al sintaxis de la notación de acordes, véase
-@ref{Chord notation}.  Los acordes se imprimen como notas sobre un
+@ref{Notación de acordes}.  Los acordes se imprimen como notas sobre un
 pentagrama.
 
 El modo de acordes se activa también con la instrucción
 @code{\chords}.  Esto crea también un contexto @code{ChordNames} nuevo
 y produce que el código que sigue se interprete con la sintaxis de la
 notación de acordes y se imprima como nombres de acorde dentro del
-contexto @code{ChordNames}, véase @ref{Printing chord names}.
+contexto @code{ChordNames}, véase @ref{Impresión de los nombres de acorde}.
 
 @strong{Modo de percusión}
 
 Se activa con la instrucción @code{\drummode} y produce que el código
 de entrada se interprete con la sintaxis de la notación de percusión,
-véase @ref{Basic percussion notation}.
+véase @ref{Notación básica de percusión}.
 
 El modo de percusión también se activa con la instrucción
 @code{\drums}.  También crea un contexto @code{DrumStaff} nuevo y hace
 que el código que sigue se interprete con la sintaxis de la notación
 de percusión y se imprima como símbolos de percusión sobre un
-pentagrama de percusión, véase @ref{Basic percussion notation}.
+pentagrama de percusión, véase @ref{Notación básica de percusión}.
 
 @strong{Modo de cifras}
 
 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{Entering figured bass}.
+@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{Introduction to
-figured bass}.
+dentro del contexto @code{FiguredBass}, véase @ref{Introducción al bajo cifrado}.
 
 @strong{Modos de traste y tablatura}
 
@@ -1798,18 +2164,17 @@ trastes y de tablatura.
 
 Para crear diagramas de trastes, escriba las notas o acordes en el
 modo de notas e imprímalos dentro de un contexto @code{TabStaff},
-véase @ref{Default tablatures}.
+véase @ref{Tablaturas predeterminadas}.
 
 Para crear diagramas de trastes encima de un pentagrama, escríbalos
 como elementos de marcado encima de las notas utilizando la
-instrucción @code{\fret-diagram}, véase @ref{Fret diagram markups}.
+instrucción @code{\fret-diagram}, véase @ref{Marcas de diagramas de trastes}.
 
 @strong{Modo de letra}
 
 Se activa con la instrucción @code{\lyricmode}, y hace que la entrada
 se interprete como sílabas de la letra de la canción con duraciones
-opcionales y modificadores de letra asociados, véase @ref{Vocal
-music}.
+opcionales y modificadores de letra asociados, véase @ref{Música vocal}.
 
 El modo de letra también se habilita con la instrucción
 @code{\addlyrics}.  Esto también crea un contexto @code{Lyrics} nuevo
@@ -1819,8 +2184,7 @@ viene a continuación con la música precedente.
 @strong{Modo de marcado}
 
 Se activa con la instrucción @code{\markup}, y hace que la entrada se
-interprete con la sintaxis del marcado, véase @ref{Text markup
-commands}.
+interprete con la sintaxis del marcado, véase @ref{Text markup commands}.
 
 @c silly work-around for texinfo broken-ness
 @c (@strong{Note...} causes a spurious cross-reference in Info)
@@ -1854,8 +2218,9 @@ interpretar dichas indicaciones:
 
 
 
-@node Direction and placement
-@subsection Direction and placement
+@node Dirección y posición
+@subsection Dirección y posición
+@translationof Direction and placement
 
 Al tipografiar música, la dirección y colocación de muchos elementos
 es cuestión de elección.  Por ejemplo, las plicas de las notas se
@@ -1885,7 +2250,7 @@ disponible un contexto apropiado para contenerla.
 @c TODO Add example ?
 
 Se pude cambiar el orden predeterminado en que los contextos se
-presentan, véase @ref{Aligning contexts}
+presentan, véase @ref{Alinear los contextos}
 
 @strong{Indicadores de dirección de las articulaciones}
 
@@ -1934,7 +2299,7 @@ son de la forma:
 
 @noindent
 donde @code{xxxNeutral} significa @qq{utilizar la dirección
-predeterminada}.  Véase @rlearning{Within-staff objects}.
+predeterminada}.  Véase @rlearning{Objetos interiores al pentagrama}.
 
 En alguna que otra ocasión, con el único ejemplo usual del arpegio, el
 valor de la propiedad @code{direction} especifica si el objeto se debe
@@ -1955,11 +2320,41 @@ c2( c)
 @end lilypond
 
 
-@node Distances and measurements
-@subsection Distances and measurements
+@node Orden de disposición de los contextos
+@subsection Orden de disposición de los contextos
+@translationof Context layout order
+
+@cindex contextos, orden de disposición
+
+Los contextos se disponen en un sistema normalmente desde arriba hacia
+abajo en el orden en que se encuentran en el archivo de entrada.
+Cuando los contextos se anidan unos dentro de otros, el contexto
+exterior incluye a los contextos anidados tal y como se especifica en
+el archivo de entrada, siempre y cuando los contextos interiores estén
+incluidos en la lista @qq{accepts} del contexto externo.  Los
+contextos anidados que no está nincluidos en la lista @qq{accepts} del
+contexto externo se recolocan debajo del contexto externo en lugar de
+anidarse dentro de él.
+
+Observe que discretamente se crea un contexto de forma implícita si se
+encuentra una instrucción donde no hay un contexto apropiado para
+contenerlo.  Esto puede dar lugar a pentagramas o partituras nuevos no
+esperados.
+
+El orden predeterminado en que los contextos se disponen, así como la
+lista @qq{accepts}, pueden cambiarse; véase @ref{Alinear los
+contextos}.
+
+@seealso
+Manual de utilización del programa:
+@rprogram{Aparece un pentagrama de más}.
+
+@node Distancias y medidas
+@subsection Distancias y medidas
+@translationof Distances and measurements
 
-@cindex distances, absolute
-@cindex distances, scaled
+@cindex distancias absolutas
+@cindex distancias escaladas
 
 @funindex \mm
 @funindex \cm
@@ -1976,8 +2371,8 @@ cantidad, @code{\mm}, @code{\cm}, @code{\in}@tie{}(pulgadas), o
 @code{\pt}@tie{}(puntos, 1/72.27 pulgadas).  Las distancias de diseño
 de página se pueden especificar también en unidades escalables (véase
 el párrafo siguiente) adjuntando @code{\staff-space} a la cantidad.
-La disposición de página se describe en detalle en @ref{Page
-formatting}.
+La disposición de página se describe en detalle en
+@ref{Disposición de la página}.
 
 Las distancias escaladas siempre se especifican en unidades de un
 espacio del pentagrama o, más raramente, medio espacio del pentagrama.
@@ -1992,7 +2387,7 @@ las fuentes tipográficas se escalan solamente con los cambios
 efectuados al tamaño global del pentagrama.  Así, el tamaño global del
 pentagrama posibilita la fácil variación del tamaño general de una
 partitura impresa.  Para ver los métodos de establecimiento del tamaño
-global del pentagrama, véase @ref{Setting the staff size}.
+global del pentagrama, véase @ref{Establecer el tamaño del pentagrama}.
 
 @funindex magstep
 
@@ -2005,20 +2400,21 @@ hace sobreescribiendo tanto la propiedad @code{staff-space} de
 nuestra disposición una función de Scheme, @code{magstep}, para
 convertir de un cambio en el tamaño de la fuente al cambio equivalente
 en @code{staff-space}.  Para ver una explicación y un ejemplo de su
-utilización, consulte @rlearning{Length and thickness of objects}.
+utilización, consulte @rlearning{Longitud y grosor de los objetos}.
 
 
 @seealso
 Manual de aprendizaje:
-@rlearning{Length and thickness of objects}.
+@rlearning{Longitud y grosor de los objetos}.
 
 Referencia de la notación:
-@ref{Page formatting},
-@ref{Setting the staff size}.
+@ref{Disposición de la página},
+@ref{Establecer el tamaño del pentagrama}.
 
 
-@node Staff symbol properties
-@subsection Staff symbol properties
+@node Propiedades del símbolo del pentagrama
+@subsection Propiedades del símbolo del pentagrama
+@translationof Staff symbol properties
 
 @cindex ajuste del símbolo del pentagrama
 @cindex dibujar el símbolo del pentagrama
@@ -2058,8 +2454,9 @@ resulta afectado por este ajuste.
 @end lilypond
 
 
-@node Spanners
-@subsection Spanners
+@node Objetos de extensión
+@subsection Objetos de extensión
+@translationof Spanners
 
 Muchos objetos de notación musical abarcan varias notas o incluso
 varios compases.  Son ejemplos los crescendi, trinos, corchetes de
@@ -2074,7 +2471,7 @@ 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}.
 
-@unnumberedsubsubsec Using the @code{spanner-interface}
+@unnumberedsubsubsec Uso del @code{spanner-interface}
 
 Este interface proporciona dos propiedades que se aplican a varios
 extensores.
@@ -2206,7 +2603,7 @@ 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.
 
-@unnumberedsubsubsec Using the @code{line-spanner-interface}
+@unnumberedsubsubsec Uso del @code{line-spanner-interface}
 
 Entre los objetos que contemplan el interface
 @code{line-spanner-interface} se encuentran
@@ -2249,7 +2646,7 @@ En caso de salto de línea, los valores para los puntos extremos se
 especifican por las sub-listas @code{left-broken} y
 @code{right-broken} de @code{bound-details}.  Por ejemplo:
 
-@lilypond[relative=2,ragged-right,verbatim,fragment]
+@lilypond[relative=2,ragged-right,verbatim,quote]
 \override Glissando #'breakable = ##t
 \override Glissando #'(bound-details right-broken Y) = #-3
 c1 \glissando \break
@@ -2290,7 +2687,7 @@ Es un elemento de marcado que se evalúa para dar lugar al sello.  Se
 usa para escribir @i{cresc.}, @i{tr} y otros textos sobre los objetos
 de extensión horizontales.
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
 \override TextSpanner #'(bound-details left text)
    = \markup { \small \bold Slower }
 c2\startTextSpan b c a\stopTextSpan
@@ -2304,7 +2701,7 @@ subpropiedades @code{X} e @code{Y}.  Si se fijan
 @code{stencil-align-dir-y} o @code{stencil-offset} se moverá el
 símbolo del borde verticalmente con relación al extremo de la línea:
 
-@lilypond[relative=1,fragment,verbatim]
+@lilypond[relative=1,quote,verbatim]
 \override TextSpanner
   #'(bound-details left stencil-align-dir-y) = #-2
 \override TextSpanner
@@ -2340,7 +2737,7 @@ continuación.  Se termina después de una nota exactamente, o en la
 siguiente barra de compás si @code{to-barline} es verdadero y se
 produce una divisoria antes de la siguiente nota.
 
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+@lilypond[verbatim,quote,ragged-right,relative=2]
 \endSpanners
 c2 \startTextSpan c2 c2
 \endSpanners
@@ -2360,8 +2757,9 @@ Referencia de funcionamiento interno:
 @rinternals{line-spanner-interface}.
 
 
-@node Visibility of objects
-@subsection Visibility of objects
+@node Visibilidad de los objetos
+@subsection Visibilidad de los objetos
+@translationof Visibility of objects
 
 @cindex objetos, visibilidad de
 @cindex grobs, visibilidad de
@@ -2373,23 +2771,23 @@ volver transparentes, se pueden pintar de blanco, o se puede
 sobreescribir su propiedad @code{break-visibility}.  Las tres primeras
 se aplican a todos los objetos de presentación; la última sólo a unos
 pocos: los objetos @emph{divisibles}.  El Manual de aprendizaje
-introduce estas cuatro técnicas, véase @rlearning{Visibility and color
-of objects}.
+introduce estas cuatro técnicas, véase @rlearning{Visibilidad y color de los objetos}.
 
 Hay también algunas otras técnicas que son específicas de ciertos
 objetos de presentación.  Se estudian bajo Consideraciones especiales.
 
 @menu
-* Removing the stencil::
-* Making objects transparent::
-* Painting objects white::
-* Using break-visibility::
-* Special considerations::
+* Eliminar el sello::
+* Hacer transparentes los objetos::
+* Pintar los objetos de blanco::
+* Uso de break-visibility (visibilidad en el salto)::
+* Consideraciones especiales::
 @end menu
 
 
-@node Removing the stencil
-@unnumberedsubsubsec Removing the stencil
+@node Eliminar el sello
+@unnumberedsubsubsec Eliminar el sello
+@translationof Removing the stencil
 
 @cindex sello, eliminar
 
@@ -2407,8 +2805,9 @@ a a
 a a a
 @end lilypond
 
-@node Making objects transparent
-@unnumberedsubsubsec Making objects transparent
+@node Hacer transparentes los objetos
+@unnumberedsubsubsec Hacer transparentes los objetos
+@translationof Making objects transparent
 
 @cindex transparentes, hacer los objetos
 
@@ -2423,8 +2822,9 @@ a4 a
 a a
 @end lilypond
 
-@node Painting objects white
-@unnumberedsubsubsec Painting objects white
+@node Pintar los objetos de blanco
+@unnumberedsubsubsec Pintar los objetos de blanco
+@translationof Painting objects white
 
 @cindex objetos, coloreado de
 @cindex coloreado de objetos
@@ -2473,8 +2873,9 @@ que se dibuje antes:
 a1
 @end lilypond
 
-@node Using break-visibility
-@unnumberedsubsubsec Using break-visibility
+@node Uso de break-visibility (visibilidad en el salto)
+@unnumberedsubsubsec Uso de break-visibility (visibilidad en el salto)
+@translationof Using break-visibility
 
 @c TODO Add making other objects breakable
 
@@ -2502,7 +2903,7 @@ precaución.
 Este comportamiento se controla por medio de la propiedad
 @code{break-visibility}, que se explica en
 @c Leave this ref on a newline - formats incorrectly otherwise -td
-@rlearning{Visibility and color of objects}.  Esta propiedad toma un
+@rlearning{Visibilidad y color de los objetos}.  Esta propiedad toma un
 vector de tres valores booleanos que, por orden, determinan si el
 objeto se imprime al final, dentro, o al principio de la línea.  O,
 para ser más exactos: antes del salto de línea, si no hay salto, o
@@ -2542,7 +2943,7 @@ de presentación de interés que resultan afectados por
 @item @code{BarLine}             @tab @code{Score}          @tab calculado
 @item @code{BarNumber}           @tab @code{Score}          @tab @code{begin-of-line-visible}
 @c omit the following item until it can be explained -td
-@c @item @code{BreakAlignGroup}  @tab @code{Score}          @tab calculated
+@c @item @code{BreakAlignGroup}  @tab @code{Score}          @tab calculado
 @item @code{BreathingSign}       @tab @code{Voice}          @tab @code{begin-of-line-invisible}
 @item @code{Clef}                @tab @code{Staff}          @tab @code{begin-of-line-visible}
 @item @code{Custos}              @tab @code{Staff}          @tab @code{end-of-line-visible}
@@ -2588,8 +2989,9 @@ imprimirlas y all-invisible para suprimirlas.
 @item OctavateEight: véase más abajo
 @end itemize
 
-@node Special considerations
-@unnumberedsubsubsec Special considerations
+@node Consideraciones especiales
+@unnumberedsubsubsec Consideraciones especiales
+@translationof Special considerations
 
 @strong{@emph{Visibilidad después de un cambio explícito}}
 
@@ -2694,11 +3096,11 @@ explícitas.
 
 El pequeño símbolo de octava sobre las claves en octava alta o baja se
 produce por parte del objeto @code{OctavateEight}.  Su visibilidad se
-controla independientemente de la del objeto @code{Clef}, así que es
+hereda automáticamente de la del objeto @code{Clef}, así que no es
 necesario aplicar las sobreescrituras correspondientes
-@code{break-visibility} tanto a los objetos @code{Clef} como
-@code{OctavateEight} para suprimir completamente estos símbolos de
-clave al comienzo de cada línea.
+@code{break-visibility} a los objetos
+@code{OctavateEight} para suprimir los símbolos de octavación
+para las claves invisibles.
 
 Para los cambios de clave explícitos, la propiedad
 @code{explicitClefVisibility} controla tanto el símbolo de clave como
@@ -2707,11 +3109,12 @@ el símbolo de octava asociado.
 
 @seealso
 Manual de aprendizaje:
-@rlearning{Visibility and color of objects}
+@rlearning{Visibilidad y color de los objetos}
 
 
-@node Line styles
-@subsection Line styles
+@node Estilos de línea
+@subsection Estilos de línea
+@translationof Line styles
 
 Ciertas indicaciones de ejecución, p.ej., @i{rallentando},
 @i{accelerando} y los @i{trinos} se escriben como texto y se extienden
@@ -2728,7 +3131,7 @@ dibuja una línea entre ellos, en el estilo solicitado.
 He aquí un ejemplo de los distintos estilos de línea disponibles, y
 cómo aplicarles ajustes finos.
 
-@lilypond[relative=2,ragged-right,verbatim,fragment]
+@lilypond[relative=2,ragged-right,verbatim,quote]
 d2 \glissando d'2
 \once \override Glissando #'style = #'dashed-line
 d,2 \glissando d'2
@@ -2744,7 +3147,8 @@ Las posiciones de los puntos extremos del objeto de extensión se
 computan al vuelo para cada uno de los objetos gráficos, pero es
 posible sobreescribirlos:
 
-@lilypond[relative=2,ragged-right,verbatim,fragment]
+@c TODO Complete
+@lilypond[relative=2,ragged-right,verbatim,quote]
 e2 \glissando f
 \once \override Glissando #'(bound-details right Y) = #-2
 e2 \glissando f
@@ -2759,23 +3163,25 @@ posición vertical de los puntos de anclaje izquierdo y derecho del
 extensor.
 
 Son posibles otros ajustes de los extensores, para ver más detalles
-consulte @ref{Spanners}.
+consulte @ref{Objetos de extensión}.
 
 
-@node Rotating objects
-@subsection Rotating objects
+@node Rotación de objetos
+@subsection Rotación de objetos
+@translationof Rotating objects
 
 Tanto los objetos de presentación como los elementos de texto de
 marcado se pueden girar cualquier ángulo respecto a cualquier punto,
 pero difiere el método de hacerlo.
 
 @menu
-* Rotating layout objects::
-* Rotating markup::
+* Rotación de objetos de presentación::
+* Rotación de elementos de marcado::
 @end menu
 
-@node Rotating layout objects
-@unnumberedsubsubsec Rotating layout objects
+@node Rotación de objetos de presentación
+@unnumberedsubsubsec Rotación de objetos de presentación
+@translationof Rotating layout objects
 
 @cindex rotating objects
 @cindex objects, rotating
@@ -2804,8 +3210,9 @@ g4\< e' d' f\!
 g,,4\< e' d' f\!
 @end lilypond
 
-@node Rotating markup
-@unnumberedsubsubsec Rotating markup
+@node Rotación de elementos de marcado
+@unnumberedsubsubsec Rotación de elementos de marcado
+@translationof Rotating markup
 
 Todos los textos de marcado se pueden rotar para que se dispongan en
 cualquier ángulo precediéndolos de la instrucción @code{\rotate}.  La
@@ -2825,42 +3232,47 @@ des^\markup { \rotate #30 "a D-Flat" }
 fis^\markup { \rotate #30 "an F-Sharp" }
 @end lilypond
 
-@node Advanced tweaks
-@section Advanced tweaks
+@node Trucos avanzados
+@section Trucos avanzados
+@translationof Advanced tweaks
 
 Esta sección trata sobre distintos enfoques en la realización de
 ajustes finos a la apariencia de la partitura impresa.
 
 @menu
-* Aligning objects::
-* Vertical grouping of grobs::
-* Modifying stencils::
-* Modifying shapes::
+* Alineación de objetos::
+* Agrupación vertical de objetos gráficos::
+* Modificación de los sellos::
+* Modificación de las formas::
 @end menu
 
 
 @seealso
 Manual de aprendizaje:
-@rlearning{Tweaking output},
-@rlearning{Other sources of information}.
+@rlearning{Trucar la salida},
+@rlearning{Otras fuentes de información}.
 
 Referencia de la notación:
-@ref{Explaining the Internals Reference},
-@ref{Modifying properties},
-@ref{Interfaces for programmers}.
+@ref{Explicación del Manual de referencia de funcionamiento interno},
+@ref{Modificar las propiedades}.
+
 
 Archivos de inicio:
-@file{scm/@/define@/-grobs@/.scm}.
+@file{scm/define-grobs.scm}.
 
 Fragmentos de código:
 @rlsr{Tweaks and overrides}.
 
+Extender:
+@rextend{Interfaces para programadores}.
+
 Referencia de funcionamiento interno:
 @rinternals{All layout objects}.
 
 
-@node Aligning objects
-@subsection Aligning objects
+@node Alineación de objetos
+@subsection Alineación de objetos
+@translationof Aligning objects
 
 Los objetos gráficos que soportan el interface
 @code{self-alignment-interface} y/o el @code{side-position-interface}
@@ -2880,18 +3292,21 @@ negativos los desplazamientos hacia abajo.
 
 La posición de un objeto sobre el pentagrama viene dada por los
 valores de las propiedades @code{X-offset} e @code{Y-offset}.  El
-valor de @code{X-offset} da el desplazamiento desde la coordenada x
+valor de @code{X-offset} da el desplazamiento desde la coordenada X
 del punto de referencia del objeto padre, y el valor de
 @code{Y-offset} da el desplazamiento a partir de la línea central del
 pentagrama.  Los valores de @code{X-offset} y @code{Y-offset} se
 pueden establecer directamente o se puede dejar que se calculen por
 parte de procedimientos para conseguir una alineación con el objeto
-padre de distintas maneras.
+padre.
 
 @warning{Muchos objetos tienen consideraciones de posicionamiento
 especiales que hacen que se ignore o se modifique cualquier ajuste
 realizado a @code{X-offset} o a @code{Y-offset}, a pesar de que el
-objeto contemple el interface @code{self-alignment-interface}.}
+objeto contemple el interface @code{self-alignment-interface}.  La
+sobreescritura de las propiedades @code{X-offset} ó @code{Y-offset} a
+un valor fijo hace que se descarte la respectiva propiedad
+@code{self-alignment}.}
 
 Por ejemplo, una alteración accidental se puede reposicionar
 verticalmente estableciendo @code{Y-offset} pero los cambios a
@@ -2903,15 +3318,20 @@ propiedades especiales que se encuentran en
 @code{break-aligned-interface} para el posicionamiento de las letras
 de ensayo sobre dichos objetos.
 
+@seealso
+@ref{Uso del break-alignable-interface},
+@rextend{Funciones de callback}.
+
 @menu
-* Setting @code{X-offset} and @code{Y-offset} directly::
-* Using the @code{side-position-interface}::
-* Using the @code{self-alignment-interface}::
-* Using the @code{break-alignable-interface}::
+* Establecer directamente X-offset e Y-offset::
+* Uso del side-position-interface::
+* Uso del self-alignment-interface::
+* Uso del break-alignable-interface::
 @end menu
 
-@node Setting @code{X-offset} and @code{Y-offset} directly
-@unnumberedsubsubsec Setting @code{X-offset} and @code{Y-offset} directly
+@node Establecer directamente X-offset e Y-offset
+@unnumberedsubsubsec Establecer directamente @code{X-offset} y @code{Y-offset}
+@translationof Setting X-offset and Y-offset directly
 
 Se pueden dar valores numéricos a las propiedades @code{X-offset} y
 @code{Y-offset} de muchos objetos.  El ejemplo siguiente muestra tres
@@ -2932,8 +3352,9 @@ a
 
 @c TODO write more
 
-@node Using the @code{side-position-interface}
-@unnumberedsubsubsec Using the @code{side-position-interface}
+@node Uso del side-position-interface
+@unnumberedsubsubsec Uso del @code{side-position-interface}
+@translationof Using the side-position-interface
 
 Un objeto que contempla el @code{side-position-interface} se puede
 colocar junto a su objeto padre de forma que los bordes especificados
@@ -2973,8 +3394,9 @@ situar el objeto encima o debajo del padre de acuerdo con el valor de
 
 @c TODO Add examples
 
-@node Using the @code{self-alignment-interface}
-@unnumberedsubsubsec Using the @code{self-alignment-interface}
+@node Uso del self-alignment-interface
+@unnumberedsubsubsec Uso del @code{self-alignment-interface}
+@translationof Using the self-alignment-interface
 
 @emph{Auto-alineación horizontal de los objetos}
 
@@ -3046,7 +3468,7 @@ a
 @end lilypond
 
 @ignore
-@unnumberedsubsubsec Using the @code{aligned-on-parent} procedures
+@unnumberedsubsubsec Uso de los procedimientos @code{aligned-on-parent}
 
 @c Cannot document as they do not seem to operate consistently on all objects -td
 @c TODO investigate further
@@ -3065,7 +3487,7 @@ example shows the difference:
 @end ignore
 
 @ignore
-@unnumberedsubsubsec Using the @code{centered-on-parent} procedures
+@unnumberedsubsubsec Uso de los procedimientos @code{centered-on-parent}
 
 @c Cannot document as they do not seem to operate consistently on all objects -td
 @c TODO investigate further
@@ -3075,8 +3497,9 @@ example shows the difference:
 @c TODO The align-interface, BassFigureAlignment and VerticalAlignment
 
 
-@node Using the @code{break-alignable-interface}
-@unnumberedsubsubsec Using the @code{break-alignable-interface}
+@node Uso del break-alignable-interface
+@unnumberedsubsubsec Uso del @code{break-alignable-interface}
+@translationof Using the break-alignable-interface
 
 @cindex alineación a objetos
 @cindex break-align-symbols
@@ -3091,20 +3514,27 @@ De forma predeterminada, las letras de ensayo y los números de compás
 se centran horizontalmente sobre el objeto:
 
 @lilypond[verbatim,quote,relative=1]
-e1
-% the RehearsalMark will be centered above the Clef
+% The rehearsal mark will be centered above the Clef
 \override Score.RehearsalMark #'break-align-symbols = #'(clef)
 \key a \major
 \clef treble
 \mark "↓"
-e
-% the RehearsalMark will be centered above the TimeSignature
+e1
+% The rehearsal mark will be centered above the 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)
+\key a \major
+\clef treble
+\time 4/4
+e1
+\breathe
+\mark "↓"
 @end lilypond
 
 Se puede especificar una lista de posibles objetos para la alineación.
@@ -3117,20 +3547,27 @@ divisoria.  Si la línea divisoria es invisible, el objeto se alinea
 con el punto en el que se encontraría la línea divisoria.
 
 @lilypond[verbatim,quote,relative=1]
-e1
-% the RehearsalMark will be centered above the Key Signature
+% The rehearsal mark will be centered above the Key Signature
 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef treble
 \mark "↓"
-e
-% the RehearsalMark will be centered above the Clef
+e1
+% The rehearsal mark will be centered above the Clef
 \set Staff.explicitKeySignatureVisibility = #all-invisible
 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
-\key a \minor
+\key a \major
 \clef bass
 \mark "↓"
-e,
+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)
+\key a \major
+\clef treble
+\mark "↓"
+e''1
 @end lilypond
 
 La alineación de la letra de ensayo con relación al objeto de notación
@@ -3139,23 +3576,23 @@ partitura con varios pentagramas, este ajuste se debe hacer para todos
 los pentagramas.
 
 @lilypond[verbatim,quote,relative=1]
-% The RehearsalMark will be centered above the KeySignature
+% The RehearsalMark will be centered above the 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 KeySignature
+% The RehearsalMark will be aligned with the left edge of the Key Signature
 \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
 \mark "↓"
 \key a \major
-e
-% The RehearsalMark will be aligned with the right edge of the KeySignature
+e1
+% The RehearsalMark will be aligned with the right edge of the Key Signature
 \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
 \key a \major
 \mark "↓"
-e
+e1
 @end lilypond
 
 La letra de ensayo también se puede desplazar al borde derecho o
@@ -3163,24 +3600,25 @@ izquierdo en una medida arbitraria.  Las unidades son espacios de
 pentagrama:
 
 @lilypond[verbatim,quote,relative=1]
-% The RehearsalMark will be aligned with the left edge of the KeySignature
+% 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
 \key a \major
 \mark "↓"
-e
-% The RehearsalMark will be aligned with the left edge of the KeySignature
+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
 \key a \major
 \mark "↓"
-e
+e1
 @end lilypond
 
 
-@node Vertical grouping of grobs
-@subsection Vertical grouping of grobs
+@node Agrupación vertical de objetos gráficos
+@subsection Agrupación vertical de objetos gráficos
+@translationof Vertical grouping of grobs
 
 Los grobs (objetos gráficos) @code{VerticalAlignment} y
 @code{VerticalAxisGroup} trabajan de manera coordinada.
@@ -3192,8 +3630,9 @@ partitura, pero cada @code{Staff}, @code{Lyrics}, etc. tiene su propio
 @code{VerticalAxisGroup}.
 
 
-@node Modifying stencils
-@subsection Modifying stencils
+@node Modificación de los sellos
+@subsection Modificación de los sellos
+@translationof Modifying stencils
 
 Todos los objetos de presentación tienen una propiedad @code{stencil}
 que es parte del @code{grob-interface}.  De forma predeterminada, esta
@@ -3214,7 +3653,7 @@ procedimiento que imprime texto (@code{ly:text-interface::print}) y
 añadir una propiedad @code{text} al objeto ajustada para que contenga
 el texto de marcado que produce el símbolo requerido.  Debido a la
 flexibilidad del marcado, se pueden conseguir muchas cosas; en
-particular, consulte @ref{Graphic notation inside markup}.
+particular, consulte @ref{Notación gráfica dentro de elementos de marcado}.
 
 El ejemplo siguiente muestra esto cambiando el símbolo de la cabeza de
 la nota a unas aspas dentro de una circunferencia.
@@ -3234,8 +3673,7 @@ XinO = {
 @end lilypond
 
 Cualquiera de los glifos de la fuente tipográfica Feta se puede pasar
-a la instrucción de marcado @code{\musicglyph}: véase @ref{The Feta
-font}.
+a la instrucción de marcado @code{\musicglyph}: véase @ref{La tipografía Feta}.
 
 @c TODO Add inserting eps files or ref to later
 
@@ -3244,21 +3682,23 @@ font}.
 
 @seealso
 Referencia de la notación:
-@ref{Graphic notation inside markup},
-@ref{Formatting text},
+@ref{Notación gráfica dentro de elementos de marcado},
+@ref{Formatear el texto},
 @ref{Text markup commands},
-@ref{The Feta font}.
+@ref{La tipografía Feta}.
 
 
-@node Modifying shapes
-@subsection Modifying shapes
+@node Modificación de las formas
+@subsection Modificación de las formas
+@translationof Modifying shapes
 
 @menu
-* Modifying ties and slurs::
+* Modificación de ligaduras de unión y de expresión::
 @end menu
 
-@node Modifying ties and slurs
-@unnumberedsubsubsec Modifying ties and slurs
+@node Modificación de ligaduras de unión y de expresión
+@unnumberedsubsubsec Modificación de ligaduras de unión y de expresión
+@translationof Modifying ties and slurs
 
 @cindex ligaduras de expresión, modificar
 @cindex ligaduras de unión, modificar
@@ -3338,3 +3778,170 @@ 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}.
 
+
+
+@node Uso de las funciones musicales
+@section Uso de las funciones musicales
+@translationof Using music functions
+
+@c TODO -- add @seealso, etc. to these subsections
+
+Dondequiera que se necesite reutilizar trucos con distintas
+expresiones musicales, con frecuencia conviene hacer que el truco
+forme parte de una @emph{función musical}.  En esta sección
+estudiaremos solamente las funciones de @emph{sustitución}, en las que
+el objeto es sustituir una variable dentro de un fragmento de código
+de entrada de LilyPond.  Se describen otras funciones más complejas en
+@rextend{Funciones musicales}.
+
+@menu
+* Sintaxis de las funciones de sustitución::
+* Ejemplos de funciones de sustitución::
+@end menu
+
+@node Sintaxis de las funciones de sustitución
+@subsection Sintaxis de las funciones de sustitución
+@translationof Substitution function syntax
+
+Es fácil hacer una función que sustituya una variable dentro de código
+de LilyPond.  La forma general de estas funciones es
+
+@example
+funcion =
+#(define-music-function
+     (parser location @var{arg1} @var{arg2} @dots{})
+     (@var{type1?} @var{type2?} @dots{})
+   #@{
+     @var{@dots{}música@dots{}}
+   #@})
+@end example
+
+@noindent
+donde
+
+@multitable @columnfractions .33 .66
+@item @code{@var{argN}}
+@tab @var{n}-ésimo argumento
+
+@item @code{@var{typeN?}}
+@tab @emph{predicado de tipo} de Scheme para el que @code{@var{argN}}
+debe devolver @code{#t}.
+
+@item @code{@var{@dots{}música@dots{}}}
+@tab entrada de LilyPond normal, que utiliza @code{$} para
+referenciar argumentos (p.ej. @samp{$arg1}).
+@end multitable
+
+
+Los argumentos @code{parser} y @code{location} son necesarios, y se
+utilizan en algunas situaciones avanzadas como se encuentra descrito
+en @rextend{Sintaxis de las funciones musicales}.  Para las funciones
+de sustitución, tan sólo hemos de asegurarnos de incluirlos.
+
+También es necesaria la lista de predicados de tipo.  Algunos de los
+predicados de tipo más comunes que se utilizan en las funciones
+musicales son:
+
+@example
+boolean?
+cheap-list?  @emph{(utilizar en lugar de }@q{list?}@emph{ para un procesado más rápido)}
+ly:music?
+markup?
+number?
+pair?
+string?
+symbol?
+@end example
+
+@noindent
+Para ver una lista de los predicados de tipo disponibles, consulte
+@ref{Predicados de tipo predefinidos}.  También se permiten los
+predicados de tipo definidos por el usuario.
+
+
+@seealso
+
+Referencia de la notación:
+@ref{Predicados de tipo predefinidos}.
+
+Expansión de LilyPond:
+@rextend{Sintaxis de las funciones musicales}.
+
+Archivos instalados:
+@file{lily/music-scheme.cc},
+@file{scm/c++.scm},
+@file{scm/lily.scm}.
+
+
+@node Ejemplos de funciones de sustitución
+@subsection Ejemplos de funciones de sustitución
+@translationof Substitution function examples
+
+Esta sección presenta algunos ejemplos de funciones de sustitución.
+No pretenden ser exhaustivas, sino demostrar algunas de las
+posibilidades de las funciones de sustitución sencillas.
+
+En el primer ejemplo se define una función que simplifica el ajuste
+del relleno de un elemento de inscripción de texto TextScript:
+
+@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
+
+Además de números, podemos usar expresiones musicales, como notas,
+para los argumentos de las funciones musicales:
+
+@c TODO: use a better example (the music argument is redundant).
+
+@lilypond[quote,verbatim,ragged-right]
+custosNote =
+#(define-music-function
+     (parser location note)
+     (ly:music?)
+   #{
+     \once \override Voice.NoteHead #'stencil =
+       #ly:text-interface::print
+     \once \override Voice.NoteHead #'text =
+       \markup \musicglyph #"custodes.mensural.u0"
+     \once \override Voice.Stem #'stencil = ##f
+     $note
+   #})
+
+\relative c' { c4 d e f \custosNote g }
+@end lilypond
+
+Se pueden definir funciones de sustitución con más de un argumento:
+
+@lilypond[quote,verbatim,ragged-right]
+tempoPadded =
+#(define-music-function
+     (parser location padding tempotext)
+     (number? string?)
+   #{
+     \once \override Score.MetronomeMark #'padding = $padding
+     \tempo \markup { \bold $tempotext }
+   #})
+
+\relative c'' {
+  \tempo \markup { "Low tempo" }
+  c4 d e f g1
+  \tempoPadded #4.0 #"High tempo"
+  g4 f e d c1
+}
+@end lilypond
+
+@c TODO: add appropriate @@ref's here.