@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
-Translation of GIT committish: 44099a932d98a8757b27ee92f9b0533170b516e3
+Translation of GIT committish: f0978ed121192fee9bdf2453a325d98693148acf
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.36"
+@c \version "2.15.10"
@node Cambiar los valores por omisión
@chapter Cambiar los valores por omisión
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{@rextend{Tutorial de Scheme}
+elementos de Scheme se inauguran dentro de un archivo @file{.ly} con
+el símbolo de cuadradillo@tie{}@code{#}.@footnote{@rextend{Tutorial de Scheme}
contiene un breve tutorial sobre la introducción de números,
listas, cadenas y símbolos en Scheme.}
@rlearning{Contextos y grabadores}.
Archivos de inicio:
-@file{ly/@/engraver@/-init@/.ly},
-@file{ly/@/performer@/-init@/.ly}.
+@file{ly/engraver-init.ly},
+@file{ly/performer-init.ly}.
Fragmentos de código:
@rlsr{Contexts and engravers}.
almacenan propiedades, también contienen «plug-ins» o complementos
llamados @q{grabadores} que crean elementos de notación. Por ejemplo,
el contexto @code{Voice} contiene un grabador
-@code{Note_head_engraver} que crea las cabezas de nota y el contexto
+@code{Note_heads_engraver} que crea las cabezas de nota y el contexto
@code{Staff} contiene un grabador @code{Key_signature_engraver} que
crea la indicación de compás.
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
+ \override Flag #'transparent = ##t
\alias Voice
}
\context { \Staff
@example
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
+\override Flag #'transparent = ##t
@end example
Todos estos añadidos tienen que cooperar, y esto se consigue con un
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
+ \override Flag #'transparent = ##t
\alias Voice
@}
@end example
Hemos estado hablando de @emph{el} objeto @code{Fingering}, pero
realmente esto no significa mucho. El archivo de inicialización
(véase @rlearning{Otras fuentes de información})
-@file{scm/@/define@/-grobs@/.scm} muestra el alma del @q{objeto},
+@file{scm/define-grobs.scm} muestra el alma del @q{objeto},
@example
(Fingering
@end example
@var{valor} es un objeto de Scheme, razón por la que va precedido del
-carácter almohadilla, @code{#}.
+carácter almohadilla,@tie{}@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
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
+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}.
Para muchas propiedades, independientemente del tipo de datos de la
propiedad, si se establece el valor de la propiedad a falso
-(@code{##f}) se producirá su desactivación, ocasionando que LilyPond
+(@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ían problemas.
@subsection @code{\set} frente a @code{\override}
@translationof set versus override
-HACER: probablemente esta sección es innecesaria.
+@c HACER: probablemente esta sección es innecesaria.
@ignore
We have seen two methods of changing properties: @code{\set} and
lista-A es la siguiente:
@example
-#((@var{clave1} . @var{valor1})
+'((@var{clave1} . @var{valor1})
(@var{clave2} . @var{valor2})
(@var{clave3} . @var{valor3})
@dots{})
afecte a las otras claves.
Por ejemplo, para reducir el espacio entre pentagramas adyacentes
-dentro de un sistema, use la propiedad @code{between-staff-spacing}
+dentro de un grupo, use la propiedad @code{staff-staff-spacing}
del grob @code{StaffGrouper}. La propiedad es una lista-A con cuatro
-claves: @code{padding} (relleno), @code{space} (espacio),
-@code{minimum-distance} (distancia mínima) y @code{stretchability}
-(ampliabilidad). Tres de las cuatro claves tienen valores
-predeterminados en el inicio, que están definidos (junto con todo el
-resto de las propiedades de grobs) en el archivo
-@file{scm/define-grobs.scm}:
+claves: @code{basic-distance} (distancia básica),
+@code{minimum-distance} (distancia mínima), @code{padding} (relleno)
+y @code{stretchability} (ampliabilidad).
+Los ajustes estándar para esta propiedad
+se relacionan en la sección
+@qq{Backend} de la Referencia de Funcionamiento Interno
+(véase @rinternals{StaffGrouper}):
@example
-(between-staff-spacing . ((padding . 1)
- (space . 9)
- (minimum-distance . 7)))
+'((basic-distance . 9)
+ (minimum-distance . 7)
+ (padding . 1)
+ (stretchability . 5))
@end example
Una forma de acercar los pentagramas entre sí es reducir el valor de
-la clave @code{space} (@code{9}) para que se corresponda con el valor
+la clave @code{basic-distance} (@code{9}) para que se corresponda con el valor
de @code{minimum-distance} (@code{7}). Para modificar una única clave
-de forma individual, utilice una declaración anidada:
+de forma individual, utilice una @emph{declaración anidada}:
@lilypond[quote,verbatim]
% default space between staves
% reduced space between staves
\new PianoStaff \with {
- \override StaffGrouper #'between-staff-spacing #'space = #7
+ % this is the nested declaration
+ \override StaffGrouper #'staff-staff-spacing #'basic-distance = #7
} <<
\new Staff { \clef treble c''1 }
\new Staff { \clef bass c1 }
@end lilypond
La utilización de una declaración anidada actualiza la clave
-especificada (@code{space} en el ejemplo anterior) sin alterar ninguna
+especificada (como @code{basic-distance} en el ejemplo anterior)
+sin alterar ninguna
de las otras claves que ya se habían establecido para la misma
propiedad.
Ahora, supongamos que deseamos que los pentagramas estén tan próximos
como sea posible sin que se superpongan. La manera más sencilla de
-hacerlo es establecer las cuatro claves de la lista-A a cero. En tal
-caso, no es necesario fijar el valor de cada clave individualmente con
-declaraciones anidadas. En lugar de eso, se puede redefinir
+hacerlo es establecer las cuatro claves de la lista-A a cero. Sin
+embargo, no es necesario escribir cuatro declaraciones anidadas,
+una por cada clave. En lugar de eso, se puede redefinir
completamente la propiedad con una sola declaración, como una lista-A:
@lilypond[quote,verbatim]
\new PianoStaff \with {
- \override StaffGrouper #'between-staff-spacing =
- #'((padding . 0)
- (space . 0)
+ \override StaffGrouper #'staff-staff-spacing =
+ #'((basic-distance . 0)
(minimum-distance . 0)
+ (padding . 0)
(stretchability . 0))
} <<
\new Staff { \clef treble c''1 }
Observe que cualquier clave que no haya sido relacionada
explícitamente en la definición de la lista-A, será reiniciada a sus
valores @emph{predeterminados si no se han fijado}. En el caso de
-@code{between-staff-spacing}, el valor de cualquier clave no fijada se
+@code{staff-staff-spacing}, el valor de cualquier clave no fijada se
reiniciaría a cero (excepto @code{stretchability}, que toma el valor
-de @code{space} si no se fija). Así, las dos declaraciones siguientes
+de @code{basic-distance} si no se fija). Así, las dos declaraciones siguientes
son equivalentes:
@example
-\override StaffGrouper #'between-staff-spacing =
- #'((space . 7))
+\override StaffGrouper #'staff-staff-spacing =
+ #'((basic-distance . 7))
-\override StaffGrouper #'between-staff-spacing =
- #'((padding . 0)
- (space . 7)
+\override StaffGrouper #'staff-staff-spacing =
+ #'((basic-distance . 7)
(minimum-distance . 0)
+ (padding . 0)
(stretchability . 7))
@end example
Una consecuencia de esto (posiblemente no intencionada) es la
-eliminación de cualquier valor predeterminado @emph{inicializado} que
+eliminación de cualquier valor estándar que
se establezca en un archivo de inicio y que se carga cada vez que se
-compila un archivo de entrada. En el ejemplo anterior, los valores
-predeterminados inicializados para @code{padding} y
+compila un archivo de entrada. En el ejemplo anterior, los ajustes
+estándar para @code{padding} y
@code{minimum-distance} (definidos en @file{scm/define-grobs.scm}) se
reinician a sus valores predeterminados si no se han fijado (cero para
las dos claves). La definición de una propiedad o variable como una
lista-A (de cualquier tamaño) siempre reinicia todos los valores de
clave no establecidos a sus valores predeterminados si no se han
fijado. Ano ser que este sea el resultado deseado, es más seguro
-actualizar los valores de clave inddividualmente con una declaración
+actualizar los valores de clave individualmente con una declaración
anidada.
@warning{Las declaraciones anidadas no funcionan para las listas-A de
@c TODO Add table showing these
-@strong{Disposición de contexto}
-
-Los contextos se colocan dentro de un sistema de arriba a abajo en el
-orden en que se encuentran. Sin embargo, observe que se crea un
-contexto implícitamente si se encuentra una instrucción cuando no está
-disponible un contexto apropiado para contenerla.
-
-@c TODO Add example ?
-
-Se pude cambiar el orden predeterminado en que los contextos se
-presentan, véase @ref{Alinear los contextos}
-
-@strong{Indicadores de dirección de las articulaciones}
-
-Al añadir articulaciones a notas se puede omitir normalmente el
-indicador de dirección, @code{^} (que significa @qq{arriba}), @code{_}
+Se puede sobreescribir la acción predeterminada mediante el prefijado
+de la articulación por un @emph{indicacor de dirección}. Están disponibles
+tres indicadores 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 predeterminado
-@code{-}. Pero se necesita un indicador de dirección @strong{siempre}
+dirección predeterminada}). El indicador de dirección se puede normalmente
+omitir, en cuyo caso se supone el indicador predeterminado
+@code{-}, pero se necesita un indicador de dirección @strong{siempre}
antes de:
@itemize
@item las instrucciones @code{\markup}
@item las instrucciones @code{\tag}
@item los marcados de cadena, p.ej. -"cadena"
-@item las instrucciones de digitación, p.ej. @code{-1}
-@item las abreviaturas de articulación, p.ej. @code{-.}, @code{->}, @code{--}
+@item las instrucciones de digitación, p.ej. @w{@code{-1}}
+@item las abreviaturas de articulación, p.ej. @w{@code{-.}}, @w{@code{->}}, @w{@code{--}}
@end itemize
Estas indicaciones afectan sólo a la nota siguiente.
El valor de la propiedad @code{direction} se puede establecer al valor
@code{1}, con el significado de @qq{hacia arriba} o @qq{encima}, o a
-@code{-1}, con el significado de @qq{hacia abajo} o @qq{debajo}. Se
+@w{@code{-1}}, con el significado de @qq{hacia abajo} o @qq{debajo}. Se
pueden usar los símbolos @code{UP} y @code{DOWN} en sustitución de
-@code{1} y @code{-1} respectivamente. La dirección predeterminada se
+@code{1} y @w{@code{-1}} respectivamente. La dirección predeterminada se
puede especificar estableciendo @code{direction} a @code{0} ó a
@code{CENTER}. De forma alternativa, en muchos casos existen
instrucciones predefinidas para especificar la dirección. Todas ellas
En alguna que otra ocasión, con el único ejemplo usual del arpegio, el
valor de la propiedad @code{direction} especifica si el objeto se debe
colocar a la izquierda o a la derecha del objeto padre. En este caso
-@code{-1} ó @code{LEFT} significan @qq{a la izquierda} y @code{1} ó
+@w{@code{-1}} ó @code{LEFT} significan @qq{a la izquierda} y @code{1} ó
@code{RIGHT} significan @qq{a la derecha}. @code{0} ó @code{CENTER}
significan @qq{utilizar la dirección predeterminada}, como antes.
@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{Disposición de la página}.
Las distancias escaladas siempre se especifican en unidades de un
espacio del pentagrama o, más raramente, medio espacio del pentagrama.
@rlearning{Longitud y grosor de los objetos}.
Referencia de la notación:
-@ref{Formateo de las páginas},
+@ref{Disposición de la página},
@ref{Establecer el tamaño del pentagrama}.
@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},
+relación al objeto ancla. Sí, un valor de @w{@code{-1}} (o @code{LEFT},
izquierda) hace que la línea comience o termine en el lado izquierdo
de la cabeza de la nota a la que está anclado.
@end lilypond
Observe que los valores negativos mueven el texto @emph{hacia arriba},
-al contrario de lo que podría esperarse, pues el valor de @code{-1} o
+al contrario de lo que podría esperarse, pues el valor de @w{@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.
predeterminado de @code{1}, se dibuja después de las líneas del
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
+@code{Clef} un valor de @code{layer} más bajo, digamos @w{@code{-1}}, para
que se dibuje antes:
@lilypond[quote,verbatim,relative=2]
El pequeño símbolo de octava sobre las claves en octava alta o baja se
produce por parte del objeto @code{OctavateEight}. Su visibilidad se
-controla independientemente de la del objeto @code{Clef}, así que es
+hereda automáticamente de la del objeto @code{Clef}, así que no es
necesario aplicar las sobreescrituras correspondientes
-@code{break-visibility} tanto a los objetos @code{Clef} como
-@code{OctavateEight} para suprimir completamente estos símbolos de
-clave al comienzo de cada línea.
+@code{break-visibility} a los objetos
+@code{OctavateEight} para suprimir los símbolos de 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
e2 \glissando f
@end lilypond
-El valor de @code{Y} está establecido a @code{-2} para el extremo
+El valor de @code{Y} está establecido a @w{@code{-2}} para el extremo
derecho. El lado izquierdo se puede ajustar de forma similar
especificando @code{left} en vez de @code{right}.
Archivos de inicio:
-@file{scm/@/define@/-grobs@/.scm}.
+@file{scm/define-grobs.scm}.
Fragmentos de código:
@rlsr{Tweaks and overrides}.
@headitem @code{side-axis} @tab @code{direction} @tab
@headitem propiedad @tab propiedad @tab colocación
-@item @code{0} @tab @code{-1} @tab izquierda
+@item @code{0} @tab @w{@code{-1}} @tab izquierda
@item @code{0} @tab @code{1} @tab derecha
-@item @code{1} @tab @code{-1} @tab debajo
+@item @code{1} @tab @w{@code{-1}} @tab debajo
@item @code{1} @tab @code{1} @tab encima
@end multitable
mitad de la extensión X total del objeto. Los valores negativos
mueven el objeto a la derecha, los positivos hacia la izquierda. Un
valor de @code{0} centra el objeto sobre el punto de referencia de su
-padre, un valor de @code{-1} alinea el borde izquierdo del objeto
+padre, un valor de @w{@code{-1}} alinea el borde izquierdo del objeto
sobre el punto de referencia de su padre, y un valor de @code{1}
alinea el borde derecho del objeto sobre el punto de referencia de su
padre. Se pueden usar los símbolos @code{LEFT}, @code{CENTER} y
-@code{RIGHT} en sustitución de los valores @code{-1, 0, 1},
+@code{RIGHT} en sustitución de los valores @w{@code{-1}}, @code{0} y @code{1},
respectivamente.
Normalmente se usaría la instrucción @code{\override} para modificar
objetos sea una tarea dificultosa. Las unidades son sólo la mitad de
las dimensiones verticales del objeto, que suele ser bastante pequeño,
por lo que pueden requerirse números bastante grandes. Un valor de
-@code{-1} alinea el borde inferior del objeto con el punto de
+@w{@code{-1}} alinea el borde inferior del objeto con el punto de
referencia del objeto padre, un valor de @code{0} alinea el centro del
objeto con el punto de referencia del padre, y un valor de @code{1}
alinea el borde superior del objeto con el punto de referencia del
padre. Se pueden usar los símbolos @code{DOWN}, @code{CENTER},
-@code{UP} en sustitución de @code{-1, 0, 1} respectivamente.
+@code{UP} en sustitución de @w{@code{-1}},
+@code{0} y @code{1}, respectivamente.
@emph{Auto-alineación de objetos en las dos direcciones}
@cindex ligaduras de expresión, modificar
@cindex ligaduras de unión, modificar
-@cindex Bézier, curvas de
-@cindex Bézier, puntos de control
+@cindex Bézier, curvas de, puntos de control
+@cindex puntos de control en curvas de Bézier
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
@lilypond[verbatim,quote,relative=1]
<<
- { e1 ~ e }
+ { e1~ e }
\\
{ r4 <g c,> <g c,> <g c,> }
>>
{
\once \override Tie
#'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
- e1 ~ e1
+ e1 ~ e
}
\\
- { r4 <g c,> <g c,> <g c,>4 }
+ { r4 <g c,> <g c,> <g c,> }
>>
@end lilypond
@knownissues
-
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 momento musical, ni siquiera usando la instrucción
-@code{\tweak}.
+@code{\tweak}. Sin embargo, se puede sobreescribir la propiedad @code{tie-configuration} de
+@code{TieColumn} para fijar la línea de inicio y la dirección según se requiera.
+@seealso
+Referencia de funcionamiento interno:
+@rinternals{TieColumn}.
@node Uso de las funciones musicales
Además de números, podemos usar expresiones musicales, como notas,
para los argumentos de las funciones musicales:
+@c TODO: use a better example (the music argument is redundant).
+
@lilypond[quote,verbatim,ragged-right]
custosNote =
#(define-music-function
}
@end lilypond
-@c @seealso
-
-
+@c TODO: add appropriate @@ref's here.