]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/notation/changing-defaults.itely
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond into...
[lilypond.git] / Documentation / es / notation / changing-defaults.itely
index 7410be1b9724014936c4b13ff924204878e85c11..13e9fe14af8c44ab19a19c606b19642b55f5619c 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: de924bddd22886a0a67decbde45acd5da441bf6d
+Translation of GIT committish: f715a8eb30eb26b770b3888c1dcbbea00699e4eb
 
     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.13.42"
+@c \version "2.15.20"
 
 @node Cambiar los valores por omisión
 @chapter Cambiar los valores por omisión
@@ -34,7 +34,7 @@ Dicho manual relaciona todas
 las variables, funciones y opciones que se encuentran disponibles en
 LilyPond.  Está escrito como un documento HTML, que se puede encontrar
 @c leave the @uref as one long line.
-@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,en línea},
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/internals/,en@tie{}línea},
 pero que también va incluido en el paquete de la documentación de LilyPond.
 
 Internamente, LilyPond utiliza el lenguaje Scheme (un dialecto de
@@ -42,7 +42,7 @@ LISP) para aportar la infraestructura.  La sobreescritura de las
 decisiones de disposición da acceso efectivo a las interioridades del
 programa, lo que requiere código de Scheme como entrada.  Los
 elementos de Scheme se inauguran dentro de un archivo @file{.ly} con
-el símbolo de cuadradillo @code{#}.@footnote{@rextend{Tutorial de Scheme}
+el símbolo de cuadradillo@tie{}@code{#}.@footnote{@rextend{Tutorial de Scheme}
 contiene un breve tutorial sobre la introducción de números,
 listas, cadenas y símbolos en Scheme.}
 
@@ -69,7 +69,7 @@ Esta sección explica qué son los contextos y cómo modificarlos.
 * Modificar los complementos (plug-ins) de contexto::
 * Cambiar los valores por omisión de los contextos::
 * Definir contextos nuevos::
-* Alinear los contextos::
+* Orden de disposición de los contextos::
 @end menu
 
 
@@ -712,27 +712,46 @@ bloque de partitura.
 Se pueden realizar de forma similar modificaciones al contexto
 @code{Score} o a todos los contextos @code{Voice}.
 
-@knownissues
+Los cambios de contexto se pueden poner dentro de una variable y
+aplicarse a una definición de contexto @code{\context} anteponiendo la
+modificación mediante @code{\with}:
 
-No es posible recolectar cambios de contexto dentro de una variable y
-aplicarlos a una definición de @code{\context} por referencia a dicha
-variable.
+@lilypond[quote,verbatim]
+blubb = \with {
+  fontSize = #-4
+  \override Stem #'thickness = #4.0
+  \remove "Time_signature_engraver"
+}
 
-La instrucción @code{\RemoveEmptyStaves} sobreescribe nuestros ajustes
-en curso para el contexto @code{\Staff}.  Si queremos cambiar los
-valores predeterminados para un pentagrama que utilice
-@code{\RemoveEmptyStaves}, debemos hacerlo después de llamar a
-@code{\RemoveEmptyStaves}, o sea
+bla = \with {
+  fontSize = #3
+  \override Stem #'thickness = #-2.0
+}
 
-@example
-\layout @{
-  \context @{
-    \Staff \RemoveEmptyStaves
+melody = \relative c'' {
+  a4 a a a |
+  a4 a a a |
+}
 
-    \override Stem #'thickness = #4.0
-  @}
-@}
-@end example
+\score {
+  <<
+    \new Staff <<
+      \melody
+      s1*0^"Small, thicker stems, no time signature"
+    >>
+    \new Staff \bla <<
+      \melody
+      s1*0^"Different"
+    >>
+  >>
+  \layout {
+    \context {
+      \Staff
+      \blubb
+    }
+  }
+}
+@end lilypond
 
 @c TODO: add \with in here.
 
@@ -780,6 +799,7 @@ de jazz,
   squashedPosition = #0
   \override NoteHead #'style = #'slash
   \override Stem #'transparent = ##t
+  \override Flag #'transparent = ##t
   \alias Voice
 }
 \context { \Staff
@@ -848,6 +868,7 @@ Las notas parecen barras inclinadas y no tienen plica:
 @example
 \override NoteHead #'style = #'slash
 \override Stem #'transparent = ##t
+\override Flag #'transparent = ##t
 @end example
 
 Todos estos añadidos tienen que cooperar, y esto se consigue con un
@@ -870,6 +891,7 @@ Al juntarlo todo, obtenemos
   squashedPosition = #0
   \override NoteHead #'style = #'slash
   \override Stem #'transparent = ##t
+  \override Flag #'transparent = ##t
   \alias Voice
 @}
 @end example
