]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/essay/engraving.itely
Merge remote-tracking branch 'origin/translation'
[lilypond.git] / Documentation / es / essay / engraving.itely
index 3bdf602baf654ae352dd2ac3073710dbf12affad..7f78637b789147f276e917721c795583e548d44f 100644 (file)
@@ -1,14 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fda031b689de1614e45d6f647f5ffb85e91fca8c
+    Translation of GIT committish: 7ec0c02a1520974682d2e3e3aa2dd59a1a05988d
 
     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.4"
+@c \version "2.19.2"
 
 @node Grabado musical
 @chapter Grabado musical
@@ -22,21 +22,17 @@ y cómo puede producir partituras musicales tan bellas.
 @c     require adding a new snippet option to lilypond-book.py
 @c check formatting of HTML output
 
-@c Notes:
-@c Incorrect beaming in the Sarabande is a known bug.
-
 @menu
 * Historia de LilyPond::
 * Detalles del grabado::
 * Grabado automatizado::
-* ¿Qué símbolos grabar?::
-* Representación musical::
-* Aplicaciones de ejemplo::
-* Apéndice::
+* Construcción del software::
+* Poner a LilyPond a trabajar::
+* Ejemplos de partituras (BWV 861)::
 @end menu
 
 @node Historia de LilyPond
-@unnumberedsec Historia de LilyPond
+@section Historia de LilyPond
 @translationof The LilyPond story
 
 Mucho antes de que LilyPond se hubiese utilizado para editar preciosas
@@ -91,9 +87,9 @@ utilizar.  Tiene unas líneas y un movimiento que parecen fluir, y se
 aprecia como un fragmento de música vivo y palpitante, mientras que la
 edición más reciente parece fría y mecánica.
 
-Es un poco difícil apreciar inmediatamente en qué consiste la
+Es difícil apreciar inmediatamente en qué consiste la
 diferencia entra las ediciones antigua y nueva.  En ésta todo parece
-pulcro y detallista, posiblemente incluso @qq{mejor} a causa de su
+pulcro y ordenado, posiblemente incluso @qq{mejor} a causa de su
 aspecto computerizado y uniforme.  De hecho, esto nos tuvo confundidos
 durante un cierto tiempo.  Queríamos mejorar la notación por
 ordenador, pero en primer lugar teníamos que averiguar qué era lo que
@@ -125,19 +121,16 @@ símbolos musicales.
 
 Existen también otras diferencias: en la edición grabada a mano todas
 las líneas verticales son más gruesas, las ligaduras quedan más cerca
-de la cabeza de las notas, y hay más variedad visual en la colocación
+de la cabeza de las notas, y hay más variedad en las inclinaciones
 de las barras de corchea.  Aunque dichos detalles pueden parecer
 minucias, el resultado es una partitura más fácil de leer.  En la
 partitura de ordenador, todas las líneas son casi idénticas y si el
-músico levanta la mirada por un momento, probablemente se pierda por
+músico levanta la mirada por un momento probablemente se pierda por
 la página.
 
 LilyPond se diseñó para resolver los problemas que encontramos en el
 software existente y para crear notación musical bella que emulara a
-las mejores partituras trazadas a mano.  Al mismo tiempo, hemos
-aprendido una gran lección sobre el trabajo implícito en una partitura
-bien trazada.  En este ensayo vamos a describir algunos de esos
-aspectos que hemos tratado de imitar en LilyPond.
+las mejores partituras trazadas a mano.
 
 @iftex
 @page
@@ -154,7 +147,7 @@ Henle núm. 666, @copyright{}2000:
 @end iftex
 
 @node Detalles del grabado
-@unnumberedsec Detalles del grabado
+@section Detalles del grabado
 @translationof Engraving details
 
 @cindex grabado
@@ -202,6 +195,9 @@ tradicionales publicados por los editores de música europeos de y
 hasta la primera mitad del s.XX, entre ellos Bärenreiter, Duhem,
 Durand, Hofmeister, Peters y Schott.  En ocasiones se consideran a
 éstos como la cima de la práctica del grabado musical tradicional.
+Según hemos estudiado estas ediciones, hemos aprendido una gran
+lección sobre el trabajo implícito en una partitura bien trazada, y
+los aspectos de ella que queríamos tratar de imitar en LilyPond.
 
 @c Now all newly printed music is produced with computers.  This has
 @c obvious advantages: prints are cheaper to make, editorial work can be
@@ -335,7 +331,7 @@ correcciones.  ¿Cuál prefiere?
 }
 
 music = {
-   c'4 e''4 e'4 b'4 |
+   c'4 e''4 e'4 b'4
    \stemDown
    b'8[ e'' a' e'']
    \stemNeutral
@@ -347,9 +343,9 @@ music = {
   \layout {
     \context {
       \Staff
-      \override NoteSpacing #'stem-spacing-correction = #0.0
-      \override NoteSpacing #'same-direction-correction = #0.0
-      \override StaffSpacing #'stem-spacing-correction = #0.0
+      \override NoteSpacing.stem-spacing-correction = #0.0
+      \override NoteSpacing.same-direction-correction = #0.0
+      \override StaffSpacing.stem-spacing-correction = #0.0
     }
   }
 }
@@ -375,7 +371,7 @@ music = {
   \layout {
     \context {
       \Staff
-      \override NoteSpacing #'stem-spacing-correction = #0.6
+      \override NoteSpacing.stem-spacing-correction = #0.6
     }
   }
 }
@@ -501,11 +497,12 @@ global = {
   \key c \minor
 }
 
