]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Thu, 28 Jan 2010 08:23:18 +0000 (09:23 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Thu, 28 Jan 2010 08:23:18 +0000 (09:23 +0100)
Conflicts:
Documentation/es/notation.tely

42 files changed:
Documentation/contributor/doc-work.itexi
Documentation/de/web/community.itexi
Documentation/de/web/download.itexi
Documentation/de/web/introduction.itexi
Documentation/es/extending/programming-interface.itely [new file with mode: 0644]
Documentation/es/extending/scheme-tutorial.itely [new file with mode: 0644]
Documentation/es/learning/common-notation.itely [new file with mode: 0644]
Documentation/es/learning/scheme-tutorial.itely [deleted file]
Documentation/es/learning/templates.itely
Documentation/es/notation.tely
Documentation/es/notation/ancient.itely
Documentation/es/notation/changing-defaults.itely
Documentation/es/notation/cheatsheet.itely
Documentation/es/notation/chords.itely
Documentation/es/notation/contemporary.itely [new file with mode: 0644]
Documentation/es/notation/editorial.itely
Documentation/es/notation/expressive.itely
Documentation/es/notation/fretted-strings.itely
Documentation/es/notation/input.itely
Documentation/es/notation/keyboards.itely
Documentation/es/notation/literature.itely
Documentation/es/notation/notation-appendices.itely
Documentation/es/notation/percussion.itely
Documentation/es/notation/pitches.itely
Documentation/es/notation/programming-interface.itely [deleted file]
Documentation/es/notation/repeats.itely
Documentation/es/notation/rhythms.itely
Documentation/es/notation/simultaneous.itely
Documentation/es/notation/spacing.itely
Documentation/es/notation/specialist.itely
Documentation/es/notation/staff.itely
Documentation/es/notation/unfretted-strings.itely
Documentation/es/web.texi
Documentation/es/web/community.itexi
Documentation/es/web/manuals.itexi
Documentation/fr/macros.itexi
Documentation/fr/web.texi
Documentation/fr/web/introduction.itexi
Documentation/fr/web/manuals.itexi
Documentation/notation/changing-defaults.itely
Documentation/notation/expressive.itely
Documentation/web/download.itexi

index 83f11922af723db49bfe23ee12d8fe3c6a38b6cc..968715627e4dae78e542ebb7d9af68b8ac5f4523 100644 (file)
@@ -1326,14 +1326,13 @@ should at least write the node definition (that is, the @code{@@node
 @@@var{section_commmand} @@translationof} trio mentioned above) in the
 expected source file and define all its parent nodes; for each node you
 have defined this way but have not translated, insert a line that
-contains @code{@@untranslated} and append @code{ @@c external} to the
-line that contains @code{@@translationof}. That is, you should end up
+contains @code{@@untranslated}. That is, you should end up
 for each untranslated node with something like
 
 @example
 @@node @var{translation of Foo bar}
 @@@var{section_command} @var{translation of Bar baz}
-@@translationof Foo bar @@c external
+@@translationof Foo bar
 
 @@untranslated
 @end example
index a9f61b9a0408cd10739842cb7c779f798992c0a6..ad94c26fdc5fd103a63b2cbd4dbb717ed34789e9 100644 (file)
@@ -420,6 +420,8 @@ Sie einen Google-Account haben.
 
 @untranslated
 
+@ignore
+
 @divClass{column-center-top}
 @subheading Wir brauchen Sie!
 
@@ -553,6 +555,8 @@ GOP is our big recruiting drive for new contributors.
 
 @divEnd
 
+@end ignore
+
 
 @ignore
 @divClass{column-center-bottom}
@@ -564,11 +568,13 @@ GOP is our big recruiting drive for new contributors.
 
 
 
-@node Development
-@unnumberedsec Development
+@node Entwicklung
+@unnumberedsec Entwicklung
+@translationof Development
 
 @untranslated
 
+@ignore
 
 @divClass{heading-center}
 @heading Development materials for LilyPond 2.13.3
@@ -582,9 +588,12 @@ GOP is our big recruiting drive for new contributors.
 @subheading Contributor's Guide
 @divEnd
 
+@end ignore
+
 
-@node Authors
-@unnumberedsec Authors 
+@node Autoren
+@unnumberedsec Autoren
+@translationof Authors
 
 @untranslated
 
index 89d1827358d2e1e73b021aeb9a7df1bf0af20732..029d296e31aaa6556a41e337639a006539206907 100644 (file)
@@ -15,6 +15,7 @@ Sie bitte über unsere @ref{Text-Eingabe}.}
 
 @node Download
 @unnumbered Download
+@translationof Download
 
 @divClass{heading-center}
 @ifclear web_version
index 61260b84f9525a33f3f792e0039681b61a26fbb9..e5d3c58a6f45f1bd4e93c0d3feb93e857dc32faa 100644 (file)
@@ -73,14 +73,14 @@ Unser Programm tut genau das: es setzt Noten nach den besten Traditionen des kla
 @c menu. -JM
 @divClass{hide}
 @menu
-* Features::                    What can LilyPond do?
-* Examples::                    I want to see some music!
-* Freedom::                     Freedom and the GPL.
-* Background::                  Computational aesthetics.
-* Productions::                 Real-life use of LilyPond.
-* Testimonials::                What do people say about it?
-* Text input::                  You write music as text?!
-* Easier editing::             Other ways of working with LilyPond.
+* Eigenschaften::                    What can LilyPond do?
+* Beispiele::                    I want to see some music!
+* Freiheit::                     Freedom and the GPL.
+* Hintergrund::                  Computational aesthetics.
+* Produktionen::                 Real-life use of LilyPond.
+* Empfehlungen::                What do people say about it?
+* Text-Eingabe::                  You write music as text?!
+* Leichteres Editieren::             Other ways of working with LilyPond.
 @end menu
 @divEnd
 
@@ -588,8 +588,9 @@ haben, LilyPond auszuprobieren, lesen zuerst über unsere
 @c TRANSLATORS, so far it's mostly from
 @c http://lilypond.org/web/switch/testimonials
 
-@node Testimonials
-@unnumberedsec Testimonials
+@node Empfehlungen
+@unnumberedsec Empfehlungen
+@translationof Testimonials
 
 @divClass{testimonial-item}
 @imageFloat{carter-brey,jpg, right}
@@ -678,7 +679,7 @@ dem auch nur nahe kommen kann.}
 @divClass{testimonial-item}
 @subsubheading David Bobroff, Bassposaunist, Iceland Symphonieorchester
 
-@qq{IIch finde LilyPond einfach toll [..]  Je mehr ich darüber lerne,
+@qq{Ich finde LilyPond einfach toll [..]  Je mehr ich darüber lerne,
 desto mehr mag ich es!}
 @divEnd
 
@@ -690,7 +691,7 @@ desto mehr mag ich es!}
 
 @qq{DAS IST DAS BESTE PROGRAMM ALLER ZEITEN!!!}
 
-@qq{Vielen, vielen Dank an euch alle f&uuml;r die harte Arbeit und die Hingabe!}
+@qq{Vielen, vielen Dank an euch alle für die harte Arbeit und die Hingabe!}
 @divEnd
 
 
@@ -923,7 +924,7 @@ point-and-click.
 Frescobaldi ist ein eigener Musik- und Texteditor für LilyPond
 mit eingebauter PDF-Vorschau, einer vielseitigen Hilfe zum
 Erstellen neuer Partituren und vielen Editionseigenschaften.
-Er ist auf Grundlage der KDE4-Büchereien programmiert und läuft
+Er ist auf Grundlage der KDE4-Bibliotheken programmiert und läuft
 zur Zeit auf allen Arten von Linux-Systemen und anderen
 UNIX-artigen Betriebssystemen.
 
diff --git a/Documentation/es/extending/programming-interface.itely b/Documentation/es/extending/programming-interface.itely
new file mode 100644 (file)
index 0000000..db86c8c
--- /dev/null
@@ -0,0 +1,1569 @@
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+
+@ignore
+    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+
+    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.12.0"
+
+@node Interfaces para programadores
+@chapter Interfaces para programadores
+@translationof Interfaces for programmers
+
+Se pueden realizar trucos avanzados mediante el uso de Scheme.  Si no
+está familiarizado con Scheme, le conviene leer nuestro tutorial de
+Scheme, @rlearning{Tutorial de Scheme}.
+
+@menu
+* Funciones musicales::
+* Interfaces para el programador::
+* Construcción de funciones complejas::
+* Interfaz de marcado para el programador::
+* Contextos para programadores::
+* Procedimientos de Scheme como propiedades::
+* Usar código de Scheme en lugar de \tweak::
+* Trucos difíciles::
+@end menu
+
+
+@node Funciones musicales
+@section Funciones musicales
+@translationof Music functions
+
+Esta sección trata sobre cómo crear funciones musicales dentro de
+LilyPond.
+
+@menu
+* Panorámica de las funciones musicales::
+* Funciones de sustitución sencillas::
+* Funciones de sustitutión en parejas::
+* Matemáticas dentro de las funciones::
+* Funciones vacías::
+* Funciones sin argumentos::
+* Pranorámica de las funciones musicales disponibles::
+@end menu
+
+@node Panorámica de las funciones musicales
+@subsection Panorámica de las funciones musicales
+@translationof Overview of music functions
+
+Es fácil hacer una función que sustituya a una variable en código de
+LilyPond.  La forma general de estas funciones es:
+
+@example
+function =
+#(define-music-function (parser location @var{var1} @var{var2}...@var{vari}... )
+                        (@var{var1-type?} @var{var2-type?}...@var{vari-type?}...)
+  #@{
+    @emph{...música...}
+  #@})
+@end example
+
+@noindent
+donde
+
+@multitable @columnfractions .33 .66
+@item @var{vari}         @tab @var{i}-ésima variable
+@item @var{vari-type?}   @tab tipo de la @var{i}-ésima variable
+@item @var{...música...}  @tab entrada normal de LilyPond, usando las variables como @code{#$var1}, etc.
+@end multitable
+
+Los siguientes tipos de entrada se pueden usar como variables en una
+función musical.  Esta lista no es exhaustiva; consulte otros lugares
+de la documentación específica de Scheme para ver otros tipos de
+variables.
+
+@multitable @columnfractions .33 .66
+@headitem Tipo de entrada       @tab notación de @var{vari-type?}
+@item Entero                    @tab @code{integer?}
+@item Flotante (número decimal) @tab @code{number?}
+@item Cadena de texto           @tab @code{string?}
+@item Marcado                   @tab @code{markup?}
+@item Expresión musical         @tab @code{ly:music?}
+@item Pareja de variables          @tab @code{pair?}
+@end multitable
+
+Los argumentos @code{parser} y @code{location} son obligatorios, y se
+usan en ciertas situaciones avanzadas.  El argumento @code{parser} se
+usa para tener acceso al valor de otra variable de LilyPond.  El
+argumento @code{location} se usa para establecer el @q{origen} de la
+expresión musical que construye la función musical, de forma que en
+caso de producirse un error de sintaxis LilyPond pueda informar al
+usuario de un lugar adecuado donde buscar en el archivo de entrada.
+
+
+@node Funciones de sustitución sencillas
+@subsection Funciones de sustitución sencillas
+@translationof Simple substitution functions
+
+He aquí un ejemplo sencillo:
+
+@lilypond[quote,verbatim,ragged-right]
+padText = #(define-music-function (parser location padding) (number?)
+  #{
+    \once \override TextScript #'padding = #$padding
+  #})
+
+\relative c''' {
+  c4^"piu mosso" b a b
+  \padText #1.8
+  c4^"piu mosso" d e f
+  \padText #2.6
+  c4^"piu mosso" fis a g
+}
+@end lilypond
+
+También se pueden sustituir las expresiones musicales:
+
+@lilypond[quote,verbatim,ragged-right]
+custosNote = #(define-music-function (parser location note)
+                                     (ly:music?)
+  #{
+    \once \override Voice.NoteHead #'stencil =
+      #ly:text-interface::print
+    \once \override Voice.NoteHead #'text =
+      \markup \musicglyph #"custodes.mensural.u0"
+    \once \override Voice.Stem #'stencil = ##f
+    $note
+  #})
+
+{ c' d' e' f' \custosNote g' }
+@end lilypond
+
+Se puede usar más de una variable:
+
+@lilypond[quote,verbatim,ragged-right]
+tempoPadded = #(define-music-function (parser location padding tempotext)
+  (number? string?)
+#{
+  \once \override Score.MetronomeMark #'padding = $padding
+  \tempo \markup { \bold $tempotext }
+#})
+
+\relative c'' {
+  \tempo \markup { "Low tempo" }
+  c4 d e f g1
+  \tempoPadded #4.0 #"High tempo"
+  g4 f e d c1
+}
+@end lilypond
+
+
+@node Funciones de sustitutión en parejas
+@subsection Funciones de sustitutión en parejas
+@translationof Paired substitution functions
+
+Algunas instrucciones @code{\override} requieren un par de números
+(llamados en Scheme una @code{célula cons}).  Para pasar estos números
+a una función, usamos una variable @code{pair?} o bien insertamos el
+@code{cons} en la función musical.
+
+@quotation
+@example
+manualBeam =
+#(define-music-function (parser location beg-end)
+                        (pair?)
+#@{
+  \once \override Beam #'positions = #$beg-end
+#@})
+
+\relative @{
+  \manualBeam #'(3 . 6) c8 d e f
+@}
+@end example
+@end quotation
+
+@noindent
+o bien
+
+@lilypond[quote,verbatim,ragged-right]
+manualBeam =
+#(define-music-function (parser location beg end)
+                        (number? number?)
+#{
+  \once \override Beam #'positions = #(cons $beg $end)
+#})
+
+\relative {
+  \manualBeam #3 #6 c8 d e f
+}
+@end lilypond
+
+
+@node Matemáticas dentro de las funciones
+@subsection Matemáticas dentro de las funciones
+@translationof Mathematics in functions
+
+Las funciones musicales pueden contar con programación de Scheme
+además de la simple sustitución:
+
+@lilypond[quote,verbatim,ragged-right]
+AltOn = #(define-music-function (parser location mag) (number?)
+  #{ \override Stem #'length = #$(* 7.0 mag)
+     \override NoteHead #'font-size =
+       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #})
+
+AltOff = {
+  \revert Stem #'length
+  \revert NoteHead #'font-size
+}
+
+{ c'2 \AltOn #0.5 c'4 c'
+  \AltOn #1.5 c' c' \AltOff c'2 }
+@end lilypond
+
+@noindent
+Este ejemplo se puede reescribir de forma que pase expresiones
+musicales:
+
+@lilypond[quote,verbatim,ragged-right]
+withAlt = #(define-music-function (parser location mag music) (number? ly:music?)
+  #{ \override Stem #'length = #$(* 7.0 mag)
+     \override NoteHead #'font-size =
+       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
+     $music
+     \revert Stem #'length
+     \revert NoteHead #'font-size #})
+
+{ c'2 \withAlt #0.5 {c'4 c'}
+  \withAlt #1.5 {c' c'} c'2 }
+@end lilypond
+
+
+@node Funciones vacías
+@subsection Funciones vacías
+@translationof Void functions
+
+Una función musical debe devolver una expresión musical, pero a veces
+podemos necesitar una función en la que no hay música en juego (como
+la desactivación de la funcionalidad Apuntar y Pulsar).  Para hacerlo,
+devolvemos una expresión musical @code{void} (vacía).
+
+Este es el motivo por el que la forma que se devuelve es
+@code{(make-music ...)}.  Con el valor de la propiedad @code{'void}
+establecido a @code{#t}, le decimos al analizador que descarte la
+expresión musical devuelta.  así, la parte importante de la función
+musical vacía es el proceso realizado por la función, no la expresión
+musical que se devuelve.
+
+@example
+noPointAndClick =
+#(define-music-function (parser location) ()
+   (ly:set-option 'point-and-click #f)
+   (make-music 'SequentialMusic 'void #t))
+...
+\noPointAndClick   % desactivar la funcionalidad Apuntar y Pulsar.
+@end example
+
+
+@node Funciones sin argumentos
+@subsection Funciones sin argumentos
+@translationof Functions without arguments
+
+En casi todos los casos, una función sin argumentos se debe escribir
+con una variable:
+
+@example
+dolce = \markup@{ \italic \bold dolce @}
+@end example
+
+Sin embargo, en raras ocasiones puede ser de utilidad crear una
+función musical sin argumentos:
+
+@example
+displayBarNum =
+#(define-music-function (parser location) ()
+   (if (eq? #t (ly:get-option 'display-bar-numbers))
+       #@{ \once \override Score.BarNumber #'break-visibility = ##f #@}
+       #@{#@}))
+@end example
+
+Para la impresión real de los números de compás donde se llama a esta
+función, invoque a @command{lilypond} con
+
+@example
+lilypond -d display-bar-numbers ARCHIVO.ly
+@end example
+
+
+@node Pranorámica de las funciones musicales disponibles
+@subsection Pranorámica de las funciones musicales disponibles
+@translationof Overview of available music functions
+
+@c fixme ; this should be move somewhere else?
+Las siguientes instrucciones son funciones musicales:
+
+@include identifiers.tely
+
+
+@node Interfaces para el programador
+@section Interfaces para el programador
+@translationof Programmer interfaces
+
+Esta sección contiene información sobre cómo mezclar LilyPond y
+Scheme.
+
+@menu
+* Variables de entrada y Scheme::
+* Representación interna de la música::
+@end menu
+
+@node Variables de entrada y Scheme
+@subsection Variables de entrada y Scheme
+@translationof Input variables and Scheme
+
+El formato de entrada contempla la noción de variables: en el ejemplo
+siguiente, se asigna una expresión musical a una variable con el
+nombre @code{traLaLa}.
+
+@example
+traLaLa = @{ c'4 d'4 @}
+@end example
+
+@noindent
+
+También existe una forma de ámbito léxico: en el ejemplo siguiente, el
+bloque @code{\layout} también contiene una variable @code{traLaLa},
+que es independiente de la @code{\traLaLa} exterior.
+
+@example
+traLaLa = @{ c'4 d'4 @}
+\layout @{ traLaLa = 1.0 @}
+@end example
+@c
+De hecho, cada archivo de entrada es un ámbito léxico, y todos los
+bloques @code{\header}, @code{\midi} y @code{\layout} son ámbitos
+anidados dentro de dicho ámbito de nivel superior.
+
+Tanto el ámbito léxico como las variables están implementados en el
+sistema de módulos GUILE.  Se adjunta un módulo anónimo de Scheme a
+cada ámbito.  Una asignación de la forma
+@example
+traLaLa = @{ c'4 d'4 @}
+@end example
+
+@noindent
+se convierte internamente a una definición de Scheme
+@example
+(define traLaLa @var{Scheme value of `@code{... }'})
+@end example
+
+Esto supone que las variables de entrada y las variables de Scheme se
+pueden entremezclar con libertad.  En el ejemplo siguiente, se
+almacena un fragmento musical en la variable @code{traLaLa}, y se
+duplica utilizando Scheme.  El resultado se importa en un bloque
+@code{\score} por medio de una segunda variable @code{twice}:
+
+@lilypond[verbatim]
+traLaLa = { c'4 d'4 }
+
+%% dummy action to deal with parser lookahead
+#(display "this needs to be here, sorry!")
+
+#(define newLa (map ly:music-deep-copy
+  (list traLaLa traLaLa)))
+#(define twice
+  (make-sequential-music newLa))
+
+{ \twice }
+@end lilypond
+
+@c Due to parser lookahead
+
+En este ejemplo, la asignación se produce después de que el analizador
+sintáctico ha verificado que no ocurre nada interesante después de
+@code{traLaLa = @{ ... @}}.  Sin el argumento mudo del ejemplo, la
+definición @code{newLa} se ejecuta antes de que se defina
+@code{traLaLa}, conduciendo a un error de sintaxis.
+
+El ejemplo anterior muestra cómo @q{exportar} expresiones musicales
+desde la entrada hasta el intérprete de Scheme.  También es posible lo
+contrario.  Envolviendo un valor de Scheme en la función
+@code{ly:export}, un valor de Scheme se interpreta como si hubiera
+sido introducido en sintaxis de LilyPond.  En vez de definir
+@code{\twice}, el ejemplo anterior podría también haberse escrito como
+
+@example
+...
+@{ #(ly:export (make-sequential-music (list newLa))) @}
+@end example
+
+El código de Scheme se evalúa tan pronto como el analizador sintáctico
+lo encuentra.  Para definir código de Scheme en un macro (para
+llamarlo con posterioridad), use @ref{Funciones vacías}, o bien
+
+@example
+#(define (nopc)
+  (ly:set-option 'point-and-click #f))
+
+...
+#(nopc)
+@{ c'4 @}
+@end example
+
+@knownissues
+
+No es posible mezclar variables de Scheme y de LilyPond con la opción
+@code{--safe}.
+
+
+@node Representación interna de la música
+@subsection Representación interna de la música
+@translationof Internal music representation
+
+Cuando se analiza sintácticamente una expresión musical, se convierte
+en un conjunto de objetos musicales de Scheme.  La propiedad que
+define a un objeto musical es que tiene una cierta duración.  El
+tiempo es un número racional que mide la longitud de un fragmento de
+música en unidades del valor de una redonda.
+
+Un objeto musical tiene tres clases de tipos:
+@itemize
+@item
+nombre musical: cada expresión musical tiene un nombre.  Por ejemplo,
+una nota conduce a un evento @rinternals{NoteEvent}, y
+@code{\simultaneous} conduce a @rinternals{SimultaneousMusic}.  Hay
+una lista de todas las expresiones que están disponibles en el Manual
+de referencia de funcionamiento interno, bajo @rinternals{Music
+expressions}.
+
+@item
+@q{tipo} o interface: cada nombre de música tiene varios @q{tipos} o
+interfaces, por ejemplo una nota es un @code{event}, pero también es
+un @code{note-event}, un @code{rhythmic-event} y un
+@code{melodic-event}.  Todas las clases musicales se encuentran
+relacionadas en la Referencia de funcionamiento interno bajo
+@rinternals{Music classes}.
+
+@item
+Objeto de C++: cada objeto musical está representado por un objeto de
+la clase de C++ @code{Music}.
+@end itemize
+
+La información real de una expresión musical se almacena en forma de
+propiedades.  Por ejemplo, un evento @rinternals{NoteEvent} tiene
+propiedades @code{pitch} y @code{duration} que almacenan la altura y
+duración de la nota.  Hay una lista completa de las propiedades que
+están disponibles en la Referencia de funcionamiento interno, bajo
+@rinternals{Music properties}.
+
+Una expresión musical compuesta es un objeto musical que contiene
+otros objetos musicales en sus propiedades.  Se puede almacenar una
+lista de objetos en la propiedad @code{elements} de un objeto musical,
+o un solo objeto musical @q{hijo} en la propiedad @code{element}.  Por
+ejemplo, @rinternals{SequentialMusic} tiene sus hijos en
+@code{elements}, y @rinternals{GraceMusic} tiene su elemento único en
+@code{element}.  El cuerpo de una repetición se almacena en la
+propiedad @code{element} de @rinternals{RepeatedMusic}, y las
+alternativas en @code{elements}.
+
+
+@node Construcción de funciones complejas
+@section Construcción de funciones complejas
+@translationof Building complicated functions
+
+Esta sección explica cómo reunir la información necesaria para crear
+funciones musicales complejas.
+
+
+@menu
+* Presentación de expresiones musicales::
+* Propiedades de la música::
+* Doblar una nota con ligaduras (ejemplo)::
+* Añadir articulación a las notas (ejemplo)::
+@end menu
+
+@node Presentación de expresiones musicales
+@subsection Presentación de expresiones musicales
+@translationof Displaying music expressions
+
+@cindex interno, almacenamiento
+@cindex mostrar expresiones musicales
+@cindex interna, representación, mostrar
+
+@funindex \displayMusic
+
+Si se está escribiendo una función musical puede ser muy instructivo
+examinar cómo se almacena internamente una expresión musical.  Esto se
+puede hacer con la función musical @code{\displayMusic}:
+
+@example
+@{
+  \displayMusic @{ c'4\f @}
+@}
+@end example
+
+@noindent
+imprime lo siguiente:
+
+@example
+(make-music
+  'SequentialMusic
+  'elements
+  (list (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 0 0))
+                (make-music
+                  'AbsoluteDynamicEvent
+                  'text
+                  "f")))))
+@end example
+
+De forma predeterminada, LilyPond imprime estos mensajes en la consola
+junto al resto de los mensajes.  Para discernir entre estos mensajes y
+guardar el resultado de @code{\display@{MATERIAL@}}, redirija la
+salida hacia un archivo.
+
+@example
+lilypond archivo.ly >resultado.txt
+@end example
+
+Con la aplicación de un poco de formato, la información anterior es
+fácil de leer:
+
+@example
+(make-music 'SequentialMusic
+  'elements (list (make-music 'EventChord
+                    'elements (list (make-music 'NoteEvent
+                                      'duration (ly:make-duration 2 0 1 1)
+                                      'pitch (ly:make-pitch 0 0 0))
+                                    (make-music 'AbsoluteDynamicEvent
+                                      'text "f")))))
+@end example
+
+Una secuencia musical @code{@{ ... @}} tiene el nombre
+@code{SequentialMusic}, y sus expresiones internas se almacenan como
+una lista en su propiedad @code{'elements}.  Una nota se representa
+como una expresión @code{EventChord} que contiene un objeto
+@code{NoteEvent} (que almacena las propiedades de duración y altura) y
+cualquier otra información adicional (en este caso, un evento
+@code{AbsoluteDynamicEvent} con una propiedad de texto @code{"f"}.
+
+
+@node Propiedades de la música
+@subsection Propiedades de la música
+@translationof Music properties
+
+El objeto @code{NoteEvent} es el primer objeto de la propiedad
+@code{'elements} de @code{someNote}.
+
+@example
+unaNota = c'
+\displayMusic \unaNota
+===>
+(make-music
+  'EventChord
+  'elements
+  (list (make-music
+          'NoteEvent
+          'duration
+          (ly:make-duration 2 0 1 1)
+          'pitch
+          (ly:make-pitch 0 0 0))))
+@end example
+
+La función @code{display-scheme-music} es la función utilizada por
+@code{\displayMusic} para imprimir la representación de Scheme de una
+expresión musical.
+
+@example
+#(display-scheme-music (first (ly:music-property unaNota 'elements)))
+===>
+(make-music
+  'NoteEvent
+  'duration
+  (ly:make-duration 2 0 1 1)
+  'pitch
+  (ly:make-pitch 0 0 0))
+@end example
+
+Después se accede a la altura de la nota a través de la propiedad
+@code{'pitch} del objeto @code{NoteEvent}:
+
+@example
+#(display-scheme-music
+   (ly:music-property (first (ly:music-property unaNota 'elements))
+                      'pitch))
+===>
+(ly:make-pitch 0 0 0)
+@end example
+
+La altura de la nota se puede cambiar estableciendo el valor de esta
+propiedad 'pitch:
+
+@funindex \displayLilyMusic
+
+@example
+#(set! (ly:music-property (first (ly:music-property unaNota 'elements))
+                          'pitch)
+       (ly:make-pitch 0 1 0)) ;; fijar la altura a d'.
+\displayLilyMusic \unaNota
+===>
+d'
+@end example
+
+
+@node Doblar una nota con ligaduras (ejemplo)
+@subsection Doblar una nota con ligaduras (ejemplo)
+@translationof Doubling a note with slurs (example)
+
+Supongamos que queremos crear una función que traduce una entrada como
+@code{a} a algo como @code{a( a)}.  Empezamos examinando la
+representación interna de la música con la que queremos terminar.
+
+@example
+\displayMusic@{ a'( a') @}
+===>
+(make-music
+  'SequentialMusic
+  'elements
+  (list (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 5 0))
+                (make-music
+                  'SlurEvent
+                  'span-direction
+                  -1)))
+        (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 5 0))
+                (make-music
+                  'SlurEvent
+                  'span-direction
+                  1)))))
+@end example
+
+Las malas noticias son que las expresiones @code{SlurEvent} se deben
+añadir @q{dentro} de la nota (o más concretamente, dentro de la
+expresión @code{EventChord}).
+
+Ahora observamos la entrada:
+
+@example
+(make-music
+  'SequentialMusic
+  'elements
+  (list (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 5 0))))))
+@end example
+
+Así pues, en nuestra función, tenemos que clonar esta expresión (de
+forma que tengamos dos notas para construir la secuencia), añadir
+@code{SlurEvents} a la propiedad @code{'elements} de cada una de
+ellas, y por último hacer una secuencia @code{SequentialMusic} con los
+dos @code{EventChords}.
+
+@example
+doubleSlur = #(define-music-function (parser location note) (ly:music?)
+         "Return: @{ note ( note ) @}.
+         `note' is supposed to be an EventChord."
+         (let ((note2 (ly:music-deep-copy note)))
+           (set! (ly:music-property note 'elements)
+                 (cons (make-music 'SlurEvent 'span-direction -1)
+                       (ly:music-property note 'elements)))
+           (set! (ly:music-property note2 'elements)
+                 (cons (make-music 'SlurEvent 'span-direction 1)
+                       (ly:music-property note2 'elements)))
+           (make-music 'SequentialMusic 'elements (list note note2))))
+@end example
+
+
+@node Añadir articulación a las notas (ejemplo)
+@subsection Añadir articulación a las notas (ejemplo)
+@translationof Adding articulation to notes (example)
+
+La manera fácil de añadir articulación a las notas es fundir dos
+expresiones musicales en un contexto único, como está explicado en
+@ref{Crear contextos}.  Sin embargo, suponga que queremos escribir
+una función musical que haga esto.
+
+Una @code{$variable} dentro de la notación @code{#@{...#@}} es como
+usar una @code{\variable} normal en la notación clásica de LilyPond.
+Sabemos que
+
+@example
+@{ \musica -. -> @}
+@end example
+
+@noindent
+no funciona en LilyPond.  Podemos evitar este problema adjuntando la
+articulación a una nota de mentira,
+
+@example
+@{ << \musica s1*0-.-> @}
+@end example
+
+@noindent
+pero a los efectos de este ejemplo, aprenderemos ahora cómo hacerlo en
+Scheme.  Comenzamos examinando nuestra entrada y la salida deseada:
+
+@example
+%  entrada
+\displayMusic c4
+===>
+(make-music
+  'EventChord
+  'elements
+  (list (make-music
+          'NoteEvent
+          'duration
+          (ly:make-duration 2 0 1 1)
+          'pitch
+          (ly:make-pitch -1 0 0))))
+=====
+%  salida deseada
+\displayMusic c4->
+===>
+(make-music
+  'EventChord
+  'elements
+  (list (make-music
+          'NoteEvent
+          'duration
+          (ly:make-duration 2 0 1 1)
+          'pitch
+          (ly:make-pitch -1 0 0))
+        (make-music
+          'ArticulationEvent
+          'articulation-type
+          "marcato")))
+@end example
+
+Vemos que una nota (@code{c4}) se representa como una expresión
+@code{EventChord}, con una expresión @code{NoteEvent} en su lista de
+elementos.  Para añadir una articulación marcato, se debe añadir una
+expresión @code{ArticulationEvent} a la propiedad elementos de la
+expresión @code{EventChord}.
+
+Para construir esta función, empezamos con
+
+@example
+(define (add-marcato event-chord)
+  "Añadir una ArticulationEvent de marcato a los elementos de `event-chord',
+  que se supone que es una expresión EventChord."
+  (let ((result-event-chord (ly:music-deep-copy event-chord)))
+    (set! (ly:music-property result-event-chord 'elements)
+          (cons (make-music 'ArticulationEvent
+                  'articulation-type "marcato")
+                (ly:music-property result-event-chord 'elements)))
+    result-event-chord))
+@end example
+
+La primera línea es la forma de definir una función en Scheme: el
+nombre de la función es @code{add-marcato}, y tiene una variable
+llamada @code{event-chord}.  En Scheme, el tipo de variable suele
+quedar claro a partir de su nombre (¡esto también es una buena
+práctica en otros lenguajes de programación!).
+
+@example
+"Añadir una ArticulationEvent de marcato..."
+@end example
+
+@noindent
+es una descripción de lo que hace la función.  No es estrictamente
+necesario, pero como los nombres de variable claros, es una buena
+práctica.
+
+@example
+(let ((result-event-chord (ly:music-deep-copy event-chord)))
+@end example
+
+@code{let} se usa para declarar variables locales.  Aquí usamos una
+variable local, llamada @code{result-event-chord}, a la que le damos
+el valor @code{(ly:music-deep-copy event-chord)}.
+@code{ly:music-deep-copy} es una función específica de LilyPond, como
+todas las funciones que comienzan por @code{ly:}.  Se usa para hacer
+una copia de una expresión musical.  Aquí, copiamos @code{event-chord}
+(el parámetro de la función).  Recuerde que el propósito es añadir un
+marcato a una expresión @code{EventChord}.  Es mejor no modificar el
+@code{EventChord} que se dio como argumento, porque podría utilizarse
+en algún otro lugar.
+
+Ahora tenemos un @code{result-event-chord}, que es una expresión
+@code{NoteEventChord} y es una copia de @code{event-chord}.  Añadimos
+el marcato a su propiedad lista de elementos.
+
+@example
+(set! lugar valor-nuevo)
+@end example
+
+Aquí, lo que queremos establecer (el @q{lugar}) es la propiedad
+@q{elements} de la expresión @code{result-event-chord}.
+
+@example
+(ly:music-property result-event-chord 'elements)
+@end example
+
+@code{ly:music-property} es la función que se usa para acceder a las
+propiedades musicales (los @code{'elements}, @code{'duration},
+@code{'pitch}, etc., que vemos en la salida de @code{\displayMusic}
+más arriba).  El nuevo valor es la anterior propiedad elements, con un
+elemento adicional: la expresión @code{ArticulationEvent}, que
+copiamos a partir de la salida de @code{\displayMusic},
+
+@example
+(cons (make-music 'ArticulationEvent
+        'articulation-type "marcato")
+      (ly:music-property result-event-chord 'elements))
+@end example
+
+@code{cons} se usa para añadir un elemento a una lista sin modificar
+la lista original.  Esto es lo que queremos: la misma lista que antes,
+más la nueva expresión @code{ArticulationEvent}.  El orden dentro de
+la propiedad elements no es importante aquí.
+
+Finalmente, una vez añadida la articulación marcato a su propiedad
+@code{elements}, podemos devolver @code{result-event-chord}, de aquí
+la última línea de la función.
+
+Ahora transformamos la función @code{add-marcato} en una función
+musical,
+
+@example
+addMarcato = #(define-music-function (parser location event-chord)
+                                     (ly:music?)
+    "Añadir un ArticulationEvent de marcato a los elementos de `event-chord',
+    que se supone que es una expresión EventChord."
+    (let ((result-event-chord (ly:music-deep-copy event-chord)))
+      (set! (ly:music-property result-event-chord 'elements)
+            (cons (make-music 'ArticulationEvent
+                    'articulation-type "marcato")
+                  (ly:music-property result-event-chord 'elements)))
+      result-event-chord))
+@end example
+
+Podemos verificar que esta función musical funciona correctamente,
+
+@example
+\displayMusic \addMarcato c4
+@end example
+
+
+@node Interfaz de marcado para el programador
+@section Interfaz de marcado para el programador
+@translationof Markup programmer interface
+
+Los marcados están implementados como funciones de Scheme especiales
+que producen un elemento Stencil (sello) dado un número de argumentos.
+
+@menu
+* Construcción del marcado en Scheme::
+* Cómo funciona internamente el marcado::
+* Definición de una instrucción de marcado nueva::
+* Definición de nuevas instrucciones de lista de marcado::
+@end menu
+
+@node Construcción del marcado en Scheme
+@subsection Construcción del marcado en Scheme
+@translationof Markup construction in Scheme
+
+@cindex marcado, definir instrucciones de
+
+El macro @code{markup} construye expresiones de marcado en Scheme,
+proporcionando una sintaxis similar a la de LilyPond.  Por ejemplo:
+
+@example
+(markup #:column (#:line (#:bold #:italic "hola" #:raise 0.4 "mundo")
+                  #:larger #:line ("fulano" "fulanito" "menganito")))
+@end example
+
+@noindent
+equivale a:
+@example
+\markup \column @{ \line @{ \bold \italic "hola" \raise #0.4 "mundo" @}
+                  \larger \line @{ fulano fulanito menganito @} @}
+@end example
+
+@noindent
+Este ejemplo muestra las principales reglas de traducción entre la
+sintaxis del marcado normal de LilyPond y la sintaxis del marcado de
+Scheme.
+
+@quotation
+@multitable @columnfractions .3 .3
+@item @b{LilyPond} @tab @b{Scheme}
+@item @code{\markup marcado1} @tab @code{(markup marcado1)}
+@item @code{\markup @{ marcado1 marcado2 ... @}} @tab
+        @code{(markup marcado1 marcado2 ... )}
+@item @code{\instruccion} @tab @code{#:instruccion}
+@item @code{\variable} @tab @code{variable}
+@item @code{\center-column @{ ... @}} @tab @code{#:center-column ( ... )}
+@item @code{cadena} @tab @code{"cadena"}
+@item @code{#argumento-de-scheme} @tab @code{argumento-de-scheme}
+@end multitable
+@end quotation
+
+Todo el lenguaje Scheme está accesible dentro del macro @code{markup}.
+Por ejemplo, podemos usar llamadas a funciones dentro de @code{markup}
+para así manipular cadenas de caracteres.  Esto es útil si se están
+definiendo instrucciones de marcado nuevas (véase @ref{Definición de una instrucción de marcado nueva}).
+
+@knownissues
+
+El argumento markup-list de instrucciones como @code{#:line},
+@code{#:center} y @code{#:column} no pueden se una variable o el
+resultado de la llamada a una función.
+
+@lisp
+(markup #:line (funcion-que-devuelve-marcados))
+@end lisp
+
+@noindent
+no es válido.  Hay que usar las funciones @code{make-line-markup},
+@code{make-center-markup} o @code{make-column-markup} en su lugar:
+
+@lisp
+(markup (make-line-markup (funcion-que-devuelve-marcados)))
+@end lisp
+
+
+@node Cómo funciona internamente el marcado
+@subsection Cómo funciona internamente el marcado
+@translationof How markups work internally
+
+En un elemento de marcado como
+
+@example
+\raise #0.5 "ejemplo de texto"
+@end example
+
+@noindent
+@code{\raise} se representa en realidad por medio de la función
+@code{raise-markup}.  La expresión de marcado se almacena como
+
+@example
+(list raise-markup 0.5 (list simple-markup "ejemplo de texto"))
+@end example
+
+Cuando el marcado se convierte en objetos imprimibles (Stencils o
+sellos), se llama la función @code{raise-markup} como
+
+@example
+(apply raise-markup
+       @var{\objeto de marcado}
+       @var{lista de listas asociativas de propiedades}
+       0.5
+       @var{el marcado "ejemplo de texto"})
+@end example
+
+Primero la función @code{raise-markup} crea el sello para la cadena
+@code{ejemplo de texto}, y después eleva el sello Stencil en 0.5
+espacios de pentagrama.  Este es un ejemplo bastante simple; en el
+resto de la sección podrán verse ejemplos más complejos, así como en
+@file{scm/@/define@/-markup@/-commands@/.scm}.
+
+
+@node Definición de una instrucción de marcado nueva
+@subsection Definición de una instrucción de marcado nueva
+@translationof New markup command definition
+
+Las instrucciones de marcado nuevas se pueden definir con el macro de
+Scheme @code{define-markup-command}.
+
+@lisp
+(define-markup-command (@var{nombre-de-la-instruccion} @var{layout} @var{props} @var{arg1} @var{arg2} ...)
+            (@var{arg1-type?} @var{arg2-type?} ...)
+  ..command body..)
+@end lisp
+
+Los argumentos son
+
+@table @var
+@item argi
+@var{i}-ésimo argumento de la instrucción
+@item argi-type?
+predicado de tipo para el argumento @var{i}-ésimo
+@item layout
+la definición de @q{presentación}
+@item props
+lista de listas asociativas, que contiene todas las propiedades
+activas.
+@end table
+
+Como ejemplo sencillo, mostramos cómo añadir una instrucción
+@code{\smallcaps}, que selecciona una tipografía de versalitas.
+Normalmente podríamos seleccionar la tipografía de versalitas,
+
+@example
+\markup @{ \override #'(font-shape . caps) Texto-en-versalitas @}
+@end example
+
+@noindent
+Esto selecciona la tipografía de versalitas mediante el
+establecimiento de la propiedad @code{font-shape} a @code{#'caps} para
+la interpretación de @code{Texto-en-versalitas}.
+
+Para poner lo anterior disponible como la instrucción
+@code{\smallcaps}, tenemos que definir una función utilizando
+@code{define-markup-command}.  La instrucción ha de tomar un argumento
+del tipo @code{markup}.  Por tanto, el inicio de la definición ha de
+ser
+
+@example
+(define-markup-command (smallcaps layout props argument) (markup?)
+@end example
+
+@noindent
+
+Lo que aparece a continuación es el contenido de la instrucción:
+debemos interpretar el @code{argument} como un marcado, es decir:
+
+@example
+(interpret-markup layout @dots{} argument)
+@end example
+
+@noindent
+Esta interpretación tiene que añadir @code{'(font-shape . caps)} a las
+propiedades activas, por lo que sustituimos lo siguiente por los
+@dots{} en el ejemplo anterior:
+
+@example
+(cons (list '(font-shape . caps) ) props)
+@end example
+
+@noindent
+La variable @code{props} es una lista de a-listas, y se lo anteponemos
+haciendo la operación cons de una lista con el ajuste adicional.
+
+Supongamos que estamos tipografiando un recitativo de una ópera y nos
+gustaría definir una instrucción que presente los nombres de los
+personajes de una forma personalizada.  Queremos que los nombres se
+impriman con versalitas y se desplacen un poco a la izquierda y hacia
+arriba.  Definimos una instrucción @code{\character} que toma en
+cuenta la traslación necesaria y utiliza la instrucción
+@code{\smallcaps} recién definida:
+
+@example
+#(define-markup-command (character layout props nombre) (string?)
+  "Imprimir el nombre del personaje en versalitas, desplazado a la izquierda y hacia
+  arriba.  Sintaxis: \\character #\"nombre\""
+  (interpret-markup layout props
+   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps nombre)))
+@end example
+
+Esta es una complicación que requiere una explicación: los textos por
+encima y por debajo del pentagrama se mueven verticalmente de forma
+que estén a una cierta distancia (la propiedad @code{padding}) del
+pentagrama y de las notas.  Para asegurar que este mecanismo no anula
+el efecto de nuestro @code{#:translate}, añadimos una cadena vacía
+(@code{#:hspace 0}) antes del texto trasladado.  Ahora el
+@code{#:hspace 0} se pone encima de las notas, y el @code{nombre} se
+mueve en relación a dicha cadena vacía.  El efecto neto es que el
+texto se mueve hacia la izquierda y hacia arriba.
+
+El resultado final es como sigue:
+
+@example
+@{
+  c''^\markup \character #"Cleopatra"
+  e'^\markup \character #"Giulio Cesare"
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+#(define-markup-command (smallcaps layout props str) (string?)
+  "Print the string argument in small caps.  Syntax: \\smallcaps #\"string\""
+  (interpret-markup layout props
+   (make-line-markup
+    (map (lambda (s)
+          (if (= (string-length s) 0)
+              s
+              (markup #:large (string-upcase (substring s 0 1))
+                      #:translate (cons -0.6 0)
+                      #:tiny (string-upcase (substring s 1)))))
+         (string-split str #\Space)))))
+
+#(define-markup-command (character layout props name) (string?)
+  "Print the character name in small caps, translated to the left and
+  top.  Syntax: \\character #\"name\""
+  (interpret-markup layout props
+   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps name)))
+
+{
+  c''^\markup \character #"Cleopatra" c'' c'' c''
+  e'^\markup \character #"Giulio Cesare" e' e' e'
+}
+@end lilypond
+
+Hemos usado la forma de fuente tipográfica @code{caps}, pero
+supongamos que nuestra fuente no tiene la variante de versalitas.  En
+ese caso tenemos que hacer una falsa fuente de mayúsculas pequeñas
+haciendo que la cadena en mayúsculas tenga la primera legra un poco
+mayor:
+
+@example
+#(define-markup-command (smallcaps layout props str) (string?)
+  "Print the string argument in small caps."
+  (interpret-markup layout props
+   (make-line-markup
+    (map (lambda (s)
+          (if (= (string-length s) 0)
+              s
+              (markup #:large (string-upcase (substring s 0 1))
+                      #:translate (cons -0.6 0)
+                      #:tiny (string-upcase (substring s 1)))))
+         (string-split str #\Space)))))
+@end example
+
+La instrucción @code{smallcaps} primero divide su argumento de cadena
+en unidades o palabras separadas por espacios (@code{(string-split str
+#\Space)}); para cada unidad o palabra, se construye un marcado con la
+primera letra agrandada y en mayúscula (@code{#:large (string-upcase
+(substring s 0 1))}), y un segundo marcado construido con las letras
+siguientes reducidas de tamaño y en mayúsculas (@code{#:tiny
+(string-upcase (substring s 1))}).  Como LilyPond introduce un espacio
+entre los marcados de una misma línea, el segundo marcado se traslada
+a la izquierda (@code{#:translate (cons -0.6 0) ...}).  Después, los
+marcados construidos para cada palabra se ponen en una línea mediante
+@code{(make-line-markup ...)}.  Finalmente, el marcado resultante se
+pasa a la función @code{interpret-markup}, con los argumentos
+@code{layout} y @code{props}.
+
+Nota: ahora existe una instrucción interna @code{\smallCaps} que se
+puede usar para poner texto en versalitas.  Consulte @ref{Text markup commands}, para ver más detalles.
+
+@knownissues
+
+Actualmente las combinaciones de argumentos que hay disponibles
+(después de los argumentos estándar @var{layout} y @var{props}) para
+una instrucción de marcado definida con @code{define-markup-command}
+se limitan a la siguiente lista:
+
+@table @asis
+@item (ningún argumento)
+@itemx @var{list}
+@itemx @var{markup}
+@itemx @var{markup markup}
+@itemx @var{scm}
+@itemx @var{scm markup}
+@itemx @var{scm scm}
+@itemx @var{scm scm markup}
+@itemx @var{scm scm markup markup}
+@itemx @var{scm markup markup}
+@itemx @var{scm scm scm}
+@end table
+
+@noindent
+En la tabla de arriba, @var{scm} representa los tipos de datos nativos
+de Scheme como @q{number} (número) o @q{string} (cadena).
+
+Como ejemplo, no es posible usar una instrucción de marcado
+@code{fulanito} con cuatro argumentos definida como
+
+@example
+#(define-markup-command (fulanito layout props
+                         num1    str1    num2    str2)
+                        (number? string? number? string?)
+  ...)
+@end example
+
+@noindent
+Si la aplicamos como, digamos,
+
+@example
+\markup \fulanito #1 #"mengano" #2 #"zutano"
+@end example
+
+@cindex Scheme signature
+@cindex signature, Scheme
+@noindent
+@command{lilypond} protesta diciendo que no puede analizar
+@code{fulanito} debido a su firma de Scheme desconocida.
+
+
+@node Definición de nuevas instrucciones de lista de marcado
+@subsection Definición de nuevas instrucciones de lista de marcado
+@translationof New markup list command definition
+
+Las instrucciones de listas de marcado se definen con el macro de
+Scheme @code{define-markup-list-command}, que es similar al macro
+@code{define-markup-command} descrito en @ref{Definición de una instrucción de marcado nueva}, excepto que donde éste devuelve un sello único, aquél
+devuelve una lista de sellos.
+
+En el siguiente ejemplo se define una instrucción de lista de marcado
+@code{\paragraph}, que devuelve una lista de líneas justificadas,
+estando la primera de ellas sangrada.  La anchura del sangrado se toma
+del argumento @code{props}.
+
+@example
+#(define-markup-list-command (paragraph layout props args) (markup-list?)
+   (let ((indent (chain-assoc-get 'par-indent props 2)))
+     (interpret-markup-list layout props
+       (make-justified-lines-markup-list (cons (make-hspace-markup indent)
+                                               args)))))
+@end example
+
+Aparte de los argumentos usuales @code{layout} y @code{props}, la
+instrucción de lista de marcados @code{paragraph} toma un argumento de
+lista de marcados, llamado @code{args}.  El predicado para listas de
+marcados es @code{markup-list?}.
+
+En primer lugar, la función toma el ancho del sangrado, una propiedad
+llamada aquí @code{par-indent}, de la lista de propiedades
+@code{props}.  Si no se encuentra la propiedad, el valor
+predeterminado es @code{2}.  Después, se hace una lista de líneas
+justificadas usando la función
+@code{make-justified-lines-markup-list}, que está relacionada con la
+instrucción incorporada de lista de marcados @code{\justified-lines}.
+Se añade un espacio horizontal al principio usando la función
+@code{make-hspace-markup}.  Finalmente, la lista de marcados se
+interpreta usando la función @code{interpret-markup-list}.
+
+Esta nueva instrucción de lista de marcados se puede usar como sigue:
+
+@example
+\markuplines @{
+  \paragraph @{
+    El arte de la tipografía musical se llama  \italic @{grabado (en plancha).@}
+    El término deriva del proceso tradicional de impresión de música.
+    hace sólo algunas décadas, las partituras se hacían cortando y estampando
+    la música en una plancha de zinc o lata en una imagen invertida.
+  @}
+  \override-lines #'(par-indent . 4) \paragraph @{
+    La plancha se tenía que entintar, y las depresiones causadas por los cortes
+    y estampados retienen la tinta.  Se formaba una imagen presionando el papel
+    contra la plancha.  El estampado y cortado se hacía completamente
+    a mano.
+  @}
+@}
+@end example
+
+
+@node Contextos para programadores
+@section Contextos para programadores
+@translationof Contexts for programmers
+
+@menu
+* Evaluación de contextos::
+* Ejecutar una función sobre todos los objetos de la presentación::
+@end menu
+
+@node Evaluación de contextos
+@subsection Evaluación de contextos
+@translationof Context evaluation
+
+@cindex código, llamadas durante la interpretación
+@funindex \applyContext
+
+Se pueden modificar los contextos durante la interpretación con código
+de Scheme.  La sintaxis para esto es
+
+@example
+\applyContext @var{función}
+@end example
+
+@var{función} debe ser una función de Scheme que toma un único
+argumento, que es el contexto al que aplicarla.  El código siguiente
+imprime el número del compás actual sobre la salida estándar durante
+la compilación:
+
+@example
+\applyContext
+  #(lambda (x)
+    (format #t "\nSe nos ha llamado en el compás número ~a.\n"
+     (ly:context-property x 'currentBarNumber)))
+@end example
+
+
+@node Ejecutar una función sobre todos los objetos de la presentación
+@subsection Ejecutar una función sobre todos los objetos de la presentación
+@translationof Running a function on all layout objects
+
+
+@cindex código, llamar sobre objetos de presentación
+@funindex \applyOutput
+
+
+La manera más versátil de realizar el ajuste fino de un objeto es
+@code{\applyOutput}.  Su sintaxis es
+
+@example
+\applyOutput @var{contexto} @var{proc}
+@end example
+
+@noindent
+donde @var{proc} es una función de Scheme, que toma tres argumentos.
+
+Al interpretarse, la función @var{proc} se llama para cada objeto de
+presentación que se encuentra en el contexto @var{contexto}, con los
+siguientes argumentos:
+
+@itemize
+@item el propio objeto de presentación,
+@item el contexto en que se creó el objeto de presentación, y
+@item el contexto en que se procesa @code{\applyOutput}.
+@end itemize
+
+Además, la causa del objeto de presentación, es decir el objeto o
+expresión musical que es responsable de haberlo creado, está en la
+propiedad @code{cause} del objeto.  Por ejemplo, para la cabeza de una
+nota, éste es un evento @rinternals{NoteHead}, y para un objeto
+@rinternals{Stem} (plica), éste es un objeto @rinternals{Stem}.
+@c Impossible - changed to Stem --FV
+
+He aquí una función que usar para @code{\applyOutput}; borra las
+cabezas de las notas que están sobre la línea central:
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (blanker grob grob-origin context)
+   (if (and (memq 'note-head-interface (ly:grob-interfaces grob))
+            (eq? (ly:grob-property grob 'staff-position) 0))
+       (set! (ly:grob-property grob 'transparent) #t)))
+
+\relative {
+  e4 g8 \applyOutput #'Voice #blanker b d2
+}
+@end lilypond
+
+
+@node Procedimientos de Scheme como propiedades
+@section Procedimientos de Scheme como propiedades
+@translationof Scheme procedures as properties
+
+Las propiedades (como el grosor, la dirección, etc.) se pueden
+establecer a valores fijos con \override, p. ej.
+
+@example
+\override Stem #'thickness = #2.0
+@end example
+
+Las propiedades pueden fijarse también a un procedimiento de scheme,
+
+@lilypond[fragment,verbatim,quote,relative=2]
+\override Stem #'thickness = #(lambda (grob)
+    (if (= UP (ly:grob-property grob 'direction))
+        2.0
+        7.0))
+c b a g b a g b
+@end lilypond
+
+@noindent
+En este caso, el procedimiento se ejecuta tan pronto como el valor de
+la propiedad se reclama durante el proceso de formateo.
+
+Casi todo el motor de tipografiado está manejado por estos
+@emph{callbacks}.  Entre las propiedades que usan normalmente
+@emph{callbacks} están
+
+@table @code
+@item stencil
+  La rutina de impresión, que construye un dibujo para el símbolo
+@item X-offset
+  La rutina que establece la posición horizontal
+@item X-extent
+  La rutina que calcula la anchura de un objeto
+@end table
+
+El procedimiento siempre toma un argumento único, que es el grob (el
+objeto gráfico).
+
+Si se deben llamar rutinas con varios argumentos, el grob actual se
+puede insertar con una cerradura de grob.  He aquí un ajuste
+procedente de @code{AccidentalSuggestion},
+
+@example
+(X-offset .
+  ,(ly:make-simple-closure
+    `(,+
+        ,(ly:make-simple-closure
+           (list ly:self-alignment-interface::centered-on-x-parent))
+      ,(ly:make-simple-closure
+           (list ly:self-alignment-interface::x-aligned-on-self)))))
+@end example
+
+@noindent
+En este ejemplo, tanto
+@code{ly:self-alignment-interface::x-aligned-on-self} como
+@code{ly:self-alignment-interface::centered-on-x-parent} se llaman con
+el grob como argumento.  El resultado se añade con la función
+@code{+}.  Para asegurar que esta adición se ejecuta adecuadamente,
+todo ello se encierra dentro de @code{ly:make-simple-closure}.
+
+De hecho, usar un solo procedimiento como valor de una propiedad
+equivale a
+
+@example
+(ly:make-simple-closure (ly:make-simple-closure (list @var{proc})))
+@end example
+
+@noindent
+El @code{ly:make-simple-closure} interior aporta el grob como
+argumento de @var{proc}, el exterior asegura que el resultado de la
+función es lo que se devuelve, en lugar del objeto
+@code{simple-closure}.
+
+
+@node Usar código de Scheme en lugar de \tweak
+@section Usar código de Scheme en lugar de @code{\tweak}
+@translationof Using Scheme code instead of \tweak
+
+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 cuando a la sintaxis; concretamente, no se puede adjuntar con
+@code{^} y @code{_}.
+
+Usando Scheme, se puede dar un rodeo a este problema.  La ruta hacia
+el resultado se da en @ref{Añadir articulación a las notas (ejemplo)},
+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 flageolet @code{m}
+(creado con @code{make-music}) se extraen con
+@code{ly:music-property}, se antepone un nuevo par clave-valor para
+cambiar el tamaño de la tipografía a la lista de propiedades con la
+función de Scheme @code{acons}, y finalmente el resultado se escribe
+de nuevo con @code{set!}.  El último elemento del bloque @code{let} es
+el valor de retorno, el propio @code{m}.
+
+@node Trucos difíciles
+@section Trucos difíciles
+@translationof Difficult tweaks
+
+Hay un cierto número de tipos de ajustes difíciles.
+
+@itemize
+
+@item
+Un tipo de ajuste difícil es la apariencia 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 pueden ajustarse con el mecanismo
+normal.  Sin embargo, en ciertos casos los objetos extensores cruzan
+los saltos de línea.  Si esto ocurre, estos objetos se clonan.  Se
+crea un objeto distinto por cada sistema en que se encuentra.  Éstos
+son clones del objeto original y heredan todas sus propiedades,
+incluidos los @code{\override}s.
+
+En otras palabras, un @code{\override} siempre afecta a todas las
+piezas de un objeto de extensión fragmentado.  Para cambiar sólo una
+parte de un extensor en el salto de línea, es necesario inmiscuirse en
+el proceso de formateado.  El @emph{callback}
+@code{after-line-breaking} contiene el procedimiento Scheme que se
+llama después de que se han determinado los saltos de línea, y los
+objetos de presentación han sido divididos sobre los distintos
+sistemas.
+
+En el ejemplo siguiente, definimos un procedimiento
+@code{my-callback}.  Este procedimiento
+
+@itemize
+@item
+determina si hemos sido divididos por los saltos de línea
+@item
+en caso afirmativo, reúne todos los objetos divididos
+@item
+comprueba si somos el último de los objetos divididos
+@item
+en caso afirmativo, establece @code{extra-offset}.
+@end itemize
+
+Este procedimiento se instala en @rinternals{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
+Al aplicar 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 usa con
+@code{Hairpin}, se debe llamar también a
+@code{ly:hairpin::after-line-breaking}.
+
+
+@item Algunos objetos no se pueden cambiar con @code{\override} por
+razones técnicas.  Son ejemplos @code{NonMusicalPaperColumn} y
+@code{PaperColumn}.  Se pueden cambiar con la función
+@code{\overrideProperty} que funciona de forma similar a @code{\once
+\override}, pero usa una sintaxis distinta.
+
+@example
+\overrideProperty
+#"Score.NonMusicalPaperColumn"  % Nombre del grob
+#'line-break-system-details     % Nombre de la propiedad
+#'((next-padding . 20))         % Valor
+@end example
+
+Observe, sin embargo, que @code{\override}, aplicado a
+@code{NonMusicalPaperColumn} y a @code{PaperColumn}, aún funciona
+como se espera dentro de los bloques @code{\context}.
+
+@end itemize
+
+
+@node Interfaces de Scheme de LilyPond
+@chapter Interfaces de Scheme de LilyPond
+@translationof LilyPond Scheme interfaces
+
+@untranslated
diff --git a/Documentation/es/extending/scheme-tutorial.itely b/Documentation/es/extending/scheme-tutorial.itely
new file mode 100644 (file)
index 0000000..2234abb
--- /dev/null
@@ -0,0 +1,347 @@
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+
+@ignore
+    Translation of GIT committish: 5f51567fbc5d7a811e147ebd01f103e066f36b3a
+
+    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.12.0"
+
+
+@node Tutorial de Scheme
+@appendix Tutorial de Scheme
+@translationof Scheme tutorial
+
+@funindex #
+@cindex Scheme
+@cindex GUILE
+@cindex Scheme, código en línea
+@cindex acceder a Scheme
+@cindex evaluar Scheme
+@cindex LISP
+
+LilyPond utiliza el lenguaje de programación Scheme, tanto como parte
+de la sintaxis del código de entrada, como para servir de mecanismo
+interno que une los módulos del programa entre sí.  Esta sección es
+una panorámica muy breve sobre cómo introducir datos en Scheme.  Si
+quiere saber más sobre Scheme, consulte
+@uref{http://@/www@/.schemers@/.org}.
+
+LilyPond utiliza la implementación GNU Guile de Scheme, que está
+basada en el estándar @qq{R5RS} del lenguaje.  Si está aprendiendo
+Scheme para usarlo con LilyPond, no se recomienda trabajar con una
+implementación distinta (o que se refiera a un estándar diferente).
+Hay información sobre Guile en
+@uref{http://www.gnu.org/software/guile/}.  El estándar de Scheme
+@qq{R5RS} se encuentra en
+@uref{http://www.schemers.org/Documents/Standards/R5RS/}.
+
+La instalación de LilyPond inclute también la de la implementación
+Guile de Scheme.  Sobre casi todos los sistemas puede experimentar en
+una @qq{caja de arena} de Scheme abriendo una ventana del terminal y
+tecleando @q{guile}.  En algunos sistemas, sobre todo en Windows,
+podría necesitar ajustar la variable de entorno @code{GUILE_LOAD_PATH}
+a la carpeta @code{../usr/shr/guile/1.8} dentro de la instalación de
+LilyPond (para conocer la ruta completa a esta carpeta, consulte
+@ref{Otras fuentes de información}).  Como alternativa, los usuarios
+de Windows pueden seleccionar simplemente @q{Ejecutar} del menú Inicio
+e introducir @q{guile}.
+
+El concepto más básico de un lenguaje son sus tipos de datos: números,
+cadenas de caracteres, listas, etc.  He aquí una lista de los tipos de
+datos que son de relevancia respecto de la entrada de LilyPond.
+
+@table @asis
+@item Booleanos
+Los valores Booleanos son Verdadero y Falso.  Verdadero en Scheme es @code{#t}
+y Falso es @code{#f}.
+@funindex ##t
+@funindex ##f
+
+@item Números
+Los números se escriben de la forma normal, @code{1} es el número
+(entero) uno, mientras que @code{-1.5} es un número en coma flotante
+(un número no entero).
+
+@item Cadenas
+Las cadenas se encierran entre comillas:
+
+@example
+"esto es una cadena"
+@end example
+
+Las cadenas pueden abarcar varias líneas:
+
+@example
+"esto
+es
+una cadena"
+@end example
+
+También se pueden añadir comillas y saltos de línea con las llamadas
+secuencias de escape.  La cadena @code{a dijo "b"} se escribe como
+
+@example
+"a dijo \"b\""
+@end example
+
+Los saltos de línea t las barras invertidas se escapan mediante
+@code{\n} y @code{\\} respectivamente.
+@end table
+
+
+En un archivo de música, los fragmentos de código de Scheme se
+escriben con el signo de almohadilla @code{#}.  Así, los ejemplos
+anteriores traducidos a LilyPond son:
+
+@example
+##t ##f
+#1 #-1.5
+#"esto es una cadena"
+#"esto
+es
+una cadena"
+@end example
+
+Observe que los comentarios de LilyPond (@code{%} y @code{%@{ %@}}) no
+se puedden utilizar dentro del código de Scheme.  Los comentarios en
+el Scheme de Guile se introducen como sigue:
+
+@example
+; esto es un comentario de una línea
+
+#!
+  Esto es un comentario de bloque (no anidable) estilo Guile
+  Pero se usan rara vez por parte de los Schemers y nunca dentro del
+  código fuente de LilyPond
+!#
+@end example
+
+Se pueden combinar en un mismo archivo de música varias expresiones de
+Scheme consecutivas mediante la utilización del operador @code{begin}.
+Ello permite que el número de marcas de cuadradillo se redizca a una.
+
+@example
+#(begin
+  (define fulanito 0)
+  (define menganito 1))
+@end example
+
+Si el @code{#} va seguido de un paréntesis de apertura, @code{(}, como
+en el ejemplo anterior, el analizador sintáctico permanece dentro del
+modo de Scheme hasta que encuentra el paréntesis de cierre
+correspondiente, @code{)}, por lo que no son necesarios más símbolos
+de @code{#} para introducir una sección de Scheme.
+
+Durante el resto de esta sección, supondremos que los datos se
+introducen en un archivo de música, por lo que añadiremos almohadillas
+@code{#} en todas partes.
+
+Scheme se puede usar para hacer cálculos.  Utiliza sintaxis
+@emph{prefija}.  Sumar 1 y@tie{}2 se escribe como @code{(+ 1 2)} y no
+como el tradicional @math{1+2}.
+
+@lisp
+#(+ 1 2)
+  @result{} #3
+@end lisp
+
+La flecha @result{} muestra que el resultado de evaluar @code{(+ 1 2)}
+es@tie{}@code{3}.  Los cálculos se pueden anidar; el resultado de una
+función se puede usar para otro cálculo.
+
+@lisp
+#(+ 1 (* 3 4))
+  @result{} #(+ 1 12)
+  @result{} #13
+@end lisp
+
+Estos cálculos son ejemplos de evaluaciones; una expresión como
+@code{(* 3 4)} se sustituye por su valor @code{12}.  Algo similar
+ocurre con las variables.  Después de haber definido una variable
+
+@example
+doce = #12
+@end example
+
+@noindent
+las variables se pueden usar también dentro de las expresiones, aquí
+
+@example
+veintiCuatro = #(* 2 doce)
+@end example
+
+@noindent
+el número 24 se almacena dentro de la variable @code{veintiCuatro}.
+La misma asignación se puede hacer también completamente en Scheme,
+
+@example
+#(define veintiCuatro (* 2 doce))
+@end example
+
+El @emph{nombre} de una variable también es una expresión, similar a
+un número o una cadena.  Se introduce como
+
+@example
+#'veintiCuatro
+@end example
+
+@funindex #'symbol
+@cindex comillas en Scheme
+
+El apóstrofo @code{'} evita que el intérprete de Scheme sustituya
+@code{veintiCuatro} por @code{24}.  En vez de esto, obtenemos el
+nombre @code{veintiCuatro}.
+
+Esta sintaxis se usará con mucha frecuencia, pues muchos de los trucos
+de presentación consisten en asignar valores (de Scheme) a variables
+internas, por ejemplo
+
+@example
+\override Stem #'thickness = #2.6
+@end example
+
+Esta instrucción ajusta el aspecto de las plicas.  El valor @code{2.6}
+se pone dentro de la variable @code{thickness} de un objeto
+@code{Stem}.  @code{thickness} se mide a partir del grosor de las
+líneas del pentagrama, y así estas plicas serán @code{2.6} veces el
+grosor de las líneas del pentagrama.  Esto hace que las plicas sean
+casi el doble de gruesas de lo normal.  Para distinguir entre las
+variables que se definen en los archivos de entrada (como
+@code{veintiCuatro} en el ejemplo anterior) y las variables de los
+objetos internos, llamaremos a las últimas @q{propiedades} y a las
+primeras @q{variables.}  Así, el objeto plica tiene una propiedad
+@code{thickness} (grosor), mientras que @code{veintiCuatro} es una
+variable.
+
+@cindex propiedades frente a variables
+@cindex variables frente a propiedades
+
+Los desplazamientos bidimensionales (coordenadas X e Y) así como los
+tamaños de los objetos (intervalos con un punto izquierdo y otro
+derecho) se introducen como @code{parejas}.  Una pareja@footnote{En la
+terminología de Scheme, la pareja se llama @code{cons}, y sus dos
+elementos se llaman @code{car} y @code{cdr} respectivamente.}  se
+introduce como @code{(primero . segundo)} y, como los símbolos, se deben
+preceder de un apóstrofo:
+
+@example
+\override TextScript #'extra-offset = #'(1 . 2)
+@end example
+
+Esto asigna la pareja (1, 2) a la propiedad @code{extra-offset} del
+objeto TextScript.  Estos números se miden en espacios de pentagrama,
+y así esta instrucción mueve el objeto un espacio de pentagrama a la
+derecha, y dos espacios hacia arriba.
+
+Los dos elementos de una pareja pueden ser valores arbitrarios, por
+ejemplo
+
+@example
+#'(1 . 2)
+#'(#t . #f)
+#'("bla-bla" . 3.14159265)
+@end example
+
+Una lista se escribe encerrando sus elementos entre paréntesis, y
+añadiendo un apóstrofo.  Por ejemplo,
+
+@example
+#'(1 2 3)
+#'(1 2 "cadena" #f)
+@end example
+
+Todo el tiempo hemos estado usando listas.  Un cálculo, como @code{(+
+1 2)} también es una lista (que contiene el símbolo @code{+} y los
+números 1 y@tie{}2).  Normalmente, las listas se interpretan como
+cálculos, y el intérprete de Scheme sustituye el resultado del
+cálculo.  Para escribir una lista, detenemos la evaluación.  Esto se
+hace precediendo la lista por un apóstrofo @code{'}.  Así, para los
+cálculos no usamos ningún apóstrofo.
+
+Dentro de una lista o pareja precedida de apóstrofo, no hay necesidad
+de escribir ningún apóstrofo más.  Lo siguiente es una pareja de
+símbolos, una lista de símbolos y una lista de listas respectivamente:
+
+@example
+#'(stem . head)
+#'(staff clef key-signature)
+#'((1) (2))
+@end example
+
+
+@menu
+* Trucos con Scheme::
+@end menu
+
+@node Trucos con Scheme
+@appendixsec Trucos con Scheme
+@translationof Tweaking with Scheme
+
+Hemos visto cómo la salida de LilyPond se puede modificar
+profundamente usando instrucciones como @code{\override TextScript
+#'extra-offset = ( 1 . -1)}.  Pero tenemos incluso mucho más poder si
+utilizamos Scheme.  Para ver una explicación completa de esto,
+consulte el @ref{Tutorial de Scheme}, y @ruser{Interfaces para programadores}.
+
+Podemos usar Scheme simplemente para sobreescribir instrucciones con
+@code{\override},
+
+@c This isn't a valid example with skylining
+@c It works fine without padText  -td
+
+@ignore
+@lilypond[quote,verbatim,ragged-right]
+padText = #(define-music-function (parser location padding) (number?)
+#{
+  \once \override TextScript #'padding = #$padding
+#})
+
+\relative c''' {
+  c4^"piu mosso" b a b
+  \padText #1.8
+  c4^"piu mosso" d e f
+  \padText #2.6
+  c4^"piu mosso" fis a g
+}
+@end lilypond
+@end ignore
+
+Lo podemos usar para crear instrucciones nuevas:
+
+@c Check this is a valid example with skylining
+@c It is - 'padding still works
+
+@lilypond[quote,verbatim,ragged-right]
+tempoPadded = #(define-music-function (parser location padding tempotext)
+  (number? string?)
+#{
+  \once \override Score.MetronomeMark #'padding = $padding
+  \tempo \markup { \bold $tempotext }
+#})
+
+\relative c'' {
+  \tempo \markup { "Low tempo" }
+  c4 d e f g1
+  \tempoPadded #4.0 #"High tempo"
+  g4 f e d c1
+}
+@end lilypond
+
+Incluso se le pueden pasar expresiones musicales:
+
+@lilypond[quote,verbatim,ragged-right]
+pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
+#{
+  $x e8 a b $y b a e
+#})
+
+\relative c''{
+  \pattern c8 c8\f
+  \pattern {d16 dis} { ais16-> b\p }
+}
+@end lilypond
+
diff --git a/Documentation/es/learning/common-notation.itely b/Documentation/es/learning/common-notation.itely
new file mode 100644 (file)
index 0000000..559a951
--- /dev/null
@@ -0,0 +1,1481 @@
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
+
+@ignore
+    Translation of GIT committish: bd48c330defdb32b71e282c433867e442316cf01
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+
+@c \version "2.12.0"
+
+@ignore
+Tutorial guidelines:  (different from policy.txt!)
+- unless you have a really good reason, use either
+    @lilypond[verbatim,quote]
+  or
+    @lilypond[verbatim,quote,relative=2]
+
+  Don't use any other relative=X commands.
+
+- use "aes" and "ees" instead of "as" and "es".  I know it's not
+  correct Dutch naming, but let's not confuse people with this
+  until we get to the Basic notation chapter.
+
+- Add "Music Glossary: @rglos{foo}" to the *top* of the relevant
+  portions of the tutorial.
+
+@end ignore
+
+
+@node Notación corriente
+@chapter Notación corriente
+@translationof Common notation
+
+Este capítulo explica cómo crear hermosas partituras que contengan
+notación musical común, como continuación al material que está en el
+@ref{Tutorial}.
+
+@menu
+* Notación en un solo pentagrama::
+* Varias notas a la vez::
+* Canciones::
+* Retoques finales::
+@end menu
+
+
+@node Notación en un solo pentagrama
+@section Notación en un solo pentagrama
+@translationof Single staff notation
+
+Esta sección presenta la notación común que se utiliza para música a
+una voz sobre un pentagrama único.
+
+@menu
+* Alteraciones accidentales y armaduras::
+* Ligaduras de unión y de expresión::
+* Articulaciones y matices dinámicos::
+* Añadir texto::
+* Barras automáticas y manuales::
+* Instrucciones rítmicas avanzadas::
+@end menu
+
+
+@node Alteraciones accidentales y armaduras
+@subsection Alteraciones accidentales y armaduras
+@translationof Accidentals and key signatures
+
+
+@warning{Con frecuencia, los nuevos usuarios se encuentran confundidos
+por las alteraciones accidentales: le rogamos que lea la advertencia
+que aparece al final de esta sección, ¡especialmente si no está
+familiarizado con la teoría musical!}
+
+@subheading Alteraciones accidentales
+
+@cindex accidentales, alteraciones
+@cindex alteraciones
+@cindex alteraciones y armaduras
+@cindex sostenido
+@cindex doble sostenido
+@cindex sostenido, doble
+@cindex bemol
+@cindex doble bemol
+@cindex bemol, doble
+
+@funindex es
+@funindex is
+@funindex eses
+@funindex isis
+
+Glosario musical:
+@rglos{sharp},
+@rglos{flat},
+@rglos{double sharp},
+@rglos{double flat},
+@rglos{accidental}.
+
+Una nota con @notation{sostenido} se hace añadiendo @code{is} al
+nombre, y una nota @notation{bemol} añadiendo @code{es}.  Como ha
+podido adivinar, un @notation{doble sostenido} o @notation{doble
+bemol} se hace añadiendo @code{isis} o @code{eses}.  Esta sintaxis se
+deriva de las convenciones de nomenclatura de las notas en las lenguas
+nórdicas y germánicas como el alemán y el holandés.  Para utilizar
+otros nombres para las @notation{alteraciones accidentales}, véase
+@ruser{Nombres de las notas en otros idiomas}.
+
+@lilypond[verbatim,quote,relative=2]
+cis1 ees fisis, aeses
+@end lilypond
+
+@cindex tonalidad, armadura de la, establecer
+@subheading Armaduras
+
+@cindex tonalidad, armadura de
+@cindex armadura
+@cindex mayor
+@cindex menor
+@cindex alteraciones y armadura
+@cindex contenido frente a presentación
+@cindex presentación frente a contenido
+
+@funindex \key
+@funindex key
+@funindex \major
+@funindex major
+@funindex \minor
+@funindex minor
+
+Glosario musical:
+@rglos{key signature},
+@rglos{major},
+@rglos{minor}.
+
+La @notation{armadura de la tonalidad} se establece mediante la
+instrucción @code{\key} seguido de una nota y @code{\major} o
+@code{\minor}.
+
+@lilypond[verbatim,quote,relative=2]
+\key d \major
+a1
+\key c \minor
+a
+@end lilypond
+
+@smallspace
+
+@subheading Advertencia: armaduras y alturas
+
+Glosario musical:
+@rglos{accidental},
+@rglos{key signature},
+@rglos{pitch},
+@rglos{flat},
+@rglos{natural},
+@rglos{sharp},
+@rglos{transposition}.
+
+Para determinar si hay que imprimir una @notation{alteración
+accidental}, LilyPond examina las notas y la @notation{armadura de la
+tonalidad}.  La armadura solamente afecta a las alteraciones
+@emph{impresas}, ¡no a las propias notas!  Esta funcionalidad suele
+confundir a los que están empezando con el programa, por ello
+permítanos explicarla en detalle.
+
+LilyPond hace una clara distinción entre el contenido musical y la
+presentación.  La alteración (@notation{bemol}, @notation{becuadro} o
+@notation{sostenido}) de una nota es parte de la altura, y por tanto
+es contenido musical.  Si una alteración (un signo @emph{impreso} de
+bemol, becuadro o sostenido) se imprime o no delante de la nota
+correspondiente, es una cuestión de presentación.  La presentación es
+algo que sigue unas reglas, así que las alteraciones accidentales se
+imprimen automáticamente según dichas reglas.  Las alturas de las
+notas en su música son obras de arte, por tanto no se añadirán
+automáticamente, y usted deberá introducir aquello que quiera oír.
+
+En el siguiente ejemplo:
+
+@lilypond[verbatim,quote,relative=2]
+\key d \major
+d cis fis
+@end lilypond
+
+@noindent
+Ninguna nota lleva una alteración impresa, pero de todas formas usted
+debe escribir el @code{is} a @code{cis} y a @code{fis} en el archivoo
+de entrada.
+
+El texto @code{b} no significa @qq{imprimir una bolita negra en la
+tercera línea del pentagrama.}  Más bien significa: @qq{hay una nota
+Si natural.}  En la tonalidad de La bemol mayor, @emph{lleva} una
+alteración accidental:
+
+@lilypond[verbatim,quote,relative=2]
+\key aes \major
+b
+@end lilypond
+
+Si se encuentra confundido por lo anterior, piense en lo siguiente: si
+estuvises tocando un piano, ¿qué tecla pulsaría?  Si se tratase de una
+tecla negra, entonces ¡@emph{tiene que} añadir @code{-is} ó @code{-es}
+al nombre de la nota!
+
+Poner todas las alteraciones de forma explícita puede que requiera
+algo más de trabajo al teclear, pero la ventaja es que la
+@notation{transposición} es más fácil, y las alteraciones se pueden
+imprimir siguiendo varias convenciones distintas.  Consulte
+@ruser{Alteraciones accidentales automáticas} para ver ejemplos de
+cómo se pueden imprimir las alteraciones de acuerdo a reglas
+diferentes.
+
+
+@seealso
+Referencia de la notación:
+@ruser{Nombres de las notas en otros idiomas},
+@ruser{Alteraciones accidentales},
+@ruser{Alteraciones accidentales automáticas},
+@ruser{Armadura de la tonalidad}.
+
+Glosario musical:
+@rglos{Pitch names}.
+
+
+@node Ligaduras de unión y de expresión
+@subsection Ligaduras de unión y de expresión
+@translationof Ties and slurs
+
+@cindex ligadura de unión
+@cindex ligadura de expresión
+@cindex ligadura de fraseo
+@cindex fraseo, ligadura de
+
+@funindex ~
+@funindex ( ... )
+@funindex \( ... \)
+
+@subheading Ligaduras de unión
+
+Glosario musical:
+@rglos{tie}.
+
+Una @notation{ligadura de unión} se crea adjuntando un carácter de
+tilde curva @code{~} a la primera nota ligada:
+
+@lilypond[verbatim,quote,relative=2]
+g4~ g c2~
+c4 ~ c8 a8 ~ a2
+@end lilypond
+
+@subheading Ligaduras de expresión
+
+Glosario musical:
+@rglos{slur}.
+
+Una @notation{ligadura de expresión} es una curva que se traza
+abarcando varias notas.  Las notas inicial y final se marcan mediante
+@code{(} y @code{)} respectivamente.
+
+@lilypond[verbatim,quote,relative=2]
+d4( c16) cis( d e c cis d) e( d4)
+@end lilypond
+
+@subheading Ligaduras de fraseo
+
+Glosario musical:
+@rglos{slur},
+@rglos{phrasing}.
+
+Las ligaduras que se utilizan para indicar @notation{fraseos} más
+largos se pueden introducir mediante @code{\(} y @code{\)}.  Puede
+haber al mismo tiempo ligaduras de legato y ligaduras de fraseo, pero
+no es posible tener legatos simultáneos o ligaduras de expresión
+simultáneas.
+
+@lilypond[verbatim,quote,relative=2]
+a8(\( ais b c) cis2 b'2 a4 cis,\)
+@end lilypond
+
+@smallspace
+
+@cindex ligaduras de expresión frente a ligaduras de unión
+@subheading Advertencias: ligaduras de expresión frente a ligaduras de unión
+
+Glosario musical:
+@rglos{articulation},
+@rglos{slur},
+@rglos{tie}.
+
+Una @notation{ligadura de expresión} parece una @notation{ligadura de
+unión}, pero tiene un significado distinto.  Una ligadura (de unión)
+sencillamente hace que la primera nota sea más larga, y sólo se puede
+utilizar sobre parejas de notas iguales.  Las ligaduras de expresión
+indican la @notation{articulación} de las notas, y se pueden utilizar
+sobre grupos mayores de notas.  Las ligaduras de unión y de expresión
+se pueden anidar unas dentro de otras.
+
+@lilypond[verbatim,quote,relative=2]
+c2~( c8 fis fis4 ~ fis2 g2)
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ruser{Ligaduras de unión},
+@ruser{Ligaduras de expresión},
+@ruser{Ligaduras de fraseo}.
+
+
+@node Articulaciones y matices dinámicos
+@subsection Articulaciones y matices dinámicos
+@translationof Articulation and dynamics
+
+@subheading Articulaciones
+
+@cindex articulación
+@cindex acento
+@cindex staccato
+
+Glosario musical:
+@rglos{articulation}.
+
+Las @notation{articulaciones} más corrientes se pueden añadir a las
+notas utilizando un guión @code{-} seguido de un carácter único:
+
+@lilypond[verbatim,quote,relative=2]
+c-. c-- c-> c-^ c-+ c-_
+@end lilypond
+
+@subheading Digitaciones
+
+@cindex digitaciones
+
+@funindex ^
+@funindex _
+
+Glosario musical:
+@rglos{fingering}.
+
+De manera similar, las @notation{digitaciones} se pueden añadir a una
+nota utilizando un guión (@code{-}) seguido del dígito deseado:
+
+@lilypond[verbatim,quote,relative=2]
+c-3 e-5 b-2 a-1
+@end lilypond
+
+Las articulaciones y digitaciones normalmente se colocan de forma
+automática, pero puede especificar una dirección mediante @code{^}
+(encima) o @code{_} (debajo).  También puede usar varias
+articulaciones sobre la misma nota.  Sin embargo, casi siempre es
+mejor dejar que LilyPond determine la dirección de las articulaciones.
+
+@lilypond[verbatim,quote,relative=2]
+c_-^1 d^. f^4_2-> e^-_+
+@end lilypond
+
+@subheading Matices dinámicos
+
+@cindex dinámica, indicaciones de
+@cindex matices
+@cindex decrescendo
+@cindex crescendo
+
+@funindex \f
+@funindex \ff
+@funindex \mp
+@funindex \p
+@funindex \mf
+@funindex \pp
+@funindex \<
+@funindex <
+@funindex \>
+@funindex >
+@funindex \!
+@funindex !
+
+Glosario musical:
+@rglos{dynamics},
+@rglos{crescendo},
+@rglos{decrescendo}.
+
+Las expresiones de @notation{matiz} o signos dinámicos se hacen
+añadiendo las marcas (con una barra invertida) a la nota:
+
+@lilypond[verbatim,quote,relative=2]
+c\ff c\mf c\p c\pp
+@end lilypond
+
+Los @notation{crescendi} y @notation{decrescendi} comienzan con las
+órdenes @code{\<} y @code{\>}.  La siguiente indicación de matiz, como
+por ejemplo @code{\f}, dará por terminado el (de)crescendo, o bien se
+puede usar la instrucción @code{\!}:
+
+@lilypond[verbatim,quote,relative=2]
+c2\< c2\ff\> c2 c2\!
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ruser{Articulaciones y ornamentos},
+@ruser{Indicaciones de digitación},
+@ruser{Matices dinámicos}.
+
+
+@node Añadir texto
+@subsection Añadir texto
+@translationof Adding text
+
+@cindex texto, añadir
+@cindex añadir texto
+@cindex marcado
+
+@funindex \markup
+@funindex markup
+
+Es posible añadir texto a la partitura:
+
+@lilypond[verbatim,quote,relative=2]
+c1^"espr" a_"legato"
+@end lilypond
+
+Se puede aplicar un formateo adicional mediante la instrucción
+@code{\markup}:
+
+@lilypond[verbatim,quote,relative=2]
+c1^\markup{ \bold espr}
+a1_\markup{
+  \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
+}
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ruser{Escritura del texto}.
+
+
+@node Barras automáticas y manuales
+@subsection Barras automáticas y manuales
+@translationof Automatic and manual beams
+
+@cindex barras de corchea
+@cindex barrado
+@cindex automáticas, barras
+@cindex manuales, barras
+@cindex barras automáticas
+@cindex barras manuales
+
+@funindex [ ... ]
+@funindex [
+@funindex ]
+@funindex \autoBeamOff
+@funindex autoBeamOff
+@funindex \autoBeamOn
+@funindex autoBeamOn
+
+Glosario musical:
+@rglos{beam}.
+
+Todas las @notation{barras} de las figuras se dibujan automáticamente:
+
+@lilypond[verbatim,quote,relative=2]
+a8 ais d ees r d c16 b a8
+@end lilypond
+
+Si no le gustan las barras automáticas, pueden forzarse manualmente.
+Marque la primera nota que comprende la barra con @code{[} y la última
+con @code{]}.
+
+@lilypond[verbatim,quote,relative=2]
+a8[ ais] d[ ees r d] a b
+@end lilypond
+
+Si quiere desactivar completamente el barrado automático o para una
+sección extensa de música, utilice la instrucción @code{\autoBeamOff}
+para apagarlo y @code{\autoBeamOn} para activarlo de nuevo.
+
+@lilypond[verbatim,quote,relative=2]
+\autoBeamOff
+a8 c b4 d8. c16 b4
+\autoBeamOn
+a8 c b4 d8. c16 b4
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ruser{Barras automáticas},
+@ruser{Barras manuales}.
+
+
+@node Instrucciones rítmicas avanzadas
+@subsection Instrucciones rítmicas avanzadas
+@translationof Advanced rhythmic commands
+
+@subheading Compás parcial
+
+@cindex anacrusa
+@cindex compás parcial
+
+@funindex \partial
+@funindex partial
+
+Glosario musical:
+@rglos{anacrusis}.
+
+Una @notation{anacrusa} se introduce con la palabra clave
+@code{\partial}.  Va seguida de una duración: @code{\partial 4} es una
+anacrusa de negra y @code{\partial 8} de corchea.
+
+@lilypond[verbatim,quote,relative=2]
+\partial 8
+f8 c2 d
+@end lilypond
+
+@subheading Grupos especiales
+
+@cindex grupos especiales
+@cindex tresillos
+
+@funindex \times
+@funindex times
+
+Glosario musical:
+@rglos{note value},
+@rglos{triplet}.
+
+Los grupos especiales como los tresillos se hacen con la palabra clave
+@code{\times}.  Requiere dos argumentos: una fracción y un fragmento
+de música.  La duración del fragmento de música se multiplica por la
+fracción.  Los tresillos hacen que las notas ocupen 2/3 de su duración
+expresa, por tanto un @notation{tresillo} lleva una fracción de 2/3:
+
+@lilypond[verbatim,quote,relative=2]
+\times 2/3 { f8 g a }
+\times 2/3 { c r c }
+\times 2/3 { f,8 g16[ a g a] }
+\times 2/3 { d4 a8 }
+@end lilypond
+
+@subheading Notas de adorno
+
+@cindex notas de adorno
+@cindex acciaccatura
+@cindex appoggiatura
+
+@funindex \grace
+@funindex grace
+@funindex \acciaccatura
+@funindex acciaccatura
+@funindex \appoggiatura
+@funindex acciaccatura
+
+Glosario musical:
+@rglos{grace notes},
+@rglos{acciaccatura},
+@rglos{appoggiatura}.
+
+Las @notation{notas de adorno} se crean con la instrucción
+@code{\grace}, aunque también se pueden conseguir precediendo una
+expresión musical por la palabra clave @code{\appoggiatura} o
+@code{\acciaccatura}
+
+@lilypond[verbatim,quote,relative=2]
+c2 \grace { a32[ b] } c2
+c2 \appoggiatura b16 c2
+c2 \acciaccatura b16 c2
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ruser{Notas de adorno},
+@ruser{Grupos especiales},
+@ruser{Anacrusas}.
+
+
+@node Varias notas a la vez
+@section Varias notas a la vez
+@translationof Multiple notes at once
+
+Esta sección es una introducción a las notas simultáneas: varios
+instrumentos, varios pentagramas para un solo instrumento
+(p.ej. piano) y acordes.
+
+La palabra @qq{polifonía} en música hace referencia al hecho de tener
+más de una voz en un momento determinado dentro de una pieza musical.
+La palabra @qq{polifonía} en LilyPond se refiere al hecho de tener más
+de una voz en el mismo pentagrama.
+
+@menu
+* Explicación de las expresiones musicales::
+* Varios pentagramas::
+* Grupos de pentagramas::
+* Combinar notas para formar acordes::
+* Polifonía en un solo pentagrama::
+@end menu
+
+
+@node Explicación de las expresiones musicales
+@subsection Explicación de las expresiones musicales
+@translationof Music expressions explained
+
+@cindex musical, expresión
+@cindex expresión musical
+@cindex compuesta, expresión musical
+@cindex musical, expresión, compuesta
+
+En los archivos de entrada de LilyPond, la música se representa
+mediante @emph{expresiones musicales}.  Una sola nota es una expresión
+musical:
+
+@lilypond[verbatim,quote,relative=2]
+a4
+@end lilypond
+
+Al encerrar un grupo de notas dentro de llaves creamos una
+@emph{expresión musical compuesta}.  Aquí hemos creado una expresión
+musical compuesta con dos notas:
+
+@lilypond[verbatim,quote,relative=2]
+{ a4 g4 }
+@end lilypond
+
+Si colocamos un grupo de expresiones musicales (p.ej.: notas) dentro
+de llaves, eso significa que se encuentran en secuencia (es decir,
+cada una sigue a la anterior).  El resultado es otra expresión
+musical:
+
+@lilypond[verbatim,quote,relative=2]
+{ { a4 g } f g }
+@end lilypond
+
+@subheading Analogía: expresiones matemáticas
+
+Este mecanismo es semejante a las fórmulas matemáticas: una fórmula
+grande se construye combinando fórmulas pequeñas.  Dichas fórmulas se
+llaman expresiones, y su definición es recursiva de tal forma que se
+pueden construir expresiones de un tamaño y complejidad arbitrarios.
+Por ejemplo:
+
+@example
+1
+
+1 + 2
+
+(1 + 2) * 3
+
+((1 + 2) * 3) / (4 * 5)
+@end example
+
+Ésta es una secuencia de expresiones donde cada expresión se encuentra
+contenida dentro de la siguiente, más grande.  Las expresiones más
+simples son números, y las mayores se hacen combinando expresiones
+mediante operadores (como @code{+}, @code{*} y @code{/}) y paréntesis.
+Del mismo modo que las expresiones matemáticas, las expresiones
+musicales se pueden anidar a una profundidad arbitraria, lo que se
+hace necesario para músicas complejas como las partituras polifónicas.
+
+
+@subheading Expresiones musicales simultáneas: varios pentagramas
+
+@cindex varios pentagramas
+@cindex pentagramas, varios
+@cindex polifonía
+@cindex combinar expresiones en paralelo
+@cindex paralelas, expresiones
+@cindex expresiones paralelas
+@cindex relativo, modo, música simultánea y
+@cindex relativo, modo, expresiones paralelas y
+@cindex simultánea, música, modo relativo y
+@cindex paralelas, expresiones, modo relativo y
+
+@funindex <<
+@funindex >>
+@funindex << ... >>
+
+Glosario musical:
+@rglos{polyphony}.
+
+Esta técnica es muy útil para la música @notation{polifónica}.  Para
+introducir música con más voces o con más pentagramas, lo que hacemos
+es combinar varias expresiones en paralelo.  Para indicar que dos
+voces se deben interpretar al mismo tiempo, sencillamente introduzca
+una combinación simultánea de expresiones musicales.  Una expresión
+musical @q{simultánea} se forma encerrando las expresiones dentro de
+@code{<<} y @code{>>}.  En el ejemplo que sigue, tres secuencias (cada
+una de las cuales contiene dos notas diferentes) se combinan de forma
+simultánea:
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  <<
+    { a4 g }
+    { f e }
+    { d b }
+  >>
+}
+@end lilypond
+
+Tenga en cuenta que hemos sangrado cada nivel jerárquico de la entrada
+con un margen distinto.  A LilyPond no le importa cuánto (o cuán poco)
+espacio haya al comienzo de una línea, pero el establecimiento de
+márgenes distintos dentro del código de LilyPond, de esta forma, lo
+hace mucho más fácil de leer por nosotros los seres humanos.
+
+@warning{Cada nota se entiende relativa a la nota anterior de la
+entrada, no relativa a la @code{c''} dentro de la instrucción inicial
+@code{@bs{}\relative}.}
+
+
+@subheading Expresiones musicales simultáneas: un solo pentagrama
+
+Para determinar el número de pentagramas en una pieza, LilyPond
+examina el comienzo de la primera expresión.  Si hay una sola nota,
+hay un solo pentagrama; si hay una expresión simultánea, hay más de un
+pentagrama.  El siguiente ejemplo presenta una expresión compleja,
+pero dado que comienza con una sola nota, se dispone sobre un solo
+pentagrama.
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  c2 <<c e>>
+  << { e f } { c <<b d>> } >>
+}
+@end lilypond
+
+@node Varios pentagramas
+@subsection Varios pentagramas
+@translationof Multiple staves
+
+@cindex varios pentagramas
+@cindex pentagramas, varios
+@cindex contexto
+@cindex contexto de notación
+@cindex notación, contexto de
+
+@funindex \new Staff
+@funindex new Staff
+@funindex Staff
+@funindex \new
+@funindex new
+@funindex Score
+@funindex Voice
+@funindex Lyrics
+@funindex ChordNames
+
+Como ya hemos visto en @ref{Explicación de las expresiones musicales},
+los archivos de entrada para LilyPond se construyen a base de
+expresiones musicales.  Si la partitura comienza con expresiones
+musicales simultáneas, LilyPond crea varios pentagramas.  Sin embargo
+es más fácil ver lo que ocurre si creamos cada uno de los pentagramas
+de forma explícita.
+
+Para imprimir más de un pentagrama, cada fragmento de música que
+constituye un pentagrama se marca escribiendo @code{\new Staff} antes
+de él.  Estos elementos @code{Staff} se combinan después en paralelo
+con @code{<<} y @code{>>}:
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  <<
+    \new Staff { \clef treble c }
+    \new Staff { \clef bass c,, }
+  >>
+}
+@end lilypond
+
+La instrucción @code{\new} inaugura un @q{contexto de notación}.  Un
+contexto de notación es un entorno dentro del que se interpretan los
+acontecimientos musicales (como las notas o las instrucciones
+@code{\clef}).  Para piezas sencillas, tales contextos de notación se
+crean automáticamente.  Para piezas más complicadas, es mejor marcar
+los contextos de forma explícita.
+
+Existen varias clases de contextos.  @code{Score}, @code{Staff} y
+@code{Voice} manejan la notación melódica, mientras que @code{Lyrics}
+se ocupa de los textos cantados y @code{ChordNames} imprime los
+nombres de los acordes.
+
+En términos de sintaxis, la anteposición de @code{\new} a una
+expresión musical crea una expresión musical mayor.  Es semejante al
+signo menos de las matemáticas.  La fórmula @math{(4+5)} es una
+expresión, por tanto @math{-(4+5)} es una expresión más amplia.
+
+Las indicaciones de compás escritas en un pentagrama afectan al resto
+de ellos, de forma predeterminada.  En cambio, la armadura de la
+tonalidad de un pentagrama @emph{no} afecta a los otros pentagramas.
+Este comportamiento predeterminado diferente es a causa de que las
+partituras con instrumentos transpositores son más comunes que las
+partituras polirrítmicas.
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  <<
+    \new Staff { \clef treble \key d \major \time 3/4 c }
+    \new Staff { \clef bass c,, }
+  >>
+}
+@end lilypond
+
+@node Grupos de pentagramas
+@subsection Grupos de pentagramas
+@translationof Staff groups
+
+@cindex sistema de piano
+@cindex piano, sistema de
+@cindex sistema de coro
+@cindex coro, sistema de
+@cindex grupo de pentagramas
+@cindex pentagramas, grupo de
+
+@funindex PianoStaff
+@funindex GrandStaff
+@funindex ChoirStaff
+
+Glosario musical:
+@rglos{brace}.
+
+La música para piano se compone tipográficamente en forma de dos
+pentagramas unidos mediante una @notation{llave}. El aspecto impreso
+de este sistema de pentagramas se parece al ejemplo polifónico que
+aparece en @ref{Varios pentagramas}, pero en esta ocasión la expresión
+completa se coloca dentro de un @code{PianoStaff}:
+
+@example
+\new PianoStaff <<
+  \new Staff @dots{}
+  \new Staff @dots{}
+>>
+@end example
+
+He aquí un pequeño ejemplo:
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  \new PianoStaff <<
+    \new Staff { \time 2/4 c4 e g g, }
+    \new Staff { \clef bass c,, c' e c }
+  >>
+}
+@end lilypond
+
+Otros grupos de pentagramas se declaran mediante @code{\new
+GrandStaff}, que es apropiado para partituras orquestales, y
+@code{\new ChoirStaff}, que es apropiado para partituras vocales.
+Cada uno de estos grupos de pautas forma un tipo de contexto distinto,
+que produce la llave a la izquierda y que también controla el alcance
+de las líneas divisorias.
+
+
+@seealso
+Referencia de la notación:
+@ruser{Teclados y otros instrumentos de varios pentagramas},
+@ruser{Impresión de los pentagramas}.
+
+
+@node Combinar notas para formar acordes
+@subsection Combinar notas para formar acordes
+@translationof Combining notes into chords
+
+@cindex acordes
+@cindex duraciones de notas en acordes
+
+@funindex <
+@funindex >
+@funindex < ... >
+
+Glosario musical:
+@rglos{chord}.
+
+Hemos visto con anterioridad cómo se pueden combinar las notas
+formando @notation{acordes} que indican que son simultáneas,
+encerrándolas entre dobles ángulos.  Sin embargo, la forma normal de
+indicar un acorde es encerrar las notas entre ángulos
+@emph{sencillos}.  Observe que todas las notas de un acorde deben
+tener la misma duración, y que la duración se escribe después del
+ángulo de cierre.
+
+
+@lilypond[verbatim,quote,relative=2]
+r4 <c e g>4 <c f a>2
+@end lilypond
+
+Debemos pensar en los acordes como algo casi equivalente a las notas
+sencillas: casi todo lo que se puede adjuntar a una nota se puede
+adjuntar también a un acorde, y todo debe ir @emph{por fuera} de los
+ángulos.  Por ejemplo, puede combinar marcas como barras y ligaduras,
+con acordes.  Tan sólo debe recordar que se escriben por fuera de los
+ángulos.
+
+@lilypond[verbatim,quote,relative=2]
+r4 <c e g>8[ <c f a>]~ <c f a>2
+r4 <c e g>8( <c e g>\> <c e g>4 <c f a>\!)
+@end lilypond
+
+
+@node Polifonía en un solo pentagrama
+@subsection Polifonía en un solo pentagrama
+@translationof Single staff polyphony
+
+@cindex polifonía
+@cindex varias voces
+@cindex voces, más, en un solo pentagrama
+@cindex único, polifonía en pentagrama
+@cindex separador, silencio
+@cindex silencio separador
+
+@funindex << ... \\ ... >>
+@funindex <<
+@funindex \\
+@funindex >>
+
+La música polifónica en LilyPond, aunque no es difícil, utiliza
+conceptos que aún no hemos tratado, por lo que no vamos a presentarlos
+en este momento.  En su lugar, las secciones siguientes presentan
+estos conceptos y los explican en profundidad.
+
+@seealso
+Manual de aprendizaje:
+@ref{Las voces contienen música}.
+
+Referencia de la notación:
+@ruser{Notas simultáneas}.
+
+
+@node Canciones
+@section Canciones
+@translationof Songs
+
+En esta sección presentamos cómo elaborar música vocal y hojas de
+canción sencillas.
+
+@menu
+* Elaborar canciones sencillas::
+* Alineación de la letra a una melodía::
+* Letra en varios pentagramas::
+@end menu
+
+
+@node Elaborar canciones sencillas
+@subsection Elaborar canciones sencillas
+@translationof Setting simple songs
+
+@cindex letra
+@cindex canciones
+
+@funindex \addlyrics
+@funindex addlyrics
+
+Glosario musical:
+@rglos{lyrics}.
+
+Presentamos a continuación el inicio de la melodía de una canción
+infantil, @qq{Girls and boys come out to play}:
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  \key g \major
+  \time 6/8
+  d4 b8 c4 a8 d4 b8 g4
+}
+@end lilypond
+
+La @notation{letra} se puede asignar a esas notas, combinando ambas
+con la palabra clave @code{\addlyrics}.  La letra se escribe separando
+cada sílaba mediante un espacio.
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key g \major
+    \time 6/8
+    d4 b8 c4 a8 d4 b8 g4
+  }
+  \addlyrics {
+    Girls and boys come out to play,
+  }
+>>
+@end lilypond
+
+Observe las llaves rodeando tanto la música como la letra.  Es
+esencial que la última sílaba esté separada de la llave de cierre por
+un silencio o línea en blanco, pues en caso contrario se tomará como
+parte de la sílaba, dando lugar a un extraño error, véase
+@rprogram{Apparent error in ../ly/init.ly}.
+
+Observe también los
+ángulos dobles @w{@code{<< ... >>}} alrededor del fragmento entero
+para expresar que la música y la letra han de suceder al mismo tiempo.
+
+@node Alineación de la letra a una melodía
+@subsection Alineación de la letra a una melodía
+@translationof Aligning lyrics to a melody
+
+@cindex melisma
+@cindex línea de extensión
+@cindex guión
+@cindex guión bajo
+@cindex letra, alineación de
+@cindex alineación de la letra
+@cindex letra, palabras polisílabas
+@cindex palabras polisílabas en la letra
+
+Glosario musical:
+@rglos{melisma},
+@rglos{extender line}.
+
+La siguiente línea de la canción infantil es @notation{The moon doth
+shine as bright as day}.  A continuación vamos a ampliarla:
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key g \major
+    \time 6/8
+    d4 b8 c4 a8 d4 b8 g4
+    g8 a4 b8 c b a d4 b8 g4.
+  }
+  \addlyrics {
+    Girls and boys come out to play,
+    The moon doth shine as bright as day;
+  }
+>>
+@end lilypond
+
+Podemos observar que la letra adicional no se alinea correctamente con
+las notas.  La palabra @q{shine} se debe cantar sobre dos notas, no
+una.  Esto se conoce como @notation{melisma}, una sílaba única que se
+canta sobre más de una nota.  Existen varias formas de hacer que una
+sílaba recaiga sobre varias notas, siendo la más sencilla escribir una
+ligadura de expresión sobre ellas (véase @ref{Ligaduras de unión y de
+expresión}):
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key g \major
+    \time 6/8
+    d4 b8 c4 a8 d4 b8 g4
+    g8 a4 b8 c( b) a d4 b8 g4.
+  }
+  \addlyrics {
+    Girls and boys come out to play,
+    The moon doth shine as bright as day;
+  }
+>>
+@end lilypond
+
+Ahora la letra se alinea correctamente con las notas, pero el barrado
+automático de las notas que corresponden a @notation{shine as} no
+parece correcto.  Podemos remediarlo insertando instrucciones de
+barrado manual para sobreescribir el barrado automático; para ver más
+detalles consulte @ref{Barras automáticas y manuales}.
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key g \major
+    \time 6/8
+    d4 b8 c4 a8 d4 b8 g4
+    g8 a4 b8 c([ b]) a d4 b8 g4.
+  }
+  \addlyrics {
+    Girls and boys come out to play,
+    The moon doth shine as bright as day;
+  }
+>>
+@end lilypond
+
+Como alternativa a la utilización de ligaduras de expresión, los
+melismas se pueden indicar solamente en la letra utilizando un guión
+bajo, @code{_}, para cada nota que queremos incluir dentro del
+melisma:
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key g \major
+    \time 6/8
+    d4 b8 c4 a8 d4 b8 g4
+    g8 a4 b8 c[ b] a d4 b8 g4.
+  }
+  \addlyrics {
+    Girls and boys come out to play,
+    The moon doth shine _ as bright as day;
+  }
+>>
+@end lilypond
+
+Si una sílaba se extiende sobre varias notas o una sola nota muy
+larga, normalmente se traza una @notation{línea extensora} desde la
+sílaba que se extiende y por debajo de todas las notas que
+corresponden a dicha sílaba.  Se escribe como dos guiones bajos
+@code{__}.  He aquí un ejemplo extraído de los primeros tres compases
+del @notation{Lamento de Dido}, de @notation{Dido y Eneas} de Purcell:
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key g \minor
+    \time 3/2
+    g2 a bes bes( a)
+    b c4.( bes8 a4. g8 fis4.) g8 fis1
+  }
+  \addlyrics {
+    When I am laid,
+    am laid __ in earth,
+  }
+>>
+@end lilypond
+
+Hasta el momento, ninguno de los ejemplos implicaban palabras que
+tuviesen más de una sílaba.  Estas palabras se reparten por lo general
+a razón de una nota por cada sílaba, con guiones cortos entre las
+sílabas.  Dichos guiones separadores se teclean como dos guiones, con
+el resultado de un guión corto centrado entre las sílabas.
+Presentamos a continuación un ejemplo que demuestra esto y todo lo que
+hemos aprendido hasta el momento acerca de la alineación de la letra a
+las notas.
+
+@c no ragged-right here because otherwise the hyphens get lost,
+@c but the example is long enough to avoid looking strange.
+@lilypond[verbatim,quote,noragged-right]
+<<
+  \relative c' {
+    \key g \major
+    \time 3/4
+    \partial 4
+    d4 g4 g a8( b) g4 g4
+    b8( c) d4 d e4 c2
+  }
+  \addlyrics {
+    A -- way in a __ man -- ger,
+    no __ crib for a bed, __
+  }
+>>
+@end lilypond
+
+Algunos textos (especialmente los que están en italiano o en español)
+requieren lo contrario: colocar más de una sílaba a una única nota.
+Esto se consigue enlazando las sílabas entre sí mediante un guión bajo
+simple @code{_} (sin ningún espacio), o bien encerrándolas entre
+corchetes.  Aquí aparece un ejemplo procedente del @notation{Barbero
+de Sevilla} de Rossini, donde la sílaba @notation{al} se canta sobre
+la misma nota que la sílaba @notation{go} de la palabra @q{Largo} en
+el aria de Fígaro @notation{Largo al factotum}:
+
+@c no ragged-right here because otherwise the hyphens get lost,
+@c but the example is long enough to avoid looking strange.
+@lilypond[verbatim,quote,noragged-right]
+<<
+  \relative c' {
+    \clef bass
+    \key c \major
+    \time 6/8
+    c4.~ c8 d b c([ d]) b c d b c
+  }
+  \addlyrics {
+    Lar -- go_al fac -- to -- tum del -- la cit -- tà
+  }
+>>
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ruser{Música vocal}.
+
+
+@node Letra en varios pentagramas
+@subsection Letra en varios pentagramas
+@translationof Lyrics to multiple staves
+
+@cindex letra y varios pentagramas
+@cindex varios pentagramas y letra
+
+La solución sencilla que utiliza @code{\addlyrics} se puede usar para
+poner letra a más de un pentagrama.  Aquí aparece un ejemplo sacado
+del @notation{Judas Macabeo} de Haendel:
+
+@lilypond[verbatim,quote]
+<<
+  \relative c'' {
+    \key f \major
+    \time 6/8
+    \partial 8
+    c8 c([ bes]) a a([ g]) f f'4. b, c4.~ c4
+  }
+  \addlyrics {
+    Let flee -- cy flocks the hills a -- dorn, __
+  }
+  \relative c' {
+    \key f \major
+    \time 6/8
+    \partial 8
+    r8 r4. r4 c8 a'([ g]) f f([ e]) d e([ d]) c bes'4
+  }
+  \addlyrics {
+    Let flee -- cy flocks the hills a -- dorn,
+  }
+>>
+@end lilypond
+
+
+Cualquier partitura de una complejidad mayor que la de este sencillo
+ejemplo se hace mejor separando la letra de la estructura de
+pentagramas mediante variables (expresiones con nombre).  Éstas se
+tratan en @ref{Organizar las piezas mediante variables}.
+
+
+@seealso
+Referencia de la notación:
+@ruser{Música vocal}.
+
+
+@node Retoques finales
+@section Retoques finales
+@translationof Final touches
+
+Éste es el último apartado del tutorial; muestra la forma de dar los
+toques finales a piezas sencillas, y ofrece una introducción al resto
+del manual.
+
+@menu
+* Organizar las piezas mediante variables::
+* Añadir títulos::
+* Nombres de nota absolutos::
+* Más allá del tutorial::
+@end menu
+
+
+@node Organizar las piezas mediante variables
+@subsection Organizar las piezas mediante variables
+@translationof Organizing pieces with variables
+
+@cindex variables
+@cindex variables, definir
+@cindex identificadores
+@cindex macros
+@cindex asignación de variables
+@cindex uso de las variables
+@cindex variables, uso de
+@cindex variables, caracteres permitidos en
+@cindex caracteres permitidos en variables
+
+Cuando los elementos que hemos discutido anteriormente se combinan
+para producir archivos mayores, las expresiones musicales se hacen
+enormes.  En música polifónica con muchos pentagramas, los archivos de
+entrada pueden volverse muy propensos a la confusión.  Podemos reducir
+esta confusión utilizando las @emph{variables}.
+
+Con las variables (también conocidas como identificadores o macros),
+podemos trocear las expresiones musicales complejas.  Una variable se
+asigna de la manera siguiente:
+
+@example
+musicaConNombre = @{ @dots{} @}
+@end example
+
+El contenido de la expresión musical @code{musicaConNombre} se puede
+usar posteriormente colocando una barra invertida delante del nombre
+(@code{\musicaConNombre}, igual que una orden normal de LilyPond).
+
+@lilypond[verbatim,quote]
+violin = \new Staff {
+  \relative c'' {
+    a4 b c b
+  }
+}
+cello = \new Staff {
+  \relative c {
+    \clef bass
+    e2 d
+  }
+}
+{
+  <<
+    \violin
+    \cello
+  >>
+}
+@end lilypond
+
+@noindent
+El nombre de una variable debe consistir enteramente en caracteres
+alfabéticos, es decir sin números, guiones ni guiones bajos.
+
+Las variables se deben definir @emph{antes} de la expresión musical
+principal, pero se pueden usar tantas veces como se quiera, en
+cualquier lugar, una vez que han sido definidas.  Incluso se pueden
+usar dentro de la definición de otra variable, proporcionando una vía
+para acortar el código si una sección musical se repite muchas veces.
+
+@c KEEP LY
+@lilypond[verbatim,quote,ragged-right]
+tresilloA = \times 2/3 { c,8 e g }
+compasA = { \tresilloA \tresilloA \tresilloA \tresilloA }
+
+\relative c'' {
+ \compasA \compasA
+}
+@end lilypond
+
+Las variables se pueden usar para otros muchos tipos de objetos dentro
+del código de entrada.  Por ejemplo,
+
+@example
+ancho = 4.5\cm
+nombre = "Wendy"
+papelAcinco = \paper @{ paperheight = 21.0 \cm @}
+@end example
+
+Dependiendo de su contenido, la variable se puede usar en distintos
+lugares.  El siguiente ejemplo utiliza las variables anteriores:
+
+@example
+\paper @{
+  \papelAcinco
+  line-width = \ancho
+@}
+@{
+  c4^\nombre
+@}
+@end example
+
+
+
+
+@node Añadir títulos
+@subsection Añadir títulos
+@translationof Adding titles
+
+@cindex título
+@cindex cabeceras
+@cindex bloque de cabeceras
+
+@funindex \header
+@funindex header
+
+La información sobre el título, autor, número de Opus y similares se
+escriben en el bloque @code{\header}.  Éste se encuentra fuera de la
+expresión musical principal; el bloque @code{\header} normalmente se
+sitúa por debajo del número de versión.
+
+@example
+\version @w{"@version{}"}
+\header @{
+  title = "Sinfonía"
+  composer = "Yo"
+  opus = "Op. 9"
+@}
+
+@{
+  @dots{} música @dots{}
+@}
+@end example
+
+Cuando se procesa el archivo, el título y el autor se imprimen por
+encima de la música.  Puede obtener más información sobre los títulos
+en @ruser{Crear títulos}.
+
+
+@node Nombres de nota absolutos
+@subsection Nombres de nota absolutos
+@translationof Absolute note names
+
+@cindex notas, nombres de
+@cindex notas, nombres absolutos de
+@cindex absoluto, modo
+@cindex absolutos, valores de altura
+@cindex alturas, valores absolutos de
+@cindex absolutos, nombres de nota
+
+Hasta el momento siempre hemos utilizado @code{\relative} para definir
+las alturas.  Ésta es la forma más sencilla de escribir la mayor parte
+de la música, pero existe otra forma de definir las alturas: el modo
+absoluto.
+
+Si omite el @code{\relative}, LilyPond tratará todas las alturas como
+valores absolutos.  Una @code{c'} significará siembre un Do central,
+una @code{b} significará siempre la nota inmediatamente por debajo del
+Do central, y una @code{g,} significará siempre la nota que se coloca
+en la primera línea del pentagrama en clave de Fa.
+
+@lilypond[verbatim,quote]
+{
+  \clef bass
+  c' b g, g,
+  g, f, f c'
+}
+@end lilypond
+
+He aquí una escala que abarca cuatro octavas:
+
+@lilypond[verbatim,quote]
+{
+  \clef bass
+  c, d, e, f,
+  g, a, b, c
+  d e f g
+  a b c' d'
+  \clef treble
+  e' f' g' a'
+  b' c'' d'' e''
+  f'' g'' a'' b''
+  c'''1
+}
+@end lilypond
+
+Como puede ver, escribir una melodía en clave de Sol implica escribir
+gran cantidad de apóstrofos @q{'} .  Consideremos este fragmento de
+Mozart:
+
+@lilypond[verbatim,quote]
+{
+  \key a \major
+  \time 6/8
+  cis''8. d''16 cis''8 e''4 e''8
+  b'8. cis''16 b'8 d''4 d''8
+}
+@end lilypond
+
+Todos estos apóstrofos hacen casi ilegible el código de entrada y será
+origen de numerosos errores.  Con @code{\relative}, el ejemplo
+anterior es mucho más fácil de leer:
+
+@lilypond[verbatim,quote]
+\relative c'' {
+  \key a \major
+  \time 6/8
+  cis8. d16 cis8 e4 e8
+  b8. cis16 b8 d4 d8
+}
+@end lilypond
+
+Si comete un error con una marca de octava (@code{'} o @code{,})
+mientras trabaja en el modo @code{\relative}, será muy obvio (muchas
+notas estarán en la octava equivocada).  Mientras trabaja en el modo
+absoluto, un solo fallo no será tan visible, y tampoco será tan fácil
+de localizar.
+
+Sin embargo, el modo absoluto es útil para escribir música que
+contenga intervalos grandes, y será extremadamente útil para hacer
+archivos de LilyPond generados por ordenador.
+
+
+
+@node Más allá del tutorial
+@subsection Más allá del tutorial
+@translationof After the tutorial
+
+Después de terminar el tutorial, quizá debería probar a escribir una o
+dos piezas.  Comience con una de las plantillas que aparecen en
+@ref{Plantillas} y añada algunas notas.  Si necesita un tipo de
+notación que no ha sido tratada en el tutorial, eche un vistazo a la
+Referencia de Notación, empezando por @ruser{Notación musical}.  Si
+quiere escribir música para un conjunto instrumental que no está
+cubierto por ninguna plantilla, consulte @ref{Extender las
+plantillas}.
+
+Una vez que ha escrito algunas piezas cortas, lea el resto del Manual
+de aprendizaje (capítulos 3 al 5).  ¡Por supuesto, no pasa nada por
+leerlo ahora mismo!  Sin embargo, el resto del Manual de Aprendizaje
+da por sentado que está familiarizado con la entrada de LilyPond.
+Puede saltarse estos capítulos ahora y volver a ellos cuando haya
+adquirido más experiencia.
+
+En este tutorial y en el resto del Manual de aprendizaje, existe un
+apartado @strong{Véase también} al final de cada una de las secciones,
+que contiene referencias cruzadas a otras secciones: no siga estas
+referencias durante la primera lectura; cuando haya leído el Manual de
+aprendizaje completo, quizá desee releer ciertas secciones y seguir
+las referencias cruzadas para obtener más información.
+
+Si no lo ha hecho aún, le @emph{rogamos} que lea @ref{Sobre la
+documentación}.  Existe una gran cantidad de información sobre
+LilyPond, de manera que los recién llegados con frecuencia no saben
+exactamente dónde deben buscar la ayuda.  Si emplea cinco minutos en
+leer cuidadosamente esta sección ¡se ahorrará horas de frustración
+buscando en el sitio equivocado!
+
diff --git a/Documentation/es/learning/scheme-tutorial.itely b/Documentation/es/learning/scheme-tutorial.itely
deleted file mode 100644 (file)
index 2234abb..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
-
-@ignore
-    Translation of GIT committish: 5f51567fbc5d7a811e147ebd01f103e066f36b3a
-
-    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.12.0"
-
-
-@node Tutorial de Scheme
-@appendix Tutorial de Scheme
-@translationof Scheme tutorial
-
-@funindex #
-@cindex Scheme
-@cindex GUILE
-@cindex Scheme, código en línea
-@cindex acceder a Scheme
-@cindex evaluar Scheme
-@cindex LISP
-
-LilyPond utiliza el lenguaje de programación Scheme, tanto como parte
-de la sintaxis del código de entrada, como para servir de mecanismo
-interno que une los módulos del programa entre sí.  Esta sección es
-una panorámica muy breve sobre cómo introducir datos en Scheme.  Si
-quiere saber más sobre Scheme, consulte
-@uref{http://@/www@/.schemers@/.org}.
-
-LilyPond utiliza la implementación GNU Guile de Scheme, que está
-basada en el estándar @qq{R5RS} del lenguaje.  Si está aprendiendo
-Scheme para usarlo con LilyPond, no se recomienda trabajar con una
-implementación distinta (o que se refiera a un estándar diferente).
-Hay información sobre Guile en
-@uref{http://www.gnu.org/software/guile/}.  El estándar de Scheme
-@qq{R5RS} se encuentra en
-@uref{http://www.schemers.org/Documents/Standards/R5RS/}.
-
-La instalación de LilyPond inclute también la de la implementación
-Guile de Scheme.  Sobre casi todos los sistemas puede experimentar en
-una @qq{caja de arena} de Scheme abriendo una ventana del terminal y
-tecleando @q{guile}.  En algunos sistemas, sobre todo en Windows,
-podría necesitar ajustar la variable de entorno @code{GUILE_LOAD_PATH}
-a la carpeta @code{../usr/shr/guile/1.8} dentro de la instalación de
-LilyPond (para conocer la ruta completa a esta carpeta, consulte
-@ref{Otras fuentes de información}).  Como alternativa, los usuarios
-de Windows pueden seleccionar simplemente @q{Ejecutar} del menú Inicio
-e introducir @q{guile}.
-
-El concepto más básico de un lenguaje son sus tipos de datos: números,
-cadenas de caracteres, listas, etc.  He aquí una lista de los tipos de
-datos que son de relevancia respecto de la entrada de LilyPond.
-
-@table @asis
-@item Booleanos
-Los valores Booleanos son Verdadero y Falso.  Verdadero en Scheme es @code{#t}
-y Falso es @code{#f}.
-@funindex ##t
-@funindex ##f
-
-@item Números
-Los números se escriben de la forma normal, @code{1} es el número
-(entero) uno, mientras que @code{-1.5} es un número en coma flotante
-(un número no entero).
-
-@item Cadenas
-Las cadenas se encierran entre comillas:
-
-@example
-"esto es una cadena"
-@end example
-
-Las cadenas pueden abarcar varias líneas:
-
-@example
-"esto
-es
-una cadena"
-@end example
-
-También se pueden añadir comillas y saltos de línea con las llamadas
-secuencias de escape.  La cadena @code{a dijo "b"} se escribe como
-
-@example
-"a dijo \"b\""
-@end example
-
-Los saltos de línea t las barras invertidas se escapan mediante
-@code{\n} y @code{\\} respectivamente.
-@end table
-
-
-En un archivo de música, los fragmentos de código de Scheme se
-escriben con el signo de almohadilla @code{#}.  Así, los ejemplos
-anteriores traducidos a LilyPond son:
-
-@example
-##t ##f
-#1 #-1.5
-#"esto es una cadena"
-#"esto
-es
-una cadena"
-@end example
-
-Observe que los comentarios de LilyPond (@code{%} y @code{%@{ %@}}) no
-se puedden utilizar dentro del código de Scheme.  Los comentarios en
-el Scheme de Guile se introducen como sigue:
-
-@example
-; esto es un comentario de una línea
-
-#!
-  Esto es un comentario de bloque (no anidable) estilo Guile
-  Pero se usan rara vez por parte de los Schemers y nunca dentro del
-  código fuente de LilyPond
-!#
-@end example
-
-Se pueden combinar en un mismo archivo de música varias expresiones de
-Scheme consecutivas mediante la utilización del operador @code{begin}.
-Ello permite que el número de marcas de cuadradillo se redizca a una.
-
-@example
-#(begin
-  (define fulanito 0)
-  (define menganito 1))
-@end example
-
-Si el @code{#} va seguido de un paréntesis de apertura, @code{(}, como
-en el ejemplo anterior, el analizador sintáctico permanece dentro del
-modo de Scheme hasta que encuentra el paréntesis de cierre
-correspondiente, @code{)}, por lo que no son necesarios más símbolos
-de @code{#} para introducir una sección de Scheme.
-
-Durante el resto de esta sección, supondremos que los datos se
-introducen en un archivo de música, por lo que añadiremos almohadillas
-@code{#} en todas partes.
-
-Scheme se puede usar para hacer cálculos.  Utiliza sintaxis
-@emph{prefija}.  Sumar 1 y@tie{}2 se escribe como @code{(+ 1 2)} y no
-como el tradicional @math{1+2}.
-
-@lisp
-#(+ 1 2)
-  @result{} #3
-@end lisp
-
-La flecha @result{} muestra que el resultado de evaluar @code{(+ 1 2)}
-es@tie{}@code{3}.  Los cálculos se pueden anidar; el resultado de una
-función se puede usar para otro cálculo.
-
-@lisp
-#(+ 1 (* 3 4))
-  @result{} #(+ 1 12)
-  @result{} #13
-@end lisp
-
-Estos cálculos son ejemplos de evaluaciones; una expresión como
-@code{(* 3 4)} se sustituye por su valor @code{12}.  Algo similar
-ocurre con las variables.  Después de haber definido una variable
-
-@example
-doce = #12
-@end example
-
-@noindent
-las variables se pueden usar también dentro de las expresiones, aquí
-
-@example
-veintiCuatro = #(* 2 doce)
-@end example
-
-@noindent
-el número 24 se almacena dentro de la variable @code{veintiCuatro}.
-La misma asignación se puede hacer también completamente en Scheme,
-
-@example
-#(define veintiCuatro (* 2 doce))
-@end example
-
-El @emph{nombre} de una variable también es una expresión, similar a
-un número o una cadena.  Se introduce como
-
-@example
-#'veintiCuatro
-@end example
-
-@funindex #'symbol
-@cindex comillas en Scheme
-
-El apóstrofo @code{'} evita que el intérprete de Scheme sustituya
-@code{veintiCuatro} por @code{24}.  En vez de esto, obtenemos el
-nombre @code{veintiCuatro}.
-
-Esta sintaxis se usará con mucha frecuencia, pues muchos de los trucos
-de presentación consisten en asignar valores (de Scheme) a variables
-internas, por ejemplo
-
-@example
-\override Stem #'thickness = #2.6
-@end example
-
-Esta instrucción ajusta el aspecto de las plicas.  El valor @code{2.6}
-se pone dentro de la variable @code{thickness} de un objeto
-@code{Stem}.  @code{thickness} se mide a partir del grosor de las
-líneas del pentagrama, y así estas plicas serán @code{2.6} veces el
-grosor de las líneas del pentagrama.  Esto hace que las plicas sean
-casi el doble de gruesas de lo normal.  Para distinguir entre las
-variables que se definen en los archivos de entrada (como
-@code{veintiCuatro} en el ejemplo anterior) y las variables de los
-objetos internos, llamaremos a las últimas @q{propiedades} y a las
-primeras @q{variables.}  Así, el objeto plica tiene una propiedad
-@code{thickness} (grosor), mientras que @code{veintiCuatro} es una
-variable.
-
-@cindex propiedades frente a variables
-@cindex variables frente a propiedades
-
-Los desplazamientos bidimensionales (coordenadas X e Y) así como los
-tamaños de los objetos (intervalos con un punto izquierdo y otro
-derecho) se introducen como @code{parejas}.  Una pareja@footnote{En la
-terminología de Scheme, la pareja se llama @code{cons}, y sus dos
-elementos se llaman @code{car} y @code{cdr} respectivamente.}  se
-introduce como @code{(primero . segundo)} y, como los símbolos, se deben
-preceder de un apóstrofo:
-
-@example
-\override TextScript #'extra-offset = #'(1 . 2)
-@end example
-
-Esto asigna la pareja (1, 2) a la propiedad @code{extra-offset} del
-objeto TextScript.  Estos números se miden en espacios de pentagrama,
-y así esta instrucción mueve el objeto un espacio de pentagrama a la
-derecha, y dos espacios hacia arriba.
-
-Los dos elementos de una pareja pueden ser valores arbitrarios, por
-ejemplo
-
-@example
-#'(1 . 2)
-#'(#t . #f)
-#'("bla-bla" . 3.14159265)
-@end example
-
-Una lista se escribe encerrando sus elementos entre paréntesis, y
-añadiendo un apóstrofo.  Por ejemplo,
-
-@example
-#'(1 2 3)
-#'(1 2 "cadena" #f)
-@end example
-
-Todo el tiempo hemos estado usando listas.  Un cálculo, como @code{(+
-1 2)} también es una lista (que contiene el símbolo @code{+} y los
-números 1 y@tie{}2).  Normalmente, las listas se interpretan como
-cálculos, y el intérprete de Scheme sustituye el resultado del
-cálculo.  Para escribir una lista, detenemos la evaluación.  Esto se
-hace precediendo la lista por un apóstrofo @code{'}.  Así, para los
-cálculos no usamos ningún apóstrofo.
-
-Dentro de una lista o pareja precedida de apóstrofo, no hay necesidad
-de escribir ningún apóstrofo más.  Lo siguiente es una pareja de
-símbolos, una lista de símbolos y una lista de listas respectivamente:
-
-@example
-#'(stem . head)
-#'(staff clef key-signature)
-#'((1) (2))
-@end example
-
-
-@menu
-* Trucos con Scheme::
-@end menu
-
-@node Trucos con Scheme
-@appendixsec Trucos con Scheme
-@translationof Tweaking with Scheme
-
-Hemos visto cómo la salida de LilyPond se puede modificar
-profundamente usando instrucciones como @code{\override TextScript
-#'extra-offset = ( 1 . -1)}.  Pero tenemos incluso mucho más poder si
-utilizamos Scheme.  Para ver una explicación completa de esto,
-consulte el @ref{Tutorial de Scheme}, y @ruser{Interfaces para programadores}.
-
-Podemos usar Scheme simplemente para sobreescribir instrucciones con
-@code{\override},
-
-@c This isn't a valid example with skylining
-@c It works fine without padText  -td
-
-@ignore
-@lilypond[quote,verbatim,ragged-right]
-padText = #(define-music-function (parser location padding) (number?)
-#{
-  \once \override TextScript #'padding = #$padding
-#})
-
-\relative c''' {
-  c4^"piu mosso" b a b
-  \padText #1.8
-  c4^"piu mosso" d e f
-  \padText #2.6
-  c4^"piu mosso" fis a g
-}
-@end lilypond
-@end ignore
-
-Lo podemos usar para crear instrucciones nuevas:
-
-@c Check this is a valid example with skylining
-@c It is - 'padding still works
-
-@lilypond[quote,verbatim,ragged-right]
-tempoPadded = #(define-music-function (parser location padding tempotext)
-  (number? string?)
-#{
-  \once \override Score.MetronomeMark #'padding = $padding
-  \tempo \markup { \bold $tempotext }
-#})
-
-\relative c'' {
-  \tempo \markup { "Low tempo" }
-  c4 d e f g1
-  \tempoPadded #4.0 #"High tempo"
-  g4 f e d c1
-}
-@end lilypond
-
-Incluso se le pueden pasar expresiones musicales:
-
-@lilypond[quote,verbatim,ragged-right]
-pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
-#{
-  $x e8 a b $y b a e
-#})
-
-\relative c''{
-  \pattern c8 c8\f
-  \pattern {d16 dis} { ais16-> b\p }
-}
-@end lilypond
-
index 6e9bf672e39b3a6a4ec6e63b16836723a67fb1eb..de5ddc12fda0706118fc4cc08ccfffa2333a16b6 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+    Translation of GIT committish: 63bb5865b4748646e330e1399206f7f48def7d01
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -26,8 +26,7 @@ unas hermosas partituras impresas!
 * Conjuntos vocales::
 * Plantillas orquestales::
 * Plantillas para notación antigua::
-* Combo de jazz::
-* Plantillas de lilypond-book::
+* Otras plantillas::
 @end menu
 
 
@@ -141,122 +140,15 @@ unas hermosas partituras impresas!
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
 {ancient-notation-template----modern-transcription-of-gregorian-music.ly}
 
-@node Combo de jazz
-@appendixsec Combo de jazz
+
+@node Otras plantillas
+@appendixsec Otras plantillas
+@translationof Other templates
+
+@appendixsubsec Combo de jazz
 @translationof Jazz combo
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
 {jazz-combo-template.ly}
 
-@node Plantillas de lilypond-book
-@appendixsec Plantillas de lilypond-book
-@translationof lilypond-book templates
-
-Estas plantillas se usan para @code{lilypond-book}.  Si no está familiarizado con este
-programa, consulte @rprogram{LilyPond-book}.
-
-@appendixsubsec LaTeX
-
-Podemos insertar fragmentos de LilyPond dentro de un documento de LaTeX.
-
-@example
-\documentclass[]@{article@}
-
-\begin@{document@}
-
-Texto normal en LaTeX.
-
-\begin@{lilypond@}
-\relative c'' @{
-a4 b c d
-@}
-\end@{lilypond@}
-
-Más texto en LaTeX.
-
-\begin@{lilypond@}
-\relative c'' @{
-d4 c b a
-@}
-\end@{lilypond@}
-\end@{document@}
-@end example
-
-@appendixsubsec Texinfo
-
-Podemos insertar fragmentos de LilyPond dentro de Texinfo; de hecho, todo el presente manual
-está escrito en Texinfo.
-
-@example
-\input texinfo
-@@node Top
-
-Texto en Texinfo
-
-@@lilypond[verbatim,fragment,ragged-right]
-a4 b c d
-@@end lilypond
-
-Más texto en Texinfo
-
-@@lilypond[verbatim,fragment,ragged-right]
-d4 c b a
-@@end lilypond
-
-@@bye
-@end example
-
-
-@appendixsubsec xelatex
-
-@verbatim
-\documentclass{article}
-\usepackage{ifxetex}
-\ifxetex
-%xetex specific stuff
-\usepackage{xunicode,fontspec,xltxtra}
-\setmainfont[Numbers=OldStyle]{Times New Roman}
-\setsansfont{Arial}
-\else
-%Esto puede estar en blanco si no vamos a usar  pdftex
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage{mathptmx}%Times
-\usepackage{helvet}%Helvetica
-\fi
-%Aquí podemos insertar todos los paquetes que pdftex también entiende
-\usepackage[spanish,ngerman,finnish,english]{babel}
-\usepackage{graphicx}
-
-\begin{document}
-\title{Un breve documento con LilyPond y xelatex}
-\maketitle
-
-Las instrucciones \textbf{font} normales dentro del \emph{text}
-funcionan, porque \textsf{están contempladas por \LaTeX{} y XeteX.}
-Si quiere usar instrucciones específicas como \verb+\XeTeX+, debe
-incluirlas también dentro de un entorno \verb+\ifxetex+. Puede usar
-esto para imprimir la instrucción \ifxetex \XeTeX{} \else XeTeX \fi
-que no es conocida para el \LaTeX normal.
-
-Dentro del texto normal puede usar fácilmente instrucciones de
-LilyPond, como ésta:
-
-\begin{lilypond}
-{a2 b c'8 c' c' c'}
-\end{lilypond}
 
-\noindent
-etcétera.
-
-Las tipografías de los fragmentos establecidas con LilyPond se tendrán
-que ajustar desde dentro del fragmento. Para esto debe leer el manual
-UA en cuanto a cómo usar lilypond-book.
-
-\selectlanguage{ngerman}
-Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
-anderen
-seltsamen Zeichen: __ ______, wenn sie von der Schriftart
-unterst__tzt werden.
-\end{document}
-@end verbatim
index d421b2a19479acec821bf7cc50861675001c033a..12e046f24f4419a921224e612c8667cc784d502e 100644 (file)
@@ -1,55 +1,33 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     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
-@documentencoding UTF-8
-@documentlanguage es
+
 @setfilename lilypond.info
 @settitle Referencia de la notación de GNU LilyPond
-
-@include macros.itexi
-
+@documentencoding UTF-8
+@documentlanguage es
 @afourpaper
 
-@c  Keep this here, since it pertains to the direntry below.
-@ignore
-Distributions will want to install lilypond.info in postinstall, doing:
-
-    install-info --info-dir=/usr/share/info out/lilypond.info
-
-  * Prepend GNU for dir, must be unique.
+@macro manualIntro
+Este manual ofrece una referencia para toda la notación musical que se
+puede prducir con LilyPond versión @version{}.  Da por sentado que el
+lector está familiarizado con el material que hay en
+@rlearningnamed{Top, Manual de aprendizaje}.
+@end macro
 
-  * Do not list the `lilypond' node at toplevel, so that `info lilypond'
-    goes to Top.
-
-  * List all commands in direntry.
-
-@c  * lilypond: (lilypond/lilypond)Running LilyPond.      Invoking the
-@c    LilyPond  program.
-@end ignore
+@c `Notation Reference' was born 1999-10-11 with git commit 940dda0...
+@macro copyrightDeclare
+Copyright @copyright{} 1999--2009 por los autores.
+@end macro
 
 
-@c
-@c Info files are no longer installed in a subdirectory, images are
-@c expected to be found in lilypond/ subdirectory.
-@dircategory GNU LilyPond: el tipografiador de música.
-@direntry
-* LilyPond Learning Manual: (lilypond-learning).        Comience por aquí.
-* Music Glossary: (music-glossary).                     Para usuarios de habla no inglesa.
-* LilyPond: (lilypond).                                 Referencia de la notación con LilyPond.
-* LilyPond Internals Reference: (lilypond-internals).   Definiciones para el trucaje.
-* LilyPond Application Usage: (lilypond-program).       Instalar y ejecutar las aplicaciones.
-* abc2ly: (lilypond-program)Invocar abc2ly.             Importar archivos de ABC.
-* convert-ly: (lilypond-program)Actualizar archivos mediante convert-ly.  Versiones de LilyPond antiguas.
-* etf2ly: (lilypond-program)Invocar etf2ly.                  Importar archivos de Finale.
-* lilypond-book: (lilypond-program)LilyPond-book.            Integrar texto y música.
-* midi2ly: (lilypond-program)Invocar  midi2ly.               Importar archivos MIDI.
-* musicxml2ly: (lilypond-program)Invocar musicxml2ly.        Importar MusicXML.
-@end direntry
+@set FDL
+@include macros.itexi
 
 @c don't remove this comment.
 @ignore
@@ -62,172 +40,35 @@ Distributions will want to install lilypond.info in postinstall, doing:
 
 @c Translators: Francisco Vila
 
-@ifnottex
-@node Arriba
-@top GNU LilyPond: Manual de referencia de la notación
-@translationof Top
-@chapheading El tipografiador de música
-@c HJJ: Info needs `@top', which is a synonym for `@unnumbered' in TeX.
-@end ifnottex
-
+@lilyTitlePage{Referencia de la notación}
 
-@ifhtml
-@ifclear bigpage
-Este documento también está disponible en formato
-@uref{source/Documentation/notation.es.pdf,PDF} y como
-@uref{source/Documentation/notation-big-page.es.html,una sola página}.
-@end ifclear
-@ifset bigpage
-Este documento también está disponible en formato
-@uref{source/Documentation/notation.es.pdf,PDF} y como
-@uref{source/Documentation/notation/index.es.html,un documento HTML normal de muchas páginas}.
-@end ifset
-@end ifhtml
-
-
-@c  This produces the unified index
-@syncodeindex fn cp
-@syncodeindex vr cp
-
-
-@finalout
-
-@titlepage
-@title LilyPond
-@subtitle El tipografiador de música
-@titlefont{Manual de referencia de la notación}
-@author El equipo de desarrollo de LilyPond
-
-Copyright @copyright{} 1999--2010 por los autores
-
-@emph{La traducción de la siguiente nota de copyright se ofrece como
-cortesía para las personas de habla no inglesa, pero únicamente la
-nota en inglés tiene validez legal.}
-
-@emph{The translation of the following copyright notice is provided
-for courtesy to non-English speakers, but only the notice in English
-legally counts.}
-
-@quotation
-Se otorga permiso para copiar, distribuir y/o modificar este documento
-bajo los términos de la Licencia de Documentación Libre de GNU, versión 1.1
-o cualquier versión posterior publicada por la Free Software Foundation;
-sin ninguna de las secciones invariantes.
-Se incluye una copia de esta licencia dentro de la sección titulada ``Licencia
-de Documentación Libre de GNU''.
-@end quotation
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1
-or any later version published by the Free Software Foundation;
-with no Invariant Sections.
-A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
-@end quotation
-
-@vskip 20pt
-
-Para LilyPond versión @version{}
-@end titlepage
-
-@copying
-Copyright @copyright{} 1999--2010 por los autores
-
-@emph{La traducción de la siguiente nota de copyright se ofrece como
-cortesía para las personas de habla no inglesa, pero únicamente la
-nota en inglés tiene validez legal.}
-
-@emph{The translation of the following copyright notice is provided
-for courtesy to non-English speakers, but only the notice in English
-legally counts.}
-
-@quotation
-Se otorga permiso para copiar, distribuir y/o modificar este documento
-bajo los términos de la Licencia de Documentación Libre de GNU, versión 1.1
-o cualquier versión posterior publicada por la Free Software Foundation;
-sin ninguna de las secciones invariantes.
-Se incluye una copia de esta licencia dentro de la sección titulada ``Licencia
-de Documentación Libre de GNU''.
-@end quotation
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1
-or any later version published by the Free Software Foundation;
-with no Invariant Sections.
-A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
-@end quotation
-@end copying
-
-@ifnottex
-Este archivo es la documentación de GNU LilyPond.
-
-Copyright 1999--2010 por los autores
-
-@emph{La traducción de la siguiente nota de copyright se ofrece como
-cortesía para las personas de habla no inglesa, pero únicamente la
-nota en inglés tiene validez legal.}
-
-@emph{The translation of the following copyright notice is provided
-for courtesy to non-English speakers, but only the notice in English
-legally counts.}
-
-@quotation
-Se otorga permiso para copiar, distribuir y/o modificar este documento
-bajo los términos de la Licencia de Documentación Libre de GNU, versión 1.1
-o cualquier versión posterior publicada por la Free Software Foundation;
-sin ninguna de las secciones invariantes.
-Se incluye una copia de esta licencia dentro de la sección titulada ``Licencia
-de Documentación Libre de GNU''.
-@end quotation
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1
-or any later version published by the Free Software Foundation;
-with no Invariant Sections.
-A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
-@end quotation
-@end ifnottex
 
 @ifnottex
-El presente documento es el manual de referencia de la notación del
-programa GNU LilyPond, versión @version{}.  Para ver más información
-sobre la relación entre éste y el resto de los documentos, consulte
-@rlearning{Sobre la documentación}.
 
-@cindex web, página
-@cindex página web
-@cindex URL
-
-Se puede encontrar más información en
-@uref{http://@/www@/.lilypond@/.org/}.  La página web contiene copias
-en línea de la presente documentación y de otras.
-
-@include dedication.itely
-
-@c TRANSLATE ME
 @menu
-* Notación musical::               Notación musical.
-* Notación especializada::            Notación que solamente se utiliza para propósitos específicos.
-* Entrada y salida generales::       Información general sobre la salida y la entrada de LilyPond.
-* Problemas de espaciado::                 Presentación de la salida sobre papel.
-* Cambiar los valores por omisión::              Ajuste fino de la salida.
-* Interfaces para programadores::     Utilización por expertos.
+* Notación musical::                    Notación que se utiliza en
+casi todos los proyectos.
+* Notación especializada::              Notación que sólo se usa
+para cometidos específicos.
+* Entrada y salida generales::          Información teneral sobre la
+entrada y la salida de LilyPond.
+* Problemas de espaciado::              Presentación del resultado
+en papel.
+* Cambiar los valores por omisión:: Ajuste fino del resultado.
 
 Apéndices
 
-* Lista bibliográfica::                Obras de referencia sobre notación musical.
-* Tablas del manual sobre notación::         Tablas y cuadros.
-* Hoja de referencia rápida::                    Resumen de la sintaxis de LilyPond.
-* Gramática de LilyPond::               Diagrama de sintaxis para el analizador de LilyPond.
+* Tablas del manual sobre notación::       Tablas y cuadros.
+* Hoja de referencia rápida::              Resumen de la sintaxis de
+LilyPond.
+* Gramática de LilyPond::                  Diagrama de sintaxis
+para el analizador sintáctico de LilyPond.
 * GNU Free Documentation License:: Licencia de este documento.
 * Índice de instrucciones de LilyPond::
 * Índice de LilyPond::
 @end menu
+
+@docMain
 @end ifnottex
 
 @contents
@@ -240,9 +81,8 @@ Apéndices
 @include notation/spacing.itely
 
 @include notation/changing-defaults.itely
-@include notation/programming-interface.itely
 
-@include notation/literature.itely
+
 @include notation/notation-appendices.itely
 @include notation/cheatsheet.itely
 
@@ -256,6 +96,7 @@ salida.
 
 @verbatiminclude ly-grammar.txt
 
+
 @include fdl.itexi
 
 @node Índice de instrucciones de LilyPond
index 04ea01db587ce0af384a5678a8c2b3d4c11e53b1..357aa6a49ed866de06885fe0a34a827908d6b9b4 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
-
+@c vim: foldmethod=marker
 @ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
 
 @menu
 * Panorámica de los estilos contemplados::
-* Notación antigua: funcionalidades comunes::
+* Notación antigua - funcionalidades comunes::
 * Tipografiar música mensural::
 * Tipografiado del canto gregoriano::
-* Trabajar con música antigua: escenarios y soluciones::
+* Trabajar con música antigua - escenarios y soluciones::
 @end menu
 
 Entre las formas en que está contemplada la notación antigua se
@@ -143,8 +143,8 @@ los otros, y así podemos usar corchetes mensurales, cabezas de
 petrucci, silencios de classical y claves de vaticana en la misma
 pieza, si queremos.
 
-@node Notación antigua: funcionalidades comunes
-@subsection Notación antigua: funcionalidades comunes
+@node Notación antigua - funcionalidades comunes
+@subsection Notación antigua - funcionalidades comunes
 @translationof Ancient notation---common features
 
 @menu
@@ -194,7 +194,7 @@ Las ligaduras se escriben @emph{encerrándolas} dentro de un par
 @code{\[} y @code{\]}.  Ciertos estilos de ligadura podrían necesitar
 una sintaxis de entrada adicional específica para este tipo de
 ligadura en particular.  De forma predeterminada, el grabador
-@rinternals{LigatureBracket} se limita a colocar un corchete recto
+@code{LigatureBracket} se limita a colocar un corchete recto
 sobre la ligadura:
 
 @lilypond[quote,ragged-right,verbatim]
@@ -211,11 +211,12 @@ contempladas las ligaduras mensurales blancas para la música mensural,
 y con ciertas limitaciones).  Para usar cualquiera de estos estilos,
 se debe sustituir el grabador predeterminado
 @code{Ligature_bracket_engraver} por uno de los grabadores
-especializados en ligaduras del contexto @rinternals{Voice}, como se
+especializados en ligaduras del contexto @code{Voice}, como se
 explica en @ref{Ligaduras mensurales blancas} y @ref{Ligaduras de neumas cuadrados gregorianos}.
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
 
 
 @knownissues
@@ -255,7 +256,7 @@ para el custos que se utilizan en las diferentes variaciones de estilo
 notacional.
 
 Para tipografiar las custodias, simplemente coloque un grabador
-@rinternals{Custos_engraver} dentro del contexto @rinternals{Staff}
+@code{Custos_engraver} dentro del contexto @code{Staff}
 (el contexto del pentagrama) al declarar el bloque de @code{\layout}
 (el bloque de disposición de la página), y modifique el estilo del
 custos con una instrucción @code{\override} si lo desea, como se
@@ -286,19 +287,19 @@ fragmento:
 @lilypond[quote,ragged-right,fragment]
 \new Lyrics \lyricmode {
   \markup { \column {
-    \typewriter "vaticana"
+    \typewriter "vaticana "
     \line { " " \musicglyph #"custodes.vaticana.u0" }
   } }
   \markup { \column {
-    \typewriter "medicaea"
+    \typewriter "medicaea "
     \line { " " \musicglyph #"custodes.medicaea.u0" }
   }}
   \markup { \column {
-    \typewriter "hufnagel"
+    \typewriter "hufnagel "
     \line { " " \musicglyph #"custodes.hufnagel.u0" }
   }}
   \markup { \column {
-    \typewriter "mensural"
+    \typewriter "mensural "
     \line { " " \musicglyph #"custodes.mensural.u0" }
   }}
 }
@@ -372,7 +373,8 @@ escribir el canto, como lo demuestra el siguiente fragmento:
 @end lilypond
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
 
 
 @node Claves de la música mensural
@@ -557,7 +559,7 @@ tabla
 @end lilypond
 
 Utilice la propiedad @code{style} del elemento gráfico
-@rinternals{TimeSignature} para seleccionar las indicaciones de compás
+@code{TimeSignature} para seleccionar las indicaciones de compás
 de la música antigua.  Los estilos contemplados son @code{neomensural}
 y @code{mensural}.  La tabla anterior utiliza el estilo
 @code{neomensural}.  Los ejemplos siguientes muestran las diferencias
@@ -597,8 +599,8 @@ ofrece una introducción general al uso de las indicaciones de compás.
 @knownissues
 
 Las relaciones de duración de las notas no se modifican cuando cambia
-la indicación de compás.  Por ejemplo, la razón de 1 breve = 3
-semibreves (@emph{tempus perfectum}) se debe hacer a mano mediante el
+la indicación de compás.  Por ejemplo, la razón de 1@tie{}breve = 3@tie{}semibreves
+(@emph{tempus perfectum}) se debe hacer a mano mediante el
 establecimiento de
 
 @example
@@ -626,7 +628,7 @@ con @code{\time}.  En su lugar, utilice @code{\markup @{\musicglyph
 Para la notación antigua, se puede elegir un estilo de cabezas de
 notas distinto al @code{default} (estilo predeterminado).  Esto se
 consigue estableciendo la propiedad @code{style} del objeto
-@rinternals{NoteHead} a los valores @code{baroque},
+@code{NoteHead} a los valores @code{baroque},
 @code{neomensural}, @code{mensural} o @code{petrucci}.
 
 El estilo @code{baroque} se diferencia del estilo predeterminado
@@ -657,6 +659,7 @@ a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a'
 
 
 @seealso
+Referencia de la notación:
 @ref{Estilos de cabezas de nota} ofrece una visión de conjunto sobre la
 totalidad de los estilos de cabeza disponibles.
 
@@ -668,7 +671,7 @@ totalidad de los estilos de cabeza disponibles.
 @cindex flags
 
 Utilice la propiedad @code{flag-style} del elemento gráfico
-@rinternals{Stem} para seleccionar los corchetes de estilo antiguo.
+@code{Stem} para seleccionar los corchetes de estilo antiguo.
 Aparte del estilo de corchete por defecto @code{default}, sólo está
 contemplado el estilo @code{mensural}
 
@@ -684,18 +687,22 @@ c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
 Observe que la bandera más interna de cada uno de los corchetes
 mensurales siempre se alinea verticalmente con una línea de la pauta.
 
-No existe un estilo particular de corchete para la notación neo-mensural.
-
+No existe un estilo particular de corchete para la notación neo-mensural ni Petrucci.
+@c Hence,
+@c when typesetting the incipit of a transcribed piece of mensural
+@c music, the default flag style should be used.
 No existen corchetes en la notación del canto gregoriano.
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
 
 
 @knownissues
 
 La unión de los corchetes antiguos a las plicas está ligeramente
 desviada.
+@c due to a change in early 2.3.x.
 
 La alineación vertical de cada uno de los corchetes con una línea de
 la pauta da por supuesto que las plicas siempre terminan exactamente
@@ -712,7 +719,7 @@ por lo común se encuentra fuera del ámbito de la notación mensural).
 @cindex rests, ancient
 
 Utilice la propiedad @code{style} del elemento gráfico
-@rinternals{Rest} para seleccionar silencios antiguos.  Los estilos
+@code{Rest} para seleccionar silencios antiguos.  Los estilos
 contemplados son @code{classical}, @code{neomensural} y
 @code{mensural}.  @code{classical} se diferencia del estilo por
 defecto @code{default} solamente en que el silencio de negra parece un
@@ -786,8 +793,8 @@ símbolo de becuadro se extrae del estilo @code{vaticana}.
 
 El estilo de las alteraciones y de la armadura de la tonalidad se
 controlan a través de la propiedad @code{glyph-name-alist} de los
-elementos gráficos @rinternals{Accidental} y
-@rinternals{KeySignature}, respectivamente; p.ej.:
+elementos gráficos @code{Accidental} y
+@code{KeySignature}, respectivamente; p.ej.:
 
 @code{\override Staff.Accidental #'glyph-name-alist =
 #alteration-mensural-glyph-name-alist}
@@ -852,8 +859,7 @@ ficta = { \once \set suggestAccidentals = ##t }
 
 @seealso
 Referencia de funcionamiento interno:
-el grabador @rinternals{Accidental_engraver}
-y el objeto
+@rinternals{Accidental_engraver},
 @rinternals{AccidentalSuggestion}.
 
 
@@ -868,9 +874,9 @@ Las ligaduras mensurales blancas están contempladas de forma limitada.
 
 Para grabar ligaduras mensurales blancas, en el bloque layout o de
 diseño de página reemplace el grabador
-@rinternals{Ligature_bracket_engraver} por el grabador
-@rinternals{Mensural_ligature_engraver} en el contexto
-@rinternals{Voice}:
+@code{Ligature_bracket_engraver} por el grabador
+@code{Mensural_ligature_engraver} en el contexto
+@code{Voice}:
 
 @example
 \layout @{
@@ -917,8 +923,8 @@ Por ejemplo:
 }
 @end lilypond
 
-Si no se sustituye el grabador @rinternals{Ligature_bracket_engraver}
-por el @rinternals{Mensural_ligature_engraver}, la misma música se
+Si no se sustituye el grabador @code{Ligature_bracket_engraver}
+por el @code{Mensural_ligature_engraver}, la misma música se
 transcribe de la siguiente manera:
 
 @lilypond[quote,ragged-right]
@@ -936,7 +942,8 @@ transcribe de la siguiente manera:
 @end lilypond
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
 
 
 @knownissues
@@ -959,13 +966,13 @@ El espaciado horizontal de las ligaduras es pobre.
 @end menu
 
 Al componer tipográficamente una pieza en notación de canto
-gregoriano, el grabador @rinternals{Vaticana_ligature_engraver}
+gregoriano, el grabador @code{Vaticana_ligature_engraver}
 selecciona automáticamente la cabeza adecuada de las figuras, de
 manera que no es necesario establecer explícitamente el estilo de las
 cabezas.  A pesar de ello se puede establecer el estilo de las
 cabezas, p.ej.: a @code{vaticana_punctum} para producir neumas de
 punctum.  De forma similar, el grabador
-@rinternals{Mensural_ligature_engraver} construye ligaduras mensurales
+@code{Mensural_ligature_engraver} construye ligaduras mensurales
 automáticamente.  Consulte @ref{Ligaduras} para ver cómo funcionan los
 grabadores de ligaduras.
 
@@ -1006,14 +1013,16 @@ como lo demuestra el siguiente fragmento:
 @end lilypond
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
+
 
 
 @node Claves de canto gregoriano
 @unnumberedsubsubsec Claves de canto gregoriano
 @translationof Gregorian clefs
 
-@cindex clefs
+@cindex claves
 
 La tabla siguiente muestra todas las claves gregorianas contempladas a
 través de la instrucción @code{\clef}.  Algunas de las claves usan el
@@ -1295,7 +1304,8 @@ la notación en el estilo de la @emph{Editio Vaticana}.
 @end lilypond
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
 
 
 @knownissues
@@ -2272,7 +2282,8 @@ Utilice la función musical unaria @code{\augmentum} para añadir puntos
 de augmentum.
 
 
-@seealso
+@c @seealso
+@c TODO: nothing here yet ...
 
 
 @knownissues
@@ -2288,8 +2299,8 @@ se pudiera entremezclar con los prefijos de cabeza en un orden
 arbitrario.
 
 
-@node Trabajar con música antigua: escenarios y soluciones
-@subsection Trabajar con música antigua: escenarios y soluciones
+@node Trabajar con música antigua - escenarios y soluciones
+@subsection Trabajar con música antigua - escenarios y soluciones
 @translationof Working with ancient music---scenarios and solutions
 
 @menu
@@ -2325,7 +2336,8 @@ polifónica;
 Continuará...
 
 
-@seealso
+@c @seealso
+@c ... and reference to other sections ...
 
 
 @node Disposición tipo «Mensurstriche»
@@ -2345,7 +2357,7 @@ proporcionan las barras de compás.
 {mensurstriche-layout-bar-lines-between-the-staves.ly}
 
 
-@seealso
+@c @seealso
 @c ... and reference to other sections ...
 
 
@@ -2387,7 +2399,7 @@ en la partitura, pues la indicación invisible sigue ocupando un
 espacio.
 
 En muchos casos da un buen resultado @code{\set Score.timing = ##f}.
-Otra alternativa es utilizar \@code{\CadenzaOn} y @code{\CadenzaOff}.
+Otra alternativa es utilizar @code{\CadenzaOn} y @code{\CadenzaOff}.
 
 Para quitar las barras de compás, el enfoque radical consiste en
 retirar (mediante la instrucción @code{\remove}) el grabador
@@ -2525,7 +2537,7 @@ spirLyr = \lyricmode {
 
 @c extract from 1.6.1.1
 
-@seealso
+@c @seealso
 @c ... and reference to other sections ...
 
 
@@ -2536,7 +2548,9 @@ spirLyr = \lyricmode {
 Continuará...
 
 
-@seealso
+@c @seealso
+@c ... and reference to other sections ...
+
 
 
 @node Anotaciones editoriales
@@ -2546,4 +2560,6 @@ Continuará...
 Continuará...
 
 
-@seealso
+@c @seealso
+@c ... and reference to other sections ...
+
index 0118ddc982fc98d696dfdda903f60054a9d15678..f0414502406ea89114ae140f22bfc69fa732d695 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
+Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -28,13 +28,13 @@ adecuado para un manual de referencia.
 @cindex Referencia de funcionamiento interno
 
 La descripción definitiva de los controles que están disponibles para
-su ajuste fino están en un documento aparte: @rinternalsnamed{Top,la
-Referencia de funcionamiento interno}.  Dicho manual relaciona todas
+su ajuste fino están en un documento aparte: la
+@rinternalsnamed{Top,Referencia de funcionamiento interno}.
+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},
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,en línea},
 pero que también va incluido en el paquete de la documentación de LilyPond.
 
 Internamente, LilyPond utiliza el lenguaje Scheme (un dialecto de
@@ -42,7 +42,8 @@ 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{@rlearning{Tutorial de Scheme} contiene un breve tutorial sobre la introducción de números,
+el símbolo de cuadradillo @code{#}.@footnote{@rextend{Tutorial de
+Scheme} contiene un breve tutorial sobre la introducción de números,
 listas, cadenas y símbolos en Scheme.}
 
 @menu
@@ -51,6 +52,7 @@ listas, cadenas y símbolos en Scheme.}
 * Modificar las propiedades::
 * Conceptos y propiedades útiles::
 * Trucos avanzados::
+* Uso de las funciones musicales::
 @end menu
 
 
@@ -94,14 +96,14 @@ Referencia de funcionamiento interno:
 Los contextos se disponen de forma jerárquica:
 
 @menu
-* Score: el contexto maestro::
-* Contextos del nivel superior: contenedores de pentagramas::
-* Contextos de nivel intermedio: pentagramas::
-* Contextos del nivel más bajo: voces::
+* Score. El contexto maestro::
+* Contextos del nivel superior.  Contenedores de pentagramas::
+* Contextos de nivel intermedio. Pentagramas::
+* Contextos del nivel más bajo. Voces::
 @end menu
 
-@node Score: el contexto maestro
-@unnumberedsubsubsec Score: el contexto maestro
+@node Score. El contexto maestro
+@unnumberedsubsubsec Score. El contexto maestro
 @translationof Score - the master of all contexts
 
 Este es el contexto de notación del nivel más alto.  Ningún otro
@@ -115,7 +117,7 @@ procesa un bloque @code{\score @{@dots{}@}} o @code{\layout
 @{@dots{}@}}, o explícitamente cuando se ejecuta una instrucción
 @code{\new Score}.
 
-@node Contextos del nivel superior: contenedores de pentagramas
+@node Contextos del nivel superior. Contenedores de pentagramas
 @unnumberedsubsubsec Contextos del nivel superior: contenedores de pentagramas
 @translationof Top-level contexts - staff containers
 
@@ -143,8 +145,8 @@ se conectan verticalmente.
 Igual que @code{GrandStaff}, pero contempla la posibilidad de poner el
 nombre del instrumento a la izquierda del sistema.
 
-@node Contextos de nivel intermedio: pentagramas
-@unnumberedsubsubsec Contextos de nivel intermedio: pentagramas
+@node Contextos de nivel intermedio. Pentagramas
+@unnumberedsubsubsec Contextos de nivel intermedio. Pentagramas
 @translationof Intermediate-level contexts - staves
 
 @strong{@emph{Staff}}
@@ -179,8 +181,8 @@ Igual que @code{Staff}, excepto que está diseñado para tipografiar
 piezas en estilo mensural.
 
 
-@node Contextos del nivel más bajo: voces
-@unnumberedsubsubsec Contextos del nivel más bajo: voces
+@node Contextos del nivel más bajo. Voces
+@unnumberedsubsubsec Contextos del nivel más bajo. Voces
 @translationof Bottom-level contexts - voices
 
 Los contextos del mismo nivel que Voice dan un valor inicial a ciertas
@@ -224,6 +226,13 @@ la entrada escrita en el modo @code{\figuremode}.
 El contexto de voz utilizado dentro de un contexto @code{TabStaff}.
 Se suele dejar que se cree implícitamente.
 
+@strong{@emph{CueVoice}}
+
+El contexto de voz que se utiliza para dibujar notas de tamaño
+reducido, con el principal objetivo de añadir notas guía de un
+pentagrama a otro, véase @ref{Formateo de las notas guía}.
+Normalmente se deja que se cree implícitamente.
+
 @strong{@emph{ChordNames}}
 
 Tipografía nombres de acordes.
@@ -256,9 +265,9 @@ 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 pentagramas.
-Cada parte que debe ir en su propio pentagrama, va precedida de
-@code{\new Staff}.
+Una aplicación práctica de @code{\new} es una partitura con muchos
+pentagramas.  Cada parte que debe ir en su propio pentagrama, va
+precedida de @code{\new Staff}.
 
 @lilypond[quote,verbatim,relative=2,ragged-right,fragment]
 <<
@@ -299,7 +308,7 @@ dentro de un contexto con nombre
 @end example
 
 @noindent
-de forma que los textos se puedan alienar correctamente con sus notas,
+de forma que los textos se puedan alinear correctamente con sus notas,
 
 @example
 \new Lyrics \lyricsto "@b{tenor}" @var{letra}
@@ -309,7 +318,7 @@ de forma que los textos se puedan alienar correctamente con sus notas,
 
 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,
+ejemplo, se introducen por separado las articulaciones y las notas:
 
 @example
 musica = @{ c4 c4 @}
@@ -333,7 +342,7 @@ arts = { s4-. s4-> }
 >>
 @end lilypond
 
-Con este mecanismo, es posible definir un Urtext (una edición
+Con este mecanismo, es posible definir un @qq{urtext} (una edición
 original), con la posibilidad de poner articulaciones distintas sobre
 las mismas notas.
 
@@ -353,8 +362,9 @@ 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{Ejecutar una función sobre todos los objetos de la presentación}).  Sin una instrucción @code{\context} explícita, normalmente
-se aplicaría a @code{Voice}
+@code{\applyOutput} (véase @rextend{Ejecutar una función sobre todos
+los objetos de la presentación}).  Sin una instrucción @code{\context}
+explícita, normalmente se aplicaría a @code{Voice}
 
 @example
 \applyOutput #'@var{contexto} #@var{función}   % aplicar al contexto Voice
@@ -531,6 +541,8 @@ words = \lyricmode { These words fol -- low the mel -- o -- dy }
 @subsection Modificar los complementos (plug-ins) de contexto
 @translationof Modifying context plug-ins
 
+@c TODO Should this be Modifying engravers or Modifying contexts?
+
 Los contextos de notación (como @code{Score} y @code{Staff}) no sólo
 almacenan propiedades, también contienen «plug-ins» o complementos
 llamados @q{grabadores} que crean elementos de notación.  Por ejemplo,
@@ -577,7 +589,7 @@ modificándolo:
 @end example
 
 @noindent
-donde los @dots{} debe ser el nombre de un grabador.  Aquí tenemos un
+donde los @dots{} deben ser el nombre de un grabador.  Aquí tenemos un
 ejemplo sencillo que suprime los grabadores
 @code{Time_signature_engraver} y @code{Clef_engraver} de un contexto
 @code{Staff}:
@@ -638,6 +650,20 @@ compás independiente.
 >>
 @end lilypond
 
+@knownissues
+
+Normalmente, el orden en que se especifican los grabadores no tiene
+importancia, pero en algunos casos especiales sí la tiene, por ejemplo
+donde un grabador escribe una propiedad y otro la lee, o donde un
+grabador crea un groby otro debe procesarlo.  El orden en que los
+grabadores se especifican es el orden en que se llaman para realizar
+su tarea de procesamiento.
+
+Las siguientes ordenaciones son importantes: el grabador de compases
+@code{Bar_engraver} debe ir normalmente en primer lugar, y el grabador
+de digitaciones @code{New_fingering_engraver} debe ir antes del
+grabador @code{Script_column_engraver} de columnas de inscripciones.
+Podría haber otros que tengan dependencias de ordenación.
 
 @node Cambiar los valores por omisión de los contextos
 @subsection Cambiar los valores por omisión de los contextos
@@ -700,19 +726,39 @@ predeterminados para un pentagrama que utilice
 @}
 @end example
 
+@c TODO: add \with in here.
+
+
 
 @node Definir contextos nuevos
 @subsection Definir contextos nuevos
 @translationof Defining new contexts
 
+@cindex contextos, definición de nuevos
+@cindex grabadores, incluir en contextos
+
+@funindex \alias
+@funindex alias
+@funindex \name
+@funindex name
+@funindex \type
+@funindex type
+@funindex \consists
+@funindex consists
+@funindex \accepts
+@funindex accepts
+@funindex \denies
+@funindex denies
+
 Los contextos específicos, como @code{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
-@code{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,
+El siguiente ejemplo muestra cómo construir un tipo diferente de
+contexto de @code{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,
 
 @c KEEP LY
 @lilypond[quote,ragged-right]
@@ -734,7 +780,7 @@ para indicar improvisación en piezas de jazz,
 
 \relative c'' {
   a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
-   c4 c^"desvístete" c_"mientras juegas :)" c }
+   c4 c^"desvístete" c_"mientras tocas :)" c }
   a1
 }
 @end lilypond
@@ -770,14 +816,14 @@ siga funcionando.  Esto se consigue dando al contexto nuevo un alias
 @end example
 
 El contexto imprimirá notas y textos explicativos, por ello tenemos
-que añadir los grabadores que aportan esta funcionalidad,
+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,
+pero sólo necesitamos esto en la línea central:
 
 @example
 \consists Pitch_squash_engraver
@@ -789,7 +835,7 @@ nota (creadas por el grabador @rinternals{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,
+Las notas parecen barras inclinadas y no tienen plica:
 
 @example
 \override NoteHead #'style = #'slash
@@ -861,8 +907,8 @@ puede escribir como
   a4 d8 bes8
   \new ImproVoice @{
     c4^"ad lib" c
-    c4 c^"undress"
-    c c_"while playing :)"
+    c4 c^"desvístete"
+    c c_"mientras tocas :)"
   @}
   a1
 @}
@@ -875,11 +921,11 @@ puede escribir como
 
 Los contextos nuevos se pueden alinear por encima o por debajo de
 otros contextos existentes.  Esto podría ser de utilidad al preparar
-un pentagrama vocal (@rlearning{Conjuntos vocales}) y un ossia,
+un pentagrama vocal (@rlearning{Conjuntos vocales}) y en el ossia,
 
 @cindex ossia
-@findex alignAboveContext
-@findex alignBelowContext
+@funindex alignAboveContext
+@funindex alignBelowContext
 
 @lilypond[quote,ragged-right]
 ossia = { f4 f f f }
@@ -1053,7 +1099,7 @@ 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{padding} (dimensión, en espacios de pentagrama):
 
 @code{0.5}
 @end quotation
@@ -1172,8 +1218,10 @@ derecha, encima o debajo?)
 @end quotation
 
 @cindex relleno
+@cindex padding (relleno)
 @noindent
-Debajo de esta descripción, la variable @code{padding} (relleno) se describe como
+Debajo de esta descripción, la variable @code{padding} (relleno) se
+describe como
 
 @quotation
 @table @code
@@ -1214,31 +1262,30 @@ El grabador Fingering_engraver es parte de los contextos: @dots{}
 @end quotation
 
 
-
 @node Convenciones de nombres
 @subsection Convenciones de nombres
 @translationof Naming conventions
 
+Se hace necesario presentar una panorámica de las diversas
+convenciones de nomenclatura:
+
+@itemize
+@item funciones de Scheme: minúsculas-con-guiones (incluso nombres de una sola palabra)
+@item funciones de Scheme: ly:más-estilo-de-scheme
+@item eventos, clases y propiedades musicales: como-las-funciones-de-scheme
+@item interfaces de Grobs: estilo-scheme
+@item propiedades de backend: estilo-scheme (¡pero X e Y en mayúsculas!)
+@item contextos (y ExpresionesMusicales y grobs): Mayúsculas o MayúsculasDeCamello
+@item propiedades de contexto: minúsculasSeguidoDeMayúsculasDeCamello
+@item grabadores: Mayúsculas_seguido_de_minúsculas_y_con_barras_bajas
+@end itemize
+
 @ignore
-Another thing that is needed, is an overview of the various naming
-conventions:
-
-    scheme functions: lowercase-with-hyphens (incl. one-word
-names)
-    scheme functions: ly:plus-scheme-style
-    music events, music classes and music properties:
-as-scheme-functions
-    Grob interfaces: scheme-style
-    backend properties: scheme-style (but X and Y!)
-    contexts (and MusicExpressions and grobs): Capitalized or
-CamelCase
-    context properties: lowercaseFollowedByCamelCase
-    engravers:
-Capitalized_followed_by_lowercase_and_with_underscores
-
-Which of these are conventions and which are rules?
-Which are rules of the underlying language, and which are
-LP-specific?
+Preguntas aún sin respuesta
+@itemize
+@item ¿Cuáles de aquéllas son convenciones y cuáles son reglas?
+@item ¿Cuáles son reglas del lenguaje subyacente, y cuáles son específicas de LilyPond?
+@end itemize
 @end ignore
 
 @node Modificar las propiedades
@@ -1263,6 +1310,19 @@ objetos gráficos.  Los ajustes que se usan para imprimir estos objetos
 también se almacenan por contexto.  Mediante la modificación de estos
 ajustes, se puede alterar la apariencia de los objetos.
 
+Existen dos tipos diferentes de propiedades almacenadas en los
+contextos: las propiedades de contexto y las propiedades de grob.  Las
+prpopiedades de contexto son propiedades que se aplican al contexto
+como un todo y controlan la forma en que el propio contexto se
+imprime.  Por contra, las propiedades de grob se aplican a los tipos
+de grob específicos que se imprimirán dentro del contexto.
+
+Las instrucciones @code{\set} y @code{\unset} se usan para cambiar los
+valores de las propiedades de contexto.  Las instrucciones
+@code{\override} y @code{\revert} se usan para cambiar los valores de
+las propiedades de grob.
+
+@ignore
 La sintaxis de esto es
 
 @example
@@ -1359,14 +1419,15 @@ tales como
 \override Stem #'(details beamed-lengths) = #'(4 4 3)
 @end example
 
+@end ignore
 
 @seealso
 Referencia de funcionamiento interno:
+@rinternals{Backend},
+@rinternals{All layout objects},
 @rinternals{OverrideProperty},
 @rinternals{RevertProperty},
-@rinternals{PropertySet},
-@rinternals{Backend},
-@rinternals{All layout objects}.
+@rinternals{PropertySet}.
 
 
 @knownissues
@@ -1394,35 +1455,54 @@ paso de interpretación.  Se consigue insertando la instrucción
 \set @var{contexto}.@var{propiedad} = #@var{valor}
 @end example
 
-Por ejemplo:
+@var{valor} es un objeto de Scheme, razón por la que va precedido del
+carácter almohadilla, @code{#}.
+
+El nombre de las propiedades de contexto suele ir en minúsculas con
+mayúscula en medio.  Controlan sobre todo la traducción de la música a
+la notación, p.ej. @code{localKeySignature} (para determinar si hay
+que impriir alteraciones o no), o @code{measurePosition} (para
+determinar cuándo hay que imprimir una línea divisoria).  El valor de
+las propiedades de contexto puede modifcarse con el tiempo durante la
+interpretación de la música; un ejemplo obvio es
+@code{measurePosition}.  Las propiedades de contexto se modifican
+mediante la instrucción @code{\set}.
+
+Por ejemplo, los silencios multicompás se combinan en un solo compás
+si el valor de la propiedad de contexto @code{skipBars} se establece a
+@code{#t} (verdadero):
+
 @lilypond[quote,verbatim,relative=2,fragment]
 R1*2
 \set Score.skipBars = ##t
 R1*2
 @end lilypond
 
-Estas instrucción salta los compases que no tienen notas.  El
-resultado es que los silencios multicompás se condensan.  El valor
-asignado es un objeto de Scheme.  En este caso, es @code{#t}, el valor
-booleano True o verdadero.
-
 Si se omite el argumento @var{context}, entonces se utiliza el
 contexto actual de nivel más bajo (normalmente @code{ChordNames},
 @code{Voice} o @code{Lyrics}). En este ejemplo:
 
 @lilypond[quote,verbatim,relative=2,fragment]
-c8 c c c
-\set autoBeaming = ##f
-c8 c c c
+\set Score.autoBeaming = ##f
+<<
+  {
+    e8 e e e
+    \set autoBeaming = ##t
+    e8 e e e
+  } \\ {
+    c8 c c c c8 c c c
+  }
+>>
 @end lilypond
 
-@noindent
-el argumento @var{contexto} de la instrucción @code{\set} se omite,
-así pues el barrado automático se desactiva en la voz actual.  Observe
-que el contexto de nivel más bajo no siempre contiene la propiedad que
-queremos cambiar (por ejemplo, no tendrá ningún efecto intentar
-establecer un valor para la propiedad @code{skipBars} del contexto de
-nivel más bajo, en este caso @code{Voice}).
+El cambio se aplica @q{al vuelo}, mientras dura la música, de forma
+que el ajuste sólo afecta al segundo grupo de corcheas.
+
+Observe que el contexto del nivel más bajo no siempre contiene la
+propiedad que querríamos modificar: por ejemplo, intentar ajustar el
+valor de la propiedad @code{skipBars} del contexto predeterminado del
+nivel más bajo, que en este caso es @code{Voice}, no tendrá ningún
+efecto, porque skipBars es una propiedad del contexto @code{Score}.
 
 @lilypond[quote,verbatim,relative=2,fragment]
 R1*2
@@ -1433,8 +1513,7 @@ R1*2
 Los contextos son jerárquicos, y si se ha especificado un contexto
 mayor, por ejemplo @code{Staff}, entonces el cambio se aplicaría
 también a todos los contextos @code{Voice} dentro del pentagrama
-actual.  El cambio se aplica @q{al vuelo}, durante la música, de
-manera que el ajuste sólo afecta al segundo grupo de corcheas.
+actual.
 
 @funindex \unset
 
@@ -1446,28 +1525,22 @@ También existe una instrucción @code{\unset}:
 @noindent
 que elimina la definición de @var{propiedad}.  Esta instrucción
 elimina la definición solamente si está establecida dentro de
-@var{contexto}, de manera que
-
-@example
-\set Staff.autoBeaming = ##f
-@end example
-
-@noindent
-introduce un ajuste de la propiedad en el nivel de @code{Staff}.  El
-ajuste también se aplica a la @code{Voice} actual.  Sin embargo:
+@var{contexto}.  Properties that have been set in enclosing contexts will
+not be altered by an unset in an enclosed context:
 
-@example
-\unset Voice.autoBeaming
-@end example
-
-@noindent
-no tiene ningún efecto.  Para cancelar este ajuste, se debe
-especificar el @code{\unset} en el mismo nivel que el @code{\set}
-original.  Dicho de otra forma, para deshacer el efecto de
-@code{Staff.autoBeaming = ##f} se necesita
-@example
-\unset Staff.autoBeaming
-@end example
+@lilypond[quote,verbatim,relative=2,fragment]
+\set Score.autoBeaming = ##t
+<<
+  {
+    \unset autoBeaming
+    e8 e e e
+    \unset Score.autoBeaming
+    e8 e e e
+  } \\ {
+    c8 c c c c8 c c c
+  }
+>>
+@end lilypond
 
 Como @code{\set}, el argumento @var{contexto} no se tiene que
 especificar para un contexto del nivel más bajo, por lo que los dos
@@ -1479,7 +1552,7 @@ enunciados
 @end example
 
 @noindent
-son equivalentes.
+son equivalentes si el contexto inferior en curso es @code{Voice}.
 
 
 @cindex \once
@@ -1493,9 +1566,6 @@ c4
 c4
 @end lilypond
 
-la propiedad @code{fontSize} se deshace automáticamente después de la
-segunda nota.
-
 En el manual de Referencia de funcionamiento interno hay una
 descripción completa de todas las propiedades de contexto disponibles,
 consulte
@@ -1507,12 +1577,137 @@ Traducción @expansion{} Propiedades de contexto modificables por el
 usuario.
 @end ifnothtml
 
+@seealso
+
+Referencia de funcionamiento interno:
+@rinternals{Tunable context properties}.
 
 
+@cindex grob, propiedades de
+@cindex propiedades de grob
+@funindex \override
+
 @node La instrucción override
 @subsection La instrucción @code{\override}
 @translationof The override command
 
+Existe un tipo especial de propiedad de contexto: la descripción de
+los grobs.  Las decscripciones de los grobs reciben un nombre en
+@code{MayúsculasDeCamello} (empezando en mayúscula).  Contienen los
+@q{ajustes predeterminados} para un tipo particular de grob, en forma
+de lista asociativa.  Consulte @file{scm/@/define@/-grobs@/.scm} para
+ver los ajustes de cada descripción de grob.  Las descripciones de
+grob se modifican con @code{\override}.
+
+@code{\override} es en realidad una forma abreviada;
+
+@example
+\override @var{contexto}.@var{NombreDelGrob} #'@var{propiedad} = #@var{valor}
+@end example
+
+@noindent
+equivale más o menos a
+
+@c  leave this long line -gp
+@example
+\set @var{contexto}.@var{NombreDelGrob}  =
+  #(cons (cons '@var{propiedad} @var{valor})
+         <valor anterior de @var{contexto}.@var{NombreDelGrob}>)
+@end example
+
+El valor de @code{contexto}.@code{NombreDelGrob} (la lista-A) se
+utiliza para inicializar las propiedades de los grobs individuales.
+Los grobs tienen propiedades, denominadas en el estilo de Scheme, con
+@code{palabras-con-guiones}.  Los valores de las propiedades de grob
+cambian durante el proceso de formateo: éste se realiza básicamente
+calculando las propiedades utilizando funciones de @q{callback}
+(pasadas como parámetro).
+
+Por ejemplo, podemos aumentar el grosor de la plica de una figura
+sobreescribiendo la propiedad @code{thickness} (grosor) del objeto
+@code{Stem} (plica):
+
+@lilypond[quote, verbatim, relative=2, fragment]
+c4 c
+\override Voice.Stem #'thickness = #3.0
+c4 c
+@end lilypond
+
+Si no se ha especificado ningún contexto en la instrucción
+@code{\override}, se utiliza el contexto del nivel inferior:
+
+@lilypond[quote, verbatim, relative=2, fragment]
+{ \override Staff.Stem #'thickness = #3.0
+  <<
+    {
+      e4 e
+      \override Stem #'thickness = #0.5
+      e4 e
+    } \\ {
+      c4 c c c
+    }
+  >>
+}
+@end lilypond
+
+@funindex \revert
+@cindex reversión de sobreescrituras
+@cindex sobreescrituras, reversión de
+
+El efecto de una instrucción de sobreescritura @code{\override} se
+puede deshacer con @code{\revert}:
+
+@lilypond[quote, verbatim, relative=2, fragment]
+c4
+\override Voice.Stem #'thickness = #3.0
+c4 c
+\revert Voice.Stem #'thickness
+c4
+@end lilypond
+
+Los efectos de @code{\override} y @code{\revert} se aplican a todos
+los grobs del contexto afectado partiendo del momento actual y hacia
+adelante:
+
+@lilypond[quote, verbatim, relative=2, fragment]
+{
+  <<
+    {
+      e4
+      \override Staff.Stem #'thickness = #3.0
+      e4 e e
+    } \\ {
+      c4 c c
+      \revert Staff.Stem #'thickness
+      c4
+    }
+  >>
+}
+@end lilypond
+
+@funindex \once
+@cindex sobreescritura para un solo momento
+
+Se puede usar @code{\once} con @code{\override} para afectar solamente
+al instante de tiempo actual:
+
+@lilypond[quote, verbatim, relative=2, fragment]
+{
+  <<
+    {
+      \override Stem #'thickness = #3.0
+      e4 e e e
+    } \\ {
+      c4
+      \once \override Stem #'thickness = #3.0
+      c4 c c
+    }
+  >>
+}
+@end lilypond
+
+
+@ignore
 Las instrucciones que modifican la salida tienen por lo general un
 aspecto como
 
@@ -1554,7 +1749,12 @@ causarían problemas.
 
 Mostraremos a continuación cómo localizar esta información en el
 manual de notación y en la referencia de funcionamiento interno.
+@end ignore
+
+@seealso
 
+Referencia de funcionamiento interno:
+@rinternals{Backend}
 
 @node La instrucción tweak
 @subsection La instrucción @code{\tweak}
@@ -1563,6 +1763,21 @@ manual de notación y en la referencia de funcionamiento interno.
 @funindex \tweak
 @cindex trucar
 
+El cambio de las propiedades de grob mediante @code{\override} produce
+la aplicación del cambio a todos los grobs dados en el contexto en el
+momento en que se aplica dicho cambio.  Sin embargo, en ocasiones
+podemos desear que los cambios se apliquen a un solo grob en lugar de
+a todos los grobs del contexto afectado.  Esto se consigue con la
+instrucción @code{\tweak}, que tiene la sintaxis siguiente:
+
+@example
+\tweak #'@code{propiedad-del-grob} #@code{valor}
+@end example
+
+La instrucción @code{\tweak} se aplica al objeto que viene
+inmediatamente después de @code{valor} dentro del flujo musical.
+
+@ignore
 En ocasiones es posible tomar un atajo para realizar el ajuste fino de
 los objetos gráficos.  Para objetos que resultan directamente de un
 elemento de código de la entrada, puede usar la función @code{\tweak},
@@ -1580,16 +1795,13 @@ por ejemplo
 -^
 @end lilypond
 
-@cindex chord, modifying one note in
+
 
 Pero el uso principal de la instrucción @code{\tweak} es modificar
 solamente uno de varios elementos de notación que dan comienzo en el
 mismo momento musical, como las notas de un acorde, o corchetes de
 tresillo que empiezan al mismo tiempo.
 
-Para ver una introducción a la sintaxis y los usos de la instrucción
-tweak, consulte @rlearning{Métodos de trucaje}.
-
 La instrucción @code{\tweak} fija una propiedad en el objeto que viene
 a continuación de forma directa, sin necesidad de especificar el
 nombre del grob o el contexto.  Para que esto funcione, es necesario
@@ -1618,6 +1830,11 @@ pero esto no funciona:
 \tweak #'color #red c4
 @end lilypond
 
+@end ignore
+
+Para ver una introducción a la sintaxis y los usos de la instrucción tweak,
+consulte @rlearning{Métodos de trucaje}.
+
 Si se colocan varios elementos similares en el mismo momento musical,
 la instrucción @code{\override} no se puede usar para modificar uno
 solo de ellos: aquí es donde se debe usar la instrucción
@@ -1634,30 +1851,54 @@ en el mismo momento musical están los siguientes:
 
 @c TODO add examples of these
 
-@noindent
-y se puede usar @code{\tweak} para modificar cualquier aparición
-específica de estos elementos.
-
-Es de resaltar que la instrucción @code{\tweak} no se puede usar para
-modificar plicas, barras o alteraciones accidentales directamente,
-porque éstos se generan más tarde por parte de las cabezas de nota, en
-vez de por elementos musicales que están en el flujo de entrada.  Ni
-se puede usar una instrucción @code{\tweak} para modificar claves o
-indicaciones de compás, ya que éstos están separados de cualquier
-instrucción @code{\tweak} precedente en el flujo de entrada a causa de
-la inserción automática de elementos adicionales necesarios para
-especificar el contexto.
-
-Pero la instrucción @code{\tweak} se puede usar como alternativa a la
-instrucción @code{\override} para modificar estos elementos
-notacionales que no producen la adición de ningún elemento notacional
-implícito antes de ellos mismos en el flujo musical.  Por ejemplo, las
-ligaduras de expresión se pueden modificar de esta forma:
+@cindex acorde, modificación de una nota
+
+En este ejemplo se modifican el color de una cabeza y el tipo de otra,
+dentro del mismo acorde:
+
+@lilypond[relative=2,verbatim,quote]
+< c
+  \tweak #'color #red
+  d
+  g
+  \tweak #'duration-log #1
+  a
+> 4
+@end lilypond
+
+@code{\tweak} se puede usar para modificar ligaduras de expresión:
 
 @lilypond[verbatim,quote,relative=1]
 c-\tweak #'thickness #5 ( d e f)
 @end lilypond
 
+
+Para que funcione la instrucción @code{\tweak}, debe permanecer
+adyacente al objeto al que se ha de aplicar después de que el código
+de entrada se ha convertido a un flujo musical.  A veces, LilyPond
+puede insertar elementos adicionales dentro del flujo de música
+durante el proceso de análisis sintáctico.  Por ejemplo, cuando una
+nota que no es parte explícita de un acorde se coloca dentro de un
+acorde por parte de LilyPond de manera que las notas que se pretenden
+modificar con @code{\tweak} se deben poner dentro de una construcción
+de acorde:
+
+@lilypond[relative=2,verbatim,quote]
+\tweak #'color #red c4
+<\tweak #'color #red c>4
+@end lilypond
+
+La instrucción @code{\tweak} no se puede usar para modificar ningún
+elemento que no aparezca explícitamente en el código de entrada.
+Concretamente, no se puede usar para modificar plicas, barras o
+alteraciones directamente, porque éstos se generan posteriormente por
+parte de las cabezas de las notas, más que por elementos musicales del
+flujo de entrada.  Tampoco se puede usar @code{\tweak} para modificar
+las claves ni las indicaciones de compás, porque se separarán de
+cualquier instrucción @code{\tweak} que aparezca en el flujo de
+entrada debido a la inserción automática de los elementos adicionales
+que se requieren para especificar el contexto.
+
 También se pueden escribir varias instrucciones @code{\tweak} antes de
 un elemento notacional, y todas ellas le afectan:
 
@@ -1672,8 +1913,8 @@ f'
 @end lilypond
 
 El flujo musical que se genera a partir de una sección de un archivo
-de entrada, incluido cualquier elemento insertado automáticamente,
-puede examinarse, véase @ref{Presentación de expresiones musicales}.  Esto
+de entrada (incluido cualquier elemento insertado automáticamente)
+puede examinarse, véase @ref{Displaying music expressions}.  Esto
 puede ser de utilidad en la determinación de lo que puede modificarse
 por medio de una instrucción @code{\tweak}.
 
@@ -1692,68 +1933,32 @@ Referencia de la notación:
 La instrucción @code{\tweak} no se puede usar dentro de una variable.
 
 @cindex trucos en la letra
-Las instrucciones @code{\tweak} no se pueden usar dentro del modo @code{\lyricmode}.
+Las instrucciones @code{\tweak} no se pueden usar dentro del modo
+@code{\lyricmode}.
 
 @cindex trucar puntos de control
 @cindex control, trucar puntos de
 
-La instrucción @code{\tweak} no se puede usar para modificar los
-puntos de control de una única ligadura entre varias dentro de un
-acorde, aparte de la primera que aparece en el archivo de entrada.
+La instrucción @code{\tweak} solamente se aplica a la primera de
+varias ligaduras generadas dentro de un acorde.
 
 @node set frente a override
 @subsection @code{\set} frente a @code{\override}
 @translationof set versus override
 
-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
+HACER: probablemente esta sección es innecesaria.
 
-@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.
+@ignore
+We have seen two methods of changing properties: @code{\set} and
+@code{\override}.  There are actually two different kinds of
+properties.
 
-@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}).
+@code{fontSize} is a special property: it is equivalent to
+entering @code{\override ... #'font-size} for all pertinent
+objects.  Since this is a common change, the special
+property (modified with @code{\set}) was created.
 
+@end ignore
 
 @node Conceptos y propiedades útiles
 @section Conceptos y propiedades útiles
@@ -1763,6 +1968,7 @@ Al ser éste un cambio muy común, se creó la propiedad especial
 @menu
 * Modos de entrada::
 * Dirección y posición::
+* Orden de disposición de los contextos::
 * Distancias y medidas::
 * Propiedades del símbolo del pentagrama::
 * Objetos de extensión::
@@ -1978,12 +2184,41 @@ c2( c)
 @end lilypond
 
 
+@node Orden de disposición de los contextos
+@subsection Orden de disposición de los contextos
+@translationof Context layout order
+
+@cindex contextos, orden de disposición
+
+Los contextos se disponen en un sistema normalmente desde arriba hacia
+abajo en el orden en que se encuentran en el archivo de entrada.
+Cuando los contextos se anidan unos dentro de otros, el contexto
+exterior incluye a los contextos anidados tal y como se especifica en
+el archivo de entrada, siempre y cuando los contextos interiores estén
+incluidos en la lista @qq{accepts} del contexto externo.  Los
+contextos anidados que no está nincluidos en la lista @qq{accepts} del
+contexto externo se recolocan debajo del contexto externo en lugar de
+anidarse dentro de él.
+
+Observe que discretamente se crea un contexto de forma implícita si se
+encuentra una instrucción donde no hay un contexto apropiado para
+contenerlo.  Esto puede dar lugar a pentagramas o partituras nuevos no
+esperados.
+
+El orden predeterminado en que los contextos se disponen, así como la
+lista @qq{accepts}, pueden cambiarse; véase @ref{Alinear los
+contextos}.
+
+@seealso
+Manual de aprendizaje:
+@rprogram{An extra staff appears}.
+
 @node Distancias y medidas
 @subsection Distancias y medidas
 @translationof Distances and measurements
 
-@cindex distances, absolute
-@cindex distances, scaled
+@cindex distancias absolutas
+@cindex distancias escaladas
 
 @funindex \mm
 @funindex \cm
@@ -2000,7 +2235,8 @@ cantidad, @code{\mm}, @code{\cm}, @code{\in}@tie{}(pulgadas), o
 @code{\pt}@tie{}(puntos, 1/72.27 pulgadas).  Las distancias de diseño
 de página se pueden especificar también en unidades escalables (véase
 el párrafo siguiente) adjuntando @code{\staff-space} a la cantidad.
-La disposición de página se describe en detalle en @ref{Formateo de las páginas}.
+La disposición de página se describe en detalle en @ref{Formateo de
+las páginas}.
 
 Las distancias escaladas siempre se especifican en unidades de un
 espacio del pentagrama o, más raramente, medio espacio del pentagrama.
@@ -2571,7 +2807,7 @@ de presentación de interés que resultan afectados por
 @item @code{BarLine}             @tab @code{Score}          @tab calculado
 @item @code{BarNumber}           @tab @code{Score}          @tab @code{begin-of-line-visible}
 @c omit the following item until it can be explained -td
-@c @item @code{BreakAlignGroup}  @tab @code{Score}          @tab calculated
+@c @item @code{BreakAlignGroup}  @tab @code{Score}          @tab calculado
 @item @code{BreathingSign}       @tab @code{Voice}          @tab @code{begin-of-line-invisible}
 @item @code{Clef}                @tab @code{Staff}          @tab @code{begin-of-line-visible}
 @item @code{Custos}              @tab @code{Staff}          @tab @code{end-of-line-visible}
@@ -2881,8 +3117,8 @@ Manual de aprendizaje:
 
 Referencia de la notación:
 @ref{Explicación del Manual de referencia de funcionamiento interno},
-@ref{Modificar las propiedades},
-@ref{Interfaces para programadores}.
+@ref{Modificar las propiedades}.
+
 
 Archivos de inicio:
 @file{scm/@/define@/-grobs@/.scm}.
@@ -2890,6 +3126,9 @@ Archivos de inicio:
 Fragmentos de código:
 @rlsr{Tweaks and overrides}.
 
+Extending:
+@rextend{Interfaces for programmers}.
+
 Referencia de funcionamiento interno:
 @rinternals{All layout objects}.
 
@@ -3381,3 +3620,167 @@ expresión cambiando la propiedad @code{control-points} si hay más de
 una en el mismo momento musical, ni siquiera usando la instrucción
 @code{\tweak}.
 
+
+
+@node Uso de las funciones musicales
+@section Uso de las funciones musicales
+@translationof Using music functions
+
+@c TODO -- add @seealso, etc. to these subsections
+
+Dondequiera que se necesite reutilizar trucos con distintas
+expresiones musicales, con frecuencia conviene hacer que el truco
+forme parte de una función musical.  En esta sección estudiaremos
+solamente las funciones de @emph{sustitución}, en las que el objeto es
+sustituir una variable dentro de un fragmento de código de entrada de
+LilyPond.  Se describen otras funciones más complejas en
+@rextend{Music functions}.
+
+@menu
+* Sintaxis de las funciones de sustitución::
+* Tipos de argumento comunes::
+* Ejemplos de funciones de sustitución::
+@end menu
+
+@node Sintaxis de las funciones de sustitución
+@subsection Sintaxis de las funciones de sustitución
+@translationof Substitution function syntax
+
+Es fácil hacer una función que sustituya una variable dentro de código
+de LilyPond.  La forma general de estas funciones es
+
+@example
+funcion =
+#(define-music-function (parser location @var{var1} @var{var2}...@var{vari}... )
+                        (@var{tipo-de-var1?} @var{tipo-de-var2?}...@var{tipo-de-vari?}...)
+  #@{
+    @emph{...música...}
+  #@})
+@end example
+
+@noindent
+donde
+
+@multitable @columnfractions .33 .66
+@item @var{vari}         @tab @var{i}-ésima variable
+@item @var{tipo-de-vari?}   @tab tipo de la variable  @var{i}-ésima
+@item @var{...música...}  @tab entrada de LilyPond normal, que utiliza variables como @code{#$var1}, etc.
+@end multitable
+
+Los tipos de variable comunes se describen en @ref{Tipos de argumento
+comunes}.  Hay una descripción más completa de los tipos de variable
+en @rextend{Music function syntax}.
+
+Los argumentos @code{parser} y @code{location} son necesarios, y se
+utilizan en algunas situaciones avanzadas como se encuentra descrito
+en @rextend{Music function syntax}.  Para las funciones de
+sustitución, tan sólo hemos de asegurarnos de incluirlos.
+
+@seealso
+
+Referencia de la notación:
+@ref{Tipos de argumento comunes}.
+
+Expansión de LilyPond:
+@rextend{Music function syntax}.
+
+@node Tipos de argumento comunes
+@subsection Tipos de argumento comunes
+@translationof Common argument types
+
+Para hacer posible la comprobación de errores, se debe definir el tipo
+de cada argumento que se pasa a una función musical.  Algunos de los
+tipos de variable comunes están relacionados en la tabla que aparece
+más abajo.
+
+Los siguientes tipos de entrada se pueden utilizar como variables
+dentro de una función musical.  La lista no es exhaustiva; hay más
+información sobre los posibles tipos de variable en
+@rextendnamed{Music function syntax,Sintaxis de las funciones
+musicales}.
+
+@multitable @columnfractions .33 .66
+@headitem Tipo de entrada       @tab notación de @var{tipo-de-vari?}
+@item Entero                    @tab @code{integer?}
+@item Flotante (número decimal) @tab @code{number?}
+@item Cadena de caracteres      @tab @code{string?}
+@item Marcado                   @tab @code{markup?}
+@item Expresión musical         @tab @code{ly:music?}
+@item Dupla de Scheme           @tab @code{pair?}
+@end multitable
+
+@seealso
+
+Expansión de LilyPond:
+@rextend {Music function syntax}.
+
+Archivos instalados:
+@file{lily/music-scheme.cc},
+@file{scm/c++.scm}.
+
+
+@node Ejemplos de funciones de sustitución
+@subsection Ejemplos de funciones de sustitución
+@translationof Substitution function examples
+
+Esta sección presenta algunos ejemplos de funciones de sustitución.
+No pretenden ser exhaustivas, sino demostrar algunas de las
+posibilidades de las funciones de sustitución sencillas.
+
+En el primer ejemplo se define una función que simplifica el ajuste
+del relleno de un elemento de inscripción de texto TextScript:
+
+@lilypond[quote,verbatim,ragged-right]
+padText = #(define-music-function (parser location padding) (number?)
+  #{
+    \once \override TextScript #'padding = #$padding
+  #})
+
+\relative c''' {
+  c4^"piu mosso" b a b
+  \padText #1.8
+  c4^"piu mosso" d e f
+  \padText #2.6
+  c4^"piu mosso" fis a g
+}
+@end lilypond
+
+Además de números, podemos usar expresiones musicales, como notas,
+para los argumentos de las funciones musicales:
+
+@lilypond[quote,verbatim,ragged-right]
+custosNote = #(define-music-function (parser location note)
+                                     (ly:music?)
+  #{
+    \once \override Voice.NoteHead #'stencil =
+      #ly:text-interface::print
+    \once \override Voice.NoteHead #'text =
+      \markup \musicglyph #"custodes.mensural.u0"
+    \once \override Voice.Stem #'stencil = ##f
+    $note
+  #})
+
+{ c' d' e' f' \custosNote g' }
+@end lilypond
+
+Se pueden definir funciones de sustitución con varios argumentos:
+
+@lilypond[quote,verbatim,ragged-right]
+tempoPadded = #(define-music-function (parser location padding tempotext)
+  (number? string?)
+#{
+  \once \override Score.MetronomeMark #'padding = $padding
+  \tempo \markup { \bold $tempotext }
+#})
+
+\relative c'' {
+  \tempo \markup { "Low tempo" }
+  c4 d e f g1
+  \tempoPadded #4.0 #"High tempo"
+  g4 f e d c1
+}
+@end lilypond
+
+@c @seealso
+
+
index d0207af6c9ad132ab70b320da85e2ce98c1efdea..0a45388aaf738253454af4809843959bebf0a293 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
index 635874017986c019c641ad1be4df093c87105e4c..6b4dd7408b49458cc357d96120753717767def64 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: b2d4318d6c53df8469dfa4da09b27c15a374d0ca
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -95,7 +95,7 @@ Referencia de la notación:
 @ref{Modos de entrada}.
 
 Fragmentos de código:
-@rlsr{Chords}
+@rlsr{Chords}.
 
 
 @knownissues
@@ -521,6 +521,10 @@ Sin Acorde).
 
 @snippets
 
+@c Keep index entries with following snippet
+@cindex acordes, eliminar repetidos
+@funindex chordChanges
+
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {showing-chords-at-changes.ly}
 
@@ -571,11 +575,12 @@ de acorde dados se pueden personalizar.
 @cindex acordes de jazz
 
 El esquema de nomenclatura de acordes predeterminado es un sistema
-para música de Jazz, propuesto por Klaus Ignatzek (véase
-@ref{Lista bibliográfica}).  También funcionan otros dos esquemas de
-nomenclatura de acordes: una notación de acordes de Jazz alternativa y
-un esquema sistemático llamado Acordes de Banter.  La notación de Jazz
-alternativa también se puede ver en el cuadro @ref{Carta de nombres de acordes}.
+para música de Jazz, propuesto por Klaus Ignatzek (véase @ressay{Lista
+bibliográfica}).  También funcionan otros dos esquemas de nomenclatura
+de acordes: una notación de acordes de Jazz alternativa y un esquema
+sistemático llamado Acordes de Banter.  La notación de Jazz
+alternativa también se puede ver en el cuadro @ref{Carta de nombres de
+acordes}.
 
 @c TODO --  Change this so we don't have a non-verbatim example.
 @c  Make short example in docs, then move longer example to
@@ -801,7 +806,7 @@ Glosario musical:
 @rglos{figured bass}.
 
 Fragmentos de código:
-@rlsr{Chords}
+@rlsr{Chords}.
 
 
 @node Introducir el bajo cifrado
@@ -1099,7 +1104,7 @@ se puede presentar encima o debajo del mismo.
 @c Installed Files:
 @c @fil e{}.
 @c
-Snippets:
+Fragmentos de código:
 @rlsr{Chords}.
 
 Referencia de funcionamiento interno:
diff --git a/Documentation/es/notation/contemporary.itely b/Documentation/es/notation/contemporary.itely
new file mode 100644 (file)
index 0000000..23bba9a
--- /dev/null
@@ -0,0 +1,264 @@
+@c -*- coding: utf-8; mode: texinfo; -*-
+@ignore
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
+
+    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"
+
+
+@node Música contemporánea
+@section Música contemporánea
+@translationof Contemporary music
+
+A partir de comienzos del s.XX se ha producido una expansión masiva de
+los estilos y técnicas composicionales.  Los nuevos desarrollos
+armónicos y rítmicos, una expansión del espectro de alturas y el
+desarrollo de un amplio abanico de nuevas técnicas instrumentales han
+venido acompañadas de una evolución y expansión paralelas de la
+notación musical.  El objetivo de esta sección es proporcionar
+referencias e información relevante para el trabajo con estas nuevas
+técnicas notacionales.
+
+@menu
+* Altura y armonía en la música contemporánea::
+* Enfoques contemporáneos del ritmo::
+* Notación gráfica::
+* Técnicas de partitura contemporáneas::
+* Nuevas técnicas instrumentales::
+* Lecturas adicionales y partituras de interés::
+@end menu
+
+
+@node Altura y armonía en la música contemporánea
+@subsection Altura y armonía en la música contemporánea
+@translationof Pitch and harmony in contemporary music
+
+Esta sección destaca los problemas de la notación de las alturas y la
+armonía en la música contemporánea.
+
+@menu
+* Referencias para alturas y armonía en música contemporánea::
+* Notación microtonal::
+* Contemporary key signatures and harmony::
+@end menu
+
+
+@node Referencias para alturas y armonía en música contemporánea
+@unnumberedsubsubsec Referencias para alturas y armonía en música contemporánea
+@translationof References for pitch and harmony in contemporary music
+
+@itemize
+@item La notación estándar de cuartos de tono se estudia en
+@ref{Nombres de las notas en otros idiomas}.
+
+@item Las armaduras de tonalidad no estándar se estudian en
+@ref{Armadura de la tonalidad}.
+
+@item Las prácticas contemporáneas en la presentación de las alteraciones
+accidentales se estudian en @ref{Alteraciones accidentales automáticas}.
+
+@end itemize
+
+
+@node Notación microtonal
+@unnumberedsubsubsec Notación microtonal
+@translationof Microtonal notation
+
+@untranslated
+
+@ignore
+    Discussion of microtones other than quarter-tones, alternative
+notations (arrows, slash-flats), etc.
+@end ignore
+
+
+@node Armonía y armaduras de tonalidad contemporáneas
+@unnumberedsubsubsec Armonía y armaduras de tonalidad contemporáneas
+@translationof Contemporary key signatures and harmony
+
+@untranslated
+
+@ignore
+    Discussion of contemporary key signatures:
+    non-standard, polytonality, etc.
+@end ignore
+
+
+@node Enfoques contemporáneos del ritmo
+@subsection Enfoques contemporáneos del ritmo
+@translationof Contemporary approaches to rhythm
+
+Esta sección destaca los problemas de la notación de las duraciones en
+la música contemporánea.
+
+@menu
+* Referencias para enfoque contemporáneos del ritmo::
+* Grupos de valoración especial en música contemporánea::
+* Compases contemporáneos::
+* Notación polimétrica extendida::
+* Barrado en música contemporánea::
+* Líneas divisorias en música contemporánea::
+@end menu
+
+
+@node Referencias para enfoque contemporáneos del ritmo
+@unnumberedsubsubsec Referencias para enfoque contemporáneos del ritmo
+@translationof References for contemporary approaches to rhythm
+
+@itemize
+@item Los tipos de compás de amalgama se estudian en @ref{Indicación de compás}.
+
+@item La notación polimétrica básica se estudia en
+@ref{Notación polimétrica}.
+
+@item Las barras en ángulo progresivas se estudian en @ref{Barras progresivas}.
+
+@item Las líneas divisorias de estilo Mensurstriche (líneas que están
+solamente entre los pentagramas) se estudian en @ref{Agrupar
+pentagramas}.
+
+@end itemize
+
+
+@node Grupos de valoración especial en música contemporánea
+@unnumberedsubsubsec Grupos de valoración especial en música contemporánea
+@translationof Tuplets in contemporary music
+
+@untranslated
+
+@ignore
+    Extended discussion of modern tuplets, including
+    non-standard ratios, nested tuplets and customising
+    the appearance of tuplets (ratios, note values etc.)
+    Also how to provide an ossia RhythmicStaff to help
+    players break down a complicated tuplet.
+@end ignore
+
+
+@node Compases contemporáneos
+@unnumberedsubsubsec Compases contemporáneos
+@translationof Contemporary time signatures
+
+@untranslated
+
+@ignore
+    Extended discussion of compound time signatures
+    including Graham P.'s work; non-standard time
+    signatures such as 7/10, 5/6; alternative
+    notations such as Orff-esque 4/note, placing a
+    single time signature across multiple staves, or
+    placing time signatures at the top of StaffGroups
+    or systems rather than in the stave.
+@end ignore
+
+
+@node Notación polimétrica extendida
+@unnumberedsubsubsec Notación polimétrica extendida
+@translationof Extended polymetric notation
+
+@untranslated
+
+@ignore
+    Extended examples e.g. different instruments
+    or ensembles with independent tempi
+@end ignore
+
+
+@node Barrado en música contemporánea
+@unnumberedsubsubsec Barrado en música contemporánea
+@translationof Beams in contemporary music
+
+@untranslated
+
+@ignore
+    Beaming practises, stemlets, Boulez-esque displaying
+    of beamed notes with flags
+@end ignore
+
+
+@node Líneas divisorias en música contemporánea
+@unnumberedsubsubsec Líneas divisorias en música contemporánea
+@translationof Bar lines in contemporary music
+
+@untranslated
+
+@ignore
+    Mensurstriche barlines, tick barlines, etc.
+@end ignore
+
+
+@node Notación gráfica
+@subsection Notación gráfica
+@translationof Graphical notation
+
+@untranslated
+
+@node Técnicas de partitura contemporáneas
+@subsection Técnicas de partitura contemporáneas
+@translationof Contemporary scoring techniques
+
+@untranslated
+
+@node Nuevas técnicas instrumentales
+@subsection Nuevas técnicas instrumentales
+@translationof New instrumental techniques
+
+@untranslated
+
+@node Lecturas adicionales y partituras de interés
+@subsection Lecturas adicionales y partituras de interés
+@translationof Further reading and scores of interest
+
+Esta sección sugiere libros, ejemplos musicales y otros recursos de
+utilidad en el estudio de la notación musical contemporánea.
+
+@menu
+* Libros y artículos sobre notación musical contemporánea::
+* Partituras y ejemplos musicales::
+@end menu
+
+
+@node Libros y artículos sobre notación musical contemporánea
+@unnumberedsubsubsec Libros y artículos sobre notación musical contemporánea
+@translationof Books and articles on contemporary musical notation
+
+@itemize
+@item
+@emph{Music Notation in the Twentieth Century: A Practical Guidebook}
+de Kurt Stone [W. W. Norton, 1980]
+
+@item
+@emph{Music Notation: A Manual of Modern Practice} de Gardner Read
+[Taplinger, 1979]
+
+@item
+@emph{Instrumentation and Orchestration} de Alfred Blatter [Schirmer,
+2nd ed. 1997]
+
+@end itemize
+
+
+@node Partituras y ejemplos musicales
+@unnumberedsubsubsec Partituras y ejemplos musicales
+@translationof Scores and musical examples
+
+@untranslated
+
+@ignore
+    Rough list of composers whose work could be included
+    (in alphabetical order, perhaps with suggested work):
+
+        Pierre Boulez (Le Marteau Sans Maître?)
+        John Cage (Freeman Etudes?)
+        George Crumb (Black Angels?)
+        Brian Ferneyhough (Transit?  Time & Motion Studies?)
+        Ben Johnston (extended just intonation example)
+        György Ligeti (several, including Hamburg Concerto)
+        Krzysztof Penderecki (Threnody to the Victims of Hiroshima?)
+        Karlheinz Stockhausen (Gruppen?)
+@end ignore
+
index 09820e5b7a40b0536a0f6e13f04ad06de4087459..e68883b4c78dc1a6d120d48dee6518a904283289 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is included from notation.itely
 @ignore
-    Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -270,6 +270,14 @@ e4(\p f)--
 
 
 @seealso
+Manual de aprendizaje:
+@rlearning{Visibilidad y color de los objetos}.
+
+Notation Reference:
+@ref{Invisible rests},
+@ref{Visibility of objects},
+@ref{Hiding staves}.
+
 Fragmentos de código:
 @rlsr{Editorial annotations}.
 
index 02fc806ab2a9558b267972b1fb05674f9c65e204..7f8214378118177d3601f6e6fcc286d97b4c4d54 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -118,6 +118,15 @@ encuentran definidas en el archivo @file{scm/@/script@/.scm}.  Las
 articulaciones y ornamentos se pueden colocar manualmente por encima o
 por debajo del pentagrama; véase @ref{Dirección y posición}.
 
+Las articulaciones son objetos @code{Script}.  Sus propiedades se
+describen de forma más completa en @rinternals{Script}.
+
+Además de articulaciones, se pueden adjuntar textos y elementos de
+marcado a las notas.  Véase @ref{Guiones de texto}.
+
+Para ver más información acerca de la ordenación de los elementos
+Script y TextScript que se adjuntan a las notas, consulte
+@rlearning{Colocación de los objetos}.
 
 @snippets
 
@@ -137,7 +146,11 @@ Glosario musical:
 @rglos{staccato},
 @rglos{portato}.
 
+Manual de aprendizaje:
+@rlearning{Colocación de los objetos}.
+
 Referencia de la notación:
+@ref{Guiones de texto},
 @ref{Dirección y posición},
 @ref{Lista de articulaciones},
 @ref{Trinos}.
@@ -181,6 +194,8 @@ Referencia de funcionamiento interno:
 @funindex fff
 @funindex \ffff
 @funindex ffff
+@funindex \fffff
+@funindex fffff
 @funindex \fp
 @funindex fp
 @funindex \sf
@@ -200,10 +215,11 @@ Las marcas dinámicas de matiz absoluto se especifican usando un
 comando después de una nota: @code{c4\ff}.  Las marcas dinámicas
 disponibles son @code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp},
 @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
-@code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp},
-@code{\spp}, @code{\sfz} y @code{\rfz}.  Las indicaciones dinámicas se
-pueden colocar manualmente por encima o por debajo del pentagrama;
-para ver más detalles, consulte @ref{Dirección y posición}.
+@code{\ffff}, @code{\fffff}, @code{\fp}, @code{\sf}, @code{\sff},
+@code{\sp}, @code{\spp}, @code{\sfz} y @code{\rfz}.  Las indicaciones
+dinámicas se pueden colocar manualmente por encima o por debajo del
+pentagrama; para ver más detalles, consulte @ref{Dirección y
+posición}.
 
 @lilypond[verbatim,quote,relative=2]
 c2\ppp c\mp
@@ -284,11 +300,12 @@ g1\espressivo
 
 Los crescendi y decrescendi se pueden tipografiar como marcas
 textuales en lugar de reguladores.  Las instrucciones incorporadas
-que activan estos modos de texto son @code{\crescTextCresc},
-@code{\dimTextDecresc}, @code{\dimTextDecr} y @code{\dimTextDim}.  Las
-instrucciones correspondientes @code{\crescHairpin} y
-@code{\dimHairpin} hacen que vuelvan a aparecer los reguladores de
-nuevo:
+@code{\crescTextCresc}, @code{\dimTextDecresc}, @code{\dimTextDecr} y
+@code{\dimTextDim} le dicen a LilyPond que use estas marcas textuales
+en lugar de reguladores para todas las instrucciones @code{\<} y
+@code{\>} subsiguientes.  Las instrucciones correspondientes
+@code{\crescHairpin} y @code{\dimHairpin} hacen que vuelvan a aparecer
+los reguladores de nuevo:
 
 @lilypond[verbatim,quote,relative=2]
 \crescTextCresc
@@ -469,7 +486,7 @@ mfEspressDynamic = #(make-dynamic-script mfEspress)
 @end lilypond
 
 Se puede utilizar en su lugar la forma Scheme del modo de marcado.  Su
-sintaxis se explica en @ref{Construcción del marcado en Scheme}.
+sintaxis se explica en @rextend{Construcción del marcado en Scheme}.
 
 @lilypond[verbatim,quote]
 moltoF = #(make-dynamic-script
@@ -489,13 +506,14 @@ describen en @ref{Instrucciones de marcado de texto más usuales}.
 Referencia de la notación:
 @ref{Formatear el texto},
 @ref{Instrucciones de marcado de texto más usuales},
-@ref{Construcción del marcado en Scheme},
 @ref{¿Qué sale por el MIDI?},
 @ref{Control de los matices en el MIDI}.
 
 Fragmentos de código:
 @rlsr{Expressive marks}.
 
+Extender LilyPond:
+@rextend{Construcción del marcado en Scheme}.
 
 @node Curvas
 @subsection Curvas
@@ -520,6 +538,9 @@ elevaciones de tono.
 
 Las @notation{Ligaduras de expresión} se introducen utilizando paréntesis:
 
+@warning{En música polifónica, las ligaduras de expresión deben
+terminar en la misma voz en la que empiezan.}
+
 @lilypond[verbatim,quote,relative=2]
 f4( g a) a8 b(
 a4 g2 f4)
@@ -649,6 +670,7 @@ g4( e c2)
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {making-slurs-with-complex-dash-structure.ly}
 
+
 @seealso
 Glosario musical:
 @rglos{slur}.
@@ -986,10 +1008,13 @@ Se pueden escribir distintos tipos de acordes arpegiados.
 
 @lilypond[verbatim,quote,relative=1]
 <c e g c>2\arpeggio
+
 \arpeggioArrowUp
 <c e g c>2\arpeggio
+
 \arpeggioArrowDown
 <c e g c>2\arpeggio
+
 \arpeggioNormal
 <c e g c>2\arpeggio
 @end lilypond
@@ -1008,12 +1033,16 @@ Se pueden crear símbolos especiales de arpegio @emph{con corchete}:
 
 @lilypond[verbatim,quote,relative=1]
 <c e g c>2
+
 \arpeggioBracket
 <c e g c>2\arpeggio
+
 \arpeggioParenthesis
 <c e g c>2\arpeggio
+
 \arpeggioParenthesisDashed
 <c e g c>2\arpeggio
+
 \arpeggioNormal
 <c e g c>2\arpeggio
 @end lilypond
index ab61d391b0d97f39d2703d7881161936d204a802..02c4d657d9172f433548fc8312ee6cce02c28ede 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 9318dde7b34435a3fdb2e1a7e0ddcf0f86e936ae
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -65,7 +65,8 @@ manual:
 
 @itemize
 @item
-Las digitaciones se indican como se explica en @ref{Indicaciones de digitación}.
+Las digitaciones se indican como se explica en @ref{Indicaciones de
+digitación}.
 
 @item
 Las instrucciones para ligaduras @notation{Laissez vibrer} así como
@@ -157,23 +158,70 @@ Referencia de funcionamiento interno:
 @funindex TabStaff
 @funindex TabVoice
 
-La notación de tablatura se utiliza para la notación de música de
-instrumentos de cuerda pulsada.  Las alturas no se denotan mediante
-cabezas de nota, sino mediante números que indican sobre qué cuerda y
-traste se debe tocar la nota.  LilyPond contempla las tablaturas de
-forma limitada.
+La notación para instrumentos de cuerda pulsada se realiza con
+frecuencia utilizando un sistema de dedos y cifras, o tablatura.  A
+diferencia de la notación tradicional, las notas no se designan
+mediante figuras, sino mediante números que indican sobre qué cuerda y
+traste se debe tocar la nota.  Los números se imprimen verticalmente
+unos encima de otros si las notas son simultáneas.
 
-El número de cuerda asociado a una nota se proporciona en la forma de
-una barra invertida seguida por un número, p.ej. @code{c4\3} es un Do
-negra sobre la tercera cuerda.  Por defecto, la cuerda 1 es la más
-aguda, y la afinación normal es la afinación estándar de guitarra (con
-6 cuerdas).  Las notas se imprimen como tablatura, usando lo contextos
-@rinternals{TabStaff} y @rinternals{TabVoice}:
+De forma predeterminada, la cuerda 1 es la más aguda, y la afinación
+normal es la afinación estándar de guitarra (con 6 cuerdas).  Las
+notas se imprimen como tablatura, usando los contextos @code{TabStaff}
+y @code{TabVoice}:
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-\new TabStaff {
-  a,4\5 c'\2 a\3 e'\1
-  e\4 c'\2 a\3 e'\1
+\new TabStaff \relative c' {
+       a,8 a' <c e> a
+       d, a' <d f> a
+}
+@end lilypond
+
+Las tablaturas predeterminadas no contienen símbolos para la duración
+de las notas ni ningún otro símbolo musical, como p.ej. indicaciones
+expresivas.
+
+@lilypond[quote,ragged-right,verbatim]
+symbols = {
+  \time 3/4
+  c4-.^"Allegro" d( e)
+  f4-.\f g a^\fermata
+  \mark \default
+  c8_.\<\( c16 c ~ c2\!
+  c'2.\prall\)
+}
+
+\score {
+  <<
+    \new Staff { \clef "G_8" \symbols }
+    \new TabStaff   { \symbols }
+  >>
+}
+@end lilypond
+
+@funindex \tabFullNotation
+
+Si queremos que todos los símbolos musicales que se usan en la
+notación tradicional aparezcan también en la tablatura, tenemos que
+aplicar la instrucción @code{\tabFullNotation} dentro de un contexto
+@code{TabStaff}.  Tenga en cuenta que, en la tablatura, las blancas
+tienen doble plica para poder distinguirlas de las negras.
+
+@lilypond[quote,ragged-right,verbatim]
+symbols = {
+  \time 3/4
+  c4-.^"Allegro" d( e)
+  f4-.\f g a^\fermata
+  \mark \default
+  c8_.\<\( c16 c ~ c2\!
+  c'2.\prall\)
+}
+
+\score {
+  \new TabStaff {
+    \tabFullNotation
+    \symbols
+  }
 }
 @end lilypond
 
@@ -181,26 +229,111 @@ aguda, y la afinación normal es la afinación estándar de guitarra (con
 
 @cindex traste
 
-Si se especifica ninguna cuerda para una nota, se le asigna la cuerda
-más aguda que produce la nota con un número de traste mayor o igual
-que el valor de @code{minimumFret} (traste mínimo).  El valor
-predeterminado de @code{minimumFret} es cero.
+De forma predeterminada, las notas se asignan a la posición más baja
+del mástil (primera posición).  Las cuerdas al aire se toman como
+preferencia, automáticamente.  Si queremos que una nota determinada se
+toque sobre una cuerda concreta, podemos añadir una indicación de
+número de cuerda al nombre de la nota.  Si definimos los nombres de
+nota y los números de cuerda sin una construcción de acorde
+(@code{<>}), las indicaciones de número de cuerda no aparecerán en la
+notación tradicional.  Es mucho más cómodo definir la posición
+utilizando el valor de @code{minimumFret}.  El valor predeterminado de
+es 0.
+
 
 @lilypond[quote,ragged-right,verbatim]
 \new StaffGroup <<
    \new Staff \relative c {
      \clef "treble_8"
+     \time 2/4
      c16 d e f g4
+     c,16\5 d\5 e\4 f\4 g4\4
      c,16 d e f g4
    }
    \new TabStaff \relative c {
      c16 d e f g4
+     c,16\5 d\5 e\4 f\4 g4\4
      \set TabStaff.minimumFret = #5
      c,16 d e f g4
    }
 >>
 @end lilypond
 
+Las ligaduras de unión que cruzan saltos de línea llevan paréntesis de
+forma predeterminada.  Lo mismo rige para la casilla de segunda vez de
+una repetición.
+
+@lilypond[quote,ragged-right,verbatim]
+ties = \relative c' {
+       \repeat volta 2 {
+       e2. f4~
+       f2 g2~ }
+       \alternative {
+               { g4 f2. }
+               { g4\repeatTie c,2. }
+       }
+       b1~\break
+       b1  \bar "|."
+}
+
+\score {
+  <<
+    \new StaffGroup  <<
+    \context Staff  {
+        \clef "treble_8"
+        \ties
+    }
+      \context TabStaff  {
+        \ties
+      }
+    >>
+  >>
+  \layout {
+  indent = #0
+  ragged-right = ##t
+  }
+}
+@end lilypond
+
+@funindex \hideSplitTiedTabNotes
+
+La instrucción @code{\hideSplitTiedTabNotes} cancela el comportamiento
+de imprimir los números de traste entre paréntesis:
+
+@lilypond[quote,ragged-right,verbatim]
+ties = \relative c' {
+       \repeat volta 2 {
+       e2. f4~
+       f2 g2~ }
+       \alternative {
+               { g4 f2. }
+               { g4\repeatTie c,2. }
+       }
+       b1~\break
+       b1  \bar "|."
+}
+
+\score {
+  <<
+    \new StaffGroup  <<
+    \context Staff  {
+        \clef "treble_8"
+        \ties
+    }
+      \context TabStaff  {
+      \hideSplitTiedTabNotes
+        \ties
+      }
+    >>
+  >>
+  \layout {
+  indent = #0
+  ragged-right = ##t
+  }
+}
+@end lilypond
+
+
 @cindex armónicos en tablatura
 @cindex tablatura y armónicos
 @cindex deslizamientos en notación de tablatura
@@ -209,7 +342,7 @@ predeterminado de @code{minimumFret} es cero.
 Se pueden añadir indicaciones de armónicos y @emph{slides} o
 deslizamientos a la notación de tablatura.
 
-@lilypond[fragment, verbatim, quote, relative=1]
+@lilypond[verbatim, quote, relative=1]
 \new TabStaff {
   \new TabVoice {
     <c g'\harmonic> d\2\glissando e\2
@@ -217,6 +350,7 @@ deslizamientos a la notación de tablatura.
 }
 @end lilypond
 
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
@@ -281,10 +415,10 @@ Los efectos especiales de guitarra se limitan a armónicos y @emph{slides}.
 La tablatura en LilyPond calcula automáticamente el traste para cada
 nota, basándose en la cuerda a que está asignada la nota.  Para
 hacerlo, es necesario especificar la afinación de las cuerdas.  La
-afinación de las cuerdas se da en la propiedad @code{StringTunings}.
+afinación de las cuerdas se da en la propiedad @code{stringTunings}.
 
 LilyPond trae afinaciones predefinidas para el banjo, la mandolina, la
-guitarra y el bajo.  LilyPond establece automáticamente la
+guitarra, el bajo y el ukelele.  LilyPond establece automáticamente la
 transposición correcta para las afinaciones predefinidas.  El ejemplo
 siguiente es para bajo, que suena una octava por debajo de lo escrito.
 
@@ -310,7 +444,7 @@ estándar Mi-La-Re-Sol-Si-Mi).  Otras afinaciones predefinidas son
 @code{guitar-open-g-tuning} (Sol Mayor al aire, Re-Sol-Re-Sol-Si-Re),
 @code{mandolin-tuning} (mandolina) y @code{banjo-open-g-tuning} (banjo
 con Sol Mayor al aire).  Las afinaciones predefinidas están en
-@code{scm/output-lib.scm}.
+@code{scm/tablature.scm}.
 
 Una afinación de las cuerdas es una lista de Scheme de alturas, una
 por cada cuerda, ordenadas de 1 a N, donde la cuerda 1 está arriba en
@@ -355,7 +489,7 @@ mynotes = {
 
 @seealso
 Archivos de inicio:
-@file{scm/output-lib.scm}.
+@file{scm/@/tablature@/.scm}.
 
 Fragmentos de código:
 @rlsr{Fretted strings}.
@@ -363,6 +497,11 @@ Fragmentos de código:
 Referencia de funcionamiento interno:
 @rinternals{Tab_note_heads_engraver}.
 
+@knownissues
+Los cálculos de tablatura automáticos no funcionan bien en la mayoría
+de los casos para instrumentos en que la afinación de las cuerdas no
+varía de forma monótona con el número de cuerda, como el ukelele.
+
 
 @node Marcas de diagramas de trastes
 @unnumberedsubsubsec Marcas de diagramas de trastes
@@ -465,7 +604,7 @@ la cadena de marcado del diagrama.
      }
   }
   \context Staff {
-        %% A chord for ukulele
+        %% An A chord for ukulele
     a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
   }
 >>
@@ -783,6 +922,24 @@ predefinidos se pueden añadir para otros instrumentos u otras
 afinaciones siguiendo los ejemplos que aparecen en
 @code{predefined-guitar-fretboards.ly}.
 
+Los diagramas de posiciones para el ukelele están en el archivo
+@code{predefined-ukulele-fretboards.ly}.
+
+@lilypond[verbatim, ragget-right, quote]
+\include "predefined-ukulele-fretboards.ly"
+
+myChords = \chordmode { a1 a:m a:aug }
+
+\new ChordNames {
+  \myChords
+}
+
+\new FretBoards {
+  \set stringTunings = #ukulele-tuning
+  \myChords
+}
+@end lilypond
+
 Las notas de los acordes se pueden introducir como música simultánea o
 bien usando el modo de acordes (véase @ref{Panorámica del modo de acordes}).
 
@@ -852,19 +1009,22 @@ mychordlist = {
 @end lilypond
 
 
-La tabla de diagramas de traste predefinidos contiene siete acordes
-(mayor, menor, aumentado, disminuido, séptima dominante, séptima mayor
-y menor séptima) para 17 tonalidades distintas.  Se puede ver una
-lista completa de los diagramas de traste predefinidos en
-@ref{Diagramas predefinidos de trastes}.  Si no hay una entrada en la
-tabla para un acorde, el grabador FretBoards calcula un cadena de
-diagrama fret-diagram usando la funcionalidad de diagramas automáticos
-que se describe en @ref{Diagramas de traste automáticos}.
+La tabla de diagramas de traste predefinidos para la guitarra contiene
+ocho acordes (mayor, menor, aumentado, disminuido, séptima dominante,
+séptima mayor, menor séptima y novena domniante) para 17 tonalidades
+distintas.  The predefined fret diagram table for ukulele contains
+these chords plus an additional three chords (major sixth, suspended
+second, and suspended fourth).  Se puede ver una lista completa de los
+diagramas de traste predefinidos en @ref{Diagramas predefinidos de
+trastes}.  Si no hay una entrada en la tabla para un acorde, el
+grabador FretBoards calcula un cadena de diagrama fret-diagram usando
+la funcionalidad de diagramas automáticos que se describe en
+@ref{Diagramas de traste automáticos}.
 
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 mychords = \chordmode{
-  c1 c:9
+  c1 c:maj9
 }
 
 <<
@@ -891,12 +1051,12 @@ fret-diagram-verbose.
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 
-\storePredefinedDiagram \chordmode {c:9}
+\storePredefinedDiagram \chordmode {c:maj9}
                         #guitar-tuning
-                        #"x;3-2;2-1;3-3;3-4;x;"
+                        #"x;3-2;o;o;o;o;"
 
 mychords = \chordmode{
-  c1 c:9
+  c1 c:maj9
 }
 
 <<
@@ -1011,8 +1171,8 @@ Referencia de la notación:
 @ref{Diagramas predefinidos de trastes}.
 
 Archivos de inicio:
-@file{ly/predefined-guitar-fretboards.ly},
-@file{ly/predefined-guitar-ninth-fretboards.ly}.
+@file{ly/@/predefined@/-guitar@/-fretboards@/.ly},
+@file{ly/@/predefined@/-guitar@/-ninth@/-fretboards@/.ly}.
 
 Fragmentos de código:
 @rlsr{Fretted strings}.
@@ -1176,6 +1336,10 @@ Fragmentos de código:
 Referencia de funcionamiento interno:
 @rinternals {fret-diagram-interface}.
 
+@knownissues
+Los cálculos de tablatura automáticos no funcionan bien para
+instrumentos con afinaciones no monótonas.
+
 
 @node Digitaciones de la mano derecha
 @unnumberedsubsubsec Digitaciones de la mano derecha
@@ -1212,6 +1376,7 @@ corto, como por ejemplo @code{RH}:
 #(define RH rightHandFinger)
 @end example
 
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
@@ -1293,7 +1458,7 @@ Se pueden usar cabezas de nota especiales para indicar notas apagadas
 o armónicos.  Los armónicos se suelen explicar de forma más completa
 con un marcado de texto.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \relative c' {
   \clef "treble_8"
   \override Staff.NoteHead #'style = #'cross
@@ -1375,6 +1540,6 @@ cuatro cuerdas utilizando la función @code{four-string-banjo}:
 Fragmentos de código:
 @rlsr{Fretted strings}.
 
-El archivo @file{scm/@/output@/-lib@/.scm} contiene las afinaciones
+Archivos de inicio:
+@file{scm/@/output@/-lib@/.scm} contiene las afinaciones
 predefinidas para el banjo.
-
index db9dd0b53bc8431f369040e932807c29f209c24b..fc70587198227241b44a368bcd91e13b2be05965 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 5f51567fbc5d7a811e147ebd01f103e066f36b3a
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -262,7 +262,7 @@ del nivel superior, y se combina con ellas formando un @code{\book}
 (libro) único.  Este comportamiento se puede cambiar estableciendo el
 valor de la variable @code{toplevel-score-handler} en el nivel
 superior.  El @emph{handler} predeterminado se define en el archivo de
-inicio @file{../scm/@/lily@/.scm}.
+inicio @file{../@/scm/@/lily@/.scm}.
 
 @item
 Un bloque @code{\book} combina lógicamente varios movimientos (es
@@ -279,7 +279,7 @@ explícitamente un bloque @code{\book} si queremos tener más de una
 ejemplo.  Se puede cambiar este comportamiento estableciendo el valor
 de la variable @code{toplevel-book-handler} en el nivel superior.  El
 @emph{handler} predeterminado se define en el archivo de inicio
-@file{../scm/@/lily@/.scm}.
+@file{../@/scm/@/lily@/.scm}.
 
 @item
 Un bloque @code{\bookpart}.  Un libro puede dividirse en varias
@@ -315,7 +315,7 @@ contiene sólo la expresión musical anterior se traduce a
 Se puede cambiar este comportamiento estableciendo el valor de la
 variable @code{toplevel-music-handler} en el nivel más alto.  El
 @emph{handler} predeterminado se define en el archivo de inicio
-@file{../scm/@/lily@/.scm}.
+@file{../@/scm/@/lily@/.scm}.
 
 @item
 Un texto de marcado, por ejemplo una estrofa
@@ -617,9 +617,9 @@ falso.
 @translationof Custom titles
 
 Una opción más avanzada es cambiar las definiciones de las variables
-siguientes dentro del bloque @code{\paper}.  El archivo de
-inicio @file{ly/titling-init.ly} ofrece un listado de la disposición
-predeterminada.
+siguientes dentro del bloque @code{\paper}.  El archivo de inicio
+@file{../@/ly/@/titling@/-init@/.ly} ofrece un listado de la
+disposición predeterminada.
 
 @table @code
 @funindex bookTitleMarkup
@@ -846,7 +846,7 @@ tocAct =
 
 @seealso
 Archivos de inicio:
-@file{ly/@/toc@/-init@/.ly}.
+@file{../@/ly/@/toc@/-init@/.ly}.
 
 
 @predefined
@@ -1316,7 +1316,11 @@ costumbre indicar los cuatro caracteres en la representación
 hexadecimal (observe que @emph{no} debe utilizarse la codificación
 UTF-8 del punto de código Unicode después de @code{\char}, pues la
 codificación UTF-8 contiene bits adicionales que indican el número de
-octetos.)
+octetos).  Hay tablas de códigos Unicode y un índice de nombres de
+caracteres que da el punto de código en hexadecimal para cualquier
+carácter en el portal del Consorcio Unicode,
+@uref{http://www.unicode.org/}.
+
 
 Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
 insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
@@ -1396,6 +1400,7 @@ lilypond archivo.ly >resultado.txt
 @menu
 * Extracción de fragmentos de música::
 * Saltar la música corregida::
+* Formatos de salida alternativos::
 @end menu
 
 @node Extracción de fragmentos de música
@@ -1487,6 +1492,23 @@ y los cambios de instrumento.  Está usted advertido.
 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
 voces y pentagramas, ahorrando más tiempo incluso.
 
+@node Formatos de salida alternativos
+@subsection Formatos de salida alternativos
+@translationof Alternative output formats
+
+@cindex salida de gráficos de vector escalables
+@cindex SVG, salida
+@cindex salida de PostScript encapsulado
+@cindex EPS, salida
+@cindex PostScript encapsulado, salida de
+
+Los formatos de salida predeterminados para la partitura impresa son
+el formato de documento portátil (PDF) y PostScript (PS).  Los
+formatos de salida Gráficos de vector escalables (SVG), PostScript
+encapsulado (EPS) y Gráficos de red portátiles (PNG) también están
+disponibles a través de opciones de la línea de órdenes, véase
+@rprogram{Opciones de la línea de órdenes para lilypond}.
+
 
 @node Salida MIDI
 @section Salida MIDI
@@ -1696,7 +1718,7 @@ tempoWholesPerMinute = #(ly:make-moment 270 8)
 Las definiciones de contexto siguen con precisión la misma sintaxis
 que la de un bloque @code{\layout}.  Los módulos de traducción para el
 sonido reciben el nombre de ejecutantes.  Los contextos para la salida
-MIDI se definen en @file{../ly/@/performer@/-init@/.ly}, véase
+MIDI se definen en @file{../@/ly/@/performer@/-init@/.ly}, véase
 @rlearning{Otras fuentes de información}.  Por ejemplo, para eliminar
 el efecto de los matices de la salida MIDI, inserte las líneas
 siguientes en el bloque @code{\midi@{ @}}.
@@ -1837,7 +1859,7 @@ Los matices o indicaciones de dinámica se traducen a una fracción fija
 del rango de volumen MIDI disponible.  Las fracciones predeterminadas
 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
 @notation{fffff}.  El conjunto de indicaciones dinámicas y las
-fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
+fracciones asociadas pueden verse en @file{../@/scm/@/midi.scm}, véase
 @rlearning{Otras fuentes de información}.  Este conjunto de fracciones
 se puede cambiar o extender proporcionando una función que toma como
 argumento una indicación dinámica y devuelve la fracción requerida, y
@@ -1879,7 +1901,7 @@ predeterminada.
 Como alternativa, si se necesitara redefinir la tabla completa de
 fracciones, sería mejor usar el procedimiento
 @notation{default-dynamic-absolute-volume} que aparece en
-@file{../scm/midi.scm} y la tabla asociada como modelo.  El último
+@file{../@/scm/@/midi.scm} y la tabla asociada como modelo.  El último
 ejemplo de esta sección muestra cómo se puede hacer esto.
 
 @unnumberedsubsubsec Volumen maestro MIDI
@@ -1990,7 +2012,7 @@ Si las propiedades de volumen MIDI máximo y mínimo no están
 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
 de ecualización a algunos instrumentos.  Los instrumentos y la
 ecualización que se aplica se muestra en la tabla
-@notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
+@notation{instrument-equalizer-alist} en @file{../@/scm/@/midi.scm}.
 
 El ecualizador básico predeterminado se puede sustituir estableciendo
 @code{instrumentEqualizer} en el contexto @code{Score} a un
@@ -2000,8 +2022,9 @@ volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
 sustitución se hace de la misma forma que mostramos para restablecer
 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
 al comienzo de esta sección.  El ecualizador predeterminado,
-@notation{default-instrument-equalizer}, en @file{../scm/midi.scm},
-muestra cómo se puede escribir tal procedimiento.
+@notation{default-instrument-equalizer}, en
+@file{../@/scm/@/midi.scm}, muestra cómo se puede escribir tal
+procedimiento.
 
 El ejemplo siguiente establece los volúmenes relativos de la flauta y
 del clarinete a los mismos valores que el ejemplo anterior.
index 8d1f41c7d73f5dff01f87788caead913a0a8fc28..e3c3fff6ce97ef8739414632816fd28c70175836 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -631,7 +631,7 @@ otras partes de la documentación:
 @item El glissando es la técnica más característica del arpa,
 @ref{Glissando}.
 
-@item El @notation{bisbigliando} se escribe como un trémolo, @ref{Repeticiones de trémolo}
+@item El @notation{bisbigliando} se escribe como un trémolo, @ref{Repeticiones de trémolo}.
 
 @item Los armónicos naturales se estudian bajo el epígrafe @ref{Armónicos}.
 
@@ -667,7 +667,8 @@ textuales:
 @lilypond[quote,verbatim,relative=2]
 \textLengthOn
 cis1_\markup \concat \vcenter { [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
-c!1_\markup \concat \vcenter {[ C \natural ]}
+c!1_\markup \concat \vcenter {
+  [ C \natural ] }
 @end lilypond
 
 o mediante diagramas de pedal:
index a13a80536d8e523ffee9ccf92a9757ade01143f0..21f8ae0f9d759bb699dbc2f87257f2ba300559ff 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 
 @ignore
-    Translation of GIT committish: 41ef91786a08102d9b9a839f6a2f40cec263d723
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -14,8 +14,9 @@
 @appendix Lista bibliográfica
 @translationof Literature list
 
-Si tiene necesidad de aprender más acerca de la notación musical, le presentamos a continuación
-algunos títulos interesantes que puede leer.
+Si tiene necesidad de aprender más acerca de la notación musical, le
+presentamos a continuación algunos títulos interesantes que puede
+leer.
 
 
 
@@ -24,16 +25,18 @@ algunos títulos interesantes que puede leer.
 Klaus Ignatzek, Die Jazzmethode für Klavier. Schott's Söhne
 1995. Mainz, Germany ISBN 3-7957-5140-3.
 
-Instructiva introducción a la interpretación de Jazz al piano.  Uno de los primeros
-capítulos contiene una panorámica de los acordes más comunes de la música de Jazz.
+Instructiva introducción a la interpretación de Jazz al piano.  Uno de
+los primeros capítulos contiene una panorámica de los acordes más
+comunes de la música de Jazz.
 
 @item Gerou 1996
 
 Tom Gerou and Linda Lusk, Essential Dictionary of Music
 Notation. Alfred Publishing, Van Nuys CA ISBN 0-88284-768-6.
 
-Una lista concisa y ordenada alfabéticamente de los problemas de la composición tipográfica y la notación
-musical, que abarca la mayor parte de los casos más comunes.
+Una lista concisa y ordenada alfabéticamente de los problemas de la
+composición tipográfica y la notación musical, que abarca la mayor
+parte de los casos más comunes.
 
 @item Read 1968
 Gardner Read, Music Notation: A Manual of Modern Practice.
@@ -45,33 +48,35 @@ Una obra estándar sobre notación musical.
 Ted Ross, Teach yourself the art of music engraving and processing.
 Hansen House, Miami, Florida 1987.
 
-Este libro trata del grabado musical, es decir, composición tipográfica profesional.
-Contiene instrucciones sobre el estampado, la utilización de las plumillas y las
-convenciones notacionales.  También son interesantes las secciones sobre los tecnicismos
-y la historia de la reproducción.
+Este libro trata del grabado musical, es decir, composición
+tipográfica profesional.  Contiene instrucciones sobre el estampado,
+la utilización de las plumillas y las convenciones notacionales.
+También son interesantes las secciones sobre los tecnicismos y la
+historia de la reproducción.
 
 @item Schirmer 2001
 The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001.
 (Este libro se puede pedir al departamento de alquiler.)
 
-Este manual se centra específicamente en la preparación de los manuscritos para la publicación por
-Schirmer.  Discute muchos detalles que no se pueden encontrar en otros libros de notación más
-normales.  También proporciona una buena idea sobre lo que se necesita para llevar la impresión
-hasta la calidad editorial.
+Este manual se centra específicamente en la preparación de los
+manuscritos para la publicación por Schirmer.  Discute muchos detalles
+que no se pueden encontrar en otros libros de notación más normales.
+También proporciona una buena idea sobre lo que se necesita para
+llevar la impresión hasta la calidad editorial.
 
 @item Stone 1980
 
 Kurt Stone, Music Notation in the Twentieth Century.
 Norton, New York 1980.
 
-Este libro describe la notación musical para la música seria moderna, pero
-empieza por una amplia panorámica de las prácticas existentes de la notación
-tradicional.
+Este libro describe la notación musical para la música seria moderna,
+pero empieza por una amplia panorámica de las prácticas existentes de
+la notación tradicional.
 
 @end table
 
-El archivo de código fuente incluye una bibliografía de Bib@TeX{} más elaborada con más de
-100 elementos, en
+El archivo de código fuente incluye una bibliografía de Bib@TeX{} más
+elaborada con más de 100 elementos, en
 @ifhtml
 @ifset bigpage
 @uref{../bibliography/index.html, the bibliography}.
index 7b60f87f4c6761e952830fd4402e7280ec6f959a..4395aa6016f20cd37ab3d9e7b8383cb8341ec8a7 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -33,9 +33,9 @@ and just before
 @end ignore
 
 @menu
-* Carta de nombres de acordes::
+* Cuadro de nombres de acordes::
 * Modificadores de acorde más usuales::
-* Diagramas predefinidos de trastes::
+* Diagramas predefinidos de posiciones::
 * Instrumentos MIDI::
 * Lista de colores::
 * La tipografía Feta::
@@ -44,6 +44,7 @@ and just before
 * Text markup list commands::
 * Lista de articulaciones::
 * Notas de percusión::
+* Glosario técnico::
 * Todas las propiedades de contexto::
 * Propiedades de disposición::
 * Identificadores::
@@ -52,8 +53,8 @@ and just before
 
 
 
-@node Carta de nombres de acordes
-@appendixsec Carta de nombres de acordes
+@node Cuadro de nombres de acordes
+@appendixsec Cuadro de nombres de acordes
 @translationof Chord name chart
 
 Las siguientes tablas muestran dos sistemas estándar para imprimir los nombres de los acordes,
@@ -207,7 +208,7 @@ Tríada disminuida y séptima menor
 @tab
 @lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
-  c1:dim5m7
+  c1:m7.5-
 }
 @end lilypond
 
@@ -216,11 +217,11 @@ Menor con séptima mayor
 @tab
 Tríada menor con séptima mayor
 @tab
-@code{maj7.5-}
+@code{maj7.3-}
 @tab
 @lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
-  c1:maj7.5-
+  c1:maj7.3-
 }
 @end lilypond
 
@@ -409,14 +410,18 @@ Cuarta justa y quinta justa
 
 @end multitable
 
-@node Diagramas predefinidos de trastes
-@appendixsec Diagramas predefinidos de trastes
+@node Diagramas predefinidos de posiciones
+@appendixsec Diagramas predefinidos de posiciones
 @translationof Predefined fretboard diagrams
 
-El cuadro siguiente presenta los diagramas de traste predefinidos.
+El cuadro siguiente presenta los diagramas de posiciones de acordes
+predefinidos para guitarra.
 
 @lilypondfile{display-predefined-fretboards.ly}
 
+El cuadro siguiente presenta los diagramas de traste predefinidos para ukelele.
+
+@lilypondfile{display-predefined-ukulele-fretboards.ly}
 
 @node Instrumentos MIDI
 @appendixsec Instrumentos MIDI
@@ -584,8 +589,11 @@ donde N es un número entre 0 y 100.
 
 Los símbolos siguientes están disponibles en la tipografía Emmentaler
 y es posible acceder a ellos directamente utilizando elementos de
-marcado textual como @code{g^\markup @{ \musicglyph #"scripts.segno"
-@}}, véase @ref{Formatear el texto}.
+marcado textual con el nombre del glifo
+tal y como se muestra en las tablas de abajo,
+por ejemplo @code{g^\markup @{\musicglyph #"scripts.segno" @}} ó
+@code{\markup @{\musicglyph #"five"@}}.  Para ver más información,
+consulte @ref{Formatear el texto}.
 
 @menu
 * Clef glyphs::
@@ -935,6 +943,219 @@ Se pueden usar los siguientes estilos para las cabezas de las notas.
 @lilypondfile[quote]{percussion-chart.ly}
 
 
+@node Glosario técnico
+@appendixsec Glosario técnico
+@translationof Technical glossary
+
+Glosario de los términos técnicos y conceptos que se utilizan
+internamente en LilyPond.  Estos términos pueden aparecer en los
+manuales, en las listas de distribución de correo o en el código
+fuente.
+
+@menu
+* alist::
+* callback::
+* closure::
+* glyph::
+* grob::
+* immutable::
+* interface::
+* lexer::
+* mutable::
+* output-def::
+* parser::
+* parser variable::
+* prob::
+* simple closure::
+* smob::
+* stencil::
+@end menu
+
+@node alist
+@unnumberedsubsec alist
+
+@cindex alist
+@cindex association list
+
+@untranslated
+
+@node callback
+@unnumberedsubsec callback
+
+@cindex callback
+
+@untranslated
+
+@node closure
+@unnumberedsubsec closure
+
+@cindex closure
+@cindex simple closure
+
+@untranslated
+
+@node glyph
+@unnumberedsubsec glyph
+
+@cindex glyph
+@cindex font
+@cindex typeface
+
+@untranslated
+
+@seealso
+Referencia de la notación:
+@ref{Fonts},
+@ref{Text encoding}.
+
+
+@node grob
+@unnumberedsubsec grob
+
+@cindex grob
+@cindex layout objects
+@cindex graphical objects
+
+@untranslated
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Objects and interfaces},
+@rlearning{Naming conventions of objects and properties},
+@rlearning{Properties of layout objects}.
+
+Referencia de funcionamiento interno:
+@rinternals{grob-interface},
+@rinternals{All layout objects}.
+
+
+@node immutable
+@unnumberedsubsec immutable
+
+@cindex immutable objects
+@cindex immutable properties
+@cindex shared properties
+
+@untranslated
+
+@seealso
+Referencia de la notación:
+@ref{mutable}.
+
+@node interface
+@unnumberedsubsec interface
+
+@cindex interface
+@cindex grob-interface
+@cindex graphical object interfaces
+
+@untranslated
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Objects and interfaces},
+@rlearning{Naming conventions of objects and properties},
+@rlearning{Properties found in interfaces}.
+
+Referencia de la notación:
+@ref{Layout interfaces}.
+
+Referencia de funcionamiento interno:
+@rinternals{Graphical Object Interfaces}.
+
+
+@node lexer
+@unnumberedsubsec lexer
+
+@cindex lexer
+@cindex Flex
+
+@untranslated
+
+@node mutable
+@unnumberedsubsec mutable
+
+@cindex mutable objects
+@cindex mutable properties
+
+@untranslated
+
+@seealso
+Referencia de la notación:
+@ref{immutable}.
+
+@node output-def
+@unnumberedsubsec output-def
+
+@cindex output-def
+
+@untranslated
+
+@node parser
+@unnumberedsubsec parser
+
+@cindex parser
+@cindex Bison
+@cindex grammar for LilyPond
+@cindex BNF
+
+@untranslated
+
+@node parser variable
+@unnumberedsubsec parser variable
+
+@cindex parser variable
+@cindex Scheme variable
+@cindex global variable
+@cindex afterGraceFraction
+@cindex musicQuotes
+@cindex mode
+@cindex output-count
+@cindex output-suffix
+@cindex parseStringResult
+@cindex partCombineListener
+@cindex pitchnames
+@cindex toplevel-bookparts
+@cindex toplevel-scores
+@cindex showLastLength
+@cindex showFirstLength
+
+@untranslated
+
+@node prob
+@unnumberedsubsec prob
+
+@cindex prob
+@cindex property object
+
+@untranslated
+
+@node simple closure
+@unnumberedsubsec simple closure
+
+Véase @ref{closure}.
+
+
+@node smob
+@unnumberedsubsec smob
+
+@cindex smob
+@cindex Scheme object
+
+@untranslated
+
+@node stencil
+@unnumberedsubsec stencil
+
+@cindex stencil
+
+@untranslated
+
+@seealso
+Referencia de funcionamiento interno:
+@rinternals{grob-interface}.
+
+
 @node Todas las propiedades de contexto
 @appendixsec Todas las propiedades de contexto
 @translationof All context properties
index ce37aa107629abb967f41ff9e8bab7acceb121fb..a3bed30453e159fb26bde81f6a0239b2d2da0f78 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 41ef91786a08102d9b9a839f6a2f40cec263d723
+    Translation of GIT committish: cdafd04357c20d757098589280defe4b75b2acf0
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -208,13 +208,11 @@ down = \drummode {
 @end lilypond
 
 El ejemplo anterior muestra una notación polifónica prolija.  La
-notación polifónica abreviada, descrita en @rlearning{Oigo voces}, también se puede usar si las voces se instancian primero a
-mano.  Por ejemplo,
+notación polifónica abreviada, descrita en @rlearning{Oigo voces},
+también se puede usar.  Por ejemplo,
 
 @lilypond[quote,verbatim]
 \new DrumStaff <<
-  \new DrumVoice = "1" { s1*2 }
-  \new DrumVoice = "2" { s1*2 }
   \drummode {
     bd4 sn4 bd4 sn4
     << {
@@ -515,8 +513,8 @@ bellstaff = {
 }
 @end lilypond
 
-Aquí un breve ejemplo del maestro Stravinsky (procedente de la
-@q{Historia del soldado})
+Aquí un breve ejemplo procedente de la @q{Historia del soldado} de
+Stravinsky:
 
 @lilypond[quote,verbatim]
 #(define mydrums '((bassdrum   default #t  4)
index 350c176f31daeea7f66eda9efbc1eff4ec42d59d..2bc888ef46552ca1675c9f85924bd7c3309583a6 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 50b88336f4c69d7d3241cc01af98c362cd9d2b4b
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -41,6 +41,7 @@ ocasiones, será más práctico el modo relativo.
 * Escritura de octava relativa::
 * Alteraciones accidentales::
 * Nombres de las notas en otros idiomas::
+* Nombres de las notas y alteraciones no occidentales::
 @end menu
 
 
@@ -391,9 +392,6 @@ cis
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {preventing-extra-naturals-from-being-automatically-added.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{makam-example.ly}
-
 
 @seealso
 Glosario musical:
@@ -580,14 +578,74 @@ Fragmentos de código:
 @rlsr{Pitches}.
 
 
+@node Nombres de las notas y alteraciones no occidentales
+@unnumberedsubsubsec Nombres de las notas y alteraciones no occidentales
+@translationof Non-Western note names and accidentals
+
+Muchas músicas no occidentales (y algunas folclóricas y tradicionales
+occidentales) emplean sistemas de afinación alternativos o extendidos
+que no encajan directamente dentro de la notación clásica estándar.
+
+En algunos casos aún se usa la notación estándar estando implícitas
+las diferencias de afinación.  Por ejemplo, la notación de la música
+árabe se hace con alteraciones estándar de semitono y de cuarto de
+tono, estando las modificaciones de altura exactas determinadas por el
+contexto.  Otras necesitan notaciones ampliadas o específicas.
+
+@notation{La música clásica turca}, o música otomana, emplea formas
+melódicas conocidas como @notation{makamlar}, cuyos intervalos están
+basados en divisiones del tono en novenos.  Desde el punto de vista de
+la notación moderna, es conveniente utilizar las notas (do, re, mi,
+...) de un pentagrama occidental estándar con alteraciones
+accidentales específicas de la música turca.  Estas alteraciones están
+definidas en @file{makam.ly} (para encontrar este archivo en su
+sistema, consulte @rlearning{Otras fuentes de información}).  La tabla
+siguiente relaciona sus nombres, el sufijo de la alteración que se
+debe escribir detrás de las notas, y su alteración de altura como una
+fracción del tono.
+
+@c TODO: can we include the actual accidentals in this table?
+@quotation
+@multitable {@b{büyük mücenneb (sostenido)}} {@b{suffix}} {@b{alteración de altura}}
+@headitem Nombre de la alteración
+  @tab Sufijo @tab Alteración de altura
+
+@item büyük mücenneb (sostenido)
+  @tab -bm @tab +8/9
+@item kücük mücenneb (sostenido)
+  @tab -k @tab +5/9
+@item bakiye (sostenido)
+  @tab -b @tab +4/9
+@item koma (sostenido)
+  @tab -c @tab +1/9
+
+@item koma (bemol)
+  @tab -fc @tab -1/9
+@item bakiye (bemol)
+  @tab -fb @tab -4/9
+@item kücük mücenneb (bemol)
+  @tab -fk @tab -5/9
+@item büyük mücenneb (bemol)
+  @tab -fbm @tab -8/9
+@end multitable
+@end quotation
+
+Para ver más información sobre la música clásica turca y los makamlar,
+consulte @ref{Música clásica turca}.
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{makam-example.ly}
+
+
 @node Modificación de varias notas a la vez
 @subsection Modificación de varias notas a la vez
 @translationof Changing multiple pitches
 
-
 Esta sección trata de la manera de modificar las alturas.
 
-
 @menu
 * Comprobación de octava::
 * Transposición::
@@ -966,10 +1024,6 @@ Referencia de funcionamiento interno:
 @funindex \key
 @funindex key
 
-Las alteraciones accidentales y las armaduras son una frecuente causa de confusión para los nuevos usuarios,
-porque las notas sin alteración pueden llevar signos de becuadro en función de la armadura.
-Para ver más información, consulte @ref{Alteraciones accidentales} o @rlearning{Alteraciones accidentales y armaduras}.
-
 @c duplicated in Key signature and Accidentals
 @warning{Las alteraciones accidentales y las armaduras son una
 frecuente causa de confusión para los nuevos usuarios.  En LilyPond,
@@ -1019,7 +1073,7 @@ armadura se hace con la instrucción @code{\key}:
 @cindex frigio, modo
 @cindex dórico, modo
 
-
+@noindent
 Aquí, @var{tipo} debe ser @code{\major} o @code{\minor} para obtener
 la tonalidad @var{nota} mayor o @var{nota} menor, respectivamente.
 También puede usar los nombres estándar de modo (también conocidos
@@ -1528,7 +1582,6 @@ predeterminada con paréntesis, pero también se pueden imprimir en
 tamaño reducido definiendo la propiedad @code{cautionary-style} de
 @code{AccidentalSuggestion}.
 
-
 @lilypond[quote]
 musicA = {
   <<
@@ -1824,6 +1877,8 @@ musicB = {
   >>
 }
 @end lilypond
+
+
 @item neo-modern
 
 @cindex neo-moderno, estilo de alteraciones
@@ -1940,10 +1995,20 @@ musicB = {
 }
 @end lilypond
 
+
 @item neo-modern-voice
 
+@cindex neo-modern-voice, estilo de alteración
+@cindex alteraciones, estilo, neo-moderno de voz
+
 @funindex neo-modern-voice
 
+Esta regla se usa para alteraciones accidentales sobre varias voces
+que se han de leer por parte de músicos que tocan una voz, así como
+por músicos que tocan todas las voces.  Las alteraciones se imprimen
+para cada voz como con @code{neo-modern}, pero se cancelan para otras
+voces que están en el mismo pentagrama @code{Staff}.
+
 @lilypond[quote]
 musicA = {
   <<
@@ -1993,8 +2058,14 @@ musicB = {
 
 @item neo-modern-voice-cautionary
 
+@cindex neo-modern-voice-cautionary, estilo de alteraciones
+@cindex alteraciones,estilo, neo-modern-voice-cautionary
+
 @funindex neo-modern-voice-cautionary
 
+Esta regla es similar a @code{neo-modern-voice}, pero las alteraciones
+adicionales se imprimen como alteraciones de precaución.
+
 @lilypond[quote]
 musicA = {
   <<
@@ -2296,7 +2367,7 @@ Fragmentos de código:
 Referencia de funcionamiento interno:
 @rinternals{Accidental},
 @rinternals{Accidental_engraver},
-@rinternals{GrandStaff} and
+@rinternals{GrandStaff},
 @rinternals{PianoStaff},
 @rinternals{Staff},
 @rinternals{AccidentalSuggestion},
@@ -2320,6 +2391,51 @@ lo que no se da en el estilo de alteraciones predeterminado.  El
 problema se puede resolver insertando manualmente@tie{}@code{!}
 y@tie{}@code{?} para las notas problemáticas.
 
+
+La cancelación de precacución de alteraciones se hace mirando el
+compás previo.  Sin embargo, en el bloque @code{\alternative} que
+sigue a una sección de repetición de primera y segunda vez
+@code{\repeat volta N}, se esperaría que la cancelación se calculase
+utilizando el compás previo @emph{que se ha tocado}, no el compás
+previo @emph{que se ha impreso}.  En el ejemplo siguiente, el Do
+natural de la casilla de segunda vez no necesita becuadro:
+
+@lilypond[quote]
+{
+  #(set-accidental-style 'modern)
+  \time 2/4
+  \repeat volta 2 {
+    c'2
+  }
+  \alternative {
+     cis'
+     c'
+  }
+}
+@end lilypond
+
+Se puede usar el siguiente rodeo del problema: definir una función que
+cambie localmente el estilo de alteraciones a @code{forget}:
+
+@lilypond[verbatim,quote]
+forget = #(define-music-function (parser location music) (ly:music?) #{
+  #(set-accidental-style 'forget)
+  $music
+  #(set-accidental-style 'modern)
+#})
+{
+  #(set-accidental-style 'modern)
+  \time 2/4
+  \repeat volta 2 {
+    c'2
+  }
+  \alternative {
+     cis'
+     \forget c'
+  }
+}
+@end lilypond
+
 @node Tesitura
 @unnumberedsubsubsec Tesitura
 @translationof Ambitus
@@ -2355,6 +2471,7 @@ tonalidad.
 }
 @end lilypond
 
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
@@ -2422,25 +2539,61 @@ Esta sección propone formas de alterar las cabezas de las figuras.
 
 @funindex cross
 
-Se puede modificar la cabeza de las notas:
+Se puede modificar la apariencia de la cabeza de las notas:
 
 @lilypond[verbatim,quote,relative=2]
-c4 b a b
+c4 b
 \override NoteHead #'style = #'cross
-c4 b a b
+c4 b
+\revert NoteHead #'style
+a b
+\override NoteHead #'style = #'harmonic
+a b
 \revert NoteHead #'style
 c4 d e f
 @end lilypond
 
-Existe una abreviatura para las formas en rombo que sólo se puede usar en acordes:
+Para ver todos los estilos de cabeza de las notas, consulte
+@ref{Estilos de cabezas de nota}.
+
+El estilo @code{cross} (aspas) se usa para representar una amplia
+variedad de intenciones musicales.  Las siguientes instrucciones
+genéricas predefinidas modifican la forma de la cabeza de las figuras
+tanto en el contexto de pentagrama normal como en el de tablatura, y
+se pueden usar para representar cualquier significado musical:
 
 @lilypond[verbatim,quote,relative=2]
-<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
+c4 b
+\xNotesOn
+ a b c4 b
+\xNotesOff
+c4 d
 @end lilypond
 
-@noindent
-Para ver todos los estilos de cabeza de las notas, consulte @ref{Estilos de cabezas de nota}.
+La forma de función musical de esta instrucción predefinida se puede
+usar dentro y fuera de los acordes para generar cabezas de nota en
+aspa, tanto en el contexto de pentagrama normal como en el de
+tablatura:
 
+@lilypond[verbatim,quote,relative=2]
+c4 b
+\xNote { e f }
+c b < g \xNote c f > b
+@end lilypond
+
+Existe una abreviatura para las formas en rombo que sólo se puede usar
+en acordes:
+
+@lilypond[verbatim,quote,relative=2]
+<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
+@end lilypond
+
+@predefined
+@code{\harmonic},
+@code{\xNotesOn},
+@code{\xNotesOff},
+@code{\xNote}.
+@endpredefined
 
 @seealso
 Fragmentos de código:
@@ -2477,9 +2630,10 @@ Referencia de funcionamiento interno:
 @funindex \easyHeadsOff
 @funindex easyHeadsOff
 
-Las cabezas @q{easy play} (fáciles de tocar) tienen el nombre de la
-nota (en inglés) dentro de la cabeza.  Se usa en la música para
-principiantes.
+The @q{easy play} note head includes a note name inside the head.
+It is used in music for beginners.  To make the letters readable,
+it should be printed in a large font size.  To print with a larger
+font, see @ref{Setting the staff size}.
 
 @lilypond[verbatim,quote]
 #(set-global-staff-size 26)
@@ -2492,12 +2646,6 @@ principiantes.
 }
 @end lilypond
 
-La instrucción @code{\easyHeadsOn} sobreescribe los ajustes del objeto
-@code{NoteHead}.  Estos ajustes se pueden deshacer mediante la
-instrucción @code{\easyHeadsOff}. Para que las letras sean legibles,
-se tienen que imprimir en un tamaño grande de la tipografía.  Para
-imprimir con un tamaño de tipografía mayor, consulte @ref{Establecer el tamaño del pentagrama}.
-
 
 @predefined
 @code{\easyHeadsOn},
@@ -2505,6 +2653,12 @@ imprimir con un tamaño de tipografía mayor, consulte @ref{Establecer el tamañ
 @endpredefined
 
 
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{numbers-as-easy-note-heads.ly}
+
+
 @seealso
 Referencia de la notación:
 @ref{Establecer el tamaño del pentagrama}.
@@ -2564,7 +2718,6 @@ tónica está determinada por la instrucción @code{\key}
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {applying-note-head-styles-depending-on-the-step-of-the-scale.ly}
 
-@noindent
 Para ver todos los estilos de formas de cabeza de nota, consulte
 @ref{Estilos de cabezas de nota}.
 
diff --git a/Documentation/es/notation/programming-interface.itely b/Documentation/es/notation/programming-interface.itely
deleted file mode 100644 (file)
index 23912d5..0000000
+++ /dev/null
@@ -1,1562 +0,0 @@
-@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
-
-@ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
-
-    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.12.0"
-
-@node Interfaces para programadores
-@chapter Interfaces para programadores
-@translationof Interfaces for programmers
-
-Se pueden realizar trucos avanzados mediante el uso de Scheme.  Si no
-está familiarizado con Scheme, le conviene leer nuestro tutorial de
-Scheme, @rlearning{Tutorial de Scheme}.
-
-@menu
-* Funciones musicales::
-* Interfaces para el programador::
-* Construcción de funciones complejas::
-* Interfaz de marcado para el programador::
-* Contextos para programadores::
-* Procedimientos de Scheme como propiedades::
-* Usar código de Scheme en lugar de \tweak::
-* Trucos difíciles::
-@end menu
-
-
-@node Funciones musicales
-@section Funciones musicales
-@translationof Music functions
-
-Esta sección trata sobre cómo crear funciones musicales dentro de
-LilyPond.
-
-@menu
-* Panorámica de las funciones musicales::
-* Funciones de sustitución sencillas::
-* Funciones de sustitutión en parejas::
-* Matemáticas dentro de las funciones::
-* Funciones vacías::
-* Funciones sin argumentos::
-* Pranorámica de las funciones musicales disponibles::
-@end menu
-
-@node Panorámica de las funciones musicales
-@subsection Panorámica de las funciones musicales
-@translationof Overview of music functions
-
-Es fácil hacer una función que sustituya a una variable en código de
-LilyPond.  La forma general de estas funciones es:
-
-@example
-function =
-#(define-music-function (parser location @var{var1} @var{var2}...@var{vari}... )
-                        (@var{var1-type?} @var{var2-type?}...@var{vari-type?}...)
-  #@{
-    @emph{...música...}
-  #@})
-@end example
-
-@noindent
-donde
-
-@multitable @columnfractions .33 .66
-@item @var{vari}         @tab @var{i}-ésima variable
-@item @var{vari-type?}   @tab tipo de la @var{i}-ésima variable
-@item @var{...música...}  @tab entrada normal de LilyPond, usando las variables como @code{#$var1}, etc.
-@end multitable
-
-Los siguientes tipos de entrada se pueden usar como variables en una
-función musical.  Esta lista no es exhaustiva; consulte otros lugares
-de la documentación específica de Scheme para ver otros tipos de
-variables.
-
-@multitable @columnfractions .33 .66
-@headitem Tipo de entrada       @tab notación de @var{vari-type?}
-@item Entero                    @tab @code{integer?}
-@item Flotante (número decimal) @tab @code{number?}
-@item Cadena de texto           @tab @code{string?}
-@item Marcado                   @tab @code{markup?}
-@item Expresión musical         @tab @code{ly:music?}
-@item Pareja de variables          @tab @code{pair?}
-@end multitable
-
-Los argumentos @code{parser} y @code{location} son obligatorios, y se
-usan en ciertas situaciones avanzadas.  El argumento @code{parser} se
-usa para tener acceso al valor de otra variable de LilyPond.  El
-argumento @code{location} se usa para establecer el @q{origen} de la
-expresión musical que construye la función musical, de forma que en
-caso de producirse un error de sintaxis LilyPond pueda informar al
-usuario de un lugar adecuado donde buscar en el archivo de entrada.
-
-
-@node Funciones de sustitución sencillas
-@subsection Funciones de sustitución sencillas
-@translationof Simple substitution functions
-
-He aquí un ejemplo sencillo:
-
-@lilypond[quote,verbatim,ragged-right]
-padText = #(define-music-function (parser location padding) (number?)
-  #{
-    \once \override TextScript #'padding = #$padding
-  #})
-
-\relative c''' {
-  c4^"piu mosso" b a b
-  \padText #1.8
-  c4^"piu mosso" d e f
-  \padText #2.6
-  c4^"piu mosso" fis a g
-}
-@end lilypond
-
-También se pueden sustituir las expresiones musicales:
-
-@lilypond[quote,verbatim,ragged-right]
-custosNote = #(define-music-function (parser location note)
-                                     (ly:music?)
-  #{
-    \once \override Voice.NoteHead #'stencil =
-      #ly:text-interface::print
-    \once \override Voice.NoteHead #'text =
-      \markup \musicglyph #"custodes.mensural.u0"
-    \once \override Voice.Stem #'stencil = ##f
-    $note
-  #})
-
-{ c' d' e' f' \custosNote g' }
-@end lilypond
-
-Se puede usar más de una variable:
-
-@lilypond[quote,verbatim,ragged-right]
-tempoPadded = #(define-music-function (parser location padding tempotext)
-  (number? string?)
-#{
-  \once \override Score.MetronomeMark #'padding = $padding
-  \tempo \markup { \bold $tempotext }
-#})
-
-\relative c'' {
-  \tempo \markup { "Low tempo" }
-  c4 d e f g1
-  \tempoPadded #4.0 #"High tempo"
-  g4 f e d c1
-}
-@end lilypond
-
-
-@node Funciones de sustitutión en parejas
-@subsection Funciones de sustitutión en parejas
-@translationof Paired substitution functions
-
-Algunas instrucciones @code{\override} requieren un par de números
-(llamados en Scheme una @code{célula cons}).  Para pasar estos números
-a una función, usamos una variable @code{pair?} o bien insertamos el
-@code{cons} en la función musical.
-
-@quotation
-@example
-manualBeam =
-#(define-music-function (parser location beg-end)
-                        (pair?)
-#@{
-  \once \override Beam #'positions = #$beg-end
-#@})
-
-\relative @{
-  \manualBeam #'(3 . 6) c8 d e f
-@}
-@end example
-@end quotation
-
-@noindent
-o bien
-
-@lilypond[quote,verbatim,ragged-right]
-manualBeam =
-#(define-music-function (parser location beg end)
-                        (number? number?)
-#{
-  \once \override Beam #'positions = #(cons $beg $end)
-#})
-
-\relative {
-  \manualBeam #3 #6 c8 d e f
-}
-@end lilypond
-
-
-@node Matemáticas dentro de las funciones
-@subsection Matemáticas dentro de las funciones
-@translationof Mathematics in functions
-
-Las funciones musicales pueden contar con programación de Scheme
-además de la simple sustitución:
-
-@lilypond[quote,verbatim,ragged-right]
-AltOn = #(define-music-function (parser location mag) (number?)
-  #{ \override Stem #'length = #$(* 7.0 mag)
-     \override NoteHead #'font-size =
-       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #})
-
-AltOff = {
-  \revert Stem #'length
-  \revert NoteHead #'font-size
-}
-
-{ c'2 \AltOn #0.5 c'4 c'
-  \AltOn #1.5 c' c' \AltOff c'2 }
-@end lilypond
-
-@noindent
-Este ejemplo se puede reescribir de forma que pase expresiones
-musicales:
-
-@lilypond[quote,verbatim,ragged-right]
-withAlt = #(define-music-function (parser location mag music) (number? ly:music?)
-  #{ \override Stem #'length = #$(* 7.0 mag)
-     \override NoteHead #'font-size =
-       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
-     $music
-     \revert Stem #'length
-     \revert NoteHead #'font-size #})
-
-{ c'2 \withAlt #0.5 {c'4 c'}
-  \withAlt #1.5 {c' c'} c'2 }
-@end lilypond
-
-
-@node Funciones vacías
-@subsection Funciones vacías
-@translationof Void functions
-
-Una función musical debe devolver una expresión musical, pero a veces
-podemos necesitar una función en la que no hay música en juego (como
-la desactivación de la funcionalidad Apuntar y Pulsar).  Para hacerlo,
-devolvemos una expresión musical @code{void} (vacía).
-
-Este es el motivo por el que la forma que se devuelve es
-@code{(make-music ...)}.  Con el valor de la propiedad @code{'void}
-establecido a @code{#t}, le decimos al analizador que descarte la
-expresión musical devuelta.  así, la parte importante de la función
-musical vacía es el proceso realizado por la función, no la expresión
-musical que se devuelve.
-
-@example
-noPointAndClick =
-#(define-music-function (parser location) ()
-   (ly:set-option 'point-and-click #f)
-   (make-music 'SequentialMusic 'void #t))
-...
-\noPointAndClick   % desactivar la funcionalidad Apuntar y Pulsar.
-@end example
-
-
-@node Funciones sin argumentos
-@subsection Funciones sin argumentos
-@translationof Functions without arguments
-
-En casi todos los casos, una función sin argumentos se debe escribir
-con una variable:
-
-@example
-dolce = \markup@{ \italic \bold dolce @}
-@end example
-
-Sin embargo, en raras ocasiones puede ser de utilidad crear una
-función musical sin argumentos:
-
-@example
-displayBarNum =
-#(define-music-function (parser location) ()
-   (if (eq? #t (ly:get-option 'display-bar-numbers))
-       #@{ \once \override Score.BarNumber #'break-visibility = ##f #@}
-       #@{#@}))
-@end example
-
-Para la impresión real de los números de compás donde se llama a esta
-función, invoque a @command{lilypond} con
-
-@example
-lilypond -d display-bar-numbers ARCHIVO.ly
-@end example
-
-
-@node Pranorámica de las funciones musicales disponibles
-@subsection Pranorámica de las funciones musicales disponibles
-@translationof Overview of available music functions
-
-@c fixme ; this should be move somewhere else?
-Las siguientes instrucciones son funciones musicales:
-
-@include identifiers.tely
-
-
-@node Interfaces para el programador
-@section Interfaces para el programador
-@translationof Programmer interfaces
-
-Esta sección contiene información sobre cómo mezclar LilyPond y
-Scheme.
-
-@menu
-* Variables de entrada y Scheme::
-* Representación interna de la música::
-@end menu
-
-@node Variables de entrada y Scheme
-@subsection Variables de entrada y Scheme
-@translationof Input variables and Scheme
-
-El formato de entrada contempla la noción de variables: en el ejemplo
-siguiente, se asigna una expresión musical a una variable con el
-nombre @code{traLaLa}.
-
-@example
-traLaLa = @{ c'4 d'4 @}
-@end example
-
-@noindent
-
-También existe una forma de ámbito léxico: en el ejemplo siguiente, el
-bloque @code{\layout} también contiene una variable @code{traLaLa},
-que es independiente de la @code{\traLaLa} exterior.
-
-@example
-traLaLa = @{ c'4 d'4 @}
-\layout @{ traLaLa = 1.0 @}
-@end example
-@c
-De hecho, cada archivo de entrada es un ámbito léxico, y todos los
-bloques @code{\header}, @code{\midi} y @code{\layout} son ámbitos
-anidados dentro de dicho ámbito de nivel superior.
-
-Tanto el ámbito léxico como las variables están implementados en el
-sistema de módulos GUILE.  Se adjunta un módulo anónimo de Scheme a
-cada ámbito.  Una asignación de la forma
-@example
-traLaLa = @{ c'4 d'4 @}
-@end example
-
-@noindent
-se convierte internamente a una definición de Scheme
-@example
-(define traLaLa @var{Scheme value of `@code{... }'})
-@end example
-
-Esto supone que las variables de entrada y las variables de Scheme se
-pueden entremezclar con libertad.  En el ejemplo siguiente, se
-almacena un fragmento musical en la variable @code{traLaLa}, y se
-duplica utilizando Scheme.  El resultado se importa en un bloque
-@code{\score} por medio de una segunda variable @code{twice}:
-
-@lilypond[verbatim]
-traLaLa = { c'4 d'4 }
-
-%% dummy action to deal with parser lookahead
-#(display "this needs to be here, sorry!")
-
-#(define newLa (map ly:music-deep-copy
-  (list traLaLa traLaLa)))
-#(define twice
-  (make-sequential-music newLa))
-
-{ \twice }
-@end lilypond
-
-@c Due to parser lookahead
-
-En este ejemplo, la asignación se produce después de que el analizador
-sintáctico ha verificado que no ocurre nada interesante después de
-@code{traLaLa = @{ ... @}}.  Sin el argumento mudo del ejemplo, la
-definición @code{newLa} se ejecuta antes de que se defina
-@code{traLaLa}, conduciendo a un error de sintaxis.
-
-El ejemplo anterior muestra cómo @q{exportar} expresiones musicales
-desde la entrada hasta el intérprete de Scheme.  También es posible lo
-contrario.  Envolviendo un valor de Scheme en la función
-@code{ly:export}, un valor de Scheme se interpreta como si hubiera
-sido introducido en sintaxis de LilyPond.  En vez de definir
-@code{\twice}, el ejemplo anterior podría también haberse escrito como
-
-@example
-...
-@{ #(ly:export (make-sequential-music (list newLa))) @}
-@end example
-
-El código de Scheme se evalúa tan pronto como el analizador sintáctico
-lo encuentra.  Para definir código de Scheme en un macro (para
-llamarlo con posterioridad), use @ref{Funciones vacías}, o bien
-
-@example
-#(define (nopc)
-  (ly:set-option 'point-and-click #f))
-
-...
-#(nopc)
-@{ c'4 @}
-@end example
-
-@knownissues
-
-No es posible mezclar variables de Scheme y de LilyPond con la opción
-@code{--safe}.
-
-
-@node Representación interna de la música
-@subsection Representación interna de la música
-@translationof Internal music representation
-
-Cuando se analiza sintácticamente una expresión musical, se convierte
-en un conjunto de objetos musicales de Scheme.  La propiedad que
-define a un objeto musical es que tiene una cierta duración.  El
-tiempo es un número racional que mide la longitud de un fragmento de
-música en unidades del valor de una redonda.
-
-Un objeto musical tiene tres clases de tipos:
-@itemize
-@item
-nombre musical: cada expresión musical tiene un nombre.  Por ejemplo,
-una nota conduce a un evento @rinternals{NoteEvent}, y
-@code{\simultaneous} conduce a @rinternals{SimultaneousMusic}.  Hay
-una lista de todas las expresiones que están disponibles en el Manual
-de referencia de funcionamiento interno, bajo @rinternals{Music
-expressions}.
-
-@item
-@q{tipo} o interface: cada nombre de música tiene varios @q{tipos} o
-interfaces, por ejemplo una nota es un @code{event}, pero también es
-un @code{note-event}, un @code{rhythmic-event} y un
-@code{melodic-event}.  Todas las clases musicales se encuentran
-relacionadas en la Referencia de funcionamiento interno bajo
-@rinternals{Music classes}.
-
-@item
-Objeto de C++: cada objeto musical está representado por un objeto de
-la clase de C++ @code{Music}.
-@end itemize
-
-La información real de una expresión musical se almacena en forma de
-propiedades.  Por ejemplo, un evento @rinternals{NoteEvent} tiene
-propiedades @code{pitch} y @code{duration} que almacenan la altura y
-duración de la nota.  Hay una lista completa de las propiedades que
-están disponibles en la Referencia de funcionamiento interno, bajo
-@rinternals{Music properties}.
-
-Una expresión musical compuesta es un objeto musical que contiene
-otros objetos musicales en sus propiedades.  Se puede almacenar una
-lista de objetos en la propiedad @code{elements} de un objeto musical,
-o un solo objeto musical @q{hijo} en la propiedad @code{element}.  Por
-ejemplo, @rinternals{SequentialMusic} tiene sus hijos en
-@code{elements}, y @rinternals{GraceMusic} tiene su elemento único en
-@code{element}.  El cuerpo de una repetición se almacena en la
-propiedad @code{element} de @rinternals{RepeatedMusic}, y las
-alternativas en @code{elements}.
-
-
-@node Construcción de funciones complejas
-@section Construcción de funciones complejas
-@translationof Building complicated functions
-
-Esta sección explica cómo reunir la información necesaria para crear
-funciones musicales complejas.
-
-
-@menu
-* Presentación de expresiones musicales::
-* Propiedades de la música::
-* Doblar una nota con ligaduras (ejemplo)::
-* Añadir articulación a las notas (ejemplo)::
-@end menu
-
-@node Presentación de expresiones musicales
-@subsection Presentación de expresiones musicales
-@translationof Displaying music expressions
-
-@cindex interno, almacenamiento
-@cindex mostrar expresiones musicales
-@cindex interna, representación, mostrar
-
-@funindex \displayMusic
-
-Si se está escribiendo una función musical puede ser muy instructivo
-examinar cómo se almacena internamente una expresión musical.  Esto se
-puede hacer con la función musical @code{\displayMusic}:
-
-@example
-@{
-  \displayMusic @{ c'4\f @}
-@}
-@end example
-
-@noindent
-imprime lo siguiente:
-
-@example
-(make-music
-  'SequentialMusic
-  'elements
-  (list (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 0 0))
-                (make-music
-                  'AbsoluteDynamicEvent
-                  'text
-                  "f")))))
-@end example
-
-De forma predeterminada, LilyPond imprime estos mensajes en la consola
-junto al resto de los mensajes.  Para discernir entre estos mensajes y
-guardar el resultado de @code{\display@{MATERIAL@}}, redirija la
-salida hacia un archivo.
-
-@example
-lilypond archivo.ly >resultado.txt
-@end example
-
-Con la aplicación de un poco de formato, la información anterior es
-fácil de leer:
-
-@example
-(make-music 'SequentialMusic
-  'elements (list (make-music 'EventChord
-                    'elements (list (make-music 'NoteEvent
-                                      'duration (ly:make-duration 2 0 1 1)
-                                      'pitch (ly:make-pitch 0 0 0))
-                                    (make-music 'AbsoluteDynamicEvent
-                                      'text "f")))))
-@end example
-
-Una secuencia musical @code{@{ ... @}} tiene el nombre
-@code{SequentialMusic}, y sus expresiones internas se almacenan como
-una lista en su propiedad @code{'elements}.  Una nota se representa
-como una expresión @code{EventChord} que contiene un objeto
-@code{NoteEvent} (que almacena las propiedades de duración y altura) y
-cualquier otra información adicional (en este caso, un evento
-@code{AbsoluteDynamicEvent} con una propiedad de texto @code{"f"}.
-
-
-@node Propiedades de la música
-@subsection Propiedades de la música
-@translationof Music properties
-
-El objeto @code{NoteEvent} es el primer objeto de la propiedad
-@code{'elements} de @code{someNote}.
-
-@example
-unaNota = c'
-\displayMusic \unaNota
-===>
-(make-music
-  'EventChord
-  'elements
-  (list (make-music
-          'NoteEvent
-          'duration
-          (ly:make-duration 2 0 1 1)
-          'pitch
-          (ly:make-pitch 0 0 0))))
-@end example
-
-La función @code{display-scheme-music} es la función utilizada por
-@code{\displayMusic} para imprimir la representación de Scheme de una
-expresión musical.
-
-@example
-#(display-scheme-music (first (ly:music-property unaNota 'elements)))
-===>
-(make-music
-  'NoteEvent
-  'duration
-  (ly:make-duration 2 0 1 1)
-  'pitch
-  (ly:make-pitch 0 0 0))
-@end example
-
-Después se accede a la altura de la nota a través de la propiedad
-@code{'pitch} del objeto @code{NoteEvent}:
-
-@example
-#(display-scheme-music
-   (ly:music-property (first (ly:music-property unaNota 'elements))
-                      'pitch))
-===>
-(ly:make-pitch 0 0 0)
-@end example
-
-La altura de la nota se puede cambiar estableciendo el valor de esta
-propiedad 'pitch:
-
-@funindex \displayLilyMusic
-
-@example
-#(set! (ly:music-property (first (ly:music-property unaNota 'elements))
-                          'pitch)
-       (ly:make-pitch 0 1 0)) ;; fijar la altura a d'.
-\displayLilyMusic \unaNota
-===>
-d'
-@end example
-
-
-@node Doblar una nota con ligaduras (ejemplo)
-@subsection Doblar una nota con ligaduras (ejemplo)
-@translationof Doubling a note with slurs (example)
-
-Supongamos que queremos crear una función que traduce una entrada como
-@code{a} a algo como @code{a( a)}.  Empezamos examinando la
-representación interna de la música con la que queremos terminar.
-
-@example
-\displayMusic@{ a'( a') @}
-===>
-(make-music
-  'SequentialMusic
-  'elements
-  (list (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 5 0))
-                (make-music
-                  'SlurEvent
-                  'span-direction
-                  -1)))
-        (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 5 0))
-                (make-music
-                  'SlurEvent
-                  'span-direction
-                  1)))))
-@end example
-
-Las malas noticias son que las expresiones @code{SlurEvent} se deben
-añadir @q{dentro} de la nota (o más concretamente, dentro de la
-expresión @code{EventChord}).
-
-Ahora observamos la entrada:
-
-@example
-(make-music
-  'SequentialMusic
-  'elements
-  (list (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 5 0))))))
-@end example
-
-Así pues, en nuestra función, tenemos que clonar esta expresión (de
-forma que tengamos dos notas para construir la secuencia), añadir
-@code{SlurEvents} a la propiedad @code{'elements} de cada una de
-ellas, y por último hacer una secuencia @code{SequentialMusic} con los
-dos @code{EventChords}.
-
-@example
-doubleSlur = #(define-music-function (parser location note) (ly:music?)
-         "Return: @{ note ( note ) @}.
-         `note' is supposed to be an EventChord."
-         (let ((note2 (ly:music-deep-copy note)))
-           (set! (ly:music-property note 'elements)
-                 (cons (make-music 'SlurEvent 'span-direction -1)
-                       (ly:music-property note 'elements)))
-           (set! (ly:music-property note2 'elements)
-                 (cons (make-music 'SlurEvent 'span-direction 1)
-                       (ly:music-property note2 'elements)))
-           (make-music 'SequentialMusic 'elements (list note note2))))
-@end example
-
-
-@node Añadir articulación a las notas (ejemplo)
-@subsection Añadir articulación a las notas (ejemplo)
-@translationof Adding articulation to notes (example)
-
-La manera fácil de añadir articulación a las notas es fundir dos
-expresiones musicales en un contexto único, como está explicado en
-@ref{Crear contextos}.  Sin embargo, suponga que queremos escribir
-una función musical que haga esto.
-
-Una @code{$variable} dentro de la notación @code{#@{...#@}} es como
-usar una @code{\variable} normal en la notación clásica de LilyPond.
-Sabemos que
-
-@example
-@{ \musica -. -> @}
-@end example
-
-@noindent
-no funciona en LilyPond.  Podemos evitar este problema adjuntando la
-articulación a una nota de mentira,
-
-@example
-@{ << \musica s1*0-.-> @}
-@end example
-
-@noindent
-pero a los efectos de este ejemplo, aprenderemos ahora cómo hacerlo en
-Scheme.  Comenzamos examinando nuestra entrada y la salida deseada:
-
-@example
-%  entrada
-\displayMusic c4
-===>
-(make-music
-  'EventChord
-  'elements
-  (list (make-music
-          'NoteEvent
-          'duration
-          (ly:make-duration 2 0 1 1)
-          'pitch
-          (ly:make-pitch -1 0 0))))
-=====
-%  salida deseada
-\displayMusic c4->
-===>
-(make-music
-  'EventChord
-  'elements
-  (list (make-music
-          'NoteEvent
-          'duration
-          (ly:make-duration 2 0 1 1)
-          'pitch
-          (ly:make-pitch -1 0 0))
-        (make-music
-          'ArticulationEvent
-          'articulation-type
-          "marcato")))
-@end example
-
-Vemos que una nota (@code{c4}) se representa como una expresión
-@code{EventChord}, con una expresión @code{NoteEvent} en su lista de
-elementos.  Para añadir una articulación marcato, se debe añadir una
-expresión @code{ArticulationEvent} a la propiedad elementos de la
-expresión @code{EventChord}.
-
-Para construir esta función, empezamos con
-
-@example
-(define (add-marcato event-chord)
-  "Añadir una ArticulationEvent de marcato a los elementos de `event-chord',
-  que se supone que es una expresión EventChord."
-  (let ((result-event-chord (ly:music-deep-copy event-chord)))
-    (set! (ly:music-property result-event-chord 'elements)
-          (cons (make-music 'ArticulationEvent
-                  'articulation-type "marcato")
-                (ly:music-property result-event-chord 'elements)))
-    result-event-chord))
-@end example
-
-La primera línea es la forma de definir una función en Scheme: el
-nombre de la función es @code{add-marcato}, y tiene una variable
-llamada @code{event-chord}.  En Scheme, el tipo de variable suele
-quedar claro a partir de su nombre (¡esto también es una buena
-práctica en otros lenguajes de programación!).
-
-@example
-"Añadir una ArticulationEvent de marcato..."
-@end example
-
-@noindent
-es una descripción de lo que hace la función.  No es estrictamente
-necesario, pero como los nombres de variable claros, es una buena
-práctica.
-
-@example
-(let ((result-event-chord (ly:music-deep-copy event-chord)))
-@end example
-
-@code{let} se usa para declarar variables locales.  Aquí usamos una
-variable local, llamada @code{result-event-chord}, a la que le damos
-el valor @code{(ly:music-deep-copy event-chord)}.
-@code{ly:music-deep-copy} es una función específica de LilyPond, como
-todas las funciones que comienzan por @code{ly:}.  Se usa para hacer
-una copia de una expresión musical.  Aquí, copiamos @code{event-chord}
-(el parámetro de la función).  Recuerde que el propósito es añadir un
-marcato a una expresión @code{EventChord}.  Es mejor no modificar el
-@code{EventChord} que se dio como argumento, porque podría utilizarse
-en algún otro lugar.
-
-Ahora tenemos un @code{result-event-chord}, que es una expresión
-@code{NoteEventChord} y es una copia de @code{event-chord}.  Añadimos
-el marcato a su propiedad lista de elementos.
-
-@example
-(set! lugar valor-nuevo)
-@end example
-
-Aquí, lo que queremos establecer (el @q{lugar}) es la propiedad
-@q{elements} de la expresión @code{result-event-chord}.
-
-@example
-(ly:music-property result-event-chord 'elements)
-@end example
-
-@code{ly:music-property} es la función que se usa para acceder a las
-propiedades musicales (los @code{'elements}, @code{'duration},
-@code{'pitch}, etc., que vemos en la salida de @code{\displayMusic}
-más arriba).  El nuevo valor es la anterior propiedad elements, con un
-elemento adicional: la expresión @code{ArticulationEvent}, que
-copiamos a partir de la salida de @code{\displayMusic},
-
-@example
-(cons (make-music 'ArticulationEvent
-        'articulation-type "marcato")
-      (ly:music-property result-event-chord 'elements))
-@end example
-
-@code{cons} se usa para añadir un elemento a una lista sin modificar
-la lista original.  Esto es lo que queremos: la misma lista que antes,
-más la nueva expresión @code{ArticulationEvent}.  El orden dentro de
-la propiedad elements no es importante aquí.
-
-Finalmente, una vez añadida la articulación marcato a su propiedad
-@code{elements}, podemos devolver @code{result-event-chord}, de aquí
-la última línea de la función.
-
-Ahora transformamos la función @code{add-marcato} en una función
-musical,
-
-@example
-addMarcato = #(define-music-function (parser location event-chord)
-                                     (ly:music?)
-    "Añadir un ArticulationEvent de marcato a los elementos de `event-chord',
-    que se supone que es una expresión EventChord."
-    (let ((result-event-chord (ly:music-deep-copy event-chord)))
-      (set! (ly:music-property result-event-chord 'elements)
-            (cons (make-music 'ArticulationEvent
-                    'articulation-type "marcato")
-                  (ly:music-property result-event-chord 'elements)))
-      result-event-chord))
-@end example
-
-Podemos verificar que esta función musical funciona correctamente,
-
-@example
-\displayMusic \addMarcato c4
-@end example
-
-
-@node Interfaz de marcado para el programador
-@section Interfaz de marcado para el programador
-@translationof Markup programmer interface
-
-Los marcados están implementados como funciones de Scheme especiales
-que producen un elemento Stencil (sello) dado un número de argumentos.
-
-@menu
-* Construcción del marcado en Scheme::
-* Cómo funciona internamente el marcado::
-* Definición de una instrucción de marcado nueva::
-* Definición de nuevas instrucciones de lista de marcado::
-@end menu
-
-@node Construcción del marcado en Scheme
-@subsection Construcción del marcado en Scheme
-@translationof Markup construction in Scheme
-
-@cindex marcado, definir instrucciones de
-
-El macro @code{markup} construye expresiones de marcado en Scheme,
-proporcionando una sintaxis similar a la de LilyPond.  Por ejemplo:
-
-@example
-(markup #:column (#:line (#:bold #:italic "hola" #:raise 0.4 "mundo")
-                  #:larger #:line ("fulano" "fulanito" "menganito")))
-@end example
-
-@noindent
-equivale a:
-@example
-\markup \column @{ \line @{ \bold \italic "hola" \raise #0.4 "mundo" @}
-                  \larger \line @{ fulano fulanito menganito @} @}
-@end example
-
-@noindent
-Este ejemplo muestra las principales reglas de traducción entre la
-sintaxis del marcado normal de LilyPond y la sintaxis del marcado de
-Scheme.
-
-@quotation
-@multitable @columnfractions .3 .3
-@item @b{LilyPond} @tab @b{Scheme}
-@item @code{\markup marcado1} @tab @code{(markup marcado1)}
-@item @code{\markup @{ marcado1 marcado2 ... @}} @tab
-        @code{(markup marcado1 marcado2 ... )}
-@item @code{\instruccion} @tab @code{#:instruccion}
-@item @code{\variable} @tab @code{variable}
-@item @code{\center-column @{ ... @}} @tab @code{#:center-column ( ... )}
-@item @code{cadena} @tab @code{"cadena"}
-@item @code{#argumento-de-scheme} @tab @code{argumento-de-scheme}
-@end multitable
-@end quotation
-
-Todo el lenguaje Scheme está accesible dentro del macro @code{markup}.
-Por ejemplo, podemos usar llamadas a funciones dentro de @code{markup}
-para así manipular cadenas de caracteres.  Esto es útil si se están
-definiendo instrucciones de marcado nuevas (véase @ref{Definición de una instrucción de marcado nueva}).
-
-@knownissues
-
-El argumento markup-list de instrucciones como @code{#:line},
-@code{#:center} y @code{#:column} no pueden se una variable o el
-resultado de la llamada a una función.
-
-@lisp
-(markup #:line (funcion-que-devuelve-marcados))
-@end lisp
-
-@noindent
-no es válido.  Hay que usar las funciones @code{make-line-markup},
-@code{make-center-markup} o @code{make-column-markup} en su lugar:
-
-@lisp
-(markup (make-line-markup (funcion-que-devuelve-marcados)))
-@end lisp
-
-
-@node Cómo funciona internamente el marcado
-@subsection Cómo funciona internamente el marcado
-@translationof How markups work internally
-
-En un elemento de marcado como
-
-@example
-\raise #0.5 "ejemplo de texto"
-@end example
-
-@noindent
-@code{\raise} se representa en realidad por medio de la función
-@code{raise-markup}.  La expresión de marcado se almacena como
-
-@example
-(list raise-markup 0.5 (list simple-markup "ejemplo de texto"))
-@end example
-
-Cuando el marcado se convierte en objetos imprimibles (Stencils o
-sellos), se llama la función @code{raise-markup} como
-
-@example
-(apply raise-markup
-       @var{\objeto de marcado}
-       @var{lista de listas asociativas de propiedades}
-       0.5
-       @var{el marcado "ejemplo de texto"})
-@end example
-
-Primero la función @code{raise-markup} crea el sello para la cadena
-@code{ejemplo de texto}, y después eleva el sello Stencil en 0.5
-espacios de pentagrama.  Este es un ejemplo bastante simple; en el
-resto de la sección podrán verse ejemplos más complejos, así como en
-@file{scm/@/define@/-markup@/-commands@/.scm}.
-
-
-@node Definición de una instrucción de marcado nueva
-@subsection Definición de una instrucción de marcado nueva
-@translationof New markup command definition
-
-Las instrucciones de marcado nuevas se pueden definir con el macro de
-Scheme @code{define-markup-command}.
-
-@lisp
-(define-markup-command (@var{nombre-de-la-instruccion} @var{layout} @var{props} @var{arg1} @var{arg2} ...)
-            (@var{arg1-type?} @var{arg2-type?} ...)
-  ..command body..)
-@end lisp
-
-Los argumentos son
-
-@table @var
-@item argi
-@var{i}-ésimo argumento de la instrucción
-@item argi-type?
-predicado de tipo para el argumento @var{i}-ésimo
-@item layout
-la definición de @q{presentación}
-@item props
-lista de listas asociativas, que contiene todas las propiedades
-activas.
-@end table
-
-Como ejemplo sencillo, mostramos cómo añadir una instrucción
-@code{\smallcaps}, que selecciona una tipografía de versalitas.
-Normalmente podríamos seleccionar la tipografía de versalitas,
-
-@example
-\markup @{ \override #'(font-shape . caps) Texto-en-versalitas @}
-@end example
-
-@noindent
-Esto selecciona la tipografía de versalitas mediante el
-establecimiento de la propiedad @code{font-shape} a @code{#'caps} para
-la interpretación de @code{Texto-en-versalitas}.
-
-Para poner lo anterior disponible como la instrucción
-@code{\smallcaps}, tenemos que definir una función utilizando
-@code{define-markup-command}.  La instrucción ha de tomar un argumento
-del tipo @code{markup}.  Por tanto, el inicio de la definición ha de
-ser
-
-@example
-(define-markup-command (smallcaps layout props argument) (markup?)
-@end example
-
-@noindent
-
-Lo que aparece a continuación es el contenido de la instrucción:
-debemos interpretar el @code{argument} como un marcado, es decir:
-
-@example
-(interpret-markup layout @dots{} argument)
-@end example
-
-@noindent
-Esta interpretación tiene que añadir @code{'(font-shape . caps)} a las
-propiedades activas, por lo que sustituimos lo siguiente por los
-@dots{} en el ejemplo anterior:
-
-@example
-(cons (list '(font-shape . caps) ) props)
-@end example
-
-@noindent
-La variable @code{props} es una lista de a-listas, y se lo anteponemos
-haciendo la operación cons de una lista con el ajuste adicional.
-
-Supongamos que estamos tipografiando un recitativo de una ópera y nos
-gustaría definir una instrucción que presente los nombres de los
-personajes de una forma personalizada.  Queremos que los nombres se
-impriman con versalitas y se desplacen un poco a la izquierda y hacia
-arriba.  Definimos una instrucción @code{\character} que toma en
-cuenta la traslación necesaria y utiliza la instrucción
-@code{\smallcaps} recién definida:
-
-@example
-#(define-markup-command (character layout props nombre) (string?)
-  "Imprimir el nombre del personaje en versalitas, desplazado a la izquierda y hacia
-  arriba.  Sintaxis: \\character #\"nombre\""
-  (interpret-markup layout props
-   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps nombre)))
-@end example
-
-Esta es una complicación que requiere una explicación: los textos por
-encima y por debajo del pentagrama se mueven verticalmente de forma
-que estén a una cierta distancia (la propiedad @code{padding}) del
-pentagrama y de las notas.  Para asegurar que este mecanismo no anula
-el efecto de nuestro @code{#:translate}, añadimos una cadena vacía
-(@code{#:hspace 0}) antes del texto trasladado.  Ahora el
-@code{#:hspace 0} se pone encima de las notas, y el @code{nombre} se
-mueve en relación a dicha cadena vacía.  El efecto neto es que el
-texto se mueve hacia la izquierda y hacia arriba.
-
-El resultado final es como sigue:
-
-@example
-@{
-  c''^\markup \character #"Cleopatra"
-  e'^\markup \character #"Giulio Cesare"
-@}
-@end example
-
-@lilypond[quote,ragged-right]
-#(define-markup-command (smallcaps layout props str) (string?)
-  "Print the string argument in small caps.  Syntax: \\smallcaps #\"string\""
-  (interpret-markup layout props
-   (make-line-markup
-    (map (lambda (s)
-          (if (= (string-length s) 0)
-              s
-              (markup #:large (string-upcase (substring s 0 1))
-                      #:translate (cons -0.6 0)
-                      #:tiny (string-upcase (substring s 1)))))
-         (string-split str #\Space)))))
-
-#(define-markup-command (character layout props name) (string?)
-  "Print the character name in small caps, translated to the left and
-  top.  Syntax: \\character #\"name\""
-  (interpret-markup layout props
-   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps name)))
-
-{
-  c''^\markup \character #"Cleopatra" c'' c'' c''
-  e'^\markup \character #"Giulio Cesare" e' e' e'
-}
-@end lilypond
-
-Hemos usado la forma de fuente tipográfica @code{caps}, pero
-supongamos que nuestra fuente no tiene la variante de versalitas.  En
-ese caso tenemos que hacer una falsa fuente de mayúsculas pequeñas
-haciendo que la cadena en mayúsculas tenga la primera legra un poco
-mayor:
-
-@example
-#(define-markup-command (smallcaps layout props str) (string?)
-  "Print the string argument in small caps."
-  (interpret-markup layout props
-   (make-line-markup
-    (map (lambda (s)
-          (if (= (string-length s) 0)
-              s
-              (markup #:large (string-upcase (substring s 0 1))
-                      #:translate (cons -0.6 0)
-                      #:tiny (string-upcase (substring s 1)))))
-         (string-split str #\Space)))))
-@end example
-
-La instrucción @code{smallcaps} primero divide su argumento de cadena
-en unidades o palabras separadas por espacios (@code{(string-split str
-#\Space)}); para cada unidad o palabra, se construye un marcado con la
-primera letra agrandada y en mayúscula (@code{#:large (string-upcase
-(substring s 0 1))}), y un segundo marcado construido con las letras
-siguientes reducidas de tamaño y en mayúsculas (@code{#:tiny
-(string-upcase (substring s 1))}).  Como LilyPond introduce un espacio
-entre los marcados de una misma línea, el segundo marcado se traslada
-a la izquierda (@code{#:translate (cons -0.6 0) ...}).  Después, los
-marcados construidos para cada palabra se ponen en una línea mediante
-@code{(make-line-markup ...)}.  Finalmente, el marcado resultante se
-pasa a la función @code{interpret-markup}, con los argumentos
-@code{layout} y @code{props}.
-
-Nota: ahora existe una instrucción interna @code{\smallCaps} que se
-puede usar para poner texto en versalitas.  Consulte @ref{Text markup commands}, para ver más detalles.
-
-@knownissues
-
-Actualmente las combinaciones de argumentos que hay disponibles
-(después de los argumentos estándar @var{layout} y @var{props}) para
-una instrucción de marcado definida con @code{define-markup-command}
-se limitan a la siguiente lista:
-
-@table @asis
-@item (ningún argumento)
-@itemx @var{list}
-@itemx @var{markup}
-@itemx @var{markup markup}
-@itemx @var{scm}
-@itemx @var{scm markup}
-@itemx @var{scm scm}
-@itemx @var{scm scm markup}
-@itemx @var{scm scm markup markup}
-@itemx @var{scm markup markup}
-@itemx @var{scm scm scm}
-@end table
-
-@noindent
-En la tabla de arriba, @var{scm} representa los tipos de datos nativos
-de Scheme como @q{number} (número) o @q{string} (cadena).
-
-Como ejemplo, no es posible usar una instrucción de marcado
-@code{fulanito} con cuatro argumentos definida como
-
-@example
-#(define-markup-command (fulanito layout props
-                         num1    str1    num2    str2)
-                        (number? string? number? string?)
-  ...)
-@end example
-
-@noindent
-Si la aplicamos como, digamos,
-
-@example
-\markup \fulanito #1 #"mengano" #2 #"zutano"
-@end example
-
-@cindex Scheme signature
-@cindex signature, Scheme
-@noindent
-@command{lilypond} protesta diciendo que no puede analizar
-@code{fulanito} debido a su firma de Scheme desconocida.
-
-
-@node Definición de nuevas instrucciones de lista de marcado
-@subsection Definición de nuevas instrucciones de lista de marcado
-@translationof New markup list command definition
-
-Las instrucciones de listas de marcado se definen con el macro de
-Scheme @code{define-markup-list-command}, que es similar al macro
-@code{define-markup-command} descrito en @ref{Definición de una instrucción de marcado nueva}, excepto que donde éste devuelve un sello único, aquél
-devuelve una lista de sellos.
-
-En el siguiente ejemplo se define una instrucción de lista de marcado
-@code{\paragraph}, que devuelve una lista de líneas justificadas,
-estando la primera de ellas sangrada.  La anchura del sangrado se toma
-del argumento @code{props}.
-
-@example
-#(define-markup-list-command (paragraph layout props args) (markup-list?)
-   (let ((indent (chain-assoc-get 'par-indent props 2)))
-     (interpret-markup-list layout props
-       (make-justified-lines-markup-list (cons (make-hspace-markup indent)
-                                               args)))))
-@end example
-
-Aparte de los argumentos usuales @code{layout} y @code{props}, la
-instrucción de lista de marcados @code{paragraph} toma un argumento de
-lista de marcados, llamado @code{args}.  El predicado para listas de
-marcados es @code{markup-list?}.
-
-En primer lugar, la función toma el ancho del sangrado, una propiedad
-llamada aquí @code{par-indent}, de la lista de propiedades
-@code{props}.  Si no se encuentra la propiedad, el valor
-predeterminado es @code{2}.  Después, se hace una lista de líneas
-justificadas usando la función
-@code{make-justified-lines-markup-list}, que está relacionada con la
-instrucción incorporada de lista de marcados @code{\justified-lines}.
-Se añade un espacio horizontal al principio usando la función
-@code{make-hspace-markup}.  Finalmente, la lista de marcados se
-interpreta usando la función @code{interpret-markup-list}.
-
-Esta nueva instrucción de lista de marcados se puede usar como sigue:
-
-@example
-\markuplines @{
-  \paragraph @{
-    El arte de la tipografía musical se llama  \italic @{grabado (en plancha).@}
-    El término deriva del proceso tradicional de impresión de música.
-    hace sólo algunas décadas, las partituras se hacían cortando y estampando
-    la música en una plancha de zinc o lata en una imagen invertida.
-  @}
-  \override-lines #'(par-indent . 4) \paragraph @{
-    La plancha se tenía que entintar, y las depresiones causadas por los cortes
-    y estampados retienen la tinta.  Se formaba una imagen presionando el papel
-    contra la plancha.  El estampado y cortado se hacía completamente
-    a mano.
-  @}
-@}
-@end example
-
-
-@node Contextos para programadores
-@section Contextos para programadores
-@translationof Contexts for programmers
-
-@menu
-* Evaluación de contextos::
-* Ejecutar una función sobre todos los objetos de la presentación::
-@end menu
-
-@node Evaluación de contextos
-@subsection Evaluación de contextos
-@translationof Context evaluation
-
-@cindex código, llamadas durante la interpretación
-@funindex \applyContext
-
-Se pueden modificar los contextos durante la interpretación con código
-de Scheme.  La sintaxis para esto es
-
-@example
-\applyContext @var{función}
-@end example
-
-@var{función} debe ser una función de Scheme que toma un único
-argumento, que es el contexto al que aplicarla.  El código siguiente
-imprime el número del compás actual sobre la salida estándar durante
-la compilación:
-
-@example
-\applyContext
-  #(lambda (x)
-    (format #t "\nSe nos ha llamado en el compás número ~a.\n"
-     (ly:context-property x 'currentBarNumber)))
-@end example
-
-
-@node Ejecutar una función sobre todos los objetos de la presentación
-@subsection Ejecutar una función sobre todos los objetos de la presentación
-@translationof Running a function on all layout objects
-
-
-@cindex código, llamar sobre objetos de presentación
-@funindex \applyOutput
-
-
-La manera más versátil de realizar el ajuste fino de un objeto es
-@code{\applyOutput}.  Su sintaxis es
-
-@example
-\applyOutput @var{contexto} @var{proc}
-@end example
-
-@noindent
-donde @var{proc} es una función de Scheme, que toma tres argumentos.
-
-Al interpretarse, la función @var{proc} se llama para cada objeto de
-presentación que se encuentra en el contexto @var{contexto}, con los
-siguientes argumentos:
-
-@itemize
-@item el propio objeto de presentación,
-@item el contexto en que se creó el objeto de presentación, y
-@item el contexto en que se procesa @code{\applyOutput}.
-@end itemize
-
-Además, la causa del objeto de presentación, es decir el objeto o
-expresión musical que es responsable de haberlo creado, está en la
-propiedad @code{cause} del objeto.  Por ejemplo, para la cabeza de una
-nota, éste es un evento @rinternals{NoteHead}, y para un objeto
-@rinternals{Stem} (plica), éste es un objeto @rinternals{Stem}.
-@c Impossible - changed to Stem --FV
-
-He aquí una función que usar para @code{\applyOutput}; borra las
-cabezas de las notas que están sobre la línea central:
-
-@lilypond[quote,verbatim,ragged-right]
-#(define (blanker grob grob-origin context)
-   (if (and (memq 'note-head-interface (ly:grob-interfaces grob))
-            (eq? (ly:grob-property grob 'staff-position) 0))
-       (set! (ly:grob-property grob 'transparent) #t)))
-
-\relative {
-  e4 g8 \applyOutput #'Voice #blanker b d2
-}
-@end lilypond
-
-
-@node Procedimientos de Scheme como propiedades
-@section Procedimientos de Scheme como propiedades
-@translationof Scheme procedures as properties
-
-Las propiedades (como el grosor, la dirección, etc.) se pueden
-establecer a valores fijos con \override, p. ej.
-
-@example
-\override Stem #'thickness = #2.0
-@end example
-
-Las propiedades pueden fijarse también a un procedimiento de scheme,
-
-@lilypond[fragment,verbatim,quote,relative=2]
-\override Stem #'thickness = #(lambda (grob)
-    (if (= UP (ly:grob-property grob 'direction))
-        2.0
-        7.0))
-c b a g b a g b
-@end lilypond
-
-@noindent
-En este caso, el procedimiento se ejecuta tan pronto como el valor de
-la propiedad se reclama durante el proceso de formateo.
-
-Casi todo el motor de tipografiado está manejado por estos
-@emph{callbacks}.  Entre las propiedades que usan normalmente
-@emph{callbacks} están
-
-@table @code
-@item stencil
-  La rutina de impresión, que construye un dibujo para el símbolo
-@item X-offset
-  La rutina que establece la posición horizontal
-@item X-extent
-  La rutina que calcula la anchura de un objeto
-@end table
-
-El procedimiento siempre toma un argumento único, que es el grob (el
-objeto gráfico).
-
-Si se deben llamar rutinas con varios argumentos, el grob actual se
-puede insertar con una cerradura de grob.  He aquí un ajuste
-procedente de @code{AccidentalSuggestion},
-
-@example
-(X-offset .
-  ,(ly:make-simple-closure
-    `(,+
-        ,(ly:make-simple-closure
-           (list ly:self-alignment-interface::centered-on-x-parent))
-      ,(ly:make-simple-closure
-           (list ly:self-alignment-interface::x-aligned-on-self)))))
-@end example
-
-@noindent
-En este ejemplo, tanto
-@code{ly:self-alignment-interface::x-aligned-on-self} como
-@code{ly:self-alignment-interface::centered-on-x-parent} se llaman con
-el grob como argumento.  El resultado se añade con la función
-@code{+}.  Para asegurar que esta adición se ejecuta adecuadamente,
-todo ello se encierra dentro de @code{ly:make-simple-closure}.
-
-De hecho, usar un solo procedimiento como valor de una propiedad
-equivale a
-
-@example
-(ly:make-simple-closure (ly:make-simple-closure (list @var{proc})))
-@end example
-
-@noindent
-El @code{ly:make-simple-closure} interior aporta el grob como
-argumento de @var{proc}, el exterior asegura que el resultado de la
-función es lo que se devuelve, en lugar del objeto
-@code{simple-closure}.
-
-
-@node Usar código de Scheme en lugar de \tweak
-@section Usar código de Scheme en lugar de @code{\tweak}
-@translationof Using Scheme code instead of \tweak
-
-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 cuando a la sintaxis; concretamente, no se puede adjuntar con
-@code{^} y @code{_}.
-
-Usando Scheme, se puede dar un rodeo a este problema.  La ruta hacia
-el resultado se da en @ref{Añadir articulación a las notas (ejemplo)},
-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 flageolet @code{m}
-(creado con @code{make-music}) se extraen con
-@code{ly:music-property}, se antepone un nuevo par clave-valor para
-cambiar el tamaño de la tipografía a la lista de propiedades con la
-función de Scheme @code{acons}, y finalmente el resultado se escribe
-de nuevo con @code{set!}.  El último elemento del bloque @code{let} es
-el valor de retorno, el propio @code{m}.
-
-@node Trucos difíciles
-@section Trucos difíciles
-@translationof Difficult tweaks
-
-Hay un cierto número de tipos de ajustes difíciles.
-
-@itemize
-
-@item
-Un tipo de ajuste difícil es la apariencia 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 pueden ajustarse con el mecanismo
-normal.  Sin embargo, en ciertos casos los objetos extensores cruzan
-los saltos de línea.  Si esto ocurre, estos objetos se clonan.  Se
-crea un objeto distinto por cada sistema en que se encuentra.  Éstos
-son clones del objeto original y heredan todas sus propiedades,
-incluidos los @code{\override}s.
-
-En otras palabras, un @code{\override} siempre afecta a todas las
-piezas de un objeto de extensión fragmentado.  Para cambiar sólo una
-parte de un extensor en el salto de línea, es necesario inmiscuirse en
-el proceso de formateado.  El @emph{callback}
-@code{after-line-breaking} contiene el procedimiento Scheme que se
-llama después de que se han determinado los saltos de línea, y los
-objetos de presentación han sido divididos sobre los distintos
-sistemas.
-
-En el ejemplo siguiente, definimos un procedimiento
-@code{my-callback}.  Este procedimiento
-
-@itemize
-@item
-determina si hemos sido divididos por los saltos de línea
-@item
-en caso afirmativo, reúne todos los objetos divididos
-@item
-comprueba si somos el último de los objetos divididos
-@item
-en caso afirmativo, establece @code{extra-offset}.
-@end itemize
-
-Este procedimiento se instala en @rinternals{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
-Al aplicar 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 usa con
-@code{Hairpin}, se debe llamar también a
-@code{ly:hairpin::after-line-breaking}.
-
-
-@item Algunos objetos no se pueden cambiar con @code{\override} por
-razones técnicas.  Son ejemplos @code{NonMusicalPaperColumn} y
-@code{PaperColumn}.  Se pueden cambiar con la función
-@code{\overrideProperty} que funciona de forma similar a @code{\once
-\override}, pero usa una sintaxis distinta.
-
-@example
-\overrideProperty
-#"Score.NonMusicalPaperColumn"  % Nombre del grob
-#'line-break-system-details     % Nombre de la propiedad
-#'((next-padding . 20))         % Valor
-@end example
-
-Observe, sin embargo, que @code{\override}, aplicado a
-@code{NonMusicalPaperColumn} y a @code{PaperColumn}, aún funciona
-como se espera dentro de los bloques @code{\context}.
-
-@end itemize
index ed8f7774c7f417792e18f681f009ff27b53edc19..e9475bd339aa2d0249c2edf6b43e47bbdeb736b7 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 41ef91786a08102d9b9a839f6a2f40cec263d723
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -89,6 +89,7 @@ La sintaxis de una repetición simple es
 \repeat @var{variante} @var{número_de_repeticiones} @var{cuerpo_de_la_repetición}
 @end example
 
+@noindent
 donde @var{cuerpo_de_la_repetición} es una expresión musical.  Los
 finales alternativos se pueden obtener utilizando @code{\alternative}.
 Para delimitar los finales alternativos, el grupo de alternativas se
@@ -116,6 +117,9 @@ Repeticiones normales con primera y segunda vez:
 c1
 @end lilypond
 
+@warning{No ponga @code{@bs{}relative} dentro de un bloque
+@code{@bs{}repeat}.  Hará que aparezcan pentagramas no deseados.
+Véase @rprogram{An extra staff appears}.}
 
 @cindex repetición con anacrusa
 @cindex anacrusa en repeticiones
@@ -375,6 +379,7 @@ repetitiva.  La sintaxis es:
 \repeat unfold @var{número_de_repeticiones} @var{expresión_musical}
 @end example
 
+@noindent
 donde @var{expresión_musical} es una expresión musical y
 @var{número_de_repeticiones} es el número de veces que
 @var{expresión_musical} se repite.
@@ -445,6 +450,7 @@ se sustituyen por símbolos de tipo porcentaje.  La sintaxis es:
 @code{\repeat percent @var{número} @var{expresión_musical}}
 @end example
 
+@noindent
 donde @var{expresión_musical} es una expresión musical.
 
 @lilypond[verbatim,quote,relative=2]
@@ -552,7 +558,7 @@ El mismo resultado se puede obtener escribiendo
 duración de la subdivisión, y debe ser 8 como mínimo.  Un valor de 8
 para @var{número} produce una línea que atraviesa la plica de la nota.
 Si se omite la longitud, se utiliza el último valor (almacenado en
-@code{tremoloFlags})
+@code{tremoloFlags}):
 
 @lilypond[quote,verbatim,relative=2]
 c2:8 c:32
@@ -560,6 +566,11 @@ c: c:
 @end lilypond
 
 
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{cross-staff-tremolos.ly}
+
 @seealso
 Fragmentos de código:
 @rlsr{Repeats}.
index edd7dd5191c27729775dca9a0564c17f2bcd6b62..e47fb90ad32a408e852fac5fdc327c17cc8bb28f 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -72,7 +72,6 @@ c\longa c\breve c1 c2
 c4 c8 c16 c32 c64 c128 c128
 @end lilypond
 
-@noindent
 Aquí se pueden ver las mismas duraciones con el barrado automático
 desactivado.
 
@@ -274,7 +273,6 @@ grupo especial, véase @ref{Escalar las duraciones}.
 {permitting-line-breaks-within-beamed-tuplets.ly}
 
 
-
 @seealso
 Glosario musical:
 @rglos{triplet},
@@ -298,10 +296,10 @@ Referencia de funcionamiento interno:
 @rinternals{TupletNumber},
 @rinternals{TimeScaledMusic}.
 
+
 @cindex adorno, notas de, dentro de corchetes de grupo especial
 
 @knownissues
-
 Cuando la primera nota de un pentagrama es una nota de adorno (un
 mordente de una nota) seguida de un grupo de valoración especial, la
 nota de adorno se debe situar antes de la instrucción @code{\times}
@@ -371,7 +369,7 @@ se puede comprimir y expandir la música:
 }
 @end lilypond
 
-@noindent
+
 Una aplicación de esta instrucción se encuentra en la notación
 polimétrica, véase @ref{Notación polimétrica}.
 
@@ -410,7 +408,6 @@ Se introduce una ligadura de unión usando el símbolo de la tilde curva
 a2 ~ a
 @end lilypond
 
-@noindent
 Se usan ligaduras de unión bien cuando la nota atraviesa la barra de
 compás o bien cuando no se pueden usar puntillos para denotar el
 ritmo.  También se deben usar ligaduras cuando las notas atraviesan
@@ -519,7 +516,7 @@ c2 ~ c
 c2 ~ c
 @end lilypond
 
-Se pueden especificar patrones de discontinudad personalizados:
+Se pueden especificar patrones de discontinuidad personalizados:
 
 @lilypond[quote, verbatim, relative=1]
 \tieDashPattern #0.3 #0.75
@@ -532,7 +529,7 @@ c2 ~ c
 
 Las definiciones de patrones de discontinuidad para las ligaduras de
 unión tienen la misma estructura que las definiciones de patrones de
-discontinudad para las ligaduras de expresión.  Para ver más
+discontinuidad para las ligaduras de expresión.  Para ver más
 información acerca de los patrones de discontinuidad complejos,
 consulte los fragmentos de código bajo @ref{Ligaduras de expresión}.
 
@@ -567,7 +564,6 @@ Referencia de la notación:
 @ref{Ligaduras de expresión},
 @ref{División automática de las notas}.
 
-
 Fragmentos de código:
 @rlsr{Rhythms}.
 
@@ -755,6 +751,13 @@ salida, de ninguna clase.
 
 
 @seealso
+Manual de aprendizaje:
+@rlearning{Visibilidad y color de los objetos}.
+
+Referencia de la notación:
+@ref{Notas ocultas},
+@ref{Visibilidad de los objetos}.
+
 Fragmentos de código:
 @rlsr{Rhythms}.
 
@@ -1059,9 +1062,12 @@ Las indicaciones de compás de la música mensural se tratan en
 @cindex compuesto, indicaciones de compás
 @cindex compás compuesto, indicaciones de
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {compound-time-signatures.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly}
+
 
 @seealso
 Glosario musical:
@@ -1100,6 +1106,7 @@ escriben usando la instrucción @code{\partial}, con la sintaxis
 \partial @var{duración}
 @end example
 
+@noindent
 donde @code{duración} es el valor rítmico que se se debe añadir antes
 del comienzo del siguiente compás completo:
 
@@ -1116,12 +1123,13 @@ completo:
 a2. c,4 |
 @end lilypond
 
-Esto se traduce internamente a
+Internamente, @code{\partial} se traduce a
 
 @example
 \set Timing.measurePosition = -@var{duración}
 @end example
 
+@noindent
 La propiedad @code{measurePosition} contiene un número racional que
 indica qué parte del compás ha transcurrido hasta el momento.  Observe
 que se establece a un número negativo por parte de la instrucción
@@ -1194,6 +1202,11 @@ c4 c d8 d d f4 g4.
 d4 e d c
 @end lilypond
 
+Observe que estas instrucciones predefinidas afectan a todas las
+pautas de la partitura, aunque aparezcan en un solo contexto
+@code{Voice}.  Para cambiar esto, traslade el
+@code{Timing_translator} del contexto @code{Score} al contexto
+@code{Staff}, como se muestra en @ref{Notación polimétrica}.
 
 @predefined
 @code{\cadenzaOn},
@@ -1206,7 +1219,8 @@ Glosario musical:
 @rglos{cadenza}.
 
 Referencia de la notación:
-@ref{Visibilidad de los objetos}.
+@ref{Visibilidad de los objetos},
+@ref{Notación polimétrica}.
 
 Fragmentos de código:
 @rlsr{Rhythms}.
@@ -1235,6 +1249,17 @@ invisibles
 @noindent
 para indicar dónde se pueden producir los saltos.
 
+Debemos crear un contexto de voz explícitamente al empezar una
+pieza con @code{\cadenzaOn}, pues en caso contrario pueden
+ocurrir algunos errores extraños.
+
+@lilypond[verbatim,relative=2,fragment]
+\new Voice \relative c'{
+  \cadenzaOn
+  c16^"Solo Free Time" d e f g2. \bar "||"
+  \cadenzaOff
+}
+@end lilypond
 
 @node Notación polimétrica
 @unnumberedsubsubsec Notación polimétrica
@@ -1333,13 +1358,13 @@ independiente trasladando los grabadores @code{Timing_translator} y
   \new Staff {
     \time 3/4
     c4 c c |
-    c c c |
+    c4 c c |
   }
   \new Staff {
     \time 2/4
     c4 c |
-    c c |
-    c c |
+    c4 c |
+    c4 c |
   }
   \new Staff {
     \time 3/8
@@ -1589,7 +1614,7 @@ entonces se debe desactivar el barrado automático con
 @code{\autoBeamOff} e indicar las barras manualmente.}
 
 Se pueden crear patrones de barrado que difieran de los valores
-automáticos predeterminados, véase @ref{Establecer el comportamiento de las barras automáticas}.
+automáticos predeterminados; véase @ref{Establecer el comportamiento de las barras automáticas}.
 
 @predefined
 @code{\autoBeamOff},
@@ -1624,7 +1649,13 @@ Fragmentos de código:
 @rlsr{Rhythms}.
 
 Referencia de funcionamiento interno:
-@rinternals{Beam}.
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface},
+@rinternals{unbreakable-spanner-interface}.
 
 
 @knownissues
@@ -1652,36 +1683,110 @@ alteraciones accidentales de las otras voces.
 @funindex \set
 @funindex set
 
-La colocación de las barras automáticas se determina aplicando las
-siguientes reglas en este orden:
+La colocación de las barras de corchea automáticas viene
+determinada por la indicación de compás.  Se usan tres tipos de
+reglas para la determinación del final de las barras de corchea
+automáticas: reglas @emph{predeterminadas} para el tipo de
+compás, reglas @emph{explícitas} para la barra dentro del tipo de
+compás, y la @emph{beatLength} (longitud de la barra) para el
+tipo de compás.
+
+Se aplican las siguientes reglas, en orden de prioridad, para
+determinara el aspecto de las barras:
 
 @itemize
+@item Si una barra manual está especificada con @code{[..]} establecer
+la barra tal y como está especificado; en caso contrario:
+
+@item
+si está en vigor @code{\autoBeamOff} no poner barras; en caso contrario:
 
-@item Si una barra está especificada con @code{[..]} establecer la barra tal
-y como está especificado; en caso contrario:
+@item si está definida alguna regla de fin de barra para el tipo de barra en
+este tipo de compás, usarla para determinar los lugares válidos en que
+las barras pueden terminar; en caso contrario
 
-@item si está en vigor @code{\autoBeamOff} no poner barras; en caso contrario:
+@item
+si está definida alguna una regla predeterminada de fin de barra en
+este tipo de compás, usarla para agrupar las notas con barras; en caso
+contrario
 
-@item usar el valor de @code{beatLength} para agrupar las notas con barras
+@item
+usar el valor de @code{beatLength} para agrupar las notas con barras.
 
 @end itemize
 
 @i{@strong{Modificar las agrupaciones de pulsos}}
 
-Tanto @code{measureLength} como @code{beatLength} son @i{momentos},
-unidades de duración musical.  Las cantidades del tipo @i{moment} se
-crean por la función de Scheme @code{ly:make-moment}.  Para ver más
-información sobre esta función, consulte @ref{Gestión del tiempo}.
+De forma predeterminada, @code{beatLength} se deriva del tipo de
+compás establecido por la instrucción @code{\time}.  La longitud del
+pulso @code{beatLength} se establece a uno sobre el denominador del
+compás.
+
+@code{beatLength} es un @i{momento}, una unidad de duración musical.
+Las cantidades del tipo @i{moment} se crean por la función de Scheme
+@code{ly:make-moment}.  Para ver más información sobre esta función,
+consulte @ref{Gestión del tiempo}.
+
+Los ajustes de barrado automático y de subdivisión de los barrados se
+almacenan en la propiedad @code{beamSettings}.  Los valores
+predeterminados de @code{beamSettings} están precisados en
+@file{scm/@/beam@/-settings@/.scm}.  Las entradas de
+@code{beamSettings} están clasificadas por tipo de compás y tipo de regla.
+
+EL tipo de compás debe ser una dupla de Scheme, p.ej. @code{#'(4
+. 4)}.
+
+El tipo de regla debe ser @code{#'end} para finales de barra y
+@code{#'subdivide} para subdivisión de barras.
+
+Las reglas de final y subdivisión consisten en una lista-A de Scheme
+(o una lista de duplas) que indica el tipo de barra y la agrupación
+que se aplica a ese tipo de barra.
+
+@example
+#'((tipo-barra1 . agrupación-1)
+   (tipo-barra2 . agrupación-2)
+   (tipo-barra3 . agrupación-3))
+@end example
+
+El tipo de barra es una dupla de Scheme que indica la duración de la
+barra, p.e.j. @code{(1 . 16)}, ó @code{*} para indicar una regla por
+omisión, que se aplica a todas las barras si no hay definida ninguna
+regla explícita.
+
+La agrupación es una lista de Scheme que indica la agrupación que se
+aplica a la barra.  Para las reglas por omisión, aquellas en las que
+el tipo de barra es @code{*}, la agrupación está en unidades de
+longitud de pulso, @code{beatLength}.  Para las reglas explícitas, la
+agrupación está en unidades del tipo de barra.
+
+Como referencia pueden consultarse las reglas de barrado por omisión
+que están en @file{scm/beam-settings.scm}.
+
+Los ajustes para las barras se cambian con
+@code{\overrideBeamSettings} y @code{\revertBeamSettings}.
+
+@warning{ Los ajustes de final y subdivisión deben ser reglas
+@emph{completas}.  Esto es, toda regla que se aplicaría al tipo de
+compás actual debe incluirse en los ajustes.  No es posible cambiar la
+agrupación de sólo el tipo de barra para un tipo de compás dado.
+Aunque puede parecer muy engorroso, significa que los ajustes de
+barrado actuales no necesitan ser conocidos para poder especificar un
+nuevo patrón de barrado.}
 
 @lilypond[quote,relative=2,verbatim]
-  \time 5/16
-  c8^"beats" c16 c8 |
-  \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3)))
-  c8^"(2+3)" c16 c8
-  \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2)))
-  c8^"(3+2)" c16 c8
+\time 5/16
+c8^"beats" c16 c8 |
+\overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3)))
+c8^"(2+3)" c16 c8
+\overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2)))
+c8^"(3+2)" c16 c8
 @end lilypond
 
+Los cambios en los ajustes de barrado se pueden limitar a contextos
+específicos.  Si no se incluye ningún ajuste en un contexto de nivel
+más bajo, se aplican los ajustes del contexto circundante.
+
 @lilypond[quote, verbatim,relative=1]
 \new Staff <<
   \time 7/8
@@ -1708,7 +1813,7 @@ pentagrama:
 @lilypond[quote,verbatim,relative=2]
 \time 7/8
 % rhythm 3-1-1-2
-% Context Voice specified - does not work correctly
+% Context Voice specified - does not work correctly
 % Because of autogenerated voices, all beating will
 % be at beatLength (1 . 8)
 \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (3 1 1 2)))
@@ -1719,51 +1824,72 @@ pentagrama:
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
-@funindex revert-beam-setting
+@funindex revertBeamSettings
 
-Beam settings can be reverted to get back to default behavior.  This
-is accomplished by using @code{\revertBeamSettings}.  The arguments
-are the same as for @code{\overrideBeamSettings}, except no value
-for @var{grouping} is given:
+Los ajustes de barrado se pueden revertir para volver al
+comportamiento predeterminado.  Esto se consigue mediante la
+utilización de @code{\revertBeamSettings}.  Los argumentos son los
+mismos que para @code{\overrideBeamSettings}, excepto que no se da
+ningún valor para @var{agrupación}:
 
 @example
-\revertBeamSettings context time-signature rule-type
+\revertBeamSettings contexto tipo-de-compás tipo-de-regla
 @end example
 
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
 % set default rule for (1 1 1 1) grouping
 \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
 % revert the new rule
 \revertBeamSettings #'Score #'(4 . 4) #'end
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
 @end lilypond
 
+
+@predefined
+@code{\overrideBeamSettings},
+@code{\revertBeamSettings}.
+@endpredefined
+
+
 @snippets
 
-@cindex beams, subdividing
+@cindex barras, subdivisión
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {sub-dividing-beams.ly}
 
-@cindex measure groupings
-@cindex beats, grouping
-@cindex grouping beats
-@cindex measure sub-grouping
-
-@funindex autoBeamSettings
+@cindex compás, agrupación
+@cindex pulsos, agrupación
+@cindex agrupar pulsos
+@cindex compases, sub-agrupar
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {conducting-signs,-measure-grouping-signs.ly}
 
+@cindex barra, última en la partitura
+@cindex barra, última en una voz polifónica
+
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {beam-endings-in-score-context.ly}
 
-@cindex barra, última en la partitura
-@cindex barra, última en una voz polifónica
+
+@seealso
+Archivos de inicio:
+@file{scm/beam-settings.scm}.
+
+Fragmentos de código:
+@rlsr{Rhythms}.
+
+Referencia de funcionamiento interno:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface}.
+
 
 @knownissues
 
@@ -1774,11 +1900,6 @@ absoluto.  Lo mismo sirve para las voces polifónicas, introducidas con
 mientras una barra automática está aún aceptando notas, no se imprime.
 
 
-@seealso
-Fragmentos de código:
-@rlsr{Rhythms}.
-
-
 @node Barras manuales
 @unnumberedsubsubsec Barras manuales
 @translationof Manual beams
@@ -1798,9 +1919,16 @@ especifican manualmente marcando los puntos de comienzo y final con
 @code{[} y @code{]}
 
 @lilypond[quote,relative=1,verbatim]
-{
-  r4 r8[ g' a r8] r8 g[ | a] r8
-}
+r4 r8[ g' a r8] r8 g[ | a] r8
+@end lilypond
+
+@cindex barras manuales, abreviatura de dirección
+
+La dirección de las barras se puede establecer manualmente utilizando
+indicadores de dirección:
+
+@lilypond[quote,relative=2,verbatim]
+c8^[ d e] c,_[ d e f g]
 @end lilypond
 
 @funindex \noBeam
@@ -1830,16 +1958,38 @@ a8[ r16 f g a]
 a8[ r16
 \set stemLeftBeamCount = #2
 \set stemRightBeamCount = #1
-f
+f16
 \set stemLeftBeamCount = #1
-g a]
+g16 a]
 @end lilypond
 
+
+@predefined
+@code{\noBeam}.
+@endpredefined
+
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {flat-flags-and-beam-nibs.ly}
 
+
+@seealso
+Referencia de la notación:
+@ref{Direction and placement}.
+
+Fragmentos de código:
+@rlsr{Rhythms}.
+
+Referencia de funcionamiento interno:
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{Beam_engraver},
+@rinternals{beam-interface},
+@rinternals{Stem_engraver}.
+
+
 @node Barras progresivas
 @unnumberedsubsubsec Barras progresivas
 @translationof Feathered beams
@@ -1892,18 +2042,23 @@ mientras que las últimas cuatro fusas están a un tempo constante.
 El espaciado en la salida impresa representa las duraciones de las
 notas de una forma sólo aproximada, pero la salida MIDI es exacta.
 
-@knownissues
-
-La instrucción @code{\featherDurations} sólo funciona con fragmentos
-musicales muy breves, y cuando los números de la fracción son
-pequeños.
 
+@predefined
+@code{\featherDurations}.
+@endpredefined
 
 @seealso
 Fragmentos de código:
 @rlsr{Rhythms}.
 
 
+@knownissues
+
+La instrucción @code{\featherDurations} sólo funciona con fragmentos
+musicales muy breves, y cuando los números de la fracción son
+pequeños.
+
+
 @node Barras de compás
 @subsection Barras de compás
 @translationof Bars
@@ -1965,6 +2120,7 @@ página.}
 También se permiten saltos de línea en las barras insertadas
 manualmente incluso dentro de compases incompletos.  Para permitir un
 salto de línea donde no hay ninguna línea divisoria visible, utilice
+lo siguiente:
 
 @example
 \bar ""
@@ -1981,33 +2137,54 @@ de línea, consulte @ref{Saltos de línea}.
 @cindex barras de compás manuales
 @cindex líneas divisorias manuales
 
-Este y otras líneas divisorias especiales se pueden insertar
+Esta y otras líneas divisorias especiales se pueden insertar
 manualmente en cualquier punto.  Cuando coinciden con el final de un
 compás, sustituyen a la línea divisoria simple que se habría insertado
 automáticamente en dicho lugar.  Cuando no coinciden con el final de
 un compás, se inserta la línea especificada en ese punto en la salida
-impresa.  Dichas inserciones no afectan al cálculo y colocación de las
-líneas divisorias automáticas subsiguientes.
+impresa.
+
+Observe que las líneas divisorias manuales son puramente visuales.  No
+afectan a ninguna de las propiedades que una barra normal afectaría,
+como a los números de compás, alteraciones, saltos de línea, etc.  No
+afectan tampoco al cálculo y colocación de las líneas divisorias
+subsiguientes.  Cuando una divisoria se coloca manualmente donde ya
+existe una divisoria normal, los efectos de la línea original no se
+alteran.
 
 Están disponibles para su inserción manual dos tipos de líneas
 divisorias simples y cinco tipos de doble barra:
 
 @lilypond[quote,relative=1,verbatim]
-f1 \bar "|" f \bar "." g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e
+f1 \bar "|"
+f1 \bar "."
+g1 \bar "||"
+a1 \bar ".|"
+b1 \bar ".|."
+c1 \bar "|.|"
+d1 \bar "|."
+e1
 @end lilypond
 
 @noindent
 así como la barra de puntos y la discontinua:
 
 @lilypond[quote,relative=1,verbatim]
-f1 \bar ":" g \bar "dashed" a
+f1 \bar ":"
+g1 \bar "dashed"
+a1
 @end lilypond
 
 @noindent
 y cinco tipos de barra de repetición:
 
 @lilypond[quote,relative=1,verbatim]
-f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d
+f1 \bar "|:"
+g1 \bar ":|:"
+a1 \bar ":|.|:"
+b1 \bar ":|.:"
+c1 \bar ":|"
+d1
 @end lilypond
 
 Además se puede imprimir una línea divisoria como una marca corta:
@@ -2019,7 +2196,8 @@ el canto gregoriano, es preferible en este caso utilizar
 @code{\divisioMinima}, que se describe en la sección @ref{Divisiones}
 dentro de Canto gregoriano.
 
-@cindex repeats
+
+@cindex repeticiones
 
 Aunque se pueden insertar manualmente barras de compás con significado
 de repeticiones, no se reconocen como repeticiones por parte de
@@ -2033,12 +2211,11 @@ final de la línea y una repetición izquierda (de comienzo) al
 principio de la línea siguiente.
 
 @lilypond[quote,relative=2,verbatim]
-\override Score.RehearsalMark #'padding = #3
-c c c c
+c4 c c c
 \bar "||:"
-c c c c \break
+c4 c c c \break
 \bar "||:"
-c c c c
+c4 c c c
 @end lilypond
 
 En las partituras con muchos pentagramas, una instrucción @code{\bar}
@@ -2046,13 +2223,13 @@ en uno de ellos se aplica automáticamente a todos los demás.  Las
 líneas resultantes se conectan entre los distintos pentagramas de un
 @code{StaffGroup}, @code{PianoStaff} o @code{GrandStaff}.
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,relative=1,verbatim]
 <<
   \new StaffGroup <<
     \new Staff {
-      e'4 d'
+      e4 d
       \bar "||"
-      f' e'
+      f4 e
     }
     \new Staff { \clef bass c4 g e g }
   >>
@@ -2060,6 +2237,7 @@ líneas resultantes se conectan entre los distintos pentagramas de un
 >>
 @end lilypond
 
+
 @cindex predeterminada, línea divisoria, cambiar
 @cindex línea divisoria predeterminada, cambiar
 
@@ -2078,8 +2256,7 @@ línea divisoria de ese tipo.
 
 El tipo de barra predeterminado que se usa para las líneas divisorias
 insertadas automáticamente es @code{"|"}.  Se puede cambiar en
-cualquier momento con @code{\set Timing.defaultBarType =
-}@var{bartype}.
+cualquier momento con @code{\set Timing.defaultBarType = }@var{bartype}.
 
 
 @seealso
@@ -2093,8 +2270,7 @@ Fragmentos de código:
 @rlsr{Rhythms}.
 
 Referencia de funcionamiento interno:
-
-@rinternals{BarLine} (creada al nivel de @rinternals{Staff} (pentagrama)),
+@rinternals{BarLine} (creada al nivel de @code{Staff} (pentagrama)),
 @rinternals{SpanBar} (a través de los pentagramas),
 @rinternals{Timing_translator} (para las propiedades del contador de tiempo Timing).
 
@@ -2114,7 +2290,7 @@ la propiedad @code{currentBarNumber}, que normalmente se actualiza
 automáticamente para cada compás.  También se puede establecer
 manualmente:
 
-@lilypond[verbatim,quote,fragment,relative=1]
+@lilypond[verbatim,quote,relative=1]
 c1 c c c
 \break
 \set Score.currentBarNumber = #50
@@ -2163,7 +2339,7 @@ c1 | c | c | c
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {printing-bar-numbers-inside-boxes-or-circles.ly}
 
-@cindex bar number alignment
+@cindex compás, número, alineación
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {aligning-bar-numbers.ly}
@@ -2177,7 +2353,9 @@ Fragmentos de código:
 @rlsr{Rhythms}.
 
 Referencia de funcionamiento interno:
-@rinternals{BarNumber}.
+@rinternals{BarNumber},
+@rinternals{Bar_number_engraver}.
+
 
 @cindex número de compás, colisión
 @cindex colisión del número de compás
@@ -2185,25 +2363,12 @@ Referencia de funcionamiento interno:
 @knownissues
 
 Los números de compás pueden colisionar con el corchete
-@rinternals{StaffGroup}, si hay uno en la parte de arriba.  Para
+@code{StaffGroup}, si hay uno en la parte de arriba.  Para
 solucionarlo, se puede usar la propiedad de relleno @code{padding} de
-@rinternals{BarNumber} para colocar el número correctamente.
-
-@c esto va a input/lsr/printing-the-bar-number-for-the-first-measure.ly
-@ignore
-Los números de compás solamente se pueden imprimir en las líneas
-divisorias; para imprimir un número de compás al principio de la
-pieza, se debe insertar allí una barra de compás vacía, y se debe
-poner un valor distinto a @code{1} en @code{currentBarNumber}:
+@code{BarNumber} para colocar el número correctamente.
+Consulte @rinternals{StaffGroup} y @rinternals{BarNumber}
+para ver más información.
 
-@lilypond[verbatim,quote,relative=1]
-\set Score.currentBarNumber = #50
-\bar ""
-c1 c c c
-c1 c c c
-\break
-@end lilypond
-@end ignore
 
 @node Comprobación de compás y de número de compás
 @unnumberedsubsubsec Comprobación de compás y de número de compás
@@ -2211,6 +2376,8 @@ c1 c c c
 
 @cindex compás, comprobación de
 @cindex número de compás, comprobación de
+@cindex compás, comprobación
+@cindex compás, número, comprobación
 
 @funindex barCheckSynchronize
 @funindex |
@@ -2229,12 +2396,12 @@ ejemplo, la segunda comprobación de compás avisará de un error
 @end example
 
 Las comprobaciones de compás también se pueden usar en la letra de las
-canciones, por ejemplo
+canciones:
 
 @example
 \lyricmode @{
   \time 2/4
-  Bri -- lla | Bri -- lla |
+  Bri -- lla, | bri -- lla, |
 @}
 @end example
 
@@ -2302,7 +2469,7 @@ Fragmentos de código:
 @funindex \mark
 @funindex mark
 
-Para imprimir una letra de ensayo, utilice la orden @code{\mark}
+Para imprimir una letra de ensayo, utilice la orden @code{\mark}.
 
 @lilypond[quote,verbatim,relative=2]
 c1 \mark \default
@@ -2377,9 +2544,9 @@ manual:
 @end example
 
 @noindent
-@code{Score.markFormatter} no afecta a las marcas que se especifican
-de esta forma.  Sin embargo, es posible aplicar un elemento
-@code{\markup} a la cadena.
+Observe que @code{Score.markFormatter} no afecta a las marcas que se
+especifican de esta forma.  Sin embargo, es posible aplicar un
+elemento @code{\markup} a la cadena.
 
 @example
 \mark \markup@{ \box A1 @}
@@ -2419,7 +2586,7 @@ Referencia de la notación:
 @ref{Formatear el texto}.
 
 Archivos de inicio: @file{scm/@/translation@/-functions@/.scm}
-contiene la definición de @code{format-mark-numbers} y de
+contiene las definiciones de @code{format-mark-numbers} y de
 @code{format-mark-letters}.  Se pueden usar como inspiración para
 escribir otras funciones de formateo.
 
@@ -2427,6 +2594,8 @@ Fragmentos de código:
 @rlsr{Rhythms}.
 
 Referencia de funcionamiento interno:
+@rinternals{MarkEvent},
+@rinternals{Mark_engraver},
 @rinternals{RehearsalMark}.
 
 
@@ -2480,12 +2649,12 @@ pentagramas.  En el siguiente ejemplo, hay dos semicorcheas de adorno
 por cada corchea de adorno:
 
 @lilypond[quote,relative=2,verbatim]
-<< \new Staff { e2 \grace { c16[ d e f] } e2 }
-   \new Staff { c2 \grace { g8[ b] } c2 } >>
+<<
+  \new Staff { e2 \grace { c16[ d e f] } e2 }
+  \new Staff { c2 \grace { g8[ b] } c2 }
+>>
 @end lilypond
 
-@funindex \afterGrace
-
 @cindex adorno, seguimiento de notas de
 
 @funindex \afterGrace
@@ -2527,8 +2696,10 @@ adorno después de un espacio que dura 7/8 de la nota principal.
 
 @lilypond[quote,verbatim,relative=2]
 \new Voice {
-  << { d1^\trill_( }
-     { s2 s4. \grace { c16[ d] } } >>
+  <<
+    { d1^\trill_( }
+    { s2 s4. \grace { c16[ d] } }
+  >>
   c1)
 }
 @end lilypond
@@ -2588,7 +2759,10 @@ Fragmentos de código:
 @rlsr{Rhythms}.
 
 Referencia de funcionamiento interno:
-@rinternals{GraceMusic}.
+@rinternals{GraceMusic},
+@rinternals{Grace_beam_engraver},
+@rinternals{Grace_engraver},
+@rinternals{Grace_spacing_engraver}.
 
 
 @knownissues
index e07aa679ac1e1408c0538e5962af10b02ca7d815..bc4750e0cdd0c55991da96151955b02d36ff4195 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -34,6 +34,7 @@ Esta sección trata de la notas simultáneas dentro de la misma voz.
 
 @menu
 * Notas en acorde::
+* Repetición de acordes::
 * Expresiones simultáneas::
 * Racimos (clusters)::
 @end menu
@@ -82,6 +83,41 @@ Fragmentos de código:
 @rlsr{Simultaneous notes}.
 
 
+@node Repetición de acordes
+@unnumberedsubsubsec Repetición de acordes
+@translationof Chord repetition
+
+Para reducir el tecleo, se puede usar una abreviatura de repetición
+del acorde anterior.  El símbolo de repetición de acordes es @code{q}:
+
+@lilypond[verbatim,quote,relative=1]
+<c e g> q q q
+@end lilypond
+
+Como en los acordes normales, el símbolo de repetición de acordes
+puede ir seguido de una duración y unas articulaciones.  Sólo se
+duplican las alturas del acorde anterior; las articulaciones, matices,
+etc., no se repiten.
+
+@lilypond[verbatim,quote,relative=1]
+<c e g>8\p q q4-| q8.^"text" q16 q4-|
+@end lilypond
+
+Las notas de los acordes (introducidos utilizando ángulos de apertura
+y cierre) sólo se memorizan para ser repetidos por parte de @code{q}:
+es posible repetir un acorde incluso si, por ejemplo, una sola nota
+(sin ángulos de apertura y cierre) o un silencio se han producido
+mientras tanto.
+
+@lilypond[verbatim,quote,relative=1]
+<c e g>8 c' q c r4 q
+@end lilypond
+
+@seealso
+Archivos de inicio:
+@file{ly/@/chord-repetition-init@/.ly}.
+
+
 @node Expresiones simultáneas
 @unnumberedsubsubsec Expresiones simultáneas
 @translationof Simultaneous expressions
@@ -217,6 +253,7 @@ siguiente:
 >>
 @end lilypond
 
+@noindent
 Aquí se crean explícitamente instancias de voces, cada una de las
 cuales recibe un nombre. Las instrucciones @code{\voiceOne}
 ... @code{\voiceFour} (voz uno hasta voz cuatro) preparan las voces de
@@ -239,6 +276,7 @@ siguiente:
 >> \oneVoice
 @end example
 
+@noindent
 Aquí, la primera expresión dentro de un pasaje polifónico temporal se
 coloca en el contexto @code{Voice} que estaba en uso inmediatamente
 antes del pasaje polifónico, y ese mismo contexto @code{Voice}
@@ -270,6 +308,7 @@ de la sección polifónica:
 >>
 @end lilypond
 
+@noindent
 Aquí, las instrucciones @code{\voiceOne} y @code{\voiceTwo} son
 necesarias para definir los ajustes de cada voz.
 
@@ -448,7 +487,10 @@ altura, la misma forma de cabeza, y dirección opuesta de la plica, se
 combinan automáticamente, pero las que tienen cabezas distintas o la
 misma dirección de la plica no se combinan.  Los silencios que se
 encuentran en el lado opuesto de una plica en otra voz se desplazan
-verticalmente.
+verticalmente.  El ejemplo siguiente muestra tres circunstancias
+distintas, sobre los pulsos 1 y 3 en el primer compás y sobre el pulso
+1 del segundo compás, donde la combinación automática falla.
+
 
 @lilypond[quote,verbatim,relative=2]
 <<
@@ -467,7 +509,8 @@ verticalmente.
 @end lilypond
 
 Las cabezas de notas diferentes se pueden combinar, con la excepción
-de blancas con negras:
+de blancas con negras, como se muestra más abajo.  Aquí las cabezas
+del pulso 1 del primer compás sí se combinan:
 
 @lilypond[quote,verbatim,relative=2]
 <<
@@ -486,7 +529,8 @@ de blancas con negras:
 >>
 @end lilypond
 
-Se pueden combinar cabezas con puntillos diferentes:
+También se pueden combinar cabezas con puntillos diferentes, como se
+muestra en el pulso 2 del primer compás:
 
 @lilypond[quote,relative=2,verbatim]
 <<
@@ -507,15 +551,14 @@ Se pueden combinar cabezas con puntillos diferentes:
 @end lilypond
 
 La blanca y la corchea en el comienzo del segundo compás no están
-correctamente combinadas porque @code{\mergeDifferentlyHeadedOn} no es
-capaz de completar satisfactoriamente la combinación cuando se
-encuentran tres o más notas alineadas en la misma columna, y en este
-caso se obtiene una advertencia.  Para conseguir que la combinación
-funcione adecuadamente, se debe aplicar un @code{\shift} o
-desplazamiento a la nota que no se debe combinar.  Aquí, se aplica
-@code{\shiftOn} para mover el sol agudo fuera de la columna, y
-entonces @code{\mergeDifferentlyHeadedOn} hace su trabajo
-correctamente.
+correctamente combinadas porque la combinación automática no es capaz
+de completarse satisfactoriamente cuando se encuentran tres o más
+notas alineadas en la misma columna de notas, y en este caso la cabeza
+combinada es incorrecta.  Para conseguir que la combinación seleccione
+la cabeza correcta, se debe aplicar un @code{\shift} o desplazamiento
+a la nota que no se debe combinar.  Aquí, se aplica @code{\shiftOn}
+para mover el sol agudo fuera de la columna, y entonces
+@code{\mergeDifferentlyHeadedOn} hace su trabajo correctamente.
 
 @lilypond[quote,relative=2,verbatim]
 <<
@@ -546,7 +589,9 @@ desactivado), mientras que las voces interiores (tres y cuatro) tienen
 @code{\shiftOnnn} definen niveles de desplazamiento más grandes.
 
 Sólo se combinan las notas si tienen la plica en direcciones opuestas
-(por ejemplo, en las @code{Voice}s 1 y 2).
+(como la tienen, por ejemplo, en las voces uno y dos de forma
+predeterminada o cuando las plicas se establecen explícitamente en
+direcciones opuestas).
 
 
 @predefined
@@ -578,7 +623,7 @@ Glosario musical:
 Manual de aprendizaje:
 @rlearning{Varias notas a la vez},
 @rlearning{Las voces contienen música},
-@rlearning{Colisiones de objetos}.
+@rlearning{Ejemplos reales de música}.
 
 Fragmentos de código:
 @rlsr{Simultaneous notes}.
index 410148292ce7ebbcf9646154b27502cda4eb4307..df9b180d59bdb5f197e46244a27af152ed45c210 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -146,6 +146,11 @@ Los márgenes, encabezamientos y pies de página y otras variables de
 diseño de página se establecen automáticamente de acuerdo con el
 tamaño del papel.
 
+El valor predeterminado de los márgenes está accesible en el archivo
+@file{ly/@/paper@/-defaults@/-init@/.ly}.  Estos valores se aplican al
+tamaño predeterminado del papel (A4, a no ser que se especifique de
+otra forma) y se escalan adecuadamente para otros tamaños del papel.
+
 Esta sección relaciona y describe cierto número de variables del papel
 que se pueden alterar.
 
@@ -167,69 +172,99 @@ verticales de la página:
 
 @table @code
 
-@item after-title-space
-@funindex after-title-space
-
-Espacio entre el título y el primer sistema.
-Predeterminado: @code{5\mm}.
-
-@item before-title-space
-@funindex before-title-space
+@item after-title-spacing
+@funindex after-title-spacing
+
+Especifica cómo calcular el espacio entre un título (o un elemento de
+marcado del nivel superior) y el sistema que le sigue.  Es una lista
+asociativa con cinco componentes:
+@itemize @bullet
+@item @var{space}:
+cantidad de espacio que puede ensancharse entre la línea base de un
+título y el centro del pentagrama que le sigue;
+@item @var{padding}:
+cantidad mínima de espacio vacío que se debe dejar entre un título y
+el pentagrama que le sigue;
+@item @var{stretchability}:
+facilidad con que el espacio ensanchable aumenta cuando se estira una
+página.  Si es cero, la distancia al pentagrama siguiente no se
+ensancha en absoluto;
+@item @var{minimum-distance}:
+distancia mínima que poner entre la línea de base de un título y el
+centro del pentagrama que le sigue. Se diferencia de @var{padding} en
+que la altura de un pentagrama no tiene ningún efecto sobre la
+aplicación de @var{minimum-distance} (mientras que la altura del
+pentagrama es crucial para @var{padding}).
+@end itemize
 
-Distancia entre el último sistema de la pieza anterior y el título de
-la siguiente.  Predeterminado: @code{10\mm}.
+Si una página tiene la parte de abajo no ajustada, @var{space} no se
+ensancha.  Concretamente, la distancia que resulta sobre esta página
+es la mayor de
+@itemize @bullet
+@item @var{space},
+@item @var{minimum-distance}, y
+@item @var{padding} más la menor distancia necesaria para eliminar la superposición.
+@end itemize
 
-@item between-system-padding
-@funindex between-system-padding
+@item before-title-spacing
+@funindex before-title-spacing
 
-Distancia mínima que se deja siempre entre el símbolo más bajo de un
-sistema y el más alto del siguiente.  Predeterminado: @code{4\mm}.
+Especifica el espacio entre un sistema y el título (o elemento de
+marcado del nivel superior) que le sigue.  Las distancias se miden a
+partir del centro del último pentagrama del sistema hasta la línea de
+base del título que le sigue.  Véase @var{after-title-spacing}.
 
-El aumento de este valor separa más los sistemas cuyas cajas
-circundantes casi se tocan.
+@item between-scores-system-spacing
+@funindex between-scores-system-spacing
 
-@item between-system-space
-@funindex between-system-space
+Especifica el espacio entre dos sistemas si están en diferentes
+partituras, pero no hay ningún título entre ellas. Véase
+@var{after-title-spacing}.
 
-Distancia entre los sistemas.  Es la distancia ideal desde el centro
-del pentagrama inferior de un sistema hasta el centro del pentagrama
-superior del sistema siguiente.  Predeterminado: @code{20\mm}.
+@item between-system-spacing
+@funindex between-system-spacing
 
-El aumento de este valor da a la página un aspecto más regular a costa
-de utilizar más espacio vertical.
+Especifica el espacio entre el centro del pentagrama inferior de un
+sistema y el centro del pentagrama superior del sistema siguiente.
+Véase @var{after-title-spacing}.
 
-@item between-title-space
-@funindex between-title-space
+@item between-title-spacing
+@funindex between-title-spacing
 
-Distancia entre títulos consecutivos (p.ej., el título del libro y el
-título de una pieza).  Predeterminado: @code{2\mm}.
+Especifica el espacio entre dos títulos (o elementos de marcado del
+nivel superior).  Las distancias se miden a partir de la línea de base
+de del primer título hasta la línea de base del segundo.  Véase
+@var{after-title-spacing}.
 
 @item bottom-margin
 @funindex bottom-margin
 
-Margen entre el pie de página y la parte inferior del papel.
-Predeterminado: @code{6\mm}.
+Margen entre el pie y el final de la página.  Valor predeterminado:
+@code{6\mm}.
 
-@item foot-separation
-@funindex foot-separation
+@item bottom-system-spacing
+@funindex bottom-system-spacing
 
-Distancia entre el sistema situado más abajo y el pie de página.
-Predeterminado: @code{4\mm}.
+Especifica el espacio desde el centro del último pentagrama (o la
+línea de base del último elemento de marcado del nivel superior) hasta
+el final del área imprimible (es decir, el límite superior del margen
+inferior).  Véase @var{after-title-spacing}.
 
-@item head-separation
-@funindex head-separation
+@item top-title-spacing
+@funindex top-title-spacing
 
-Distancia entre el sistema situado más arriba y el encabezamiento de
-la página.  Predeterminado: @code{4\mm}.
+Especifica el espacio desde el principio del área imprimible (es
+decir, el límite inferior del margen superior) hasta la línea de base
+del título.  Véase @var{after-title-spacing}.
 
-@item page-top-space
-@funindex page-top-space
+@item top-system-spacing
+@funindex top-system-spacing
 
-Distancia desde la parte alta del área imprimible hasta el centro del
-primer pentagrama.  Esto sólo funciona para pentagramas con una
-anchura vertical pequeña.  Los pentagramas grandes se establecen con
-la parte alta de su caja circundante alineada a la parte alta del área
-imprimible.  Predeterminado: @code{12\mm}.
+Especifica el espacio desde el principio del área imprimible (es
+decir, el límite inferior del margen superior) hasta el centro del
+primer pentagrama.  Sólo tiene efecto si no hay ningún título al
+principio de la página (en cuyo caso se utiliza en su lugar
+@var{top-title-spacing}).  Véase @var{after-title-spacing}.
 
 @item paper-height
 @funindex paper-height
@@ -275,7 +310,7 @@ Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
 Ejemplo:
 
 @example
-\paper@{
+\paper @{
   paper-width = 2\cm
   top-margin = 3\cm
   bottom-margin = 3\cm
@@ -301,6 +336,29 @@ papel.
 @}
 @end example
 
+También podemos definir estos valores en Scheme.  En tal caso,
+@code{mm}, @code{in}, @code{pt} y @code{cm} son variables definidas en
+@file{paper@/-defaults@/-init@/.ly} con valores en milímetros.  Es la
+razón por la que el valor se debe multiplicar en el ejemplo
+
+@example
+\paper @{
+  #(define bottom-margin (* 2 cm))
+@}
+@end example
+
+El encabezamiento y el pie se crean por parte de las funciones
+@code{make-footer} y @code{make-header}, definidas en @code{\paper}.
+Las implementaciones predeterminadas están en
+@file{ly/@/paper@/-defaults@/-init@/.ly} y en
+@file{ly/@/titling@/-init@/.ly}.
+
+La propia disposición de la página se realiza por parte de dos
+funciones del bloque @code{\paper}, @code{page-music-height} y
+@code{page-make-stencil}.  La primera dice al algoritmo de saltos de
+línea cuánto espacio se puede emplear en la página, y la segunda crea
+la página en sí dado el sistema que poner en ella.
+
 
 @seealso
 Referencia de la notación:
@@ -314,15 +372,19 @@ Fragmentos de código:
 @unnumberedsubsubsec Dimensiones horizontales
 @translationof Horizontal dimensions
 
-@warning{Si se establece @code{paper-width} manualmente,
-@code{line-width}, @code{left-margin}, @code{indent} y
-@code{short-indent} pueden necesitar ajustarse también.}
 
 Existe un cierto número de variables que determinan las dimensiones
 horizontales de una página:
 
 @table @code
 
+@item binding-offset
+@funindex binding-offset
+
+Se aumenta la cantidad @code{inner-margin} para asegurar que el
+encuadernado no va a tapar nada.  Sólo funciona con @code{two-sided}
+establecido al valor verdadero.  Valor predeterminado: @code{0}.
+
 @item horizontal-shift
 @funindex horizontal-shift
 
@@ -333,24 +395,34 @@ Predeterminado: @code{0.0}.
 @item indent
 @funindex indent
 
-Nivel de sangrado para el primer sistema de una partitura.
-Predeterminado: @code{paper-width} dividido por @code{14}, tal y como
-viene determinado por @code{set-default-paper-size} o
-@code{set-paper-size}.
+Nivel de sangrado para el primer sistema de una partitura.  Valor
+predeterminado: @code{15\mm}.
+
+@item inner-margin
+@funindex inner-margin
+
+Margen que tienen todas las páginas en el lado interior si son parte
+de un libro.  Sólo funciona con @code{two-sided} establecido al valor
+verdadero.  Valor predeterminado: @code{10\mm}.
 
 @item left-margin
 @funindex left-margin
 
 El margen entre el límite izquierdo del papel y el comienzo de los
-sistemas.  Predeterminado: @code{10\mm}, tal y como se define por
-parte de @code{set-default-paper-size} o de @code{set-paper-size}.
+sistemas.  Predeterminado: @code{10\mm}.
 
 @item line-width
 @funindex line-width
 
 Ancho de los sistemas.  Predeterminado: @code{paper-width} menos
-@code{20\mm}, como viene determinado por @code{set-default-paper-size}
-o por @code{set-paper-size}.
+@code{left-margin} y @code{right-margin}.
+
+@item outer-margin
+@funindex outer-margin
+
+Margen que todas las páginas tienen en la parte exterior si son parte
+de un libro.  Sólo funciona con @code{two-sided} establecido al valor
+verdadero.  Valor predeterminado: @code{20\mm}.
 
 @item paper-width
 @funindex paper-width
@@ -358,27 +430,95 @@ o por @code{set-paper-size}.
 Ancho de la página.  Predeterminado: la anchura del tamaño actual del
 papel.  Para ver más detalles, consulte @ref{Tamaño del papel}.
 
+@item right-margin
+@funindex right-margin
+
+Margen entre el borde derecho de la página y el final de cada sistema.
+Valor predeterminado: @code{10\mm}.
+
 @item short-indent
 @funindex short-indent
 
 Nivel de sangrado para todos los sistemas de una partitura excepto el
-primero.  Predeterminado: @code{0}, como se determina en
-@code{set-default-paper-size} o en @code{set-paper-size}.
+primero.  Predeterminado: @code{0}.
 
 @end table
 
+Si hay valores sin ajustar, se toman los predeterminados.  Se ajusta
+su valor exacto, dependiendo del tamaño de papel especificado.  Por el
+momento, los siguientes valores se ven afectados por este escalado:
+
+@itemize
+@item @var{left-margin}
+@item @var{right-margin}
+@item @var{top-margin}
+@item @var{bottom-margin}
+@item @var{head-separation}
+@item @var{foot-separation}
+@item @var{indent}
+@item @var{short-indent}
+@end itemize
+
+Los ajustes para @code{line-width}, @code{left-margin},
+@code{right-margin} y @code{paper-width} dependen entre sí, pero no
+tienen que especificarse completamente.
+
+@example
+\paper @{
+  left-margin = 30\mm
+@}
+@end example
+
+En este ejemplo, sólo se establece un valor para @code{left-margin}.
+El valor de @code{right-margin} sigue siendo el predeterminado,
+@code{line-width} se calcula automáticamente.
+
+@example
+\paper @{
+  line-width = 150\mm
+@}
+@end example
+
+Aquí @code{left-margin} y @code{right-margin} se ajustan al mismo
+valor.  Por tanto, @code{line-width} se sustrae de @code{paper-width}
+y se divide entre dos.  Esto significa que los sistemas se imprimen
+centrados en la página, si sólo se especifica @code{line-width}.
+
+Tienen lugar algunas comprobaciones para asegurar que los valores se
+establecen correctamente.  Si los valores no encajasen o los sistemas
+se fueran a salir de la página, se imprime una advertencia y se
+establecen los valores predeterminados.
+
+@example
+\paper @{
+  paper-width = 210\mm
+  left-margin = 20\mm
+  right-margin = 30\mm
+  line-width = 100\mm
+@}
+@end example
+
+Estas comprobaciones se pueden evitar estableciendo
+@code{check-consistency} al valor falso.
+
+@example
+\paper @{
+  paper-width = 210\mm
+  left-margin = 20\mm
+  line-width = 200\mm
+  check-consistency = ##f
+@}
+@end example
+
+@warning{Si @code{paper-width} se ajusta manualmente,
+@code{line-width}, @code{left-margin}, @code{indent} y
+@code{short-indent} podrían tener que ajustarse también.}
 
 @seealso
 Fragmentos de código:
 @rlsr{Spacing}.
 
 
-@knownissues
-
-La opción @code{right-margin} está definida pero no establece aún el
-margen derecho.  El valor del margen derecho se debe definir ajustando
-los valores de @code{left-margin} y de @code{line-width}.
-
 
 @node Otras variables de diseño de página
 @unnumberedsubsubsec Otras variables de diseño de página
@@ -423,6 +563,14 @@ Esto no se usa por parte de @code{ly:optimal-breaking} porque éste
 nunca considera la posibilidad de tener páginas en blanco en mitad de
 una partitura.  Predeterminado: @code{5}.
 
+@item check-consistency
+@funindex check-consistency
+
+Si es verdadero, comprobar si @code{left-margin}, @code{right-margin}
+y @code{line-width} encajan entre sí.  También asegurar que su
+combinación no excede del @code{paper-width} disponible.  Valor
+predeterminado: @code{##t}.
+
 @item first-page-number
 @funindex first-page-number
 
@@ -573,6 +721,15 @@ contemplado solamente por parte del algoritmo
 @code{ly:optimal-breaking} por el momento.  Predeterminado: no
 establecido.
 
+@item two-sided
+@funindex two-sided
+
+Si es verdadero, usar @code{inner-margin}, @code{outer-margin} y
+@code{binding-offset} para determinad los márgenes dependiendo de si
+el número de página es par o impar.  Esto sobreescribe a
+@code{left-margin} y a @code{right-margin}.  Valor predeterminado:
+@code{##f}.
+
 @end table
 
 
@@ -813,8 +970,8 @@ ragged-last = ##t
 
 
 
-@cindex regular line breaks
-@cindex four bar music.
+@cindex saltos de línea normales
+@cindex música de cuatro compases por línea
 
 Para saltos de línea a intervalos regulares utilice @code{\break}
 separado mediante desplazamientos con @code{\skip} y repetidos con
@@ -1273,7 +1430,6 @@ pentagramas dentro de un sistema.
 * Espaciado vertical dentro de un sistema::
 * Espaciado vertical entre sistemas::
 * Posicionamiento explícito de los pentagramas y los sistemas::
-* Espaciado vertical en dos fases::
 * Evitar las colisiones verticales::
 @end menu
 
@@ -1287,108 +1443,188 @@ pentagramas dentro de un sistema.
 @cindex espacio entre pentagramas
 @cindex espacio dentro de los sistemas
 
-La altura de cada sistema se determina automáticamente.  Para evitar
-que los pentagramas se superpongan unos encima de otros, se establecen
-algunas distancias mínimas.  Al modificarlas, podemos poner los
-pentagramas más cerca unos de otros.  Esto reduce el espacio que
-requiere cada sistema y puede resultar en la obtención de más sistemas
-por página.
-
-Normalmente los pentagramas se apilan verticalmente.  Para hacer que
-los pentagramas guarden una distancia, se rellena su tamaño vertical.
-Esto se hace con la propiedad @code{minimum-Y-extent}.  Si se aplica a
-@rinternals{VerticalAxisGroup}, controla el tamaño de una línea
-horizontal, como un pentagrama o una línea de letra.
-@code{minimum-Y-extent} acepta una pareja de números, de forma que si
-queremos hacerlo más pequeño que su valor predeterminado @code{#'(-4
-. 4)} entonces podemos establecer
+La altura de cada sistema se determina en dos fases.  Primero, todos
+los pentagramas se disponen según la cantidad de espacio vacío
+disponible.  Después, las líneas que no son pautas (p.ej. la letra o
+los nombres de acorde) se distribuyen entre las pautas.
 
-@example
-\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
-@end example
+@unnumberedsubsubsec Espaciado entre los pentagramas
+El espaciado entre los pentagramas se controla mediante la propiedad
+@var{next-staff-spacing} del grob @var{VerticalAxisGroup}.  Esta
+propiedad es una lista-A de cuatro elementos: @var{space},
+@var{minimum-distance}, @var{padding} y @var{stretchability}:
+@itemize
+@item
+@var{space} es el tamaño del espacio ensanchable entre la línea media
+de un pentagrama hasta la línea media del pentagrama siguiente.
 
-@noindent
-Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de
-pentagrama a cada lado de la tercera línea.  El valor @code{(-3 . 3)}
-se interpreta como un intervalo, donde la línea central es el 0, por
-lo que el primer número es negativo en general.  Los números no tienen
-que coincidir; por ejemplo, el pentagrama se puede hacer mayor por
-debajo dándole el valor @code{(-6 . 4)}.
+@item
+@var{minimum-distance} proporciona un límite inferior sobre la
+distancia final entre la línea central de un pentagrama hasta la línea
+central del pentagrama siguiente.  Esto es, si una página tiene muchos
+sistemas y necesita comprimirse, la distancia desde este pentagrama
+hasta el siguiente nunca se comprimirá a menos de
+@var{minimum-distance}.
 
-@ignore
-FIXME: update this section
-
-Después de que se han determinado los saltos de página, se reevalúa el
-espaciado vertical dentro de cada sistema para llenar la página de
-forma más regular; si una página tiene más espacio de sobra, se
-amplían los sistemas para poder llenar este espacio.  La magnitud de
-esta ampliación se puede configurar a través de la propiedad
-@code{max-stretch} del grob @rinternals{VerticalAlignment}. De forma
-predeterminada, @code{max-stretch} se establece a cero, inhabilitando
-la ampliación. Para habilitar la ampliación, un valor prudente para
-@code{max-stretch} es @code{ly:align-interface::calc-max-stretch}.
-
-En ciertas situaciones, podemos querer ampliar la mayor parte de un
-sistema y al mismo tiempo dejar algunas partes fijas.  Por ejemplo, si
-una parte de piano aparece en el medio de una partitura orquestal,
-podemos querer dejar los pentagramas de piano cercanos entre sí
-mientras se estira el resto de la partitura.  Se puede usar la
-propiedad @code{keep-fixed-while-stretching} de
-@rinternals{VerticalAxisGroup} para conseguirlo.  Cuando se establece
-al valor @code{##t}, esta propiedad evita que su pentagrama (o línea
-de letra) se desplace en relación al que está directamente encima de
-él.  En el ejemplo anterior, podríamos sobreescribir
-@code{keep-fixed-while-stretching} al valor @code{##t} en el segundo
-pentagrama del piano:
+@item
+@var{padding} es la cantidad de espacio vacío que debe estar presente
+entre el final de un pentagrama y el principio del siguiente.  Se
+diferencia de @var{minimum-distance} en que el efecto de @var{padding}
+depende de la altura de los objetos que están sobre el pentagrama.
+Por ejemplo, es más probable que @var{padding} entre en efecto para
+pentagramas que tienen notas muy agudas por encima de la pauta.
+
+@item
+@var{stretchability} controla la propensión del espacio ensanchable a
+ampliarse cuando lo hace el sistema.  Los valores grandes producen que
+un sistema se amplíe más, mientras que un valor de cero evita que el
+espacio se amplíe en absoluto.  Si se deja sin establecer, el valor
+predeterminado de @var{stretchability} será @code{space -
+minimum-distance}.
+@end itemize
 
 @lilypond[verbatim]
-#(set-default-paper-size "a6")
-#(set-global-staff-size 14.0)
+#(set-global-staff-size 16)
+\new StaffGroup <<
+  % Since space is small and there is no minimum-distance, the distance
+  % between this staff and the next will be determined by padding.
+  \new Staff \with {
+    \override VerticalAxisGroup #'next-staff-spacing =
+      #'((space . 1) (padding . 1))
+  }
+  { \clef bass c, }
+  % Since space is small and nothing sticks out very far, the distance
+  % between this staff and the next will be determined by minimum-distance.
+  \new Staff \with {
+    \override VerticalAxisGroup #'next-staff-spacing =
+      #'((space . 1) (minimum-distance . 12))
+  }
+  { \clef bass c, }
+  % By setting padding to a negative value, staves can be made to collide.
+  \new Staff \with {
+    \override VerticalAxisGroup #'next-staff-spacing =
+      #'((space . 4) (padding . -10))
+  }
+  { \clef bass c, }
+  \new Staff { \clef bass c, }
+>>
+@end lilypond
 
-\book {
-\paper {
-  ragged-last-bottom = ##f
-}
 
-\new Score \with
-{
-  \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
-}
-{
-\new GrandStaff
-<<
-  \new StaffGroup
-  <<
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
-  >>
+En partituras grandes como las orquestales, es común colocar los
+pentagramas en grupos.  El espacio entre los grupos suele ser mayor
+que el espacio que hay entre los pentagramas dentro del mismo grupo.
+Este espacio se puede manipular con el grob @var{StaffGrouper}: el
+valor predeterminado de @var{next-staff-spacing} para
+@var{VerticalAxisGroup} es una función de @q{callback} que opera por
+el procedimiento de buscar un grob @var{StaffGrouper} que contenga al
+pentagrama.  Si encuentra un grob @var{StaffGrouper} y el pentagrama
+en cuestión está en mitad de un grupo, lee la propiedad
+@var{between-staff-spacing} de @var{StaffGrouper} y la devuelve.  Si
+el pentagrama en cuestión es el último de un grupo, la función de
+@q{callback} lee la propiedad @var{after-last-staff-spacing} de
+@var{StaffGrouper} y la devuelve.  Si no encuentra un grob
+@var{StaffGrouper}, lee @var{default-next-staff-spacing} a partir de
+su @var{VerticalAxisGroup} y lo devuelve.
 
-  \new PianoStaff
+@lilypond[verbatim]
+#(set-global-staff-size 16)
+<<
+  \new PianoStaff \with {
+    \override StaffGrouper #'between-staff-spacing #'space = #1
+    \override StaffGrouper #'between-staff-spacing #'padding = #0
+    \override StaffGrouper #'after-last-staff-spacing #'space = #20
+  }
   <<
-    \new Staff {c' d' e' f'}
-    \new Staff \with {
-      \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
-    }
-    {c' d' e' f'}
+    \new Staff c'1
+    \new Staff c'1
   >>
 
-  \new StaffGroup
+  \new StaffGroup \with {
+    \override StaffGrouper #'between-staff-spacing #'space = #1
+    \override StaffGrouper #'between-staff-spacing #'padding = #0
+  }
   <<
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
+    \new Staff c'1
+    \new Staff c'1
   >>
 >>
-}
-}
 @end lilypond
-@end ignore
 
-La alineación vertical de los pentagramas está manejada por el objeto
-@code{VerticalAlignment}.  Los parámetros de contexto que especifican
-las dimensiones verticales están descritas en conexión con el grabador
-@code{Axis_group_engraver}.
 
+@unnumberedsubsubsec Espaciado de las líneas que no son pautas
+
+Después de que se han determinado las posiciones de los pentagramas,
+se distribuyen las líneas que no son pautas entre los pentagramas.
+Cada una de esas líneas tiene una propiedad @var{staff-affinity} que
+controla su alineamiento vertical.  Por ejemplo:
+
+@example
+\new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #DOWN @}
+@end example
+
+@noindent
+crea un contexto de letra que se situará junto al pentagrama que tiene
+por debajo.  El establecimiento de @var{staff-affinity} a algo que no
+sea un número (@code{#f}, por ejemplo) hace que la línea se trate como
+si fuera una pauta.  De forma recíproca, el establecimiento de
+@var{staff-affinity} para un pentagrama hace que se le trate como si
+no fuera una pauta.
+
+Las líneas que no son pautas admiten tres propiedades para controlar
+su espaciado.  Cada una de estas propiedades es una lista-A del mismo
+formato que @var{next-staff-spacing}, véase más arriba.
+@itemize
+@item
+Si la línea más cercana en la dirección de @var{staff-affinity} es una
+pauta, entonces @var{inter-staff-spacing} da el espacio entre la línea
+que no es una pauta y la pauta.  Si @var{staff-affinity} es
+@code{CENTER}, entonces se usa @var{inter-staff-spacing} para las dos
+direcciones.
+
+@item
+Si línea más cercana en la dirección de @var{staff-affinity} no es una
+pauta, entonces @var{inter-loose-line-spacing} da el espaciado entre
+las dos líneas que no son pautas.
+
+@item
+Si la línea más cercana en la dirección opuesta a @var{staff-affinity}
+es una pauta, entonces @var{non-affinity-spacing} da el espacio entre
+la línea que no es una pauta y la pauta.  esto se puede usar, por
+ejemplo, para requerir una cantidad de relleno mínima entre una línea
+de letra y el pentagrama a que no pertenece.
+@end itemize
+
+@lilypond[verbatim]
+#(set-global-staff-size 16)
+\layout {
+  \context {
+    \Lyrics
+    % By default, Lyrics are placed close together. Here, we allow them to
+    % be stretched more widely.
+    \override VerticalAxisGroup
+      #'inter-loose-line-spacing #'stretchability = #1000
+  }
+}
+
+\new StaffGroup
+<<
+  \new Staff \with {
+    \override VerticalAxisGroup #'next-staff-spacing = #'((space . 30)) }
+    { c'1 }
+  \new Lyrics \with {
+    \override VerticalAxisGroup #'staff-affinity = #UP }
+    \lyricmode { up }
+  \new Lyrics \with {
+    \override VerticalAxisGroup #'staff-affinity = #CENTER }
+    \lyricmode { center }
+  \new Lyrics \with {
+    \override VerticalAxisGroup #'staff-affinity = #DOWN }
+    \lyricmode { down }
+  \new Staff
+    { c'1 }
+>>
+@end lilypond
 
 @seealso
 Fragmentos de código:
@@ -1398,65 +1634,57 @@ Fragmentos de código:
 @c @lsr{spacing,alignment-vertical-spacing.ly}.
 
 Referencia de funcionamiento interno:
+@rinternals{VerticalAxisGroup},
 @rinternals{VerticalAlignment},
 @rinternals{Axis_group_engraver}.
 
-
-@node Espaciado vertical entre sistemas
-@subsection Espaciado vertical entre sistemas
-@translationof Vertical spacing between systems
-
-La separación entre los sistemas está controlada por cuatro variables
-del papel:
-
+@knownissues
+Las líneas adyacentes que no son pentagramas debieran tener valores de
+@var{staff-affinity} no crecientes desde arriba hasta abajo.  Por
+ejemplo, el comportamiento de
 @example
-\paper @{
-  between-system-space = 1.5\cm
-  between-system-padding = #1
-  ragged-bottom=##f
-  ragged-last-bottom=##f
-@}
+<<
+  \new Staff c
+  \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #DOWN @}
+  \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #UP @}
+  \new Staff c
+>>
 @end example
+es indeterminado.
 
-Cuando sólo se ponen dos simples sistemas en una página, el espaciado
-vertical resultante puede ser bastante poco elegante: un sistema en la
-parte alta de la página y el otro en la parte baja, con un enorme
-hueco entre ellos.  Para evitar esta situación se puede limitar el
-espacio que se añade entre los sistemas.  Esta posibilidad se activa
-mediante el establecimiento al valor @code{#t} de la variable
-@code{page-limit-inter-system-space} en el bloque @code{\paper}.  La
-variable del papel @code{page-limit-inter-system-space-factor}
-determina en qué cantidad se puede incrementar el espacio: por
-ejemplo, el valor @code{1.3} significa que el espacio puede ser un
-30% mayor que lo que sería en una página no justificada hasta abajo.
-
-En el ejemplo siguiente, si el espacio entre los sistemas no estuviese
-limitado, el segundo sistema de la página 1 se situaría en la parte de
-abajo de la página.  Activando la limitación de espacio, el segundo
-sistema se coloca más cerca del primero.  Estableciendo
-@code{page-limit-inter-system-space-factor} a @code{1}, el espacio
-sería el mismo que en una página sin justificar por abajo, como la
-última página.
+Una línea que no es una pauta, al final de un sistema, debiera tener
+establecido @var{staff-affinity} al valor @code{UP}.  De forma
+similar, una línea que no es una pauta al principio de un sistema
+debiera tener @var{staff-affinity} establecido al valor @code{DOWN}.
 
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-\book {
-  \paper {
-    page-limit-inter-system-space = ##t
-    page-limit-inter-system-space-factor = 1.3
-
-    oddFooterMarkup = \markup "page bottom"
-    evenFooterMarkup = \markup "page bottom"
-    oddHeaderMarkup = \markup \fill-line {
-      "page top" \fromproperty #'page:page-number-string }
-    evenHeaderMarkup = \markup \fill-line {
-      "page top" \fromproperty #'page:page-number-string }
-  }
-  \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
-                { s1*2 \pageBreak } >>
-}
-@end lilypond
+@node Espaciado vertical entre sistemas
+@subsection Espaciado vertical entre sistemas
+@translationof Vertical spacing between systems
 
+Los mecanismos que controlan el espaciado entre sistemas son similares
+a los que controlan el espaciado dentro de un sistema (véase
+@ref{Espaciado vertical dentro de un sistema}).  La diferencia
+principal es que las variables para controlar el espaciado entre
+sistemas se establece dentro del bloque @code{\paper} en lugar de
+hacerlo como propiedades de grob.  Estas variables del bloque paper
+son @var{between-system-spacing}, @var{between-scores-system-spacing},
+@var{after-title-spacing}, @var{before-title-spacing},
+@var{between-title-spacing}, @var{top-system-spacing},
+@var{top-system-spacing}, @var{top-title-spacing} y
+@var{bottom-system-spacing}.  Observe que estas variables ignoran las
+líneas que nos son pautas.  Por ejemplo, @var{between-system-spacing}
+controla el espaciado desde la línea media del pentagrama inferior de
+un sistema hasta la línea del pentagrama superior del sistema
+siguiente, tanto si hay letra debajo del sistema superior como si no.
+Consulte @ref{Dimensiones verticales} para ver una descripción de cada
+una de dichas variables.
+
+Aún hay otras dos variables del bloque @code{\paper} que afectan al
+espaciado vertical: si @var{ragged-bottom} está ajustado a @code{##t},
+ninguna página se amplía (lo que significa que no se ampliará ni el
+espacio entre sistemas ni el espacio dentro de los sistemas).  Si el
+valor de @var{ragged-last-bottom} se ajusta a @code{##t} entonces la
+última página no se amplía.
 
 @seealso
 Fragmentos de código:
@@ -1481,14 +1709,12 @@ vertical, @code{NonMusicalPaperColumn #'line-break-system-details}
 especifica las posiciones verticales exactas en la página.
 
 @code{NonMusicalPaperColumn #'line-break-system-details} acepta una
-lista asociativa de cinco ajustes distintos:
+lista asociativa de tres ajustes distintos:
 
 @itemize
 @item @code{X-offset}
 @item @code{Y-offset}
-@item @code{alignment-offsets}
-@item @code{alignment-extra-space}
-@item @code{fixed-alignment-extra-space}
+@item @code{alignment-distances}
 @end itemize
 
 Las sobreescrituras de los objetos gráficos, entre ellas las de
@@ -1520,11 +1746,11 @@ instrucción especial @code{\overrideProperty}:
   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
 
 \overrideProperty NonMusicalPaperColumn
-  #'line-break-system-details #'((alignment-offsets . (0 -15)))
+  #'line-break-system-details #'((alignment-distances . (15)))
 
 \overrideProperty NonMusicalPaperColumn
   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
-                                 (alignment-offsets . (0 -15)))
+                                 (alignment-distances . (15)))
 @end example
 
 Para entender cómo funciona cada uno de los distintos ajustes,
@@ -1603,9 +1829,10 @@ fijamos un valor.  Observe también que aquí la propiedad
 en la que se trazará cada uno de los nuevos sistemas.
 
 Ahora que hemos establecido explícitamente el punto de origen vertical
-de cada sistema, podemos también establecer manualmente el punto de
-origen vertical de cada pentagrama dentro de cada sistema.  Lo hacemos
-usando la subpropiedad @code{alignment-offsets} de
+de cada sistema, podemos también establecer manualmente
+las distancias verticales entre
+los pentagramas dentro de cada sistema.  Lo hacemos
+usando la subpropiedad @code{alignment-distances} de
 @code{line-break-system-details}.
 
 @lilypond[quote]
@@ -1618,15 +1845,15 @@ usando la subpropiedad @code{alignment-offsets} de
         \new Voice {
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 20)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 60)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 100)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
         }
         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@@ -1645,9 +1872,9 @@ Observe que aquí asignamos dos valores distintos al atributo
 @code{line-break-system-details} acepta muchos parámetros de espaciado
 adicionales (entre ellos, por ejemplo, un par @code{X-offset}
 correspondiente), sólo tenemos que establecer el desplazamiento
-@code{Y-offset} y los pares @code{alignment-offsets} para controlar el
+@code{Y-offset} y los pares @code{alignment-distances} para controlar el
 punto de origen vertical de cada sistema y pentagrama.  Finalmente,
-observe que @code{alignment-offsets} especifica el posicionamiento
+observe que @code{alignment-distances} especifica el posicionamiento
 vertical de los pentagramas pero no de los grupos de pentagramas.
 
 @lilypond[quote]
@@ -1660,15 +1887,15 @@ vertical de los pentagramas pero no de los grupos de pentagramas.
         \new Voice {
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 0)
-                                           (alignment-offsets . (0 -30 -40)))
+                                           (alignment-distances . (30 10)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 60)
-                                           (alignment-offsets . (0 -10 -20)))
+                                           (alignment-distances . (10 10)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 100)
-                                           (alignment-offsets . (0 -10 -40)))
+                                           (alignment-distances . (10 30)))
           s1*5 \break
         }
         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@@ -1685,10 +1912,11 @@ vertical de los pentagramas pero no de los grupos de pentagramas.
 Algunos puntos que tener en cuenta:
 
 @itemize
-@item Al usar @code{alignment-offsets}, la letra cuenta como un pentagrama.
+@item Al usar @code{alignment-distances}, la letra
+y otras líneas que no son pautas, no cuentan como un pentagrama.
 
 @item Las unidades de los números que se pasan a @code{X-offset},
-@code{Y-offset} y @code{alignment-offsets} se interpretan como
+@code{Y-offset} y @code{alignment-distances} se interpretan como
 múltiplos de la distancia entre líneas de pentagrama adyacentes.  Los
 valores positivos mueven a los pentagramas y a la letra hacia arriba,
 los valores negativos mueven los pentagramas y la letra hacia abajo.
@@ -1707,71 +1935,6 @@ Fragmentos de código:
 @rlsr{Spacing}.
 
 
-@node Espaciado vertical en dos fases
-@subsection Espaciado vertical en dos fases
-@translationof Two-pass vertical spacing
-
-@warning{El espaciado vertical en dos pasadas está obsoleto y se
-eliminará en una versión futura de LilyPond.  Ahora los sistemas se
-amplían automáticamente en un solo paso.  Véase @ref{Espaciado vertical dentro de un sistema}.}
-
-In order to automatically stretch systems so that they should fill the
-space left on a page, a two-pass technique can be used:
-
-@enumerate
-@item In the first pass, the amount of vertical space used to increase
-the height of each system is computed and dumped to a file.
-@item In the second pass, spacing inside the systems are
-stretched according to the data in the page layout file.
-@end enumerate
-
-The @code{ragged-bottom} property adds space between systems, while
-the two-pass technique adds space between staves inside a system.
-
-To allow this behavior, a @code{tweak-key} variable has to be set in
-each score @code{\layout} block, and the tweaks included in each score
-music, using the @code{\scoreTweak} music function.
-
-@quotation
-@verbatim
-%% include the generated page layout file:
-\includePageLayoutFile
-
-\score {
-  \new StaffGroup <<
-    \new Staff <<
-      %% Include this score tweaks:
-      \scoreTweak "scoreA"
-      { \clef french c''1 \break c''1 }
-    >>
-    \new Staff { \clef soprano g'1 g'1 }
-    \new Staff { \clef mezzosoprano e'1 e'1 }
-    \new Staff { \clef alto g1 g1 }
-    \new Staff { \clef bass c1 c1 }
-  >>
-  \header {
-    piece = "Score with tweaks"
-  }
-  %% Define how to name the tweaks for this score:
-  \layout { #(define tweak-key "scoreA") }
-}
-@end verbatim
-@end quotation
-
-For the first pass, the @code{dump-tweaks} option should be set to
-generate the page layout file.
-
-@example
-lilypond -dbackend=null -d dump-tweaks <file>.ly
-lilypond <file>.ly
-@end example
-
-
-@seealso
-Fragmentos de código:
-@rlsr{Spacing}.
-
-
 @node Evitar las colisiones verticales
 @subsection Evitar las colisiones verticales
 @translationof Vertical collision avoidance
@@ -1943,8 +2106,11 @@ semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
 @end lilypond
 
-En la introducción (véase @rlearning{Grabado}), se explicó que las
-direcciones de las plicas influyen en el espaciado.  Esto se controla
+
+En el @emph{Ensayo sobre grabado musical automatizado},
+se explicó que las
+direcciones de las plicas influyen en el espaciado
+(véase @ressay{Espaciado óptico}).  Esto se controla
 con la propiedad @code{stem-spacing-correction} en el objeto
 @rinternals{NoteSpacing}.  Estos se generan para cada uno de los
 contextos de @rinternals{Voice}.  El objeto @code{StaffSpacing}
@@ -2135,6 +2301,9 @@ Si se fija un valor verdadero para @code{ragged-right} en el bloque
 horizontal natural, en lugar de repartirse horizontalmente hasta
 llenar toda la línea.  Esto es útil para fragmentos cortos, y para
 comprobar qué tan apretado es el espaciado natural.
+El valor normal predeterminado es falso, pero si la partitura
+tiene un solo sistema, el valor predeterminado es verdadero.
+
 
 @cindex diseño de página
 @cindex página, disposición de la
@@ -2607,6 +2776,7 @@ superior del intervalo.
 
 
 @seealso
+Referencia de la notación:
 @ref{Establecer el tamaño del pentagrama}.
 
 Fragmentos de código:
@@ -2633,8 +2803,7 @@ parte baja del papel.
 
 @example
 \paper @{
-  between-system-padding = #0.1
-  between-system-space = #0.1
+  between-system-spacing = #'((padding . 0) (space . 0.1))
   ragged-last-bottom = ##f
   ragged-bottom = ##f
 @}
index 8b8f24081693eafe6d7d5cdf7a31464f5d28ffc6..f3169939d912cfbea2ce176a79de68a14cb20541 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 41ef91786a08102d9b9a839f6a2f40cec263d723
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -24,6 +24,7 @@ un tipo específico o dentro de estilos específicos.
 * Percusión::
 * Instrumentos de viento::
 * Notación de acordes::
+* Música contemporánea::
 * Notación antigua::
 * Músicas del mundo::
 @end menu
@@ -35,5 +36,6 @@ un tipo específico o dentro de estilos específicos.
 @include notation/percussion.itely
 @include notation/wind.itely
 @include notation/chords.itely
+@include notation/contemporary.itely
 @include notation/ancient.itely
 @include notation/world.itely
index 0a966344b64708a45774b8446c16d7aa48e7d0b1..65b2c9f53fd852e1dc303e66f6fad498a3e9d003 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 50b88336f4c69d7d3241cc01af98c362cd9d2b4b
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -761,9 +761,15 @@ de forma similar, se puede usar
 Glosario musical:
 @rglos{Frenched staff}.
 
+Manual de aprendizaje:
+@rlearning{Visibilidad y color de los objetos}.
+
 Referencia de la notación:
 @ref{El símbolo del pentagrama},
-@ref{Pentagramas de Ossia}.
+@ref{Pentagramas de Ossia},
+@ref{Notas ocultas},
+@ref{Silencios invisibles},
+@ref{Visibilidad de los objetos}.
 
 Fragmentos de código:
 @rlsr{Staff notation}.
@@ -803,7 +809,7 @@ otras voces y dar formato a las notas guía.
 * Indicaciones metronómicas::
 * Nombres de instrumentos::
 * Citar otras voces::
-* Formateo de las notas de aviso::
+* Formateo de las notas guía::
 @end menu
 
 
@@ -1095,12 +1101,14 @@ La instrucción @code{\quoteDuring} se usa para indicar el punto en que
 comienza la cita.  va seguido por dos argumentos: el nombre de la voz
 citada, tal y como se definió con @code{\addQuote}, y una expresión
 musical que indica la duración de la cita, normalmente silencios de
-separación o silencios multicompás.  La música correspondiente de la
+separación o silencios multicompás.  La música correspondiente
+(incluidas todas las articulaciones,
+matices, elementos de marcado, etc.) de la
 voz citada se inserta dentro de la expresión musical:
 
 @lilypond[verbatim,quote]
 flute = \relative c'' {
-  a4 gis g gis
+  a4 gis g->\f gis^\markup{quoted}
 }
 \addQuote "flute" { \flute }
 
@@ -1146,6 +1154,26 @@ Es posible etiquetar las citas con nombres exclusivos para poder
 procesarlas de diferentes maneras.  Para ver más detalles sobre este
 procedimiento, consulte @ref{Uso de etiquetas}.
 
+También es posible ajustar qué objetos de la voz original se citan
+mediante la modificación de la propiedad @code{quotedEventTypes}.  De
+forma predeterminada, su valor es @code{#'(StreamEvent)}, lo que
+significa que todo se cita.  Su establecimiento a,
+p.ej. @code{#'(note-event rest-event tie-event)} provoca que LilyPond
+cite solamente las notas, silencios y ligaduras de unión, pero no las
+articulaciones, los elementos de marcado ni los matices dinámicos.
+
+@lilypond[verbatim,quote]
+clarinet = \relative c'' {
+  a4 gis g->\f gis^\markup{quoted}
+}
+\addQuote "clarinet" { \clarinet }
+
+\relative c' {
+  \set Score.quotedEventTypes = #'(note-event rest-event tie-event)
+  c4 cis \quoteDuring #"clarinet" { s2 }
+}
+@end lilypond
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
@@ -1157,6 +1185,7 @@ procedimiento, consulte @ref{Uso de etiquetas}.
 @cindex rest-event
 
 @funindex quotedEventTypes
+@funindex quotedCueEventTypes
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {quoting-another-voice.ly}
@@ -1192,8 +1221,8 @@ En anteriores versiones LilyPond (antes de la 2.11), @code{addQuote}
 se escribía completamente en minúsculas: @code{\addquote}.
 
 
-@node Formateo de las notas de aviso
-@unnumberedsubsubsec Formateo de las notas de aviso
+@node Formateo de las notas guía
+@unnumberedsubsubsec Formateo de las notas guía
 @translationof Formatting cue notes
 
 @cindex guía, formateo de las notas
@@ -1217,7 +1246,9 @@ guía en una particella.  La sintaxis es como sigue:
 \cueDuring #@var{nombre_de_la_parte} #@var{voz} @var{música}
 @end example
 
-Esta instrucción copa los compases correspondientes a partir de
+Esta instrucción copia
+sólo las notas y los silencios de
+los compases correspondientes a partir de
 @var{nombre_de_la_parte} dentro de un contexto @code{CueVoice} de voz
 guía.  La voz guía @code{CueVoice} se crea implícitamente, y se
 produce simultáneamente con @var{música}, lo que crea una situación
@@ -1228,7 +1259,7 @@ corresponde a la segunda.
 
 @lilypond[verbatim,quote]
 oboe = \relative c'' {
-  r2 r8 d16 f e g f a
+  r2 r8 d16(\f f e g f a)
   g8 g16 g g2.
 }
 \addQuote "oboe" { \oboe }
@@ -1244,6 +1275,33 @@ En el ejemplo anterior, el contexto @code{Voice} se tuvo que declarar
 explícitamente, pues en caso contrario toda la expresión musical
 habría pertenecido al contexto @code{CueVoice}.
 
+Es posible ajustar qué aspectos de la música se citan con
+@code{\cueDuring} estableciendo el valor de la propiedad
+@code{quotedCueEventTypes}.  Su valor por omisión es
+@code{#'(note-event rest-event tie-event beam-event
+tuplet-span-event)}, lo que significa que solamente las notas,
+silencios, ligaduras de unión, barras y grupos especiales se citan,
+pero no las articulaciones, marcas dinámicas, elementos de marcado,
+etc.
+
+@lilypond[verbatim,quote]
+oboe = \relative c'' {
+  r2 r8 d16(\f f e g f a)
+  g8 g16 g g2.
+}
+\addQuote "oboe" { \oboe }
+
+\new Voice \relative c'' {
+  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
+                                      beam-event tuplet-span-event
+                                      dynamic-event slur-event)
+  \cueDuring #"oboe" #UP { R1 }
+  g2 c,
+}
+@end lilypond
+
+
+
 Se puede imprimir el nombre del instrumento de las notas guía
 estableciendo la propiedad @code{instrumentCueName} en el contexto
 @code{CueVoice}.
@@ -1332,6 +1390,28 @@ Es posible etiquetar las partes guía con nombres exclusivos de forma
 que se puedan procesar de diversas formas.  Para ver más detalles
 sobre este procedimiento, consulte @ref{Uso de etiquetas}.
 
+@cindex notas más pequeñas
+@cindex pequeñas, notas más
+
+Se puede crear un contexto de @code{CueVoice} explícitamente si se
+necesitan notas de un tamaño menor, por ejemplo para establecer una
+secuencia alternativa de notas más apropiada para una voz más aguda o
+más grave.
+
+@lilypond[verbatim,relative=2]
+\time 12/8
+\key ees \major
+g4 ees8 f4 g8
+\stemDown
+<<
+  { d4. bes4 c8 }
+  \new CueVoice
+  { g'4. f4 ees8 }
+>>
+\stemUp
+d2. d2.
+@end lilypond
+
 
 @seealso
 Referencia de la notación:
index 97241c135efef85c938255ac3698f3be2d1cc75f..6cb51144510a72a0fb162d64dd85bc56bfda9b66 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 41ef91786a08102d9b9a839f6a2f40cec263d723
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -147,26 +147,26 @@ Referencia de la notación:
 
 @strong{@i{Armónicos naturales}}
 
+@cindex notas, cabeza de, forma de rombo
+@cindex rombo, cabezas en forma de
 @cindex naturales, armónicos
 @cindex armónicos naturales
 
+@funindex \harmonicsOn
+@funindex \harmonicsOff
+
 La notación de los armónicos naturales se puede realizar de varias
 formas.  Generalmente, una nota con la cabeza en forma de rombo
 significa tocar (sin apretar) la cuerda en el lugar donde se pisaría
 la nota si no fuese un rombo.
 
-@warning{Los armónicos @strong{se deben} definir dentro de una
-construcción de acorde incluso si hay una sola nota.}
-
-@c TODO If the default for harmonicDots is changed, change this
-Los armónicos con puntillo indicados con @code{\harmonic} no muestran
-el puntillo.  Se debe establecer la propiedad de contexto
-@code{harmonicDots} si se necesita el puntillo.
-
 @lilypond[verbatim,quote,relative=2]
-<d\harmonic>4 <e\harmonic>2.
-\set harmonicDots = ##t
-<d\harmonic>4 <e\harmonic>2.
+d4 e4.
+\harmonicsOn
+d8 e e
+d4 e4.
+\harmonicsOff
+d8 e e
 @end lilypond
 
 Como posibilidad alternativa está la de mostrar una cabeza normal de
@@ -190,10 +190,21 @@ una con una cabeza normal que indica la posición donde se pisa, y otra
 con una cabeza en forma de rombo hueco para indicar la posición donde
 se roza la cuerda (sin pisar) para producir el armónico.
 
+@c TODO If the default for harmonicDots is changed, change this
+Los armónicos artificiales indicados con @code{\harmonic} no presentan
+los puntillos.  La propiedad de contexto @code{harmonicDots} se debe
+activar si se necesitan los puntillos.
+
 @lilypond[verbatim,quote,relative=1]
-<e a\harmonic>2  <c g'\harmonic>
+<e a\harmonic>2.  <c g'\harmonic>4
+\set harmonicDots = ##t
+<e a\harmonic>2.  <c g'\harmonic>4
 @end lilypond
 
+@warning{@code{@bs{}harmonic} @strong{se debe} colocar dentro de una
+construcción de acorde incluso si solamente hay una nota.  Normalmente
+se usaría @code{@bs{}harmonicsOn} en esta situación.}
+
 
 @seealso
 Glosario musical:
index 850971fb1a0156a0bd1985f4d1a0761473236a30..98c0addbe334febdc44e9f5b18feb87d4246d156 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 95f363f4bcd2a5b345845d3671f25eecd28d994b
+    Translation of GIT committish: 0a6d7e171847539a294d42c167472c2d69643d22
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -21,6 +21,7 @@
 @set FDL
 @set web
 @include macros.itexi
+@include weblinks.itexi
 
 @c don't remove this comment.
 @ignore
@@ -161,6 +162,7 @@ mediante ordenador.
 
 @contents
 
+
 @c ****************** GENERAL STUFF FOR INFO ************
 @ignore
 Distributions will want to install lilypond.info in postinstall, doing:
@@ -247,7 +249,7 @@ Distributions will want to install lilypond.info in postinstall, doing:
   el manual está dividido en muchas páginas HTML.
   @*@ @ @emph{(una descarga pequeña por cada página)}
 
-@item @docLinkBig{\name\,\base\,\split\} @minus{}
+@item @docLinkBig{\name\,\base\,\big\} @minus{}
   lea este manual como una sola página HTML enorme.
   @*@ @ @emph{(una sola descarga grande, \bigsize\)}
 
index bc17ac15c35abc05f0b10d5ab3f24de5aecee695..368473976a75237ecf9eb12c9d7d61056149b4ba 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 95f363f4bcd2a5b345845d3671f25eecd28d994b
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -460,7 +460,7 @@ prueba de nuevas funcionalidades.  ¡Contribuya a estas discusiones!
 @warning{En general, estos trabajos requieren que usted tenga los
 archivos de código fuente del programa y la documentación, pero no
 requieren un entorno de desarrollo completo.  Consulte
-@rcontribnamed{Starting with git,Comenzar con Git}.}
+@rcontribnamed{Starting with Git,Comenzar con Git}.}
 
 @itemize
 @item
@@ -483,7 +483,7 @@ Traducciones: consulte @rcontribnamed{Translating the documentation,Traducir la
 
 @warning{En general, estos trabajos requieren que usted tenga el
 código fuente y sea capaz de compilar LilyPond.  Consulte
-@rcontribnamed{Starting with git,Comenzar con Git} y @rcontribnamed{Compiling LilyPond,Compilación de LilyPond}.}
+@rcontribnamed{Starting with Git,Comenzar con Git} y @rcontribnamed{Compiling LilyPond,Compilación de LilyPond}.}
 
 Sugerimos que los colaboradores nuevos que sean usuarios de Windows
 utilicen una máquina virtual para ejecutar @emph{lilybuntu}.  Consulte
@@ -637,20 +637,35 @@ menos) estable, hemos escrito un manual para los colaboradores.
 @divEnd
 
 
-@divClass{column-right-top}
+@divClass{column-center-top}
 @subheading Pruebas de regresión
 
 @divClass{keep-bullets}
 @itemize
 
+@ifclear web_version
+
+@item
 @item @uref{../../input/regression/collated-files.html, Pruebas de regresión}:
-Pruebas del lanzamiento actual. (también en
-@uref{../input/regression/collated-files.pdf, pdf})
+Pruebas del lanzamiento actual.
+(@uref{../../input/regression/collated-files.pdf, versión PDF})
+
+@item
+@uref{../../input/regression/musicxml/collated-files.html, Pruebas de regresión de MusicXML}:
+las pruebas de MusicXML de la versión actual.
+(@uref{../input/regression/musicxml/collated-files.pdf, versión PDF}).
+@end ifclear
+
+@ifset web_version
+@item @regtestDevel (@regtestDevelPdf{})
+
+@item @regtestDevelXml (@regtestDevelXmlPdf{})
+
+@item @regtestStable (@regtestStablePdf{})
+
+@item @regtestStableXml (@regtestStableXmlPdf{})
+@end ifset
 
-@item @uref{../../input/regression/musicxml/collated-files.html,
-Pruebas de regresión de MusicXML}: la pruebas de MusicXML del presente
-lanzamiento (también en
-@uref{../input/regression/musicxml/collated-files.pdf, PDF}).
 
 @item @uref{http://lilypond.org/test, Archivo de las pruebas de regresión}:
 Comparaciones entre versiones.
@@ -664,6 +679,11 @@ Comparaciones entre versiones.
 @divClass{column-center-bottom}
 @subheading Manuales
 
+@ifclear web_version
+@warning{Estos manuales son para LilyPond @version{}; los manuales más recientes
+están en @url{http://lilypond.org}}
+@end ifclear
+
 @divClass{normal-table}
 @multitable @columnfractions .3 .3 .3
 @headitem Introducción
@@ -741,6 +761,13 @@ Comparaciones entre versiones.
 @tab
 @docLinkPdf{Funcionamiento interno,internals,@manualDevelInternalsPdf}
 
+@ifset web_version
+@headitem Para descargar
+
+@item
+@doctarballDevel
+@end ifset
+
 @end multitable
 
 @divEnd
index a132f1fccb338104c6eddb84ba77842163b617c8..e9715a810a04c4267651e81eeabe377c0e47824c 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: d74ab34046b6ae48698ffdd2efdc11ade0355047
+    Translation of GIT committish: c1eb9d63bb22ba4a9243942599f68768f5631e34
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -383,12 +383,23 @@ informar de los fallos, y desarrollo.
 @divEnd
 
 @divClass{column-right-bottom}
+@subheading Léalo
 
-@docLinks{Web, web,
-  @ref{Top,,,,Web},
-  @manualStableWebSplit,
-  @manualStableWebBig, 1 MB,
-  @manualStableWebPdf, 2 MB}
+@subsubheading Últimos manuales
+
+@divClass{keep-bullets}
+@itemize
+@ref{Top,Web}
+@end itemize
+@divEnd
+
+@subsubheading Manual web en @versionDevel
+
+@docLinksBare{Web, web,
+  @ref{Top,Web},
+  @manualDevelWebSplit,
+  @manualDevelWebBig, 1 MB,
+  @manualDevelWebPdf, 2 MB}
 
 @divEnd
 
index 6f2cae89fffab79384b852ca2c89df722bbcfda1..c25130670016b04a94fedc8a487833c0f888318b 100644 (file)
@@ -306,12 +306,12 @@ Pour LilyPond version @version{}
 
 @macro ressay{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,essay-big-page,Essay}
+@ref{\TEXT\,,,essay-big-page,Essai}
 @end macro
 
 @macro ressaynamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,\DISPLAY\,essay-big-page,Essay}
+@ref{\TEXT\,,\DISPLAY\,essay-big-page,Essai}
 @end macro
 
 @macro rprogram{TEXT}
@@ -326,11 +326,11 @@ Pour LilyPond version @version{}
 
 @macro rlsr{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,snippets-big-page,Exemples de code}
+@ref{\TEXT\,,,snippets-big-page,Morceaux choisis}
 @end macro
 
 @macro rlsrnamed{TEXT,DISPLAY}
-@ref{\TEXT\,,\DISPLAY\,snippets-big-page,Exemples de code}
+@ref{\TEXT\,,\DISPLAY\,snippets-big-page,Morceaux choisis}
 @end macro
 
 @macro rinternals{TEXT}
@@ -422,12 +422,12 @@ Pour LilyPond version @version{}
 
 @macro ressay{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,essay,Essay}
+@ref{\TEXT\,,,essay,Essai}
 @end macro
 
 @macro ressaynamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,\DISPLAY\,essay,Essay}
+@ref{\TEXT\,,\DISPLAY\,essay,Essai}
 @end macro
 
 @macro rprogram{TEXT}
@@ -442,11 +442,11 @@ Pour LilyPond version @version{}
 
 @macro rlsr{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,snippets,Exemples de code}
+@ref{\TEXT\,,,snippets,Morceaux choisis}
 @end macro
 
 @macro rlsrnamed{TEXT,DISPLAY}
-@ref{\TEXT\,,\DISPLAY\,snippets,Exemples de code}
+@ref{\TEXT\,,\DISPLAY\,snippets,Morceaux choisis}
 @end macro
 
 @macro rinternals{TEXT}
@@ -550,12 +550,12 @@ Pour LilyPond version @version{}
 
 @macro ressay{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-essay,Essay}
+@ref{\TEXT\,,,lilypond-essay,Essai}
 @end macro
 
 @macro ressaynamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,\DISPLAY\,lilypond-essay,Essay}
+@ref{\TEXT\,,\DISPLAY\,lilypond-essay,Essai}
 @end macro
 
 @macro rprogram{TEXT}
@@ -570,12 +570,12 @@ Pour LilyPond version @version{}
 
 @macro rlsr{TEXT}
 @lilyvindex{\TEXT\}
-@ref{\TEXT\,,,snippets,Exemples de code}
+@ref{\TEXT\,,,snippets,Morceaux choisis}
 @end macro
 
 @macro rlsrnamed{TEXT,DISPLAY}
 @lilyvindex{\TEXT\}
-@ref{\TEXT\,,\DISPLAY\,snippets,Exemples de code}
+@ref{\TEXT\,,\DISPLAY\,snippets,Morceaux choisis}
 @end macro
 
 @macro rinternals{TEXT}
index 8998cbb658d191786ca3caddff0869a8106b0db1..ee7273726fda478e97f281e64096b10224dc12a6 100644 (file)
@@ -1,7 +1,7 @@
-\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: nl -*-
+\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of web.texi
 @ignore
-    Translation of GIT committish: 7b34eac90f81c8123feaf2670fafae236101f14c
+    Translation of GIT committish: 98c18c374a10c480bbc82b7657b4a71cf4e6452a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -41,6 +41,7 @@ Copyright @copyright{} 2009--2010 par les auteurs.
 @translationof Top
 
 @c Translators: John Mandereau
+@c Translators checkers: Jean-Charles Malahieude
 
 @chapheading
 @end ifnottex
index 2c24578be7504af95c6405976209b19e19e9a913..1ae9f235cc78de562150edf4ff91696a02f99779 100644 (file)
@@ -1,12 +1,16 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+@c This file is part of web.texi
 @ignore
-    Translation of GIT committish: 7b34eac90f81c8123feaf2670fafae236101f14c
+    Translation of GIT committish: 98c18c374a10c480bbc82b7657b4a71cf4e6452a
 
     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 Translators: Gauvain Pocentek, Jean-Charles Malahieude, John Mandereau
+@c Translation checkers: Jean-Charles Malahieude
+
 @node Introduction
 @unnumbered Introduction
 @translationof Introduction
@@ -134,7 +138,7 @@ Perdez moins de temps à retoucher la mise en page.  En effet, LilyPond
 tend à déterminer la meilleure mise en page dès le départ, en
 déterminant l'espacement, les sauts de système et de page, afin de
 produire une mise en page compacte et homogène.  Le logiciel résout les
-collisions entre paroles, notes et accords sont résolues, et calcule la
+collisions entre paroles, notes et accords, et calcule la
 courbure des liaisons, tout cela automatiquement !
 
 
@@ -154,8 +158,8 @@ ce que l'on a déjà réussi à faire.
 Le format de fichier de LilyPond, qui décrit la musique sous forme de
 texte, permet également son utilisation par des utilisateurs ayant
 certains handicaps physiques.  Les personnes ne pouvant saisir au
-clavier ou contrôler une souris peuvent utiliser la reconnaissance de
-parole pour éditer des fichiers LilyPond.  Même des personnes aveugles
+clavier ou contrôler une souris peuvent utiliser la reconnaissance vocale
+pour éditer des fichiers LilyPond.  Même des personnes aveugles
 peuvent utiliser des outils de lecture d'écran pour écrire des fichiers
 LilyPond, ce qui est quasiment impossible avec les logiciels de gravure
 musicale fonctionnant avec une interface graphique.
@@ -186,7 +190,7 @@ payez quelqu'un d'autre pour le faire.
 @subsubheading Conception extensible
 
 Tous les paramètres peuvent être changés pour adapter le résultat à vos
-goûts typographiques.  Si ça ne suffit pas, le langage de script intégré
+goûts typographiques.  Si cela ne suffit pas, le langage de script intégré
 Scheme, un dialecte du puissant langage LISP, offre beaucoup de
 possibilités.  Les paramètres, variables et fonctions sont tous
 documentés dans les manuels de référence.
@@ -195,7 +199,7 @@ documentés dans les manuels de référence.
 @subsubheading Excellent support
 
 LilyPond fonctionne sur les plateformes les plus courantes : GNU/Linux,
-MacOS X et Windows.  Le logiciel est accompagné d'une large
+MacOS@tie{}X et Windows.  Le logiciel est accompagné d'une large
 documentation et des centaines d'exemples.  Une communauté active répond
 aux questions via les listes d'utilisateurs, en particulier la liste
 anglophone et la liste francophone, tandis que l'équipe de développement
@@ -266,7 +270,7 @@ en particulier grégorienne comme le montre cet exemple.
 
 Certains compositeurs de musique contemporaine apprécient la capacité de
 LilyPond à s'adapter à des notations personnalisées.  L'exemple suivant
-est extrait de @emph{Čáry} pour flûte basse seule, de Trevor Bača.
+est extrait de @emph{Čáry}, pour flûte basse seule, de Trevor Bača.
 
 @exampleImage{cary}
 @newsEnd
@@ -275,10 +279,10 @@ est extrait de @emph{Čáry} pour flûte basse seule, de Trevor Bača.
 @newsItem
 @subsubheading Création efficace et flexible de matériels d'exécution
 
-Divers matériels d'exécution --- conducteur, parties séparées ---
+Divers matériels d'exécution -- conducteur, parties séparées --
 peuvent être créés à partir du même code source LilyPond.  Voici un
 extrait de la gravure par @uref{http://nicolas.sceaux.free.fr/, Nicolas
-Sceaux} de @emph{Giulio Cesare} de Händel, avec le conducteur, une
+Sceaux} du @emph{Giulio Cesare} de Händel, avec le conducteur, une
 réduction à deux portées vocales, et une partie de violon.
 
 @exampleImage{sesto-full}
@@ -317,8 +321,8 @@ chant sacré à l'opéra.  Voici un motet médiéval qui présente quelques
 particularités.  La voix de ténor est écrite dans une métrique
 différente de celle des autres voix, mais doit tout de même se
 synchroniser avec elles.  LilyPond gère élégamment cette difficulté.
-Remarquez également les incipits avec des clés de style Vatican, les
-hampes barrées indiquant des notes plicaturées, et les crochets de
+Remarquez également les @emph{incipits} avec des clés de style Vatican,
+les hampes barrées indiquant des notes plicaturées, et les crochets de
 ligature sur certains groupes de notes.
 
 @exampleImage{aucun-snippet}
@@ -339,7 +343,7 @@ pédagogiques.  Voici en exemple un exercice de contrepoint.
 Il est facile de créer des partitions de chansons pop avec la mélodie,
 les paroles, les chiffrages d'accords et les diagrammes de frettes.
 Vous pouvez voir des exemples de tels diagrammes qui sont prédéfinis,
-mais il est possible de les personnaliser pour presque tous les cas.
+mais il est possible de les personnaliser dans presque tous les cas.
 
 @exampleImage{chart}
 @newsEnd
@@ -376,7 +380,7 @@ sous forme de texte}.
 @uref{http://www.gnu.org/, GNU} LilyPond est développé par une
 communauté de passionnés.  Ce logiciel est distribué selon la @ref{GPL,
 Licence Publique Générale GNU GPL} et la @ref{FDL, Licence Libre de
-Documentation GNU FDL}, donnant à tous la liberté de le corriger, le
+Documentation GNU FDL}, accordant à tous la liberté de le corriger, le
 modifier et étendre ses fonctionnalités.  La gravure musicale de qualité
 ne devrait pas vous coûter des centaines d'euros dépensés pour acheter
 une licence de logiciel !
@@ -395,7 +399,7 @@ Aucun coût d'essai : téléchargez-le et essayez-le sans aucune
 restriction !  Qu'avez-vous à perdre ?
 
 @item
-Partage : si vous aimez ce logiciel, donnez-en une copie à vos amis,
+Partage : si vous appréciez ce logiciel, donnez-en une copie à vos amis,
 professeurs, étudiants et collègues !
 
 @item
@@ -406,7 +410,7 @@ compilation.
 
 @item
 Extensible : vous pouvez ajouter des fonctionnalités, corriger des
-bogues, et modifier le fonctionnement.  Si vous n'êtes pas un
+bogues et modifier le fonctionnement.  Si vous n'êtes pas un
 programmeur, vous pouvez embaucher quelqu'un pour le faire à votre
 place.
 
@@ -416,7 +420,7 @@ potentiellement importante pour un compositeur exigeant sur la notation,
 une entreprise ou un milieu de recherche.
 
 @item
-Indépendance par rapport aux éditeurs de logiciels : si une entreprise
+Indépendance par rapport aux éditeurs de logiciel : si une entreprise
 fait faillite, qu'advient-il des logiciels et fichiers dans le format de
 ces logiciels que cette entreprise développait et éditait ?  Ce n'est
 pas un problème avec LilyPond ; même si toute l'équipe de développement
@@ -447,27 +451,27 @@ d'autant plus que le travail d'équipe apporte de l'entraide !
 
 @item
 Des objectifs communs : nous voulons tous produire des partitions de
-musique de qualité, mais peu de gens ont l'expertise  et personne n'a le
-temps !  de créer un logiciel qui gère toutes les situations.  En
-travaillant tous ensemble — un améliore le code de ligatures
-automatiques, un autre corrige la forme des liaisons, et un troisième
+musique de qualité, mais peu de gens ont l'expertise -- et personne n'a le
+temps ! -- de créer un logiciel qui gère toutes les situations.  En
+travaillant tous ensemble -- l'un améliore le code des ligatures
+automatiques, un autre corrige le galbe des liaisons, et un troisième
 écrit de la documentation expliquant l'utilisation de ces
-fonctionnalités  nous pouvons tendre bien plus vite vers ce but.
+fonctionnalités -- nous pouvons tendre bien plus vite vers ce but.
 
 
 @item
 @qq{Culture du don} : le mouvement du logiciel libre a créé de nombreux
-grands projets logiciels, tels que @uref{http://kernel.org/, GNU/Linux},
-@uref{http://www.getfirefox.com/, Mozilla Firefox}, et
+grands projets logiciels tels que @uref{http://kernel.org/, GNU/Linux},
+@uref{http://www.getfirefox.com/, Mozilla Firefox} et
 @uref{http://www.wesnoth.org/, Battle for Wesnoth}.  Ayant bénéficié de
 ces projets en tant qu'utilisateurs, certains souhaitent donner en
 retour à la communauté en contribuant à un logiciel libre.
 
 @item
-Expérience professionnelle : la contribution a des projets de logiciel libre
+Expérience professionnelle : la contribution à des projets de logiciel libre
 est une excellente manière de pratiquer la programmation, l'édition de
 documentation et la conception.  Cette expérience a aidé quelques
-développeurs à obtenir une offre d'emploi ou un bourse d'études.
+développeurs à décrocher un emploi ou une bourse d'études.
 
 
 @end itemize
@@ -495,12 +499,12 @@ lire d'abord @ref{Entrée sous forme de texte}.
 @divClass{column-center-top}
 @subheading Essai sur la gravure musicale informatisée
 
-Nous vous proposons un essai complet sur nos conceptions de la
-typographie musicale informatisée.
+Nous vous proposons un essai dans le but de vous présenter nos
+conceptions de la typographie musicale informatisée.
 
 Si vous voulez une introduction rapide à LilyPond et préférez l'essayer
 au plus vite, la lecture de l'essai serait trop longue.  Si toutefois
-vous préférez le lire maintenant, allez à la section @ref{Essay}.
+vous préférez le lire maintenant, allez à la section @ref{Essai}.
 
 
 @divClass{column-center-bottom}
@@ -521,26 +525,27 @@ recommandons de lire d'abord @ref{Entrée sous forme de texte}.
 @subheading Concerts
 
 Des partitions réalisées avec LilyPond ont été utilisées pour des
-concerts et représentations un peu partout dans le monde, nous en
-mentionnons quelques-uns.
+concerts et représentations un peu partout dans le monde, nous n'en
+mentionnons que quelques-uns.
 
 @divClass{keep-bullets}
 @itemize
 
 @item
-@emph{Affaire Étrangère}, un opéra de Valentin Villenave, avec un livret
-de Lewis Trondheim, dont la première a eu lieu le 1er février 2009 à
+@emph{Affaire Étrangère}, un opéra de Valentin Villenave, livret
+de Lewis Trondheim, dont la première a eu lieu le 1er@tie{}février@tie{}2009 à
 @uref{http://www.orchestre-montpellier.com/, l'Opéra de Montpellier}.
 
 @item
-L'exécution d'@emph{Armide} de Lully, les 15 et 16 mai 2009, à Houston,
-Texas, par @uref{http://www.mercurybaroque.org/02/02109.aspx, Mercury
-Baroque}, avec un matériel gravé par
+L'exécution d'@emph{Armide} de Lully, les 15 et 16@tie{}mai@tie{}2009, à
+Houston, Texas, par 
+@uref{http://www.mercurybaroque.org/02/02109.aspx, Mercury Baroque},
+avec un matériel gravé par 
 @uref{http://nicolas.sceaux.free.fr/, Nicolas Sceaux}.
 
 @item
-Des passages instrumentaux d'@emph{Hippolyte et Aricie} de Rameau ont
-été joués le 8 mai 2009 en l'Église Saint-James de Manhattan, par
+Des passages instrumentaux @emph{d'Hippolyte et Aricie} de Rameau ont
+été joués le 8@tie{}mai@tie{}2009 en l'église Saint-James de Manhattan, par
 Frederick Renz et son ensemble @uref{http://www.earlymusicny.org/, Early
 Music New York}, avec des partitions gravées par Nicolas Sceaux.
 
@@ -558,13 +563,13 @@ Music New York}, avec des partitions gravées par Nicolas Sceaux.
 
 @item
 Le @uref{http://www.mutopiaproject.org/index.html, projet Mutopia}
-propose en téléchargement libre des partitions de plus de 1500 pièces de
+propose en téléchargement libre des partitions de plus de 1@tie{}500 pièces de
 musique classique ; c'est la plus grande vitrine de partitions LilyPond.
 
 @item
 @uref{http://www.adoromusicpub.com/, Adoro Music Publishing} propose des
 partitions de musique sacrée de grande qualité, disponibles
-immédiatement en téléchargement ou sous forme de partition imprimée.
+immédiatement en téléchargement ou sous forme de partition imprimable.
 
 @item
 @uref{http://theshadylanepublishing.com/, The Shady Lane
@@ -595,7 +600,7 @@ sous forme de texte}.
 
 @divClass{testimonial-item}
 @imageFloat{carter-brey,jpg, right}
-@subsubheading @uref{http://nyphil.org/meet/orchestra/index.cfm?page=profile&personNum=7, Carter Brey}, Premier violoncelle, Philharmonique de New York
+@subsubheading @uref{http://nyphil.org/meet/orchestra/index.cfm?page=profile&personNum=7, Carter Brey}, premier violoncelle, Philharmonique de New York
 
 @qq{@dots{} J'avais écrit avec Encore quelques pièces pour violoncelle
   solo.  Je les ai imprimées avec LilyPond avant de les soumettre à
@@ -606,7 +611,7 @@ sous forme de texte}.
 
 @divClass{testimonial-item}
 @imageFloat{orm-finnendahl,jpg, left}
-@subsubheading @uref{http://icem-www.folkwang-hochschule.de/~finnendahl/, Orm Finnendahl},  Professeur de composition, Musikhochschule Freiburg
+@subsubheading @uref{http://icem-www.folkwang-hochschule.de/~finnendahl/, Orm Finnendahl},  professeur de composition, Musikhochschule Freiburg
 
 @qq{Bien que ma maîtrise [de LilyPond] soit pour l'instant imparfaite,
   je suis néanmoins @emph{très} impressionné.  J'ai utilisé ce programme
@@ -657,7 +662,7 @@ de qualité].}
 @subsubheading Chris Snyder, @uref{http://www.adoromusicpub.com/, Adoro Music Publishing}
 
 @qq{La façon dont on saisit la musique pour LilyPond me fait penser
-d'une façon plus musicale  il m'est arrivé plusieurs fois de buter sur
+d'une façon plus musicale -- il m'est arrivé plusieurs fois de buter sur
 la façon d'indiquer à Lily comment graver quelque chose, et de réaliser
 ensuite que même si j'arrivais à obtenir la notation voulue par le
 compositeur, celle-ci serait difficile à lire.  LilyPond facilite ainsi
@@ -666,9 +671,9 @@ mon double travail de gravure et d'édition.}
 @qq{J'ai utilisé LilyPond exclusivement pour mes affaires débutantes
 d'édition.  Tous les compositeurs sans aucune exception ont été
 stupéfaits par la qualité de la gravure en apercevant les épreuves de
-prépublication de leur musique.  Bien que cela me revienne en partie  je
+prépublication de leur musique.  Bien que cela me revienne en partie -- je
 passe beaucoup de temps à retoucher la gravure, notamment les liaisons et
-en particulier dans les accords  LilyPond me fournit un excellent point
+en particulier dans les accords -- LilyPond me fournit un excellent point
 de départ, une interface très intuitive, et la possibilité de modifier
 absolument n'importe quoi si je prend le temps.  Je suis convaincu
 qu'aucun produit commercial ne peut approcher cela.}
@@ -676,7 +681,7 @@ qu'aucun produit commercial ne peut approcher cela.}
 
 
 @divClass{testimonial-item}
-@subsubheading David Bobroff, Trombone basse, Orchestre symphonique d'Islande
+@subsubheading David Bobroff, trombone basse, Orchestre symphonique d'Islande
 
 @qq{LilyPond est tout simplement génial [@dots{}] Plus j'en
   apprends sur LilyPond, plus je l'apprécie !}
@@ -684,7 +689,7 @@ qu'aucun produit commercial ne peut approcher cela.}
 
 
 @divClass{testimonial-item}
-@subsubheading Vaylor Trucks, Joueur de guitare électrique (si, @uref{http://www.allmanbrothersband.com/modules.php?op=modload&name=userpage&file=content&page_id=12, il y a un rapport})
+@subsubheading Vaylor Trucks, joueur de guitare électrique (si, @uref{http://www.allmanbrothersband.com/modules.php?op=modload&name=userpage&file=content&page_id=12, il y a un rapport})
 
 @qq{Je suis super impressionné par LilyPond [@dots{}]}
 
@@ -755,7 +760,7 @@ interface graphique.
 On n'écrit pas la musique en glissant des notes depuis une barre
 d'outils et en les plaçant sur une partition se constituant petit à
 petit, mais en écrivant du texte qui la décrit.  Ce texte est interprété
-— ou @emph{compilé} — par LilyPond, produisant une belle partition de
+-- ou @emph{compilé} -- par LilyPond, produisant une belle partition de
 musique.
 
 Cette façon de faire peut demander aux habitués des interfaces
@@ -763,9 +768,9 @@ graphiques l'apprentissage d'une nouvelle façon de travailler, mais les
 résultats en valent vraiment la peine !
 
 @warning{nous ne présentons ici qu'un rapide aperçu du langage de
-LilyPond  ce n'est pas si compliqué que ça en a l'air !  Ce n'est pas
+LilyPond -- ce n'est pas si compliqué que ça en a l'air !  Ce n'est pas
 la peine de comprendre ces exemples en détail, notre manuel d'initiation
-aborde d'une façon progressive tout ceci et bien d'autres choses.}
+aborde d'une façon progressive tout ceci et bien d'autres choses encore.}
 
 
 @subsubheading C'est simple comme bonjour
@@ -777,8 +782,8 @@ commandes spéciales commencent par un antislash.
 @imageFloat{text-input-1-output,png,center}
 
 Les altérations sont obtenues avec différents suffixes : @code{-is} pour dièse,
-@code{-es} pour bémol  ce sont des noms de note hollandais, d'autres langues
-sont disponibles.  LilyPond détermine où placer des signes d'altération.
+@code{-es} pour bémol -- ce sont des noms de note hollandais, d'autres langues
+sont disponibles.  LilyPond détermine où placer les signes d'altération.
 
 @imageFloat{text-input-2-annotate,png,center}
 @imageFloat{text-input-2-output,png,center}
@@ -796,7 +801,7 @@ Ajoutez des accords et des paroles pour obtenir une chanson :
 @subsubheading Pièces orchestrales
 
 Le fichier source contient les notes de la pièce.  Le conducteur et les
-parties séparées peuvent être réalisées à partir de la même source ;
+parties séparées peuvent être réalisés à partir de la même source ;
 ainsi, la modification d'une note se répercute toujours à la fois sur
 les parties et le conducteur.  Pour pouvoir utiliser la même musique à
 plusieurs endroits, celle-ci est stockée dans une variable, c'est-à-dire
@@ -805,8 +810,8 @@ qu'on lui attribue un nom.
 @imageFloat{text-input-parts-both-annotate,png,center}
 
 
-Cette variable est ensuite utilisée dans une partie séparée 
-ici transposée, avec les mesures de silence condensées.
+Cette variable est ensuite utilisée dans une partie séparée -- ici
+transposée, avec les mesures de silence condensées.
 
 @imageFloat{text-input-parts-single-annotate,png,center}
 @imageFloat{text-input-parts-single-output,png,center}
@@ -820,15 +825,15 @@ La même variable est réutilisée dans le conducteur, ici en sons réels.
 
 @subsubheading Documentation pour les débutants
 
-Nous concevons que beaucoup d'utilisateurs trouvent un peu étrange cette
+Nous admettons que beaucoup d'utilisateurs trouvent un peu étrange cette
 façon de saisir la musique.  Pour cette raison, nous avons écrit une
 documentation complète d'initiation, à commencer par le manuel
 d'@ref{Initiation}.
 
 S'il-vous-plaît, lisez le manuel d'initiation avant de vous plaindre
-d'un bogue !  Il arrive que de nouveaux utilisateurs pensent que
-LilyPond fonctionne incorrectement, alors qu'il n'en est rien et que
-quelque détail leur a simplement échappé.
+de l'existance d'un bogue !  Il arrive que de nouveaux utilisateurs
+pensent que LilyPond fonctionne incorrectement, alors qu'il n'en est
+rien et que quelque détail leur a simplement échappé.
 
 
 @subsubheading Environnements d'édition confortables
@@ -845,7 +850,7 @@ Certains environnements d'édition incluent la coloration de la syntaxe,
 le complètement automatique des commandes, et des modèles prédéfinis.
 D'autres programmes proposent même une interface utilisateur graphique
 (GUI) qui permet la manipulation directe des objets graphiques d'une
-partition.  Pour plus de détails, voir @ref{Fécilités d'édition}.
+partition.  Pour plus de détails, voir @ref{Facilités d'édition}.
 
 
 @divClass{column-center-bottom}
@@ -874,8 +879,8 @@ d'édition}.
 @uref{http://denemo.org}
 
 Denemo est un éditeur graphique qui génère du code source LilyPond et
-peut jouer un rendu sonore.  Ce projet actuellement en phase de
-développement génère du code pour une version ancienne de LilyPond
+peut jouer un rendu sonore.  Ce projet, actuellement en phase de
+développement, génère du code pour une version ancienne de LilyPond
 (2.8.7).  Il permet à l'utilisateur de voir le code source LilyPond en
 même temps que la vue graphique.
 
@@ -903,7 +908,7 @@ Export: Lilypond, MIDI, ABC, CSound Score File, PDF
 Greffon de l'éditeur de texte @uref{http://@/www@/.jedit@/.org@/,jEdit},
 LilyPondTool est l'un des outils d'édition en mode texte le plus riche
 pour éditer des partitions LilyPond.  Ses fonctionnalités comprennent un
-assistant de création de partition avec prise en charges des paroles,
+assistant de création de partition avec prise en charge des paroles,
 pour commencer plus facilement à saisir des partitions, et une
 visonneuse de PDF intégrée avec un excellent pointer-cliquer.
 
@@ -922,7 +927,7 @@ visonneuse de PDF intégrée avec un excellent pointer-cliquer.
 
 Frescobaldi est un éditeur de texte dédié à LilyPond, avec visionneuse
 PDF intégrée, un assistant de création de partition et beaucoup de
-fonctionnalités d'édition.  Il repose sur les bibliothèques KDE 4 et
+fonctionnalités d'édition.  Il repose sur les bibliothèques KDE@tie{}4 et
 fonctionne actuellement sur toutes les variantes d'Unix dont GNU/Linux.
 
 @divEnd
@@ -974,11 +979,11 @@ assistant de création de partition afin de créer rapidement une nouvelle
 partition LilyPond, et une visionneuse PDF intégrée.
 
 LilyKDE peut utiliser @uref{http://www.volny.cz/smilauer/rumor/,Rumor},
-afin de saisir la musique en jouant sur un clavier MIDI.
+afin de saisir la musique par l'intermédiaire d'un clavier MIDI.
 
 LilyKDE propose également la coupure automatique des paroles et le
 lancement de LilyPond sur plusieurs fichiers à la fois depuis le
-gestionnaire de fichiers KDE.
+gestionnaire de fichiers de KDE.
 
 @subsubheading Environnement texte : TexShop
 
@@ -986,8 +991,8 @@ gestionnaire de fichiers KDE.
 
 @uref{http://@/www@/.uoregon@/.edu/~koch/texshop}
 
-L'éditeur TexShop pour MacOS@tie{}X peut être muni d'une extension pour lancer LilyPond,
-@command{lilypond-book} et @command{convert-ly}, disponible à
+L'éditeur TexShop pour MacOS@tie{}X peut être muni d'une extension pour
+lancer LilyPond, @command{lilypond-book} et @command{convert-ly}, disponible à
 @uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html#desktoppub}.
 
 @ignore
@@ -1036,7 +1041,7 @@ qui a une fonction d'export expérimentale pour LilyPond.
 @uref{http://musescore.org,MuseScore} produit du code LilyPond.
 @item
 @uref{http://canorus.org,Canorus} peut également exporter vers LilyPond,
-mais est encore au stade de développement bêta. Les testeurs sont les
+mais est encore au stade de développement bêta.  Les testeurs sont les
 bienvenus.
 @end itemize
 
@@ -1076,7 +1081,7 @@ dans la partie @ref{Contexte}.
 @subheading Mentions légales
 
 @divClass{legal}
-Tous les logos et images de produits sont sont des marques déposées ou
+Tous les logos et images des produits sont des marques déposées ou
 sont protégés par le droit d'auteur.
 
 @logoLegalLinux
index 67b1c7d3f048193833c153aeb4ed30ba7875aceb..ef59b65ff99f180278f080d0873f7dcf7d7b4161 100644 (file)
@@ -1,13 +1,15 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of web.texi
 @ignore
-    Translation of GIT committish: 7b34eac90f81c8123feaf2670fafae236101f14c
+    Translation of GIT committish: 98c18c374a10c480bbc82b7657b4a71cf4e6452a
 
     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 Translators: John Mandereau
+@c Translation checkers: Jean-Charles Malahieude
 
 @node Manuels
 @unnumbered Manuels
@@ -41,7 +43,7 @@ particulier pour connaître les termes musicaux en anglais.
 @item @ref{Essai} :
 @emph{(lecture optionnelle)}
 essai sur la conception des processus de gravure d'après l'esthétique et
-la technique de la gravure traditionnelle avec poiçons et plaques de plomb.
+la technique de la gravure traditionnelle avec poinçons et plaques de plomb.
 
 
 @end itemize
@@ -104,8 +106,8 @@ particulier pour élaborer des retouches.
 état des traductions pour les lecteurs non anglophones.
 
 @item @ref{Tous} :
-liens rapides, manuels téléchargeables, manuels téléchargeables, et
-documentation des anciennes versions.
+liens rapides, manuels téléchargeables, et documentation des anciennes
+versions.
 
 @item @ref{Développement} :
 manuels pour la version de développement.
index c9062ecdf3e47c69b113101758acb1fb983ccc06..94899d1e0edb01043d221194835f659bbfe271e9 100644 (file)
@@ -2208,7 +2208,7 @@ The default order in which contexts are laid out and the
 @qq{accepts} list can be changed, see @ref{Aligning contexts}.
 
 @seealso
-Learning Manual:
+Usage Manual:
 @rprogram{An extra staff appears}.
 
 
@@ -3079,7 +3079,7 @@ Learning Manual:
 
 Notation Reference:
 @ref{Explaining the Internals Reference},
-@ref{Modifying properties},
+@ref{Modifying properties}.
 
 Installed Files:
 @file{scm/@/define@/-grobs@/.scm}.
index 9aa1055493f01b41548a7fd43b50d6ef6a921a59..283608cdf16990ee542023749104895e5e0158c8 100644 (file)
@@ -503,7 +503,7 @@ Snippets:
 @rlsr{Expressive marks}.
 
 Extend:
-@rextend{Markup construction in Scheme},
+@rextend{Markup construction in Scheme}.
 
 
 
index 629f18a0c4ff9a71895ab33221125ffb8bc035ab..d8e3d8124bf1abdad87e23f2316c539b9db4f94c 100644 (file)
@@ -422,23 +422,23 @@ Locate the downloaded file and double-click on it to start the
 installer. Follow the instructions given to you by the installer;
 we recommend that you leave all the install options checked and
 use the default installation location. Click the @q{Finish} button
-when the installer has completed. Lilypond is now installed.
+when the installer has completed. LilyPond is now installed.
 
 @end enumerate
 
 @subsubheading Uninstall
 
-To uninstall Lilypond either:
+To uninstall LilyPond either:
 
 @enumerate
 
 @item
-Locate the Lilypond folder from the @q{Start} menu and click on the
+Locate the LilyPond folder from the @q{Start} menu and click on the
 @q{Uninstall} icon. Click the @q{Finish} button when the uninstaller
 has completed.
 
 @item
-Or from witin the Control Panel,locate and select Lilypond and then
+Or from witin the Control Panel,locate and select LilyPond and then
 choose the option to uninstall/remove the software. Click the @q{Finish}
 button when the uninstaller has completed.