]> git.donarmstrong.com Git - lilypond.git/commitdiff
Spanih changing defaults file
authorFrancisco Vila <francisco.vila@hispalinux.es>
Sun, 9 Sep 2007 09:00:55 +0000 (11:00 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Sun, 9 Sep 2007 09:16:15 +0000 (11:16 +0200)
Documentation/es/user/changing-defaults.itely

index 7afd34e6b5cc3d412a4552c7fab52abdfbb91312..487e4c67b6a21c6fdd948efb27ca99ac740ba6b2 100644 (file)
-@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 21149cf2a4a3f620c5ed11989998bb0d4a4fc254
-
+    Translation of GIT committish: 9d22963d70da2db80ead5c63eb4a6e626f975cc2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-
 @node Changing defaults
 @chapter Changing defaults
 
-UNTRANSLATED NODE: IGNORE ME
 
-@menu 
-* Automatic notation::
-* Interpretation contexts::
-* The \override command::
-@end menu 
+El objetivo del diseño de LilyPond es proporcionar por defecto la más alta
+calidad de los resultados.  A pesar de ello, podría tener que cambiar
+este resultado por defecto.  La disposición sobre el papel se controla a través de un amplio número
+de proverbiales @q{botones e interruptores.}  Este capítulo no
+relaciona todos y cada uno de los botones.  Más bien da una visión de conjunto sobre qué grupos de controles
+se encuentran disponibles y explica la forma de hallar el botón exacto que se debe utilizar para conseguir
+un determinado efecto.
+
+
+@cindex Program reference
+
+Los controles disponibles para los ajustes finos se describen en un documento
+separado, 
+@iftex
+el Manual de referencia del programa.
+@end iftex
+@ifnottex
+la @ref{Top,Referencia del programa,,lilypond-internals}.
+@end ifnottex
+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 en
+@c leave the @uref as one long line.
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,on@/-line},
+pero que también va incluido en el paquete de la documentación de LilyPond.
+
+Hay cuatro áreas en las que se pueden cambiar los valores por defecto:
+
+@itemize @bullet
+@item
+Notación automática: cambiar la creación automática de los elementos de
+notación.  Por ejemplo, cambiar las reglas de barrado de las figuras.
+
+@item
+Salida: cambiar el aspecto de los objetos individuales.
+Por ejemplo, cambiar las direcciones de las plicas o la situación exacta de
+los subíndices.
+
+@item
+Contexto: modificar aspectos de la traducción de los eventos musicales en
+notación.  Por ejemplo, dar a cada pentagrama una indicación de compás distinta.
+
+@item
+Disposición de la página: cambiar el aspecto visual del espaciado, los saltos de
+línea y las dimensiones de la página.  Estas modificaciones se discuten
+en @ref{Non-musical notation} y @ref{Spacing issues}.
+@end itemize
+
+Internamente, LilyPond utiliza el lenguaje Scheme (un dialecto de LISP) para aportar
+la infraestructura.  La sobreescritura de las decisiones de disposición da acceso efectivo a las interioridades
+del programa, lo que requiere código de Scheme como entrada.  Los elementos de Scheme
+se inauguran dentro de un archivo @code{.ly} con el símbolo de cuadradillo
+@code{#}.@footnote{@ref{Scheme tutorial} contiene un breve tutorial
+sobre la introducción de números, listas, cadenas y símbolos en Scheme.}
+
+
+@menu
+* Automatic notation::          
+* Interpretation contexts::     
+* The \override command::       
+@end menu
+
+
 @node Automatic notation
 @section Automatic notation
 
-UNTRANSLATED NODE: IGNORE ME
+Esta sección descibe la manera de cambiar la forma en que se dibujan automáticamente las alteraciones accidentales y
+las barras de las figuras.
+
+@menu
+* Automatic accidentals::       
+* Setting automatic beam behavior::  
+@end menu
 
-@menu 
-* Automatic accidentals::
-* Setting automatic beam behavior::
-@end menu 
 @node Automatic accidentals
 @subsection Automatic accidentals