-\new Score <<
-  \new Staff \with {
+\score {
+  <<
+    \new Staff \with {
       fontSize = #-4
-      \override StaffSymbol #'staff-space = #(magstep -4)
-      \override StaffSymbol #'thickness = #(magstep -3)
+      \override StaffSymbol.staff-space = #(magstep -4)
+      \override StaffSymbol.thickness = #(magstep -3)
     }
     \relative c' {
       \global
@@ -514,30 +511,33 @@ global = {
       g8.(^> b16 c ees) g8-.^> r r
       R2.
     }
-  \new PianoStaff <<
-    \set PianoStaff.instrumentName = #"Piano"
-    \new Staff \relative c' {
-      \global
-      s2.
-      s4. s8 r8 r16 <c f aes c>
-      <c f aes c>4.^> <c ees g>8 r r
-    }
-    \new Staff \relative c {
-      \global
-      \clef "bass"
-      << {
-        \once \override DynamicText #'X-offset = #-3
-        <ees g c>2.~->^\f
-        <ees g c>4.~ <ees g c>8
-      } \\ {
-        <c g c,>2.~
-        <c g c,>4.~ <c g c,>8
-      } >>
-      r8 r16 <f, c' aes'>16
-      <f c' aes'>4.-> <c' g'>8 r r
-    }
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = #"Piano"
+      \new Staff \relative c' {
+        \global
+        s2.
+        s4. s8 r8 r16 <c f aes c>
+        <c f aes c>4.^> <c ees g>8 r r
+      }
+      \new Staff \relative c {
+        \global
+        \clef "bass"
+        <<
+        {
+          \once \override DynamicText.X-offset = #-3
+          <ees g c>2.~->^\f
+          <ees g c>4.~ <ees g c>8
+        } \\ {
+          <c g c,>2.~
+          <c g c,>4.~ <c g c,>8
+        }
+        >>
+        r8 r16 <f, c' aes'>16
+        <f c' aes'>4.-> <c' g'>8 r r
+      }
+    >>
   >>
->>
+}
 @end lilypond
 @end ignore
 
@@ -582,7 +582,7 @@ gusta tocar.
 
 
 @node Grabado automatizado
-@unnumberedsec Grabado automatizado
+@section Grabado automatizado
 @translationof Automated engraving
 
 @cindex grabado automatizado
@@ -590,16 +590,13 @@ gusta tocar.
 
 Aquí describimos lo que se necesita para crear un software que pueda
 recrear la disposición de las partituras grabadas: un método de
-explicar las buenas disposiciones al ordenador, comparaciones
-detalladas con grabados reales, y la flexibilidad suficiente para
-enfrentarse al amplio rango de desafíos que puede presentar la música
-impresa.
+explicar las buenas disposiciones al ordenador, y gran cantidad de
+comparaciones detalladas con grabados de música reales.
 
 @menu
 * Concursos de belleza::
 * Mejoras por medio de pruebas::
 * Hacer las cosas bien::
-* Arquitectura flexible::
 @end menu
 
 @node Concursos de belleza
@@ -611,12 +608,12 @@ de las tres configuraciones elegiríamos para la siguiente ligadura?
 
 @lilypond
 \relative c {
-    \clef bass
-    \once \override Slur #'positions = #'(1.5 . 1)
-    e8[( f] g[ a b d,)] r4
-    \once \override Slur #'positions = #'(2 . 3)
-    e8[( f] g[ a b d,)] r4
-    e8[( f] g[ a b d,)] r4
+  \clef bass
+  \once \override Slur.positions = #'(1.5 . 1)
+  e8[( f] g[ a b d,)] r4
+  \once \override Slur.positions = #'(2 . 3)
+  e8[( f] g[ a b d,)] r4
+  e8[( f] g[ a b d,)] r4
 }
 @end lilypond
 
@@ -651,13 +648,13 @@ fealdad y seleccionamos la configuración menos fea.
 Por ejemplo, tenemos aquí tres configuraciones posibles para la
 ligadura, y LilyPond ha otorgado una puntuación a cada una en
 @q{puntos de fealdad}.  El primer ejemplo obtiene 15.39 puntos por
-rozar una de las notas:
+rozar la cabeza de una de las figuras:
 
 @lilypond
 \relative c {
-    \clef bass
-    \once \override Slur #'positions = #'(1.5 . 1)
-    e8[(_"15.39" f] g[ a b d,)] r4
+  \clef bass
+  \once \override Slur.positions = #'(1.5 . 1)
+  e8[(_"15.39" f] g[ a b d,)] r4
 }
 @end lilypond
 
@@ -669,9 +666,9 @@ de fealdad:
 
 @lilypond
 \relative c {
-    \clef bass
-    \once \override Slur #'positions = #'(2 . 3)
-    e8[(_"13.08" f] g[ a b d,)] r4
+  \clef bass
+  \once \override Slur.positions = #'(2 . 3)
+  e8[(_"13.08" f] g[ a b d,)] r4
 }
 @end lilypond
 
@@ -681,8 +678,8 @@ las tres configuraciones, así que LilyPond selecciona ésta:
 
 @lilypond
 \relative c {
-    \clef bass
-    e8[(_"12.04" f] g[ a b d,)] r4
+  \clef bass
+  e8[(_"12.04" f] g[ a b d,)] r4
 }
 @end lilypond
 
@@ -764,17 +761,21 @@ actual de LilyPond (@version{}):
   \key d \minor
   \time 3/4
   \mergeDifferentlyDottedOn
-  << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
-     \\ {d4_2 a2}
+  <<
+    { \slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e) }
+     \\
+    { d4_2 a2 }
   >>
   \slurDashed
   <f' a, d,>4. e8( d c)
   \slurSolid
-  bes g' f e16( f g_1 a_2 bes_3 d,_2)
+  bes8 g' f e16( f g_1 a_2 bes_3 d,_2)
   \slurDashed
   cis4.-\trill b8_3( a g)
-  << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
-     \\ {<f, a>4 a2}
+  <<
+    { \slurDashed d'8.( e16) e4.-\trill( d16 e) }
+     \\
+    { <f, a>4 a2 }
   >>
 }
 @end lilypond
