]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/notation/changing-defaults.itely
Doc: cleanup @file{}, take 2: remove all @/ escaping sequences.
[lilypond.git] / Documentation / es / notation / changing-defaults.itely
index 779d707b32eb95ec3f0ce6da478b291768037a39..234ec3702b63d994871341cf06ff26d7cad3d600 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: eb98dcb8ece687486640a5dc3ec3aa2395ec31cf
+Translation of GIT committish: 94ca9e6f8df4f718787266976ee68141d70d4c7c
 
     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.12.0"
+@c \version "2.13.39"
 
 @node Cambiar los valores por omisión
 @chapter Cambiar los valores por omisión
@@ -41,9 +41,9 @@ 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{@rextend{Tutorial de
-Scheme} 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
@@ -78,8 +78,8 @@ Manual de aprendizaje:
 @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}.
@@ -97,7 +97,7 @@ Los contextos se disponen de forma jerárquica:
 
 @menu
 * Score. El contexto maestro::
-* Contextos del nivel superior.  Contenedores de pentagramas::
+* Contextos del nivel superior. Contenedores de pentagramas::
 * Contextos de nivel intermedio. Pentagramas::
 * Contextos del nivel más bajo. Voces::
 @end menu
@@ -114,8 +114,7 @@ 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 Contextos del nivel superior. Contenedores de pentagramas
 @unnumberedsubsubsec Contextos del nivel superior: contenedores de pentagramas
@@ -242,6 +241,8 @@ Tipografía nombres de acordes.
 @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.
@@ -269,7 +270,7 @@ 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 }
@@ -362,8 +363,9 @@ 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 @rextend{Ejecutar una función sobre todos
-los objetos de la presentación}).  Sin una instrucción @code{\context}
+@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
@@ -594,7 +596,7 @@ 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
@@ -628,26 +630,32 @@ 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
@@ -710,16 +718,16 @@ 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
   @}
@@ -1010,7 +1018,7 @@ esto suprime un contexto de la lista @qq{accepts}.
 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
@@ -1159,7 +1167,7 @@ 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{Otras fuentes de información})
-@file{scm/@/define@/-grobs@/.scm} muestra el alma del @q{objeto},
+@file{scm/define-grobs.scm} muestra el alma del @q{objeto},
 
 @example
 (Fingering
@@ -1172,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
@@ -1197,7 +1205,7 @@ definición.
 
 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
@@ -1245,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
@@ -1298,6 +1306,7 @@ Preguntas aún sin respuesta
 * La instrucción override::
 * La instrucción tweak::
 * set frente a override::
+* Modificación de las listas-A::
 @end menu
 
 
@@ -1351,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
@@ -1368,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
@@ -1380,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
 
@@ -1472,7 +1481,7 @@ 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,fragment]
+@lilypond[quote,verbatim,relative=2]
 R1*2
 \set Score.skipBars = ##t
 R1*2
@@ -1482,7 +1491,7 @@ 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]
+@lilypond[quote,verbatim,relative=2]
 \set Score.autoBeaming = ##f
 <<
   {
@@ -1504,7 +1513,7 @@ 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,fragment]
+@lilypond[quote,verbatim,relative=2]
 R1*2
 \set skipBars = ##t
 R1*2
@@ -1528,7 +1537,7 @@ elimina la definición solamente si está establecida dentro de
 @var{contexto}.  Properties that have been set in enclosing contexts will
 not be altered by an unset in an enclosed context:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 \set Score.autoBeaming = ##t
 <<
   {
@@ -1559,7 +1568,7 @@ son equivalentes si el contexto inferior en curso es @code{Voice}.
 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
@@ -1595,7 +1604,7 @@ 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
+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}.
 
@@ -1627,7 +1636,7 @@ 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, fragment]
+@lilypond[quote,verbatim,relative=2]
 c4 c
 \override Voice.Stem #'thickness = #3.0
 c4 c
@@ -1636,7 +1645,7 @@ c4 c
 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, fragment]
