]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/learning/tweaks.itely
Merge remote-tracking branch 'origin/translation'
[lilypond.git] / Documentation / es / learning / tweaks.itely
index c0d4b329f7eae838daaa38ab81c18e6e6bc5720c..20a4baf477fa5e7ee4af820d79a6e67b62f43172 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 6d501730d319a6456acd13870821f0bcad64bf4e
+    Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8
 
     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.17.6"
+@c \version "2.19.2"
 
 @node Trucar la salida
 @chapter Trucar la salida
@@ -23,6 +23,7 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 * Manual de referencia de funcionamiento interno::
 * Apariencia de los objetos::
 * Colocación de los objetos::
+* Espaciado vertical::
 * Colisiones de objetos::
 * Trucajes adicionales::
 @end menu
@@ -184,6 +185,18 @@ a partir de sus nombres.
 
 @strong{La instrucción \override}
 
+@menu
+* La instrucción override::
+* La instrucción revert::
+* El prefijo once::
+* La instrucción overrideProperty::
+* La instrucción tweak::
+@end menu
+
+@node La instrucción override
+@unnumberedsubsubsec La instrucción @code{@bs{}override}
+@translationof The override command
+
 @cindex override, instrucción
 @cindex override (sobreescritura), sintaxis de
 
@@ -256,7 +269,10 @@ e4 f |
 g4 a b c |
 @end lilypond
 
-@strong{La instrucción \revert}
+
+@node La instrucción revert
+@unnumberedsubsubsec La instrucción @code{@bs{}revert}
+@translationof The revert command
 
 @cindex revert, instrucción
 
@@ -293,7 +309,10 @@ g4 a
 b4 c |
 @end lilypond
 
-@strong{El prefijo \once}
+
+@node El prefijo once
+@unnumberedsubsubsec El prefijo @code{@bs{}once}
+@translationof The once prefix
 
 @funindex \once
 @funindex once
@@ -310,7 +329,7 @@ podemos cambiar el color de una sola nota de la siguiente manera:
 @cindex color, propiedad, ejemplo
 @cindex NoteHead, ejemplo de sobreescritura
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
 c4 d
 \override NoteHead.color = #red
 e4 f |
@@ -320,7 +339,29 @@ g4 a
 b c |
 @end lilypond
 
-@strong{La instrucción \overrideProperty}
+El prefijo @code{\once} también se puede usar delante de muchas
+instrucciones predefinidas para limitar su efecto a un solo momento
+musical:
+
+@lilypond[quote,verbatim,relative=1]
+c4 d
+\once \stemDown
+e4 f |
+g4 a
+\once \hideNotes
+b c |
+@end lilypond
+
+Sin embargo, las instrucciones predefinidas de la forma
+@code{\@dots{}Neutral},
+@code{\@dots{}Off} y @code{\un@dots{}} utilizan
+internamente @code{\revert} en vez de @code{\override}, por lo que
+añadir @code{\once} como prefijo aquí no tiene ningún efecto.
+
+
+@node La instrucción overrideProperty
+@unnumberedsubsubsec La instrucción @code{@bs{}overrideProperty}
+@translationof The overrideProperty command
 
 @cindex overrideProperty, instrucción
 
@@ -333,7 +374,10 @@ mencionamos aquí con un propósito de exhaustividad, pero para ver más
 detalles consulte @rextend{Trucos difíciles}.
 @c Maybe explain in a later iteration  -td
 
-@strong{La instrucción \tweak}
+
+@node La instrucción tweak
+@unnumberedsubsubsec La instrucción @code{@bs{}tweak}
+@translationof The tweak command
 
 @cindex tweak, instrucción
 
@@ -468,11 +512,11 @@ tresillo corto.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -486,14 +530,14 @@ se puede modificar de la forma usual mediante instrucciones
 @cindex TupletNumber, ejemplo de sobreescritura
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -678,7 +722,7 @@ necesita para hacerlo por sí mismo (aunque aún necesita algo de
 práctica).  La cual vendrá proporcionada por los ejemplos que vienen a
 continuación.
 
-@subheading Búsqueda del contexto
+@subsubsubheading Búsqueda del contexto
 
 @cindex contexto, encontrar
 @cindex contexto, buscar el, correcto
@@ -701,7 +745,7 @@ contextos de más bajo nivel que se encuentra implícito sin ambigüedad
 por el hecho de que estamos escribiendo notas, podemos omitirlo en
 este lugar concreto.
 
-@subheading Sobreescritura por una sola vez
+@subsubsubheading Sobreescritura por una sola vez
 
 @cindex sobreescritura por una sola vez
 @cindex once override
@@ -748,7 +792,7 @@ Hemos hecho que ahora solamente la primera ligadura sea más gruesa.
 La instrucción o prefijo @code{\once} también se puede usar antes de
 la instrucción @code{\set}.
 
-@subheading Recuperación del ajuste
+@subsubsubheading Recuperación del ajuste
 
 @cindex revertir
 @cindex predeterminadas, recuperar las propiedades