@@ -835,7 +836,7 @@ LilyPond en segundo:
 @end ifnottex
 
 @lilypond[staffsize=19.5,line-width=14\cm]
-global = {\key g \minor}
+global = { \key g \minor }
 
 partI = \relative c' {
   \voiceOne
@@ -848,10 +849,12 @@ partII = \relative c' {
   d4 r4 r8 d'16 c bes8 c16 d
   ees8 d c ees a, r r4
 }
+
 partIII = \relative c' {
   \voiceOne
   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
 }
+
 partIV = \relative c {
   \voiceTwo
   d4 r r2
@@ -870,8 +873,8 @@ partIV = \relative c {
         \new Voice = "voiceI" { \partI }
         \new Voice = "voiceII" { \partII }
       >>
-
-      \new Staff = "LH" <<
+      \new Staff = "LH"
+      <<
         \clef "bass"
         \global
         \new Voice = "voiceIII" { \partIII }
@@ -886,7 +889,7 @@ partIV = \relative c {
     }
     \context {
       \PianoStaff
-      \override StaffGrouper #'between-staff-spacing #'padding = #1
+      \override StaffGrouper.staff-staff-spacing.padding = #1
     }
   }
 }
@@ -900,7 +903,7 @@ Una barra que apunta hacia el centro del pentagrama debe tener una
 longitud de una octava aproximadamente, pero los grabadores acortan
 esta longitud cuando la barra apunta hacia fuera de la pauta en música
 de varias voces.  El barrado de Finale se puede mejorar fácilmente con
-el complemento de barras de Patterson, pero hemos decidido saltarnos
+su complemento de barras de Patterson, pero hemos decidido saltarnos
 ese paso para este ejemplo.
 @item Finale no ajusta las posiciones de las cabezas que se bloquean mutuamente,
 lo que hace a la música extremadamente difícil de leer cuando las
@@ -908,17 +911,20 @@ voces superior e inferior intercambian temporalmente sus posiciones:
 
 @c KEEP LY
 @lilypond
-collide = \once \override NoteColumn #'force-hshift = #0
-\new Score <<
-  \new Voice = "sample" \relative c''{
-    \key g \minor
-    <<
-      {\voiceOne g4 \collide g4}
-      \new Voice {\voiceTwo bes \collide bes}
-    >>
-  }
-  \new Lyrics \lyricsto "sample" \lyricmode { "bien " " mal" }
->>
+collide = \once \override NoteColumn.force-hshift = #0
+
+\score {
+  <<
+    \new Voice = "sample" \relative c''{
+      \key g \minor
+      <<
+        { \voiceOne g4 \collide g4 }
+        \new Voice { \voiceTwo bes \collide bes }
+      >>
+    }
+    \new Lyrics \lyricsto "sample" { "bien " " mal" }
+  >>
+}
 @end lilypond
 
 @item Finale ha colocado todos los silencios en alturas fijas sobre el
@@ -968,163 +974,232 @@ a cuatro ediciones publicadas distintas.  Un examen detenido revela
 que hay una cierta variación aceptable entre los grabados manuales,
 pero también que LilyPond se compara de forma razonablemente buena con
 este rango aceptable.  Aún existen algunos inconvenientes en la salida
-de LilyPond, por ejemplo, parece ser un tanto agresiva en acortar
-algunas de las plicas, así que aún hay lugar para un desarrollo y
+de LilyPond, por ejemplo, parece ser un tanto agresiva acortando
+algunas de las plicas, así que aún hay margen para un desarrollo y
 ajuste fino posteriores.
 
 Por supuesto, la tipografía se basa en el juicio humano sobre la
 apariencia, de manera que las personas no se pueden sustituir por
 completo.  Con todo, gran parte del trabajo tedioso se puede
-automatizar.  Si LilyPond resuelve casi todas las situaciones más
-comunes correctamente, esto ya constituirá una enorme ventaja sobre
-los programas existentes.  Con el transcurso de los años, software se
-puede refinar de forma que realice más y más cosas automáticamente de
-forma que los ajustes manuales sean también cada vez menos necesarios.
-Donde se necesitan ajustes manuales, la estructura de LilyPond está
-diseñada teniendo en mente esa flexibilidad.
+automatizar.  Si LilyPond resuelve correctamente la mayor parte de las
+situaciones más comunes, esto ya sería una enorme ventaja sobre los
+programas existentes.  Con el transcurso de los años, el software se
+puede refinar de forma que realice cada vez más cosas automáticamente,
+de forma que los ajustes manuales sean también cada vez menos
+necesarios.  Donde se necesitan ajustes manuales, la estructura de
+LilyPond está diseñada teniendo en mente esa flexibilidad.
 
-@node Arquitectura flexible
-@unnumberedsubsec Arquitectura flexible
-@translationof Flexible architecture
 
-Al principio escribimos el programa LilyPond completamente en el
-lenguaje de programación C++; la funcionalidad del programa estaba
-grabada en piedra por parte de los desarrolladores.  Se comprobó que
-esto no era satisfactorio por unas cuantas razones:
+@node Construcción del software
+@section Construcción del software
+@translationof Building software
 
-@itemize
+Esta sección describe algunas de las decisiones de programación que
+hicimos cuando diseñamos el programa LilyPond.
 
-@item Cuando LilyPond comete errores, los usuarios necesitan sobreescribir
-las decisiones de formateo.  Por tanto, el usuario debe tener acceso
-al motor de formateo.  De aquí que las reglas y los ajustes
-predeterminados no se puedan fijar por nuestra parte en el tiempo de
-compilación sino que deben estar accesibles para los usuarios en el
-tiempo de ejecución.
+@menu
+* Representación musical::
+* ¿Qué símbolos grabar?::
+* Arquitectura flexible::
+@end menu
 