@@ -923,78 +945,75 @@ puede escribir como
 @end example
 
 
-@node Alinear los contextos
-@subsection Alinear los contextos
-@translationof Aligning contexts
-
-Los contextos nuevos se pueden alinear por encima o por debajo de
-otros contextos existentes.  Esto podría ser de utilidad al preparar
-un pentagrama vocal (@rlearning{Conjuntos vocales}) y en el ossia,
-
-@cindex ossia
-@funindex alignAboveContext
-@funindex alignBelowContext
-
-@lilypond[quote,ragged-right]
-ossia = { f4 f f f }
-\score{
-  \relative c' \new Staff = "main" {
-    c4 c c c
-    <<
-      \new Staff \with { alignAboveContext = #"main" } \ossia
-      { d8 f d f d f d f }
-    >>
-  }
-}
-@end lilypond
-
-@cindex nested contexts
-@cindex contexts, nested
+@node Orden de disposición de los contextos
+@subsection Orden de disposición de los contextos
+@translationof Context layout order
 
+@cindex contextos, orden de disposición
 @funindex \accepts
 @funindex \denies
 
-Los contextos como @code{PianoStaff} pueden llevar dentro otros
-contextos anidados.  Los contextos que se pueden aceptar para su
-anidamiento están definidos por la lista @qq{accepts} (acepta) de un
-contexto.  Los contextos que no están en esta lista se colocan debajo
-del contexto exterior en la partitura impresa.  Por ejemplo, el
-contexto @code{PianoStaff} está definido para que acepte contextos
-@code{Staff} y @code{FiguredBass} de forma predeterminada, pero no un
-contexto @code{Lyrics}, por ejemplo.  Así pues, en la siguiente
-estructura la letra se sitúa debajo del sistema de piano en lugar de
-colocarse entre los dos pentagramas:
+Los contextos se disponen en un sistema normalmente desde arriba hacia
+abajo en el orden en que se encuentran en el archivo de entrada.
+Cuando los contextos se anidan unos dentro de otros, el contexto
+exterior incluye a los contextos anidados tal y como se especifica en
+el archivo de entrada, siempre y cuando los contextos interiores estén
+incluidos en la lista @qq{accepts} del contexto externo.  Los
+contextos anidados que no está nincluidos en la lista @qq{accepts} del
+contexto externo se recolocan debajo del contexto externo en lugar de
+anidarse dentro de él.
 
-@lilypond[verbatim,quote,relative=1]
-\new PianoStaff
-<<
-  \new Staff { e4 d c2 }
-  \addlyrics { Three blind mice }
+La lista @qq{accepts} de un contexto se puede cambiar con las
+instrucciones @code{\accepts} (acepta) y @code{\denies} (niega).
+@code{\accepts} añade un contexto a la lista @qq{accepts} y
+@code{\denies} elimina un contexto de la lista.  Por ejemplo,
+normalmente no sería deseable que los acordes de cifrado americano
+estuvieran anidados dentro de un contexto @code{Staff}, por lo que el
+contexto @code{ChordNames} no se incluye de forma predeterminada
+dentro de la lista @qq{accepts} del contexto @code{Staff}, pero podría
+hacerse si fuera necesario:
+
+@lilypond[verbatim,quote]
+\score {
   \new Staff {
-    \clef "bass"
-    { c,1 }
+    c' d' e' f'
+    \chords { d1:m7 b1:min7.5- }
   }
->>
+}
 @end lilypond
 
