@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
-Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
+Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
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.11.65"
+@c \version "2.12.0"
@node Changing defaults
@chapter Changing defaults
@cindex Referencia de funcionamiento interno
-La descripción definitiva de los controles que están dipsonibles para
+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
las variables, funciones y opciones que se encuentran disponibles en
@menu
* Contexts explained::
* Creating contexts::
+* Keeping contexts alive::
* Modifying context plug-ins::
* Changing context default settings::
* Defining new contexts::
@end itemize
+@node Keeping contexts alive
+@subsection Keeping contexts alive
+
+@cindex contextos, mantener vivos
+@cindex contextos, tiempo de vida
+
+Normalmente los contextos finalizan en el primer momento musical en
+que no tienen nada que hacer. Así, los contextos de @code{Voice}
+mueren tan pronto como ya no contienen ningún evento; los contextos de
+@code{Staff} mueren tan pronto como todos los contextos de
+@code{Voice} que contenían ya no contengan ningún evento; etc. Esto
+puede ocasionar dificultades si se tiene que hacer referencia a
+contextos anteriores que ya han muerto, por ejemplo, al cambiar de
+pentagramas con instrucciones @code{\change}, asociar letra con una
+voz mediante instrucciones @code{\lyricsto}, o cuando se añaden
+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
+hasta el final de, contexto de @code{Staff} circundante o la
+construcción @code{<<...>>}, 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{<<...>>}.
+
+Cualquier contexto se puede mantener vivo si nos aseguramos de que
+tiene algo que hacer en cualquier momento musical dado. Los
+contextos de @code{Staff} se mantienen con vida si nos aseguramos de
+que una de sus voces se mantiene viva. Una manera de hacerlo es
+añadir silencios de separación a una voz en paralelo con la música
+real. Éstos deben añadirse a todos y cada uno de los contextos de
+@code{Voice} que se hayan de mantener vivos. Si se van a usar
+esporádicamente varias voces, es más seguro mantenerlas todas vivas en
+lugar de tratar de confiar en las excepciones que hemos mencionado
+arriba.
+
+En el ejemplo siguiente, tanto la voz A como la voz B se mantienen
+vivas de esta manera durante la duración de la pieza:
+
+@lilypond[quote,verbatim]
+musicA = \relative c'' { d4 d d d }
+musicB = \relative c'' { g4 g g g }
+keepVoicesAlive = {
+ <<
+ \new Voice = "A" { s1*5 } % Keep Voice "A" alive for 5 bars
+ \new Voice = "B" { s1*5 } % Keep Voice "B" alive for 5 bars
+ >>
+}
+
+music = {
+ \context Voice = "A" {
+ \voiceOneStyle
+ \musicA
+ }
+ \context Voice = "B" {
+ \voiceTwoStyle
+ \musicB
+ }
+ \context Voice = "A" { \musicA }
+ \context Voice = "B" { \musicB }
+ \context Voice = "A" { \musicA }
+}
+
+\score {
+ \new Staff <<
+ \keepVoicesAlive
+ \music
+ >>
+}
+@end lilypond
+
+@cindex letra, alineación con melodía esporádica
+
+El ejemplo siguiente muestra cómo se puede escribir una línea melódica
+esporádica con letra utilizando este enfoque. Por supuesto, en una
+situación real la melodía y el acompañamiento consistirían en varias
+secciones diferentes.
+
+@lilypond[quote,verbatim]
+melody = \relative c'' { a4 a a a }
+accompaniment = \relative c' { d4 d d d }
+words = \lyricmode { These words fol -- low the mel -- o -- dy }
+\score {
+ <<
+ \new Staff = "music" {
+ <<
+ \new Voice = "melody" {
+ \voiceOne
+ s1*4 % Keep Voice "melody" alive for 4 bars
+ }
+ {
+ \new Voice = "accompaniment" {
+ \voiceTwo
+ \accompaniment
+ }
+ <<
+ \context Voice = "melody" { \melody }
+ \context Voice = "accompaniment" { \accompaniment }
+ >>
+ \context Voice = "accompaniment" { \accompaniment }
+ <<
+ \context Voice = "melody" { \melody }
+ \context Voice = "accompaniment" { \accompaniment }
+ >>
+ }
+ >>
+ }
+ \new Lyrics \with { alignAboveContext = #"music" }
+ \lyricsto "melody" { \words }
+ >>
+}
+@end lilypond
+
+Una forma alternativa, que podría resultar mejor en muchas
+situaciones, es mantener con vida la línea melódica simplemente
+incluyendo notas espaciadoras para alinearla correctamente con el
+acompañamiento:
+
+@lilypond[quote,verbatim]
+melody = \relative c'' {
+ s1 % skip a bar
+ a4 a a a
+ s1 % skip a bar
+ a4 a a a
+}
+accompaniment = \relative c' {
+ d4 d d d
+ d4 d d d
+ d4 d d d
+ d4 d d d
+}
+words = \lyricmode { These words fol -- low the mel -- o -- dy }
+
+\score {
+ <<
+ \new Staff = "music" {
+ <<
+ \new Voice = "melody" {
+ \voiceOne
+ \melody
+ }
+ \new Voice = "accompaniment" {
+ \voiceTwo
+ \accompaniment
+ }
+ >>
+ }
+ \new Lyrics \with { alignAboveContext = #"music" }
+ \lyricsto "melody" { \words }
+ >>
+}
+@end lilypond
+
@node Modifying context plug-ins
@subsection Modifying context plug-ins
\name ImproVoice
\type "Engraver_group"
\consists "Note_heads_engraver"
+ \consists "Rhythmic_column_engraver"
\consists "Text_engraver"
\consists Pitch_squash_engraver
squashedPosition = #0
\relative c' \new Staff = "main" {
c4 c c c
<<
- \new Staff \with {alignAboveContext=main} \ossia
+ \new Staff \with { alignAboveContext = #"main" } \ossia
{ d8 f d f d f d f }
>>
}
Hemos estado hablando de @emph{el} objeto @code{Fingering}, pero
realmente esto no significa mucho. El archivo de inicialización
-(véase @ref{File structure}) @file{scm/@/define@/-grobs@/.scm} muestra
-el alma del @q{objeto},
+(véase @rlearning{Other sources of information})
+@file{scm/@/define@/-grobs@/.scm} muestra el alma del @q{objeto},
@example
(Fingering
@end example
@noindent
-no tiene ningúun efecto. Para cancelar este ajuste, se debe
+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
(@code{##f}) se producirá su desactivación, ocasionando que LilyPond
ignore por completo dicha propiedad. Esto es especialmente útil para
«apagar» propiedades de grobs (objetos gráficos) que de otra manera
-causarína problemas.
+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.
@cindex trucar
En ocasiones es posible tomar un atajo para realizar el ajuste fino de
-los objetos gráficos. Para objetos que reusultan directamente de un
+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},
por ejemplo
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, 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
+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
@node Input modes
@subsection Input modes
-La forma en que se interpreta la notación conenida dentro de un
+La forma en que se interpreta la notación contenida dentro de un
archivo de entrada, está determinada por el modo de entrada en curso.
@strong{Modo de acordes}
El modo de acordes se activa también con la instrucción
@code{\chords}. Esto crea también un contexto @code{ChordNames} nuevo
-y produce que el código que sigue se interprete conla sintaxis de la
+y produce que el código que sigue se interprete con la sintaxis de la
notación de acordes y se imprima como nombres de acorde dentro del
contexto @code{ChordNames}, véase @ref{Printing chord names}.
@strong{Modos de traste y tablatura}
-No existen modos de entrada especiales para introducir símibolos de
+No existen modos de entrada especiales para introducir símbolos de
trastes y de tablatura.
Para crear diagramas de trastes, escriba las notas o acordes en el
Al añadir articulaciones a notas se puede omitir normalmente el
indicador de dirección, @code{^} (que significa @qq{arriba}), @code{_}
(que significa @qq{abajo}) o @code{-} (que significa @qq{usar la
-dirección predeterminada}), en cuyo caso se supone el perdeterminado
-@code{-}. Pero se necesita un indicador de dirección @strong{always}
+dirección predeterminada}), en cuyo caso se supone el predeterminado
+@code{-}. Pero se necesita un indicador de dirección @strong{siempre}
antes de:
@itemize
@item las abreviaturas de articulación, p.ej. @code{-.}, @code{->}, @code{--}
@end itemize
+Estas indicaciones afectan sólo a la nota siguiente.
+
+@lilypond[verbatim,quote,relative=2]
+c2( c)
+c2_( c)
+c2( c)
+c2^( c)
+@end lilypond
+
@strong{La propiedad de dirección}
La posición o dirección de muchos objetos de presentación está
@code{RIGHT} significan @qq{a la derecha}. @code{0} ó @code{CENTER}
significan @qq{utilizar la dirección predeterminada}, como antes.
+Estas indicaciones afectan a todas las notas hasta que son canceladas.
+
+@lilypond[verbatim,quote,relative=2]
+c2( c)
+\slurDown
+c2( c)
+c2( c)
+\slurNeutral
+c2( c)
+@end lilypond
+
@node Distances and measurements
@subsection Distances and measurements
@strong{@i{La propiedad @code{minimum-length}}}
-La longitud mínima del objeto de extensión se pesoecifica a través de
+La longitud mínima del objeto de extensión se especifica a través de
la propiedad @code{minimum-length}. Su aumento suele producir el
efecto necesario de aumentar el espaciado de las notas entre los dos
puntos extremos. Sin embargo, esta sobreescritura no tiene ningún
\( a\)
@end lilypond
-Para algunos objetos de preesentación, la propiedad
+Para algunos objetos de presentación, la propiedad
@code{minimum-length} es efectiva sólo si se llama explícitamente al
procedimiento @code{set-spacing-rods}. Para hacerlo, se debe fijar la
propiedad @code{springs-and-rods} al valor
sobre la primera nota de un compás, en vez de eso terminen en la línea
divisoria inmediatamente precedente. Si se establece al valor falso,
el extensor llegará más allá de la barra de compás y terminará
-excatamente sobre la nota:
+exactamente sobre la nota:
@lilypond[verbatim,quote,relative=2]
a \< a a a a \! a a a \break
@item attach-dir (dirección de anclaje)
Determina dónde comienza y termina la línea en la dirección X, con
relación al objeto ancla. Sí, un valor de @code{-1} (o @code{LEFT},
-izquierda) hace que la línea comienze o termine en el lado izquierdo
+izquierda) hace que la línea comience o termine en el lado izquierdo
de la cabeza de la nota a la que está anclado.
@item X
@item stencil-align-dir-y (alineación del sello en y)
@item stencil-offset (desplazamiento del sello)
Si no se modifican uno u otro, el sello se coloca sencillamente en el
-punto extremo, centrado sobrer la línea, como viene definido por las
+punto extremo, centrado sobre la línea, como viene definido por las
subpropiedades @code{X} e @code{Y}. Si se fijan
@code{stencil-align-dir-y} o @code{stencil-offset} se moverá el
símbolo del borde verticalmente con relación al extremo de la línea:
@end lilypond
Observe que los valores negativos mueven el texto @emph{hacia arriba},
-al contrario de lo que podríoa esperarse, pues el valor de @code{-1} o
-@code{DOWN} (abajo) significa alinear el bborde @emph{inferior} del
+al contrario de lo que podría esperarse, pues el valor de @code{-1} o
+@code{DOWN} (abajo) significa alinear el borde @emph{inferior} del
texto con la línea de extensión. Un valor de @code{1} o @code{UP}
(arriba) alinea el borde superior del texto con la línea extensora.
Todo objeto de presentación tiene una propiedad stencil (sello). De
forma predeterminada está establecida a la función específica que
-dibuja ese objeto. Se se sobreescribe eesta propiedad a @code{#f} no
+dibuja ese objeto. Si se sobreescribe esta propiedad a @code{#f} no
se llama a ninguna función y el objeto no se dibuja. La acción
predeterminada se puede recuperar con @code{\revert}.
En el ejemplo de arriba, la clave blanca, con un valor @code{layer}
predeterminado de @code{1}, se dibuja después de las líneas del
-pentragrama (valor @code{layer} predeterminado de @code{0}),
+pentagrama (valor @code{layer} predeterminado de @code{0}),
sobreimpresionándolas. Para cambiarlo, se debe dar al objeto
@code{Clef} un valor de @code{layer} más bajo, digamos @code{-1}, para
que se dibuje antes:
@code{rotation}. Acepta una lista de tres elementos: el ángulo de la
rotación en sentido antihorario, y las coordenadas x e y del punto con
relación al punto de referencia del objeto, alrededor del que se va a
-realizar la rotación. El ángulo de rotación se pespecifica en grados
+realizar la rotación. El ángulo de rotación se especifica en grados
y las coordenadas en espacios de pentagrama.
El ángulo de rotación y las coordenadas del punto de rotación se deben
@unnumberedsubsubsec Rotating markup
Todos los textos de marcado se pueden rotar para que se dispongan en
-cualquier ángulo predeciéndolos de la instrucción @code{\rotate}. La
+cualquier ángulo precediéndolos de la instrucción @code{\rotate}. La
instrucción acepta dos argumentos: el ángulo de rotación en grados en
sentido antihorario, y el texto que rotar. Los límites que ocupa el
texto no se rotan: toman su valor a partir de los extremos de las
siendo negativos los desplazamientos hacia la izquierda. La extensión
vertical es una pareja de números que dan el desplazamiento a partir
del punto de referencia hasta los bordes inferior y superior, siendo
-negativos los deplazamientos hacia abajo.
+negativos los desplazamientos hacia abajo.
La posición de un objeto sobre el pentagrama viene dada por los
valores de las propiedades @code{X-offset} e @code{Y-offset}. El
* Setting @code{X-offset} and @code{Y-offset} directly::
* Using the @code{side-position-interface}::
* Using the @code{self-alignment-interface}::
-* Using the @code{break-aligned-interface}::
+* Using the @code{break-alignable-interface}::
@end menu
@node Setting @code{X-offset} and @code{Y-offset} directly
colocar junto a su objeto padre de forma que los bordes especificados
de los dos objetos se toquen. El objeto se puede situar encima,
debajo, a la derecha o a la izquierda del objeto padre. El padre no
-se puede especificar; ciene determinado por el orden de los elementos
+se puede especificar; viene determinado por el orden de los elementos
en el flujo de entrada. Casi todos los objetos tienen la cabeza de la
nota asociada como padre.
@c TODO The align-interface, BassFigureAlignment and VerticalAlignment
-@node Using the @code{break-aligned-interface}
-@unnumberedsubsubsec Using the @code{break-aligned-interface}
+@node Using the @code{break-alignable-interface}
+@unnumberedsubsubsec Using the @code{break-alignable-interface}
+
+@cindex alineación a objetos
+@cindex break-align-symbols
Las letras de ensayo se pueden alinear con objetos de notación
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 se centran
-horizontalmente sobre el objeto:
+De forma predeterminada, las letras de ensayo y los números de compás
+se centran horizontalmente sobre el objeto:
@lilypond[verbatim,quote,relative=1]
e1
e2.
@end lilypond
-La alineación de la letra de enzayo con relación al objeto de notación
+Se puede especificar una lista de posibles objetos para la alineación.
+Si algunos de los objetos son invisibles en ese punto debido al valor
+de @code{break-visibility} o a valores de visibilidad explícitos para
+las armaduras y las claves, la letra de ensayo o número de compás se
+alinean con el primer objeto de la lista que sea visible. Si ningún
+objeto de la lista es visible, el objeto se alinea con la línea
+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]
+e1
+% the RehearsalMark will be centered above the Key Signature
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \major
+\clef treble
+\mark "↓"
+e
+% the RehearsalMark will be centered above the Clef
+\set Staff.explicitKeySignatureVisibility = #all-invisible
+\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
+\key a \minor
+\clef bass
+\mark "↓"
+e,
+@end lilypond
+
+La alineación de la letra de ensayo con relación al objeto de notación
se puede cambiar, como se ve en el ejemplo siguiente. En una
partitura con varios pentagramas, este ajuste se debe hacer para todos
los pentagramas.
@node Modifying ties and slurs
@unnumberedsubsubsec Modifying ties and slurs
+@cindex ligaduras de expresión, modificar
+@cindex ligaduras de unión, modificar
+@cindex Bézier, curvas de
+@cindex Bézier, puntos de control
+
Las ligaduras de unión, de expresión y de fraseo se trazan como curvas
de Bézier de tercer orden. Si la forma de la ligadura calculada
automáticamente no resulta óptima, se puede modificar su forma
Las curvas Bézier de tercer orden o cúbicas están definidas por cuatro
puntos de control. El primer y cuarto puntos de control son
exactamente los puntos extremos de comienzo y de final de la curva.
-Los dos puntos de contros intermedios definen la forma. Se pueden
+Los dos puntos de control intermedios definen la forma. Se pueden
encontrar en la web animaciones que muestran cómo se traza la curva,
pero la descripción siguiente puede ser de ayuda. La curva comienza a
partir del primer punto de control dirigiéndose directamente hacia el
los dos puntos intermedios. Los valores óptimos se encuentran por
ensayo y error.
-Es útil recordar que una curva simétrica necesita puntos de contros
+Es útil recordar que una curva simétrica necesita puntos de control
simétricos, y que las curvas de Bézier tienen la útil propiedad de que
las transformaciones de la curva tales como la traslación, rotación y
escalado se pueden obtener aplicando la misma transformación a los
puntos de control de la curva.
Para el ejemplo anterior, la sobreescritura siguiente da una ligadura
-satisfactoria:
+satisfactoria. Observe la colocación: debe ir inmediatamente antes de
+la nota a la que se asigna el comienzo de la ligadura de expresión o
+de unión.
@lilypond[verbatim,quote,relative=1]
<<
- \once \override Tie
- #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
- { e1 ~ e1 }
+ {
+ \once \override Tie
+ #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
+ e1 ~ e1
+ }
\\
{ r4 <g c,> <g c,> <g c,>4 }
>>
No es posible modificar la forma de las ligaduras de unión o de
expresión cambiando la propiedad @code{control-points} si hay más de
-una en el mismo mom ento musical, ni siquiera usando la instrucción
+una en el mismo momento musical, ni siquiera usando la instrucción
@code{\tweak}.