-@item El grabado musical es cuestión de juicio visual, y por tanto está en
-el terreno del buen gusto.  Por más entendidos que pretendamos ser,
-nuestros usuarios siempre podrían discrepar de nuestras decisiones
-personales.  Por ello, las definiciones del estilo tipográfico debe
-también ser accesible para el usuario.
 
-@item Finalmente, nos encontramos refinando continuamente los algoritmos de
-formateo, por lo que necesitamos un enfoque flexible para las reglas.
-El lenguaje C++ fuerza un cierto método de agrupación de las reglas
-que no está preparado para aplicarse al formateo de la notación
-musical.
+@node Representación musical
+@unnumberedsubsec Representación musical
+@translationof Music representation
 
-@end itemize
+@cindex sintaxis
+@cindex recursivas, estructuras
 
-@cindex Scheme, lenguaje de programación
+Idealmente, el formato de entrada de cualquier sistema de formateado
+de alto nivel es una descripción abstracta del contenido.  En este
+caso, eso sería la propia música.  Ello presenta un enorme problema:
+¿cómo podemos definir qué es la música realmente?  En lugar de buscar
+una respuesta, le hemos dado la vuelta a la pregunta.  Escribimos un
+programa capaz de producir música impresa, y luego ajustamos el
+formato de forma que sea lo más escueto posible.  Cuando el formato ya
+no se puede recortar más, por definición nos estamos quedando con el
+propio contenido.  Nuestro programa sirve como una definición formal
+de un documento musical.
 
-Estos programas se han solucionado integrando un intérprete para el
-lenguaje de programación Scheme y reescribiendo partes de LilyPond en
-Scheme.  La arquitectura de formateo actual está construida alrededor
-de la noción de objetos gráficos, descritos por medio de variables y
-funciones de Scheme.  Esta arquitectura coordina las reglas de
-formateo, el estilo tipográfico y las decisiones de formateo
-individuales.  El usuario tiene acceso directo a la mayoría de esos
-controles.
+La sintaxis es también el interfaz de usuario de LilyPond, de aquí
+que sea tan fácil teclear:
 
-Las variables de Scheme controlan las decisiones de disposición en la
-página.  Por ejemplo, muchos objetos gráficos tienen una variable de
-dirección que codifica la elección entre arriba y abajo (o izquierda y
-derecha).  A continuación vemos dos acordes, con acentos y símbolos de
-arpegio.  En el primer acorde, los objetos gráficos tienen todas las
-direcciones hacia abajo (o hacia la izquierda).  El segundo acorde
-tiene todas las direcciones hacia arriba (o hacia la derecha).
+@example
+@{
+  c'4 d'8
+@}
+@end example
 
-@lilypond[quote,ragged-right]
-\new Score \with {
-   \override SpacingSpanner #'spacing-increment = #3
-   \override TimeSignature #'transparent = ##t
-} \relative c' {
-   \stemDown <e g b>4_>-\arpeggio
-   \override Arpeggio #'direction = #RIGHT
-   \stemUp <e g b>4^>-\arpeggio
+@noindent
+para crear un Do central negra (Do 4) y un Re por encima del Do
+central, corchea (Re 4).
+
+@lilypond[quote]
+{
+  c'4 d'8
 }
 @end lilypond
 
-@cindex partitura, formateo de
-@cindex formateo de una partitura
-@cindex formateo, reglas de
+A una escala microscópica, esta sintaxis es fácil de usar.  A una
+escala mayor, la sintaxis necesita también una estructura.  ¿De qué
+otra forma podríamos introducir piezas complejas como sinfonías u
+óperas?  La estructura se forma por medio del concepto de expresiones
+musicales: combinando pequeños fragmentos de música dentro de otros
+más grandes, se puede expresar una música más compleja.  Por ejemplo:
+
+@lilypond[quote,verbatim,fragment,relative=1]
+f4
+@end lilypond
 
 @noindent
-El proceso de dar formato a una partitura comprende la lectura y
-escritura de las variables de los objetos gráficos.  Algunas variables
-tienen un valor preestablecido.  Por ejemplo, el grosor de muchas
-líneas (una característica del estilo tipográfico) es una variable con
-un valor preestablecido. Somos libres de alterar este valor, dando a
-nuestra partitura una impresión tipográfica distinta.
+Las notas simultáneas se pueden construir encerrándolas dentro de
+@code{<<} y @code{>>}:
 
-@lilypond[quote,ragged-right]
-fragment = {
-   \clef bass f8 as8
-   c'4-~ c'16 as g f e16 g bes c' des'4
-}
+@example
+<<c4 d4 e4>>
+@end example
+
+@lilypond[quote,fragment,relative=1]
+\new Voice { <<c4 d4 e>> }
+@end lilypond
+
+@noindent
+La expresión se pone en secuencia encerrándola dentro de llaves
+@code{@{@tie{}@dots{}@tie{}@}}:
+
+@example
+@{ f4 <<c4 d4 e4>> @}
+@end example
+
+@lilypond[quote,relative=1,fragment]
+{ f4 <<c d e4>> }
+@end lilypond
+
+@noindent
+Esto es también una expresión, y así se puede combinar de nuevo con
+otra expresión simultánea (una blanca) utilizando @code{<<}, @code{\\}
+y @code{>>}:
+
+@example
+<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>
+@end example
+
+@lilypond[quote,fragment,relative=2]
+\new Voice { << g2 \\ { f4 <<c d e>> } >> }
+@end lilypond
+
+Tales estructuras recursivas se pueden especificar limpia y
+formalmente dentro de una gramática independiente del contexto.  El
+código del analizador sintáctico también se genera a partir de esta
+gramática.  Dicho de otra forma, la sintaxis de LilyPond está definida
+claramente y sin ambigüedades.
+
+Los interfaces de usuario y la sintaxis son aquello que la gente ve y
+con lo que trata más frecuentemente.  Son, en parte, cuestión de
+gusto, y también objeto de mucha discusión.  Aunque las discusiones
+sobre el gusto tienen su mérito, no son muy productivas.  Bajo el
+punto de vista más amplio de LilyPond, la importancia de la sintaxis
+de la entrada es pequeña: inventarse una sintaxis limpia es fácil,
+pero escribir un código de formatead que sea decente es mucho más
+difícil.  Esto queda ilustrado por la cantidad de líneas que están
+dedicadas a los componentes respectivos: el análisis sintáctico y la
+representación se llevan menos del 10% del código fuente.
+
+Cuando estábamos diseñando las estructuras utilizadas dentro de
+LilyPond, tomamos algunas decisiones de forma diferente a como es
+aparente en otros programas.  Consideremos la naturaleza jerárquica de
+la notación musical:
+
+@lilypond[quote,fragment]
 <<