-La lista @qq{accepts} de un contexto se puede modificar para que
-incluya contextos anidados adicionales, y así si quisiéramos que la
-letra apareciese entre los dos pentagramas podríamos usar:
-
-@lilypond[verbatim,quote,relative=1]
-\new PianoStaff \with { \accepts Lyrics }
-<<
-  \new Staff { e4 d c2 }
-  \addlyrics { Three blind mice }
+@lilypond[verbatim,quote]
+\score {
   \new Staff {
-    \clef "bass"
-    { c,1 }
+    c' d' e' f'
+    \chords { d1:m7 b1:min7.5- }
   }
->>
+  \layout {
+    \context {
+      \Staff
+      \accepts "ChordNames"
+    }
+  }
+}
 @end lilypond
 
-Lo contrario de @code{\accepts} (acepta) es @code{\denies} (deniega);
-esto suprime un contexto de la lista @qq{accepts}.
+@code{\denies} se usa principalmente cuando un contexto nuevo se está
+basando en otro, pero los anidamientos requeridos difieren.  Por
+ejemplo, el contexto @code{VaticanaStaff} está basado en el contexto
+@code{Staff}, pero con el contexto @code{VaticanaVoice} sustituido por
+el contexto @code{Voice} en la lista @qq{accepts}.
+
+Observe que discretamente se crea un contexto de forma implícita si se
+encuentra una instrucción donde no hay un contexto apropiado para
+contenerlo.  Esto puede dar lugar a pentagramas o partituras nuevos no
+esperados.
+
+@seealso
+Manual de utilización del programa:
+@rprogram{Aparece un pentagrama de más}.
+
+Archivos instalados:
+@file{ly/engraver-init.ly}.
 
 
 @node Explicación del Manual de referencia de funcionamiento interno
@@ -1321,7 +1340,7 @@ ajustes, se puede alterar la apariencia de los objetos.
 
 Existen dos tipos diferentes de propiedades almacenadas en los
 contextos: las propiedades de contexto y las propiedades de grob.  Las
-prpopiedades de contexto son propiedades que se aplican al contexto
+propiedades de contexto son propiedades que se aplican al contexto
 como un todo y controlan la forma en que el propio contexto se
 imprime.  Por contra, las propiedades de grob se aplican a los tipos
 de grob específicos que se imprimirán dentro del contexto.
@@ -1465,7 +1484,7 @@ paso de interpretación.  Se consigue insertando la instrucción
 @end example
 
 @var{valor} es un objeto de Scheme, razón por la que va precedido del
