]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc-es: update CHANGES, programming-interface, scheme-tutorial, others.
authorFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 27 Jun 2013 12:14:53 +0000 (14:14 +0200)
committerFrancisco Vila <francisco.vila@hispalinux.es>
Sun, 15 Sep 2013 07:43:18 +0000 (09:43 +0200)
Also included/helpus, common-notation, learning/fundamental, learning/tweaks,
notation/ancient, changing-defaults.

Documentation/es/changes.tely
Documentation/es/extending/programming-interface.itely
Documentation/es/extending/scheme-tutorial.itely
Documentation/es/included/helpus.itexi
Documentation/es/learning/common-notation.itely
Documentation/es/learning/fundamental.itely
Documentation/es/learning/tweaks.itely
Documentation/es/notation/ancient.itely
Documentation/es/notation/changing-defaults.itely

index b2c17173889ec379ff7f02c8a8b6cbbe7bf70271..f574fcc68128b10971137953971b80609485d138 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: b6f94447415dded7c6e146b41b6139fe76cb84c4
+    Translation of GIT committish: efec448b936bd63d82571cf79f8435768605c66d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -70,14 +70,20 @@ which scares away people.
 @end ignore
 
 @item
-Se reserva espacio horizontal para las indicaciones de tempo y las
-marcas de ensayo, de forma que no se superpongan. La instrucción
-nueva @code{\markLengthOff} desactiva esta funcionalidad.
-@lilypond[quote,relative=0]
-\compressFullBarRests
-\tempo "Molto vivace" c''2 c'
-\mark\default
-\tempo "Meno mosso" R1*16
+Se ha cambiado el nombre de @code{OctavateEight} por el de
+@code{ClefModifier}.  Las propiedades de contexto relacionadas han
+cambiado su nombre @code{xxxOctavationyyy} por el de
+@code{xxxTranspositionyyy}.
+
+@item
+Existe una nueva instrucción @code{\absolute} que marca
+explícitamente la música introducida en alturas absolutas.  Aunque
+esto era antes el comportamiento predeterminado, una instrucción
+@code{\absolute} explícita evita también la reinterpretación
+cuando el pasaje está dentro de un bloque marcado como
+@code{\relative}:
+@lilypond[verbatim,quote]
+\relative c { c'4 \absolute { f'' g'' } c }
 @end lilypond
 
 @item
@@ -180,6 +186,45 @@ que se transporta contenga @code{\transposition}.  Anteriormente,
 era equivalente a @code{\transposition f'}.  Ahora se mantiene
 como equivalente a @code{\transposition bes'}.
 
+@item
+Cuando se comprueba la existencia de colisiones, LilyPond ya no
+trata los objetos como rectángulos.  En lugar de ello se aproxima
+la forma verdadera de los objetos utilizando un enfoque parecido
+al uso de integrales, lo que por lo común dará como resultado un
+posicionamiento más ceñido y regular de los objetos y los sistemas
+de pentagramas:
+
+@lilypond[relative=1]
+#(ly:set-option 'debug-skylines #t)
+\dynamicUp
+c'4\f a4\f d\f( f)
+a,4\< c c c\!
+d4-.\downbow a4^"r'venu..." c \tempo "T1" e
+@end lilypond
+
+El fragmento anterior tenía anteriormente este aspecto:
+
+@lilypond[relative=1]
+#(ly:set-option 'debug-skylines #t)
+\override Hairpin #'vertical-skylines = #'()
+\override DynamicText #'vertical-skylines = #'()
+\override TextScript #'vertical-skylines = #'()
+\override Score.MetronomeMark #'vertical-skylines = #'()
+\override Staff.Clef #'vertical-skylines = #'()
+\dynamicUp
+c'4\f a4\f d\f( f)
+a,4\< c c c\!
+d4-.\downbow a4^"r'venu..." c \tempo "T1" e
+@end lilypond
+
+Entre los objetos afectados se encuentran @code{Accidentals},
+@code{Beams}, @code{Clefs}, @code{Dynamics}, @code{FiguredBass},
+@code{Flags}, @code{Glissandos}, @code{Lyrics},
+@code{MetronomeMarks}, @code{OttavaBrackets}, @code{Pedals},
+@code{RehearsalMarks}, @code{Rests}, @code{Scripts},
+@code{TextScripts}, @code{Ties}, @code{Tuplets} y
+@code{VoltaBrackets}.
+
 @item
 Ahora los grupos de valoración especial se crean mediante la
 instrucción @code{\tuplet}, que toma una fracción
@@ -240,7 +285,7 @@ también forma parte de las @acronym{URI}s de @code{textedit}) aún
 comienza en@tie{}0.
 
 @item
-La instrucción @code{\clef} contempla un cambio opcional de octava:
+La instrucción @code{\clef} contempla una transposición opcional:
 @lilypond[verbatim,quote,relative=1]
 \clef "treble_(8)"
 c2 c
index 20ec32f4116eb1013a8410c3b668e702c82e7035..6526d972e5024e89597ae2c00e06e73a532d96f4 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of extending.tely
 @ignore
-    Translation of GIT committish: b24aaf5d1e10c5ea055043ce6b2c3d50d2a9c943
+    Translation of GIT committish: fc43a05568a1be2fc78bd7a16a42e474d239aac8
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -32,25 +32,60 @@ Scheme, @ref{Tutorial de Scheme}.
 
 @node Bloques de código de LilyPond
 @section Bloques de código de LilyPond
-@translationof Lilypond code blocks
+@translationof LilyPond code blocks
+
+@cindex Bloques de código de LilyPond
+@cindex LilyPond, bloques de código de
+@funindex #@{ @dots{} #@}
+@funindex $
+@funindex #
+
+La creación de expresiones musicales en Scheme puede ser una tarea
+tediosa porque a veces presentan muchos niveles de profundidad de
+anidamiento y el código resultante es grande.  Para algunas tareas
+sencillas, esto puede evitarse utilizando bloques de código de
+LilyPond, que permiten usar la sintaxis ordinaria de LilyPond
+dentro de Scheme.
 
 Los bloques de código de LilyPond tienen el siguiente aspecto:
 @example
   #@{ @var{código de LilyPond} #@}
 @end example
-Se pueden usar en cualquier lugar en el que se pueda escribir código
-de Scheme: el lector de Scheme en efecto se modifica para que pueda
-incorporar bloques de código de LilyPond y pueda ocuparse de las
-expresiones de Scheme incrustadas que comienzan por @code{$} y@w{ }@code{#}.
-
-Extrae el bloque de código de LilyPond y genera una llamada al
-@code{parser} o analizador sintáctico de LilyPond, que corre en
-tiempo de ejecución para interpretar el bloque de código de
-LilyPond.  Cualquier expresión de Scheme que se halle incrustada
-se ejecuta en el entorno léxico del bloque de código de LilyPond,
-de manera que tenemos acceso a las variables locales y a los
-parámetros de función en el punto en que se encuentra escrito el
-bloque de código de LilyPond.  Si @code{location} se refiere a una
+
+He aquí un ejemplo trivial:
+
+@lilypond[verbatim,quote]
+ritpp = #(define-event-function (parser location) ()
+  #{ ^"rit." \pp #}
+)
+
+{ c'4 e'4\ritpp g'2 }
+@end lilypond
+
+Los bloques de código de LilyPond se pueden usar en cualquier
+lugar en el que se pueda escribir código de Scheme.  El lector de
+Scheme en efecto se modifica para que pueda incorporar bloques de
+código de LilyPond y pueda ocuparse de las expresiones de Scheme
+incrustadas que comienzan por @code{$} y@w{ }@code{#}.
+
+@cindex parser (function argument)
+@cindex location
+
+El lector extrae el bloque de código de LilyPond y genera una
+llamada en tiempo de ejecución al analizador sintáctico para que
+interprete el código de LilyPond.  Las expresiones de Scheme
+incrustadas en el código de LilyPond se evalúan dentro del entorno
+lóexico del bloque de código de LilyPond, de manera que puede
+accederse a todas las variables locales y los parámetros de
+función que están disponibles en el punto en que se escribe el
+bloque de código de LilyPond.  Las variables definidas en otros
+módulos de Scheme, como los módulos que contienen bloques
+@code{\header} y @code{\layout}, no están accesibles como
+variables de Scheme, es decir, precedidas de@tie{}@code{#}, pero
+se puede acceder a ellas como variables de LilyPond, es decir,
+precedidas de@tie{}@code{\}.
+
+Si @code{location} (véase @ref{Funciones de Scheme}) se refiere a una
 posición de entrada válida (como lo hace normalmente dentro de las
 funciones musicales o de Scheme), toda la música generada dentro
 del bloque de código tiene su @samp{origin} establecido a
@@ -106,28 +141,34 @@ donde
 de LilyPond (@code{#@{}@dots{}@code{#@}}) acceso al analizador
 sintáctico.
 
+@item @code{location}
+@tab tiene que ser literalmente @code{location} para ofrecer acceso al
+objeto de situación de la entrada, que se usa para ofrecer
+menssajes de error con nombres de archivo y números de línea.
+
 @item @code{@var{argN}}
 @tab @var{n}-ésimo argumento
 
 @item @code{@var{typeN?}}
 @tab un @emph{predicado de tipo} de Scheme para el que @code{@var{argN}}
-debe devolver @code{#t}.  Algunos de estos predicados se reconocen de
-forma especial por parte del analizador, véase más abajo.  También
-existe una forma especial @code{(@emph{predicate?} @emph{default})}
-para especificar argumentos opcionales.  Si el argumento actual no
-está presente cuando se ll  ama a la función, el valor predeterminado se
-emplea en sustitución.  Los valores predeterminados se evalúan en
-tiempo de definición (¡incluyendo los bloques de código de LilyPond!),
-de manera que se necesitamos un valor por omisión calculado en tiempo
-de ejecución, debemos escribir en su lugar un valor especial que
-podamos reconocer fácilmente.  Si escribimos el predicado entre
-paréntesis pero no lo seguimos por el valor predeterminado, se usa
-@code{#f} como valor por omisión.  Los valores por omisión no se
-verifican con @emph{predicate?} en tiempo de definición ni en tiempo
-de ejecución: es nuestra responsabilidad tratar con los valores que
-especifiquemos.  Los valores por omisión que son expresiones musicales
-se copian mientras se establece @code{origin} al parámetro
-@code{location}.
+debe devolver @code{#t}.  Algunos de estos predicados se reconocen
+de forma especial por parte del analizador, véase más abajo.
+También existe una forma especial @code{(@emph{predicate?}
+@emph{default})} para especificar argumentos opcionales.  Si el
+argumento actual no está presente cuando se ll ama a la función,
+el valor predeterminado se emplea en sustitución.  Los valores
+predeterminados se evalúan en tiempo de definición (¡incluyendo
+los bloques de código de LilyPond!), de manera que se necesitamos
+un valor por omisión calculado en tiempo de ejecución, debemos
+escribir en su lugar un valor especial que podamos reconocer
+fácilmente.  Si escribimos el predicado entre paréntesis pero no
+lo seguimos por el valor predeterminado, se usa @code{#f} como
+valor por omisión.  Los valores por omisión no se verifican con
+@emph{predicate?} en tiempo de definición ni en tiempo de
+ejecución: es nuestra responsabilidad tratar con los valores que
+especifiquemos.  Los valores por omisión que son expresiones
+musicales se copian mientras se establece @code{origin} al
+parámetro @code{location}.
 
 @item @code{@var{cuerpo}}
 @tab una secuencia de formas de Scheme que se evalúan ordenadamente; la
@@ -268,7 +309,7 @@ noApuntarYPulsar =
      (parser location)
      ()
    (ly:set-option 'point-and-click #f))
-...
+@dots{}
 \noApuntarYPulsar   % desactivar la función de apuntar y pulsar
 @end example
 
@@ -438,6 +479,61 @@ manualBeam =
 }
 @end lilypond
 
+@funindex \temporary
+@cindex sobreescrituras temporales
+@cindex temporales, sobreescrituras
+@cindex propiedades, recuperar valor anterior
+
+Las propiedades se mantienen conceptualmente utilizando una pila
+por cada propiedad, por cada grob y por cada contexto.  Las
+funciones musicales pueden requerir la sobreescritura de una o
+varias propiedades durante el tiempo de duración de la función,
+restaurándolas a sus valores previos antes de salir.  Sin embargo,
+las sobreescrituras normales extraen y descartan la cima de la
+pila de propiedades actual antes de introducir un valor en ella,
+de manera que el valor anterior de la propiedad se pierde cuando
+se sobreescribe.  Si se quiere preservar el valor anterior, hay
+que preceder la instrucción @code{\override} con la palabra clave
+@code{\temporary}, así:
+
+@example
+\temporary \override @dots{}
+@end example
+
+El uso de @code{\temporary} hace que se borre la propiedad
+(normalmente fijada a un cierto valor) @code{pop-first} de la
+sobreescritura, de forma que el valor anterior no se extrae de la
+pila de propiedades antes de poner en ella el valor nuevo.  Cuando
+una instrucción @code{\revert} posterior extrae el avlor
+sobreescrito temporalmente, volverá a emerger el valor anterior.
+
+En otras palabras, una llamada a @code{\temporary \override} y a
+continuación otra a @code{\revert} sobre la misma propiedad, tiene
+un valor neto que es nulo.  De forma similar, la combinación en
+secuencia de @code{\temporary} y @code{\undo} sobre la misma
+música que contiene las sobreescrituras, tiene un efecto neto
+nulo.
+
+He aquí un ejemplo de una función musical que utiliza lo expuesto
+anteriormente.  El uso de @code{\temporary} asegura que los
+valores de las propiedades @code{cross-staff} y @code{style} se
+restauran a la salida a los valores que tenían cuando se llamó a
+la función @code{crossStaff}.  Sin @code{\temporary}, a la salida
+se habrían fijado los valores predeterminados.
+
+@example
+crossStaff =
+#(define-music-function (parser location notes) (ly:music?)
+  (_i "Create cross-staff stems")
+  #@{
+  \temporary \override Stem.cross-staff = #cross-staff-connect
+  \temporary \override Flag.style = #'no-flag
+  #notes
+  \revert Stem.cross-staff
+  \revert Flag.style
+#@})
+@end example
+
 
 @node Matemáticas dentro de las funciones
 @subsection Matemáticas dentro de las funciones
@@ -612,11 +708,12 @@ sólo con Scheme.
 @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{\markup @{ marcado1 marcado2 @dots{} @}} @tab
+        @code{(markup marcado1 marcado2 @dots{} )}
 @item @code{\instruccion} @tab @code{#:instruccion}
 @item @code{\variable} @tab @code{variable}
-@item @code{\center-column @{ ... @}} @tab @code{#:center-column ( ... )}
+@item @code{\center-column @{ @dots{} @}} @tab
+        @code{#:center-column ( @dots{} )}
 @item @code{cadena} @tab @code{"cadena"}
 @item @code{#argumento-de-scheme} @tab @code{argumento-de-scheme}
 @end multitable
@@ -707,11 +804,11 @@ Se pueden definir instrucciones de marcado nuevas usando el macro de
 Scheme @code{define-markup-command}, en el nivel sintáctico superior.
 
 @lisp
-(define-markup-command (@var{nombre-de-la-instruccion} @var{layout} @var{props} @var{arg1} @var{arg2} ...)
-    (@var{tipo-de-arg1?} @var{tipo-de-arg2?} ...)
+(define-markup-command (@var{nombre-de-la-instruccion} @var{layout} @var{props} @var{arg1} @var{arg2} @dots{})
+    (@var{tipo-de-arg1?} @var{tipo-de-arg2?} @dots{})
     [ #:properties ((@var{propiedad1} @var{valor-predeterminado1})
-                    ...) ]
-  ..command body..)
+                    @dots{}) ]
+  @dots{}command body@dots{})
 @end lisp
 
 Los argumentos son
@@ -950,7 +1047,7 @@ documentación):
   (number-pair?)
   #:category graphic
   #:properties ((thickness 1))
-  "...documentación..."
+  "@dots{}documentación@dots{}"
   (let ((th (* (ly:output-def-lookup layout 'line-thickness)
                thickness))
         (x (car dest))
@@ -968,7 +1065,7 @@ instrucciones de marcado definidas por el usuario.
 (define-markup-command (draw-double-line layout props dest)
   (number-pair?)
   #:properties ((thickness 1))
-  "...documentación..."
+  "@dots{}documentación@dots{}"
   (let ((th (* (ly:output-def-lookup layout 'line-thickness)
                thickness))
         (x (car dest))
@@ -985,8 +1082,8 @@ predeterminado de p.ej. 0.6:
   (number-pair?)
   #:properties ((thickness 1)
                 (line-gap 0.6))
-  "...documentación..."
-  ...
+  "@dots{}documentación@dots{}"
+  @dots{}
 @end lisp
 
 Finalmente, se añade el código para trazar las dos líneas.  Se usan
index e04cdaefb8fbb9733c3dee3e5f653af46ec2291a..7dfc6fd7a28f2f674ed2da259b0f6118589604c6 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: cccd2bf82ebfb55b6423346037fa4d2793fc4c3b
+    Translation of GIT committish: fc43a05568a1be2fc78bd7a16a42e474d239aac8
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -277,7 +277,7 @@ los procedimientos de Scheme @code{car} y @code{cdr}, respectivamente.
 
 @lisp
 guile> (define mipareja (cons 123 "Hola")
-... )
+@dots{} )
 guile> (car mipareja)
 123
 guile> (cdr mipareja)
@@ -614,7 +614,7 @@ let:
 
 @lisp
 guile> (let ((x 2) (y 3) (z 4)) (display (+ x y)) (display (- z 4))
-... (+ (* x y) (/ z x)))
+@dots{} (+ (* x y) (/ z x)))
 508
 @end lisp
 
@@ -661,7 +661,7 @@ Otro procedimiento condicional en Scheme es @code{cond}:
 @example
 (cond (expresión-de-prueba-1 secuencia-de-expresiones-resultante-1)
       (expresión-de-prueba-2 secuencia-de-expresiones-resultante-2)
-      ...
+      @dots{}
       (expresión-de-prueba-n secuencia-de-expresiones-resultante-n))
 @end example
 
@@ -884,7 +884,7 @@ traLaLa = @{ c'4 d'4 @}
 se convierte internamente en una definición de Scheme:
 
 @example
-(define traLaLa @var{Valor Scheme de `@code{... }'})
+(define traLaLa @var{Valor Scheme de `@code{@dots{}}'})
 @end example
 
 Esto significa que las variables de LilyPond y las variables de Scheme
@@ -928,7 +928,7 @@ LilyPond.  En lugar de definir @code{\twice}, el ejemplo anterior
 podría también haberse escrito como
 
 @example
-...
+@dots{}
 $(make-sequential-music newLa)
 @end example
 
@@ -954,7 +954,7 @@ Utilizándolos, la última parte del ejemplo se podría haber escrito
 como
 
 @example
-...
+@dots{}
 @{ #@@newLa @}
 @end example
 
@@ -976,7 +976,7 @@ procedimiento:
 #(define (nopc)
   (ly:set-option 'point-and-click #f))
 
-...
+@dots{}
 #(nopc)
 @{ c'4 @}
 @end example
@@ -1266,7 +1266,7 @@ leer:
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
-Una secuencia musical @code{@{ ... @}} tiene el nombre
+Una secuencia musical @code{@{ @dots{} @}} tiene el nombre
 @code{SequentialMusic}, y sus expresiones internas se almacenan coma
 una lista dentro de su propiedad @code{'elements}.  Una nota se
 representa como un objeto @code{NoteEvent} (que almacena las
@@ -1458,7 +1458,7 @@ articulación (como una instrucción de digitación) a una nota única
 dentro de un acorde, lo cual no es posible si nos limitamos a mezclar
 fragmentos de música independientes.
 
-Una @code{$variable} dentro de la notación @code{#@{...#@}} es como
+Una @code{$variable} dentro de la notación @code{#@{@dots{}#@}} es como
 una @code{\variable} normal en la notación clásica de LilyPond.
 Sabemos que
 
@@ -1530,7 +1530,7 @@ quedar claro a partir de su nombre (¡esto también es una buena
 práctica en otros lenguajes de programación!)
 
 @example
-"Add an accent..."
+"Add an accent@dots{}"
 @end example
 
 @noindent
index 27cd758bf93d670ce3ca13e3f6ff6bcd7260e965..480fd64977d22bfa6b47531045ca6666f46a381a 100644 (file)
@@ -3,7 +3,7 @@
 @c contributor/introduction.itely
 
 @ignore
-    Translation of GIT committish: 4c7bdf42ee240fdbb3c3dab2b1c201eae04253fa
+    Translation of GIT committish: f6443f01a56112f080b8d2e7e646007397bdf6ec
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -135,7 +135,7 @@ implican en el desarrollo de su programa favorito.  Arreglar fallos,
 implementar funcionalidades nuevas, documentar el código fuente: es
 mucho lo que hay que hacer, pero lo principal es: hay una oportunidad
 para todos de aprender más sobre LilyPond, sobre el Software Libre,
-sobre programación... y pasarlo bien.  Si siente curiosidad sobre
+sobre programación@dots{} y pasarlo bien.  Si siente curiosidad sobre
 cualquiera de ellos, el lema es: @emph{Join the Frogs!}
 
 
index b59ab15346accdd8aaa1b70a4dde71a500d56eb0..b5e32aef5c9955d23c77997efb2e20660b63dc1b 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: e674b7637b08e5d2638d232ba3d7c8420c9d1b6f
+    Translation of GIT committish: e6513c72e95fd6691998cb368a5172de3aad0525
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -1010,7 +1010,7 @@ cada sílaba mediante un espacio.
 @end lilypond
 
 Observe los
-ángulos dobles @w{@code{<< ... >>}} alrededor del fragmento entero
+ángulos dobles @w{@code{<<@dots{}>>}} 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
index 260a294cc86a0a02533b93386171137d54e2bbe1..a22a7441a466d5341a6d30e7ca7d7ba4241712b9 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fbe8b9bf789f4a9833e1581dbb6ba4fce71a6cd2
+    Translation of GIT committish: 94dc452301cc0d1e9983f5aeb784884f7fe8c964
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -10,7 +10,6 @@
 
 @c \version "2.17.18"
 
-
 @node Conceptos fundamentales
 @chapter Conceptos fundamentales
 @translationof Fundamental concepts
@@ -64,7 +63,7 @@ Un ejemplo básico de archivo de entrada de LilyPond es el siguiente:
 \header @{ @}
 
 \score @{
-  @var{...expresión musical compuesta...}  % toda la música viene aquí
+  @var{ @dots{} expresión musical compuesta @dots{} }  % toda la música va aquí
   \layout @{ @}
   \midi @{ @}
 @}
@@ -147,13 +146,13 @@ cosa entre una sola nota hasta una enorme expresión compuesta como
 @example
 @{
   \new StaffGroup <<
-    @var{...inserte aquí la partitura completa de una ópera de Wagner...}
+    @var{ @dots{} inserte aquí la partitura completa de una ópera de Wagner @dots{} }
   >>
 @}
 @end example
 
 @noindent
-Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
+Puesto que todo se encuentra dentro de @code{@{ @dots{} @}}, cuenta como
 una expresión musical.
 
 Como vimos anteriormente, el bloque @code{\score} puede contener otras
@@ -327,13 +326,13 @@ Aquí hemos asignado nombres a los pentagramas: @qq{cantante} y
 que resulta útil cultivar de manera que podamos saber de un vistazo
 para qué es cada pentagrama.
 
-Recuerde que utilizamos @code{<< ... >>} en lugar de @code{@{ ... @}}
+Recuerde que utilizamos @code{<< @dots{} >>} en lugar de @code{@{ @dots{} @}}
 para presentar la música simultánea.  Esto hace que las partes vocal y
 del piano aparezcan una sobre la otra en la partitura.  La
-construcción @code{<< ... >>} no sería necesaria para el pentagrama
+construcción @code{<< @dots{} >>} no sería necesaria para el pentagrama
 del cantante en el ejemplo de arriba si contiene solamente una
 expresión musical secuencial, pero se necesitarían los @code{<<
-... >>} en lugar de las llaves si la música de ese pentagrama fuese a
+@dots{} >>} en lugar de las llaves si la música de ese pentagrama fuese a
 contener dos o más expresiones simultáneas, p.ej. dos voces
 simultáneas, o una voz con letra.  Vamos a tener una voz con letra,
 por lo que se requieren los ángulos dobles.  Después añadiremos algo
@@ -521,29 +520,29 @@ distintas clases de corchetes, llaves y paréntesis.
 @multitable @columnfractions .3 .7
 @headitem Tipo de paréntesis
   @tab Función
-@item @code{@{ .. @}}
+@item @code{@{ @dots{} @}}
   @tab Encierra un fragmento secuencial de música
-@item @code{< .. >}
+@item @code{< @dots{} >}
   @tab Encierra las notas de un acorde
-@item @code{<< .. >>}
+@item @code{<< @dots{} >>}
   @tab Encierra expresiones musicales simultáneas
-@item @code{( .. )}
+@item @code{( @dots{} )}
   @tab Marca el comienzo y el final de una ligadura de expresión
-@item @code{\( .. \)}
+@item @code{\( @dots{} \)}
   @tab Marca el comienzo y el final de una ligadura de fraseo
-@item @code{[ .. ]}
+@item @code{[ @dots{} ]}
   @tab Marca el comienzo y el final de un barrado manual
 @end multitable
 
 A las anteriores, debemos añadir otras construcciones que generan
 líneas entre o a través de las notas: las ligaduras de unión (marcadas
 con una tilde curva, @code{~}), los grupos especiales que se escriben
-como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
-como @code{\grace@{..@}}.
+como @code{\tuplet x/y @{ @dots{} @}}, y las notas de adorno, que se escriben
+como @code{\grace @{ @dots{} @}}.
 
 Fuera de LilyPond, el uso convencional de los paréntesis y otros
 corchetes requiere que los distintos tipos se encuentren anidados
-correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
+correctamente, como en: @code{<< [ @{ ( @dots{} ) @} ] >>}, de manera que
 los paréntesis que se cierran deben encontrarse en el orden
 exactamente opuesto al de los paréntesis que se abren.  Esto
 @strong{es} un requisito para los tres tipos de paréntesis que se
@@ -637,7 +636,7 @@ En primer lugar observe este ejemplo de cuatro acordes:
 @end lilypond
 
 Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
-simples, @code{< ... >}, y para este propósito tan sólo se necesita
+simples, @code{< @dots{} >}, y para este propósito tan sólo se necesita
 una voz.  Pero suponga que el Fa sostenido fuese realmente una corchea
 seguida de un Sol corchea, una nota de paso que conduce al La.  Ahora
 tenemos dos notas que empiezan en el mismo momento pero tienen
@@ -654,8 +653,8 @@ Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
 
 La forma más fácil de introducir fragmentos con más de una voz en un
 solo pentagrama es escribir cada voz como una secuencia (con
-@code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
-@code{<<...>>}.  Los fragmentos también se deben separar mediante una
+@code{@{ @dots{} @}}), y combinarlas simultáneamente con ángulos dobles,
+@code{<< @dots{} >>}.  Los fragmentos también se deben separar mediante una
 doble barra invertida, @code{\\}, para situarlos en voces separadas.
 Sin esto, las notas irían a una sola voz, lo que normalmente produce
 errores.  Esta técnica se adapta especialmente bien a piezas de música
@@ -732,7 +731,7 @@ correcta.
 @end lilypond
 
 Todas estas voces están separadas de la voz principal que contiene las
-notas justo por fuera de la construcción @code{<< .. >>}.  Le
+notas justo por fuera de la construcción @code{<< @dots{} >>}.  Le
 llamaremos a esto la @emph{construcción simultánea}.  Las ligaduras
 (de prolongación y de expresión) solamente pueden conectar notas que
 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
@@ -818,13 +817,13 @@ voces están muy separadas, es colocar una instrucción @code{\relative}
 al principio de cada voz:
 
 @example
-\relative c' @{ notaA ... @}
+\relative c' @{ notaA @dots{} @}
 <<
-  \relative c'' @{ < notaB notaC > ... @}
+  \relative c'' @{ < notaB notaC > @dots{} @}
 \\
-  \relative g' @{ notaD ... @}
+  \relative g' @{ notaD @dots{} @}
 >>
-\relative c' @{ notaE ... @}
+\relative c' @{ notaE @dots{} @}
 @end example
 
 Finalmente, analicemos las voces en una pieza de música más compleja.
@@ -1882,7 +1881,7 @@ y esto los desactivará en todos los pentagramas:
 
 Como un ejemplo más, si se establece @code{clefTransposition} dentro del
 contexto de @code{Score}, éste cambia inmediatamente el valor de la
-octavación en todos los pentagramas en curso y establece un nuevo
+transposición en todos los pentagramas en curso y establece un nuevo
 valor predeterminado que se aplicará a todos los pentagramas.
 
 La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
@@ -1933,7 +1932,7 @@ en que se crea el contexto.  A veces esta forma de establecer el valor
 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
 el tiempo que dure el contexto.  Cuando se crea un contexto con una
 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
-@code{\with @{ .. @}} en el que se establecen los valores predeterminados de las
+@code{\with @{ @dots{} @}} en el que se establecen los valores predeterminados de las
 propiedades.  Por ejemplo, si queremos suprimir la impresión de
 becuadros adicionales para toda la duración de un pentagrama, podemos
 escribir:
@@ -2885,12 +2884,12 @@ ejemplo final que aparece al final de la sección, borre los dobles
 >>
 @end example
 
-No es necesario utilizar la construcción simultánea @code{<< >>} para
+No es necesario utilizar la construcción simultánea @code{<< @dots{} >>} para
 el pentagrama del manual dos y el pentagrama del órgano de pedal, ya
 que contienen una única expresión, pero no hace daño, y es una buena
 costumbre utilizar siempre dobles ángulos después de @code{\new Staff}
 cuando hay varias voces.  Lo opuesto es cierto para las voces:
-normalmente deben ir seguidas de llaves @code{@{ .. @}} en caso de que
+normalmente deben ir seguidas de llaves @code{@{ @dots{} @}} en caso de que
 tengamos música codificada como distintas variables que se deben
 situar consecutivamente.
 
index 41e7b6b1437de4490244604971c209be1db7c747..dca82c8d95669a8c8c8f5910a077b0f57dec5c09 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: b6f94447415dded7c6e146b41b6139fe76cb84c4
+    Translation of GIT committish: e6513c72e95fd6691998cb368a5172de3aad0525
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -352,7 +352,8 @@ b c |
 @end lilypond
 
 Sin embargo, las instrucciones predefinidas de la forma
-@code{\...Neutral}, @code{\...Off} y @code{\un...} utilizan
+@code{\@dots{}Neutral},
+@code{\@dots{}Off} y @code{\un@dots{}} utilizan
 internamente @code{\revert} en vez de @code{\override}, por lo que
 añadir @code{\once} como prefijo aquí no tiene ningún efecto.
 
@@ -3027,7 +3028,7 @@ aquí un ejemplo de colisión de este tipo:
 La mejor solución aquí es mover el silencio multi-compás hacia abajo,
 pues el silencio está en la voz dos.  El ajuste predeterminado para
 @code{\voiceTwo} (es decir, en la segunda voz de una construcción
-@code{<<@{...@} \\ @{...@}>>}) es que @code{staff-position} tenga el
+@code{<<@{@dots{}@} \\ @{@dots{}@}>>}) es que @code{staff-position} tenga el
 valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos,
 cuatro semi-espacios de pentagrama, al valor @w{@code{-8}}.
 
@@ -3956,7 +3957,7 @@ Glosario musical:
 
 @node Uso de variables para los ajustes de disposición
 @subsection Uso de variables para los ajustes de disposición
-@translationof Using variables for tweaks
+@translationof Using variables for layout adjustments
 
 @cindex variables, usar para sobreescrituras
 @cindex sobreescrituras, usar variablas para
index d9352fa9a3d3ac4470cbd2aa7ba920467ac1e362..aebd5b01e66b0e4587f70578f89c33292a41e702 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c vim: foldmethod=marker
 @ignore
-    Translation of GIT committish: 08cf111c64bf608b4dc7622558b0cabef84f3c46
+    Translation of GIT committish: 4e7839892d676e4863e07e11ea4968cffe34f97f
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -270,7 +270,7 @@ ellas.
 
 La sintaxis todavía utiliza el obsoleto estilo infijo
 @code{\[ expresión_musical \]}.  Por motivos de consistencia, esto
-cambiará algún día al estilo postfijo @code{nota\[ ... nota\]}.
+cambiará algún día al estilo postfijo @code{nota\[ @dots{} nota\]}.
 
 
 @node Custos
@@ -1556,7 +1556,7 @@ las notas que se han de unir.
 Una nota sin modificaciones produce un @emph{punctum}.  Todos los
 demás neumas, incluso los neumas de una nota con forma distinta como
 la @emph{virga}, se consideran en principio como ligaduras y por ello
-se deben escribir dentro de @code{\[...\]}.
+se deben escribir dentro de @code{\[@dots{}\]}.
 
 @noindent
 Neumas de una nota:
@@ -2755,7 +2755,7 @@ el grabador @code{Stem_engraver} del contexto de voz:
 
 @example
 \layout @{
-  ...
+  @dots{}
   \context @{
     \Voice
       \remove "Stem_engraver"
index 6c929ade544d3dc82790e8f2b53ee9f3442d0fc7..4025f05d98297ea81d1f543be921b861954e64de 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: 91aeca2562af49ff24110e923d5196bebd95f372
+Translation of GIT committish: 4e7839892d676e4863e07e11ea4968cffe34f97f
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -434,7 +434,7 @@ más tarde, por ejemplo cuando se asocia la letra con la música:
 
 @example
 \new Voice = "tenor" @var{música}
-...
+@dots{}
 \new Lyrics \lyricsto "tenor" @var{letra}
 @end example
 
@@ -481,13 +481,13 @@ eventos musicales adicionales a un contexto anterior.
 
 Existe una excepción a esta regla general: precisamente uno de los
 contextos de @code{Voice} que están dentro de un contexto de
-@code{Staff} o de una construcción @code{<<...>>} persiste siempre
+@code{Staff} o de una construcción @code{<<@dots{}>>} persiste siempre
 hasta el final de, contexto de @code{Staff} circundante o la
-construcción @code{<<...>>}, incluso aunque puede haber períodos en
+construcción @code{<<@dots{}>>}, incluso aunque puede haber períodos en
 que no tiene nada que hacer.  El contexto que persiste de esta forma
 será el primero que se encuentre en la primera construcción encerrada
-entre llaves @code{@{...@}}, ignorando cualquiera que se encuentre
-dentro de construcciones encerradas por ángulos dobles @code{<<...>>}.
+entre llaves @code{@{@dots{}@}}, ignorando cualquiera que se encuentre
+dentro de construcciones encerradas por ángulos dobles @code{<<@dots{}>>}.
 
 Cualquier contexto se puede mantener vivo si nos aseguramos de que
 tiene algo que hacer en cualquier momento musical dado.  Los
@@ -665,7 +665,7 @@ modificándolo:
   @emph{etc.}
 @}
 @{
-  @emph{..música..}
+  @emph{@dots{}música@dots{}}
 @}
 @end example
 
@@ -1104,7 +1104,7 @@ Referencia de la notación:
 @funindex denies
 
 Los contextos específicos, como @code{Staff} y @code{Voice}, están
-construidos a base de bloques sencillos.  Es posible crear nuevos
+construidos a partir 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
@@ -1158,34 +1158,39 @@ En primer lugar es necesario definir un nombre para el nuevo contexto:
 \name ImproVoice
 @end example
 
-Debido a que es parecido al contexto @code{Voice}, queremos órdenes
-que funcionen sobre contextos de @code{Voice} (existentes) para que
-siga funcionando.  Esto se consigue dando al contexto nuevo un alias
-@code{Voice},
+Debido a que es parecido al contexto @code{Voice}, queremos
+órdenes que funcionen dentro de los contextos @code{Voice}
+(existentes) para que siga funcionando.  Esto se consigue dando al
+contexto nuevo un alias de @code{Voice},
 
 @example
 \alias Voice
 @end example
 
-El contexto imprimirá notas y textos explicativos, por ello tenemos
-que añadir los grabadores que aportan esta funcionalidad:
+El contexto imprimirá notas y textos explicativos, por ello
+tenemos que añadir los grabadores que aportan esta funcionalidad,
+y además el grabador que agrupa las notas, plicas y silencios que
+están en el mismo momento musical en forma de columnas,
 
 @example
 \consists "Note_heads_engraver"
 \consists "Text_engraver"
+\consists "Rhythmic_column_engraver"
 @end example
 
-pero sólo necesitamos esto en la línea central:
+Las cabezas de todas las notas se deben situar sobre la línea
+central,
 
 @example
 \consists "Pitch_squash_engraver"
 squashedPosition = #0
 @end example
 
-El grabador @rinternals{Pitch_squash_engraver} modifica las cabezas de
-nota (creadas por el grabador @rinternals{Note_heads_engraver}) y
+El grabador @code{Pitch_squash_engraver} modifica las cabezas de
+nota (creadas por el grabador @code{Note_heads_engraver}) y
 establece sus posiciones verticales al valor de
-@code{squashedPosition}, en este caso@tie{}@code{0}, la línea central.
+@code{squashedPosition}, en este caso@tie{}@code{0}, la línea
+central.
 
 Las notas parecen barras inclinadas y no tienen plica:
 
@@ -1210,6 +1215,7 @@ Al juntarlo todo, obtenemos
   \type "Engraver_group"
   \consists "Note_heads_engraver"
   \consists "Text_engraver"
+  \consists "Rhythmic_column_engraver"
   \consists "Pitch_squash_engraver"
   squashedPosition = #0
   \override NoteHead.style = #'slash
@@ -1219,9 +1225,9 @@ Al juntarlo todo, obtenemos
 @end example
 
 @funindex \accepts
-Los contextos dan lugar a jerarquías.  Queremos colgar el contexto
-@code{ImproVoice} bajo el contexto @code{Staff}, como simples
-@code{Voice}s normales.  Por tanto, modificamos la definición de
+Los contextos dan lugar a jerarquías.  Queremos poner el contexto
+@code{ImproVoice} dentro del contexto @code{Staff}, igual que los contextos
+de voz normales.  Por tanto, modificamos la definición de
 @code{Staff} con la instrucción @code{\accepts} (acepta),
 
 @example
@@ -1266,6 +1272,15 @@ puede escribir como
 @}
 @end example
 
+@seealso
+
+Referencia de funcionamiento interno:
+@rinternals{Engraver_group},
+@rinternals{Note_heads_engraver},
+@rinternals{Text_engraver},
+@rinternals{Rhythmic_column_engraver},
+@rinternals{Pitch_squash_engraver}.
+
 
 @node Orden de disposición de los contextos
 @subsection Orden de disposición de los contextos
@@ -1325,10 +1340,26 @@ ejemplo, el contexto @code{VaticanaStaff} está basado en el contexto
 @code{Staff}, pero con el contexto @code{VaticanaVoice} sustituido por
 el contexto @code{Voice} en la lista @qq{accepts}.
 
-Observe que discretamente se crea un contexto de forma implícita si se
-encuentra una instrucción donde no hay un contexto apropiado para
-contenerlo.  Esto puede dar lugar a pentagramas o partituras nuevos no
-esperados.
+
+@cindex contextos implícitos
+@cindex implícitos, contextos
+@funindex \defaultchild
+
+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.
+
+Dentro de una definición de contexto, el tipo de un subcontexto
+que se va a crear implícitamente se especifica usando
+@code{\defaultchild} (hijo predeterminado).  Algunos eventos
+musicales requieren un contexto @samp{Bottom} (inferior): cuando
+se encuentra este evento, se crean subcontextos de forma recursiva
+hasta que se alcanza un contexto que no tiene establecido el
+@samp{defaultchild}.
+
+La creación implícita de contextos puede dar lugar a pentagramas o
+partituras nuevos no esperados.  La utilización de @code{\new}
+para crear contextos explícitamente evita esos problemas.
 
 @cindex alignAboveContext
 @cindex alignBelowContext
@@ -1336,13 +1367,14 @@ esperados.
 @funindex alignBelowContext
 
 En ocasiones se necesita que un contexto exista durante un breve
-intervalo de tiempo, siendo un buen ejemplo el contexto de pentagrama
-de un ossia.  Esto se consigue normalmente mediante la introducción de
-la definición del contexto en el lugar apropiado en paralelo con la
-sección correspondiente de la música principal.  De forma
-predeterminada, el contexto tempral se coloca debajo de todos los
-contextos existentes.  Para reposicionallo por encima del contexto que
-tenga el nombre @qq{principal}, debería definirse de esta forma:
+intervalo de tiempo, siendo un buen ejemplo el contexto de
+pentagrama de un ossia.  Esto se consigue normalmente mediante la
+introducción de la definición del contexto en el lugar apropiado
+en paralelo con la sección correspondiente de la música principal.
+De forma predeterminada, el contexto tempral se coloca debajo de
+todos los contextos existentes.  Para reposicionarlo por encima
+del contexto que tenga el nombre @qq{principal}, debería definirse
+de esta forma:
 
 @example
 @code{\new Staff \with @{ alignAboveContext = #"principal" @} }
@@ -2345,7 +2377,7 @@ We have seen two methods of changing properties: @code{\set} and
 properties.
 
 @code{fontSize} is a special property: it is equivalent to
-entering @code{\override ... #'font-size} for all pertinent
+entering @code{\override @dots{} #'font-size} for all pertinent
 objects.  Since this is a common change, the special
 property (modified with @code{\set}) was created.
 
@@ -3489,23 +3521,23 @@ explícitas.
 
 @c TODO Add example
 
-@subsubsubheading Claves octavadas
+@subsubsubheading Claves transportadas
 
-@cindex octavadas, visibilidad de las claves
-@cindex visibilidad de las claves octavadas
-@cindex claves, visibilidad de la octavación
+@cindex transportadas, visibilidad de las claves
+@cindex visibilidad de las claves transportadas
+@cindex claves, visibilidad de la transposición
 
-El pequeño símbolo de octava sobre las claves en octava alta o baja se
-produce por parte del objeto @code{ClefModifier}.  Su visibilidad se
-hereda automáticamente de la del objeto @code{Clef}, así que no es
+El pequeño símbolo de transposición sobre una clave se produce por
+parte del objeto @code{ClefModifier}.  Su visibilidad se hereda
+automáticamente de la del objeto @code{Clef}, así que no es
 necesario aplicar las sobreescrituras correspondientes
-@code{break-visibility} a los objetos
-@code{ClefModifier} para suprimir los símbolos de octavación
-para las claves invisibles.
+@code{break-visibility} a los objetos @code{ClefModifier} para
+suprimir los símbolos de transposición u octavación para las
+claves invisibles.
 
 Para los cambios de clave explícitos, la propiedad
-@code{explicitClefVisibility} controla tanto el símbolo de clave como
-el símbolo de octava asociado.
+@code{explicitClefVisibility} controla tanto el símbolo de clave
+como el símbolo de transposición o de octava asociado.
 
 @seealso
 Manual de aprendizaje:
@@ -3918,11 +3950,11 @@ distintos a las barras de compás.  Estos objetos son @code{ambitus},
 @code{left-edge}, @code{key-cancellation}, @code{key-signature} y
 @code{time-signature}.
 
-De forma predeterminada, las letras de ensayo y los números de compás
-se centran horizontalmente sobre el objeto:
+Cada tipo de objeto tiene su propio punto de referencia
+predeterminado, con el que se alinean las marcas de ensayo:
 
 @lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to right edge of the Clef
 \override Score.RehearsalMark.break-align-symbols = #'(clef)
 \key a \major
 \clef treble
@@ -3955,13 +3987,13 @@ divisoria.  Si la línea divisoria es invisible, el objeto se alinea
 con el punto en el que se encontraría la línea divisoria.
 
 @lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Key Signature
+% The rehearsal mark will be aligned to the right edge of the Key Signature
 \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
 \clef treble
 \mark "↓"
 e1
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to the right edge of the Clef
 \set Staff.explicitKeySignatureVisibility = #all-invisible
 \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
 \key a \major
@@ -3984,20 +4016,20 @@ partitura con varios pentagramas, este ajuste se debe hacer para todos
 los pentagramas.
 
 @lilypond[verbatim,quote,relative=1]
-% The RehearsalMark will be centered above the Key Signature
+% The RehearsalMark will be aligned with the right edge of the Key Signature
 \override Score.RehearsalMark.break-align-symbols = #'(key-signature)
 \key a \major
 \clef treble
 \time 4/4
 \mark "↓"
 e1
-% The RehearsalMark will be aligned with the left edge of the Key Signature
-\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
+% The RehearsalMark will be centered above the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #CENTER
 \mark "↓"
 \key a \major
 e1
-% The RehearsalMark will be aligned with the right edge of the Key Signature
-\once \override Score.KeySignature.break-align-anchor-alignment = #RIGHT
+% The RehearsalMark will be aligned with the left edge of the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
 \key a \major
 \mark "↓"
 e1