+@cindex Alteraciones accidentales automáticas
+
+Las reglas más usuales para tipografiar las alteraciones se han colocado en una
+función.  Esta función se invoca de la manera siguiente
+
+@funindex set-accidental-style
+@example
+#(set-accidental-style 'ESTILO)
+@end example
+
+@c TODO: check the context stuff below
+@c -does it *really* work?
+@c -the default contexts as specified in
+@c  scm/music-function.scm seem to be different -vv
+
+Opcionalmente la función puede tomar dos argumentos: el nombre del estilo de las
+alteraciones y un argumento opcional que denota el contexto que se desea
+cambiar:
+
+@example
+#(set-accidental-style 'ESTILO #('CONTEXTO#))
+@end example
+
+Si no se da ningún nombre de contexto, @code{Staff} (pentagrama) es el valor predeterminado,
+pero en lugar de esto puede aplicar el estilo de alteraciones a una sola
+voz (contexto @code{Voice}).
+
+Están contemplados los siguientes estilos de alteraciones:
+
+@table @code
+@item default
+Es el comportamiento de composición tipográfica por omisión.  Corresponde
+a la práctica común vigente en el s.XVIII: las alteraciones se
+recuerdan hasta el final del compás en que aparecen
+y sólo en la misma octava.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              %#(set-accidental-style 'default) 
+       \musicA }
+       \context Staff = "down"{
+              %#(set-accidental-style 'default)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'default" }}}
+}
+@end lilypond
+
+@item voice
+El comportamiento normal es recordar las alteraciones al nivel del
+pentagrama.  Sin embargo, esta variable tipografía las alteraciones
+para cada voz individual.  Aparte de esto, la regla es similar a
+@code{default}.
+
+@example
+ \new Staff <<
+        #(set-accidental-style 'voice)
+       @{ @dots{} @}
+       >>
+@end example
+
+Como resultado, las alteraciones de una voz no se cancelan en las otras voces,
+lo que a menudo produce un resultado no deseado: en el ejemplo que aparece a continuación,
+es difícil determinar si el segundo @samp{La} se debe tocar
+natural o sostenido.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'voice) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'voice)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'voice" }}}
+}
+@end lilypond
+
+La opción @code{voice} se debe utilizar siempre que las voces
+se vayan a leer independientemente por parte de músicos individuales.  Si el pentagrama se va a
+usar por parte de un único músico (p.ej. un director), entonces
+se deben utilizar los estilos
+@code{modern} o @code{modern-cautionary}.
+
+
+@item modern
+@funindex modern style accidentals
+Esta regla corresponde a la práctica común del s.XX.  Imprime
+las mismas alteraciones que @code{default}, pero las alteraciones temporales
+también se cancelan en ocatavas distintas.  Es más,
+dentro de la misma octava, también se cancelan dentro del compás siguiente:
+en el ejemplo que aparece a continuación, fíjese en los dos becuadros que aparecen
+en el segundo compás del pentagrama superior.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern" }}}
+}
+@end lilypond
+
+@item @code{modern-cautionary}
+@funindex modern-cautionary
+Esta regla es parecida a @code{modern}, pero las alteraciones @q{adicionales}
+(las que no se tipografían en el estilo @code{default}) se componen tipográficamente como alteraciones
+de cortesía o precaución.  Se imprimen en un tamaño reducido o, por omisión,
+con paréntesis (esto se puede establecer definiendo la propiedad @code{cautionary-style}
+del objeto @internalsref{AccidentalSuggestion}.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern-cautionary) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern-cautionary)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-cautionary" }}}
+}
+@end lilypond
+
+@funindex modern-voice
+@item modern-voice
+Esta regla se usa para alteaciones que afectan a varias voces y que se leerán tanto por parte de músicos
+que tocan una sola voz como por músicos que tocan todas las voces.  Las alteraciones
+se componen para cada voz, pero @emph{se cancelan} entre voces dentro del mismo
+pentagrama (@internalsref{Staff}).
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern-voice) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern-voice)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-voice" }}}
+}
+@end lilypond
+
+@funindex modern-voice-cautionary
+@item modern-voice-cautionary
+Esta regla es la misma que @code{modern-voice}, pero con las alteraciones
+adicionales (las que faltaban en el estilo @code{voice}) impresas
+como de precaución.  Incluso aunque todas las alteraciones impresas por el estilo
+@code{default} @emph{se imprimen} por esta variable,
+algunas de ellas se imprimen como de precaución.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'modern-voice-cautionary) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'modern-voice-cautionary)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-voice-cautionary" }}}
+}
+@end lilypond
+
+@item piano
+@funindex piano accidentals
+Este estilo de alteraciones tiene lugar dentro de un contexto de pentagramas de piano, GrandStaff. Sin ambargo, tendrá
+que establecerlo explícitamente para @emph{cada uno} de los pentagramas individuales del grupo GrandStaff:
+
+@example
+\new GrandStaff @{ <<
+  \new Staff = "up" @{ <<
+    #(set-accidental-style 'piano)
+    @{ @dots{} @}
+  >> @}
+  \new Staff = "down"@{ <<
+    #(set-accidental-style 'piano)
+  @{ @dots{} @}
+  >> @}
+>> @}
+@end example
+
+Esta regla refleja la práctica del s.XX de notación para el piano.  Su comportamiento es muy
+parecido al estilo @code{modern}, pero aquí las alteraciones también se cancelan
+entre pentagramas dentro del mismo grupo de piano @internalsref{GrandStaff} o
+@internalsref{PianoStaff}.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'piano) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'piano)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'piano" }}}
+}
+@end lilypond
+
+@item piano-cautionary
+@funindex #(set-accidental-style 'piano-cautionary)
+Igual que @code{#(set-accidental-style 'piano)} pero con las alteraciones adicionales
+tiografiadas como de precaución.
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'piano-cautionary) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'piano-cautionary)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'piano-cautionary" }}}
+}
+@end lilypond
+
+@item no-reset
+@funindex no-reset accidental style
+Éste es igual que @code{default} pero con alteraciones que duran
+@q{para siempre} y no solamente hasta el siguiente compás:
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'no-reset) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'no-reset)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'no-reset" }}}
+}
+@end lilypond
+
+@item forget
+Es algo así como lo contrario de @code{no-reset}: las alteraciones
+no se recuerdan en absoluto.  De aquí que todas las alteraciones
+se componen tipográficamente como relativas a la armadura en vigor, sin que importe lo que haya aparecido en la música
+anterior
+
+@lilypond[quote,ragged-right]
+musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
+       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
+
+musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
+       \change Staff = up cis' \change Staff = down <fis, a>  
+       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
+       <f a d>2 |  } }}
+
+\score { 
+       \new PianoStaff {
+       << \context Staff = "up" {
+              #(set-accidental-style 'forget) 
+       \musicA }
+       \context Staff = "down"{
+              #(set-accidental-style 'forget)
+       \musicB } >> }
+       \header { piece = \markup {\fill-line { \fontsize #3  "'forget" }}}
+}
+@end lilypond
+@end table
+
+
+@seealso
+
+Referencia del programa: @internalsref{Accidental_engraver},
+@internalsref{Accidental}, @internalsref{AccidentalSuggestion} and @internalsref{AccidentalPlacement}.
+
+
+@refbugs
+
+Las notas simultáneas se considera que están introducidas en modo
+secuencial.  Esto significa que dentro de un acorde las alteraciones se componen como si
+las notas del acorde ocurriesen una a una, en el orden en que aparecen en el código del archivo
+de entrada.  Esto supone un problema cuando las alteraciones
+de un acorde dependen unas de otras,
+lo cual no sucede para el estilo de alteraciones por defecto.  El problema
+se puede solucionar insertando manualmente @code{!} y @code{?} para las notas
+problemáticas.
 
-UNTRANSLATED NODE: IGNORE ME
 
 @node Setting automatic beam behavior
 @subsection Setting automatic beam behavior
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex autoBeamSettings
+@funindex (end * * * *)
+@funindex (begin * * * *)
+@cindex barras automáticas, ajuste fino
+@cindex ajuste fino de las barras automáticas
+
+@c [TODO: use \applyContext]
+
+En compases normales, las barras de figura automáticas pueden comenzar en cualquier nota
+pero sólo pueden acabar en ciertas posiciones dentro del compás: las barras pueden acabar sobre un pulso
+o en duraciones especificadas por las propiedades que están dentro de
+@code{autoBeamSettings}.  Las propiedades de @code{autoBeamSettings}
+consisten en una lista de reglas sobre dónde pueden comenzar y acabar las barras.  Las
+reglas por defecto de @code{autoBeamSettings} están definidas en el archivo
+@file{scm/@/auto@/-beam@/.scm}.
+
+Para añadir una regla a la lista, utilice
+@example
+#(override-auto-beam-setting '(be p q n m) a b [contexto])
+@end example
+
+@itemize @bullet
+
+@item @code{be} es "begin" (comienzo) o "end" (final).
+
+@item @code{p/q} es la duración de la figura para la que quiere añadir
+una regla.  Se considera que una barra tiene la duración de su figura
+más breve.  Establezca el valor de @code{p} y @code{q} a un asterisco @code{'*'} para
+que se aplique a cualquier barra.
+
+@item @code{n/m} es la indicación de compás para la que se aplica
+esta regla.  Establezca el valor de @code{n} y @code{m} a un asterisco @code{'*'}
+para que la regla se aplique a cualquier compás.
+
+@item @code{a/b} es la posición dentro del compás en la que debe comenzar o terminar
+la barra.
+
+@item @code{contexto} es opcional, y especifica el contexto en el que
+se debe hacer el cambio.  El valor por defecto es @code{'Voice}.
+@code{#(score-override-auto-beam-setting '(A B C D) E F)} equivale a
+@code{#(override-auto-beam-setting '(A B C D) E F 'Score)}.
+
+@end itemize
+
+Por ejemplo, si queremos que las barras automáticas siempre acaben sobre la primera
+negra del compás, escriba
+
+@example
+#(override-auto-beam-setting '(end * * * *) 1 4)
+@end example
+
+Puede forzar los ajustes para las barras de forma que sólo afecten a las barras cuya figura
+más breve sea una duración concreta
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 2/4
+#(override-auto-beam-setting '(end 1 16 * *) 1 16)
+a16 a a a a a a a |
+a32 a a a a16 a a a a a |
+#(override-auto-beam-setting '(end 1 32 * *) 1 16)
+a32 a a a a16 a a a a a |
+@end lilypond
+
+Puede forzar los ajustes del barrado para que sólo afecten a ciertas indicaciones
+de compás
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 5/8
+#(override-auto-beam-setting '(end * * 5 8) 2 8)
+c8 c d d d
+\time 4/4
+e8 e f f e e d d
+\time 5/8
+c8 c d d d
+@end lilypond
+
+También puede eliminar una regla de finalización de barra previamente establecida, usando
+
+@example
+#(revert-auto-beam-setting '(be p q n m) a b [contexto])
+@end example
+
+@noindent
+be, p, q, n, m, a, b y contexto significan lo mismo que antes.  Fíjese en que las
+reglas por defecto se describen en el archivo @file{scm/@/auto@/-beam@/.scm},
+por tanto podrá recuperar las reglas que no haya creado explícitamente.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 4/4
+a16 a a a a a a a a a a a a a a a
+#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
+a16 a a a a a a a a a a a a a a a
+@end lilypond
+
+La regla de una instrucción revert-auto-beam-setting debe corresponder exactamente con la
+regla original.  Esto es: no se tiene en cuenta ninguna expansión de comodines.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\time 1/4
+#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
+a16 a a a
+#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % this won't revert it!
+a a a a
+#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % this will
+a a a a
+@end lilypond
+
+
+
+@c TODO:  old material -- not covered by above stuff, I think.
+Si las barras automáticas han de terminar sobre las negras de un compás de 5/4, especifique toas las
+terminaciones
+@example
+#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
+#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
+#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
+#(override-auto-beam-setting '(end * * * *) 5 4 'Staff)
+@dots{}
+@end example
+
+La misma sintaxis sepuede usar para especificar los puntos de comienzo de las barras.  En este
+ejemplo, las barras automáticas sólo pueden terminar sobre una negra con puntillo
+@example
+#(override-auto-beam-setting '(end * * * *) 3 8)
+#(override-auto-beam-setting '(end * * * *) 1 2)
+#(override-auto-beam-setting '(end * * * *) 7 8)
+@end example
+En el compás de 4/4, esto significa que las barras automáticas sólo pueden terminar sobre
+3/8 y sobre el cuarto pulso del compás (después de haber transcurrido un 3/4, esto es, dos veces
+3/8).
+
+Si ocurre algún comportamiento inesperado de las barras, compruebe los ajustes del barrado automático
+por defecto en el archivo @file{scm/@/auto@/-beam@/.scm}
+en busca de un posible conflicto, ya que los finales de barra
+definidos en este lugar se seguirán aplicando encima de sus propias sobreescrituras. Cualesquiera
+finales no deseados dentro de los valores por defecto se deben contrarrestar específicamente para nuestro o nuestros
+propios compases.
+
+Por ejemplo, para tipografiar finales de barra de @code{(3 4 3 2)} corcheas en un 12/8, comience
+con
+
+@example
+%%% contrarrestar los valores por defecto en scm/auto-beam.scm respecto al compás de 12/8
+#(revert-auto-beam-setting '(end * * 12 8) 3 8)
+#(revert-auto-beam-setting '(end * * 12 8) 3 4)
+#(revert-auto-beam-setting '(end * * 12 8) 9 8)
+
+%%% nuestros nuevos valores
+#(override-auto-beam-setting '(end 1 8 12 8) 3 8)
+#(override-auto-beam-setting '(end 1 8 12 8) 7 8)
+#(override-auto-beam-setting '(end 1 8 12 8) 10 8)
+@end example
+
+@cindex automáticas, generación de las barras
+@cindex autobarrado
+@funindex autoBeaming
+@cindex letra
+
+Si se van a utilizar las barras para indicar los melismas de las canciones, entonces el barrado
+automático se debe desactivar con @code{\autoBeamOff}.
+
+
+@refcommands
+
+@funindex \autoBeamOff
+@code{\autoBeamOff},
+@funindex \autoBeamOn
+@code{\autoBeamOn}.
+
+@commonprop
+
+Los patrones de barrado se pueden alterar con la propiedad @code{beatGrouping},
+
+@lilypond[quote,verbatim,relative=2,fragment,ragged-right]
+\time 5/16
+\set beatGrouping = #'(2 3)
+c8[^"(2+3)" c16 c8]
+\set beatGrouping = #'(3 2)
+c8[^"(3+2)" c16 c8]
+@end lilypond
+
+
+@refbugs
+
+Si una partitura termina con una barra automática sin finalizar y que aún
+acepta más figuras, esta última barra no se imprimirá en absoluto.  Lo mismo vale para
+las voces polifónicas, introducidas con @code{<< @dots{} \\ @dots{}
+>>}.  Si una voz polifónica termina meintras una barra automática aún
+acepta notas, entonces no aparece.
+
 
 @node Interpretation contexts
 @section Interpretation contexts
 
-UNTRANSLATED NODE: IGNORE ME
-
-@menu 
-* Contexts explained::
-* Creating contexts::
-* Changing context properties on the fly::
-* Modifying context plug-ins::
-* Layout tunings within contexts::
-* Changing context default settings::
-* Defining new contexts::
-* Aligning contexts::
-* Vertical grouping of grobs::
-@end menu 
+Esta sección explica qué son los contextos y cómo modificarlos.
+
+@menu
+* Contexts explained::          
+* Creating contexts::           
+* Changing context properties on the fly::  
+* Modifying context plug-ins::  
+* Layout tunings within contexts::  
+* Changing context default settings::  
+* Defining new contexts::       
+* Aligning contexts::           
+* Vertical grouping of grobs::  
+@end menu
+
+
 @node Contexts explained
 @subsection Contexts explained
 
-UNTRANSLATED NODE: IGNORE ME
+Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos
+notacionales.  Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+cis4 cis2. g4
+@end lilypond
+
+La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales,
+la clave y la indicación de compás.  LilyPond @emph{interpreta} la
+entrada.  En esta fase se inspecciona la información musical en orden temporal,
+de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee
+la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas
+requieren alteraciones explícitas.  Esta información se puede presentar sobre varios
+niveles.  Por ejemplo, el efecto de una alteración accidental se encuentra limitada
+a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través
+de la partitura de arriba a abajo.
+
+Dentro de LilyPond, estas reglas y pequeñas porciones de información se agrupan en
+@emph{Contexts}.  Algunos ejemplos de contextos son @context{Voice} (Voz),
+@context{Staff} (Pauta o pentagrama) y @context{Score} (Partitura).  Los contextos son jerárquicos, por
+ejemplo: un @context{Staff} contener muchas @context{Voice}s, y una
+@context{Score} puede contener muchos contextos de @context{Staff}.
+
+@quotation
+@image{context-example,5cm,,}
+@end quotation
+
+Cada contexto asume la responsabilidad de imponer algunas reglas de notación,
+creando ciertos objetos de notación y manteniendo las propiedades
+asociadas.  Por ejemplo, el contexto @context{Voice} puede introducir una alteración
+accidental y entonces el contexto @context{Staff} mantiene la regla de mostrar o
+suprimir la alteración para el resto del compás.  La
+sincronización de las líneas divisorias se gestiona dentro del contexto de la partitura, @context{Score}.
+
+Sin embargo, en algunas músicas posiblemente no queramos que las líneas divisorias estén
+sincronizada (pensemos en una partitura polimétrica en compases de 4/4 y de 3/4).  En tales casos,
+debemos modificar los ajustes por omisión de los contextos @context{Score}
+y @context{Staff}.
+
+Para partituras muy sencillas, los contextos se crean implícitamente y no debemos
+preocuparnos por ellos.  Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama,
+los contextos se deben crear explícitamente para asegurarnos
+de que tendremos la cantidad exacta de pentagramas que necesitamos,
+y que están en el orden correcto.  Para tipografiar piezas
+con notación especializada, puede ser útil modificar contextos existentes
+o definir unos nuevos.
+
+
+En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
+consulte
+@ifhtml
+@internalsref{Contexts}.
+@end ifhtml
+@ifnothtml
+Translation @arrow{} Context.
+@end ifnothtml
+
+@c [TODO: describe propagation]
+
 
 @node Creating contexts
 @subsection Creating contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Para partituras que sólo tienen una voz y un pentagrama, los contextos se
+crean automáticamente.  Para partituras más complejas, es necesario crearlos
+a mano.  Existen tres instrucciones que hacen esto.
+
+@itemize @bullet
+
+@item
+La instrucción más fácil es @code{\new}, y es también la más rápida de escribir.
+Se antepone a una expresión musical, por ejemplo
+
+@funindex \new
+@cindex nuevos, contextos
+@cindex Contexto, creación de
+
+@example
+\new @var{tipo} @var{expresión_musical}
+@end example
+
+@noindent
+donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
+@code{Voice}).  Esta instrucción crea un contexto nuevo, y empieza a
+interpretar la @var{expresión_musical} con él.
+
+Una aplicación práctica de @code{\new} es una partitura con muchos pentragramas.
+Cada parte que debe ir en su propio pentagrama, va precedida de
+@code{\new Staff}.
+
+@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
+<<
+  \new Staff { c4 c }
+  \new Staff { d4 d }
+>>
+@end lilypond
+
+La instrucción @code{\new} puede también dar nombre al contexto,
+
+@example
+\new @var{tipo} = @var{identificador} @var{música}
+@end example
+Sin embargo, este nombre especificado por el usuario sólo se utiliza si no hay ya otro contexto
+anterior con el mismo nombre.
+
+
+@funindex \context
+
+@item
+Como @code{\new}, la instrucción @code{\context} también dirige una expresión musical
+a un objeto de contexto, pero da al contexto un nombre explícito.  La sintaxis
+es
+
+@example
+\context @var{tipo} = @var{identificador} @var{música}
+@end example
+
+En esta forma, la instrucción buscará un contexto existente del @var{tipo} especificado
+que tenga el nombre @var{identificador}.  Si ese contexto aún no existe, se crea
+un contexto nuevo con el nombre especificado.  Esto es útil si nos vamos a referir
+más tarde al contexto.  Por ejemplo, cuando
+se escribe la letra, la melodía está dentro de un contexto con nombre
+
+@example
+\context Voice = "@b{tenor}" @var{música}
+@end example
+
+@noindent
+de forma que los textos se puedan alienar correctamente con sus notas,
+
+@example
+\new Lyrics \lyricsto "@b{tenor}" @var{letra}
+@end example
+
+@noindent
+
+Otro uso posible de los contextos con nombre es la fusión de dos expresiones musicales
+distintas en un solo contexto.  En el siguiente ejemplo,
+se introducen por separado las articulaciones y las notas,
+
+@example
+musica = @{ c4 c4 @}
+decoracion = @{ s4-. s4-> @}
+@end example
+
+se combinan enviando los dos al mismo contexto @context{Voice},
+
+@example
+<<
+  \new Staff \context Voice = "A" \musica
+  \context Voice = "A" \decoracion
+>>
+@end example
+@lilypond[quote,ragged-right]
+music = { c4 c4 }
+arts = { s4-. s4-> }
+\relative c'' <<
+  \new Staff \context Voice = "A" \music
+  \context Voice = "A" \arts
+>>
+@end lilypond
+
+COn este mecanismo, es posible definir un Urtext (una edición
+original), con la posibilidad de poner articulaciones distintas sobre las
+mismas notas.
+
+@cindex crear contextos
+
+@item
+La tercera instrucción para crear contextos es
+@example
+\context @var{tipo} @var{música}
+@end example
+
+
+@noindent
+Esto es similar a @code{\context} con @code{= @var{identificador}}, pero se corresponde con
+cualquier contexto del tipo @var{tipo}, sin importar qué nombre se le ha dado.
+
+Esta variante se usa con expresiones musicales que se pueden interpretar en
+varios niveles.  Por ejemplo, la instrucción @code{\applyOutput} (véase
+@ref{Running a function on all layout objects}).  Sin una instrucción
+@code{\context} explícita, normalmente se aplicaría a @context{Voice}
+
+@example
+\applyOutput #'@var{contexto} #@var{función}   % aplicar al contexto Voice
+@end example
+
+Para que se interprete dentro de los niveles de @context{Score} o @context{Staff}, utilice las siguientes
+formas:
+
+@example
+\applyOutput #'Score #@var{función}
+\applyOutput #'Staff #@var{función}
+@end example
+
+@end itemize
+
 
 @node Changing context properties on the fly
 @subsection Changing context properties on the fly
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex properties
+@funindex \set
+@cindex changing properties
+
+Cada contexto puede tener diferentes @emph{propiedades} o variables contenidas
+en dicho contexto.  Se pueden cambiar mientras se desarrolla la fase de interpretción.
+Esto se consigue insertando la instrucción @code{\set} en la música,
+
+@example
+\set @var{contexto}.@var{propiedad} = #@var{valor}
+@end example
+
+Por ejemplo,
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set Score.skipBars = ##t
+R1*2
+@end lilypond
+
+Esta instrucción hace que se salten los compases que no tienen ninguna nota.  El resultado es que
+los silencios multicompás se comprimen.  El valor asignado es un objero del lenguaje Scheme.  En
+este caso, es @code{#t}, el valor booleano Verdadero.
+
+Si el argumento @var{contexto} se deja en blanco, entonces se utiliza el contexto actual más bajo
+(normalmente @context{ChordNames}, @context{Voice}, or
+@context{Lyrics}).  En este ejemplo,
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c8 c c c
+\set autoBeaming = ##f
+c8 c c c
+@end lilypond
+
+@noindent
+el argumento @var{contexto} para la instrucción @code{\set} está omitido, por tanto
+el barrado automático está desactivado en la @internalsref{Voice} (voz) actual.  Fíjese en que
+el contexto más bajo no siempre contiene la propiedad que quiere
+cambiar. Por ejemplo, si intenta establecer la propiedad @code{skipBars}
+(del contexto más bajo, en este caso @code{Voice}) no se producirá ningún
+efecto.
+
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set skipBars = ##t
+R1*2
+@end lilypond
+
+Los contextos son jerárquicos, de forma que si se especificó un contexto mayor, por
+ejemplo @context{Staff}, entonces el cambio también se aplicaría a todos los
+@context{Voice}s o contextos de voz en el pentagrama actual.  El cambio se aplica
+@q{al vuelo}, mientras transcurre la música, de manera que el ajuste sólo afecta al segundo
+grupo de corcheas.
+
+@funindex \unset
+
+También existe una instrucción @code{\unset},
+@example
+\unset @var{contexto}.@var{propiedad}
+@end example
+
+@noindent
+que quita la definición de la @var{propiedad}.  Esta instrucción quita
+la definición solamente si está establecida dentro del @var{contexto} especificado, por lo que
+
+@example
+\set Staff.autoBeaming = ##f
+@end example
+
+@noindent
+introduce un ajuste de propiedad en el nivel del contexto @code{Staff}.  El ajuste también se aplica
+a la @code{Voice} actual.  Sin embargo,
+
+@example
+\unset Voice.autoBeaming
+@end example
+
+@noindent
+no tiene ningún efecto.  Para cancelar este ajuste, el @code{\unset}
+se debe especificar en el mismo nivel que el @code{\set} original.  En
+otras palabras, deshacer el efecto de @code{Staff.autoBeaming = ##f}
+requiere
+@example
+\unset Staff.autoBeaming
+@end example
+
+Igual que @code{\set}, el argumento @var{contexto} no tiene que especificarse para un contexto
+que está en la parte más baja, por lo que las dos instrucciones
+
+@example
+\set Voice.autoBeaming = ##t
+\set autoBeaming = ##t
+@end example
+
+@noindent
+son equivalentes.
+
+
+@cindex \once
+Los ajustes que se quieren aplicar a un paso de tiempo único se pueden escribir
+con @code{\once}, por ejemplo en
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\once \set fontSize = #4.7
+c4
+c4
+@end lilypond
+
+la propiedad @code{fontSize} pierde su valor automáticamente después de la segunda
+nota.
+
+En la referencia del programa hay una decripción detallada de todas las propiedades de contexto disponibles,
+véase
+@ifhtml
+@internalsref{Tunable context properties}.
+@end ifhtml
+@ifnothtml
+Traducción @arrow{} propiedades de contexto ajustables.
+@end ifnothtml
+
 
 @node Modifying context plug-ins
 @subsection Modifying context plug-ins
 
-UNTRANSLATED NODE: IGNORE ME
+Los contextos de notación (como @code{Score} y @code{Staff}) no sólo
+almacenan propiedades,
+también contienen plug-ins o añadidos llamados @q{engravers} (grabadores) que crean elementos
+de notación.  Por ejemplo, el contexto @code{Voice} contiene un
+@code{Note_head_engraver} (grabador de las cabezas de nota) y el contexto @code{Staff} contiene un
+@code{Key_signature_engraver} (grabador de la armadura).
+
+Para ver una descripción completa de cada uno de los añadidos, consulte
+@ifhtml
+@internalsref{Engravers}.
+@end ifhtml
+@ifnothtml
+Referencia del programa @arrow Traducción @arrow{} Grabadores.
+@end ifnothtml
+cada uno de los contextos descritos en
+@ifhtml
+@internalsref{Contexts}
+@end ifhtml
+@ifnothtml
+Referencia del programa @arrow Traducción @arrow{} Contexto.
+@end ifnothtml
+relaciona los grabadores utilizados para esse contexto.
+
+
+Puede ser útil poner o quitar estos añadidos.  Esto se hace
+iniciando un contexto nuevo con @code{\new} o @code{\context} y
+modificándolo,
+
+@funindex \with
+
+@example
+\new @var{contexto} \with @{
+  \consists @dots{}
+  \consists @dots{}
+  \remove @dots{}
+  \remove @dots{}
+  @emph{etc.}
+@}
+@{
+  @emph{..música..}
+@}
+@end example
+
+@noindent
+donde los @dots{} serían el nombre de un grabador.  A continuación se presenta un ejemplo sencillo
+que quita los grabadores @code{Time_signature_engraver} y
+@code{Clef_engraver} de un contexto @code{Staff},
+
+@lilypond[quote,relative=1,verbatim,fragment]
+<<
+  \new Staff {
+    f2 g
+  }
+  \new Staff \with {
+     \remove "Time_signature_engraver"
+     \remove "Clef_engraver"
+  } {
+    f2 g2
+  }
+>>
+@end lilypond
+
+En el segundo pentagrama no hay indicación de compás ni clave.  Ésta es
+una forma un poco fuerte de hacer desaparecer objetos, porque afectará
+al pentagrama completo.  Este método también influye en el espaciado, lo que podría ser
+deseable o no.  Un método más
+sofisticado de borrar objetos se muestra en @ref{Common tweaks}.
+
+El ejemplo siguiente muestra una aplicación práctica.  Las líneas divisorias y las indicaciones
+de compás están normalmente sincronizadas en toda la partitura.  Esto se hace
+por parte del @code{Timing_translator} y el grabador @code{Default_bar_line_engraver}.
+Este añadido mantiene al día la administración de la indicación de compás, colocación
+dentro del compás, etc.  Moviendo el grabador desde el contexto @code{Score} al
+contexto @code{Staff}, podemos tener una partitura donde cada pentragrama tiene su propia
+indicación de compás.
+
+@cindex polimétricas, partituras
+@cindex Indicaciones de compás, varias
+
+@lilypond[quote,relative=1,ragged-right,verbatim,fragment]
+\new Score \with {
+  \remove "Timing_translator"
+  \remove "Default_bar_line_engraver"
+} <<
+  \new Staff \with {
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  } {
+      \time 3/4
+      c4 c c c c c
+  }
+  \new Staff \with {
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  } {
+       \time 2/4
+       c4 c c c c c
+  }
+>>
+@end lilypond
+
 
 @node Layout tunings within contexts
 @subsection Layout tunings within contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Cada contexto es responsable de crear ciertos tipos de objetos
+gráficos.  Los ajustes utilizados para imprimir estos objetos también se almacenan en cada contexto.
+Cambiando estos ajustes se puede alterar la apariencia visual de los
+objetos.
+
+La sintaxis de esto es
+
+@example
+\override @var{contexto}.@var{nombre} #'@var{propiedad} = #@var{valor}
+@end example
+
+Aquí @var{nombre} es el nombre de un objeto gráfico, como @code{Stem} (plica) o
+@code{NoteHead} (cabeza de nota), y @var{propiedad} es una variable interna del sistema
+de formateo (@q{propiedad del objeto gráfico o grob} o @q{propiedad de la disposición o layout}).  El último es un
+símbolo, por ello debe ir entre comillas.  La subsección @ref{Constructing a
+tweak} explica qué datos hay que cumplimentar para las variables @var{nombre}, @var{propiedad} y
+@var{valor}.  Aquí discutiremos solamente la funcionalidad de esta instrucción.
+
+La instrucción
+
+@verbatim
+\override Staff.Stem #'thickness = #4.0
+@end verbatim
+
+@noindent
+hace las plicas más gruesas (el valor por defecto es 1.3, tomando como unidad el grosor de las líneas del
+pentagrama).  Puesto que la orden especifica @context{Staff} como contexto, sólo se
+aplica al pentagrama en curso.  Otros pentagramas conservarán su apariencia visual
+normal.  Aquí podemos ver la orden en acción:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\override Staff.Stem #'thickness = #4.0
+c4
+c4
+c4
+@end lilypond
+
+La instrucción @code{\override} cambia la definición de la @code{Stem} (plica)
+dentro del pentagrama @context{Staff} en curso.  Después de que la orden se ha interpretado,
+todas las plicas quedan engrosadas.
+
+Análogo a @code{\set}, el argumento @var{contexto} se puede dejar en blanco,
+haciendo que se utilice el contexto por defecto, @context{Voice}.  Al añadir
+@code{\once} se aplicará el cambio solamente durante un paso de tiempo.
+
+@lilypond[quote,fragment,verbatim,relative=2]
+c4
+\once \override Stem #'thickness = #4.0
+c4
+c4
+@end lilypond
+
+El @code{\override} debe hacerse antes de que el objeto haya
+comenzado.  Por ello, al alterar objetos de extensión o @emph{Spanner} tales como ligaduras
+o barras de figuras, la instrucción @code{\override} debe ejecutarse en el momento en que se
+crea el objeto.  En este ejemplo,
+
+@lilypond[quote,fragment,verbatim,relative=2]
+\override Slur #'thickness = #3.0
+c8[( c
+\override Beam #'thickness = #0.6
+c8 c])
+@end lilypond
+
+@noindent
+la ligadura es más gruesa, no así la barra.  Esto es así porque la orden para la barra
+@code{Beam} va después de que la barra Beam ha comenzado, así que no tiene ningún efecto.
+
+De forma análoga a @code{\unset}, la orden @code{\revert} para un contexto
+deshace una orden @code{\override}; como con @code{\unset}, afecta solamente
+los ajustes que se hayan hecho dentro del mismo contexto.  En otras palabras, el
+@code{\revert} del siguiente ejemplo no hace nada en absoluto.
+
+@example
+\override Voice.Stem #'thickness = #4.0
+\revert Staff.Stem #'thickness
+@end example
+
+Algunas opciones trucables reciben el nombre de @q{subpropiedades} y residen dentro de las
+propiedades.  Para trucarlas, utilice órdenes de la forma
+
+@c leave this as a long long
+@example
+\override @var{contexto}.@var{nombre} #'@var{propiedad} #'@var{subpropiedad} = #@var{valor}
+@end example
+
+@noindent
+tal y como
+
+@example
+\override Stem #'details #'beamed-lengths = #'(4 4 3)
+@end example
+
+
+@seealso
+
+Funcionamiento interno: @internalsref{OverrideProperty}, @internalsref{RevertProperty},
+@internalsref{PropertySet}, @internalsref{Backend} y
+@internalsref{All layout objects}.
+
+
+@refbugs
+
+El back-end o parte profunda del programa no es muy estrict cuando se trata de la comprobación de tipos de las propiedades de los objetos.
+Las referencias circulares en los valores de Scheme para las propiedades pueden causar cuelgues o
+terminaciones abruptas, o las dos cosas.
+
 
 @node Changing context default settings
 @subsection Changing context default settings
 
-UNTRANSLATED NODE: IGNORE ME
+Los ajustes de las subsecciones previas (@ref{Changing context
+properties on the fly}, @ref{Modifying context plug-ins} y
+@ref{Layout tunings within contexts}) 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 orden @code{\Staff} saca la definición existente del contexto de
+pentagrama de manera que pueda ser modificada.
+
+Las instrucciones
+@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.
+
+
+
+@refbugs
+
+No es posible recolectar cambios de contexto en una variable y aplicarlos
+a una definición @code{\context} mediante la referencia a esa variable.
+
+El @code{\RemoveEmptyStaffContext} sobreescribirá sus ajustes actuales
+de @code{\Staff}.  Si quiere cambiar los valores por defecto para un pentagrama que usa
+@code{\RemoveEmptyStaffContext}, tendrá que hacerlo después de
+llamar a @code{\RemoveemptyStaffContext}, es decir
+
+@example
+\layout @{
+  \context @{
+    \RemoveEmptyStaffContext
+
+    \override Stem #'thickness = #4.0
+  @}
+@}
+@end example
+
 
 @node Defining new contexts
 @subsection Defining new contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Los contextos específicos, como @context{Staff} y @code{Voice}, están construidos a base de
+bloques sencillos.  Es posible crear nuevos tipos de
+contextos con combinaciones distintas de añadidos grabadores.
+
+El siguiente ejemplo muestra cómo construir un tipo diferente de contexto de
+@context{Voice} partiendo de cero.  Será parecido a
+@code{Voice}, pero imprime solamente cabezas centradas en forma de barra inclinada.  Se puede usar
+para indicar improvisación en piezas de jazz,
+
+@lilypond[quote,ragged-right]
+\layout { \context {
+  \name ImproVoice
+  \type "Engraver_group"
+  \consists "Note_heads_engraver"
+  \consists "Text_engraver"
+  \consists Pitch_squash_engraver
+  squashedPosition = #0
+  \override NoteHead #'style = #'slash
+  \override Stem #'transparent = ##t
+  \alias Voice
+}
+\context { \Staff
+  \accepts "ImproVoice"
+}}
+
+\relative c'' {
+  a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
+   c4 c^"undress" c_"while playing :)" c }
+  a1
+}
+@end lilypond
+
+
+Estos ajustes se definen dentro de un bloque @code{\context} que a su vez está dentro de un bloque
+@code{\layout},
+
+@example
+\layout @{
+  \context @{
+    @dots{}
+  @}
+@}
+@end example
+
+En el siguiente análisis, la entrada de ejemplo que se muestra debe ir en el lugar de
+los puntos suspensivos @dots{} del fragmento anterior.
+
+En primer lugar es necesario definir un nombre para el nuevo contexto:
+
+@example
+\name ImproVoice
+@end example
+
+Debido a que es parecido al contexto @context{Voice}, queremos órdenes que funcionen sobre
+contextos de @context{Voice} (existentes) para que siga funcionando.  Esto se consigue dando al
+contexto nuevo un alias @context{Voice},
+
+@example
+\alias Voice
+@end example
+
+El contexto imprimirá notas y textos explicativos, por ello tenemos que añadir los
+grabadores que aportan esta funcionalidad,
+
+@example
+\consists Note_heads_engraver
+\consists Text_engraver
+@end example
+
+Pero sólo necesitamos esto en la línea central,
+
+@example
+\consists Pitch_squash_engraver
+squashedPosition = #0
+@end example
+
+El grabador @internalsref{Pitch_squash_engraver} modifica las cabezas de nota (creadas
+por el grabador @internalsref{Note_heads_engraver}) y establece sus posiciones verticales
+al valor de @code{squashedPosition}, en este caso@tie{}@code{0},
+la línea central.
+
+Las notas parecen barras inclinadas y no tienen plica,
+
+@example
+\override NoteHead #'style = #'slash
+\override Stem #'transparent = ##t
+@end example
+
+Todos estos añadidos tienen que cooperar, y esto se consigue con un añadido especial,
+que se debe marcar con la palabra clave @code{\type}.
+Este será siempre @internalsref{Engraver_group},
+
+@example
+\type "Engraver_group"
+@end example
+
+Al juntarlo todo, obtenemos
+
+@example
+\context @{
+  \name ImproVoice
+  \type "Engraver_group"
+  \consists "Note_heads_engraver"
+  \consists "Text_engraver"
+  \consists Pitch_squash_engraver
+  squashedPosition = #0
+  \override NoteHead #'style = #'slash
+  \override Stem #'transparent = ##t
+  \alias Voice
+@}
+@end example
+
+@funindex \accepts
+Los contextos dan lugar a jerarquías.  Queremos colgar el contexto @context{ImproVoice}
+bajo el contexto @context{Staff}, como simples @code{Voice}s normales.  Por tanto, modificamos
+la definición de @code{Staff} con la instrucción
+@code{\accepts} (acepta),
+
+@example
+\context @{
+  \Staff
+  \accepts ImproVoice
+@}
+@end example
+
+@funindex \denies
+Lo opuesto a @code{\accepts} (acepta) es @code{\denies} (deniega),
+lo que a veces se necesita cuando se están reutilizando definiciones de contexto existentes.
+
+Ponemos ambos dentro de un bloque @code{\layout}, como
+
+@example
+\layout @{
+  \context @{
+    \name ImproVoice
+    @dots{}
+  @}
+  \context @{
+    \Staff
+    \accepts "ImproVoice"
+  @}
+@}
+@end example
+
+Así pues, la salida que aparece al comienzo de esta sub-sección se uede escribir como
+
+@example
+\relative c'' @{
+  a4 d8 bes8
+  \new ImproVoice @{
+    c4^"ad lib" c
+    c4 c^"undress"
+    c c_"while playing :)"
+  @}
+  a1
+@}
+@end example
+
 
 @node Aligning contexts
 @subsection Aligning contexts
 
-UNTRANSLATED NODE: IGNORE ME
+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 (@ref{Vocal ensembles}) y
+un ossia,
+
+@cindex ossia
+@findex alignAboveContext
+@findex 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
+
 
 @node Vertical grouping of grobs
 @subsection Vertical grouping of grobs
 
-UNTRANSLATED NODE: IGNORE ME
+Los grobs (objetos gráficos) VerticalAlignment y VerticalAxisGroup funcionan juntos.
+VerticalAxisGroup agrupa distintos objetos gráficos como Staff, Lyrics,
+etc. VerticalAlignment por su parte alinea verticalmente los diferentes objetos gráficos
+agrupados por VerticalAxisGroup. Normalmente hay solamente un
+VerticalAlignment por cada partitura, pero cada Staff, Lyrics, etc. tiene su propio
+VerticalAxisGroup. 
+
 
 @node The \override command
 @section The @code{\override} command
 
-UNTRANSLATED NODE: IGNORE ME
-
-@menu 
-* Constructing a tweak::
-* Navigating the program reference::
-* Layout interfaces::
-* Determining the grob property::
-* Objects connected to the input::
-* Using Scheme code instead of \tweak::
-* \set versus \override::
-* Difficult tweaks::
-@end menu 
+En la sección anterior ya hemos tocado una orden que
+modifica los detalles de la presentación: la instrucción @code{\override}.  En esta sección
+observaremos con mayor detalle la manera de usar esta orden en la práctica.  La
+sintaxis general de esta orden es:
+
+@example
+\override @var{contexto}.@var{objeto_de_presentación} #'@var{propiedad_de_presentación} = #@var{valor}
+@end example
+
+Así establecemos la @var{propiedad_de_presentación} del @var{objeto_de_presentación} especificado,
+wque es miembro del @var{contexto}, al @var{valor} que se indica.
+
+@menu
+* Constructing a tweak::        
+* Navigating the program reference::  
+* Layout interfaces::           
+* Determining the grob property::  
+* Objects connected to the input::  
+* Using Scheme code instead of \tweak::  
+* \set versus \override::       
+* Difficult tweaks::            
+@end menu
+
+
+
 @node Constructing a tweak
 @subsection Constructing a tweak
 
-UNTRANSLATED NODE: IGNORE ME
+Las instrucciones que cambian la salida generalmente tienen la forma
+
+@example
+\override Voice.Stem #'thickness = #3.0
+@end example
+
+@noindent
+Para construir este ajuste debemos primero averiguar estos datos:
+
+@itemize
+@item el contexto: aquí @context{Voice} (voz).
+@item el objeto de presentación: aquí @code{Stem} (plica).
+@item la propiedad de presentación: aquí @code{thickness} (grosor).
+@item un valor: aquí @code{3.0}.
+@end itemize
+
+Ciertas opciones ajustables se llaman @q{subpropieades} y residen en el interior
+de las propiedades.  Para trucarlas, utilice órdenes de la forma
+
+@example
+\override Stem #'details #'beamed-lengths = #'(4 4 3)
+@end example
+
+@cindex documentación interna
+@cindex buscar objetos gráficos
+@cindex gráficos, descripciones de los objetos
+@cindex trucar
+@funindex \override
+@cindex interna, documentación
+
+Para muchas propiedades, independientemente del tipo de datos de la propiedad, el establecimiento del valor de la
+propiedad a Falso ( @code{##f} ) dará como resultado su apagado o desactivación, haciendo que
+Lilypond ignore por completo dicha propiedad.  Esto es especialmente útil para
+desactivar propiedades de objetos gráficos que, de otro modo, podríann causar problemas.
+
+Explicaremos a continuación cómo extraer esta información del manual de notación y de la
+referencia del programa.
+
+
+
 
 @node Navigating the program reference
 @subsection Navigating the program reference
 
-UNTRANSLATED NODE: IGNORE ME
+Supongamos que queremos mover la indicación de digitación del fragmento
+siguiente:
+
+@lilypond[quote,fragment,relative=2,verbatim]
+c-2
+\stemUp
+f
+@end lilypond
+
+Si hace una visita a la documentación en busca de instrucciones de digitación (en
+@ref{Fingering instructions}), encontrará:
+
+@quotation
+@seealso
+
+Referencia del programa: @internalsref{Fingering}.
+
+@end quotation
+
+
+@c  outdated info; probably will delete.
+@ignore
+This fragment points to two parts of the program reference: a page
+on @code{FingerEvent} and one on @code{Fingering}.
+
+The page on @code{FingerEvent} describes the properties of the music
+expression for the input @code{-2}.  The page contains many links
+forward.  For example, it says
+
+@quotation
+Accepted by: @internalsref{Fingering_engraver},
+@end quotation
+
+@noindent
+That link brings us to the documentation for the Engraver, the
+plug-in, which says
+
+@quotation
+This engraver creates the following layout objects: @internalsref{Fingering}.
+@end quotation
+In other words, once the @code{FingerEvent}s are interpreted, the
+@code{Fingering_engraver} plug-in will process them.
+@end ignore
+
+@ignore
+@c  I can't figure out what this is supposed to mean.  -gp
+
+The @code{Fingering_engraver} is also listed to create
+@internalsref{Fingering} objects,
+
+@c  old info?  it doesn't make any sense to me with our current docs.
+This is also the
+second bit of information listed under @b{See also} in the Notation
+manual.
+@end ignore
+
+@ifnothtml
+La referencia del programador se encuentra disponible en forma dedocumento HTML.  Se recomienda
+mucho que lo lea en la forma HTML, bien en línea o bien
+descargando los archivos de la documentación HTML.  Esta sección sería mucho más difícil de entender
+si está utilizando el manual en
+formato PDF.
+@end ifnothtml
+
+Siga el enlace que lleva a @internalsref{Fingering}.  Al principio de la página,
+puede ver
+
+@quotation
+Los objetos de digitación se crean por parte de: @internalsref{Fingering_engraver} y
+@internalsref{New_fingering_engraver}.
+@end quotation
+
+Siguiendo los enlaces relacionados dentro de la referencia del programa, podemos seguir el
+flujo de información dentro del programa:
+
+@itemize @bullet
+
+@item @internalsref{Fingering}:
+los objetos @internalsref{Fingering} se crean por parte de:
+@internalsref{Fingering_engraver}
+
+@item @internalsref{Fingering_engraver}:
+Tipos de música aceptados: @internalsref{fingering-event}
+
+@item @internalsref{fingering-event}:
+El tipo de evento musical @code{fingering-event} está descrito en Expresiones musicales con el nombre de
+@internalsref{FingerEvent}
+@end itemize
+
+Este camino se recorre en contra de la corriente de información del programa: comienza
+por la salida y acaba en el evento de entrada.  También podríamos haber
+empezado por uun evento de la entrada, y leído siguiendo el flujo de información
+terminando en su caso en el objeto (u objetos) de la salida.
+
+La referencia del programa tamién se puede examinar como undocumento normal.  Contiene
+capítulos que tratan de
+@ifhtml
+@internalsref{Music definitions},
+@end ifhtml
+@ifnothtml
+@code{Music definitions}
+@end ifnothtml
+de la @internalsref{Translation}, y del @internalsref{Backend}.  Cada uno de los capítulos
+relaciona todas las definiciones utilizadas y todas las propiedades que se pueden
+ajustar.
+
 
 @node Layout interfaces
 @subsection Layout interfaces
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex interfaz de la presentación
+@cindex presentación, interfaz de la
+@cindex grob
+
+La página HTML que pudimos ver en la sección anterior describe el
+objeto de presentación llamado @internalsref{Fingering}.  Dicho objeto es un
+síimbolo dentro de la partitura.  Tiene propiedades que guardan números (como
+grosores y direcciones), pero también punteros a objetos relacionados.  Un
+objeto de presentación también se llama un @emph{Grob}, que es una abreviatura de Graphical
+Object (objeto gráfico).  Para ver más detalles acerca de los objetos gráficos o Grobs, consulte @internalsref{grob-interface}.
+
+La página dedicada a @code{Fingering} relaciona las definiciones del objeto
+@code{Fingering}.  Por ejemplo, la página dice
+
+@quotation
+@code{relleno} (dimensión, en espacios de pentagrama):
+
+@code{0.5}
+@end quotation
+
+@noindent
+lo que significa que el número se mantendrá a una distancia de al menos 0.5
+de la cabeza de la nota.
+
+
+Cada objeto de presentación puede tener varias funciones como elemento notacional o
+tipográfico.  Por ejemplo, el objeto de digitación Fingering tiene
+los siguientes aspectos
+
+@itemize @bullet
+@item
+Su tamañoo es independiente del espaciado horizontal, al contrario de las ligaduras o las baarras de las figuras.
+
+@item
+Es un elemento de texto.  Casi seguro que es un texto muy corto.
+
+@item
+este elemento de texto se tipografía con un tipo de letra, no como las ligaduras o las barras de las figuras.
+
+@item
+Horizontalmente, el centro del símbolo se debe alinear con el centro de la cabeza
+de la nota.
+
+@item
+Verticalmente, el símbolo se coloca cerca de la nota y del pentagrama.
+
+@item
+La posición vertical también está coordinada con otros símbolos de superíndice
+y de subíndice.
+@end itemize
+
+Cada uno de estos aspectos se capta en lo que se llaman @emph{interface}s,
+que se relacionan al final de la página dedicada a @internalsref{Fingering}
+
+@quotation
+Este objeto contempla los siguientes interfaces:
+@internalsref{item-interface},
+@internalsref{self-alignment-interface},
+@internalsref{side-position-interface}, @internalsref{text-interface},
+@internalsref{text-script-interface}, @internalsref{font-interface},
+@internalsref{finger-interface} y @internalsref{grob-interface}.
+@end quotation
+
+Al pulsar sobre cualquiera de los enlaces nos desplazaremos a la página del respectivo interfaz del
+objeto.  Cada interfaz tiene uncierto número de propiedades.  Algunas de ellas
+no son para que el usuario las pueda ajustar (@q{Propiedades internas}), pero otras
+sí se pueden modificar.
+
+Hemos hestado hablando de @emph{el} objeto @code{Fingering}, pero realmente esto no significa
+mucho.  El archivo de incialización (véase
+@ref{Default files})
+@file{scm/@/define@/-grobs@/.scm} muestra el alma del @q{objeto},
+
+@example
+(Fingering
+  . ((padding . 0.5)
+     (avoid-slur . around)
+     (slur-padding . 0.2)
+     (staff-padding . 0.5)
+     (self-alignment-X . 0)
+     (self-alignment-Y . 0)
+     (script-priority . 100)
+     (stencil . ,ly:text-interface::print)
+     (direction . ,ly:script-interface::calc-direction)
+     (font-encoding . fetaNumber)
+     (font-size . -5)          ; don't overlap when next to heads.
+     (meta . ((class . Item)
+     (interfaces . (finger-interface
+                    font-interface
+                    text-script-interface
+                    text-interface
+                    side-position-interface
+                    self-alignment-interface
+                    item-interface))))))
+@end example
+
+@noindent
+Como podemos ver, el objeto @code{Fingering} no es más que un montón de
+valores de variables, y la página web de la Referencia del programa
+se genera directamente a partir de esta definición.
+
 
 @node Determining the grob property
 @subsection Determining the grob property
 
-UNTRANSLATED NODE: IGNORE ME
+Recordemos que queríamos cambiar la posición del @b{2} en
+
+@lilypond[quote,fragment,relative=2,verbatim]
+c-2
+\stemUp
+f
+@end lilypond
+
+Puesto que el @b{2} se encuentra colocado verticalmente sobre su nota, tenemos que
+negociar con el interfaz asociado con esta colocaciión.  Esto se
+hace usando @code{side-position-interface}.  La página que describe este interface
+dice:
+
+@quotation
+@code{side-position-interface}
+
+Colocar un objeto víctima (este mismo) junto a otros objetos (el
+soporte).  La propiedad @code{direction} significa dónde poner el objeto
+víctima con relación al soporte (¿a la izquierda o a la derecha, encima o debajo?)
+@end quotation
+
+@cindex relleno
+@noindent
+Debajo de esta descripción, la variable @code{padding} (relleno) se describe como
+
+@quotation
+@table @code
+@item padding
+(dimensión, en espacios de pentagrama)
+
+Añadir esta cantidad de espacio adicional entre objetos que están unos junto a otros.
+@end table
+@end quotation
+
+Aumentando el valor de @code{padding}, podemos alejar
+la cifra de digitación de la cabeza de la nota.  La siguiente orden inserta
+un espacio en blanco de 3 espacios de pentagrama
+entre la nota y la digitación:
+@example
+\once \override Voice.Fingering #'padding = #3
+@end example
+
+Al insertar esta instrucción antes de que se haya creado el objeto Fingering,
+es decir, antes del @code{c2}, llegamos al siguiente resultado:
+
+@lilypond[quote,relative=2,fragment,verbatim]
+\once \override Voice.Fingering #'padding = #3
+c-2
+\stemUp
+f
+@end lilypond
+
+
+En este caso, el contexto de este truco es @context{Voice}.  Este
+hecho se puede deducir también a partir de la referencia del programa, ya que la página dedicada al
+añadido @internalsref{Fingering_engraver} dice
+
+@quotation
+El grabador Fingering_engraver es parte de los contextos: @dots{} @internalsref{Voice}
+@end quotation
+
 
 @node Objects connected to the input
 @subsection Objects connected to the input
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex \tweak
+
+En ocasiones es posible tomar un atajo para realizar el ajuste fino de los objetos
+gráficos.  Para objetos que reusultan directamente de un elemento de código de la entrada,
+puede usar la función @code{\tweak}, por ejemplo
+
+@lilypond[relative=2,fragment,verbatim,ragged-right]
+<
+  c
+  \tweak #'color #red d
+  g
+  \tweak #'duration-log #1  a
+>4-\tweak #'padding #10 -.
+@end lilypond
+
+Como podemos ver, las propiedades se establecen directamente dentro de los objetos,
+sin hacer mención al nombre del grob ni al contexto en el que se tendría que
+aplicar.
+
+Esta técnica sóloo funciona para los objetos que están conectados directamente a
+un @internalsref{event} (evento) del texto de entrada, por ejemplo
+
+@itemize @bullet
+@item cabezas de nota, producidas por chord-pitch (p. ej.: las notas de un acorde)
+@item signos de articulación, producidos por instrucciones de articulación
+@end itemize
+
+Posiblemente no funcione para plicas y alteraciones accidentales (éstos están producidos
+por parte de las cabezas de nota, no por los eventos musicales) ni para las claves (éstos no están producidos por
+ninguna entrada musical, sino más bien a causa de unn cambio en el valor de una propiedad).
+
+Existen muy pocos objetos que estén conectados @emph{directamente} al
+resultado de salida.  Una nota normal (como @code{c4}) no está conectada directamente
+a la salida, así que
+
+@example
+\tweak #'color #red c4
+@end example
+
+@noindent
+no cambia el color.  Consulte @ref{Displaying music expressions} para ver más
+detalles.
+
 
 @node Using Scheme code instead of \tweak
 @subsection Using Scheme code instead of @code{\tweak}
 
-UNTRANSLATED NODE: IGNORE ME
+La principal desventaja de @code{\tweak} es su inflexibilidad
+sintáctica.  Por ejemplo, lo siguiente produce un error de sintaxis.
+
+@example
+F = \tweak #'font-size #-3 -\flageolet
+
+\relative c'' @{
+  c4^\F c4_\F
+@}
+@end example
+
+@noindent
+En otras palabras, @code{\tweak} no se comporta como una articulación en lo que respecta a la
+sintaxis; en concreto, no se puede adjuntar mediante
+@samp{^} y @samp{_}.
+
+Utilizando el lenguaje Scheme, se puede dar un rodeo a este problema.  La ruta hacia el resultado
+se da en @ref{Adding articulation to notes (example)},
+especialmente cómo usar @code{\displayMusic} como guía de ayuda.
+
+@example
+F = #(let ((m (make-music 'ArticulationEvent
+                          'articulation-type "flageolet")))
+       (set! (ly:music-property m 'tweaks)
+             (acons 'font-size -3
+                    (ly:music-property m 'tweaks)))
+       m)
+\relative c'' @{
+  c4^\F c4_\F
+@}
+@end example
+
+@noindent
+Aquí las propiedades @code{tweaks} del objeto de flageolet
+@samp{m} (creado con @code{make-music}) se extraen con
+@code{ly:music-property}, un nuevo par clave-valor para cambiar el
+tamaño de la tipografía se antepone a la lista de propiedades con la función de Scheme
+@code{acons}, y el resultado finalmente se escribe
+de nuevo con @code{set!}.  El último elemento del bloque
+@code{let} es el valor devuelto, el propio @samp{m}.
+
 
 @node \set versus \override
 @subsection @code{\set} vs. @code{\override}
 
-UNTRANSLATED NODE: IGNORE ME
+Hemos visto dos formas de cambiar las propiedades: @code{\set} y
+@code{\override}.  De hecho, en realidad existen dos clases diferentes de
+propiedades.
+
+Los contextos pueden tener propiedades, que por lo general reciben nombres en
+@code{mayúsculasDeCamello}.  Principalmente controlan la traducción
+de la música a la notación, p.ej. @code{localKeySignature} (para determinar
+si hay que imprimir las alteraciones accidentales), @code{measurePosition} (para
+determinar cuándo imprimir una línea divisoria).  Las propiedades de contexto pueden
+ver modificado su valor con el tiempo según se interpreta una pieza de música;
+@code{measurePosition} es un ejemplo obvio de esto.
+Las propiedades de contexto se modifican con @code{\set}.
+
+Hay un tipo especial de propiedad de contexto: la descripción del
+elemento. Estas propiedades reciben nombres en @code{MayúsculasDeCamello}
+(comenzando en letra mayúscula).  Contienen los
+@q{ajustes por defecto} para dicho elemento gráfico como una lista
+asociativa.  Consulte @file{scm/@/define@/-grobs@/.scm}
+para ver qué tipos de ajustes hay.  Las descripciones de los elementos
+se pueden modificar con @code{\override}.
+
+Realmente, @code{\override} es un atajo;
+
+@example
+\override @var{contexto}.@var{nombre} #'@var{propiedad} = #@var{valor}
+@end example
+
+@noindent
+es más o menos equivalente a
+
+@c  leave this long line -gp
+@example
+\set @var{contexto}.@var{nombre} #'@var{propiedad} = #(cons (cons '@var{propiedad} @var{valor}) <valor previo de @var{contexto})
+@end example
+
+El valor de @code{contexto} (la lista-a) se usa para da un valor inicial
+a las propiedades de los objetos gráficos individuales.  Los objetos gráficos también tienen
+propiedades, que reciben nombres en el estilo de Scheme, con
+@code{palabras-con-guiones}.  Los valores de las propiedades de objetos gráficos cambian
+durante el proceso de formateo: el formateo básicamente consiste en
+calcular las propiedades utilizando funciones de callback.
+
+@code{fontSize} es una propiedad especial: equivale a
+escribir @code{\override ... #'font-size} para todos los objetos
+pertinentes.  Al ser éste un cambio muy común, se creó la propiedad especial
+(modificada con @code{\set}).
+
 
 @node Difficult tweaks
 @subsection Difficult tweaks
 
-UNTRANSLATED NODE: IGNORE ME
+Hay ciertos tipos de ajustes difíciles.
+
+@itemize @bullet
+
+
+@item
+Un tipo de ajuste difícil es la apariencia visual de los objetos de extensión,
+como las ligaduras de expresión y de unión.  Inicialmente sólo se crea uno de estos objetos,
+y se pueden ajustar a través del mecanismo normal.  Sin embargo, en ocasiones
+los objetos de extensión atraviesan los altos de línea.  Si esto ocurre, estos objetos
+se clonan.  Se crea un objeto separado para cada grupo de pentagramas en el que está.
+Son clones del objeto original y heredan todas las
+propiedades, incluyendo los @code{\override}s.
+
+
+En otras palabras, un @code{\override} siempre afecta a todas las piezas de un elemento de
+extensión roto.  Para cambiar sólo una parte del elemento de extensión  en un salto de línea,
+es necesario iplicarse en el proceso de formateo.  La función de callback
+@code{after-line-breaking} contiene el procedimiento de Scheme que
+se llama después de que see han determinado los saltos de línea, y de que los objetos de
+presentación se han dividido sobre los diferentes sistemas o grupos de pentagramas.
+
+En el ejemplo siguiente, definimos un procedimiento
+@code{my-callback}.  Este procedimiento
+
+@itemize @bullet
+@item
+determina si hemos sido divididos en un salto de línea
+@item
+si es así, recupera todos los objetos divididos
+@item
+comprueba si nosotros somos el último de los objetos divididos
+@item
+si es así, establece @code{extra-offset}.
+@end itemize
+
+Este procedimiento se isntala dentro de @internalsref{Tie} (ligadura de unión), de forma que la última parte
+de la ligadura dividida se traslada hacia arriba.
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (my-callback grob)
+  (let* (
+         ; have we been split?
+         (orig (ly:grob-original grob))
+
+         ; if yes, get the split pieces (our siblings)
+         (siblings (if (ly:grob? orig)
+                     (ly:spanner-broken-into orig) '() )))
+
+   (if (and (>= (length siblings) 2)
+             (eq? (car (last-pair siblings)) grob))
+     (ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
+
+\relative c'' {
+  \override Tie #'after-line-breaking =
+  #my-callback
+  c1 ~ \break c2 ~ c
+}
+@end lilypond
+
+@noindent
+Cuando aplicamos este truco, la nueva función de callback @code{after-line-breaking}
+también debe llamar a la antigua @code{after-line-breaking}, si existe.
+Por ejemplo, si se utiliza con @code{Hairpin} (regulador),
+también se debe llamar a @code{ly:hairpin::after-line-breaking}.
+
+
+@item Algunos objetos no se pueden cambiar con @code{\override} por razones
+técnicas.  Ejemplo de ello son @code{NonMusicalPaperColumn}
+y @code{PaperColumn}.  Se peuden cambiar con la función
+@code{\overrideProperty}, que funciona de forma parecida a @code{\once
+\override}, pero usa una sintaxis diferente.
+
+@example
+\overrideProperty
+#"Score.NonMusicalPaperColumn"  % Nombre del Grob u objeto gráfico
+#'line-break-system-details     % Nombre de la propiedad
+#'((next-padding . 20))         % Valor
+@end example
+
+Fíjese, sin embargo, en que @code{\override}, aplicado a
+@code{NoteMusicalPaperColumn} y a @code{PaperColumn}, aún funciona tal y como se espera
+dentro de los bloques @code{\context}.
 
+@end itemize
 
--- SKELETON FILE --
-When you actually translate this file, please remove these lines as
-well as all `UNTRANSLATED NODE: IGNORE ME' lines.