-   \new Staff \fragment
-   \new Staff \with {
-      \override Beam #'beam-thickness = #0.3
-      \override Stem #'thickness = #0.5
-      \override Bar #'thickness = #3.6
-      \override Tie #'thickness = #2.2
-      \override StaffSymbol #'thickness = #3.0
-      \override Tie #'extra-offset = #'(0 .  0.3)
-      }
-      \fragment
+  \new Staff \relative c'' {
+    \key g \major
+    \time 3/4
+    d4 g,8 a b c d4 g, g
+  }
+  \new Staff \relative c' {
+    \clef "bass"
+    \key g \major
+    <g b d>2 a4 b2.
+  }
 >>
 @end lilypond
 
-Las reglas de formateado también son variables preestablecidas: cada
-objeto tiene variables que contienen procedimientos.  Estos
-procedimientos realizan el formateo propiamente dicho, y mediante la
-sustitución de unos u otros, podemos modificar el aspecto de los
-objetos.  En el ejemplo siguiente, la regla que gobierna qué objetos
-de cabeza se utilizan para producir el símbolo de la cabeza, se cambia
-a lo largo del fragmento musical.
+En este caso, hay notas agrupadas en acordes que están dentro de
+compases, que pertenecen a pentagramas.  Esto se parece a una
+estructura ordenada de cajas anidadas unas dentro de otras:
 
-@lilypond[quote,ragged-right]
-#(set-global-staff-size 30)
+@quotation
+@iftex
+@sourceimage{pdf/nestedboxes,,4cm,}
+@end iftex
+@ifnottex
+@sourceimage{nestedboxes,,,png}
+@end ifnottex
+@end quotation
 