+@lilypond[quote,verbatim,relative=2]
 { \override Staff.Stem #'thickness = #3.0
   <<
     {
@@ -1657,7 +1666,7 @@ Si no se ha especificado ningún contexto en la instrucción
 El efecto de una instrucción de sobreescritura @code{\override} se
 puede deshacer con @code{\revert}:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
 c4
 \override Voice.Stem #'thickness = #3.0
 c4 c
@@ -1669,7 +1678,7 @@ 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, fragment]
+@lilypond[quote,verbatim,relative=2]
 {
   <<
     {
@@ -1691,7 +1700,7 @@ adelante:
 Se puede usar @code{\once} con @code{\override} para afectar solamente
 al instante de tiempo actual:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
 {
   <<
     {
@@ -1783,7 +1792,7 @@ 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
@@ -1914,8 +1923,8 @@ f'
 
 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 @rextend{Presentación de las expresiones
-musicales}.  Esto puede ser de utilidad en la determinación de lo que
+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}.
 
 
@@ -1960,6 +1969,130 @@ 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
+'((@var{clave1} . @var{valor1})
+  (@var{clave2} . @var{valor2})
+  (@var{clave3} . @var{valor3})
+  @dots{})
+@end example
+
+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{padding} (relleno), @code{space} (espacio),
+@code{minimum-distance} (distancia mínima) y @code{stretchability}
+(ampliabilidad).  Tres de las cuatro claves tienen valores
+predeterminados en el inicio; éstos se relacionan en la sección
+@qq{Backend} de la Referencia de Funcionamiento Interno
+(véase @rinternals{StaffGrouper}):
+
+@file{scm/define-grobs.scm}:
+
+@example
+'((space . 9) (minimum-distance . 7) (padding . 1))
+@end example
+
+Una forma de acercar los pentagramas entre sí es reducir el valor de
+la clave @code{space} (@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 #'space = #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{space} 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 =
+    #'((padding . 0)
+       (space . 0)
+       (minimum-distance . 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{space} si no se fija).  Así, las dos declaraciones siguientes
+son equivalentes:
+
+@example
+\override StaffGrouper #'staff-staff-spacing =
+  #'((space . 7))
+
+\override StaffGrouper #'staff-staff-spacing =
+  #'((padding . 0)
+     (space . 7)
+     (minimum-distance . 0)
+     (stretchability . 7))
+@end example
+
+Una consecuencia de esto (posiblemente no intencionada) es la
+eliminación de cualquier valor predeterminado @emph{inicializado} 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 valores
+predeterminados inicializados 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 inddividualmente con una declaración
+anidada.
+
+@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 Conceptos y propiedades útiles
 @section Conceptos y propiedades útiles
 @translationof Useful concepts and properties
@@ -2510,7 +2643,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
@@ -2551,7 +2684,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
@@ -2565,7 +2698,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
@@ -2601,7 +2734,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
@@ -2995,7 +3128,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
@@ -3011,7 +3144,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
@@ -3121,13 +3255,13 @@ Referencia de la notación:
 
 
 Archivos de inicio:
-@file{scm/@/define@/-grobs@/.scm}.
+@file{scm/define-grobs.scm}.
 
 Fragmentos de código:
 @rlsr{Tweaks and overrides}.
 
 Extender:
-@rextend{Interfaces for programmers}.
+@rextend{Interfaces para programadores}.
 
 Referencia de funcionamiento interno:
 @rinternals{All layout objects}.
@@ -3155,18 +3289,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
@@ -3178,16 +3315,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
-* Establecer directamente @code{X-offset} y @code{Y-offset}::
-* Uso del @code{side-position-interface}::
-* Uso del @code{self-alignment-interface}::
-* Uso del @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 Establecer directamente @code{X-offset} y @code{Y-offset}
+@node Establecer directamente X-offset e Y-offset
 @unnumberedsubsubsec Establecer directamente @code{X-offset} y @code{Y-offset}
-@translationof Setting @code{X-offset} and @code{Y-offset} directly
+@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
@@ -3208,9 +3349,9 @@ a
 
 @c TODO write more
 
-@node Uso del @code{side-position-interface}
+@node Uso del side-position-interface
 @unnumberedsubsubsec Uso del @code{side-position-interface}
-@translationof Using the @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
@@ -3250,9 +3391,9 @@ situar el objeto encima o debajo del padre de acuerdo con el valor de
 
 @c TODO Add examples
 
-@node Uso del @code{self-alignment-interface}
+@node Uso del self-alignment-interface
 @unnumberedsubsubsec Uso del @code{self-alignment-interface}
-@translationof Using the @code{self-alignment-interface}
+@translationof Using the self-alignment-interface
 
 @emph{Auto-alineación horizontal de los objetos}
 
@@ -3353,9 +3494,9 @@ example shows the difference:
 @c TODO The align-interface, BassFigureAlignment and VerticalAlignment
 
 
-@node Uso del @code{break-alignable-interface}
+@node Uso del break-alignable-interface
 @unnumberedsubsubsec Uso del @code{break-alignable-interface}
-@translationof Using the @code{break-alignable-interface}
+@translationof Using the break-alignable-interface
 
 @cindex alineación a objetos
 @cindex break-align-symbols
@@ -3370,20 +3511,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.
@@ -3396,20 +3544,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
@@ -3418,23 +3573,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
@@ -3442,19 +3597,19 @@ 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
 
 
@@ -3677,8 +3832,8 @@ referenciar argumentos (p.ej. @samp{$arg1}).
 
 Los argumentos @code{parser} y @code{location} son necesarios, y se
 utilizan en algunas situaciones avanzadas como se encuentra descrito
-en @rextend{Music function syntax}.  Para las funciones de
-sustitución, tan sólo hemos de asegurarnos de incluirlos.
+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
@@ -3704,7 +3859,7 @@ predicados de tipo definidos por el usuario.
 @seealso
 
 Referencia de la notación:
-@ref{Tipos de argumento comunes}.
+@ref{Predicados de tipo predefinidos}.
 
 Expansión de LilyPond:
 @rextend{Sintaxis de las funciones musicales}.
@@ -3764,7 +3919,7 @@ custosNote =
 \relative c' { c4 d e f \custosNote g }
 @end lilypond
 
-Substitution functions with multiple arguments can be defined:
+Se pueden definir funciones de sustitución con más de un argumento:
 
 @lilypond[quote,verbatim,ragged-right]
 tempoPadded =