-carácter almohadilla, @code{#}.
+carácter almohadilla,@tie{}@code{#}.
 
 El nombre de las propiedades de contexto suele ir en minúsculas con
 mayúscula en medio.  Controlan sobre todo la traducción de la música a
@@ -1751,7 +1770,7 @@ instrucciones de la forma
 
 Para muchas propiedades, independientemente del tipo de datos de la
 propiedad, si se establece el valor de la propiedad a falso
-(@code{##f}) se producirá su desactivación, ocasionando que LilyPond
+(@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ían problemas.
@@ -1955,7 +1974,7 @@ varias ligaduras generadas dentro de un acorde.
 @subsection @code{\set} frente a @code{\override}
 @translationof set versus override
 
-HACER: probablemente esta sección es innecesaria.
+@c HACER: probablemente esta sección es innecesaria.
 
 @ignore
 We have seen two methods of changing properties: @code{\set} and
@@ -2009,9 +2028,10 @@ se relacionan en la sección
 @end example
 
 Una forma de acercar los pentagramas entre sí es reducir el valor de
-la clave @code{basic-distance} (@code{9}) para que se corresponda con el valor
-de @code{minimum-distance} (@code{7}).  Para modificar una única clave
-de forma individual, utilice una @emph{declaración anidada}:
+la clave @code{basic-distance} (@code{9}) para que se corresponda con
+el valor de @code{minimum-distance} (@code{7}).  Para modificar una
+única clave de forma individual, utilice una @emph{declaración
+anidada}:
 
 @lilypond[quote,verbatim]
 % default space between staves
@@ -2039,9 +2059,9 @@ propiedad.
 Ahora, supongamos que deseamos que los pentagramas estén tan próximos
 como sea posible sin que se superpongan.  La manera más sencilla de
 hacerlo es establecer las cuatro claves de la lista-A a cero.  Sin
-embargo, no es necesario escribir cuatro declaraciones anidadas,
-una por cada clave.  En lugar de eso, se puede redefinir
-completamente la propiedad con una sola declaración, como una lista-A:
+embargo, no es necesario escribir cuatro declaraciones anidadas, una
+por cada clave.  En lugar de eso, se puede redefinir completamente la
+propiedad con una sola declaración, como una lista-A:
 
 @lilypond[quote,verbatim]
 \new PianoStaff \with {
@@ -2061,8 +2081,8 @@ explícitamente en la definición de la lista-A, será reiniciada a sus
 valores @emph{predeterminados si no se han fijado}.  En el caso de
 @code{staff-staff-spacing}, el valor de cualquier clave no fijada se
 reiniciaría a cero (excepto @code{stretchability}, que toma el valor
-de @code{basic-distance} si no se fija).  Así, las dos declaraciones siguientes
-son equivalentes:
+de @code{basic-distance} si no se fija).  Así, las dos declaraciones
+siguientes son equivalentes:
 
 @example
 \override StaffGrouper #'staff-staff-spacing =
@@ -2076,18 +2096,17 @@ son equivalentes:
 @end example
 
 Una consecuencia de esto (posiblemente no intencionada) es la
-eliminación de cualquier valor estándar que
-se establezca en un archivo de inicio y que se carga cada vez que se
-compila un archivo de entrada.  En el ejemplo anterior, los ajustes
-estándar para @code{padding} y
-@code{minimum-distance} (definidos en @file{scm/define-grobs.scm}) se
-reinician a sus valores predeterminados si no se han fijado (cero para
-las dos claves).  La definición de una propiedad o variable como una
-lista-A (de cualquier tamaño) siempre reinicia todos los valores de
-clave no establecidos a sus valores predeterminados si no se han
-fijado.  Ano ser que este sea el resultado deseado, es más seguro
-actualizar los valores de clave individualmente con una declaración
-anidada.
+eliminación de cualquier valor estándar que se establezca en un
+archivo de inicio y que se carga cada vez que se compila un archivo de
+entrada.  En el ejemplo anterior, los ajustes estándar para
+@code{padding} y @code{minimum-distance} (definidos en
+@file{scm/define-grobs.scm}) se reinician a sus valores
+predeterminados si no se han fijado (cero para las dos claves).  La
+definición de una propiedad o variable como una lista-A (de cualquier
+tamaño) siempre reinicia todos los valores de clave no establecidos a
+sus valores predeterminados si no se han fijado.  Ano ser que este sea
+el resultado deseado, es más seguro actualizar los valores de clave
+individualmente con una declaración anidada.
 
 @warning{Las declaraciones anidadas no funcionan para las listas-A de
 propiedades de contexto (como @code{beamExceptions},
@@ -2104,7 +2123,6 @@ como listas-A.}
 @menu
 * Modos de entrada::
 * Dirección y posición::
-* Orden de disposición de los contextos::
 * Distancias y medidas::
 * Propiedades del símbolo del pentagrama::
 * Objetos de extensión::
@@ -2240,34 +2258,22 @@ dirección de las plicas (como las ligaduras o los acentos).
 
 @c TODO Add table showing these
 
-@strong{Disposición de contexto}
-
-Los contextos se colocan dentro de un sistema de arriba a abajo en el
-orden en que se encuentran.  Sin embargo, observe que se crea un
-contexto implícitamente si se encuentra una instrucción cuando no está
-disponible un contexto apropiado para contenerla.
-
-@c TODO Add example ?
-
-Se pude cambiar el orden predeterminado en que los contextos se
-presentan, véase @ref{Alinear los contextos}
-
-@strong{Indicadores de dirección de las articulaciones}
-
-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 predeterminado
-@code{-}.  Pero se necesita un indicador de dirección @strong{siempre}
-antes de:
+Se puede sobreescribir la acción predeterminada mediante el prefijado
+de la articulación por un @emph{indicacor de dirección}.  Están
+disponibles tres indicadores de dirección: @code{^} (que significa
+@qq{arriba}), @code{_} (que significa @qq{abajo}) o @code{-} (que
+significa @qq{usar la dirección predeterminada}).  El indicador de
+dirección se puede normalmente omitir, en cuyo caso se supone el
+indicador predeterminado @code{-}, pero se necesita un indicador de
+dirección @strong{siempre} antes de:
 
 @itemize
 @item las instrucciones @code{\tweak}
 @item las instrucciones @code{\markup}
 @item las instrucciones @code{\tag}
 @item los marcados de cadena, p.ej. -"cadena"
-@item las instrucciones de digitación, p.ej. @code{-1}
-@item las abreviaturas de articulación, p.ej. @code{-.}, @code{->}, @code{--}
+@item las instrucciones de digitación, p.ej. @w{@code{-1}}
+@item las abreviaturas de articulación, p.ej. @w{@code{-.}}, @w{@code{->}}, @w{@code{--}}
 @end itemize
 
 Estas indicaciones afectan sólo a la nota siguiente.
@@ -2286,10 +2292,10 @@ controlada por la propiedad @code{direction}.
 
 El valor de la propiedad @code{direction} se puede establecer al valor
 @code{1}, con el significado de @qq{hacia arriba} o @qq{encima}, o a
-@code{-1}, con el significado de @qq{hacia abajo} o @qq{debajo}.  Se
-pueden usar los símbolos @code{UP} y @code{DOWN} en sustitución de
-@code{1} y @code{-1} respectivamente.  La dirección predeterminada se
-puede especificar estableciendo @code{direction} a @code{0} ó a
+@w{@code{-1}}, con el significado de @qq{hacia abajo} o @qq{debajo}.
+Se pueden usar los símbolos @code{UP} y @code{DOWN} en sustitución de
+@code{1} y @w{@code{-1}} respectivamente.  La dirección predeterminada
+se puede especificar estableciendo @code{direction} a @code{0} ó a
 @code{CENTER}.  De forma alternativa, en muchos casos existen
 instrucciones predefinidas para especificar la dirección.  Todas ellas
 son de la forma:
@@ -2304,8 +2310,8 @@ predeterminada}.  Véase @rlearning{Objetos interiores al pentagrama}.
 En alguna que otra ocasión, con el único ejemplo usual del arpegio, el
 valor de la propiedad @code{direction} especifica si el objeto se debe
 colocar a la izquierda o a la derecha del objeto padre.  En este caso
-@code{-1} ó @code{LEFT} significan @qq{a la izquierda} y @code{1} ó
-@code{RIGHT} significan @qq{a la derecha}.  @code{0} ó @code{CENTER}
+@w{@code{-1}} ó @code{LEFT} significan @qq{a la izquierda} y @code{1}
+ó @code{RIGHT} significan @qq{a la derecha}.  @code{0} ó @code{CENTER}
 significan @qq{utilizar la dirección predeterminada}, como antes.
 
 Estas indicaciones afectan a todas las notas hasta que son canceladas.
@@ -2320,35 +2326,6 @@ c2( c)
 @end lilypond
 
 
-@node Orden de disposición de los contextos
-@subsection Orden de disposición de los contextos
-@translationof Context layout order
-
-@cindex contextos, orden de disposición
-
-Los contextos se disponen en un sistema normalmente desde arriba hacia
-abajo en el orden en que se encuentran en el archivo de entrada.
-Cuando los contextos se anidan unos dentro de otros, el contexto
-exterior incluye a los contextos anidados tal y como se especifica en
-el archivo de entrada, siempre y cuando los contextos interiores estén
-incluidos en la lista @qq{accepts} del contexto externo.  Los
-contextos anidados que no está nincluidos en la lista @qq{accepts} del
-contexto externo se recolocan debajo del contexto externo en lugar de
-anidarse dentro de él.
-
-Observe que discretamente se crea un contexto de forma implícita si se
-encuentra una instrucción donde no hay un contexto apropiado para
-contenerlo.  Esto puede dar lugar a pentagramas o partituras nuevos no
-esperados.
-
-El orden predeterminado en que los contextos se disponen, así como la
-lista @qq{accepts}, pueden cambiarse; véase @ref{Alinear los
-contextos}.
-
-@seealso
-Manual de utilización del programa:
-@rprogram{Aparece un pentagrama de más}.
-
 @node Distancias y medidas
 @subsection Distancias y medidas
 @translationof Distances and measurements
@@ -2669,7 +2646,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},
+relación al objeto ancla.  Sí, un valor de @w{@code{-1}} (o @code{LEFT},
 izquierda) hace que la línea comience o termine en el lado izquierdo
 de la cabeza de la nota a la que está anclado.
 
@@ -2715,7 +2692,7 @@ 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ía esperarse, pues el valor de @code{-1} o
+al contrario de lo que podría esperarse, pues el valor de @w{@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.
@@ -2771,7 +2748,8 @@ volver transparentes, se pueden pintar de blanco, o se puede
 sobreescribir su propiedad @code{break-visibility}.  Las tres primeras
 se aplican a todos los objetos de presentación; la última sólo a unos
 pocos: los objetos @emph{divisibles}.  El Manual de aprendizaje
-introduce estas cuatro técnicas, véase @rlearning{Visibilidad y color de los objetos}.
+introduce estas cuatro técnicas,
+véase @rlearning{Visibilidad y color de los objetos}.
 
 Hay también algunas otras técnicas que son específicas de ciertos
 objetos de presentación.  Se estudian bajo Consideraciones especiales.
@@ -2864,8 +2842,8 @@ 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
 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:
+@code{Clef} un valor de @code{layer} más bajo, digamos @w{@code{-1}},
+para que se dibuje antes:
 
 @lilypond[quote,verbatim,relative=2]
 \override Staff.Clef #'color = #white
@@ -3154,7 +3132,7 @@ e2 \glissando f
 e2 \glissando f
 @end lilypond
 
-El valor de @code{Y} está establecido a @code{-2} para el extremo
+El valor de @code{Y} está establecido a @w{@code{-2}} para el extremo
 derecho.  El lado izquierdo se puede ajustar de forma similar
 especificando @code{left} en vez de @code{right}.
 
@@ -3244,6 +3222,7 @@ ajustes finos a la apariencia de la partitura impresa.
 * Agrupación vertical de objetos gráficos::
 * Modificación de los sellos::
 * Modificación de las formas::
+* Contenedores unpure-pure::
 @end menu
 
 
@@ -3373,9 +3352,9 @@ determinan dónde colocar el objeto, como sigue:
 @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 @w{@code{-1}}         @tab izquierda
 @item     @code{0}          @tab @code{1}          @tab derecha
-@item     @code{1}          @tab @code{-1}         @tab debajo
+@item     @code{1}          @tab @w{@code{-1}}         @tab debajo
 @item     @code{1}          @tab @code{1}          @tab encima
 
 @end multitable
@@ -3409,11 +3388,11 @@ 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
+padre, un valor de @w{@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},
+@code{RIGHT} en sustitución de los valores @w{@code{-1}}, @code{0} y @code{1},
 respectivamente.
 
 Normalmente se usaría la instrucción @code{\override} para modificar
@@ -3444,12 +3423,13 @@ 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
+@w{@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.
+@code{UP} en sustitución de @w{@code{-1}},
+@code{0} y @code{1}, respectivamente.
 
 @emph{Auto-alineación de objetos en las dos direcciones}
 
@@ -3620,6 +3600,8 @@ e1
 @subsection Agrupación vertical de objetos gráficos
 @translationof Vertical grouping of grobs
 
+@c TODO Expand this section
+
 Los grobs (objetos gráficos) @code{VerticalAlignment} y
 @code{VerticalAxisGroup} trabajan de manera coordinada.
 @code{VerticalAxisGroup} agrupa distintos grobs como @code{Staff},
@@ -3702,8 +3684,8 @@ Referencia de la notación:
 
 @cindex ligaduras de expresión, modificar
 @cindex ligaduras de unión, modificar
-@cindex Bézier, curvas de
-@cindex Bézier, puntos de control
+@cindex Bézier, curvas de, puntos de control
+@cindex puntos de control en curvas de Bézier
 
 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
@@ -3729,7 +3711,7 @@ He aquí un ejemplo de un caso en que la ligadura no es óptima, y donde
 
 @lilypond[verbatim,quote,relative=1]
 <<
-  { e1 ~ e }
+  { e1~ e }
 \\
   { r4 <g c,> <g c,> <g c,> }
 >>
@@ -3764,20 +3746,134 @@ de unión.
   {
     \once \override Tie
       #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
-     e1 ~ e1
+     e1 ~ e
   }
 \\
-  { r4 <g c,> <g c,> <g c,> }
+  { r4 <g c,> <g c,> <g c,> }
 >>
 @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}.
+@code{\tweak}.  Sin embargo, se puede sobreescribir la propiedad
+@code{tie-configuration} de @code{TieColumn} para fijar la línea de
+inicio y la dirección según se requiera.
 
+@seealso
+Referencia de funcionamiento interno:
+@rinternals{TieColumn}.
+
+@cindex Scheme, contenedores puros
+@cindex Scheme, contenedores no-puros
+@cindex puros, contenedores de Scheme
+@cindex no-puros: contenedores de Scheme
+@cindex horizontal, sobreescribir el espaciado
+
+@node Contenedores unpure-pure
+@subsection Contenedores unpure-pure
+@translationof Unpure-pure containers
+
+Los contenedores @q{unpure-pure} (pura y no pura) son útiles para la
+sobreescritura de los cálculos del espaciado en el @emph{eje Y}
+(concretamente @code{Y-offset} e @code{Y-extent}) con una función de
+Scheme en lugar de un literal, es decir, un número o una pareja de
+números.
+
+Para ciertos objetos gráficos, las dimensiones @code{Y-extent} están
+basadas en la propiedad @code{stencil}, la sobreescritura de la
+propiedad de sello de éstos requiere una sobreescritura adicional de
+@code{Y-extent} con un contenedor unpure-pure.  Cuando una función
+sobreescribe una dimensión @code{Y-offset} y/o @code{Y-extent} se
+supone que esto dispara los cálculos de los saltos de línea
+prematuramente durante la compilación.  Así pues, la función no se
+evalúa en absoluto (devolviendo por lo general un valor de @samp{0} o
+@samp{'(0 . 0)}) lo que puede dar lugar a colisiones.  Una función
+@q{pura} no afecta a las propiedades, objetos o suicidios de grobs, y
+por ello siempre ven sus valores relacionados con el eje Y evaluados
+correctamente.
+
+Actualmente hay unas treinta funciones que ya se consideran @q{puras}
+y los contenedores Unpure-pure son una manera de establecer funciones
+que no están en esta lista como @q{puras}.  La función @q{pura} se
+evalúa @emph{antes} de cualquier salto de línea y así el espaciado
+horizontal se puede ajustar @q{a tiempo}.  La función @q{impura} se
+evalúa entonces @emph{después} del salto de línea.
+
+@warning{Dado que es difícil saber siempre qué funciones están en esta
+lista, recomendamos que cualquier función @q{pura} que estemos creando
+no utilice los grobs @code{Beam} o @code{VerticalAlignment}.}
+
+Un contenedor @q{unpure-pure} se contruye de la manera siguiente:
+
+@code{(ly:make-unpure-pure-container f0 f1)}
+
+donde @code{f0} es una función que toma @var{n} argumentos (@var{n >=
+1}) y el primer argumento siempre debe ser el grob.  Ésta es la
+función que da el resultado real.  @var{f1} es la función que se
+etiqueta como @q{pura} que toma @var{n + 2} argumentos.  De nuevo, el
+primer argumento debe ser siempre el grob pero los argumentos segundo
+y tercero son argumentos de @q{inicio} y de @q{final}.
+
+@var{inicio} y @var{final} son, a todos los efectos, valores mudos que
+sólo tienen importancia para los @code{objetos de extensión} (o sea:
+@code{Hairpin}, regulador, o @code{Beam}, barra), que pueden devolver
+distintas estimaciones de altura basadas en una columna de inicio y
+una de final.
+
+El resto son los otros argumentos para la primera función (que puede
+no ser ninguno si @var{n = 1}).
+
+El resultado de la segunda función se usa como una aproximación del
+valor necesario, que se usa entonces por la primera función para
+obtener el valor real que se usa a continuación para el ajuste de
+precisión mucho más tardío durante el proceso de espaciado.
+
+@lilypond[verbatim,quote,ragged-right]
+#(define (square-line-circle-space grob)
+(let* ((pitch (ly:event-property (ly:grob-property grob 'cause) 'pitch))
+      (notename (ly:pitch-notename pitch)))
+ (if (= 0 (modulo notename 2))
+     (make-circle-stencil 0.5 0.0 #t)
+     (make-filled-box-stencil '(0 . 1.0)
+                              '(-0.5 . 0.5)))))
+
+squareLineCircleSpace = {
+  \override NoteHead #'stencil = #square-line-circle-space
+}
+
+smartSquareLineCircleSpace = {
+  \squareLineCircleSpace
+  \override NoteHead #'Y-extent =
+   #(ly:make-unpure-pure-container
+      ly:grob::stencil-height
+      (lambda (grob start end) (ly:grob::stencil-height grob)))
+}
+
+\new Voice \with { \remove "Stem_engraver" }
+\relative c'' {
+  \squareLineCircleSpace
+  cis4 ces cisis c
+  \smartSquareLineCircleSpace
+  cis4 ces cisis c
+}
+@end lilypond
+
+En el primer compás, sin el contenedor @emph{unpure-pure}, el motor de
+espaciado no conoce la anchura de la cabeza de la nota y permite que
+colisione con las alteraciones accidentales.  En el segundo compás, el
+motor de espaciado conoce la anchura de las cabezas de las notas y
+evita la colisión mediante el alargamiento de la línea en la medida
+adecuada.
+
+Normalmente, para cálculos simples se pueden usar funciones casi
+idénticas tanto para las partes @q{no pura} y @q{pura}, simplemente
+cambiando el número de argumentos que se pasan a, y el ámbito de, la
+función.
+
+@warning{Si una función está caracterizada como @q{pura} y resulta que
+no lo es, el resultado puede ser inesperado.}
 
 
 @node Uso de las funciones musicales
@@ -3828,11 +3924,12 @@ donde
 debe devolver @code{#t}.
 
 @item @code{@var{@dots{}música@dots{}}}
-@tab entrada de LilyPond normal, que utiliza @code{$} para
-referenciar argumentos (p.ej. @samp{$arg1}).
+@tab código de entrada normal de LilyPond, que utiliza @code{$} (en los
+lugares en que sólo se permiten construcciones de Lilypond) o @code{#}
+(para usarlo como un valor de Scheme o un argumento de función
+musical) para referenciar argumentos (p.ej. @samp{#arg1}).
 @end multitable
 
-
 Los argumentos @code{parser} y @code{location} son necesarios, y se
 utilizan en algunas situaciones avanzadas como se encuentra descrito
 en @rextend{Sintaxis de las funciones musicales}.  Para las funciones
@@ -3845,7 +3942,9 @@ musicales son:
 @example
 boolean?
 cheap-list?  @emph{(utilizar en lugar de }@q{list?}@emph{ para un procesado más rápido)}
+ly:duration?
 ly:music?
+ly:pitch?
 markup?
 number?
 pair?
@@ -3890,7 +3989,7 @@ padText =
      (parser location padding)
      (number?)
    #{
-     \once \override TextScript #'padding = $padding
+     \once \override TextScript #'padding = #padding
    #})
 
 \relative c''' {
@@ -3905,6 +4004,8 @@ padText =
 Además de números, podemos usar expresiones musicales, como notas,
 para los argumentos de las funciones musicales:
 
+@c TODO: use a better example (the music argument is redundant).
+
 @lilypond[quote,verbatim,ragged-right]
 custosNote =
 #(define-music-function
@@ -3930,8 +4031,8 @@ tempoPadded =
      (parser location padding tempotext)
      (number? string?)
    #{
-     \once \override Score.MetronomeMark #'padding = $padding
-     \tempo \markup { \bold $tempotext }
+     \once \override Score.MetronomeMark #'padding = #padding
+     \tempo \markup { \bold #tempotext }
    #})
 
 \relative c'' {
@@ -3942,6 +4043,4 @@ tempoPadded =
 }
 @end lilypond
 
-@c @seealso
-
-
+@c TODO: add appropriate @@ref's here.