X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Flearning%2Ftweaks.itely;h=9ae62840188415246ce904519db51feb1685c6dd;hb=528e1aac95928f3fbe017af0b3d7a0f0a0ccafbf;hp=410d210ea59851d6a92fe8476a2f7457273a90ef;hpb=a0e8cb13ef904814b9caf83778e2d2e313e82725;p=lilypond.git diff --git a/Documentation/es/learning/tweaks.itely b/Documentation/es/learning/tweaks.itely index 410d210ea5..9ae6284018 100644 --- a/Documentation/es/learning/tweaks.itely +++ b/Documentation/es/learning/tweaks.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a + Translation of GIT committish: 0f6397c6fb10d919c6fd006d89bd5cb614f858c6 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.11" @node Trucar la salida @chapter Trucar la salida @@ -173,8 +173,8 @@ literalmente como están. Como podremos ver en breve, las propiedades de distintos tipos de objeto se modifican por parte de diferentes instrucciones; así pues, -es útil poder reconocer el tipo de objeto a partir de sus nombres de -propiedad. +es útil poder reconocer los tipos de objetos y propiedades +a partir de sus nombres. @node Métodos de trucaje @subsection Métodos de trucaje @@ -184,6 +184,18 @@ propiedad. @strong{La instrucción \override} +@menu +* La instrucción \override:: +* La instrucción \revert:: +* El prefijo \once:: +* La instrucción \overrideProperty:: +* The \tweak command:: +@end menu + +@node La instrucción \override +@unnumberedsubsubsec La instrucción @code{\override} +@translationof The \override command + @cindex override, instrucción @cindex override (sobreescritura), sintaxis de @@ -207,7 +219,7 @@ modificar, y cuál debe ser su nuevo valor. Veamos cómo se hace. 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 @@ -229,9 +241,17 @@ usaremos sólo unas cuantas propiedades y valores 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 @@ -242,13 +262,16 @@ una cabeza: @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{\revert} +@translationof The \revert command @cindex revert, instrucción @@ -263,7 +286,7 @@ valor predeterminado original; observe que no es a su valor previo si 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 @@ -277,15 +300,18 @@ dos últimas notas: @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{\once} +@translationof The \once prefix @funindex \once @funindex once @@ -302,17 +328,38 @@ podemos cambiar el color de una sola nota de la siguiente manera: @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 +e4 f | +\once \override NoteHead.color = #green +g4 a +\revert NoteHead.color +b c | +@end lilypond + +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 -\override NoteHead #'color = #red +\once \stemDown e4 f | -\once \override NoteHead #'color = #green g4 a -\revert NoteHead #'color +\once \hideNotes b c | @end lilypond -@strong{La instrucción \overrideProperty} +Sin embargo, las instrucciones predefinidas de la forma +@code{\...Neutral}, @code{\...Off} y @code{\un...} 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{\overrideProperty} +@translationof The \overrideProperty command @cindex overrideProperty, instrucción @@ -325,7 +372,9 @@ mencionamos aquí con un propósito de exhaustividad, pero para ver más detalles consulte @rextend{Trucos difíciles}. @c Maybe explain in a later iteration -td -@strong{La instrucción \tweak} + +@node The \tweak command +@unnumberedsubsubsec The @code{\tweak} command @cindex tweak, instrucción @@ -350,7 +399,7 @@ primer lugar, veamos lo que haría @code{\once \override}: @lilypond[quote,fragment,ragged-right,verbatim,relative=1] 4 -\once \override NoteHead #'font-size = #-3 +\once \override NoteHead.font-size = #-3 4 4 @end lilypond @@ -377,7 +426,7 @@ se cambiaría de la siguiente forma: @lilypond[quote,fragment,ragged-right,verbatim,relative=1] 4 -4 +4 @end lilypond Observe que la sintaxis de @code{\tweak} no es igual que la de @@ -389,7 +438,7 @@ Observe también que no debe haber un signo igual. Así que la sintaxis 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 @@ -400,8 +449,8 @@ sólo una de una serie de articulaciones, como se muestra aquí: @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 @@ -422,15 +471,15 @@ presentación, siempre y cuando LilyPond pueda rastrear su origen hasta 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 @@ -459,12 +508,12 @@ tresillo corto. @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 @@ -477,18 +526,15 @@ se puede modificar de la forma usual mediante instrucciones @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 @@ -544,7 +590,6 @@ con tan sólo algo de práctica. @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: @@ -602,9 +647,8 @@ directamente al RFI y buscar allí. Esta página sobre las ligaduras de expresión dentro del manual RFI nos dice en primer lugar que los objetos Slur se crean por el grabador Slur_engraver. A continuación relaciona los ajustes estándar. -Observe que @strong{no} están en orden alfabético. Navegue hacia -abajo buscando una propiedad que pudiera controlar el grosor de las -ligaduras, y encontrará +Navegue por ellos buscando una propiedad que pudiera controlar +el grosor de las ligaduras, y encontrará @example @code{thickness} (number) @@ -633,7 +677,7 @@ seguros de que la instrucción está funcionando. Obtenemos lo 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{#} @@ -653,7 +697,7 @@ cerca de ella.} Hagámoslo así: \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 @@ -675,7 +719,7 @@ necesita para hacerlo por sí mismo (aunque aún necesita algo de 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 @@ -691,14 +735,14 @@ ligadura de expresión se crean por: el grabador Slur»). Así pues, las ligaduras de expresión se crean en cualquier contexto en el que se encuentre el grabador @code{Slur_engraver}. Siga el enlace a la página del grabador @code{Slur_engraver}. Al final del todo, dice que -el grabador @code{Slur_engraver} es parte de cinco contextos de voz, +el grabador @code{Slur_engraver} es parte de siete contextos de voz, incluido el contexto de voz estándar, @code{Voice}, por lo que nuestra suposición era acertada. Y a causa de que @code{Voice} es uno de los contextos de más bajo nivel que se encuentra implícito sin ambigüedad 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 @@ -728,7 +772,7 @@ siguiente: { 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 @@ -745,7 +789,7 @@ Hemos hecho que ahora solamente la primera ligadura sea más gruesa. 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 @@ -769,10 +813,10 @@ ligaduras: { 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 } @@ -798,11 +842,11 @@ segunda ligadura: { 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 } @@ -884,25 +928,20 @@ cambiar la letra a cursiva. El objeto es @code{LyricText}, la 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 @@ -924,7 +963,7 @@ de esta forma: as8 g } \addlyrics { - \override LyricText #'font-shape = #'italic + \override LyricText.font-shape = #'italic The man who | feels love's sweet e -- | mo -- tion } } @@ -933,34 +972,9 @@ de esta forma: @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: @@ -981,7 +995,10 @@ después del nombre de la propiedad en el RFI. He aquí una lista de 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 @@ -991,29 +1008,32 @@ en la instrucción @code{\override}. @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)} @@ -1025,8 +1045,9 @@ en la instrucción @code{\override}. @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 @@ -1087,7 +1108,16 @@ ellas pueden afectar la visibilidad de las barras de compás (y, por 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 @@ -1103,7 +1133,7 @@ antes, omitiendo el Contexto implícito, @code{Voice}: @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 @@ -1131,14 +1161,28 @@ intentar corregirlo escribiendo el contexto correcto: @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 @@ -1151,27 +1195,31 @@ que establece el sello a un objeto con tamaño nulo: @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 @@ -1179,7 +1227,7 @@ en sí dentro de la instrucción @code{\override}. @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 @@ -1188,7 +1236,9 @@ en sí dentro de la instrucción @code{\override}. 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 @@ -1213,7 +1263,7 @@ a la indicación de compás es: @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 @@ -1221,11 +1271,28 @@ a la indicación de compás es: @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 +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 +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 @@ -1234,7 +1301,7 @@ compás se debe establecer al valor @code{#f}: @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 @@ -1242,11 +1309,15 @@ compás se debe establecer al valor @code{#f}: @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 @@ -1275,7 +1346,7 @@ poner las líneas divisorias de color blanco, escribimos: @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 @@ -1285,22 +1356,23 @@ poner las líneas divisorias de color blanco, escribimos: @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 @@ -1308,7 +1380,7 @@ internos, @code{x11-color}, de la siguiente manera: @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 @@ -1316,16 +1388,18 @@ internos, @code{x11-color}, de la siguiente manera: @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 @@ -1338,7 +1412,7 @@ valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser @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 @@ -1346,7 +1420,7 @@ valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser @end lilypond Finalmente, existe también una escala de grises como parte del -conjunto de colores de X11. Varían desde el negro, @code{'grey0'}, +conjunto de colores de X11. Varían desde el negro, @code{'grey0}, hasta el blanco, @code{'grey100}, en pasos de 1. Vamos a ilustrar esto estableciendo todos los objetos de presentación de nuestro ejemplo a varias gradaciones de gris: @@ -1363,12 +1437,12 @@ varias gradaciones de gris: @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 @@ -1396,8 +1470,8 @@ normalmente el grabador. @cindex objetos, cambiar el tamaño de Empezaremos examinando de nuevo un ejemplo anterior (véase -@ref{Anidado de expresiones musicales}) que nos mostraba cómo introducir un -pentagrama temporal, como en un @rglos{ossia}. +@ref{Anidado de expresiones musicales}) que nos mostraba cómo +introducir un pentagrama temporal, como en un @rglos{ossia}. @cindex alignAboveContext, propiedad, ejemplo @cindex @code{\with}, ejemplo @@ -1425,7 +1499,7 @@ el sello de cada uno de ellos a @code{#f}, como sigue: @cindex alignAboveContext, propiedad, ejemplo @cindex @code{\with}, ejemplo -@cindex stencil, propiedad, ejemplo +@funindex \omit @cindex Clef, ejemplo de sobreescritura @cindex TimeSignature, ejemplo de sobreescritura @@ -1440,8 +1514,8 @@ el sello de cada uno de ellos a @code{#f}, como sigue: alignAboveContext = #"main" } { - \override Staff.Clef #'stencil = ##f - \override Staff.TimeSignature #'stencil = ##f + \omit Staff.Clef + \omit Staff.TimeSignature { f8 f c } } >> @@ -1457,7 +1531,8 @@ se aplican al pentagrama de ossia. 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 @@ -1502,9 +1577,35 @@ Así pues, podemos reemplazar el ejemplo anterior con \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 + } + { 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 - \override TimeSignature #'stencil = ##f + \omit TimeSignature } { f8 f c } >> @@ -1538,7 +1639,7 @@ cambiar el tamaño de las tipografías de cada uno de los tipos de 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 @@ -1571,8 +1672,8 @@ Vamos a probarlo en nuestro ejemplo del ossia: { 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 } @@ -1640,11 +1741,11 @@ siguiente forma: { 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 } >> @@ -1778,7 +1879,8 @@ pentagramas adyacentes: Ya hemos visto cómo las instrucciones @code{\voiceXXX} afectan a la dirección de las ligaduras de expresión y de unión, digitaciones y -todo lo demás que dependa de la dirección de las plicas. Cuando se +todo lo demás que dependa de la dirección de las plicas (véase +@ref{Voces explícitas}). Cuando se escribe música polifónica, estas instrucciones son esenciales para que puedan distinguirse varias líneas melódicas entrelazadas. Pero ocasionalmente puede ser necesario sobreescribir este comportamiento @@ -1796,6 +1898,15 @@ mueven a la derecha o a la izquierda cuando apuntan hacia arriba o 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 @@ -1817,11 +1928,11 @@ comportamiento predeterminado. @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 @@ -1882,13 +1993,17 @@ menciona el significado de cada una allí donde no es obvio. @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 @@ -1910,9 +2025,9 @@ siguiente el efecto de especificar @code{DOWN} y @code{UP}: @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 @@ -2018,7 +2133,7 @@ objeto @code{Fingering} del RFI que es @w{@code{-5}}, así que probaremos @w{@code{-7}}: @lilypond[quote,fragment,ragged-right,verbatim,relative=1] -\override Fingering #'font-size = #-7 +\override Fingering.font-size = #-7 \set fingeringOrientations = #'(left) 4 4 @@ -2041,6 +2156,22 @@ objeto @code{Fingering} del RFI que es @w{@code{-5}}, así que probaremos @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 @@ -2057,14 +2188,14 @@ objetos fuera-del-pentagrama más comunes. @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. @@ -2121,7 +2252,7 @@ de ellos. @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 @@ -2172,12 +2303,12 @@ recordando que @code{OttavaBracket} se crea dentro del contexto de @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 @@ -2223,10 +2354,10 @@ que muestra el efecto de los dos métodos: @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 @@ -2245,7 +2376,7 @@ aumentar la prioridad de @qq{Text3} hasta un valor superior: @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 @@ -2259,7 +2390,9 @@ necesitar claramente espaciar las notas en sentido horizontal para 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{\textLengthOn} +@translationof The \textLengthOn command @cindex notas, espaciar junto al texto @@ -2283,9 +2416,9 @@ c2^"Text4" | @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. @cindex marcado, texto de, permitir las colisiones en @@ -2308,19 +2441,20 @@ c,,2^"Text" c'' | 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 @@ -2328,7 +2462,7 @@ c''2 | Las indicaciones de matiz dinámico normalmente se colocarán por debajo del pentagrama, pero se pueden posicionar por encima con la -instrucción @code{dynamicUp}. Se situarán verticalmente respecto a la +instrucción @code{\dynamicUp}. Se situarán verticalmente respecto a la nota a la que van adosadas, y flotarán por debajo (o por encima) de todos los objetos dentro-del-pentagrama tales como ligaduras de fraseo y números de compás. Esto puede ofrecer resultados bastante @@ -2364,7 +2498,9 @@ una instrucción equivalente para las indicaciones de matiz dinámico. 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 @@ -2395,7 +2531,7 @@ sobreescribir este valor de @code{extra-spacing-width} a @code{'(0 instrucción que lo hace para las indicaciones dinámicas: @example -\override DynamicText #'extra-spacing-width = #'(0 . 0) +\override DynamicText.extra-spacing-width = #'(0 . 0) @end example @noindent @@ -2406,7 +2542,7 @@ Veamos si funciona en nuestro ejemplo anterior: @lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp -\override DynamicText #'extra-spacing-width = #'(0 . 0) +\override DynamicText.extra-spacing-width = #'(0 . 0) a4\f b\mf c\mp b\p | @end lilypond @@ -2427,7 +2563,7 @@ unidad hacia la derecha, deberíamos conseguirlo: @lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp % Extend width by 1 staff space -\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5) +\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) a4\f b\mf c\mp b\p @end lilypond @@ -2709,7 +2845,20 @@ Veamos ahora cómo pueden ser de ayuda las propiedades que hemos visto 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 propiedadhe 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 @@ -2724,7 +2873,7 @@ notas. @lilypond[quote,fragment,relative=1,verbatim] c2\fermata -\override Script #'padding = #3 +\override Script.padding = #3 b2\fermata @end lilypond @@ -2733,11 +2882,11 @@ b2\fermata @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 @@ -2755,7 +2904,9 @@ entonces ese objeto se moverá, y también todos los que están por fuera de él. -@subheading right-padding (relleno por la derecha) +@node La propiedadhe 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 @@ -2779,15 +2930,13 @@ sesquisharp = \markup { \sesquisharp } \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 @@ -2803,7 +2952,9 @@ sobreescribiendo @code{right-padding}. @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 @@ -2826,14 +2977,16 @@ matiz en el ejemplo de la sección anterior: @lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp % Extend width by 1 unit -\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5) +\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) % Align dynamics to a base line 2 units above staff -\override DynamicLineSpanner #'staff-padding = #2 +\override DynamicLineSpanner.staff-padding = #2 a4\f b\mf c\mp b\p @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 @@ -2846,11 +2999,13 @@ de la nota «padre»: @lilypond[quote,fragment,ragged-right,verbatim,relative=3] \voiceOne -\once \override StringNumber #'self-alignment-X = #RIGHT +\once \override StringNumber.self-alignment-X = #RIGHT @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 @@ -2880,7 +3035,7 @@ 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 @@ -2888,7 +3043,9 @@ cuatro semi-espacios de pentagrama, al valor @w{@code{-8}}. 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 @@ -2901,18 +3058,20 @@ posicionamiento de un objeto tanto vertical como horizontalmente. 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 @@ -2922,40 +3081,42 @@ f4-5 @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: @@ -2990,7 +3151,7 @@ central hasta, digamos, 1 espacio: { 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'' } >> @@ -3007,7 +3168,9 @@ Observe que la sobreescritura sigue aplicándose en la primera voz del 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 @@ -3034,8 +3197,8 @@ cuarta voz) no se aparte de la columna vertical de la nota aguda. Para corregirlo, ajustamos a cero el valor para esta nota de @code{force-hshift}, que es una propiedad de @code{NoteColumn}. -En el segundo acorde preferimos que el Fa esté alineado con el La y -que la nota grave se coloque ligeramente a la derecha para evitar una +En el segundo acorde preferimos que el Fa esté alineado con el La bemol +y que la nota grave se coloque ligeramente a la derecha para evitar una colisión de las plicas. Lo conseguimos ajustando el valor de @code{force-hshift} en la @code{NoteColumn} del Re bemol grave para moverlo a la derecha medio espacio de pentagrama. @@ -3053,13 +3216,13 @@ Presentamos a continuación el resultado final: \\ { 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 } >> | @@ -3094,7 +3257,7 @@ quitado las indicaciones dinámicas, las digitaciones y el pedal. 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 @@ -3107,7 +3270,7 @@ rhMusic = \relative c'' { \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 @@ -3119,8 +3282,8 @@ rhMusic = \relative c'' { % 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 + \tweak Flag.transparent ##t d2 } \new Voice { @@ -3301,7 +3464,7 @@ siguiente colocada justo antes de la primera nota ligada subirá la 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: @@ -3310,7 +3473,7 @@ 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 @@ -3391,7 +3554,7 @@ al final, 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 @@ -3466,7 +3629,7 @@ aplicar estos cambios obtenemos: 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 @@ -3537,7 +3700,7 @@ final: 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 @@ -3551,7 +3714,7 @@ rhMusic = \relative c'' { \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 @@ -3563,8 +3726,8 @@ rhMusic = \relative c'' { % 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 + \tweak Flag.transparent ##t d2 } \new Voice { @@ -3617,6 +3780,11 @@ lhMusic = \relative c' { @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 @@ -3625,9 +3793,12 @@ lhMusic = \relative c' { @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 @@ -3648,8 +3819,8 @@ de que la ligadura se cruza entre las voces: @lilypond[quote,fragment,relative=2,verbatim] << { - \tweak Stem #'transparent ##t - \tweak Flag #'transparent ##t + \tweak Stem.transparent ##t + \tweak Flag.transparent ##t b8~ b\noBeam } \\ @@ -3664,9 +3835,9 @@ valor de longitud @code{length} a @code{8}, @lilypond[quote,fragment,relative=2,verbatim] << { - \tweak Stem #'transparent ##t - \tweak Flag #'transparent ##t - \tweak Stem #'length #8 + \tweak Stem.transparent ##t + \tweak Flag.transparent ##t + \tweak Stem.length #8 b8~ b\noBeam } \\ @@ -3674,7 +3845,40 @@ valor de longitud @code{length} a @code{8}, >> @end lilypond -@subheading Simulación de un calderón en el MIDI +@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 + } +\\ + { b8[ g] } +>> +@end lilypond + +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 @@ -3705,7 +3909,7 @@ los dos métodos: % 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 | @@ -3727,7 +3931,7 @@ los dos métodos: % 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 | @@ -3776,11 +3980,11 @@ alternativa, utilizar las instrucciones @code{\override} y @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 @@ -3799,13 +4003,13 @@ más cortos para que fueran más rápidos de teclear: @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 } @@ -3880,7 +4084,7 @@ inst = #(define-music-function (parser location string) (string?) - #{ ^\markup \bold \box #string #}) + #{ <>^\markup \bold \box #string #}) \relative c'' { \tempo 4=50 @@ -3915,7 +4119,7 @@ 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 @@ -3954,7 +4158,7 @@ inst = #(define-music-function (parser location string) (string?) - #{ ^\markup \bold \box #string #}) + #{ <>^\markup \bold \box #string #}) \relative c'' { \tempo 4=50 @@ -3990,22 +4194,22 @@ 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 @@ -4023,22 +4227,22 @@ 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 } } @@ -4061,7 +4265,7 @@ esta música es producir un PDF que va a mostrarse en la pantalla, también vamos a aumentar el tamaño general de la salida. @example -%%% definiciones.ily +%%% publicar-web.ily mpdolce = #(make-dynamic-script #@{ \markup @{ \hspace #0 @@ -4074,23 +4278,23 @@ 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 @@ -4108,18 +4312,18 @@ 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 } } @@ -4185,8 +4389,7 @@ un gestor de paquetes (es decir, distribuido con GNU/Linux, o instalado 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 @@ -4217,7 +4420,7 @@ Mediante el Explorador de Windows, diríjase a @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} @@ -4246,8 +4449,8 @@ es: @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 @@ -4350,7 +4553,7 @@ notas un color que depende de su posición dentro del pentagrama. \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