]> 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 b3105f6e76c29cfdaeaf27ee82be24e140fed6c8..20a4baf477fa5e7ee4af820d79a6e67b62f43172 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
 @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
 
 
     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
 
 @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::
 * Manual de referencia de funcionamiento interno::
 * Apariencia de los objetos::
 * Colocación de los objetos::
+* Espaciado vertical::
 * Colisiones de objetos::
 * Trucajes adicionales::
 @end menu
 * Colisiones de objetos::
 * Trucajes adicionales::
 @end menu
@@ -184,6 +185,18 @@ a partir de sus nombres.
 
 @strong{La instrucción \override}
 
 
 @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
 
 @cindex override, instrucción
 @cindex override (sobreescritura), sintaxis de
 
@@ -256,7 +269,10 @@ e4 f |
 g4 a b c |
 @end lilypond
 
 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
 
 
 @cindex revert, instrucción
 
@@ -293,7 +309,10 @@ g4 a
 b4 c |
 @end lilypond
 
 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
 
 @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
 
 @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 |
 c4 d
 \override NoteHead.color = #red
 e4 f |
@@ -320,7 +339,29 @@ g4 a
 b c |
 @end lilypond
 
 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
 
 
 @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
 
 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
 
 
 @cindex tweak, instrucción
 
@@ -468,11 +512,11 @@ tresillo corto.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
   \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
 
 }
 @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]
 @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
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
   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
 
 }
 @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.
 
 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
 
 @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.
 
 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
 
 @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}.
 
 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
 
 @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
 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
 
 @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 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 @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{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
 @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
        @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
 @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
 @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)}
 @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 @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
 
 
 @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.
 
 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
 
 
 @cindex stencil (sello), propiedad
 
@@ -1143,7 +1203,9 @@ que establece el sello a un objeto con tamaño nulo:
 }
 @end lilypond
 
 }
 @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
 
 
 @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.
 
 
 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
 
 @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.
 
 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
 
 
 @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}.
 
 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
 @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.
 
 @code{\once} de la misma forma en que lo haría con las
 sobreescrituras explícitas.
 
+@node Digitaciones
 @unnumberedsubsubsec Digitaciones
 @unnumberedsubsubsec Digitaciones
+@translationof Fingering
 
 @cindex digitación, colocación
 @cindex digitación de acordes
 
 @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
 
 @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
 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}.
 
 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
 
 
 @cindex notas, espaciar junto al texto
 
@@ -2324,9 +2419,12 @@ c2^"Text4" |
 @end lilypond
 
 La instrucción para volver al comportamiento predeterminado es
 @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
 
 
 @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
 
 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
 
 @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
 
 @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
 @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}.
 
 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
 
 @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}
 
 
 @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
 
 @example
-\override DynamicText.extra-spacing-width = #'(0 . 0)
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
 @end example
 
 @noindent
 @end example
 
 @noindent
@@ -2447,37 +2551,224 @@ Veamos si funciona en nuestro ejemplo anterior:
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \dynamicUp
 
 @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
 @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
 
 @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
 
 
 @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.
 
 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
 
 @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
 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
 
 
 @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.
 
 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
 
 @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.
 
 
 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
 
 
 @cindex right-padding, propiedad
 
@@ -2842,15 +3185,17 @@ sobreescribiendo @code{right-padding}.
 
 @noindent
 
 
 @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
 
 @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
 @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]
 @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
 
 
 @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»:
 
 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
 
 <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
 
 
 @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
 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}}.
 
 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.
 
 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
 
 @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:
 
 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]
 @cindex extra-offset, propiedad, ejemplo
 
 @lilypond[quote,fragment,relative=1,verbatim]
@@ -2951,7 +3298,9 @@ f4-5
 @end lilypond
 
 
 @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
 
 @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
 @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
 
 
 @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
 @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
 
 @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:
 
 Presentamos otro ejemplo.  Vemos que la barra
 choca con las ligaduras:
 