-#(define (mc-squared grob orig current)
-  (let* ((interfaces (ly:grob-interfaces grob))
-         (pos (ly:grob-property grob 'staff-position)))
-    (if (memq 'note-head-interface interfaces)
-        (begin
-          (ly:grob-set-property! grob 'stencil
-            (grob-interpret-markup grob
-              (make-lower-markup 0.5
-                (case pos
-                  ((-5) "m")
-                  ((-3) "c ")
-                  ((-2) (make-smaller-markup (make-bold-markup "2")))
-                  (else "bla")))))))))
+Desgraciadamente la estructura resulta ordenada porque está basada en
+algunas suposiciones excesivamente restrictivas.  Este extremo se hace
+aparente si tenemos en cuenta un ejemplo musical más complejo:
 
-\new Voice \relative c' {
-  \stemUp
-  \set autoBeaming = ##f
-  \time 2/4
-  <d f g>4
-  \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
-  \once \override NoteHead #'font-size = #-7
-  \once \override NoteHead #'font-family = #'sans
-  \once \override NoteHead #'font-series = #'bold
-  <d f g>4
-  \once \override NoteHead #'style = #'cross
-  <d f g>4
-  \applyOutput #'Voice #mc-squared
-  <d f g>4
-  <<
-    { d8[ es-( fis^^ g] fis2-) }
-    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
-  >>
+@lilypond[quote]
+\layout {
+  \context {
+    \Score
+    \remove "Timing_translator"
+    \remove "Default_bar_line_engraver"
+  }
+  \context {
+    \Staff
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+  }
 }
+
+\new PianoStaff <<
+  \new Staff = "RH" <<
+    \new Voice = "I" \relative c''' {
+      \time 3/4
+      \voiceOne
+      \tuplet 7/6 { g8 g g g g g g }
+      \oneVoice
+      r4 <b,, fis' g bes> r4\fermata
+    }
+    \new Voice = "II" \relative c' {
+      \voiceTwo
+      c4
+      \tuplet 5/4 {
+        <c ees>8 f g
+        \change Staff = "LH" \oneVoice
+        \stemUp g,( c}
+      r4
+      \override Stem.cross-staff = ##t
+      \override Stem.length = #12
+      <fis, b>) r\fermata
+    }
+  >>
+  \new Staff = "LH" <<
+    \new Voice = "III" \relative c' {
+      \time 2/4
+      \clef "bass"
+      g4 \stopStaff s
+      \startStaff s2*2
+    }
+  >>
+>>
 @end lilypond
 
+En este ejemplo, los pentagramas parecen iniciarse y terminar a
+capricho, las voces saltan de un pentagrama a otro, y las pautas
+tienen tipos de compás diferentes.  Muchos programas se las ven y se
+las desean para reproducir este ejemplo porque están construidos sobre
+la estructura de las cajas anidadas.  Con LilyPond, por el contrario,
+hemos tratado de conservar el formato del código de entrada y la
+estructura lo más flexibles posible.
 
 @node ¿Qué símbolos grabar?
-@unnumberedsec ¿Qué símbolos grabar?
+@unnumberedsubsec ¿Qué símbolos grabar?
 @translationof What symbols to engrave?
 
 @cindex grabado
@@ -1173,6 +1248,7 @@ las notas, el grabador @code{Note_heads_engraver}.
       \remove "Phrasing_slur_engraver"
       \remove "Slur_engraver"
       \remove "Script_engraver"
+      \remove "New_fingering_engraver"
       \remove "Beam_engraver"
       \remove "Auto_beam_engraver"
     }
@@ -1206,6 +1282,7 @@ A continuación, un grabador del pentagrama, el
       \remove "Phrasing_slur_engraver"
       \remove "Slur_engraver"
       \remove "Script_engraver"
+      \remove "New_fingering_engraver"
       \remove "Beam_engraver"
       \remove "Auto_beam_engraver"
     }
@@ -1238,6 +1315,7 @@ referencia para el pentagrama:
       \remove "Phrasing_slur_engraver"
       \remove "Slur_engraver"
       \remove "Script_engraver"
+      \remove "New_fingering_engraver"
       \remove "Beam_engraver"
       \remove "Auto_beam_engraver"
     }
@@ -1266,6 +1344,7 @@ y el grabador de las plicas @code{Stem_engraver} añade las plicas.
       \remove "Phrasing_slur_engraver"
       \remove "Slur_engraver"
       \remove "Script_engraver"
+      \remove "New_fingering_engraver"
       \remove "Beam_engraver"
       \remove "Auto_beam_engraver"
     }
@@ -1319,12 +1398,6 @@ similar, varios contextos de pentagrama se pueden reunir dentro de un
 único contexto de partitura.  El contexto de partitura es el contexto
 de notación del nivel más alto que hay.
 
-
-@seealso
-Referencia de funcionamiento interno:
-@rinternals{Contexts}.
-
-
 @lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 \score {
@@ -1335,113 +1408,160 @@ Referencia de funcionamiento interno:
 }
 @end lilypond
 
+@seealso
+Referencia de funcionamiento interno:
+@rinternals{Contexts}.
 
-@node Representación musical
-@unnumberedsec Representación musical
-@translationof Music representation
-
-@cindex sintaxis
-@cindex recursivas, estructuras
+@node Arquitectura flexible
+@unnumberedsubsec Arquitectura flexible
+@translationof Flexible architecture
 
-Idealmente, el formato de entrada de cualquier sistema de formateado
-de alto nivel es una descripción abstracta del contenido.  En este
-caso, eso sería la propia música.  Ello presenta un enorme problema:
-¿cómo podemos definir qué es la música realmente?  En lugar de buscar
-una respuesta, le hemos dado la vuelta a la pregunta.  Escribimos un
-programa capaz de producir música impresa, y luego ajustamos el
-formato de forma que sea lo más escueto posible.  Cuando el formato ya
-no se puede recortar más, por definición nos estamos quedando con el
-propio contenido.  Nuestro programa sirve como una definición formal
-de un documento musical.
+Al principio escribimos el programa LilyPond completamente en el
+lenguaje de programación C++; la funcionalidad del programa estaba
+grabada en piedra por parte de los desarrolladores.  Se comprobó que
+esto no era satisfactorio por unas cuantas razones:
 
-La sintaxis es también el interfaz de usuario de LilyPond, de aquí
-que sea tan fácil teclear:
+@itemize
 
-@example
-@{
-  c'4 d'8
-@}
-@end example
+@item Cuando LilyPond comete errores, los usuarios necesitan sobreescribir
+las decisiones de formateo.  Por tanto, el usuario debe tener acceso
+al motor de formateo.  De aquí que las reglas y los ajustes
+predeterminados no se puedan fijar por nuestra parte en el tiempo de
+compilación sino que deben estar accesibles para los usuarios en el
+tiempo de ejecución.
 
-@noindent
-para crear un Do central negra (Do 4) y un Re por encima del Do
-central, corchea (Re 4).
+@item El grabado musical es cuestión de juicio visual, y por tanto está en
+el terreno del buen gusto.  Por más entendidos que pretendamos ser,
+nuestros usuarios siempre podrían discrepar de nuestras decisiones
+personales.  Por ello, las definiciones del estilo tipográfico debe
+también ser accesible para el usuario.
 
-@lilypond[quote]
-{
-  c'4 d'8
-}
-@end lilypond
+@item Finalmente, nos encontramos refinando continuamente los algoritmos de
+formateo, por lo que necesitamos un enfoque flexible para las reglas.
+El lenguaje C++ fuerza un cierto método de agrupación de las reglas
+que no está preparado para aplicarse al formateo de la notación
+musical.
 
-A una escala microscópica, esta sintaxis es fácil de usar.  A una
-escala mayor, la sintaxis necesita también una estructura.  ¿De qué
-otra forma podríamos introducir piezas complejas como sinfonías u
-óperas?  La estructura se forma por medio del concepto de expresiones
-musicales: combinando pequeños fragmentos de música dentro de otros
-más grandes, se puede expresar una música más compleja.  Por ejemplo:
+@end itemize
 
-@lilypond[quote,verbatim,fragment,relative=1]
-f4
-@end lilypond
+@cindex Scheme, lenguaje de programación
 
-@noindent
-Las notas simultáneas se pueden construir encerrándolas dentro de
-@code{<<} y @code{>>}:
+Estos programas se han solucionado integrando un intérprete para el
+lenguaje de programación Scheme y reescribiendo partes de LilyPond en
+Scheme.  La arquitectura de formateo actual está construida alrededor
+de la noción de objetos gráficos, descritos por medio de variables y
+funciones de Scheme.  Esta arquitectura coordina las reglas de
+formateo, el estilo tipográfico y las decisiones de formateo
+individuales.  El usuario tiene acceso directo a la mayoría de esos
+controles.
 
-@example
-<<c4 d4 e4>>
-@end example
+Las variables de Scheme controlan las decisiones de disposición en la
+página.  Por ejemplo, muchos objetos gráficos tienen una variable de
+dirección que codifica la elección entre arriba y abajo (o izquierda y
+derecha).  A continuación vemos dos acordes, con acentos y símbolos de
+arpegio.  En el primer acorde, los objetos gráficos tienen todas las
+direcciones hacia abajo (o hacia la izquierda).  El segundo acorde
+tiene todas las direcciones hacia arriba (o hacia la derecha).
 
-@lilypond[quote,fragment,relative=1]
-\new Voice { <<c4 d4 e>> }
+@lilypond[quote,ragged-right]
+\score {
+  \relative c' {
+    \stemDown <e g b>4_>-\arpeggio
+    \override Arpeggio.direction = #RIGHT
+    \stemUp <e g b>4^>-\arpeggio
+  }
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner.spacing-increment = #3
+      \hide TimeSignature
+    }
+  }
+}
 @end lilypond
 
-@noindent
-La expresión se pone en secuencia encerrándola dentro de llaves
-@code{@{@tie{}@dots{}@tie{}@}}:
+@cindex partitura, formateo de
+@cindex formateo de una partitura
+@cindex formateo, reglas de
 
-@example
-@{ f4 <<c4 d4 e4>> @}
-@end example
+@noindent
+El proceso de dar formato a una partitura comprende la lectura y
+escritura de las variables de los objetos gráficos.  Algunas variables
+tienen un valor preestablecido.  Por ejemplo, el grosor de muchas
+líneas (una característica del estilo tipográfico) es una variable con
+un valor preestablecido. Somos libres de alterar este valor, dando a
+nuestra partitura una impresión tipográfica distinta.
 
-@lilypond[quote,relative=1,fragment]
-{ f4 <<c d e4>> }
+@lilypond[quote,ragged-right]
+fragment = {
+   \clef bass f8 as8
+   c'4-~ c'16 as g f e16 g bes c' des'4
+}
+<<
+   \new Staff \fragment
+   \new Staff \with {
+      \override Beam.beam-thickness = #0.3
+      \override Stem.thickness = #0.5
+      \override Bar.thickness = #3.6
+      \override Tie.thickness = #2.2
+      \override StaffSymbol.thickness = #3.0
+      \override Tie.extra-offset = #'(0 .  0.3)
+      }
+      \fragment
+>>
 @end lilypond
 
-@noindent
-Esto es también una expresión, y así se puede combinar de nuevo con
-otra expresión simultánea (una blanca) utilizando @code{<<}, @code{\\}
-y @code{>>}:
+Las reglas de formateado también son variables preestablecidas: cada
+objeto tiene variables que contienen procedimientos.  Estos
+procedimientos realizan el formateo propiamente dicho, y mediante la
+sustitución de unos u otros, podemos modificar el aspecto de los
+objetos.  En el ejemplo siguiente, la regla que gobierna qué objetos
+de cabeza se utilizan para producir el símbolo de la cabeza, se cambia
+a lo largo del fragmento musical.
 
-@example
-<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>
-@end example
+@lilypond[quote,ragged-right]
+#(set-global-staff-size 30)
 
-@lilypond[quote,fragment,relative=2]
-\new Voice { << g2 \\ { f4 <<c d e>> } >> }
-@end lilypond
+#(define (mc-squared grob orig current)
+  (let* ((interfaces (ly:grob-interfaces grob))
+         (pos (ly:grob-property grob 'staff-position)))
+    (if (memq 'note-head-interface interfaces)
+        (begin
+          (ly:grob-set-property! grob 'stencil
+            (grob-interpret-markup grob
+              (make-lower-markup 0.5
+                (case pos
+                  ((-5) "m")
+                  ((-3) "c ")
+                  ((-2) (make-smaller-markup (make-bold-markup "2")))
+                  (else "bla")))))))))
 
-Tales estructuras recursivas se pueden especificar limpia y
-formalmente dentro de una gramática independiente del contexto.  El
-código del analizador sintáctico también se genera a partir de esta
-gramática.  Dicho de otra forma, la sintaxis de LilyPond está definida
-claramente y sin ambigüedades.
+\new Voice \relative c' {
+  \stemUp
+  \set autoBeaming = ##f
+  \time 2/4
+  <d f g>4
+  \once \override NoteHead.stencil = #note-head::brew-ez-stencil
+  \once \override NoteHead.font-size = #-7
+  \once \override NoteHead.font-family = #'sans
+  \once \override NoteHead.font-series = #'bold
+  <d f g>4
+  \once \override NoteHead.style = #'cross
+  <d f g>4
+  \applyOutput #'Voice #mc-squared
+  <d f g>4
+  <<
+    { d8[ es-( fis^^ g] fis2-) }
+    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+  >>
+}
+@end lilypond
 
-Los interfaces de usuario y la sintaxis son aquello que la gente ve y
-con lo que trata más frecuentemente.  Son, en parte, cuestión de
-gusto, y también objeto de mucha discusión.  Aunque las discusiones
-sobre el gusto tienen su mérito, no son muy productivas.  Bajo el
-punto de vista más amplio de LilyPond, la importancia de la sintaxis
-de la entrada es pequeña: inventarse una sintaxis limpia es fácil,
-pero escribir un código de formatead que sea decente es mucho más
-difícil.  Esto queda ilustrado por la cantidad de líneas que están
-dedicadas a los componentes respectivos: el análisis sintáctico y la
-representación se llevan menos del 10% del código fuente.
 
 
-@node Aplicaciones de ejemplo
-@unnumberedsec Aplicaciones de ejemplo
-@translationof Example applications
+@node Poner a LilyPond a trabajar
+@section Poner a LilyPond a trabajar
+@translationof Putting LilyPond to work
 
 @cindex simple, ejemplos
 @cindex ejemplos simples
@@ -1479,7 +1599,7 @@ hoja guía de acordes.
 También puede imprimirse notación polifónica y música para piano.  El
 ejemplo siguiente combina unas pocas construcciones algo más exóticas.
 
-@lilypond[quote]
+@lilypond[quote,line-width=15.9\cm]
 \header {
   title = "Screech and boink"
   subtitle = "Random complex notation"
@@ -1492,7 +1612,7 @@ ejemplo siguiente combina unas pocas construcciones algo más exóticas.
       \time 4/8
       \key c \minor
       << {
-        \revert Stem #'direction
+        \revert Stem.direction
         \change Staff = down
         \set subdivideBeams = ##t
         g16.[
@@ -1509,7 +1629,7 @@ ejemplo siguiente combina unas pocas construcciones algo más exóticas.
         \set followVoice = ##t
         c'''32([ b''16 a''16 gis''16 g''32)]
       } \\ {
-        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+        s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
       } \\ {
         s4 \autoBeamOff d''8.. f''32
       } \\ {
@@ -1521,30 +1641,27 @@ ejemplo siguiente combina unas pocas construcciones algo más exóticas.
       \clef bass
       \key c \minor
       \set subdivideBeams = ##f
-      \override Stem  #'french-beaming = ##t
-      \override Beam  #'beam-thickness = #0.3
-      \override Stem  #'thickness = #4.0
+      \override Stem.french-beaming = ##t
+      \override Beam.beam-thickness = #0.3
+      \override Stem.thickness = #4.0
       g'16[ b16 fis16 g16]
       << \makeClusters {
         as16 <as b>
         <g b>
         <g cis>
       } \\ {
-        \override Staff.Arpeggio  #'arpeggio-direction =#down
+        \override Staff.Arpeggio.arpeggio-direction =#down
         <cis, e, gis, b, cis>4\arpeggio
       }
     >> }
   >>
   \midi {
-    \context {
-      \Score
-      tempoWholesPerMinute = #(ly:make-moment 60 8)
-    }
+    \tempo 8 = 60
   }
   \layout {
     \context {
       \Staff
-      \consists Horizontal_bracket_engraver
+      \consists "Horizontal_bracket_engraver"
     }
   }
 }
@@ -1558,23 +1675,28 @@ para convertir bases de datos de fragmentos musicales en imágenes
 orientadas a su utilización en páginas web y presentaciones
 multimedia.
 
-Este manual muestra también una aplicación: el formato de entrada es
-texto, y puede ser por tanto fácilmente empotrado dentro de otros
-formatos basados en texto como @LaTeX{}, HTML, o en el caso de este
-manual, Texinfo.  Por medio de un programa especial, los fragmentos de
-entrada se pueden reemplazar por imágenes de la música en los archivos
-de salida PDF o HTML resultantes.  De esta forma se hace fácil la
-mezcla de música y texto dentro de los documentos.
-
-
-@c TODO: add extra chapter for computer aesthetics?
+Este manual muestra también una aplicación: el formato de entrada
+es texto, y puede ser por tanto fácilmente empotrado dentro de
+otros formatos basados en texto como @LaTeX{}, HTML, o en el caso
+de este manual, Texinfo.  Utilizando el programa
+@command{lilypond-book}, que viene incluido con LilyPond, los
+fragmentos de entrada se pueden reemplazar por imágenes de la
+música en los archivos de salida PDF o HTML resultantes.  Otro
+ejemplo es la extensión (de terceras partes) OOoLilyPond para
+OpenOffice.org o LibreOffice, que hace de la inclusión de ejemplos
+musicales dentro de los documentos, una tarea extremadamente
+sencilla.
+
+Para ver más ejemplos de LilyPond en acción, la documentación
+completa, y el programa propiamente dicho, visite nuestra página
+principal: www.lilypond.org.
 
 @page
-@node Apéndice
-@unnumberedsec Apéndice
-@translationof Appendix
+@node Ejemplos de partituras (BWV 861)
+@section Ejemplos de partituras (BWV 861)
+@translationof Engraved examples (BWV 861)
 
-Este apéndice contiene cuatro grabados musicales de referencia y dos
+Esta sección contiene cuatro grabados musicales de referencia y dos
 versiones grabadas por ordenador de la fuga en Sol menor del libro I
 del Clave Bien Temperado, BWV 861, de Bach (los últimos siete
 compases).
@@ -1650,9 +1772,9 @@ partI = \relative c' {
   fis8 d' ees g, fis4 g
   r8 a16 bes c8 bes16 a d8 r r4
   r2 r8 d16 ees f8 ees16 d
-  ees4 ~ ees16 d c bes a4 r8 ees'16 d
+  ees4 ~ 16 d c bes a4 r8 ees'16 d
   c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
-  a8 d, g f ees d c bes
+  8 d, g f ees d c bes
   a2 g\fermata \bar "|."
 }
 
