]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/user/changing-defaults.itely
Add dynamic script fffff; update docs.
[lilypond.git] / Documentation / es / user / changing-defaults.itely
index 71d3e0c28064936d8af7dc676408f507dea3d38a..a61f8751fa57dfac21992ca4cb9b768b6ccf2a5e 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-Translation of GIT committish: dfae8d829c653d1c011f8823cd51d09c33400b66
+Translation of GIT committish: 9318dde7b34435a3fdb2e1a7e0ddcf0f86e936ae
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.61"
+@c \version "2.12.0"
 
 @node Changing defaults
 @chapter Changing defaults
@@ -25,7 +25,7 @@ adecuado para un manual de referencia.
 
 @cindex Referencia de funcionamiento interno
 
-La descripción definitiva de los controles que están dipsonibles para
+La descripción definitiva de los controles que están disponibles para
 su ajuste fino están en un documento aparte: @rinternalsnamed{Top,la
 Referencia de funcionamiento interno}.  Dicho manual relaciona todas
 las variables, funciones y opciones que se encuentran disponibles en
@@ -61,14 +61,15 @@ Esta sección explica qué son los contextos y cómo modificarlos.
 @menu
 * Contexts explained::
 * Creating contexts::
+* Keeping contexts alive::
 * Modifying context plug-ins::
 * Changing context default settings::
 * Defining new contexts::
 * Aligning contexts::
 @end menu
 
-@seealso
 
+@seealso
 Manual de aprendizaje:
 @rlearning{Contexts and engravers}.
 