@@ -954,7 +998,10 @@ después del nombre de la propiedad en el RFI.  He aquí una lista de
 los tipos que podrá necesitar, junto con las reglas de dicho tipo, y
 algunos ejemplos.  Debe escribir siempre un símbolo de almohadilla,
 @code{#}, por supuesto, delante de estos valores cuando se introducen
-en la instrucción @code{\override}.
+en la instrucción @code{\override}, incluso si el propio valor ya
+comienza por@tie{}@code{#}.  Solamente ofrecemos aquí ejemplos para
+constantes; si quiere calcular un valor usando Scheme, consulte
+@rextend{Cálculos en Scheme}.
 
 @multitable @columnfractions .2 .45 .35
 @headitem Tipo de propiedad
@@ -964,29 +1011,32 @@ en la instrucción @code{\override}.
   @tab Verdadero o Falso, representado por #t o #f
   @tab @code{#t}, @code{#f}
 @item Dimensión (en espacios de pentagrama)
-  @tab Un número decimal positivo (en unidades de espacios de pentagrama)
+  @tab Un número decimal (en unidades de espacios de pentagrama)
   @tab @code{2.5}, @code{0.34}
 @item Dirección
-  @tab Una constante válida de dirección o su equivalente numérico (se permiten valores decimales entre -1 y 1)
+  @tab Una constante válida de dirección o su equivalente numérico
+  (@code{0} o @code{CENTER} indican una dirección neutra)
   @tab @code{LEFT}, @code{CENTER}, @code{UP},
        @code{1}, @w{@code{-1}}
 @item Entero
   @tab Un número entero positivo
-  @tab @code{3}, @code{1}
+  @tab @code{3}, @code{-1}
 @item Lista
-  @tab Un conjunto de valores separados por espacios, encerrado entre paréntesis y precedido de un apóstrofo
-  @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+  @tab Una secuencia de constantes o símbolos separados por espacios,
+  encerrado entre paréntesis
+  y precedido de un apóstrofo o comilla simple
+  @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()},
        @code{'(1.0 0.25 0.5)}
 @item Marcado
   @tab Cualquier elemento válido de marcado de texto
-  @tab @code{\markup @{ \italic "cresc." @}}
+  @tab @code{\markup @{ \italic "cresc." @}}, @code{"gaita"}
 @item Momento
   @tab Una fracción de redonda construida con la función make-moment
-  @tab @code{(ly:make-moment 1 4)},
-       @code{(ly:make-moment 3 8)}
+  @tab @code{(ly:make-moment 1/4)},
+       @code{(ly:make-moment 3/8)}
 @item Número
-  @tab Cualquier valor decimal positivo o negativo
-  @tab @code{3.5}, @w{@code{-2.45}}
+  @tab Cualquier valor positivo o negativo, posiblemente decimal
+  @tab @code{3}, @w{@code{-2.45}}
 @item Pareja (de números)
   @tab Dos números separados por un @q{espacio . espacio}, encerrado entre paréntesis y precedido de un apóstrofo
   @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
@@ -998,8 +1048,9 @@ en la instrucción @code{\override}.
   @tab @code{bend::print}, @code{ly:text-interface::print},
        @code{#f}
 @item Vector
-  @tab Una lista de tres elementos encerrados entre paréntesis y precedida de apóstrofo-almohadilla, @code{'#}.
-  @tab @code{'#(#t #t #f)}
+  @tab Constantes
+  encerradas entre @code{#(}@dots{}@code{)}.
+  @tab @code{#(#t #t #f)}
 @end multitable
 
 
@@ -1060,7 +1111,16 @@ ellas pueden afectar la visibilidad de las barras de compás (y, por
 supuesto, por extensión, también la de muchos otros objetos de
 presentación).  Vamos a considerar cada uno de ellos por orden.
 
-@subheading stencil (sello)
+@menu
+* La propiedad stencil (sello)::
+* La propiedad break-visibility (visibilidad en el salto)::
+* La propiedad transparent (transparente)::
+* La propiedad color::
+@end menu
+
+@node La propiedad stencil (sello)
+@unnumberedsubsubsec La propiedad @code{stencil} (sello)
+@translationof The stencil property
 
 @cindex stencil (sello), propiedad
 
@@ -1143,7 +1203,9 @@ que establece el sello a un objeto con tamaño nulo:
 }
 @end lilypond
 
-@subheading break-visibility (visibilidad en el salto)
+@node La propiedad break-visibility (visibilidad en el salto)
+@unnumberedsubsubsec The @code{break-visibility} (visibilidad en el salto)
+@translationof The break-visibility property
 
 @cindex break-visibility, propiedad
 
@@ -1177,7 +1239,9 @@ el valor en sí dentro de la instrucción @code{\override}.
 
 Y podemos ver que esto también quita todas las líneas divisorias.
 
-@subheading transparent (transparente)
+@node La propiedad transparent (transparente)
+@unnumberedsubsubsec La propiedad @code{transparent} (transparente)
+@translationof The transparent property
 
 @cindex transparent, propiedad
 @cindex transparencia
@@ -1254,7 +1318,9 @@ objeto por completo; al hacer el objeto @code{transparent} (lo que
 puede hacerse utilizando @code{\hide}) lo dejamos donde está, pero
 lo hacemos invisible.
 
-@subheading color
+@node La propiedad color
+@unnumberedsubsubsec La propiedad @code{color}
+@translationof The color property
 
 @cindex color, propiedad
 
@@ -1835,6 +1901,15 @@ mueven a la derecha o a la izquierda cuando apuntan hacia arriba o
 hacia abajo.  Esto se controla automáticamente cuando está establecida
 la propiedad @code{direction}.
 
+@menu
+* La propiedad direction (dirección)::
+* Digitaciones::
+@end menu
+
+@node La propiedad direction (dirección)
+@unnumberedsubsubsec La propiedad @code{direction} (dirección)
+@translationof The direction property
+
 @cindex abajo
 @cindex arriba
 @cindex centro
@@ -1929,7 +2004,9 @@ otras instrucciones (que están implementadas usando
 @code{\once} de la misma forma en que lo haría con las
 sobreescrituras explícitas.
 
+@node Digitaciones
 @unnumberedsubsubsec Digitaciones
+@translationof Fingering
 
 @cindex digitación, colocación
 @cindex digitación de acordes
@@ -2082,6 +2159,22 @@ objeto @code{Fingering} del RFI que es @w{@code{-5}}, así que probaremos
 @subsection Objetos fuera del pentagrama
 @translationof Outside-staff objects
 
+Los objetos fuera-del-pentagrama se sitúan automáticamente para evitar
+las colisiones.  Existen varias formas de sobreescribir la colocación
+automática si el posicionado no resulta óptimo.
+
+@menu
+* La propiedad outside-staff-priority (prioridad fuera del pentagrama)::
+* La instrucción textLengthOn::
+* Posicionamiento de los matices dinámicos::
+* Escalado de un «Grob»::
+@end menu
+
+
+@node La propiedad outside-staff-priority (prioridad fuera del pentagrama)
+@unnumberedsubsubsec La propiedad @code{outside-staff-priority} (prioridad fuera del pentagrama)
+@translationof The outside-staff-priority property
+
 Los objetos fuera-del-pentagrama se colocan automáticamente para
 evitar las colisiones.  Los objetos que tienen el valor más bajo de la
 propiedad @code{outside-staff-priority} se sitúan más cerca del
@@ -2300,7 +2393,9 @@ necesitar claramente espaciar las notas en sentido horizontal para
 hacer sitio para el texto.  Esto se hace empleando la instrucción
 @code{textLengthOn}.
 
-@subheading \textLengthOn
+@node La instrucción textLengthOn
+@unnumberedsubsubsec La instrucción @code{@bs{}textLengthOn}
+@translationof The textLengthOn command
 
 @cindex notas, espaciar junto al texto
 
@@ -2324,9 +2419,12 @@ c2^"Text4" |
 @end lilypond
 
 La instrucción para volver al comportamiento predeterminado es
-@code{\textLengthOff}.  Recuerde que @code{\once} funciona solamente
-con @code{\override}, @code{\set}, @code{\revert} o @code{\unset}, así
-que no se puede usar con @code{\textLengthOn}.
+@code{\textLengthOff}.  De forma alternativa, se puede usar
+@code{\once} con @code{\textLengthOn} si el efecto se ha de limitar a
+un solo momento musical.
+The corresponding spacing behavior for rehearsal marks and tempo
+indications is independently controlled with the commands
+@code{\markLengthOn} and @code{\markLengthOff}.
 
 @cindex marcado, texto de, permitir las colisiones en
 
@@ -2360,8 +2458,9 @@ c,,2^"Long Text   "  % Spaces at end are honored
 c''2 |
 @end lilypond
 
-
-@subheading Matices dinámicos
+@node Posicionamiento de los matices dinámicos
+@unnumberedsubsubsec Posicionamiento de los matices dinámicos
+@translationof Dynamics placement
 
 @cindex trucar la colocación de los matices
 @cindex dinámica, trucar la colocación de las indicaciones de
@@ -2392,7 +2491,7 @@ artificial:
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
-a4\f b\mf c\mp b\p
+a4\f b\mf a\mp b\p
 @end lilypond
 
 @noindent
@@ -2405,7 +2504,9 @@ una instrucción equivalente para las indicaciones de matiz dinámico.
 Por tanto, tendremos que averiguar cómo hacerlo utilizando
 instrucciones @code{\override}.
 
-@subheading Escalado de un «Grob»
+@node Escalado de un «Grob»
+@unnumberedsubsubsec Escalado de un «Grob»
+@translationof Grob sizing
 
 @cindex grob, cambio de tamaño de un
 @cindex escala de los grobs
@@ -2424,19 +2525,22 @@ contemplan el @code{grob-interface}.
 
 @cindex @code{extra-spacing-width}
 
-De forma predeterminada, los objetos fuera-del-pentagrama reciben una
-anchura cero, de manera que pueden solaparse en la dirección
-horizontal.  Esto se hace mediante el truco de añadir una cantidad
-infinita a la dimensión más a la izquierda y menos infinito a la
-dimensión más a la derecha estableciendo el valor de
-@code{extra-spacing-width} a @code{'(+inf.0 . -inf.0)}.  Así, para
-asegurar que no se superponen en la dirección horizontal tendremos que
-sobreescribir este valor de @code{extra-spacing-width} a @code{'(0
-. 0)} de forma que el verdadero ancho se presente.  Esta es la
-instrucción que lo hace para las indicaciones dinámicas:
+De forma predeterminada, los objetos fuera-del-pentagrama reciben
+una anchura cero, de manera que pueden solaparse en la dirección
+horizontal.  Esto se hace mediante el truco de hacer que la
+dimensión más a la izquierda sea igual a infinito y que la
+dimensión más a la derecha sea igual a menos infinito,
+estableciendo el valor de @code{extra-spacing-width} a
+@code{'(+inf.0 . -inf.0)}.  Así, para asegurar que no se
+superponen en la dirección horizontal tendremos que sobreescribir
+este valor de @code{extra-spacing-width} para darles un poco de
+espacio adicional.  Las unidades son el espacio entre dos líneas
+del pentagrama, de forma que debería bastar mover el límite
+izquierdo media unidad a la izquierda y el límite derecho media
+unidad a la derecha:
 
 @example
-\override DynamicText.extra-spacing-width = #'(0 . 0)
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
 @end example
 
 @noindent
@@ -2447,37 +2551,224 @@ Veamos si funciona en nuestro ejemplo anterior:
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
-\override DynamicText.extra-spacing-width = #'(0 . 0)
-a4\f b\mf c\mp b\p |
+% Extend width by 1 staff space
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
+a4\f b\mf a\mp b\p
 @end lilypond
 
 @noindent
-Bueno, ciertamente ha hecho que las marcas dinámicas ya no estén
-desplazadas, pero aún quedan dos problemas.  Las marcas tendrían que
-separarse un poco más entre sí, y sería mejor si todas estuvieran a la
-misma distancia del pentagrama.  Podemos resolver el primer problema
-fácilmente.  En vez de hacer cero la anchura
-@code{extra-spacing-width}, podemos añadirle algo más.  Las unidades
-son el espacio entre dos líneas de pentagrama, así que al mover el
-límite izquierdo media unidad a la izquierda y el límite derecho media
-unidad hacia la derecha, deberíamos conseguirlo:
+Esto tiene un mejor aspecto, pero quizá habríamos preferido que
+las indicaciones de dinámica estuvieran alineadas sobre la misma
+línea de base en lugar de ir hacia arriba y hacia abajo con las
+notas.  La propiedad que lo hace es @code{staff-padding} (relleno
+de pentagrama) que se estudia en la sección dedicada a las
+colisiones (véase @ref{Colisiones de objetos}).
+
+@node Espaciado vertical
+@section Espaciado vertical
+@translationof Vertical spacing
+
+Por lo general, el espaciado vertical de los objetos musicales que
+LilyPond hace es bastante bueno.  Veamos cómo se comporta con una
+canción sencilla, con dos voces y acompañamiento de piano:
+
+@lilypond[quote,fragment,ragged-right]
+<<
+  \new ChoirStaff
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
 
-@cindex DynamicText, ejemplo de sobreescritura
-@cindex extra-spacing-width, propiedad, ejemplo
+No hay ningún problema con el espaciado vertical predeterminado.
+Sin embargo, supongamos que estamos trabajando con un editor que
+tiene ciertos requisitos específicos para el espaciado vertical de
+los pentagramas y la letra: quiere que la letra está más separada
+de las notas, que el acompañamiento de piano esté más separado de
+la línea vocal y que los dos pentagramas de piano estén más juntos
+entre sí.  Comenzaremos con la letra.
+
+La letra se encuentra en el interior de un sistem, y por tanto las
+instrucciones para aplicarle el espaciado estarán en
+@ruser{Espaciado vertical flexible dentro de los sistemas}.  Allí
+se dice que el texo son líneas del tipo @qq{no-pauta} y por tanto
+la instrucción para cambiar su espaciado hará referencia a la
+propiedad @code{nonstaff}.  Para separarlas del pentagrama al que
+pertenecen (la pauta superior) usaremos la propiedad
+@code{relatedstaff}.  Para separarlas de la línea inferior
+usaremos la propiedad @code{unrelatedstaff}.  Las partes vocales
+pertenecen a un grupo vertical @code{VerticalAxisGroup}, por lo
+que tenemos que ajustar sus propiedades.  Probémoslo y veamos si
+funciona.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+  \new ChoirStaff
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics \with {
+      \override VerticalAxisGroup.
+        nonstaff-relatedstaff-spacing.padding = #5
+      \override VerticalAxisGroup.
+        nonstaff-unrelatedstaff-spacing.padding = #5
+    }
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\dynamicUp
-% Extend width by 1 staff space
-\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
-a4\f b\mf c\mp b\p
+Bien: sí, funciona, pero quizá demasiado bien.  Cuando
+establecemos el @code{padding} (relleno) a 5, LilyPond añade 5
+espacios de pentagrama a la distancia entre los objetos, lo que es
+excesivo para nosotros en este caso.  Usaremos un valor de 2.
+
+A continuación, desplazaremos la música de piano para separarla de
+las partes vocales.  La música vocal es una @code{ChoirStaff} (un
+contexto de sistema coral), y por tanto tenemos que aumentar el
+espaciado entre ese grupo de pentagramas y el sistema de piano que
+se encuentra debajo.  Lo haremos cambiando la
+@code{basic-distance} (distancia básica) del @code{StaffGrouper}
+del @code{staffgroup-staff-spacing}.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+  \new ChoirStaff \with {
+    \override StaffGrouper.
+      staffgroup-staff-spacing.basic-distance = #15
+  }
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics \with {
+      \override VerticalAxisGroup.
+        nonstaff-relatedstaff-spacing.padding = #2
+      \override VerticalAxisGroup.
+        nonstaff-unrelatedstaff-spacing.padding = #2
+    }
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
 @end lilypond
 
-@noindent
-Esto tiene un mejor aspecto, pero quizá habríamos preferido que las
-indicaciones de dinámica estuvieran alineadas sobre la misma línea de
-base en lugar de ir hacia arriba y hacia abajo con las notas.  La
-propiedad que lo hace es @code{staff-padding} (relleno de pentagrama)
-que se estudia en la sección siguiente.
+Muy bien.  Ahora, sólo nos queda el último requisito de hacer que
+los pentagramas de piano estén más juntos.  Para conseguirlo, de
+nuevo alteramos las propiedades del @code{StaffGrouper}, pero esta
+vez vamos a reducir tanto la @code{basic-distance} (distancia
+básica) como el @code{padding} (relleno).  Podemos hacerlo como se
+muestra a continuación.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+  \new ChoirStaff \with {
+    \override StaffGrouper.
+      staffgroup-staff-spacing.basic-distance = #15
+  }
+  <<
+    \new Staff {
+      \new Voice = "music" {
+        b'2 c' c' c'
+      }
+    }
+    \new Lyrics \with {
+      \override VerticalAxisGroup.
+        nonstaff-relatedstaff-spacing.padding = #2
+      \override VerticalAxisGroup.
+        nonstaff-unrelatedstaff-spacing.padding = #2
+    }
+    \lyricsto "music" {
+      Here are some lyrics
+    }
+    \new Staff {
+      \clef bass e'2 f e c
+    }
+  >>
+  \new PianoStaff \with {
+    \override StaffGrouper.staff-staff-spacing = #'(
+                            (basic-distance . 0)
+                            (padding . 0))
+  }
+  <<
+    \new Staff {
+      g''2 c'' c'' a''
+    }
+    \new Staff {
+      \clef bass e2 f c e
+    }
+  >>
+>>
+@end lilypond
+
+Con esto los hemos colocado muy juntos entre sí (pero es lo que el
+editor quería).  Se podrían haber separado más alterando el
+relleno, @code{padding}, o la distancia básica,
+@code{basic-distance}, si quisiéramos.
+
+Hay muchas formas de alterar el espaciado vertical.  Un punto
+clave que debemos recordar es que el espaciado entre objetos
+dentro de un @code{StaffGroup} (como los grupos @code{GrandStaff}
+o @code{PianoStaff}) se controla con las variables de espaciado
+del @code{StaffGrouper}. El espaciado de los pentagramas no
+agrupados (como @code{Lyrics} y @code{Staff}) se controla con las
+variables del @code{VerticalAxisGroup}.  Para ver más detalles,
+consulte
+@ruser{Variables de espaciado de paper verticales flexibles} y
+@ruser{Espaciado vertical flexible dentro de los sistemas}.
 
 
 @node Colisiones de objetos
@@ -2643,29 +2934,66 @@ pentagrama en medios espacios de pentagrama.  Es útil en la
 resolución de colisiones entre objetos de presentación como silencios
 multi-compás, ligaduras de unión y notas en distintas voces.
 
+@item
+@code{horizontal-shift}
+
+@cindex horizontal-shift, propiedad
+@cindex nota, columna de
+@cindex nota, colisiones
+@cindex colisiones de notas
+@cindex desplazamiento, instrucciones de
+@funindex \shiftOff
+@funindex shiftOff
+@funindex \shiftOn
+@funindex shiftOn
+@funindex \shiftOnn
+@funindex shiftOnn
+@funindex \shiftOnnn
+@funindex shiftOnnn
+
+Dentro de una vozm todas las notas que se producen en el mismo
+moemtno se agrupan en una columna de notas, y se crea un objeto
+@code{NoteColumn} para controlar el posicionamiento horizonal de
+dicho grupo de notas (véase @qq{Columnas de nota} en @ref{Voces
+explícitas}).  Si @emph{y sólo si} dos o más columnas de nota
+dentro de un solo contexto de pauta, las dos con las plicas en la
+misma dirección, aparecen en el mismo momento musical, los valores
+de sus propiedades @code{horizontal-shift} se usan para asignarles
+una puntuación y las columnas con puntuaciones más altas se
+desplazan progresivamente para evitar las colisiones entre las
+cabezas de las notas.  Esta propiedad se establece con las
+instrucciones @code{\voiceXXX} y se pueden sobreescribir
+directamente con una instrucción @code{\override} o, de forma más
+común con las instrucciones @code{\shiftOn}.  Observe que esta
+propiedad se usa para @emph{calificar} las columnas de nota o para
+aplicar desplazamientos: no especifica la magnitud del
+desplazamiento, que se va incrementando progresivamente en pasos
+basándolse en la anchura de las cabezas de nota para cada
+puntuación.  Los pasos son normalmente de la mitad de la anchura
+de una cabeza de nota, pero puede ser el ancho completo de la
+cabeza de una nota cuando está implicado un grupo de notas muy
+apretadas entre sí.
+
 @item
 @code{force-hshift} (forzar desplazamiento horizontal)
 
 @cindex force-hshift, propiedad
 
-Las notas muy juntas de un acorde, o aquellas que ocurren al mismo
-tiempo en voces distintas, se disponen en dos (y ocasionalmente más)
-columnas para evitar la superposición de las cabezas.  Éstas reciben
-el nombre de columnas de notas, y se crea un objeto llamado
-@code{NoteColumn} para disponer las notas en dicha columna.
-
 La propiedad @code{force-hshift} es una propiedad de una
 @code{NoteColumn} (realmente lo es del interface
-@code{note-column-interface}).  Modificarlo permite mover una columna
-de notas en unidades adecuadas a una columna de notas, por ejemplo la
-anchura de la cabeza de la nota de la primera voz.  Se debe usar en
-situaciones complejas donde las instrucciones @code{\shiftOn} normales
-(véase @ref{Voces explícitas}) no resuelven el
-conflicto entre las notas.  Es preferible a la propiedad
-@code{extra-offset} para este propósito porque no hay necesidad de
-averiguar la distancia en espacios de pentagrama, y mover las notas
-dentro o fuera de una @code{NoteColumn} afecta a otras acciones como a
-la fusión entre cabezas de nota.
+@code{note-column-interface}).  Modificarlo permite mover una
+columna de notas en situaciones donde las columnas de notas se
+superponen.  Observe que no tiene efecto sobre las columnas de
+nota que no se superponen.  Se especifica en unidades adecuadas a
+una columna de notas, por ejemplo la anchura de la cabeza de la
+nota de la primera voz.  Se debe usar en situaciones complejas
+donde las instrucciones @code{\shiftOn} normales (véase @ref{Voces
+explícitas}) no resuelven el conflicto entre las notas de forma
+satisfactoria.  Es preferible a la propiedad @code{extra-offset}
+para este propósito porque no hay necesidad de averiguar la
+distancia en espacios de pentagrama, y mover las notas dentro o
+fuera de una @code{NoteColumn} afecta a otras acciones como a la
+fusión entre cabezas de nota.
 
 @end itemize
 
@@ -2750,7 +3078,20 @@ Veamos ahora cómo pueden ser de ayuda las propiedades que hemos visto
 en la sección anterior, para resolver problemas de notación que se
 superpone.
 
-@subheading la propiedad padding (relleno)
+@menu
+* La propiedad padding (relleno)::
+* La propiedad right-padding (relleno por la derecha)::
+* La propiedad staff-padding (relleno de pentagrama)::
+* La propiedad self-alignment-X (auto-alineación en X)::
+* La propiedad staff-position (posición en el pentagrama)::
+* La propiedad extra-offset (desplazamiento adicional)::
+* La propiedad positions (posiciones)::
+* La propiedad force-hshift (forzar desplazamiento horizontal)::
+@end menu
+
+@node La propiedad padding (relleno)
+@unnumberedsubsubsec La propiedad @code{padding} (relleno)
+@translationof The padding property
 
 @cindex relleno
 @cindex arreglar notación que se superpone
@@ -2796,7 +3137,9 @@ entonces ese objeto se moverá, y también todos los que están por fuera
 de él.
 
 
-@subheading right-padding (relleno por la derecha)
+@node La propiedad right-padding (relleno por la derecha)
+@unnumberedsubsubsec La propiedad @code{right-padding} (relleno por la derecha)
+@translationof The right-padding property
 
 @cindex right-padding, propiedad
 
@@ -2842,15 +3185,17 @@ sobreescribiendo @code{right-padding}.
 
 @noindent
 
-@subheading la propiedad staff-padding (relleno de pentagrama)
+@node La propiedad staff-padding (relleno de pentagrama)
+@unnumberedsubsubsec La propiedad @code{staff-padding} (relleno de pentagrama)
+@translationof The staff-padding property
 
 @cindex alineación de objetos sobre la línea base
 @cindex objetos, alineación sobre la línea base
 
 @code{staff-padding} se puede usar para alinear objetos como matices
-dinámicos a lo largo de una línea de base a una altura fija sobre el
-pentagrama, en lugar de hacerlo a una altura que dependa de la
-posición de la nota a la que están adosados.  No es una propiedad de
+dinámicos a lo largo de una línea de base a una distancia fija del
+pentagrama, siempre que no exista ningún otro elemento de notación
+que fuerce una distancia mayor al pentagrama.  No es una propiedad de
 @code{DynamicText} sino de @code{DynamicLineSpanner}.  Esto es así
 porque la línea de base debe aplicarse por igual a @strong{todas} las
 dinámicas, entre ellas las que se han creado como objetos de
@@ -2863,19 +3208,17 @@ matiz en el ejemplo de la sección anterior:
 @cindex staff-padding, propiedad, ejemplo
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\dynamicUp
-% Extend width by 1 unit
-\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
-% Align dynamics to a base line 2 units above staff
-\override DynamicLineSpanner.staff-padding = #2
-a4\f b\mf c\mp b\p
+\override DynamicLineSpanner.staff-padding = #3
+a4\f b\mf a\p b\mp
 @end lilypond
 
 
-@subheading la propiedad self-alignment-X (auto-alineación en X)
+@node La propiedad self-alignment-X (auto-alineación en X)
+@unnumberedsubsubsec La propiedad @code{self-alignment-X} (auto-alineación en X)
+@translationof The self-alignment-X property
 
-El ejemplo siguiente muestra cómo esto puede resolver la colisión
-entre un objeto de digitación de cuerda y la plica de una nota
+El ejemplo siguiente muestra cómo ajustar la posición
+de un objeto de digitación de cuerda en relación a la plica de una nota
 mediante el alineamiento del límite derecho con el punto de referencia
 de la nota «padre»:
 
@@ -2889,7 +3232,9 @@ de la nota «padre»:
 <a\2>
 @end lilypond
 
-@subheading la propiedad staff-position (posición en el pentagrama)
+@node La propiedad staff-position (posición en el pentagrama)
+@unnumberedsubsubsec La propiedad @code{staff-position} (posición en el pentagrama)
+@translationof The staff-position property
 
 @cindex objeto, colisión dentro del pentagrama
 
@@ -2908,7 +3253,7 @@ aquí un ejemplo de colisión de este tipo:
 La mejor solución aquí es mover el silencio multi-compás hacia abajo,
 pues el silencio está en la voz dos.  El ajuste predeterminado para
 @code{\voiceTwo} (es decir, en la segunda voz de una construcción
-@code{<<@{...@} \\ @{...@}>>}) es que @code{staff-position} tenga el
+@code{<<@{@dots{}@} \\ @{@dots{}@}>>}) es que @code{staff-position} tenga el
 valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos,
 cuatro semi-espacios de pentagrama, al valor @w{@code{-8}}.
 
@@ -2927,7 +3272,9 @@ cuatro semi-espacios de pentagrama, al valor @w{@code{-8}}.
 Esto es mejor que utilizar, por ejemplo, @code{extra-offset}, porque
 la línea adicional por encima del silencio se inserta automáticamente.
 
-@subheading la propiedad extra-offset (desplazamiento adicional)
+@node La propiedad extra-offset (desplazamiento adicional)
+@unnumberedsubsubsec La propiedad @code{extra-offset} (desplazamiento adicional)
+@translationof The extra-offset property
 
 @cindex posicionar objetos
 @cindex posicionar grobs
@@ -2940,7 +3287,7 @@ posicionamiento de un objeto tanto vertical como horizontalmente.
 En el ejemplo siguiente, la segunda digitación se desplaza ligeramente
 a la izquierda, y 1.8 espacios de pentagrama hacia abajo:
 
-@cindex Fingering, ejemplo de sobreescritura
+@cindex fingering (digitación), ejemplo de sobreescritura
 @cindex extra-offset, propiedad, ejemplo
 
 @lilypond[quote,fragment,relative=1,verbatim]
@@ -2951,7 +3298,9 @@ f4-5
 @end lilypond
 
 
-@subheading la propiedad positions (posiciones)
+@node La propiedad positions (posiciones)
+@unnumberedsubsubsec La propiedad @code{positions} (posiciones)
+@translationof The positions property
 
 @cindex controlar manualmente grupos especiales, ligaduras y barras
 @cindex manual, control, de grupos especiales, ligaduras y barras
@@ -2961,40 +3310,42 @@ f4-5
 @cindex barras de corchea, control manual
 
 La propiedad @code{positions} permite controlar manualmente la
-posición e inclinación de los tresillos, ligaduras de expresión y de
-fraseo, y barras de corchea.  He aquí un ejemplo que tiene una fea
-ligadura de fraseo debido a que intenta evitar la ligadura de
-expresión que está sobre la acciaccatura.
+posición vertical y de ahí también la inclinación de los tresillos,
+ligaduras de expresión y de fraseo, y barras de corchea.
 
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4 \acciaccatura e8\( d8 c~ c d c d\)
-@end lilypond
+He aquí un ejemplo en el que las ligaduras de fraseo y de expresión
+chocan entre sí:
 
-@noindent
-Simplemente podemos mover la ligadura de fraseo por encima de las
-notas, y de hecho ésta será la solución preferida:
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+a8 \( ( a'16 ) a \)
+@end lilypond
 
 @cindex PhrasingSlur, ejemplo de sobreescritura
 @cindex positions, propiedad, ejemplo
 
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\phrasingSlurUp
-\acciaccatura e8\( d8 c~ c d c d\)
-@end lilypond
-
 @noindent
-Pero si por algún motivo no pudiéramos hacerlo, la otra alternativa
-sería mover el extremo izquierdo de la ligadura de fraseo un poco
-hacia abajo usando la propiedad @code{positions}.  Esto también
-resuelve la forma algo indecente de la ligadura.
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\once \override PhrasingSlur.positions = #'(-4 . -3)
-\acciaccatura e8\( d8 c~ c d c d\)
+Una posibilidad sería mover los dos extremos de la ligadura de fraseo
+hacia arriba.  Podemos tratar de establecer el extremo izquierdo a 2.5
+espacios de pentagrama por encima de la tercera línea y el extremo
+derecho a 4.5 también hacia arriba, y LilyPond seleccionaría la
+ligadura de fraseo de entre las candidatas que ha encontrado con sus
+extremos más cercanos a éstos:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
+a8 \( ( a'16 ) a \)
 @end lilypond
 
+Esto supone una mejora, pero ¿por qué no bajar un poco el extremo
+derecho de la ligadura de expresión?  Si lo probamos, veremos que no
+se puede hacer así.  Ello es a causa de que no existen ligaduras de
+expresión candidatas que estén más bajas que la que ya se ha
+seleccionado, y en este caso la propiedad @code{positions} no tiene
+ningún efecto.  Sin embargo, las ligaduras de unión, expresión y
+fraseo @emph{se pueden} colocar y conformar de manera muy exacta
+cuando se necesita.  Para aprender la manera de hacerlo, consulte
+@ruser{Modificación de ligaduras de unión y de expresión}.
+
 Presentamos otro ejemplo.  Vemos que la barra
 choca con las ligaduras:
 
@@ -3002,12 +3353,12 @@ choca con las ligaduras:
 {
   \time 4/2
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c'1 ~ 2. e'8 f' }
     \\
     { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
   >>
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c'1 ~ 2. e'8 f' }
     \\
     { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
   >>
@@ -3026,7 +3377,7 @@ central hasta, digamos, 1 espacio:
 {
   \time 4/2
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c'1 ~ 2. e'8 f' }
     \\
     {
       \override Beam.positions = #'(-1 . -1)
@@ -3034,7 +3385,7 @@ central hasta, digamos, 1 espacio:
     }
   >>
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c'1 ~ 2. e'8 f' }
     \\
     { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
   >>
@@ -3046,7 +3397,9 @@ Observe que la sobreescritura sigue aplicándose en la primera voz del
 segundo compás de corcheas, pero no a ninguna de las barras de la
 segunda voz.
 
-@subheading la propiedad force-hshift (forzar desplazamiento horizontal)
+@node La propiedad force-hshift (forzar desplazamiento horizontal)
+@unnumberedsubsubsec La propiedad @code{force-hshift} (forzar desplazamiento horizontal)
+@translationof The force-hshift property
 
 Ahora podremos ver cómo aplicar las correcciones finales al ejemplo de
 Chopin que presentamos al final de @ref{Oigo voces}, que
@@ -3068,16 +3421,24 @@ dejamos con este aspecto:
 @end lilypond
 
 @noindent
-Es necesario que la nota interior del primer acorde (el La bemol de la
-cuarta voz) no se aparte de la columna vertical de la nota aguda.
-Para corregirlo, ajustamos a cero el valor para esta nota de
-@code{force-hshift}, que es una propiedad de @code{NoteColumn}.
-
-En el segundo acorde preferimos que el Fa esté alineado con el La bemol
-y que la nota grave se coloque ligeramente a la derecha para evitar una
-colisión de las plicas.  Lo conseguimos ajustando el valor de
-@code{force-hshift} en la @code{NoteColumn} del Re bemol grave para
-moverlo a la derecha medio espacio de pentagrama.
+Es necesario que la nota interior del primer acorde (el La bemol
+de la cuarta voz) no se aparte de la columna vertical de la nota
+aguda.  Podríamos esperar corregirlo mediante el uso de
+@code{\shiftOff}, pero esto produce advertencias sobre columnas de
+notas que colisionan.  En lugar de ello, ajustamos a cero el valor
+para esta nota de @code{force-hshift}, que es una propiedad de
+@code{NoteColumn}.
+
+En el segundo acorde preferimos que el Fa esté alineado con el La
+bemol y que la nota grave se coloque ligeramente a la derecha para
+evitar una colisión de las plicas.  Lo conseguimos ajustando el
+valor de @code{force-hshift} en la @code{NoteColumn} del Re bemol
+grave para moverlo a la derecha medio espacio de pentagrama, y
+fijando @code{force-hshift} para el Fa al vaor cero.  Observe que
+usamos @code{\once} para evitar que los ajustes se propaguen más
+allá del momento musical inmediato, aunque en este pequeño ejemplo
+podrían omitirse el @code{\once} y el segundo @code{\override} de
+la cuarta voz.  Ello no supondría una buena práctica.
 
 Presentamos a continuación el resultado final:
 
@@ -3090,17 +3451,11 @@ Presentamos a continuación el resultado final:
   <<
     { c2 aes4. bes8 }
     \\
-    {
-      <ees, c>2
-      \once \override NoteColumn.force-hshift = #0.5
-      des2
-    }
+    { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
     \\
     \\
-    {
-      \override NoteColumn.force-hshift = #0
-      aes'2 f4 fes
-    }
+    { \once \override NoteColumn.force-hshift = 0 aes'2
+      \once \override NoteColumn.force-hshift = 0 f4 fes }
   >> |
   <c ees aes c>1 |
 }
@@ -3159,7 +3514,6 @@ rhMusic = \relative c'' {
         \stemDown
         % Stem on the d2 should be invisible
         \tweak Stem.transparent ##t
-        \tweak Flag.transparent ##t
         d2
       }
       \new Voice {
@@ -3225,7 +3579,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3283,7 +3637,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3359,7 +3713,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3442,7 +3796,7 @@ rhMusic = \relative c'' {
       { c,8 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
@@ -3603,7 +3957,6 @@ rhMusic = \relative c'' {
         \stemDown
         % Stem on the d2 should be invisible
         \tweak Stem.transparent ##t
-        \tweak Flag.transparent ##t
         d2
       }
       \new Voice {
@@ -3646,7 +3999,7 @@ lhMusic = \relative c' {
 
 @menu
 * Otras aplicaciones de los trucos::
-* Uso de variables para los trucos::
+* Uso de variables para los ajustes de disposición::
 * Hojas de estilo::
 * Otras fuentes de información::
 * Trucos avanzados con Scheme::
@@ -3656,6 +4009,11 @@ lhMusic = \relative c' {
 @subsection Otras aplicaciones de los trucos
 @translationof Other uses for tweaks
 
+@menu
+* Unir notas entre voces distintas::
+* Simulación de un calderón en el MIDI::
+@end menu
+
 @cindex transparent, uso de la propiedad
 @cindex objetos, hace invisibles
 @cindex eliminar objetos
@@ -3664,9 +4022,12 @@ lhMusic = \relative c' {
 @cindex ocultar objetos
 @cindex invisibles, objetos
 @cindex objetos invisibles
-@cindex ligar notas entre voces distintas
 
-@subheading Ligar notas entre voces distintas
+@node Unir notas entre voces distintas
+@unnumberedsubsubsec Unir notas entre voces distintas
+@translationof Tying notes across voices
+
+@cindex ligar notas entre voces distintas
 
 El ejemplo siguiente muestra cómo conectar notas que están en
 distintas voces utilizando ligaduras de unión.  Normalmente sólo se
@@ -3674,7 +4035,7 @@ pueden conectar mediante ligaduras de unión dos notas que estén en la
 misma voz.  Usando dos voces, con las notas ligadas en una de ellas:
 
 @lilypond[quote,fragment,relative=2]
-<< { b8~ b\noBeam } \\ { b8[ g] } >>
+<< { b8~ 8\noBeam } \\ { b8[ g] } >>
 @end lilypond
 
 @noindent
@@ -3688,8 +4049,7 @@ de que la ligadura se cruza entre las voces:
 <<
   {
     \tweak Stem.transparent ##t
-    \tweak Flag.transparent ##t
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
@@ -3704,9 +4064,8 @@ valor de longitud @code{length} a @code{8},
 <<
   {
     \tweak Stem.transparent ##t
-    \tweak Flag.transparent ##t
     \tweak Stem.length #8
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
@@ -3730,7 +4089,7 @@ volver a escribir el ejemplo anterior como
     \single \hide Stem
     \single \hide Flag
     \tweak Stem.length #8
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
@@ -3744,7 +4103,9 @@ En tal caso, @code{\once} afecta a todos los objetos, mientras que
 @code{\single} solo afecta a uno, aquél que se genera por parte de
 la expresión musical que le sigue inmediatamente.
 
-@subheading Simulación de un calderón en el MIDI
+@node Simulación de un calderón en el MIDI
+@unnumberedsubsubsec Simulación de un calderón en el MIDI
+@translationof Simulating a fermata in MIDI
 
 @cindex sello, uso de la propiedad
 @cindex fermata, realización en MIDI
@@ -3821,14 +4182,14 @@ sigue, mientras que la segunda (con el sello suprimido) no lo hace.
 Glosario musical:
 @rglos{system}.
 
+@node Uso de variables para los ajustes de disposición
+@subsection Uso de variables para los ajustes de disposición
+@translationof Using variables for layout adjustments
 
-@node Uso de variables para los trucos
-@subsection Uso de variables para los trucos
-@translationof Using variables for tweaks
-
-@cindex variables, uso de, para trucos
-@cindex usar variables para hacer trucos
-@cindex trucos, usar variables para hacer
+@cindex variables, usar para sobreescrituras
+@cindex sobreescrituras, usar variablas para
+@cindex ajustes, usar variables para
+@cindex ajustes de disposición, usar variables para hacer
 
 Las instrucciones de sobreescritura son con frecuencia largas y
 tediosas de escribir, y se tienen que escribir de forma absolutamente
@@ -3939,12 +4300,9 @@ las partes que tienen todos los @code{#()}.  Esto se explicará en
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
@@ -3972,14 +4330,11 @@ nuestros archivos de música, y yo personalmente encuentro todos los
 otro archivo:
 
 @example
-%%% guardar esto en un archivo de nombre "definiciones.ily"
+%%% guardar esto en un archivo con el nombre "definiciones.ily"
 mpdolce =
-#(make-dynamic-script
-  #@{ \markup @{ \hspace #0
-               \translate #'(5 . 0)
-               \line @{ \dynamic "mp"
-                       \text \italic "dolce" @} @}
-  #@})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
 
 inst =
 #(define-music-function
@@ -4013,12 +4368,9 @@ archivo como @file{musica.ly}).
 
 @lilypond[quote,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
@@ -4049,12 +4401,9 @@ Sustituyamos nuestro archivo @file{definiciones.ily} con éste:
 @example
 %%%  definiciones.ily
 mpdolce =
-#(make-dynamic-script
-  #@{ \markup @{ \hspace #0
-               \translate #'(5 . 0)
-               \line @{ \dynamic "mp"
-                       \text \italic "dolce" @} @}
-  #@})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
 
 inst =
 #(define-music-function
@@ -4065,7 +4414,7 @@ inst =
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4082,12 +4431,9 @@ inst =
 
 @lilypond[quote,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
@@ -4098,7 +4444,7 @@ inst =
 \layout{
   \context {
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context {
@@ -4133,12 +4479,9 @@ también vamos a aumentar el tamaño general de la salida.
 @example
 %%%  publicar-web.ily
 mpdolce =
-#(make-dynamic-script
-  #@{ \markup @{ \hspace #0
-               \translate #'(5 . 0)
-               \line @{ \dynamic "mp"
-                       \text \italic "dolce" @} @}
-  #@})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
 
 inst =
 #(define-music-function
@@ -4151,7 +4494,7 @@ inst =
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4167,12 +4510,9 @@ inst =
 
 @lilypond[quote,ragged-right]
 mpdolce =
-#(make-dynamic-script
-  #{ \markup { \hspace #0
-               \translate #'(5 . 0)
-               \line { \dynamic "mp"
-                       \text \italic "dolce" } }
-  #})
+  \tweak self-alignment-X #-0.6
+  #(make-dynamic-script
+    #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
 
 inst =
 #(define-music-function
@@ -4184,7 +4524,7 @@ inst =
 
 \layout{
   \context { \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context { \Voice
@@ -4255,8 +4595,7 @@ un gestor de paquetes (es decir, distribuido con GNU/Linux, o instalado
 bajo fink o cygwin) o fue compilado a partir de la fuente, y (b) de
 qué sistema operativo está utilizando:
 
-
-@strong{Descargado de lilypond.org}
+@subsubsubheading Descargado de lilypond.org
 
 @itemize @bullet
 @item GNU/Linux
@@ -4287,7 +4626,7 @@ Mediante el Explorador de Windows, diríjase a
 
 @end itemize
 
-@strong{Instalado mediante un gestor de paquetes o compilado a partir de la fuente}
+@subsubsubheading Instalado mediante un gestor de paquetes o compilado a partir de la fuente
 
 Diríjase a
 @file{@var{PREFIJO}/share/lilypond/@var{X.Y.Z}/}, donde @var{PREFIJO}