@@ -1661,7 +1783,7 @@ partII = \relative c' {
   d4 r4 r8 d'16 c bes8 c16 d
   ees8 d c ees a, r r4
   r8 fis16 g a8 g16 fis g2 ~
-  g2 r8 d' ees g,
+  2 r8 d' ees g,
   fis4 g r8 a16 bes c8 bes16 a
   bes4. <g b>8 <a c> r <d, g> r
   <ees g>4 <d fis> d2
@@ -1669,7 +1791,7 @@ partII = \relative c' {
 partIII = \relative c' {
   \voiceOne
   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
-  bes2 ~ bes8 b16 a g8 a16 b
+  bes2 ~ 8 b16 a g8 a16 b
   c4 r r2
   R1
   r8 d ees g, fis4 g
@@ -1680,7 +1802,7 @@ partIV = \relative c {
   d4 r r2
   r8 d ees g, fis4 a
   d,8 d'16 c bes8 c16 d ees2 ~
-  ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
+  8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
   d,8 d'16 c bes8 c16 d ees8 c a fis'
   g f ees d c bes a g
   c a d d, g2\fermata
@@ -1714,7 +1836,7 @@ partIV = \relative c {
     }
     \context {
       \PianoStaff
-      \override StaffGrouper #'between-staff-spacing #'padding = #1
+      \override StaffGrouper.staff-staff-spacing.padding = #1
     }
   }
 }