@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 6da27f9b294c385ff8fc75876e152d67f0b4794e
+ Translation of GIT committish: ff7d82711b47d3d31f26e1e6fc012c4055a20059
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.16.0"
+@c \version "2.17.20"
@node Trucar la salida
@chapter Trucar la salida
* Manual de referencia de funcionamiento interno::
* Apariencia de los objetos::
* Colocación de los objetos::
+* Espaciado vertical::
* Colisiones de objetos::
* Trucajes adicionales::
@end menu
@strong{La instrucción \override}
+@menu
+* La instrucción override::
+* La instrucción revert::
+* El prefijo once::
+* La instrucción overrideProperty::
+* La instrucción tweak::
+@end menu
+
+@node La instrucción override
+@unnumberedsubsubsec La instrucción @code{@bs{}override}
+@translationof The override command
+
@cindex override, instrucción
@cindex override (sobreescritura), sintaxis de
La sintaxis genérica de esta instrucción es:
@example
-\override @var{Contexto}.@var{ObjetoDePresentación} #'@var{propiedad-de-presentación} =
+\override @var{Contexto}.@var{ObjetoDePresentación}.@var{propiedad-de-presentación} =
#@var{valor}
@end example
sencillos que sean fáciles de entender, para ilustrar el formato
y la utilización de estas instrucciones.
-Por ahora no se preocupe por el @code{#'}, que debe anteponerse a la
-propiedad de presentación, y el@tie{}@code{#}, que debe preceder al valor.
-Deben estar presentes siempre y de esa forma exacta. Es la
+Las expresiones principales de LilyPond son elementos musicales
+como notas, duraciones y elementos de marcado. Las expresiones
+más básicas como números, cadenas de caracteres y listas se
+procesan en el @q{modo de Scheme}, que se invoca por medio del
+prefijo @samp{#} escrito antes del valor. Aunque los valores
+pueden tener a veces una representación válida en el modo de
+música de LilyPond, este manual utiliza siempre @samp{#} para la
+escritura, por coherencia. Para ver más información acerca del
+modo de Scheme, consulte @rextend{Sintaxis del Scheme de LilyPond}.
+
+@code{\override} es la
instrucción de uso más común dentro del trucaje, y durante la mayor
parte del resto de este capítulo presentaremos ejemplos de cómo se
usa. A continuación hay un ejemplo sencillo para cambiar el color de
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
c4 d
-\override NoteHead #'color = #red
+\override NoteHead.color = #red
e4 f |
-\override NoteHead #'color = #green
+\override NoteHead.color = #green
g4 a b c |
@end lilypond
-@strong{La instrucción \revert}
+
+@node La instrucción revert
+@unnumberedsubsubsec La instrucción @code{@bs{}revert}
+@translationof The revert command
@cindex revert, instrucción
se han utilizado varias instrucciones @code{\override}.
@example
-\revert @var{Contexto}.@var{ObjetoDePresentación} #'@var{propiedad-de-presentación}
+\revert @var{Contexto}.@var{ObjetoDePresentación}.@var{propiedad-de-presentación}
@end example
Una vez más, igual que @var{Contexto} dentro de la instrucción
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
c4 d
-\override NoteHead #'color = #red
+\override NoteHead.color = #red
e4 f |
-\override NoteHead #'color = #green
+\override NoteHead.color = #green
g4 a
-\revert NoteHead #'color
+\revert NoteHead.color
b4 c |
@end lilypond
-@strong{El prefijo \once}
+
+@node El prefijo once
+@unnumberedsubsubsec El prefijo @code{@bs{}once}
+@translationof The once prefix
@funindex \once
@funindex once
@cindex color, propiedad, ejemplo
@cindex NoteHead, ejemplo de sobreescritura
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
c4 d
-\override NoteHead #'color = #red
+\override NoteHead.color = #red
e4 f |
-\once \override NoteHead #'color = #green
+\once \override NoteHead.color = #green
g4 a
-\revert NoteHead #'color
+\revert NoteHead.color
b c |
@end lilypond
-@strong{La instrucción \overrideProperty}
+El prefijo @code{\once} también se puede usar delante de muchas
+instrucciones predefinidas para limitar su efecto a un solo momento
+musical:
+
+@lilypond[quote,verbatim,relative=1]
+c4 d
+\once \stemDown
+e4 f |
+g4 a
+\once \hideNotes
+b c |
+@end lilypond
+
+Sin embargo, las instrucciones predefinidas de la forma
+@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.
+
+
+@node La instrucción overrideProperty
+@unnumberedsubsubsec La instrucción @code{@bs{}overrideProperty}
+@translationof The overrideProperty command
@cindex overrideProperty, instrucción
detalles consulte @rextend{Trucos difíciles}.
@c Maybe explain in a later iteration -td
-@strong{La instrucción \tweak}
+
+@node La instrucción tweak
+@unnumberedsubsubsec La instrucción @code{@bs{}tweak}
+@translationof The tweak command
@cindex tweak, instrucción
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
<c e g>4
-\once \override NoteHead #'font-size = #-3
+\once \override NoteHead.font-size = #-3
<c e g>4
<c e g>4
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
<c e g>4
-<c \tweak #'font-size #-3 e g>4
+<c \tweak font-size #-3 e g>4
@end lilypond
Observe que la sintaxis de @code{\tweak} no es igual que la de
de la instrucción @code{\tweak} en su forma sencilla es:
@example
-\tweak #'@var{propiedad-de-presentación} #@var{valor}
+\tweak @var{propiedad-de-presentación} #@var{valor}
@end example
Una instrucción @code{\tweak} también se puede usar para modificar
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
a4^"Black"
- -\tweak #'color #red ^"Red"
- -\tweak #'color #green _"Green"
+ -\tweak color #red ^"Red"
+ -\tweak color #green _"Green"
@end lilypond
@noindent
el evento original:
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-<\tweak Accidental #'color #red cis4
- \tweak Accidental #'color #green es
- g>
+<\tweak Accidental.color #red cis4
+ \tweak Accidental.color #green es
+ g>
@end lilypond
Esta forma extensa de la instrucción @code{\tweak} se puede describir
como
@example
-\tweak @var{layout-object} #'@var{layout-property} @var{value}
+\tweak @var{objeto-de-presentación}.@var{propiedad-de-presentación} @var{valor}
@end example
@cindex grupos especiales anidados
@cindex color, propiedad, ejemplo
@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-\tweak #'direction #up
-\times 4/3 {
- \tweak #'color #red
- \times 2/3 { c8[ c c] }
- \times 2/3 { c8[ c c] }
- \times 2/3 { c8[ c c] }
+\tweak direction #up
+\tuplet 3/4 {
+ \tweak color #red
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
}
@end lilypond
@cindex transparent, propiedad, ejemplo
@cindex TupletNumber, ejemplo de sobreescritura
-@c NOTE Tuplet brackets collide if notes are high on staff
-@c See issue 509
@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
-\once \override TupletNumber
- #'text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 { c8[ c c] }
+\once \override TupletNumber.text = #tuplet-number::calc-fraction-text
+\tuplet 3/2 {
c8[ c]
c8[ c]
- \once \override TupletNumber #'transparent = ##t
- \times 2/3 { c8[ c c] }
- \times 2/3 { c8[ c c] }
+ \once \override TupletNumber.transparent = ##t
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
}
@end lilypond
@cindex Referencia de Funcionamiento Interno, ejemplo de utilización
@cindex @code{\addlyrics}, ejemplo
-
Utilicemos un ejemplo concreto con un sencillo fragmento de música
real:
siguiente:
@example
-\override Slur #'thickness = #5.0
+\override Slur.thickness = #5.0
@end example
¡No olvide el @code{#'} antes del nombre de la propiedad y@tie{}@code{#}
\time 6/8
{
% Increase thickness of all following slurs from 1.2 to 5.0
- \override Slur #'thickness = #5.0
+ \override Slur.thickness = #5.0
r4 bes8 bes[( g]) g |
g8[( es]) es d[( f]) as |
as8 g
práctica). La cual vendrá proporcionada por los ejemplos que vienen a
continuación.
-@subheading Búsqueda del contexto
+@subsubsubheading Búsqueda del contexto
@cindex contexto, encontrar
@cindex contexto, buscar el, correcto
por el hecho de que estamos escribiendo notas, podemos omitirlo en
este lugar concreto.
-@subheading Sobreescritura por una sola vez
+@subsubsubheading Sobreescritura por una sola vez
@cindex sobreescritura por una sola vez
@cindex once override
{
r4 bes8
% Increase thickness of immediately following slur only
- \once \override Slur #'thickness = #5.0
+ \once \override Slur.thickness = #5.0
bes8[( g]) g |
g8[( es]) es d[( f]) as |
as8 g
La instrucción o prefijo @code{\once} también se puede usar antes de
la instrucción @code{\set}.
-@subheading Recuperación del ajuste
+@subsubsubheading Recuperación del ajuste
@cindex revertir
@cindex predeterminadas, recuperar las propiedades
{
r4 bes8
% Increase thickness of immediately following slur only
- \once \override Slur #'thickness = #5.0
+ \once \override Slur.thickness = #5.0
bes[( g]) g |
% Increase thickness of immediately following slur only
- \once \override Slur #'thickness = #5.0
+ \once \override Slur.thickness = #5.0
g8[( es]) es d[( f]) as |
as8 g
}
{
r4 bes8
% Increase thickness of all following slurs from 1.2 to 5.0
- \override Slur #'thickness = #5.0
+ \override Slur.thickness = #5.0
bes[( g]) g |
g8[( es]) es
% Revert thickness of all following slurs to default of 1.2
- \revert Slur #'thickness
+ \revert Slur.thickness
d8[( f]) as |
as8 g
}
propiedad es @code{font-shape} y el valor es @code{italic}. Igual que
antes, omitiremos el contexto.
-Como nota aparte, aunque una nota importante, observe que a causa de
-que los valores de @code{font-shape} son símbolos, deben ir precedidos
-de un apóstrofo, @code{'}. Esa es la razón por la que se necesitan
-apóstrofos antes de @code{thickness} en el ejemplo anterior y en
-@code{font-shape}. Los dos son también símbolos. Los símbolos son
-nombres especiales que son conocidos por LilyPond internamente.
-Algunos de ellos son nombres de propiedades, como @code{thickness} o
-@code{font-shape}, otros se utilizan como valores que se les puede dar
-a las propiedades, como @code{italic}. Observe la distinción entre
-esto y las cadenas de texto arbitrarias, que aparecerían
-entrecomilladas como @code{"a text string"}. Para ver más detalles
-relacionados con los símbolos y las cadenas, consulte
+Como nota aparte, aunque es importante, observe que ciertas
+propiedades toman valores que son símbolos, como @code{italic}, y
+deben ir precedidos de un apóstrofo, @code{'}. Los símbolos se
+leen a continuación internamente por parte de LilyPond. Tenga en
+cuenta la diferencia con las cadenas de texto arbitrarias, que
+aparecerían como @code{"una cadena de texto"}; para ver más
+detalles sobre los símbolos y las cadenas, consulte
@rextend{Tutorial de Scheme}.
Así pues, la instrucción @code{\override} necesaria para imprimir la
letra en cursiva, es:
@example
-\override LyricText #'font-shape = #'italic
+\override LyricText.font-shape = #'italic
@end example
@noindent
as8 g
}
\addlyrics {
- \override LyricText #'font-shape = #'italic
+ \override LyricText.font-shape = #'italic
The man who | feels love's sweet e -- | mo -- tion
}
}
@noindent
y toda la letra se imprime en cursiva.
-@subheading Especificación del contexto en modo letra
-
-@cindex contexto, especificación en modo letra
-@cindex letra, modo, especificar el contexto en
-
-En el caso de la letra, si intenta especificar el contexto en el
-formato que acabamos de dar, la instrucción no funcionará. Una
-sílaba escrita en el modo letra, «lyricmode» termina en un espacio, un
-salto de línea o un dígito. Cualquier otro carácter se incluye como
-parte de la sílaba. Por esta razón, un espacio o salto de línea debe
-aparecer antes del último símbolo @code{@}} para evitar que se incluya
-como parte de la sílaba final. De forma similar, se deben insertar
-espacios antes y después del punto, @q{.}, separando el nombre del
-contexto del nombre del objeto, pues en caso contrario los dos nombres
-se juntarán y el intérprete no podrá reconocerlos. Así pues, la
-instrucción será:
-
-@example
-\override Lyrics . LyricText #'font-shape = #'italic
-@end example
-
@warning{Dentro de la letra, deje siempre espacios entre la sílaba
final y la llave de cierre.}
-@warning{En las sobreescrituras con override dentro de la letra,
-escriba siempre espacios antes y después del punto que separa el
-nombre del contexto y el nombre del objeto.}
-
@seealso
Manual de Extensión:
los tipos que podrá necesitar, junto con las reglas de dicho tipo, y
algunos ejemplos. Debe escribir siempre un símbolo de almohadilla,
@code{#}, por supuesto, delante de estos valores cuando se introducen
-en la instrucción @code{\override}.
+en la instrucción @code{\override}, incluso si el propio valor ya
+comienza por@tie{}@code{#}. Solamente ofrecemos aquí ejemplos para
+constantes; si quiere calcular un valor usando Scheme, consulte
+@rextend{Cálculos en Scheme}.
@multitable @columnfractions .2 .45 .35
@headitem Tipo de propiedad
@tab Verdadero o Falso, representado por #t o #f
@tab @code{#t}, @code{#f}
@item Dimensión (en espacios de pentagrama)
- @tab Un número decimal positivo (en unidades de espacios de pentagrama)
+ @tab Un número decimal (en unidades de espacios de pentagrama)
@tab @code{2.5}, @code{0.34}
@item Dirección
- @tab Una constante válida de dirección o su equivalente numérico (se permiten valores decimales entre -1 y 1)
+ @tab Una constante válida de dirección o su equivalente numérico
+ (@code{0} o @code{CENTER} indican una dirección neutra)
@tab @code{LEFT}, @code{CENTER}, @code{UP},
@code{1}, @w{@code{-1}}
@item Entero
@tab Un número entero positivo
- @tab @code{3}, @code{1}
+ @tab @code{3}, @code{-1}
@item Lista
- @tab Un conjunto de valores separados por espacios, encerrado entre paréntesis y precedido de un apóstrofo
- @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+ @tab Una secuencia de constantes o símbolos separados por espacios,
+ encerrado entre paréntesis
+ y precedido de un apóstrofo o comilla simple
+ @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()},
@code{'(1.0 0.25 0.5)}
@item Marcado
@tab Cualquier elemento válido de marcado de texto
- @tab @code{\markup @{ \italic "cresc." @}}
+ @tab @code{\markup @{ \italic "cresc." @}}, @code{"gaita"}
@item Momento
@tab Una fracción de redonda construida con la función make-moment
- @tab @code{(ly:make-moment 1 4)},
- @code{(ly:make-moment 3 8)}
+ @tab @code{(ly:make-moment 1/4)},
+ @code{(ly:make-moment 3/8)}
@item Número
- @tab Cualquier valor decimal positivo o negativo
- @tab @code{3.5}, @w{@code{-2.45}}
+ @tab Cualquier valor positivo o negativo, posiblemente decimal
+ @tab @code{3}, @w{@code{-2.45}}
@item Pareja (de números)
@tab Dos números separados por un @q{espacio . espacio}, encerrado entre paréntesis y precedido de un apóstrofo
@tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
@tab @code{bend::print}, @code{ly:text-interface::print},
@code{#f}
@item Vector
- @tab Una lista de tres elementos encerrados entre paréntesis y precedida de apóstrofo-almohadilla, @code{'#}.
- @tab @code{'#(#t #t #f)}
+ @tab Constantes
+ encerradas entre @code{#(}@dots{}@code{)}.
+ @tab @code{#(#t #t #f)}
@end multitable
supuesto, por extensión, también la de muchos otros objetos de
presentación). Vamos a considerar cada uno de ellos por orden.
-@subheading stencil (sello)
+@menu
+* La propiedad stencil (sello)::
+* La propiedad break-visibility (visibilidad en el salto)::
+* La propiedad transparent (transparente)::
+* La propiedad color::
+@end menu
+
+@node La propiedad stencil (sello)
+@unnumberedsubsubsec La propiedad @code{stencil} (sello)
+@translationof The stencil property
@cindex stencil (sello), propiedad
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override BarLine #'stencil = ##f
+ \override BarLine.stencil = ##f
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.BarLine #'stencil = ##f
+ \override Staff.BarLine.stencil = ##f
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
-Ahora las barras de compás han desaparecido.
+Ahora las barras de compás han desaparecido. La operación de
+fijar la propiedad @code{stencil} al valor @code{#f} es tan
+frecuente que existe una abreviatura para ella, llamada
+@code{\omit} (omitir):
+@funindex \omit
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \omit Staff.BarLine
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
Sin embargo, observe que el establecimiento de la propiedad
@code{stencil} al valor @code{#f} produce errores cuando las se
@lilypond[quote,verbatim,relative=2]
{
c4 c
- \once \override NoteHead #'stencil = #point-stencil
+ \once \override NoteHead.stencil = #point-stencil
c4 c
}
@end lilypond
-@subheading break-visibility (visibilidad en el salto)
+@node La propiedad break-visibility (visibilidad en el salto)
+@unnumberedsubsubsec The @code{break-visibility} (visibilidad en el salto)
+@translationof The break-visibility property
@cindex break-visibility, propiedad
-Vemos en las propiedades de @code{BarLine} que aparecen en el RFI que
-la propiedad @code{break-visibility} requiere un vector de tres
-valores booleanos. Controlan respectivamente si las barras de compás
-se imprimen al final de una línea, en mitad de una línea, y al
-principio de las líneas. Para nuestro ejemplo, queremos que todas las
-barras de compás se supriman, por lo que el valor que necesitamos es
-@code{'#(#f #f #f)}. Vamos a probarlo, recordando incluir el contexto
-de @code{Staff}. Observe también que al escribir este valor tenemos
-@code{#'#} antes del paréntesis de apertura. Se necesita @code{'#}
-como parte del valor para introducir un vector, y el primer símbolo de
-almohadilla@tie{}@code{#} se necesita, como siempre, para preceder el valor
-en sí dentro de la instrucción @code{\override}.
+Vemos en las propiedades de @code{BarLine} que aparecen en el RFI
+que la propiedad @code{break-visibility} requiere un vector de
+tres valores booleanos. Controlan respectivamente si las barras
+de compás se imprimen al final de una línea, en mitad de una
+línea, y al principio de las líneas. Para nuestro ejemplo,
+queremos que todas las barras de compás se supriman, por lo que el
+valor que necesitamos es @code{#(#f #f #f)} (disponible también
+bajo el nombre @code{all-invisible}, todas invisibles). Vamos a
+probarlo, recordando incluir el contexto de @code{Staff}. Observe
+también que al escribir este valor tenemos @code{##} antes del
+paréntesis de apertura. Se necesita un @code{#} como parte de la
+sintaxis de las contantes vectoriales, y el primer símbolo de
+almohadilla@tie{}@code{#} se necesita, como siempre, para preceder
+el valor en sí dentro de la instrucción @code{\override}.
@cindex BarLine, ejemplo de sobreescritura
@cindex break-visibility, propiedad, ejemplo
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
+ \override Staff.BarLine.break-visibility = ##(#f #f #f)
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
Y podemos ver que esto también quita todas las líneas divisorias.
-@subheading transparent (transparente)
+@node La propiedad transparent (transparente)
+@unnumberedsubsubsec La propiedad @code{transparent} (transparente)
+@translationof The transparent property
@cindex transparent, propiedad
@cindex transparencia
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.TimeSignature #'transparent = ##t
+ \override Staff.TimeSignature.transparent = ##t
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+Una vez más, el establecimiento de la propiedad @code{transparent}
+es una operación bastante frecuente, de modo que tenemos una
+abreviatura llamada @code{\hide} (ocultar):
+@funindex \hide
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \hide Staff.TimeSignature
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@end lilypond
@noindent
-El compás ya no está, pero esta instrucción deja una separación en el
-lugar donde antes estaba la indicación de compás. Quizá esto es lo
-que queremos para un ejercicio en que el alumno deba escribirlo, pero
-en otras circunstancias esta separación podría no ser deseable. En
-vez de eso, para quitarla, el stencil o «sello» de la indicación de
+En ninguno de los dos casos aparece ya la indicación de compás,
+pero esta instrucción deja una separación en el lugar donde antes
+estaba la indicación de compás. Quizá esto es lo que queremos
+para un ejercicio en que el alumno deba escribirlo, pero en otras
+circunstancias esta separación podría no ser deseable. En vez de
+eso, para quitarla, el stencil o «sello» de la indicación de
compás se debe establecer al valor @code{#f}:
@cindex TimeSignature, ejemplo de sobreescritura
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.TimeSignature #'stencil = ##f
+ \omit Staff.TimeSignature
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@end lilypond
@noindent
-y la diferencia es obvia: al establecer el sello al valor @code{#f}
-quitamos el objeto por completo; al hacer el objeto @code{transparent}
-lo dejamos donde está, pero lo hacemos invisible.
+y la diferencia es obvia: al establecer el sello al valor
+@code{#f} (posiblemente por medio de @code{\omit}) quitamos el
+objeto por completo; al hacer el objeto @code{transparent} (lo que
+puede hacerse utilizando @code{\hide}) lo dejamos donde está, pero
+lo hacemos invisible.
-@subheading color
+@node La propiedad color
+@unnumberedsubsubsec La propiedad @code{color}
+@translationof The color property
@cindex color, propiedad
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.BarLine #'color = #white
+ \override Staff.BarLine.color = #white
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@noindent
y de nuevo podemos comprobar que las barras de compás no son visibles.
Observe que @emph{white} no viene precedido de un apóstrofo: no es un
-símbolo, sino una @emph{función}. Cuando se invoca, proporciona la
+símbolo, sino una @emph{variable}. Cuando se evalúa, proporciona la
lista de valores internos que se requieren para establecer el color a
-blanco. Los otros colores de la lista normal también son funciones.
+blanco. Los otros colores de la lista normal también son variables.
Para convencerse de que esto funciona, quizá quiera cambiar el color a
-una de las otras funciones de la lista.
+una de las otras variables de la lista.
@cindex colores de X11
@cindex X11, colores de
@funindex x11-color
-La segunda forma de cambiar el color es utilizar la lista de nombres
-de colores de X11 que aparecen en la segunda lista de @ruser{Lista de
-colores}. Sin embargo, éstos deben ir precedidos de otra función, que
-convierte los nombres de colores de X11 en la lista de valores
-internos, @code{x11-color}, de la siguiente manera:
+La segunda forma de cambiar el color es utilizar la lista de
+nombres de colores de X11 que aparecen en la segunda lista de
+@ruser{Lista de colores}. De todas formas, se hacen corresponder
+a los valores reales por medio de la función @code{x11-color} que
+convierte los símbolos de color de X11 en la lista de valores
+internos como éstos:
@cindex BarLine, ejemplo de sobreescritura
@cindex color, propiedad, ejemplo
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.BarLine #'color = #(x11-color 'white)
+ \override Staff.BarLine.color = #(x11-color 'white)
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@end lilypond
@noindent
-Observe que en este caso la función @code{x11-color} toma un símbolo
-como argumento, así que el símbolo debe ir precedido de un apóstrofo y
-los dos deben ir entre paréntesis.
+Observe que en este caso la función @code{x11-color} toma un
+símbolo como argumento, así que el símbolo debe ir precedido de un
+apóstrofo para evitar que resulte evaluado como si fuera una
+variable, y toda la llamada a la función se debe encerrar entre
+paréntesis.
@cindex rgb, colores
@cindex color, rgb
@funindex rgb-color
-Aún hay una tercera función, que convierte valores RGB en colores
+Aún existe otra función, que convierte valores RGB en colores
internos: la función @code{rgb-color}. Toma tres argumentos que dan
las intensidades de rojo, verde y azul. Cada uno de ellos puede tomar
valores entre 0 y 1. Por lo tanto, para establecer el color a rojo el
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.BarLine #'color = #(rgb-color 1 1 1)
+ \override Staff.BarLine.color = #(rgb-color 1 1 1)
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.StaffSymbol #'color = #(x11-color 'grey30)
- \override Staff.TimeSignature #'color = #(x11-color 'grey60)
- \override Staff.Clef #'color = #(x11-color 'grey60)
- \override Voice.NoteHead #'color = #(x11-color 'grey85)
- \override Voice.Stem #'color = #(x11-color 'grey85)
- \override Staff.BarLine #'color = #(x11-color 'grey10)
+ \override Staff.StaffSymbol.color = #(x11-color 'grey30)
+ \override Staff.TimeSignature.color = #(x11-color 'grey60)
+ \override Staff.Clef.color = #(x11-color 'grey60)
+ \override Voice.NoteHead.color = #(x11-color 'grey85)
+ \override Voice.Stem.color = #(x11-color 'grey85)
+ \override Staff.BarLine.color = #(x11-color 'grey10)
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@cindex alignAboveContext, propiedad, ejemplo
@cindex @code{\with}, ejemplo
-@cindex stencil, propiedad, ejemplo
+@funindex \omit
@cindex Clef, ejemplo de sobreescritura
@cindex TimeSignature, ejemplo de sobreescritura
alignAboveContext = #"main"
}
{
- \override Staff.Clef #'stencil = ##f
- \override Staff.TimeSignature #'stencil = ##f
+ \omit Staff.Clef
+ \omit Staff.TimeSignature
{ f8 f c }
}
>>
Pero ¿cuál es la diferencia entre modificar el contexto de pentagrama
usando @code{\with} y modificar los sellos de clave y de compás con
-\override? La diferencia principal es que los cambios que se realizan
+\override, o en este caso
+@code{\omit}? La diferencia principal es que los cambios que se realizan
en una cláusula @code{\with} se hacen en el momento en que se crea el
contexto, y permanecen activos como valores @strong{predeterminados}
durante toda la duración de dicho contexto, mientras que las
\new Staff \with {
alignAboveContext = #"main"
% Don't print clefs in this staff
- \override Clef #'stencil = ##f
+ \override Clef.stencil = ##f
% Don't print time signatures in this staff
- \override TimeSignature #'stencil = ##f
+ \override TimeSignature.stencil = ##f
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+Resulta que también podemos emplear aquí las abreviaturas
+@code{\hide} y @code{\omit} para fijar la propiedad
+@code{transparent} y borrar el @code{stencil}, lo que conduce al
+resultado siguiente:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ % Don't print clefs in this staff
+ \omit Clef
+ % Don't print time signatures in this staff
+ \omit TimeSignature
}
{ f8 f c }
>>
objeto como las cabezas (@code{NoteHead}s) con instrucciones como
@example
-\override NoteHead #'font-size = #-2
+\override NoteHead.font-size = #-2
@end example
o podemos cambiar el tamaño de todas las tipografías estableciendo una
{ f8 c c }
\new Staff \with {
alignAboveContext = #"main"
- \override Clef #'stencil = ##f
- \override TimeSignature #'stencil = ##f
+ \omit Clef
+ \omit TimeSignature
% Reduce all font sizes by ~24%
fontSize = #-2
}
{ f8 c c }
\new Staff \with {
alignAboveContext = #"main"
- \override Clef #'stencil = ##f
- \override TimeSignature #'stencil = ##f
+ \omit Clef
+ \omit TimeSignature
fontSize = #-2
% Reduce stem length and line spacing to match
- \override StaffSymbol #'staff-space = #(magstep -2)
+ \override StaffSymbol.staff-space = #(magstep -2)
}
{ f8 f c }
>>
hacia abajo. Esto se controla automáticamente cuando está establecida
la propiedad @code{direction}.
+@menu
+* La propiedad direction (dirección)::
+* Digitaciones::
+@end menu
+
+@node La propiedad direction (dirección)
+@unnumberedsubsubsec La propiedad @code{direction} (dirección)
+@translationof The direction property
+
@cindex abajo
@cindex arriba
@cindex centro
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
a4 g c a |
-\override Stem #'direction = #DOWN
+\override Stem.direction = #DOWN
a4 g c a |
-\override Stem #'direction = #UP
+\override Stem.direction = #UP
a4 g c a |
-\revert Stem #'direction
+\revert Stem.direction
a4 g c a |
@end lilypond
@tab Los grupos especiales están debajo o encima de las notas
@end multitable
-Observe que estas instrucciones predefinidas @strong{no} pueden ir
-precedidas de @code{\once}. Si quiere limitar el efecto a una sola
-nota, deberá elegir entre usar la instrucción @code{\once \override}
-equivalente, o usar la instrucción predefinida, seguida después de la
-nota afectada por la instrucción @code{\xxxNeutral} correspondiente.
+Las variantes neutras o normales de estas instrucciones están
+implementadas usando @code{\revert} y @strong{no} pueden ir
+precedidas de @code{\once}. Si quiere limitar el efecto de las
+otras instrucciones (que están implementadas usando
+@code{\override}) a un solo paso de tiempo, puede precederla de
+@code{\once} de la misma forma en que lo haría con las
+sobreescrituras explícitas.
+@node Digitaciones
@unnumberedsubsubsec Digitaciones
+@translationof Fingering
@cindex digitación, colocación
@cindex digitación de acordes
@lilypond[quote,verbatim,relative=2]
c4-5 a-3 f-1 c'-5 |
-\override Fingering #'direction = #DOWN
+\override Fingering.direction = #DOWN
c4-5 a-3 f-1 c'-5 |
-\override Fingering #'direction = #UP
+\override Fingering.direction = #UP
c4-5 a-3 f-1 c'-5 |
@end lilypond
@w{@code{-7}}:
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-\override Fingering #'font-size = #-7
+\override Fingering.font-size = #-7
\set fingeringOrientations = #'(left)
<f-2>4
<c-1 e-2 g-3 b-5>4
@subsection Objetos fuera del pentagrama
@translationof Outside-staff objects
+Los objetos fuera-del-pentagrama se sitúan automáticamente para evitar
+las colisiones. Existen varias formas de sobreescribir la colocación
+automática si el posicionado no resulta óptimo.
+
+@menu
+* La propiedad outside-staff-priority (prioridad fuera del pentagrama)::
+* La instrucción textLengthOn::
+* Posicionamiento de los matices dinámicos::
+* Escalado de un «Grob»::
+@end menu
+
+
+@node La propiedad outside-staff-priority (prioridad fuera del pentagrama)
+@unnumberedsubsubsec La propiedad @code{outside-staff-priority} (prioridad fuera del pentagrama)
+@translationof The outside-staff-priority property
+
Los objetos fuera-del-pentagrama se colocan automáticamente para
evitar las colisiones. Los objetos que tienen el valor más bajo de la
propiedad @code{outside-staff-priority} se sitúan más cerca del
@cindex objetos de extensión
Observe los nombres algo inusuales de algunos de los objetos: los
-objetos de extensión se cearn automáticamente para controlar el
+objetos de extensión se crean automáticamente para controlar el
posicionamiento vertical de los grobs que (quizá) comienzan y terminan
en distintos momentos musicales, de manera que cualquier modificación
a la prioridad @code{outside-staff-priority} del grob subyacente no
tiene ningún efecto. Por ejemplo, cambiar la
@code{outside-staff-priority} del objeto de regulador @code{Hairpin}
no tiene efecto sobre la posición vertical de los reguladores: en
-lugar de eso, tenemos que cambar la @code{outside-staff-priority} del
+lugar de eso, tenemos que cambiar la @code{outside-staff-priority} del
objeto asociado @code{DynamicLineSpanner}. Esta sobreescritura se
debe escribir al comienzo del objeto de extensión, que podría incluir
varios reguladores o matices dinámicos encadenados.
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
% Set details for later Text Spanner
-\override TextSpanner #'(bound-details left text)
+\override TextSpanner.bound-details.left.text
= \markup { \small \bold Slower }
% Place dynamics above staff
\dynamicUp
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
% Set details for later Text Spanner
-\override TextSpanner #'(bound-details left text)
+\override TextSpanner.bound-details.left.text
= \markup { \small \bold Slower }
% Place dynamics above staff
\dynamicUp
% Place following Ottava Bracket below Text Spanners
-\once \override Staff.OttavaBracket #'outside-staff-priority = #340
+\once \override Staff.OttavaBracket.outside-staff-priority = #340
% Start Ottava Bracket
\ottava #1
c'4 \startTextSpan
@lilypond[quote,verbatim,relative=2]
c4( c^\markup { \tiny \sharp } d4.) c8 |
c4(
-\once \override TextScript #'avoid-slur = #'inside
-\once \override TextScript #'outside-staff-priority = ##f
+\once \override TextScript.avoid-slur = #'inside
+\once \override TextScript.outside-staff-priority = ##f
c4^\markup { \tiny \sharp } d4.) c8 |
-\once \override Slur #'outside-staff-priority = #500
+\once \override Slur.outside-staff-priority = #500
c4( c^\markup { \tiny \sharp } d4.) c8 |
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
c2^"Text1"
c2^"Text2" |
-\once \override TextScript #'outside-staff-priority = #500
+\once \override TextScript.outside-staff-priority = #500
c2^"Text3"
c2^"Text4" |
@end lilypond
hacer sitio para el texto. Esto se hace empleando la instrucción
@code{textLengthOn}.
-@subheading \textLengthOn
+@node La instrucción textLengthOn
+@unnumberedsubsubsec La instrucción @code{@bs{}textLengthOn}
+@translationof The textLengthOn command
@cindex notas, espaciar junto al texto
@end lilypond
La instrucción para volver al comportamiento predeterminado es
-@code{\textLengthOff}. Recuerde que @code{\once} funciona solamente
-con @code{\override}, @code{\set}, @code{\revert} o @code{\unset}, así
-que no se puede usar con @code{\textLengthOn}.
+@code{\textLengthOff}. De forma alternativa, se puede usar
+@code{\once} con @code{\textLengthOn} si el efecto se ha de limitar a
+un solo momento musical.
+The corresponding spacing behavior for rehearsal marks and tempo
+indications is independently controlled with the commands
+@code{\markLengthOn} and @code{\markLengthOff}.
@cindex marcado, texto de, permitir las colisiones en
R1 |
% Turn off collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
+\once \override TextScript.outside-staff-priority = ##f
c,,2^"Long Text " c'' |
R1 |
% Turn off collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
+\once \override TextScript.outside-staff-priority = ##f
\textLengthOn % and turn on textLengthOn
c,,2^"Long Text " % Spaces at end are honored
c''2 |
@end lilypond
-
-@subheading Matices dinámicos
+@node Posicionamiento de los matices dinámicos
+@unnumberedsubsubsec Posicionamiento de los matices dinámicos
+@translationof Dynamics placement
@cindex trucar la colocación de los matices
@cindex dinámica, trucar la colocación de las indicaciones de
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\dynamicUp
-a4\f b\mf c\mp b\p
+a4\f b\mf a\mp b\p
@end lilypond
@noindent
Por tanto, tendremos que averiguar cómo hacerlo utilizando
instrucciones @code{\override}.
-@subheading Escalado de un «Grob»
+@node Escalado de un «Grob»
+@unnumberedsubsubsec Escalado de un «Grob»
+@translationof Grob sizing
@cindex grob, cambio de tamaño de un
@cindex escala de los grobs
@cindex @code{extra-spacing-width}
-De forma predeterminada, los objetos fuera-del-pentagrama reciben una
-anchura cero, de manera que pueden solaparse en la dirección
-horizontal. Esto se hace mediante el truco de añadir una cantidad
-infinita a la dimensión más a la izquierda y menos infinito a la
-dimensión más a la derecha estableciendo el valor de
-@code{extra-spacing-width} a @code{'(+inf.0 . -inf.0)}. Así, para
-asegurar que no se superponen en la dirección horizontal tendremos que
-sobreescribir este valor de @code{extra-spacing-width} a @code{'(0
-. 0)} de forma que el verdadero ancho se presente. Esta es la
-instrucción que lo hace para las indicaciones dinámicas:
+De forma predeterminada, los objetos fuera-del-pentagrama reciben
+una anchura cero, de manera que pueden solaparse en la dirección
+horizontal. Esto se hace mediante el truco de hacer que la
+dimensión más a la izquierda sea igual a infinito y que la
+dimensión más a la derecha sea igual a menos infinito,
+estableciendo el valor de @code{extra-spacing-width} a
+@code{'(+inf.0 . -inf.0)}. Así, para asegurar que no se
+superponen en la dirección horizontal tendremos que sobreescribir
+este valor de @code{extra-spacing-width} para darles un poco de
+espacio adicional. Las unidades son el espacio entre dos líneas
+del pentagrama, de forma que debería bastar mover el límite
+izquierdo media unidad a la izquierda y el límite derecho media
+unidad a la derecha:
@example
-\override DynamicText #'extra-spacing-width = #'(0 . 0)
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
@end example
@noindent
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\dynamicUp
-\override DynamicText #'extra-spacing-width = #'(0 . 0)
-a4\f b\mf c\mp b\p |
+% Extend width by 1 staff space
+\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
+a4\f b\mf a\mp b\p
@end lilypond
@noindent
-Bueno, ciertamente ha hecho que las marcas dinámicas ya no estén
-desplazadas, pero aún quedan dos problemas. Las marcas tendrían que
-separarse un poco más entre sí, y sería mejor si todas estuvieran a la
-misma distancia del pentagrama. Podemos resolver el primer problema
-fácilmente. En vez de hacer cero la anchura
-@code{extra-spacing-width}, podemos añadirle algo más. Las unidades
-son el espacio entre dos líneas de pentagrama, así que al mover el
-límite izquierdo media unidad a la izquierda y el límite derecho media
-unidad hacia la derecha, deberíamos conseguirlo:
+Esto tiene un mejor aspecto, pero quizá habríamos preferido que
+las indicaciones de dinámica estuvieran alineadas sobre la misma
+línea de base en lugar de ir hacia arriba y hacia abajo con las
+notas. La propiedad que lo hace es @code{staff-padding} (relleno
+de pentagrama) que se estudia en la sección dedicada a las
+colisiones (véase @ref{Colisiones de objetos}).
+
+@node Espaciado vertical
+@section Espaciado vertical
+@translationof Vertical spacing
+
+Por lo general, el espaciado vertical de los objetos musicales que
+LilyPond hace es bastante bueno. Veamos cómo se comporta con una
+canción sencilla, con dos voces y acompañamiento de piano:
+
+@lilypond[quote,fragment,ragged-right]
+<<
+ \new ChoirStaff
+ <<
+ \new Staff {
+ \new Voice = "music" {
+ b'2 c' c' c'
+ }
+ }
+ \new Lyrics
+ \lyricsto "music" {
+ Here are some lyrics
+ }
+ \new Staff {
+ \clef bass e'2 f e c
+ }
+ >>
+ \new PianoStaff
+ <<
+ \new Staff {
+ g''2 c'' c'' a''
+ }
+ \new Staff {
+ \clef bass e2 f c e
+ }
+ >>
+>>
+@end lilypond
-@cindex DynamicText, ejemplo de sobreescritura
-@cindex extra-spacing-width, propiedad, ejemplo
+No hay ningún problema con el espaciado vertical predeterminado.
+Sin embargo, supongamos que estamos trabajando con un editor que
+tiene ciertos requisitos específicos para el espaciado vertical de
+los pentagramas y la letra: quiere que la letra está más separada
+de las notas, que el acompañamiento de piano esté más separado de
+la línea vocal y que los dos pentagramas de piano estén más juntos
+entre sí. Comenzaremos con la letra.
+
+La letra se encuentra en el interior de un sistem, y por tanto las
+instrucciones para aplicarle el espaciado estarán en
+@ruser{Espaciado vertical flexible dentro de los sistemas}. Allí
+se dice que el texo son líneas del tipo @qq{no-pauta} y por tanto
+la instrucción para cambiar su espaciado hará referencia a la
+propiedad @code{nonstaff}. Para separarlas del pentagrama al que
+pertenecen (la pauta superior) usaremos la propiedad
+@code{relatedstaff}. Para separarlas de la línea inferior
+usaremos la propiedad @code{unrelatedstaff}. Las partes vocales
+pertenecen a un grupo vertical @code{VerticalAxisGroup}, por lo
+que tenemos que ajustar sus propiedades. Probémoslo y veamos si
+funciona.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+ \new ChoirStaff
+ <<
+ \new Staff {
+ \new Voice = "music" {
+ b'2 c' c' c'
+ }
+ }
+ \new Lyrics \with {
+ \override VerticalAxisGroup.
+ nonstaff-relatedstaff-spacing.padding = #5
+ \override VerticalAxisGroup.
+ nonstaff-unrelatedstaff-spacing.padding = #5
+ }
+ \lyricsto "music" {
+ Here are some lyrics
+ }
+ \new Staff {
+ \clef bass e'2 f e c
+ }
+ >>
+ \new PianoStaff
+ <<
+ \new Staff {
+ g''2 c'' c'' a''
+ }
+ \new Staff {
+ \clef bass e2 f c e
+ }
+ >>
+>>
+@end lilypond
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\dynamicUp
-% Extend width by 1 staff space
-\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
-a4\f b\mf c\mp b\p
+Bien: sí, funciona, pero quizá demasiado bien. Cuando
+establecemos el @code{padding} (relleno) a 5, LilyPond añade 5
+espacios de pentagrama a la distancia entre los objetos, lo que es
+excesivo para nosotros en este caso. Usaremos un valor de 2.
+
+A continuación, desplazaremos la música de piano para separarla de
+las partes vocales. La música vocal es una @code{ChoirStaff} (un
+contexto de sistema coral), y por tanto tenemos que aumentar el
+espaciado entre ese grupo de pentagramas y el sistema de piano que
+se encuentra debajo. Lo haremos cambiando la
+@code{basic-distance} (distancia básica) del @code{StaffGrouper}
+del @code{staffgroup-staff-spacing}.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+ \new ChoirStaff \with {
+ \override StaffGrouper.
+ staffgroup-staff-spacing.basic-distance = #15
+ }
+ <<
+ \new Staff {
+ \new Voice = "music" {
+ b'2 c' c' c'
+ }
+ }
+ \new Lyrics \with {
+ \override VerticalAxisGroup.
+ nonstaff-relatedstaff-spacing.padding = #2
+ \override VerticalAxisGroup.
+ nonstaff-unrelatedstaff-spacing.padding = #2
+ }
+ \lyricsto "music" {
+ Here are some lyrics
+ }
+ \new Staff {
+ \clef bass e'2 f e c
+ }
+ >>
+ \new PianoStaff
+ <<
+ \new Staff {
+ g''2 c'' c'' a''
+ }
+ \new Staff {
+ \clef bass e2 f c e
+ }
+ >>
+>>
@end lilypond
-@noindent
-Esto tiene un mejor aspecto, pero quizá habríamos preferido que las
-indicaciones de dinámica estuvieran alineadas sobre la misma línea de
-base en lugar de ir hacia arriba y hacia abajo con las notas. La
-propiedad que lo hace es @code{staff-padding} (relleno de pentagrama)
-que se estudia en la sección siguiente.
+Muy bien. Ahora, sólo nos queda el último requisito de hacer que
+los pentagramas de piano estén más juntos. Para conseguirlo, de
+nuevo alteramos las propiedades del @code{StaffGrouper}, pero esta
+vez vamos a reducir tanto la @code{basic-distance} (distancia
+básica) como el @code{padding} (relleno). Podemos hacerlo como se
+muestra a continuación.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+<<
+ \new ChoirStaff \with {
+ \override StaffGrouper.
+ staffgroup-staff-spacing.basic-distance = #15
+ }
+ <<
+ \new Staff {
+ \new Voice = "music" {
+ b'2 c' c' c'
+ }
+ }
+ \new Lyrics \with {
+ \override VerticalAxisGroup.
+ nonstaff-relatedstaff-spacing.padding = #2
+ \override VerticalAxisGroup.
+ nonstaff-unrelatedstaff-spacing.padding = #2
+ }
+ \lyricsto "music" {
+ Here are some lyrics
+ }
+ \new Staff {
+ \clef bass e'2 f e c
+ }
+ >>
+ \new PianoStaff \with {
+ \override StaffGrouper.staff-staff-spacing = #'(
+ (basic-distance . 0)
+ (padding . 0))
+ }
+ <<
+ \new Staff {
+ g''2 c'' c'' a''
+ }
+ \new Staff {
+ \clef bass e2 f c e
+ }
+ >>
+>>
+@end lilypond
+
+Con esto los hemos colocado muy juntos entre sí (pero es lo que el
+editor quería). Se podrían haber separado más alterando el
+relleno, @code{padding}, o la distancia básica,
+@code{basic-distance}, si quisiéramos.
+
+Hay muchas formas de alterar el espaciado vertical. Un punto
+clave que debemos recordar es que el espaciado entre objetos
+dentro de un @code{StaffGroup} (como los grupos @code{GrandStaff}
+o @code{PianoStaff}) se controla con las variables de espaciado
+del @code{StaffGrouper}. El espaciado de los pentagramas no
+agrupados (como @code{Lyrics} y @code{Staff}) se controla con las
+variables del @code{VerticalAxisGroup}. Para ver más detalles,
+consulte
+@ruser{Variables de espaciado de paper verticales flexibles} y
+@ruser{Espaciado vertical flexible dentro de los sistemas}.
@node Colisiones de objetos
en la sección anterior, para resolver problemas de notación que se
superpone.
-@subheading la propiedad padding (relleno)
+@menu
+* La propiedad padding (relleno)::
+* La propiedad right-padding (relleno por la derecha)::
+* La propiedad staff-padding (relleno de pentagrama)::
+* La propiedad self-alignment-X (auto-alineación en X)::
+* La propiedad staff-position (posición en el pentagrama)::
+* La propiedad extra-offset (desplazamiento adicional)::
+* La propiedad positions (posiciones)::
+* La propiedad force-hshift (forzar desplazamiento horizontal)::
+@end menu
+
+@node La propiedad padding (relleno)
+@unnumberedsubsubsec La propiedad @code{padding} (relleno)
+@translationof The padding property
@cindex relleno
@cindex arreglar notación que se superpone
@lilypond[quote,fragment,relative=1,verbatim]
c2\fermata
-\override Script #'padding = #3
+\override Script.padding = #3
b2\fermata
@end lilypond
@lilypond[quote,fragment,relative=1,verbatim]
% This will not work, see below
-\override MetronomeMark #'padding = #3
+\override MetronomeMark.padding = #3
\tempo 4 = 120
c1 |
% This works
-\override Score.MetronomeMark #'padding = #3
+\override Score.MetronomeMark.padding = #3
\tempo 4 = 80
d1 |
@end lilypond
de él.
-@subheading right-padding (relleno por la derecha)
+@node La propiedad right-padding (relleno por la derecha)
+@unnumberedsubsubsec La propiedad @code{right-padding} (relleno por la derecha)
+@translationof The right-padding property
@cindex right-padding, propiedad
\relative c'' {
c4
% This prints a sesquisharp but the spacing is too small
- \once \override Accidental
- #'stencil = #ly:text-interface::print
- \once \override Accidental #'text = #sesquisharp
+ \once \override Accidental.stencil = #ly:text-interface::print
+ \once \override Accidental.text = #sesquisharp
cis4 c
% This improves the spacing
- \once \override Score.AccidentalPlacement #'right-padding = #0.6
- \once \override Accidental
- #'stencil = #ly:text-interface::print
- \once \override Accidental #'text = #sesquisharp
+ \once \override Score.AccidentalPlacement.right-padding = #0.6
+ \once \override Accidental.stencil = #ly:text-interface::print
+ \once \override Accidental.text = #sesquisharp
cis4 |
}
@end lilypond
@noindent
-@subheading la propiedad staff-padding (relleno de pentagrama)
+@node La propiedad staff-padding (relleno de pentagrama)
+@unnumberedsubsubsec La propiedad @code{staff-padding} (relleno de pentagrama)
+@translationof The staff-padding property
@cindex alineación de objetos sobre la línea base
@cindex objetos, alineación sobre la línea base
@code{staff-padding} se puede usar para alinear objetos como matices
-dinámicos a lo largo de una línea de base a una altura fija sobre el
-pentagrama, en lugar de hacerlo a una altura que dependa de la
-posición de la nota a la que están adosados. No es una propiedad de
+dinámicos a lo largo de una línea de base a una distancia fija del
+pentagrama, siempre que no exista ningún otro elemento de notación
+que fuerce una distancia mayor al pentagrama. No es una propiedad de
@code{DynamicText} sino de @code{DynamicLineSpanner}. Esto es así
porque la línea de base debe aplicarse por igual a @strong{todas} las
dinámicas, entre ellas las que se han creado como objetos de
@cindex staff-padding, propiedad, ejemplo
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\dynamicUp
-% Extend width by 1 unit
-\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
-% Align dynamics to a base line 2 units above staff
-\override DynamicLineSpanner #'staff-padding = #2
-a4\f b\mf c\mp b\p
+\override DynamicLineSpanner.staff-padding = #3
+a4\f b\mf a\p b\mp
@end lilypond
-@subheading la propiedad self-alignment-X (auto-alineación en X)
+@node La propiedad self-alignment-X (auto-alineación en X)
+@unnumberedsubsubsec La propiedad @code{self-alignment-X} (auto-alineación en X)
+@translationof The self-alignment-X property
-El ejemplo siguiente muestra cómo esto puede resolver la colisión
-entre un objeto de digitación de cuerda y la plica de una nota
+El ejemplo siguiente muestra cómo ajustar la posición
+de un objeto de digitación de cuerda en relación a la plica de una nota
mediante el alineamiento del límite derecho con el punto de referencia
de la nota «padre»:
@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
\voiceOne
<a\2>
-\once \override StringNumber #'self-alignment-X = #RIGHT
+\once \override StringNumber.self-alignment-X = #RIGHT
<a\2>
@end lilypond
-@subheading la propiedad staff-position (posición en el pentagrama)
+@node La propiedad staff-position (posición en el pentagrama)
+@unnumberedsubsubsec La propiedad @code{staff-position} (posición en el pentagrama)
+@translationof The staff-position property
@cindex objeto, colisión dentro del pentagrama
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}}.
<<
{ c4 c c c }
\\
- \override MultiMeasureRest #'staff-position = #-8
+ \override MultiMeasureRest.staff-position = #-8
{ R1 }
>>
@end lilypond
Esto es mejor que utilizar, por ejemplo, @code{extra-offset}, porque
la línea adicional por encima del silencio se inserta automáticamente.
-@subheading la propiedad extra-offset (desplazamiento adicional)
+@node La propiedad extra-offset (desplazamiento adicional)
+@unnumberedsubsubsec La propiedad @code{extra-offset} (desplazamiento adicional)
+@translationof The extra-offset property
@cindex posicionar objetos
@cindex posicionar grobs
En el ejemplo siguiente, la segunda digitación se desplaza ligeramente
a la izquierda, y 1.8 espacios de pentagrama hacia abajo:
-@cindex Fingering, ejemplo de sobreescritura
+@cindex fingering (digitación), ejemplo de sobreescritura
@cindex extra-offset, propiedad, ejemplo
@lilypond[quote,fragment,relative=1,verbatim]
\stemUp
f4-5
-\once \override Fingering #'extra-offset = #'(-0.3 . -1.8)
+\once \override Fingering.extra-offset = #'(-0.3 . -1.8)
f4-5
@end lilypond
-@subheading la propiedad positions (posiciones)
+@node La propiedad positions (posiciones)
+@unnumberedsubsubsec La propiedad @code{positions} (posiciones)
+@translationof The positions property
@cindex controlar manualmente grupos especiales, ligaduras y barras
@cindex manual, control, de grupos especiales, ligaduras y barras
@cindex barras de corchea, control manual
La propiedad @code{positions} permite controlar manualmente la
-posición e inclinación de los tresillos, ligaduras de expresión y de
-fraseo, y barras de corchea. He aquí un ejemplo que tiene una fea
-ligadura de fraseo debido a que intenta evitar la ligadura de
-expresión que está sobre la acciaccatura.
+posición vertical y de ahí también la inclinación de los tresillos,
+ligaduras de expresión y de fraseo, y barras de corchea.
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4 \acciaccatura e8\( d8 c~ c d c d\)
-@end lilypond
+He aquí un ejemplo en el que las ligaduras de fraseo y de expresión
+chocan entre sí:
-@noindent
-Simplemente podemos mover la ligadura de fraseo por encima de las
-notas, y de hecho ésta será la solución preferida:
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+a8 \( ( a'16 ) a \)
+@end lilypond
@cindex PhrasingSlur, ejemplo de sobreescritura
@cindex positions, propiedad, ejemplo
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\phrasingSlurUp
-\acciaccatura e8\( d8 c~ c d c d\)
-@end lilypond
-
@noindent
-Pero si por algún motivo no pudiéramos hacerlo, la otra alternativa
-sería mover el extremo izquierdo de la ligadura de fraseo un poco
-hacia abajo usando la propiedad @code{positions}. Esto también
-resuelve la forma algo indecente de la ligadura.
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\once \override PhrasingSlur #'positions = #'(-4 . -3)
-\acciaccatura e8\( d8 c~ c d c d\)
+Una posibilidad sería mover los dos extremos de la ligadura de fraseo
+hacia arriba. Podemos tratar de establecer el extremo izquierdo a 2.5
+espacios de pentagrama por encima de la tercera línea y el extremo
+derecho a 4.5 también hacia arriba, y LilyPond seleccionaría la
+ligadura de fraseo de entre las candidatas que ha encontrado con sus
+extremos más cercanos a éstos:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
+a8 \( ( a'16 ) a \)
@end lilypond
+Esto supone una mejora, pero ¿por qué no bajar un poco el extremo
+derecho de la ligadura de expresión? Si lo probamos, veremos que no
+se puede hacer así. Ello es a causa de que no existen ligaduras de
+expresión candidatas que estén más bajas que la que ya se ha
+seleccionado, y en este caso la propiedad @code{positions} no tiene
+ningún efecto. Sin embargo, las ligaduras de unión, expresión y
+fraseo @emph{se pueden} colocar y conformar de manera muy exacta
+cuando se necesita. Para aprender la manera de hacerlo, consulte
+@ruser{Modificación de ligaduras de unión y de expresión}.
+
Presentamos otro ejemplo. Vemos que la barra
choca con las ligaduras:
{ c'1 ~ c'2. e'8 f' }
\\
{
- \override Beam #'positions = #'(-1 . -1)
+ \override Beam.positions = #'(-1 . -1)
e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g''
}
>>
segundo compás de corcheas, pero no a ninguna de las barras de la
segunda voz.
-@subheading la propiedad force-hshift (forzar desplazamiento horizontal)
+@node La propiedad force-hshift (forzar desplazamiento horizontal)
+@unnumberedsubsubsec La propiedad @code{force-hshift} (forzar desplazamiento horizontal)
+@translationof The force-hshift property
Ahora podremos ver cómo aplicar las correcciones finales al ejemplo de
Chopin que presentamos al final de @ref{Oigo voces}, que
\\
{
<ees, c>2
- \once \override NoteColumn #'force-hshift = #0.5
+ \once \override NoteColumn.force-hshift = #0.5
des2
}
\\
\\
{
- \override NoteColumn #'force-hshift = #0
+ \override NoteColumn.force-hshift = #0
aes'2 f4 fes
}
>> |
rhMusic = \relative c'' {
\new Voice {
r2 c4.\( g8 |
- \once \override Tie #'staff-position = #3.5
+ \once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
\voiceTwo
c,8~
% Reposition the c2 to the right of the merged note
- \once \override NoteColumn #'force-hshift = #1.0
+ \once \override NoteColumn.force-hshift = #1.0
% Move the c2 out of the main note column
% so the merge will work
\shiftOnn
% Stem on the d2 must be down to permit merging
\stemDown
% Stem on the d2 should be invisible
- \tweak Stem #'transparent ##t
- \tweak Flag #'transparent ##t
+ \tweak Stem.transparent ##t
d2
}
\new Voice {
ligadura 3.5 medios espacios de pentagrama por encima de la línea
central:
-@code{\once \override Tie #'staff-position = #3.5}
+@code{\once \override Tie.staff-position = #3.5}
Con esto se completa el compás dos, dando como resultado:
rhMusic = \relative c'' {
\new Voice {
r2 c4.\( g8 |
- \once \override Tie #'staff-position = #3.5
+ \once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
rhMusic = \relative c'' {
\new Voice {
r2 c4.\( g8 |
- \once \override Tie #'staff-position = #3.5
+ \once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
rhMusic = \relative c'' {
\new Voice {
r2 c4.\( g8 |
- \once \override Tie #'staff-position = #3.5
+ \once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
rhMusic = \relative c'' {
\new Voice {
r2 c4.\( g8 |
- \once \override Tie #'staff-position = #3.5
+ \once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
\voiceTwo
c,8~
% Reposition the c2 to the right of the merged note
- \once \override NoteColumn #'force-hshift = #1.0
+ \once \override NoteColumn.force-hshift = #1.0
% Move the c2 out of the main note column
% so the merge will work
\shiftOnn
% Stem on the d2 must be down to permit merging
\stemDown
% Stem on the d2 should be invisible
- \tweak Stem #'transparent ##t
- \tweak Flag #'transparent ##t
+ \tweak Stem.transparent ##t
d2
}
\new Voice {
@menu
* Otras aplicaciones de los trucos::
-* Uso de variables para los trucos::
+* Uso de variables para los ajustes de disposición::
* Hojas de estilo::
* Otras fuentes de información::
* Trucos avanzados con Scheme::
@subsection Otras aplicaciones de los trucos
@translationof Other uses for tweaks
+@menu
+* Unir notas entre voces distintas::
+* Simulación de un calderón en el MIDI::
+@end menu
+
@cindex transparent, uso de la propiedad
@cindex objetos, hace invisibles
@cindex eliminar objetos
@cindex ocultar objetos
@cindex invisibles, objetos
@cindex objetos invisibles
-@cindex ligar notas entre voces distintas
-@subheading Ligar notas entre voces distintas
+@node Unir notas entre voces distintas
+@unnumberedsubsubsec Unir notas entre voces distintas
+@translationof Tying notes across voices
+
+@cindex ligar notas entre voces distintas
El ejemplo siguiente muestra cómo conectar notas que están en
distintas voces utilizando ligaduras de unión. Normalmente sólo se
@lilypond[quote,fragment,relative=2,verbatim]
<<
{
- \tweak Stem #'transparent ##t
- \tweak Flag #'transparent ##t
+ \tweak Stem.transparent ##t
b8~ b\noBeam
}
\\
@lilypond[quote,fragment,relative=2,verbatim]
<<
{
- \tweak Stem #'transparent ##t
- \tweak Flag #'transparent ##t
- \tweak Stem #'length #8
+ \tweak Stem.transparent ##t
+ \tweak Stem.length #8
+ b8~ b\noBeam
+ }
+\\
+ { b8[ g] }
+>>
+@end lilypond
+
+@funindex \single
+@cindex tweak, generado a partir de una sobreescritura
+Ahora bien, para la @emph{sobreescritura} de la transparencia de
+un objeto gráfico, podríamos haber usado la abreviatura
+@code{\hide} como se explicó anteriormente. El trucaje mediante
+@qq{tweak} es una operación diferente que afecta solamente a las
+propiedades generadas a partir de una sola expresión musical.
+Resulta que podemos convertir los overrides o sobreescrituras en
+tweaks o trucajes utilizando @code{\single}, haciendo posible
+volver a escribir el ejemplo anterior como
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+ {
+ \single \hide Stem
+ \single \hide Flag
+ \tweak Stem.length #8
b8~ b\noBeam
}
\\
>>
@end lilypond
-@subheading Simulación de un calderón en el MIDI
+En este caso particular, la diferencia con @code{\once \hide} no
+es muy apreciable. Es importante cuando existen varios objetos en
+el mismo punto del tiempo musical (como las notas de un acorde).
+En tal caso, @code{\once} afecta a todos los objetos, mientras que
+@code{\single} solo afecta a uno, aquél que se genera por parte de
+la expresión musical que le sigue inmediatamente.
+
+@node Simulación de un calderón en el MIDI
+@unnumberedsubsubsec Simulación de un calderón en el MIDI
+@translationof Simulating a fermata in MIDI
@cindex sello, uso de la propiedad
@cindex fermata, realización en MIDI
% Visible tempo marking
\tempo 4=120
a4 a a
- \once \override Score.MetronomeMark #'transparent = ##t
+ \once \hide Score.MetronomeMark
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
a4\fermata |
% Visible tempo marking
\tempo 4=120
a4 a a
- \once \override Score.MetronomeMark #'stencil = ##f
+ \once \override Score.MetronomeMark.stencil = ##f
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
a4\fermata |
Glosario musical:
@rglos{system}.
+@node Uso de variables para los ajustes de disposición
+@subsection Uso de variables para los ajustes de disposición
+@translationof Using variables for layout adjustments
-@node Uso de variables para los trucos
-@subsection Uso de variables para los trucos
-@translationof Using variables for tweaks
-
-@cindex variables, uso de, para trucos
-@cindex usar variables para hacer trucos
-@cindex trucos, usar variables para hacer
+@cindex variables, usar para sobreescrituras
+@cindex sobreescrituras, usar variablas para
+@cindex ajustes, usar variables para
+@cindex ajustes de disposición, usar variables para hacer
Las instrucciones de sobreescritura son con frecuencia largas y
tediosas de escribir, y se tienen que escribir de forma absolutamente
@code{\revert}?
@example
-@code{\override Lyrics . LyricText #'font-shape = #'italic}
-@code{\override Lyrics . LyricText #'font-series = #'bold}
+@code{\override Lyrics.LyricText.font-shape = #'italic}
+@code{\override Lyrics.LyricText.font-series = #'bold}
-@code{\revert Lyrics . LyricText #'font-shape}
-@code{\revert Lyrics . LyricText #'font-series}
+@code{\revert Lyrics.LyricText.font-shape}
+@code{\revert Lyrics.LyricText.font-series}
@end example
Estas instrucciones también serían extremadamente tediosas de escribir
@lilypond[quote,verbatim]
emphasize = {
- \override Lyrics.LyricText #'font-shape = #'italic
- \override Lyrics.LyricText #'font-series = #'bold
+ \override Lyrics.LyricText.font-shape = #'italic
+ \override Lyrics.LyricText.font-series = #'bold
}
normal = {
- \revert Lyrics.LyricText #'font-shape
- \revert Lyrics.LyricText #'font-series
+ \revert Lyrics.LyricText.font-shape
+ \revert Lyrics.LyricText.font-series
}
global = { \key c \major \time 4/4 \partial 4 }
@lilypond[quote,verbatim,ragged-right]
mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
inst =
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
\relative c'' {
\tempo 4=50
otro archivo:
@example
-%%% guardar esto en un archivo de nombre "definiciones.ily"
+%%% guardar esto en un archivo con el nombre "definiciones.ily"
mpdolce =
-#(make-dynamic-script
- #@{ \markup @{ \hspace #0
- \translate #'(5 . 0)
- \line @{ \dynamic "mp"
- \text \italic "dolce" @} @}
- #@})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
inst =
#(define-music-function
(parser location string)
(string?)
- #@{ ^\markup \bold \box #string #@})
+ #@{ <>^\markup \bold \box #string #@})
@end example
Haremos referencia a este archivo utilizando la instrucción
@lilypond[quote,ragged-right]
mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
inst =
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
\relative c'' {
\tempo 4=50
@example
%%% definiciones.ily
mpdolce =
-#(make-dynamic-script
- #@{ \markup @{ \hspace #0
- \translate #'(5 . 0)
- \line @{ \dynamic "mp"
- \text \italic "dolce" @} @}
- #@})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
inst =
#(define-music-function
(parser location string)
(string?)
- #@{ ^\markup \bold \box #string #@})
+ #@{ <>^\markup \bold \box #string #@})
\layout@{
\context @{
\Score
- \override MetronomeMark #'extra-offset = #'(-9 . 0)
- \override MetronomeMark #'padding = #'3
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
+ \override MetronomeMark.padding = #'3
@}
\context @{
\Staff
- \override TimeSignature #'style = #'numbered
+ \override TimeSignature.style = #'numbered
@}
\context @{
\Voice
- \override Glissando #'thickness = #3
- \override Glissando #'gap = #0.1
+ \override Glissando.thickness = #3
+ \override Glissando.gap = #0.1
@}
@}
@end example
@lilypond[quote,ragged-right]
mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
inst =
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
\layout{
\context {
\Score
- \override MetronomeMark #'extra-offset = #'(-9 . 0)
- \override MetronomeMark #'padding = #'3
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
+ \override MetronomeMark.padding = #'3
}
\context {
\Staff
- \override TimeSignature #'style = #'numbered
+ \override TimeSignature.style = #'numbered
}
\context {
\Voice
- \override Glissando #'thickness = #3
- \override Glissando #'gap = #0.1
+ \override Glissando.thickness = #3
+ \override Glissando.gap = #0.1
}
}
@example
%%% publicar-web.ily
mpdolce =
-#(make-dynamic-script
- #@{ \markup @{ \hspace #0
- \translate #'(5 . 0)
- \line @{ \dynamic "mp"
- \text \italic "dolce" @} @}
- #@})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@})
inst =
#(define-music-function
(parser location string)
(string?)
- #@{ ^\markup \bold \box #string #@})
+ #@{ <>^\markup \bold \box #string #@})
#(set-global-staff-size 23)
\layout@{
\context @{
\Score
- \override MetronomeMark #'extra-offset = #'(-9 . 0)
- \override MetronomeMark #'padding = #'3
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
+ \override MetronomeMark.padding = #'3
@}
\context @{
\Staff
@}
\context @{
\Voice
- \override Glissando #'thickness = #3
- \override Glissando #'gap = #0.1
+ \override Glissando.thickness = #3
+ \override Glissando.gap = #0.1
@}
@}
@end example
@lilypond[quote,ragged-right]
mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+ \tweak self-alignment-X #-0.6
+ #(make-dynamic-script
+ #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #})
inst =
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
#(set-global-staff-size 23)
\layout{
\context { \Score
- \override MetronomeMark #'extra-offset = #'(-9 . 0)
- \override MetronomeMark #'padding = #'3
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
+ \override MetronomeMark.padding = #'3
}
\context { \Voice
- \override Glissando #'thickness = #3
- \override Glissando #'gap = #0.1
+ \override Glissando.thickness = #3
+ \override Glissando.gap = #0.1
}
}
bajo fink o cygwin) o fue compilado a partir de la fuente, y (b) de
qué sistema operativo está utilizando:
-
-@strong{Descargado de lilypond.org}
+@subsubsubheading Descargado de lilypond.org
@itemize @bullet
@item GNU/Linux
@end itemize
-@strong{Instalado mediante un gestor de paquetes o compilado a partir de la fuente}
+@subsubsubheading Instalado mediante un gestor de paquetes o compilado a partir de la fuente
Diríjase a
@file{@var{PREFIJO}/share/lilypond/@var{X.Y.Z}/}, donde @var{PREFIJO}
@example
tieDotted = @{
- \override Tie #'dash-period = #0.75
- \override Tie #'dash-fraction = #0.1
+ \override Tie.dash-period = #0.75
+ \override Tie.dash-fraction = #0.1
@}
@end example
\relative c' {
% Arrange to obtain color from color-notehead procedure
- \override NoteHead #'color = #color-notehead
+ \override NoteHead.color = #color-notehead
a2 b | c2 d | e2 f | g2 a |
}
@end lilypond