@@ -3002,12 +3353,12 @@ choca con las ligaduras:
 {
   \time 4/2
   <<
 {
   \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'' }
   >>
   <<
     \\
     { 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'' }
   >>
     \\
     { e''8 e'' e'' e''  e'' e'' e'' e''  f''2 g'' }
   >>
@@ -3026,7 +3377,7 @@ central hasta, digamos, 1 espacio:
 {
   \time 4/2
   <<
 {
   \time 4/2
   <<
-    { c'1 ~ c'2. e'8 f' }
+    { c'1 ~ 2. e'8 f' }
     \\
     {
       \override Beam.positions = #'(-1 . -1)
     \\
     {
       \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'' }
   >>
     \\
     { 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.
 
 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
 
 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
 @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:
 
 
 Presentamos a continuación el resultado final:
 
@@ -3090,17 +3451,11 @@ Presentamos a continuación el resultado final:
   <<
     { c2 aes4. bes8 }
     \\
   <<
     { 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 |
 }
   >> |
   <c ees aes c>1 |
 }
@@ -3159,7 +3514,6 @@ rhMusic = \relative c'' {
         \stemDown
         % Stem on the d2 should be invisible
         \tweak Stem.transparent ##t
         \stemDown
         % Stem on the d2 should be invisible
         \tweak Stem.transparent ##t
-        \tweak Flag.transparent ##t
         d2
       }
       \new Voice {
         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 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
       }
       \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 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
       }
       \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 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
       }
       \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 d fis bes a }  % continuation of main voice
       \new Voice {
         \voiceTwo
-        c,8~ c2
+        c,8~ 2
       }
       \new Voice {
         \voiceThree
       }
       \new Voice {
         \voiceThree
@@ -3603,7 +3957,6 @@ rhMusic = \relative c'' {
         \stemDown
         % Stem on the d2 should be invisible
         \tweak Stem.transparent ##t
         \stemDown
         % Stem on the d2 should be invisible
         \tweak Stem.transparent ##t
-        \tweak Flag.transparent ##t
         d2
       }
       \new Voice {
         d2
       }
       \new Voice {
@@ -3646,7 +3999,7 @@ lhMusic = \relative c' {
 
 @menu
 * Otras aplicaciones de los trucos::
 
 @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::
 * 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
 
 @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
 @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 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
 
 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]
 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
 @end lilypond
 
 @noindent
@@ -3688,8 +4049,7 @@ de que la ligadura se cruza entre las voces:
 <<
   {
     \tweak Stem.transparent ##t
 <<
   {
     \tweak Stem.transparent ##t
-    \tweak Flag.transparent ##t
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
   }
 \\
   { b8[ g] }
@@ -3704,9 +4064,8 @@ valor de longitud @code{length} a @code{8},
 <<
   {
     \tweak Stem.transparent ##t
 <<
   {
     \tweak Stem.transparent ##t
-    \tweak Flag.transparent ##t
     \tweak Stem.length #8
     \tweak Stem.length #8
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
   }
 \\
   { b8[ g] }
@@ -3730,7 +4089,7 @@ volver a escribir el ejemplo anterior como
     \single \hide Stem
     \single \hide Flag
     \tweak Stem.length #8
     \single \hide Stem
     \single \hide Flag
     \tweak Stem.length #8
-    b8~ b\noBeam
+    b8~ 8\noBeam
   }
 \\
   { b8[ g] }
   }
 \\
   { 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.
 
 @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
 
 @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}.
 
 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
 
 Las instrucciones de sobreescritura son con frecuencia largas y
 tediosas de escribir, y se tienen que escribir de forma absolutamente
@@ -3939,18 +4300,15 @@ las partes que tienen todos los @code{#()}.  Esto se explicará en
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce =
 
 @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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
 \relative c'' {
   \tempo 4=50
 
 \relative c'' {
   \tempo 4=50
@@ -3972,20 +4330,17 @@ nuestros archivos de música, y yo personalmente encuentro todos los
 otro archivo:
 
 @example
 otro archivo:
 
 @example
-%%% guardar esto en un archivo de nombre "definiciones.ily"
+%%% guardar esto en un archivo con el nombre "definiciones.ily"
 mpdolce =
 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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #@{ ^\markup \bold \box #string #@})
+   #@{ <>^\markup \bold \box #string #@})
 @end example
 
 Haremos referencia a este archivo utilizando la instrucción
 @end example
 
 Haremos referencia a este archivo utilizando la instrucción
@@ -4013,18 +4368,15 @@ archivo como @file{musica.ly}).
 
 @lilypond[quote,ragged-right]
 mpdolce =
 
 @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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
 \relative c'' {
   \tempo 4=50
 
 \relative c'' {
   \tempo 4=50
@@ -4049,23 +4401,20 @@ Sustituyamos nuestro archivo @file{definiciones.ily} con éste:
 @example
 %%%  definiciones.ily
 mpdolce =
 @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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #@{ ^\markup \bold \box #string #@})
+   #@{ <>^\markup \bold \box #string #@})
 
 \layout@{
   \context @{
     \Score
 
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4082,23 +4431,20 @@ inst =
 
 @lilypond[quote,ragged-right]
 mpdolce =
 
 @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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
 \layout{
   \context {
     \Score
 
 \layout{
   \context {
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context {
     \override MetronomeMark.padding = #'3
   }
   \context {
@@ -4133,25 +4479,22 @@ también vamos a aumentar el tamaño general de la salida.
 @example
 %%%  publicar-web.ily
 mpdolce =
 @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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #@{ ^\markup \bold \box #string #@})
+   #@{ <>^\markup \bold \box #string #@})
 
 #(set-global-staff-size 23)
 
 \layout@{
   \context @{
     \Score
 
 #(set-global-staff-size 23)
 
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4167,24 +4510,21 @@ inst =
 
 @lilypond[quote,ragged-right]
 mpdolce =
 
 @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
      (parser location string)
      (string?)
 
 inst =
 #(define-music-function
      (parser location string)
      (string?)
-   #{ ^\markup \bold \box #string #})
+   #{ <>^\markup \bold \box #string #})
 
 #(set-global-staff-size 23)
 
 \layout{
   \context { \Score
 
 #(set-global-staff-size 23)
 
 \layout{
   \context { \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context { \Voice
     \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:
 
 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
 
 @itemize @bullet
 @item GNU/Linux
@@ -4287,7 +4626,7 @@ Mediante el Explorador de Windows, diríjase a
 
 @end itemize
 
 
 @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}
 
 Diríjase a
 @file{@var{PREFIJO}/share/lilypond/@var{X.Y.Z}/}, donde @var{PREFIJO}