@@ -117,13 +118,13 @@ procesa un bloque @code{\score @{@dots{}@}} o @code{\layout
 
 Agrupa pentagramas y añade un corchete en la parte izquierda, formando
 un grupo.  Las líneas divisorias de los pentagramas contenidos se
-conectan verticalmente.  StaffGroup sólo consiste en una colección de
-pentagramas, con un corchete delante y líneas divisorias de arriba a
-abajo.
+conectan verticalmente.  @code{StaffGroup} sólo consiste en una
+colección de pentagramas, con un corchete delante y líneas divisorias
+de arriba a abajo.
 
 @strong{@emph{ChoirStaff}}
 
-Idéntico a StaffGroup excepto que las barras de compás de los
+Idéntico a @code{StaffGroup} excepto que las barras de compás de los
 pentagramas contenidos no se conectan verticalmente.
 
 @strong{@emph{GrandStaff}}
@@ -134,21 +135,8 @@ se conectan verticalmente.
 
 @strong{@emph{PianoStaff}}
 
-@c TODO No longer correct?  Check.  -td
-Igual que GrandStaff pero con una distancia fija entre los
-pentagramas, de manera que se pueden usar ligaduras y barras que
-cruzan de un pentagrama a otro.
-
-@ignore
-@strong{@emph{InnerStaffGroup}}
-
-TODO  -td
-
-@strong{@emph{InnerChoirStaff}}
-
-TODO  -td
-
-@end ignore
+Igual que @code{GrandStaff}, pero contempla la posibilidad de poner el
+nombre del instrumento a la izquierda del sistema.
 
 @node Intermediate-level contexts - staves
 @unnumberedsubsubsec Intermediate-level contexts - staves
@@ -156,12 +144,12 @@ TODO  -td
 @strong{@emph{Staff}}
 
 Maneja claves, barras de compás, tonalidades y alteraciones
-accidentales.  Puede contener contextos de Voice.
+accidentales.  Puede contener contextos de @code{Voice}.
 
 @strong{@emph{RhythmicStaff}}
 
-Como Staff, pero para imprimir ritmos.  Se ignoran las alturas de las
-notas; las notas se imprimen sobre una línea.
+Como @code{Staff}, pero para imprimir ritmos.  Se ignoran las alturas
+de las notas; las notas se imprimen sobre una línea.
 
 @strong{@emph{TabStaff}}
 
@@ -172,17 +160,17 @@ líneas.
 @strong{@emph{DrumStaff}}
 
 Maneja el tipografiado para instrumentos de percusión.  Puede contener
-contextos DrumVoice.
+contextos @code{DrumVoice}.
 
 @strong{@emph{VaticanaStaff}}
 
-Iguall que Staff, excepto que está pensado para tipografiar piezas en
-estilo gregoriano.
+Igual que @code{Staff}, excepto que está pensado para tipografiar
+piezas en estilo gregoriano.
 
 @strong{@emph{MensuralStaff}}
 
-Igual que Staff, excepto que está diseñado para tipografiar piezas en
-estilo mensural.
+Igual que @code{Staff}, excepto que está diseñado para tipografiar
+piezas en estilo mensural.
 
 
 @node Bottom-level contexts - voices
@@ -202,13 +190,13 @@ voces en el mismo pentagrama.
 
 @strong{@emph{VaticanaVoice}}
 
-Lo mismo que Voice, excepto que está diseñado para tipografiar piezas
-en estilo gregoriano.
+Lo mismo que @code{Voice}, excepto que está diseñado para tipografiar
+piezas en estilo gregoriano.
 
 @strong{@emph{MensuralVoice}}
 
-Lo mismmo que Voice, con modificaciones para el tipografiado de piezas
-en estilo mensural.
+Lo mismo que @code{Voice}, con modificaciones para el tipografiado de
+piezas en estilo mensural.
 
 @strong{@emph{Lyrics}}
 
@@ -221,13 +209,13 @@ El contexto de voz utilizado en una pauta de percusión.
 
 @strong{@emph{FiguredBass}}
 
-El contexto en que los objetos BassFigure se crean a partir de la
-entrada escrita en el modo @code{\figuremode}.
+El contexto en que los objetos @code{BassFigure} se crean a partir de
+la entrada escrita en el modo @code{\figuremode}.
 
 @strong{@emph{TabVoice}}
 
-El contexto de voz utilizado dentro de un contexto TabStaff.  Se suele
-dejar que se cree implícitamente.
+El contexto de voz utilizado dentro de un contexto @code{TabStaff}.
+Se suele dejar que se cree implícitamente.
 
 @strong{@emph{ChordNames}}
 
@@ -375,6 +363,161 @@ Para que se interprete dentro de los niveles de @code{Score} o
 
 @end itemize
 
+@node Keeping contexts alive
+@subsection Keeping contexts alive
+
+@cindex contextos, mantener vivos
+@cindex contextos, tiempo de vida
+
+Normalmente los contextos finalizan en el primer momento musical en
+que no tienen nada que hacer.  Así, los contextos de @code{Voice}
+mueren tan pronto como ya no contienen ningún evento; los contextos de
+@code{Staff} mueren tan pronto como todos los contextos de
+@code{Voice} que contenían ya no contengan ningún evento; etc.  Esto
+puede ocasionar dificultades si se tiene que hacer referencia a
+contextos anteriores que ya han muerto, por ejemplo, al cambiar de
+pentagramas con instrucciones @code{\change}, asociar letra con una
+voz mediante instrucciones @code{\lyricsto}, o cuando se añaden
+eventos musicales adicionales a un contexto anterior.
+
+Existe una excepción a esta regla general: precisamente uno de los
+contextos de @code{Voice} que están dentro de un contexto de
+@code{Staff} o de una construcción @code{<<...>>} persiste siempre
+hasta el final de, contexto de @code{Staff} circundante o la
+construcción @code{<<...>>}, incluso aunque puede haber períodos en
+que no tiene nada que hacer.  El contexto que persiste de esta forma
+será el primero que se encuentre en la primera construcción encerrada
+entre llaves @code{@{...@}}, ignorando cualquiera que se encuentre
+dentro de construcciones encerradas por ángulos dobles @code{<<...>>}.
+
+Cualquier contexto se puede mantener vivo si nos aseguramos de que
+tiene algo que hacer en cualquier momento musical dado.  Los
+contextos de @code{Staff} se mantienen con vida si nos aseguramos de
+que una de sus voces se mantiene viva.  Una manera de hacerlo es
+añadir silencios de separación a una voz en paralelo con la música
+real.  Éstos deben añadirse a todos y cada uno de los contextos de
+@code{Voice} que se hayan de mantener vivos.  Si se van a usar
+esporádicamente varias voces, es más seguro mantenerlas todas vivas en
+lugar de tratar de confiar en las excepciones que hemos mencionado
+arriba.
+
+En el ejemplo siguiente, tanto la voz A como la voz B se mantienen
+vivas de esta manera durante la duración de la pieza:
+
+@lilypond[quote,verbatim]
+musicA = \relative c'' { d4 d d d }
+musicB = \relative c'' { g4 g g g }
+keepVoicesAlive = {
+  <<
+    \new Voice = "A" { s1*5 }  % Keep Voice "A" alive for 5 bars
+    \new Voice = "B" { s1*5 }  % Keep Voice "B" alive for 5 bars
+  >>
+}
+
+music = {
+  \context Voice = "A" {
+    \voiceOneStyle
+    \musicA
+  }
+  \context Voice = "B" {
+    \voiceTwoStyle
+    \musicB
+  }
+  \context Voice = "A" { \musicA }
+  \context Voice = "B" { \musicB }
+  \context Voice = "A" { \musicA }
+}
+
+\score {
+  \new Staff <<
+    \keepVoicesAlive
+    \music
+  >>
+}
+@end lilypond
+
+@cindex letra, alineación con melodía esporádica
+
+El ejemplo siguiente muestra cómo se puede escribir una línea melódica
+esporádica con letra utilizando este enfoque.  Por supuesto, en una
+situación real la melodía y el acompañamiento consistirían en varias
+secciones diferentes.
+
+@lilypond[quote,verbatim]
+melody = \relative c'' { a4 a a a }
+accompaniment = \relative c' { d4 d d d }
+words = \lyricmode { These words fol -- low the mel -- o -- dy }
+\score {
+  <<
+    \new Staff = "music" {
+      <<
+        \new Voice = "melody" {
+          \voiceOne
+          s1*4  % Keep Voice "melody" alive for 4 bars
+        }
+        {
+          \new Voice = "accompaniment" {
+            \voiceTwo
+            \accompaniment
+          }
+          <<
+            \context Voice = "melody" { \melody }
+            \context Voice = "accompaniment" { \accompaniment }
+          >>
+          \context Voice = "accompaniment" { \accompaniment }
+          <<
+            \context Voice = "melody" { \melody }
+            \context Voice = "accompaniment" { \accompaniment }
+          >>
+        }
+      >>
+    }
+    \new Lyrics \with { alignAboveContext = #"music" }
+    \lyricsto "melody" { \words }
+  >>
+}
+@end lilypond
+
+Una forma alternativa, que podría resultar mejor en muchas
+situaciones, es mantener con vida la línea melódica simplemente
+incluyendo notas espaciadoras para alinearla correctamente con el
+acompañamiento:
+
+@lilypond[quote,verbatim]
+melody = \relative c'' {
+  s1  % skip a bar
+  a4 a a a
+  s1  % skip a bar
+  a4 a a a
+}
+accompaniment = \relative c' {
+  d4 d d d
+  d4 d d d
+  d4 d d d
+  d4 d d d
+}
+words = \lyricmode { These words fol -- low the mel -- o -- dy }
+
+\score {
+  <<
+    \new Staff = "music" {
+      <<
+        \new Voice = "melody" {
+          \voiceOne
+          \melody
+        }
+        \new Voice = "accompaniment" {
+          \voiceTwo
+          \accompaniment
+        }
+      >>
+    }
+    \new Lyrics \with { alignAboveContext = #"music" }
+    \lyricsto "melody" { \words }
+  >>
+}
+@end lilypond
+
 
 @node Modifying context plug-ins
 @subsection Modifying context plug-ins
@@ -490,52 +633,40 @@ compás independiente.
 @node Changing context default settings
 @subsection Changing context default settings
 
-Los ajustes de las secciones previas ( @ref{The set command},
-@ref{Modifying context plug-ins} y @ref{Overview of modifying
-properties}) también se pueden escribir separados de la música dentro
-del bloque @code{\layout}:
-
-@example
-\layout @{
-  @dots{}
-  \context @{
-    \Staff
-
-    \set fontSize = #-2
-    \override Stem #'thickness = #4.0
-    \remove "Time_signature_engraver"
-  @}
-@}
-@end example
-
-La instrucción @code{\Staff} recupera la definición existente del
-contexto de pentagrama de manera que se pueda modificar.
-
-Los enunciados
-@example
-\set fontSize = #-2
-\override Stem #'thickness = #4.0
-\remove "Time_signature_engraver"
-@end example
-
-@noindent
-afectan a todos los pentagramas de la partitura.  Otros contextos se
-pueden modificar de forma análoga.
-
-La palabra clave @code{\set} es opcional dentro del bloque
-@code{\layout}, y así
-
-@example
-\context @{
-  @dots{}
-  fontSize = #-2
-@}
-@end example
-
-@noindent
-también funciona.
+Los ajustes de contexto que están preparados para usarse de forma
+predeterminada en los contextos @code{Score}, @code{Staff} y
+@code{Voice}, se pueden especificar dentro de un bloque
+@code{\layout}, como se ilustra en el ejemplo siguiente.  El bloque
+@code{\layout} se debe colocar dentro del bloque @code{\score} en que
+se quiere que haga efecto, pero fuera de la música.
+
+Observe que la propia instrucción @code{\set} y el contexto se deben
+omitir cuando se especifican de esta manera los valores de contexto
+predeterminados:
+
+@lilypond[quote,verbatim]
+\score {
+  \relative c'' {
+    a4^"Really small, thicker stems, no time signature" a a a
+    a a a a
+  }
+  \layout {
+    \context {
+      \Staff
+      fontSize = #-4
+      \override Stem #'thickness = #4.0
+      \remove "Time_signature_engraver"
+    }
+  }
+}
+@end lilypond
 
+En este ejemplo, la instrucción @code{\Staff} especifica que los
+ajustes siguientes se apliquen a todos los pentagramas dentro del
+bloque de partitura.
 
+Se pueden realizar de forma similar modificaciones al contexto
+@code{Score} o a todos los contextos @code{Voice}.
 
 @knownissues
 
@@ -578,6 +709,7 @@ para indicar improvisación en piezas de jazz,
   \name ImproVoice
   \type "Engraver_group"
   \consists "Note_heads_engraver"
+  \consists "Rhythmic_column_engraver"
   \consists "Text_engraver"
   \consists Pitch_squash_engraver
   squashedPosition = #0
@@ -743,7 +875,7 @@ ossia = { f4 f f f }
   \relative c' \new Staff = "main" {
     c4 c c c
     <<
-      \new Staff \with {alignAboveContext=main} \ossia
+      \new Staff \with { alignAboveContext = #"main" } \ossia
       { d8 f d f d f d f }
     >>
   }
@@ -965,8 +1097,8 @@ pueden modificar.
 
 Hemos estado hablando de @emph{el} objeto @code{Fingering}, pero
 realmente esto no significa mucho.  El archivo de inicialización
-(véase @ref{File structure}) @file{scm/@/define@/-grobs@/.scm} muestra
-el alma del @q{objeto},
+(véase @rlearning{Other sources of information})
+@file{scm/@/define@/-grobs@/.scm} muestra el alma del @q{objeto},
 
 @example
 (Fingering
@@ -1099,8 +1231,8 @@ LP-specific?
 * Overview of modifying properties::
 * The set command::
 * The override command::
-* set versus override::
 * The tweak command::
+* set versus override::
 @end menu
 
 
@@ -1205,12 +1337,11 @@ instrucciones de la forma
 tales como
 
 @example
-\override Stem #'details #'beamed-lengths = #'(4 4 3)
+\override Stem #'(details beamed-lengths) = #'(4 4 3)
 @end example
 
 
 @seealso
-
 Referencia de funcionamiento interno:
 @rinternals{OverrideProperty},
 @rinternals{RevertProperty},
@@ -1310,7 +1441,7 @@ ajuste también se aplica a la @code{Voice} actual.  Sin embargo:
 @end example
 
 @noindent
-no tiene ningúun efecto.  Para cancelar este ajuste, se debe
+no tiene ningún efecto.  Para cancelar este ajuste, se debe
 especificar el @code{\unset} en el mismo nivel que el @code{\set}
 original.  Dicho de otra forma, para deshacer el efecto de
 @code{Staff.autoBeaming = ##f} se necesita
@@ -1383,7 +1514,7 @@ en el interior de las propiedades normales.  Para modificarlas utilice
 instrucciones de la forma
 
 @example
-\override Stem #'details #'beamed-lengths = #'(4 4 3)
+\override Stem #'(details beamed-lengths) = #'(4 4 3)
 @end example
 
 @cindex documentación interna
@@ -1398,7 +1529,7 @@ propiedad, si se establece el valor de la propiedad a falso
 (@code{##f}) se producirá su desactivación, ocasionando que LilyPond
 ignore por completo dicha propiedad.  Esto es especialmente útil para
 «apagar» propiedades de grobs (objetos gráficos) que de otra manera
-causarína problemas.
+causarían problemas.
 
 Mostraremos a continuación cómo localizar esta información en el
 manual de notación y en la referencia de funcionamiento interno.
@@ -1411,7 +1542,7 @@ manual de notación y en la referencia de funcionamiento interno.
 @cindex trucar
 
 En ocasiones es posible tomar un atajo para realizar el ajuste fino de
-los objetos gráficos.  Para objetos que reusultan directamente de un
+los objetos gráficos.  Para objetos que resultan directamente de un
 elemento de código de la entrada, puede usar la función @code{\tweak},
 por ejemplo
 
@@ -1524,14 +1655,15 @@ puede examinarse, véase @ref{Displaying music expressions}.  Esto
 puede ser de utilidad en la determinación de lo que puede modificarse
 por medio de una instrucción @code{\tweak}.
 
-@seealso
 
+@seealso
 Manual de aprendizaje:
 @rlearning{Tweaking methods}.
 
 Referencia de la notación:
 @ref{Displaying music expressions}.
 
+
 @knownissues
 
 @cindex trucos en una variable
@@ -1608,13 +1740,17 @@ Al ser éste un cambio muy común, se creó la propiedad especial
 * Input modes::
 * Direction and placement::
 * Distances and measurements::
+* Staff symbol properties::
 * Spanners::
+* Visibility of objects::
+* Line styles::
+* Rotating objects::
 @end menu
 
 @node Input modes
 @subsection Input modes
 
-La forma en que se interpreta la notación conenida dentro de un
+La forma en que se interpreta la notación contenida dentro de un
 archivo de entrada, está determinada por el modo de entrada en curso.
 
 @strong{Modo de acordes}
@@ -1626,7 +1762,7 @@ pentagrama.
 
 El modo de acordes se activa también con la instrucción
 @code{\chords}.  Esto crea también un contexto @code{ChordNames} nuevo
-y produce que el código que sigue se interprete conla sintaxis de la
+y produce que el código que sigue se interprete con la sintaxis de la
 notación de acordes y se imprima como nombres de acorde dentro del
 contexto @code{ChordNames}, véase @ref{Printing chord names}.
 
@@ -1657,7 +1793,7 @@ figured bass}.
 
 @strong{Modos de traste y tablatura}
 
-No existen modos de entrada especiales para introducir símibolos de
+No existen modos de entrada especiales para introducir símbolos de
 trastes y de tablatura.
 
 Para crear diagramas de trastes, escriba las notas o acordes en el
@@ -1756,8 +1892,8 @@ presentan, véase @ref{Aligning contexts}
 Al añadir articulaciones a notas se puede omitir normalmente el
 indicador de dirección, @code{^} (que significa @qq{arriba}), @code{_}
 (que significa @qq{abajo}) o @code{-} (que significa @qq{usar la
-dirección predeterminada}), en cuyo caso se supone el perdeterminado
-@code{-}.  Pero se necesita un indicador de dirección @strong{always}
+dirección predeterminada}), en cuyo caso se supone el predeterminado
+@code{-}.  Pero se necesita un indicador de dirección @strong{siempre}
 antes de:
 
 @itemize
@@ -1851,8 +1987,8 @@ convertir de un cambio en el tamaño de la fuente al cambio equivalente
 en @code{staff-space}.  Para ver una explicación y un ejemplo de su
 utilización, consulte @rlearning{Length and thickness of objects}.
 
-@seealso
 
+@seealso
 Manual de aprendizaje:
 @rlearning{Length and thickness of objects}.
 
@@ -1860,6 +1996,48 @@ Referencia de la notación:
 @ref{Page formatting},
 @ref{Setting the staff size}.
 
+
+@node Staff symbol properties
+@subsection Staff symbol properties
+
+@cindex ajuste del símbolo del pentagrama
+@cindex dibujar el símbolo del pentagrama
+@cindex pentagrama, establecer el símbolo del
+
+@c TODO Extend or remove this section.  See also NR 1.6.2 Staff symbol
+@c      Need to think of uses for these properties.  Eg 'line-positions
+@c      is used in a snippet to thicken centre line.
+@c      If retained, add @ref to here in 1.6.2  -td
+
+Se puede definir al mismo tiempo la posición vertical de las líneas de
+la pauta y el número de líneas de la misma.  Como muestra el siguiente
+ejemplo, las posiciones de las notas no están influidas por las
+posiciones de las líneas de la pauta.
+
+@warning{La propiedad @code{'line-positions} sobreescribe a la
+propiedad @code{'line-count}.  El número de líneas de la pauta está
+definido implícitamente por el número de elementos de la lista de
+valores de @code{'line-positions}.}
+
+@lilypond[verbatim,quote,relative=1]
+\new Staff \with {
+  \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7)
+}
+{ a4 e' f b | d1 }
+@end lilypond
+
+Se puede modificar la anchura de la pauta.  Las unidades son espacios
+de pentagrama.  El espaciado de los objetos dentro del pentagrama no
+resulta afectado por este ajuste.
+
+@lilypond[verbatim,quote,relative=1]
+\new Staff \with {
+  \override StaffSymbol #'width = #23
+}
+{ a4 e' f b | d1 }
+@end lilypond
+
+
 @node Spanners
 @subsection Spanners
 
@@ -1883,7 +2061,7 @@ extensores.
 
 @strong{@i{La propiedad @code{minimum-length}}}
 
-La longitud mínima del objeto de extensión se pesoecifica a través de
+La longitud mínima del objeto de extensión se especifica a través de
 la propiedad @code{minimum-length}.  Su aumento suele producir el
 efecto necesario de aumentar el espaciado de las notas entre los dos
 puntos extremos.  Sin embargo, esta sobreescritura no tiene ningún
@@ -1952,7 +2130,7 @@ a
 \( a\)
 @end lilypond
 
-Para algunos objetos de preesentación, la propiedad
+Para algunos objetos de presentación, la propiedad
 @code{minimum-length} es efectiva sólo si se llama explícitamente al
 procedimiento @code{set-spacing-rods}.  Para hacerlo, se debe fijar la
 propiedad @code{springs-and-rods} al valor
@@ -1995,7 +2173,7 @@ haciendo que los reguladores y otros objetos de extensión que terminan
 sobre la primera nota de un compás, en vez de eso terminen en la línea
 divisoria inmediatamente precedente.  Si se establece al valor falso,
 el extensor llegará más allá de la barra de compás y terminará
-excatamente sobre la nota:
+exactamente sobre la nota:
 
 @lilypond[verbatim,quote,relative=2]
 a \< a a a a \! a a a \break
@@ -2033,8 +2211,8 @@ jerarquía de propiedades, pero la sintaxis de la instrucción
 
 @lilypond[relative=2,quote,verbatim]
 e2 \glissando b
-\once \override Glissando #'bound-details #'left #'Y = #3
-\once \override Glissando #'bound-details #'right #'Y = #-2
+\once \override Glissando #'(bound-details left Y) = #3
+\once \override Glissando #'(bound-details right Y) = #-2
 e2 \glissando b
 @end lilypond
 
@@ -2053,7 +2231,7 @@ especifican por las sub-listas @code{left-broken} y
 
 @lilypond[relative=2,ragged-right,verbatim,fragment]
 \override Glissando #'breakable = ##t
-\override Glissando #'bound-details #'right-broken #'Y = #-3
+\override Glissando #'(bound-details right-broken Y) = #-3
 c1 \glissando \break
 f1
 @end lilypond
@@ -2075,7 +2253,7 @@ trinos, está inamoviblemente codificado como 0.
 @item attach-dir (dirección de anclaje)
 Determina dónde comienza y termina la línea en la dirección X, con
 relación al objeto ancla.  Sí, un valor de @code{-1} (o @code{LEFT},
-izquierda) hace que la línea comienze o termine en el lado izquierdo
+izquierda) hace que la línea comience o termine en el lado izquierdo
 de la cabeza de la nota a la que está anclado.
 
 @item X
@@ -2093,7 +2271,7 @@ usa para escribir @i{cresc.}, @i{tr} y otros textos sobre los objetos
 de extensión horizontales.
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\override TextSpanner #'bound-details #'left #'text
+\override TextSpanner #'(bound-details left text)
    = \markup { \small \bold Slower }
 c2\startTextSpan b c a\stopTextSpan
 @end lilypond
@@ -2101,27 +2279,27 @@ c2\startTextSpan b c a\stopTextSpan
 @item stencil-align-dir-y (alineación del sello en y)
 @item stencil-offset (desplazamiento del sello)
 Si no se modifican uno u otro, el sello se coloca sencillamente en el
-punto extremo, centrado sobrer la línea, como viene definido por las
+punto extremo, centrado sobre la línea, como viene definido por las
 subpropiedades @code{X} e @code{Y}.  Si se fijan
 @code{stencil-align-dir-y} o @code{stencil-offset} se moverá el
 símbolo del borde verticalmente con relación al extremo de la línea:
 
 @lilypond[relative=1,fragment,verbatim]
-\override TextSpanner #'bound-details
-  #'left #'stencil-align-dir-y = #-2
-\override TextSpanner #'bound-details
-  #'right #'stencil-align-dir-y = #UP
-
-\override TextSpanner #'bound-details
-  #'left #'text = #"ggg"
-\override TextSpanner #'bound-details
-  #'right #'text = #"hhh"
+\override TextSpanner
+  #'(bound-details left stencil-align-dir-y) = #-2
+\override TextSpanner
+  #'(bound-details right stencil-align-dir-y) = #UP
+
+\override TextSpanner
+  #'(bound-details left text) = #"ggg"
+\override TextSpanner
+  #'(bound-details right text) = #"hhh"
 c4^\startTextSpan c c c \stopTextSpan
 @end lilypond
 
 Observe que los valores negativos mueven el texto @emph{hacia arriba},
-al contrario de lo que podríoa esperarse, pues el valor de @code{-1} o
-@code{DOWN} (abajo) significa alinear el bborde @emph{inferior} del
+al contrario de lo que podría esperarse, pues el valor de @code{-1} o
+@code{DOWN} (abajo) significa alinear el borde @emph{inferior} del
 texto con la línea de extensión.  Un valor de @code{1} o @code{UP}
 (arriba) alinea el borde superior del texto con la línea extensora.
 
@@ -2152,8 +2330,8 @@ c2 \< c2 c2
 Si se usa @code{\endSpanners} no es necesario cerrar \startTextSpan
 con \stopTextSpan, ni cerrar los reguladores con @code{\!}.
 
-@seealso
 
+@seealso
 Referencia de funcionamiento interno:
 @rinternals{TextSpanner},
 @rinternals{Glissando},
@@ -2197,7 +2375,7 @@ objetos de presentación.  Se estudian bajo Consideraciones especiales.
 
 Todo objeto de presentación tiene una propiedad stencil (sello).  De
 forma predeterminada está establecida a la función específica que
-dibuja ese objeto.  Se se sobreescribe eesta propiedad a @code{#f} no
+dibuja ese objeto.  Si se sobreescribe esta propiedad a @code{#f} no
 se llama a ninguna función y el objeto no se dibuja.  La acción
 predeterminada se puede recuperar con @code{\revert}.
 
@@ -2264,7 +2442,7 @@ indeterminado.
 
 En el ejemplo de arriba, la clave blanca, con un valor @code{layer}
 predeterminado de @code{1}, se dibuja después de las líneas del
-pentragrama (valor @code{layer} predeterminado de @code{0}),
+pentagrama (valor @code{layer} predeterminado de @code{0}),
 sobreimpresionándolas.  Para cambiarlo, se debe dar al objeto
 @code{Clef} un valor de @code{layer} más bajo, digamos @code{-1}, para
 que se dibuje antes:
@@ -2310,30 +2488,26 @@ objeto se imprime al final, dentro, o al principio de la línea.  O,
 para ser más exactos: antes del salto de línea, si no hay salto, o
 después del salto.
 
-Como alternativa se pueden especificar siete de las ocho combinaciones
-mediante funciones predefinidas cuya definición está en
+Como alternativa se puede especificar cualquiera de las ocho
+combinaciones mediante funciones predefinidas cuya definición está en
 @file{scm/output-lib.scm}, donde las tres últimas columnas indican si
 los objetos de presentación serán visibles en las posiciones que se
 muestran en el encabezamiento de cada columna:
 
-@multitable @columnfractions .40 .15 .1 .1 .1
-@c TODO check these more carefully
+@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {yes} {yes} {yes}
 @headitem Forma                   @tab Forma                  @tab Antes del @tab Si no hay    @tab Después del
 @headitem de función              @tab de vector              @tab salto     @tab salto        @tab salto
 
-@item @code{all-invisible}           @tab @code{'#(#f #f #f)} @ @ @tab no     @tab no       @tab no
+@item @code{all-visible}             @tab @code{'#(#t #t #t)}     @tab sí     @tab sí       @tab sí
 @item @code{begin-of-line-visible}   @tab @code{'#(#f #f #t)}     @tab no     @tab no       @tab sí
+@item @code{center-visible}          @tab @code{'#(#f #t #f)}     @tab no     @tab sí       @tab no
 @item @code{end-of-line-visible}     @tab @code{'#(#t #f #f)}     @tab sí     @tab no       @tab no
-@item @code{all-visible}             @tab @code{'#(#t #t #t)}     @tab sí     @tab sí       @tab sí
-@c The center-visible function is not defined
-@c @item @code{center-visible}       @tab @code{'#(#f #t #f)}     @tab no     @tab sí       @tab no
 @item @code{begin-of-line-invisible} @tab @code{'#(#t #t #f)}     @tab sí     @tab sí       @tab no
-@item @code{end-of-line-invisible}   @tab @code{'#(#f #t #t)}     @tab no     @tab sí       @tab sí
 @item @code{center-invisible}        @tab @code{'#(#t #f #t)}     @tab sí     @tab no       @tab sí
+@item @code{end-of-line-invisible}   @tab @code{'#(#f #t #t)}     @tab no     @tab sí       @tab sí
+@item @code{all-invisible}           @tab @code{'#(#f #f #f)}     @tab no     @tab no       @tab no
 @end multitable
 
-La función @code{center-visible} no está predefinida.
-
 Los ajustes predeterminados de @code{break-visibility} dependen del
 objeto de presentación.  La tabla siguiente muestra todos los objetos
 de presentación de interés que resultan afectados por
@@ -2510,8 +2684,8 @@ Para los cambios de clave explícitos, la propiedad
 @code{explicitClefVisibility} controla tanto el símbolo de clave como
 el símbolo de octava asociado.
 
-@seealso
 
+@seealso
 Manual de aprendizaje:
 @rlearning{Visibility and color of objects}
 
@@ -2552,7 +2726,7 @@ posible sobreescribirlos:
 
 @lilypond[relative=2,ragged-right,verbatim,fragment]
 e2 \glissando f
-\once \override Glissando #'bound-details #'right #'Y = #-2
+\once \override Glissando #'(bound-details right Y) = #-2
 e2 \glissando f
 @end lilypond
 
@@ -2583,17 +2757,59 @@ pero difiere el método de hacerlo.
 @node Rotating layout objects
 @unnumberedsubsubsec Rotating layout objects
 
-@untranslated
+@cindex rotating objects
+@cindex objects, rotating
+
+Todos los objetos de presentación que contemplan el interface
+@code{grob-interface} se pueden rotar estableciendo su propiedad
+@code{rotation}.  Acepta una lista de tres elementos: el ángulo de la
+rotación en sentido antihorario, y las coordenadas x e y del punto con
+relación al punto de referencia del objeto, alrededor del que se va a
+realizar la rotación.  El ángulo de rotación se especifica en grados
+y las coordenadas en espacios de pentagrama.
+
+El ángulo de rotación y las coordenadas del punto de rotación se deben
+determinar por ensayo y error.
+
+@cindex reguladores en ángulo
+@cindex ángulo, reguladores en
+
+Solamente en ciertas ocasiones es útil la rotación de objetos de
+presentación; el ejemplo siguiente muestra una situación en que puede
+serlo:
+
+@lilypond[quote,verbatim,relative=1]
+g4\< e' d' f\!
+\override Hairpin #'rotation = #'(20 -1 0)
+g,,4\< e' d' f\!
+@end lilypond
 
 @node Rotating markup
 @unnumberedsubsubsec Rotating markup
 
-@untranslated
+Todos los textos de marcado se pueden rotar para que se dispongan en
+cualquier ángulo precediéndolos de la instrucción @code{\rotate}.  La
+instrucción acepta dos argumentos: el ángulo de rotación en grados en
+sentido antihorario, y el texto que rotar.  Los límites que ocupa el
+texto no se rotan: toman su valor a partir de los extremos de las
+coordenadas x e y del texto rotado.  En el ejemplo siguiente la
+propiedad @code{outside-staff-priority} del texto se establece a
+@code{#f} para desactivar la evitación automática de colisiones, lo
+que empuja al texto a una posición muy alta.
+
+@lilypond[quote,verbatim,relative=1]
+\override TextScript #'outside-staff-priority = ##f
+g4^\markup { \rotate #30 "a G" }
+b^\markup { \rotate #30 "a B" }
+des^\markup { \rotate #30 "a D-Flat" }
+fis^\markup { \rotate #30 "an F-Sharp" }
+@end lilypond
 
 @node Advanced tweaks
 @section Advanced tweaks
 
-@untranslated
+Esta sección trata sobre distintos enfoques en la realización de
+ajustes finos a la apariencia de la partitura impresa.
 
 @menu
 * Aligning objects::
@@ -2603,37 +2819,345 @@ pero difiere el método de hacerlo.
 @end menu
 
 
+@seealso
+Manual de aprendizaje:
+@rlearning{Tweaking output},
+@rlearning{Other sources of information}.
+
+Referencia de la notación:
+@ref{Explaining the Internals Reference},
+@ref{Modifying properties},
+@ref{Interfaces for programmers}.
+
+Archivos de inicio:
+@file{scm/@/define@/-grobs@/.scm}.
+
+Fragmentos de código:
+@rlsr{Tweaks and overrides}.
+
+Referencia de funcionamiento interno:
+@rinternals{All layout objects}.
+
+
 @node Aligning objects
 @subsection Aligning objects
 
-@untranslated
+Los objetos gráficos que soportan el interface
+@code{self-alignment-interface} y/o el @code{side-position-interface}
+se pueden alinear contra un objeto colocado previamente, de diversas
+maneras.  Para ver una lista de estos objetos, consulte
+@rinternals{self-alignment-interface} y
+@rinternals{side-position-interface}.
+
+Todos los objetos gráficos tienen un punto de referencia, una
+extensión horizontal y una extensión vertical.  La extensión
+horizontal es una pareja de números que dan los desplazamientos a
+partir del punto de referencia de los bordes izquierdo y derecho,
+siendo negativos los desplazamientos hacia la izquierda.  La extensión
+vertical es una pareja de números que dan el desplazamiento a partir
+del punto de referencia hasta los bordes inferior y superior, siendo
+negativos los desplazamientos hacia abajo.
+
+La posición de un objeto sobre el pentagrama viene dada por los
+valores de las propiedades @code{X-offset} e @code{Y-offset}.  El
+valor de @code{X-offset} da el desplazamiento desde la coordenada x
+del punto de referencia del objeto padre, y el valor de
+@code{Y-offset} da el desplazamiento a partir de la línea central del
+pentagrama.  Los valores de @code{X-offset} y @code{Y-offset} se
+pueden establecer directamente o se puede dejar que se calculen por
+parte de procedimientos para conseguir una alineación con el objeto
+padre de distintas maneras.
+
+@warning{Muchos objetos tienen consideraciones de posicionamiento
+especiales que hacen que se ignore o se modifique cualquier ajuste
+realizado a @code{X-offset} o a @code{Y-offset}, a pesar de que el
+objeto contemple el interface @code{self-alignment-interface}.}
+
+Por ejemplo, una alteración accidental se puede reposicionar
+verticalmente estableciendo @code{Y-offset} pero los cambios a
+@code{X-offset} no tienen ningún efecto.
+
+Las letras de ensayo se pueden alinear con objetos divisibles como
+líneas divisorias, claves, armaduras e indicaciones de compás.  Hay
+propiedades especiales que se encuentran en
+@code{break-aligned-interface} para el posicionamiento de las letras
+de ensayo sobre dichos objetos.
 
 @menu
 * Setting @code{X-offset} and @code{Y-offset} directly::
 * Using the @code{side-position-interface}::
 * Using the @code{self-alignment-interface}::
-* Using the @code{break-aligned-interface}::
+* Using the @code{break-alignable-interface}::
 @end menu
 
 @node Setting @code{X-offset} and @code{Y-offset} directly
 @unnumberedsubsubsec Setting @code{X-offset} and @code{Y-offset} directly
 
-@untranslated
+Se pueden dar valores numéricos a las propiedades @code{X-offset} y
+@code{Y-offset} de muchos objetos.  El ejemplo siguiente muestra tres
+notas con una digitación en su posición predeterminada y con los
+valores @code{X-offset} y @code{Y-offset} modificados.
+
+@lilypond[verbatim,quote,relative=2]
+a-3
+a
+-\tweak #'X-offset #0
+-\tweak #'Y-offset #0
+-3
+a
+-\tweak #'X-offset #-1
+-\tweak #'Y-offset #1
+-3
+@end lilypond
+
+@c TODO write more
 
 @node Using the @code{side-position-interface}
 @unnumberedsubsubsec Using the @code{side-position-interface}
 
-@untranslated
+Un objeto que contempla el @code{side-position-interface} se puede
+colocar junto a su objeto padre de forma que los bordes especificados
+de los dos objetos se toquen.  El objeto se puede situar encima,
+debajo, a la derecha o a la izquierda del objeto padre.  El padre no
+se puede especificar; viene determinado por el orden de los elementos
+en el flujo de entrada.  Casi todos los objetos tienen la cabeza de la
+nota asociada como padre.
+
+Los valores de las propiedades @code{side-axis} y @code{direction}
+determinan dónde colocar el objeto, como sigue:
+
+@c TODO add an example of each to the table
+
+@multitable @columnfractions .3 .3 .3
+@headitem @code{side-axis}  @tab @code{direction}  @tab
+@headitem propiedad         @tab propiedad         @tab colocación
+
+@item     @code{0}          @tab @code{-1}         @tab izquierda
+@item     @code{0}          @tab @code{1}          @tab derecha
+@item     @code{1}          @tab @code{-1}         @tab debajo
+@item     @code{1}          @tab @code{1}          @tab encima
+
+@end multitable
+
+Si @code{side-axis} es @code{0}, @code{X-offset} se debe establecer al
+procedimiento @code{ly:side-position-interface::x-aligned-side}.  Este
+procedimiento devuelve el calor correcto de @code{X-offset} para
+situar el objeto al lado izquierdo o derecho del padre de acuerdo con
+el valor de @code{direction}.
+
+Si @code{side-axis} es @code{1}, @code{Y-offset} se debe establecer al
+procedimiento @code{ly:side-position-interface::y-aligned-side}.  Este
+procedimiento devuelve el valor correcto de @code{Y-offset} para
+situar el objeto encima o debajo del padre de acuerdo con el valor de
+@code{direction}.
+
+@c TODO Add examples
 
 @node Using the @code{self-alignment-interface}
 @unnumberedsubsubsec Using the @code{self-alignment-interface}
 
-@untranslated
+@emph{Auto-alineación horizontal de los objetos}
+
+La alineación horizontal de un objeto que contempla el interface
+@code{self-alignment-interface} está controlada por el valor de la
+propiedad @code{self-alignment-X}, siempre y cuando la propiedad
+@code{X-offset} de este objeto esté establecida a
+@code{ly:self-alignment-interface::x-aligned-on-self}.  Se le puede
+dar a @code{self-alignment-X} cualquier valor real, en unidades de la
+mitad de la extensión X total del objeto.  Los valores negativos
+mueven el objeto a la derecha, los positivos hacia la izquierda.  Un
+valor de @code{0} centra el objeto sobre el punto de referencia de su
+padre, un valor de @code{-1} alinea el borde izquierdo del objeto
+sobre el punto de referencia de su padre, y un valor de @code{1}
+alinea el borde derecho del objeto sobre el punto de referencia de su
+padre.  Se pueden usar los símbolos @code{LEFT}, @code{CENTER} y
+@code{RIGHT} en sustitución de los valores @code{-1, 0, 1},
+respectivamente.
+
+Normalmente se usaría la instrucción @code{\override} para modificar
+el valor de @code{self-alignment-X}, pero se puede usar la instrucción
+@code{\tweak} para alinear varias anotaciones por separado sobre una
+sola nota:
+
+@lilypond[quote,verbatim,relative=1]
+a'
+-\tweak #'self-alignment-X #-1
+^"left-aligned"
+-\tweak #'self-alignment-X #0
+^"center-aligned"
+-\tweak #'self-alignment-X #RIGHT
+^"right-aligned"
+-\tweak #'self-alignment-X #-2.5
+^"aligned further to the right"
+@end lilypond
+
+@emph{Auto-alineación vertical de los objetos}
+
+Los objetos se pueden alinear verticalmente en una forma análoga a la
+alineación horizontal si la propiedad @code{Y-offset} está establecida
+a @code{ly:self-alignment-interface::y-aligned-on-self}.  Sin embargo,
+a menudo se encuentran implicados otros mecanismos en la alineación
+vertical: el valor de @code{Y-offset} es tan sólo una variable que se
+tiene en cuenta.  Esto puede hacer que ajustar el valor de ciertos
+objetos sea una tarea dificultosa.  Las unidades son sólo la mitad de
+las dimensiones verticales del objeto, que suele ser bastante pequeño,
+por lo que pueden requerirse números bastante grandes.  Un valor de
+@code{-1} alinea el borde inferior del objeto con el punto de
+referencia del objeto padre, un valor de @code{0} alinea el centro del
+objeto con el punto de referencia del padre, y un valor de @code{1}
+alinea el borde superior del objeto con el punto de referencia del
+padre.  Se pueden usar los símbolos @code{DOWN}, @code{CENTER},
+@code{UP} en sustitución de @code{-1, 0, 1} respectivamente.
+
+@emph{Auto-alineación de objetos en las dos direcciones}
+
+Estableciendo tanto @code{X-offset} como @code{Y-offset}, se puede
+alinear un objeto en las dos direcciones simultáneamente.
+
+El ejemplo siguiente muestra cómo ajustar una digitación de forma que
+se acerque a la cabeza de la nota.
+
+@lilypond[quote,verbatim,relative=2]
+a
+-\tweak #'self-alignment-X #0.5  % move horizontally left
+-\tweak #'Y-offset #ly:self-alignment-interface::y-aligned-on-self
+-\tweak #'self-alignment-Y #-1  % move vertically up
+-3  % third finger
+@end lilypond
+
+@ignore
+@unnumberedsubsubsec Using the @code{aligned-on-parent} procedures
+
+@c Cannot document as they do not seem to operate consistently on all objects -td
+@c TODO investigate further
+
+The @code{aligned-on-parent} procedures are used in the same way
+as the @code{aligned-on-self} procedures, they difference being
+that they permit an object to be aligned with the @emph{edges} of
+the parent rather than the parent's reference point.  The following
+example shows the difference:
+
+@c TODO Add example
+
+@lilypond[verbatim,quote]
+@end lilypond
+
+@end ignore
+
+@ignore
+@unnumberedsubsubsec Using the @code{centered-on-parent} procedures
+
+@c Cannot document as they do not seem to operate consistently on all objects -td
+@c TODO investigate further
+
+@end ignore
+
+@c TODO The align-interface, BassFigureAlignment and VerticalAlignment
+
 
-@node Using the @code{break-aligned-interface}
-@unnumberedsubsubsec Using the @code{break-aligned-interface}
+@node Using the @code{break-alignable-interface}
+@unnumberedsubsubsec Using the @code{break-alignable-interface}
+
+@cindex alineación a objetos
+@cindex break-align-symbols
+
+Las letras de ensayo se pueden alinear con objetos de notación
+distintos a las barras de compás.  Estos objetos son @code{ambitus},
+@code{breathing-sign}, @code{clef}, @code{custos}, @code{staff-bar},
+@code{left-edge}, @code{key-cancellation}, @code{key-signature} y
+@code{time-signature}.
+
+De forma predeterminada, las letras de ensayo y los números de compás
+se centran horizontalmente sobre el objeto:
+
+@lilypond[verbatim,quote,relative=1]
+e1
+% the RehearsalMark will be centered above the Clef
+\override Score.RehearsalMark #'break-align-symbols = #'(clef)
+\key a \major
+\clef treble
+\mark "↓"
+e
+% the RehearsalMark will be centered above the TimeSignature
+\override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
+\key a \major
+\clef treble
+\time 3/4
+\mark "↓"
+e2.
+@end lilypond
+
+Se puede especificar una lista de posibles objetos para la alineación.
+Si algunos de los objetos son invisibles en ese punto debido al valor
+de @code{break-visibility} o a valores de visibilidad explícitos para
+las armaduras y las claves, la letra de ensayo o número de compás se
+alinean con el primer objeto de la lista que sea visible.  Si ningún
+objeto de la lista es visible, el objeto se alinea con la línea
+divisoria.  Si la línea divisoria es invisible, el objeto se alinea
+con el punto en el que se encontraría la línea divisoria.
+
+@lilypond[verbatim,quote,relative=1]
+e1
+% the RehearsalMark will be centered above the Key Signature
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \major
+\clef treble
+\mark "↓"
+e
+% the RehearsalMark will be centered above the Clef
+\set Staff.explicitKeySignatureVisibility = #all-invisible
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \minor
+\clef bass
+\mark "↓"
+e,
+@end lilypond
+
+La alineación de la letra de ensayo con relación al objeto de notación
+se puede cambiar, como se ve en el ejemplo siguiente.  En una
+partitura con varios pentagramas, este ajuste se debe hacer para todos
+los pentagramas.
+
+@lilypond[verbatim,quote,relative=1]
+% The RehearsalMark will be centered above the KeySignature
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
+\key a \major
+\clef treble
+\time 4/4
+\mark "↓"
+e1
+% The RehearsalMark will be aligned with the left edge of the KeySignature
+\once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
+\mark "↓"
+\key a \major
+e
+% The RehearsalMark will be aligned with the right edge of the KeySignature
+\once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
+\key a \major
+\mark "↓"
+e
+@end lilypond
+
+La letra de ensayo también se puede desplazar al borde derecho o
+izquierdo en una medida arbitraria.  Las unidades son espacios de
+pentagrama:
+
+@lilypond[verbatim,quote,relative=1]
+% The RehearsalMark will be aligned with the left edge of the KeySignature
+% and then shifted right by 3.5 staff-spaces
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
+\once \override Score.KeySignature #'break-align-anchor = #3.5
+\key a \major
+\mark "↓"
+e
+% The RehearsalMark will be aligned with the left edge of the KeySignature
+% and then shifted left by 2 staff-spaces
+\once \override Score.KeySignature #'break-align-anchor = #-2
+\key a \major
+\mark "↓"
+e
+@end lilypond
 
-@untranslated
 
 @node Vertical grouping of grobs
 @subsection Vertical grouping of grobs
@@ -2647,10 +3171,64 @@ Normalmente sólo existe un @code{VerticalAlignment} por cada
 partitura, pero cada @code{Staff}, @code{Lyrics}, etc. tiene su propio
 @code{VerticalAxisGroup}.
 
+
 @node Modifying stencils
 @subsection Modifying stencils
 
-@untranslated
+Todos los objetos de presentación tienen una propiedad @code{stencil}
+que es parte del @code{grob-interface}.  De forma predeterminada, esta
+propiedad suele estar establecida a una función específica del objeto
+que está hecha a medida para disponer el símbolo que lo representa en
+la salida.  Por ejemplo, el ajuste estándar para la propiedad
+@code{stencil} del objeto @code{MultiMeasureRest} es
+@code{ly:multi-measure-rest::print}.
+
+El símbolo estándar de cualquier objeto se puede sustituir modificando
+la propiedad @code{stencil} para que haga referencia a un
+procedimiento diferente escrito especialmente.  Esto requiere un alto
+nivel de conocimiento del funcionamiento interno de LilyPond, pero hay
+una forma más fácil que a menudo puede dar resultados adecuados.
+
+El procedimiento es establecer la propiedad @code{stencil} al
+procedimiento que imprime texto (@code{ly:text-interface::print}) y
+añadir una propiedad @code{text} al objeto ajustada para que contenga
+el texto de marcado que produce el símbolo requerido.  Debido a la
+flexibilidad del marcado, se pueden conseguir muchas cosas; en
+particular, consulte @ref{Graphic notation inside markup}.
+
+El ejemplo siguiente muestra esto cambiando el símbolo de la cabeza de
+la nota a unas aspas dentro de una circunferencia.
+
+@lilypond[verbatim,quote]
+XinO = {
+  \once \override NoteHead  #'stencil = #ly:text-interface::print
+  \once \override NoteHead #'text = \markup {
+    \combine
+      \halign #-0.7 \draw-circle #0.85 #0.2 ##f
+      \musicglyph #"noteheads.s2cross"
+  }
+}
+\relative c'' {
+  a a \XinO a a
+}
+@end lilypond
+
+Cualquiera de los glifos de la fuente tipográfica Feta se puede pasar
+a la instrucción de marcado @code{\musicglyph}: véase @ref{The Feta
+font}.
+
+@c TODO Add inserting eps files or ref to later
+
+@c TODO Add inserting Postscript or ref to later
+
+
+@seealso
+Referencia de la notación:
+@ref{Graphic notation inside markup},
+@ref{Formatting text},
+@ref{Text markup commands},
+@ref{The Feta font}.
+
 
 @node Modifying shapes
 @subsection Modifying shapes
@@ -2662,4 +3240,72 @@ partitura, pero cada @code{Staff}, @code{Lyrics}, etc. tiene su propio
 @node Modifying ties and slurs
 @unnumberedsubsubsec Modifying ties and slurs
 
-@untranslated
+Las ligaduras de unión, de expresión y de fraseo se trazan como curvas
+de Bézier de tercer orden.  Si la forma de la ligadura calculada
+automáticamente no resulta óptima, se puede modificar su forma
+manualmente mediante la especificación explícita de los cuatro puntos
+de control necesarios para definir una curva de Bézier de tercer
+orden.
+
+Las curvas Bézier de tercer orden o cúbicas están definidas por cuatro
+puntos de control.  El primer y cuarto puntos de control son
+exactamente los puntos extremos de comienzo y de final de la curva.
+Los dos puntos de control intermedios definen la forma.  Se pueden
+encontrar en la web animaciones que muestran cómo se traza la curva,
+pero la descripción siguiente puede ser de ayuda.  La curva comienza a
+partir del primer punto de control dirigiéndose directamente hacia el
+segundo, curvándose progresivamente para dirigirse hacia el tercero y
+continuando la curva hacia el cuarto, llegando a éste en viaje directo
+desde el tercer punto de control.  La curva está contenida enteramente
+dentro del cuadrilátero definido por los cuatro puntos de control.
+
+He aquí un ejemplo de un caso en que la ligadura no es óptima, y donde
+@code{\tieDown} no sirve de ayuda.
+
+@lilypond[verbatim,quote,relative=1]
+<<
+  { e1 ~ e }
+\\
+  { r4 <g c,> <g c,> <g c,> }
+>>
+@end lilypond
+
+Una forma de mejorar esta ligadura es modificar manualmente sus puntos
+de control como sigue.
+
+Las coordenadas de los puntos de control de Bézier se especifican en
+unidades de espacios de pentagrama.  La coordenada@tie{}X está en
+relación con el punto de referencia de la nota a la que está unida la
+ligadura, y la coordenada@tie{}Y está en relación con la línea central
+del pentagrama.  Las coordenadas se introducen como una lista de
+cuatro parejas de números decimales (reales).  Un enfoque es estimar
+las coordenadas de los dos puntos extremos, y luego tratar de adivinar
+los dos puntos intermedios.  Los valores óptimos se encuentran por
+ensayo y error.
+
+Es útil recordar que una curva simétrica necesita puntos de control
+simétricos, y que las curvas de Bézier tienen la útil propiedad de que
+las transformaciones de la curva tales como la traslación, rotación y
+escalado se pueden obtener aplicando la misma transformación a los
+puntos de control de la curva.
+
+Para el ejemplo anterior, la sobreescritura siguiente da una ligadura
+satisfactoria:
+
+@lilypond[verbatim,quote,relative=1]
+<<
+  \once \override Tie
+    #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
+  { e1 ~ e1 }
+\\
+  { r4 <g c,> <g c,> <g c,>4  }
+>>
+@end lilypond
+
+@knownissues
+
+No es posible modificar la forma de las ligaduras de unión o de
+expresión cambiando la propiedad @code{control-points} si hay más de
+una en el mismo momento musical, ni siquiera usando la instrucción
+@code{\tweak}.
+