X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Fuser%2Ftweaks.itely;h=55874258b91b59c4b0fe6f996b8850bdf56dd61d;hb=1423508c355989fa26a8cfe5985b0d6e1ab0a538;hp=fa2428678445258646a93a74756df2e8803ce8c8;hpb=10604382eaaf162467b60cf730aa635635e07797;p=lilypond.git diff --git a/Documentation/es/user/tweaks.itely b/Documentation/es/user/tweaks.itely index fa24286784..55874258b9 100644 --- a/Documentation/es/user/tweaks.itely +++ b/Documentation/es/user/tweaks.itely @@ -1,13 +1,13 @@ -@c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond.tely @ignore - Translation of GIT committish: 4be1308672c6f8efbe660c9eddc0a6a167c9ad31 + Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @end ignore -@c \version "2.11.51" +@c \version "2.12.0" @node Tweaking output @chapter Tweaking output @@ -61,10 +61,14 @@ fundamentales para comprender y construir los trucos. @node Objects and interfaces @subsection Objects and interfaces -@cindex objetos -@cindex grobs -@cindex selectores -@cindex interfaces +@cindex objeto +@cindex grob +@cindex objeto de extensión +@cindex interfaz +@cindex propiedades de objetos +@cindex objeto, propiedades de +@cindex layout (disposición), objeto de +@cindex objeto de disposición (layout) El trucaje consiste en modificar el funcionamiento y estructura interna del programa LilyPond, por lo que en primer lugar @@ -122,6 +126,11 @@ que vamos a utilizar en este capítulo. @node Naming conventions of objects and properties @subsection Naming conventions of objects and properties +@cindex nomenclatura, convenciones de, para objetos +@cindex nomenclatura, convenciones de, para propiedades +@cindex objetos, convenciones de nomenclatura +@cindex propiedades, convenciones de nomenclatura + Ya hemos visto ciertas convenciones de nomenclatura de objetos, en la sección @ref{Contexts and engravers}. En este lugar, para más fácil referencia, presentamos una lista de los tipos de objetos y @@ -164,29 +173,35 @@ propiedad. @node Tweaking methods @subsection Tweaking methods +@cindex trucaje, métodos de + @strong{La instrucción \override} @cindex override, instrucción +@cindex override (sobreescritura), sintaxis de + @funindex \override +@funindex override Ya hemos visto las instrucciones @code{\set} y @code{\with}, que se usan para cambiar las propiedades de los @strong{contextos} y para quitar y poner @strong{grabadores}, en @ref{Modifying context properties} y @ref{Adding and removing engravers}. Ahora debemos -examinar algunas instrucciones importantes más. +examinar algunas otras instrucciones importantes. La instrucción que cambia las propiedades de los @strong{objetos de presentación} es @code{\override}. Puesto que esta instrucción debe modificar propiedades internas que se encuentran en un lugar profundo dentro de LilyPond, su sintaxis no es tan simple como la del resto de -las instrucciones que hemos visto hasta ahora. Tiene que saber +las instrucciones que hemos usado hasta ahora. Tiene que saber exactamente qué propiedad de qué objeto y en qué contexto se debe 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} = #@var{valor} +\override @var{Contexto}.@var{ObjetoDePresentación} #'@var{propiedad-de-presentación} = +#@var{valor} @end example @noindent @@ -214,6 +229,9 @@ 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 una cabeza: +@cindex color, propiedad, ejemplo +@cindex NoteHead, ejemplo de sobreescritura + @lilypond[quote,fragment,ragged-right,verbatim,relative=1] c d \override NoteHead #'color = #red @@ -225,7 +243,9 @@ a b c @strong{La instrucción \revert} @cindex revert, instrucción + @funindex \revert +@funindex revert Una vez sobreescrita, la propiedad retiene su nuevo valor hasta que se sobreescribe de nuevo o se encuentra una instrucción @@ -244,6 +264,9 @@ Una vez más, igual que @var{Contexto} dentro de la instrucción Aquí devolvemos el color de la cabeza al valor predeterminado para las dos últimas notas: +@cindex color, propiedad, ejemplo +@cindex NoteHead, ejemplo de sobreescritura + @lilypond[quote,fragment,ragged-right,verbatim,relative=1] c d \override NoteHead #'color = #red @@ -256,6 +279,9 @@ b c @strong{El prefijo \once} +@funindex \once +@funindex once + Tanto la instrucción @code{\override} como @code{\set} se pueden preceder por @code{\once}. Esto ocasiona que la siguiente instrucción @code{\override} o @code{\set} sea efectiva solamente durante el @@ -263,6 +289,9 @@ tiempo musical en curso y antes de que la propiedad vuelva a tener otra vez su valor predeterminado. Utilizando el mismo ejemplo, 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] c d \once \override NoteHead #'color = #red @@ -274,7 +303,9 @@ a b c @strong{La instrucción \overrideProperty} @cindex overrideProperty, instrucción + @funindex \overrideProperty +@funindex overrideProperty Hay otra forma para la instrucción de sobreescritura, @code{\overrideProperty}, que ocasionalmente es necesaria. La @@ -285,7 +316,9 @@ detalles consulte @ruser{Difficult tweaks}. @strong{La instrucción \tweak} @cindex tweak, instrucción + @funindex \tweak +@funindex tweak La última instrucción de trucaje que está disponible es @code{\tweak}. Se debe utilizar para cambiar las propiedades de objetos que suceden @@ -298,6 +331,9 @@ He aquí un ejemplo. Suponga que queremos cambiar el tamaño de la cabeza de la nota intermedia (el Mi) en un acorde de Do mayor. En primer lugar, veamos lo que haría @code{\once \override}: +@cindex font-size, propiedad, ejemplo +@cindex NoteHead, ejemplo de sobreescritura + @lilypond[quote,fragment,ragged-right,verbatim,relative=1] 4 \once \override NoteHead #'font-size = #-3 @@ -326,25 +362,31 @@ dentro de ángulos simples junto con la nota. Así pues, volviendo a nuestro ejemplo, el tamaño de la nota intermedia se cambiaría de la siguiente forma: +@cindex font-size, propiedad, ejemplo +@cindex @code{\tweak}, ejemplo + @lilypond[quote,fragment,ragged-right,verbatim,relative=1] 4 4 @end lilypond Observe que la sintaxis de @code{\tweak} no es igual que la de -@code{\override}. Ni el contexto ni el objeto de -presentación se deben especificar; de hecho, generaría un error -hacerlo. Los dos están implícitos por el siguiente elemento del flujo -de entrada. Así que la sintaxis genérica de la instrucción -@code{\tweak} es, simplemente, +@code{\override}. Ni el contexto ni el objeto de presentación se +deben especificar; de hecho, generaría un error hacerlo. Los dos +están implícitos por el siguiente elemento del flujo de entrada. +Observe también que no debe haber un signo igual. Así que la sintaxis +genérica de la instrucción @code{\tweak} es, simplemente, @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 sólo una de una serie de articulaciones, como se muestra aquí: +@cindex color, propiedad, ejemplo +@cindex @code{\tweak}, ejemplo + @lilypond[quote,fragment,ragged-right,verbatim,relative=2] a ^Black -\tweak #'color #red ^Red @@ -358,8 +400,10 @@ marca de articulación como si ella misma fuera una articulación. @cindex grupos especiales anidados @cindex tresillos anidados @cindex corchete del grupo especial +@cindex corchete de tresillo @cindex grupo especial, corchete de @cindex tresillo, corchete de + @funindex TupletBracket La instrucción @code{\tweak} también se debe usar para cambiar la @@ -374,6 +418,10 @@ colocar por encima de las notas y el segundo especifica que el número del tresillo se debe imprimir en rojo sobre el corchete del primer tresillo corto. +@cindex @code{\tweak}, ejemplo +@cindex direction, propiedad, ejemplo +@cindex color, propiedad, ejemplo + @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak #'direction #up \times 4/3 { @@ -388,6 +436,11 @@ Si los grupos anidados no comienzan en el mismo momento, su apariencia se puede modificar de la forma usual mediante instrucciones @code{\override}: +@cindex text, propiedad, ejemplo +@cindex tuplet-number, función, ejemplo +@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] @@ -403,8 +456,8 @@ se puede modificar de la forma usual mediante instrucciones } @end lilypond -@seealso +@seealso Referencia de la notación: @ruser{The tweak command}. @@ -427,6 +480,7 @@ Referencia de la notación: @cindex propiedades de los grobs @cindex grobs, propiedades de @cindex presentación, propiedades de los objetos de +@cindex Referencia de funcionamiento interno Suponga que tiene una partitura con una ligadura de expresión que para su gusto es demasiado fina y quiere trazarla un poco más gruesa. ¿Cómo @@ -450,6 +504,8 @@ con tan sólo algo de práctica. @cindex sobreescritura, ejemplo de @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: @@ -547,6 +603,9 @@ Aunque nos falta seguridad y estamos todavía aprendiendo, la mejor respuesta es: @q{Dentro de la música, antes de la primera ligadura y cerca de ella.} Hagámoslo así: +@cindex Slur, ejemplo de sobreescritura +@cindex thickness, propiedad, ejemplo + @lilypond[quote,verbatim,relative=2] { \time 6/8 @@ -575,7 +634,9 @@ práctica). La cual vendrá proporcionada por los ejemplos que vienen a continuación. @subheading Finding the context + @cindex contexto, encontrar +@cindex contexto, buscar el, correcto Pero en primer lugar ¿qué habría pasado si hubiésemos tenido que especificar el contexto? ¿Cuál sería? Podemos suponer que las @@ -599,7 +660,9 @@ este lugar concreto. @cindex sobreescritura por una sola vez @cindex once override + @funindex \once +@funindex once Como puede ver, @emph{todas} las ligaduras son más gruesas en el último ejemplo. Pero ¿y si quisiéramos que solamente la primera @@ -613,6 +676,9 @@ encuentre alguna ligadura, sino que simplemente se ignora. Así pues, la instrucción que lleva @code{\once} se debe reposicionar de la forma siguiente: +@cindex Slur, ejemplo de sobreescritura +@cindex thickness, propiedad, ejemplo + @lilypond[quote,verbatim,relative=2] { \time 6/8 @@ -638,9 +704,11 @@ la instrucción @code{\set}. @subheading Reverting -@cindex revert -@cindex predeterminadas, devolver a las propiedades +@cindex revertir +@cindex predeterminadas, recuperar las propiedades + @funindex \revert +@funindex revert Finalmente ¿y si quisiéramos que solamente las dos primeras ligaduras fuesen más gruesas? En fin; podríamos usar dos instrucciones, cada @@ -648,6 +716,9 @@ una de ellas precedida por el prefijo @code{\once}, situadas inmediatamente antes de cada una de las notas en que comienzan las ligaduras: +@cindex Slur, ejemplo de sobreescritura +@cindex thickness, propiedad, ejemplo + @lilypond[quote,verbatim,relative=2] { \time 6/8 @@ -673,6 +744,9 @@ instrucción @code{\revert} (restablecer) para devolver la propiedad del grosor, @code{thickness}, a su valor predeterminado después de la segunda ligadura: +@cindex Slur, ejemplo de sobreescritura +@cindex thickness, propiedad, ejemplo + @lilypond[quote,verbatim,relative=2] { \time 6/8 @@ -710,6 +784,7 @@ explicación. @node Properties found in interfaces @subsection Properties found in interfaces +@cindex interface @cindex propiedades de los interfaces @cindex interfaces, propiedades @@ -733,12 +808,11 @@ de los interfaces, y descubrir qué objetos usan estas propiedades de interface. Mire de nuevo la página del RFI que describe a LyricText. Al final de -la página hay una lista de enlaces (en las versiones de html del RFI) -a los interfaces que LyricText contempla. La lista tiene siete -elementos, entre ellos @code{font-interface}. Al seguir este enlace -llegamos a las propiedades asociadas con este interface, que también -son propiedades de todos los objetos que lo llevan, entre ellos -LyricText. +la página hay una lista de enlaces a los interfaces que LyricText +contempla. La lista tiene siete elementos, entre ellos +@code{font-interface}. Al seguir este enlace llegamos a las +propiedades asociadas con este interface, que también son propiedades +de todos los objetos que lo llevan, entre ellos LyricText. Ahora vemos todas las propiedades ajustables por el usuario que controlan las tipografías, entre ellas @code{font-shape(symbol)}, @@ -766,28 +840,35 @@ 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óstrofe, @code{'}. Esa es la razón por la que se necesitan -apóstrofes antes de @code{thickness} en el ejemplo anterior y en +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 son en efecto valores especiales 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"}. +@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 @ref{Scheme +tutorial}. -De acuerdo, entonces la instrucción @code{\override} que necesitamos -para imprimir la letra en cursiva sería +Así pues, la instrucción @code{\override} que necesitamos para +imprimir la letra en cursiva, es: @example \override LyricText #'font-shape = #'italic @end example @noindent -y debe colocarse justo delante de, y cerca de, la letra a la que debe -afectar, como esto: +Esto debe escribirse justo delante de la letra a la que debe afectar, +de esta forma: -@lilypond[quote,verbatim,relative=2] +@cindex font-shape, propiedad, ejemplo +@cindex italic, ejemplo +@cindex LyricText, ejemplo de sobreescritura +@cindex @code{\addlyrics}, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 6/8 { @@ -806,7 +887,9 @@ afectar, como esto: y toda la letra se imprime en cursiva. @subheading Specifying the context in lyric mode + @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 @@ -831,6 +914,12 @@ final y la llave de cierre.} escriba siempre espacios antes y después del punto que separa el nombre del contexto y el nombre del objeto.} + +@seealso +Manual de aprendizaje: +@ref{Scheme tutorial}. + + @node Types of properties @subsection Types of properties @@ -857,14 +946,14 @@ en la instrucción @code{\override}. @tab Un número decimal positivo (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 + @tab Una constante válida de dirección o su equivalente numérico (se permiten valores decimales entre -1 y 1) @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @code{-1} @item Entero @tab Un número entero positivo @tab @code{3}, @code{1} @item Lista - @tab Un conjunto de elementos entre paréntesis separados por espacios y precedido de un apóstrofe + @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)}, @code{'(1.0 0.25 0.5)} @item Marcado @@ -878,20 +967,26 @@ en la instrucción @code{\override}. @tab Cualquier valor decimal positivo o negativo @tab @code{3.5}, @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óstrofe + @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)} @item Símbolo - @tab Cualquiera del conjunto de símbolos permitidos para esa propiedad, precedido de un apóstrofe + @tab Cualquiera del conjunto de símbolos permitidos para esa propiedad, precedido de un apóstrofo @tab @code{'italic}, @code{'inside} @item Desconocido - @tab Un procedimiento o @code{#f} (para no producir ninguna acción) + @tab Un procedimiento o @code{#f} para no producir ninguna acción @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óstrofe-almohadilla, @code{'#}. + @tab Una lista de tres elementos encerrados entre paréntesis y precedida de apóstrofo-almohadilla, @code{'#}. @tab @code{'#(#t #t #f)} @end multitable + +@seealso +Manual de aprendizaje: +@ref{Scheme tutorial}. + + @node Appearance of objects @section Appearance of objects @@ -919,13 +1014,14 @@ que no se impriman? Antes de enredarnos con esto, recordemos que las propiedades de los objetos se agrupan en lo que hemos llamado @emph{interfaces} (véase @ref{Properties found in interfaces}). Esto es simplemente agrupar -las propiedades que normalmente se necesitan juntas: si una de ellas -se necesita para un objeto, también las otras. Así, ciertos objetos -necesitan las propiedades de algunos interfaces, otros necesitan las -de otros interfaces. Los interfaces que contienen las propiedades que -un determinado grob necesita se encuentran relacionadas en el manual -RFI al final de la página que describe dicho grob, y esas propiedades -se pueden ver mirando dichos interfaces. +las propiedades que se pueden usar juntas para trucar un objeto +gráfico: si una de ellas se necesita para un objeto, también las +otras. Así, ciertos objetos usan las propiedades de algunos +interfaces, otros usan las de otros interfaces. Los interfaces que +contienen las propiedades que un determinado grob necesita se +encuentran relacionadas en el manual RFI al final de la página que +describe dicho grob, y esas propiedades se pueden ver mirando dichos +interfaces. Hemos explicado cómo encontrar información sobre los grobs en @ref{Properties of layout objects}. Usando el mismo enfoque, vamos al @@ -942,6 +1038,7 @@ también la de muchos otros objetos de presentación). Vamos a considerar cada uno de ellos por orden. @subheading stencil + @cindex stencil (sello), propiedad Esta propiedad controla la apariencia de las barras de compás mediante @@ -950,7 +1047,10 @@ que como otras muchas propiedades, se puede establecer de forma que no imprima nada ajustando su valor a @code{#f}. Vamos a probarlo, como antes, omitiendo el Contexto implícito, @code{Voice}: -@lilypond[quote,verbatim,relative=2] +@cindex BarLine, ejemplo de sobreescritura +@cindex stencil, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override BarLine #'stencil = ##f @@ -970,12 +1070,15 @@ contextos en los que el grabador de líneas divisorias opera. Todos ellos son del tipo @code{Staff}, y así la razón de que la instrucción @code{\override} no funcionara como esperábamos, es porque @code{Barline} no se encuentra en el contexto predeterminado -@code{Voice}. Si el contexto se especifica mal, la instrucción -simplemente no funciona. No se produce ningún mensaje de error, y no -se registra nada en el archivo log de registro. Vamos a intentar -corregirlo escribiendo el contexto correcto: +@code{Voice}. Si el contexto no se especifica correctamente, la +instrucción simplemente no funciona. No se produce ningún mensaje de +error, y no se registra nada en el archivo log de registro. Vamos a +intentar corregirlo escribiendo el contexto correcto: -@lilypond[quote,verbatim,relative=2] +@cindex BarLine, ejemplo de sobreescritura +@cindex stencil, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override Staff.BarLine #'stencil = ##f @@ -987,9 +1090,25 @@ corregirlo escribiendo el contexto correcto: Ahora las barras de compás han desaparecido. +Sin embargo, observe que el establecimiento de la propiedad +@code{stencil} al valor @code{#f} produce errores cuando las se +requieren las dimensiones del objeto para un procesamiento correcto. +Por ejemplo, se generan errores si la propiedad @code{stencil} del +objeto @code{NoteHead} se establece al valor @code{#f}. Si es el +caso, podemos en vez de ello utilizar la función @code{point-stencil}, +que establece el sello a un objeto con tamaño nulo: + +@lilypond[quote,verbatim,relative=2] +{ + c c + \once \override NoteHead #'stencil = #point-stencil + c c +} +@end lilypond + @subheading break-visibility -@cindex 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 @@ -1004,6 +1123,9 @@ como parte del valor para introducir un vector, y el primer símbolo de almohadilla @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 @@ -1017,7 +1139,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 -@cindex transparente, propiedad + +@cindex transparent, propiedad +@cindex transparencia En la relación de propiedades que se especifican en la página del @code{grob-interface} del RFI podemos ver que la propiedad @@ -1033,7 +1157,10 @@ del contexto de @code{Staff} y también contempla el interface @code{grob-interface}. Así pues, la instrucción que hace transparente a la indicación de compás es: -@lilypond[quote,verbatim,relative=2] +@cindex TimeSignature, ejemplo de sobreescritura +@cindex transparent, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override Staff.TimeSignature #'transparent = ##t @@ -1051,7 +1178,10 @@ 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}: -@lilypond[quote,verbatim,relative=2] +@cindex TimeSignature, ejemplo de sobreescritura +@cindex stencil, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override Staff.TimeSignature #'stencil = ##f @@ -1067,6 +1197,7 @@ quitamos el objeto por completo; al hacer el objeto @code{transparent} lo dejamos donde está, pero lo hacemos invisible. @subheading color + @cindex color, propiedad Para finalizar, intentemos hacer invisibles las barras de compás @@ -1088,7 +1219,10 @@ primera forma es utilizar uno de los colores @q{normales} que están relacionados en la primera tabla de la @ruser{List of colors}. Para poner las líneas divisorias de color blanco, escribimos: -@lilypond[quote,verbatim,relative=2] +@cindex BarLine, ejemplo de sobreescritura +@cindex color, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override Staff.BarLine #'color = #white @@ -1100,7 +1234,7 @@ 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óstrofe: no es un +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 lista de valores internos que se requieren para establecer el color a blanco. Los otros colores de la lista normal también son funciones. @@ -1110,13 +1244,18 @@ una de las otras funciones 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{List of colors}. 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: -@lilypond[quote,verbatim,relative=2] +@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) @@ -1128,12 +1267,14 @@ internos, @code{x11-color}, de la siguiente manera: @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óstrofe y +como argumento, así que el símbolo debe ir precedido de un apóstrofo y los dos deben ir 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 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 @@ -1141,7 +1282,10 @@ valores entre 0 y 1. Por lo tanto, para establecer el color a rojo el valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser @code{(rgb-color 1 1 1)}: -@lilypond[quote,verbatim,relative=2] +@cindex BarLine, ejemplo de sobreescritura +@cindex color, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override Staff.BarLine #'color = #(rgb-color 1 1 1) @@ -1157,7 +1301,16 @@ 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: -@lilypond[quote,verbatim,relative=2] +@cindex StaffSymbol, ejemplo de sobreescritura +@cindex TimeSignature, ejemplo de sobreescritura +@cindex Clef, ejemplo de sobreescritura +@cindex NoteHead, ejemplo de sobreescritura +@cindex Stem, ejemplo de sobreescritura +@cindex BarLine, ejemplo de sobreescritura +@cindex color property, ejemplo +@cindex x11-color, ejemplo de utilización + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] { \time 12/16 \override Staff.StaffSymbol #'color = #(x11-color 'grey30) @@ -1186,11 +1339,19 @@ normalmente el grabador. @node Size of objects @subsection Size of objects +@cindex cambiar el tamaño de los objetos +@cindex tamaño de los objetos +@cindex objetos, tamaño de +@cindex objetos, cambiar el tamaño de + Empezaremos examinando de nuevo un ejemplo anterior (véase @ref{Nesting music expressions}) que nos mostraba cómo introducir un pentagrama temporal, como en un @rglos{ossia}. -@lilypond[quote,verbatim,relative=2] +@cindex alignAboveContext, propiedad, ejemplo +@cindex @code{\with}, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \new Staff ="main" { \relative g' { r4 g8 g c4 c8 d | @@ -1198,7 +1359,7 @@ pentagrama temporal, como en un @rglos{ossia}. << { f c c } \new Staff \with { - alignAboveContext = "main" } + alignAboveContext = #"main" } { f8 f c } >> r4 | @@ -1211,7 +1372,13 @@ por lo normal se imprimen más pequeños que el pentagrama principal. Ya sabemos cómo quitar la clave y el compás: simplemente establecemos el sello de cada uno de ellos a @code{#f}, como sigue: -@lilypond[quote,verbatim,relative=2] +@cindex alignAboveContext, propiedad, ejemplo +@cindex @code{\with}, ejemplo +@cindex stencil, propiedad, ejemplo +@cindex Clef, ejemplo de sobreescritura +@cindex TimeSignature, ejemplo de sobreescritura + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \new Staff ="main" { \relative g' { r4 g8 g c4 c8 d | @@ -1219,7 +1386,7 @@ el sello de cada uno de ellos a @code{#f}, como sigue: << { f c c } \new Staff \with { - alignAboveContext = "main" + alignAboveContext = #"main" } { \override Staff.Clef #'stencil = ##f @@ -1269,7 +1436,12 @@ contexto en este lugar. Así pues, podemos reemplazar el ejemplo anterior con -@lilypond[quote,verbatim,relative=2] +@cindex alignAboveContext, propiedad, ejemplo +@cindex @code{\with}, example +@cindex Clef, ejemplo de sobreescritura +@cindex TimeSignature, ejemplo de sobreescritura + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \new Staff ="main" { \relative g' { r4 g8 g c4 c8 d | @@ -1277,7 +1449,7 @@ Así pues, podemos reemplazar el ejemplo anterior con << { f c c } \new Staff \with { - alignAboveContext = "main" + alignAboveContext = #"main" % Don't print clefs in this staff \override Clef #'stencil = ##f % Don't print time signatures in this staff @@ -1333,7 +1505,13 @@ reduce o aumenta el tamaño aproximadamente en un 12%. Vamos a probarlo en nuestro ejemplo del ossia: -@lilypond[quote,verbatim,relative=2] +@cindex alignAboveContext, propiedad, ejemplo +@cindex @code{\with}, ejemplo +@cindex Clef, ejemplo de sobreescritura +@cindex TimeSignature, ejemplo de sobreescritura +@cindex fontSize, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \new Staff ="main" { \relative g' { r4 g8 g c4 c8 d | @@ -1341,7 +1519,7 @@ Vamos a probarlo en nuestro ejemplo del ossia: << { f c c } \new Staff \with { - alignAboveContext = "main" + alignAboveContext = #"main" \override Clef #'stencil = ##f \override TimeSignature #'stencil = ##f % Reduce all font sizes by ~24% @@ -1390,7 +1568,17 @@ propósito. Toma un argumento, el cambio de tamaño de la tipografía para reducir otros objetos en la misma proporción. Se usa de la siguiente forma: -@lilypond[quote,verbatim,relative=2] +@cindex alignAboveContext, propiedad, ejemplo +@cindex @code{\with}, ejemplo +@cindex Clef, ejemplo de sobreescritura +@cindex TimeSignature, ejemplo de sobreescritura +@cindex fontSize, propiedad, ejemplo +@cindex StaffSymbol, ejemplo de sobreescritura +@cindex magstep, función, ejemplo de utilización +@cindex staff-space, propiedad, ejemplo +@cindex stencil, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \new Staff ="main" { \relative g' { r4 g8 g c4 c8 d | @@ -1398,7 +1586,7 @@ siguiente forma: << { f c c } \new Staff \with { - alignAboveContext = "main" + alignAboveContext = #"main" \override Clef #'stencil = ##f \override TimeSignature #'stencil = ##f fontSize = #-2 @@ -1447,13 +1635,18 @@ tipografía) se pueden cambiar de la misma forma. @menu * Automatic behaviour:: * Within-staff objects:: -* Outside staff objects:: +* Outside-staff objects:: @end menu @node Automatic behaviour @subsection Automatic behaviour +@cindex dentro del pentagrama, objetos +@cindex fuera del pentagrama, objetos +@cindex objetos dentro del pentagrama +@cindex objetos fuera del pentagrama + Hay ciertos objetos en notación musical que pertenecen al pentagrama y otros cuyo lugar se sitúa fuera del pentagrama. Reciben el nombre de objetos dentro-del-pentagrama y objetos fuera-del-pentagrama, @@ -1495,7 +1688,9 @@ prioridad (pues no se ha establecido explícitamente). Observe que @q{Text3} se posiciona de nuevo automáticamente cerca del pentagrama, acomodado por debajo de @q{Text2}. -@lilypond[quote,verbatim,relative=2] +@cindex markup, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] c2^"Text1" c^"Text2" c^"Text3" @@ -1525,7 +1720,7 @@ pentagramas adyacentes: @node Within-staff objects @subsection Within-staff objects -Ya hemos visto cómo las instrucciones @code{\voiceXXX} affectan a la +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 escribe música polifónica, estas instrucciones son esenciales para que @@ -1545,6 +1740,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}. +@cindex abajo +@cindex arriba +@cindex centro +@cindex neutro +@cindex down +@cindex up +@cindex center +@cindex neutral + El ejemplo siguiente muestra en el compás 1 el comportamiento predeterminado de las plicas, con las de las notas agudas apuntando hacia abajo y las graves hacia arriba, seguidas de cuatro notas con @@ -1552,7 +1756,10 @@ todas las plicas forzadas hacia abajo, cuatro notas con las plicas forzadas hacia arriba, y por último cuatro notas devueltas al comportamiento predeterminado. -@lilypond[quote,verbatim,relative=2] +@cindex Stem, ejemplo de sobreescritura +@cindex direction, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] a4 g c a \override Stem #'direction = #DOWN a g c a @@ -1626,18 +1833,24 @@ equivalente, o usar la instrucción predefinida, seguida después de la nota afectada por la instrucción @code{\xxxNeutral} correspondiente. @subheading Fingering + @cindex digitación, colocación +@cindex digitación de acordes -La colocación de las digitaciones también resulta afectada por el -valor de su propiedad @code{direction}, pero existen instrucciones -especiales que permiten controlar las digitaciones de notas -individuales, situando la digitación encima, debajo, a la izquierda o -a la derecha de cada nota. +La colocación de las digitaciones sobre notas sueltas también se puede +controlar mediante la propiedad @code{direction}, pero los cambios +sobre @code{direction} no tienen ningún efecto sobre las notas de los +acordes. Como veremos, existen instrucciones especiales que permiten +controlar las digitaciones de notas individuales, situando la +digitación encima, debajo, a la izquierda o a la derecha de cada nota. En primer lugar, he aquí el efecto de @code{direction} sobre las -digitaciones; el primer compás muestra el comportamiento -predeterminado, y después el efecto de especificar @code{DOWN} y -@code{UP}: +digitaciones aplicadas a notas sueltas. Se muestra en el primer +compás el comportamiento predeterminado, y en los dos compases +siguiente el efecto de especificar @code{DOWN} y @code{UP}: + +@cindex Fingering, ejemplo de sobreescritura +@cindex direction, propiedad, ejemplo @lilypond[quote,verbatim,relative=2] c-5 a-3 f-1 c'-5 @@ -1647,10 +1860,28 @@ c-5 a-3 f-1 c'-5 c-5 a-3 f-1 c'-5 @end lilypond -Así es como se controla la digitación sobre notas aisladas, pero la -propiedad @code{direction} se ignora para los acordes. En su lugar, -de forma predeterminada las digitaciones se colocan automáticamente -encima y debajo de las notas del acorde, como se muestra aquí: +Sin embargo, la sobreescritura de la propiedad @code{direction} no es +la forma más sencilla de especificar manualmente la digitación por +encima o por debajo de las notas; suele ser preferible usar @code{_} o +@code{^} en lugar de @code{-}, antes del número de la digitación. +Este es el ejemplo anterior utilizando este método: + +@cindex fingering, ejemplo +@cindex digitación, ejemplo + +@lilypond[quote,verbatim,relative=2] +c-5 a-3 f-1 c'-5 +c_5 a_3 f_1 c'_5 +c^5 a^3 f^1 c'^5 +@end lilypond + +La propiedad @code{direction} se ignora para los acordes, pero los +prefijos direccionales @code{_} y @code{^} sí funcionan. De forma +predeterminada, las digitaciones se colocan automáticamente encima y +debajo de las notas de un acorde, como se muestra aquí: + +@cindex fingering, ejemplo +@cindex digitación, ejemplo @lilypond[quote,verbatim,relative=2] @@ -1658,9 +1889,22 @@ encima y debajo de las notas del acorde, como se muestra aquí: @end lilypond -Es posible tener un mayor control sobre la situación exacta de las +@noindent +pero se puede forzar de manera que todos o algunos de los números de +digitación estén por encima o por debajo: + +@cindex fingering, ejemplo +@cindex digitación, ejemplo + +@lilypond[quote,verbatim,relative=2] + + + +@end lilypond + +Es posible ejercer un control aún mayor sobre la colocación de las digitaciones mediante la utilización de la instrucción @code{\set -fingeringOrientations}. El formato de esta instrucción es +fingeringOrientations}. El formato de esta instrucción es: @example @code{\set fingeringOrientations = #'([up] [left/right] [down])} @@ -1682,12 +1926,17 @@ digitación de las notas de los acordes que siguen. Observe que @code{left} y @code{right} son mutuamente excluyentes: las digitaciones pueden situarse en un lado o en el otro, no en los dos. -Para controlar la colocación de la digitación de una sola nota usando -esta instrucción es necesario escribirla como un acorde de una sola -nota encerrándola entre ángulos simples. +@warning{Para controlar la colocación de la digitación de una sola +nota usando esta instrucción es necesario escribirla como un acorde de +una sola nota encerrándola entre ángulos simples.} Aquí podemos ver algunos ejemplos: +@cindex fingering, ejemplo +@cindex digitación, ejemplo +@cindex @code{\set}, ejemplo de utilización +@cindex fingeringOrientations, propiedad, ejemplo + @lilypond[quote,fragment,ragged-right,verbatim,relative=1] \set fingeringOrientations = #'(left) @@ -1731,8 +1980,9 @@ objeto @code{Fingering} del RFI que es @code{-5}, así que probaremos < c-1 e-2 g-3 b-5 > 4 @end lilypond -@node Outside staff objects -@subsection Outside staff objects + +@node Outside-staff objects +@subsection Outside-staff objects Los objetos fuera-del-pentagrama se colocan automáticamente para evitar las colisiones. Los objetos que tienen el valor más bajo de la @@ -1779,13 +2029,19 @@ He aquí un ejemplo que muestra la situación predeterminada de algunos de ellos. @cindex texto, extensiones de +@cindex octava alta y baja, corchete de + @funindex \startTextSpan +@funindex startTextSpan @funindex \stopTextSpan -@cindex octava alta y baja, corchete de +@funindex stopTextSpan + +@cindex TextSpanner, ejemplo de sobreescritura +@cindex bound-details, propiedad, ejemplo @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 @@ -1815,6 +2071,13 @@ ver más detalles, consulte @ruser{Text spanners}. También muestra la manera de crear corchetes de octava alta y baja. +@cindex trucar la situación de los números de compás +@cindex números de compás, ajustar posición +@cindex trucar la situación de marcas metronómicas +@cindex metrónomo, situación de las indicaciones de +@cindex trucar la situación de las letras de ensayo +@cindex ensayo, letras, trucar la colocación + Observe que los números de compás, las indicaciones metronómicas y las mercas de ensayo no se muestran. De forma predeterminada, se crean dentro del contexto @code{Score} y su prioridad @@ -1846,9 +2109,12 @@ anteriores, y reducirlo a un valor inferior al de @code{TextSpanner}, recordando que @code{OttavaBracket} se crea dentro del contexto de @code{Staff}: +@cindex TextSpanner, ejemplo de sobreescritura +@cindex bound-details, propiedad, ejemplo + @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 @@ -1871,6 +2137,35 @@ c\ff c \stopTextSpan c, c c c @end lilypond +@cindex ligaduras y outside-staff-priority +@cindex ligaduras y articulaciones +@cindex articulaciones y ligaduras + +De forma predeterminada, las ligaduras de expresión están clasificadas +como objetos dentro-del-pentagrama, pero con frecuencia aparecen +encima del pentagrama si las notas que une son muy agudas. Ello puede +empujar a una posición muy elevada a los objetos fuera-del-pentagrama +como las articulaciones, pues la ligadura se colocará en primer lugar. +La propiedad @code{avoid-slur} de la articulación se puede establecer +al valor @code{'inside} (por dentro) para llevarla al interior de la +ligadura, pero la propiedad @code{avoid-slur} es efectiva solamente si +la prioridad @code{outside-staff-priority} está también ajustada al +valor @code{#f}. De forma alternativa, la prioridad +@code{outside-staff-priority} de la ligadura se puede fijar en un +valor numérico para hacer que se sitúe en línea con otros objetos +fuera del pentagrama de acuerdo con este valor. He aquí un ejemplo +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 +c^\markup\tiny\sharp d4.) c8 +\once \override Slur #'outside-staff-priority = #500 +c4( c^\markup\tiny\sharp d4.) c8 +@end lilypond + Los cambios en @code{outside-staff-priority} también se pueden emplear para controlar la situación vertical de los objetos individuales, aunque los resultados pueden no siempre ser deseables. Suponga que @@ -1880,7 +2175,10 @@ bajo el epígrafe Comportamiento Automático de más arriba (véase prioridad de @code{TextScript} en el RFI o en las tablas de arriba, y aumentar la prioridad de @qq{Text3} hasta un valor superior: -@lilypond[quote,verbatim,relative=2] +@cindex TextScript, ejemplo de sobreescritura +@cindex outside-staff-priority, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] c2^"Text1" c^"Text2" \once \override TextScript #'outside-staff-priority = #500 @@ -1899,16 +2197,20 @@ hacer sitio para el texto. Esto se hace empleando la instrucción @subheading \textLengthOn -@funindex \textLengthOn @cindex notas, espaciar junto al texto +@funindex \textLengthOn +@funindex textLengthOn +@funindex \textLengthOff +@funindex textLengthOff + De forma predeterminada, el texto producido mediante marcado no ocupa ningún espacio horizontal en cuanto se refiere a la disposición de la música. La instrucción @code{\textLengthOn} invierte este comportamiento, ocasionando que las notas resulten tan espaciadas como sea necesario para acomodar el texto: -@lilypond[quote,verbatim,relative=2] +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \textLengthOn % Cause notes to space out to accommodate text c2^"Text1" c^"Text2" @@ -1921,13 +2223,18 @@ La instrucción para volver al comportamiento predeterminado es con @code{\override}, @code{\set}, @code{\revert} o @code{unset}, así que no se puede usar con @code{\textLengthOn}. +@cindex marcado, texto de, permitir las colisiones en + El texto de marcado también evita las notas que se proyectan por encima del pentagrama. Si esto no es lo que deseamos, el desplazamiento automático hacia arriba se puede desactivar mediante el establecimiento de la prioridad a @code{#f}. He aquí un ejemplo que muestra cómo el texto de marcado interactúa con tales notas. -@lilypond[quote,verbatim,relative=2] +@cindex TextScript, ejemplo de sobreescritura +@cindex outside-staff-priority, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] % This markup is short enough to fit without collision c2^"Tex" c''2 @@ -1944,13 +2251,17 @@ R1 % Turn off collision avoidance \once \override TextScript #'outside-staff-priority = ##f \textLengthOn % and turn on textLengthOn -c,,2^"Long Text " % Spaces at end are honoured +c,,2^"Long Text " % Spaces at end are honored c''2 @end lilypond @subheading Dynamics +@cindex trucar la colocación de los matices +@cindex dinámica, trucar la colocación de las indicaciones de +@cindex matices, trucar la colocación + 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 @@ -1974,7 +2285,7 @@ las marcas dinámicas posteriores más lejos, aunque este puede no ser el lugar óptimo, como muestra el siguiente ejemplo más bien artificial: -@lilypond[quote,verbatim,relative=2] +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp a4\f b\mf c\mp b\p @end lilypond @@ -1993,10 +2304,6 @@ instrucciones @code{\override}. @cindex grob, cambio de tamaño de un @cindex escala de los grobs -@cindex @code{X-offset} -@cindex @code{Y-offset} -@cindex @code{X-extent} -@cindex @code{Y-extent} En primer lugar debemos aprender cómo se especifica el tamaño de los grobs. Todos los grobs tienen un punto de referencia definido dentro @@ -2030,7 +2337,10 @@ instrucción que lo hace para las indicaciones dinámicas: @noindent Veamos si funciona en nuestro ejemplo anterior: -@lilypond[quote,verbatim,relative=2] +@cindex DynamicText, ejemplo de sobreescritura +@cindex extra-spacing-width, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp \override DynamicText #'extra-spacing-width = #'(0 . 0) a4\f b\mf c\mp b\p @@ -2047,7 +2357,10 @@ 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: -@lilypond[quote,verbatim,relative=2] +@cindex DynamicText, ejemplo de sobreescritura +@cindex extra-spacing-width, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp % Extend width by 1 staff space \override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5) @@ -2074,6 +2387,12 @@ que se estudia en la sección siguiente. @node Moving objects @subsection Moving objects +@cindex mover objetos superpuestos +@cindex mover objetos que colisionan +@cindex mover grobs que colisionan +@cindex objetos que colisionan, mover +@cindex grobs que colisionan, mover + Aunque pueda sorprenderle, LilyPond no es perfecto. Ciertos elementos de notación se pueden superponer, lo que es una lástima, pero en realidad es bastante poco frecuente. Normalmente la necesidad de @@ -2117,10 +2436,12 @@ objects}. izquierda), @code{right-padding} (relleno por la derecha), @code{staff-padding} (relleno de pentagrama) +@cindex relleno @cindex left-padding, propiedad @cindex padding, propiedad @cindex right-padding, propiedad @cindex staff-padding, propiedad + Según un objeto se está colocando, el valor de su propiedad de relleno @code{padding} especifica el espacio intermedio que se debe dejar entre él mismo y el límite más próximo del objeto contra el que se @@ -2172,6 +2493,7 @@ Se puede sobreescribir si se necesita una separación intermedia mayor @code{self-alignment-X} (Auto-alineamiento en el eje X) @cindex self-alignment-X, propiedad + Esta propiedad se puede usar para alinear el objeto a la izquierda, a la derecha, o centrarlo con respecto al punto de referencia del objeto «padre». Se puede usar con todos los objetos que contemplan el @@ -2192,6 +2514,7 @@ longitud total del propio texto. @code{extra-spacing-width} (anchura de separación adicional) @cindex extra-spacing-width, propiedad + Esta propiedad está disponible para todos los objetos que contemplan el interface @code{item-interface}. Toma dos números, el primero se suma al límite izquierdo y el segundo se suma al límite derecho. Los @@ -2205,6 +2528,7 @@ ostentan los dos números. Por ejemplo, el objeto @code{Accidental} @code{staff-position} (posición de pentagrama) @cindex staff-position, propiedad + @code{staff-position} es una propiedad del interface @code{staff-symbol-referencer-interface}, que está contemplado por los objetos que se colocan con relación al pentagrama. Especifica la @@ -2255,7 +2579,9 @@ de posicionamiento manual son: @table @code @item extra-offset (desplazamiento adicional) + @cindex extra-offset, propiedad + Esta propiedad se aplica a cualquier objeto de presentación que contemple el @code{grob-interface}. Toma una pareja de números que especifican el desplazamiento adicional en las direcciones horizontal @@ -2266,7 +2592,9 @@ tipográfica de los objetos ha terminado, así que un objeto puede ser reposicionado a cualquier lugar sin afectar a ninguna otra cosa. @item positions (posiciones) + @cindex positions, propiedad + Ésta es de la mayor utilidad para ajustar manualmente la inclinación y la altura de las barras de corchea, ligaduras de expresión y corchetes de grupos de valoración especial. Toma una pareja de números que dan @@ -2316,19 +2644,27 @@ en la sección anterior, para resolver problemas de notación que se superpone. @subheading padding property -@cindex relleno, propiedad -@cindex padding, propiedad + +@cindex relleno +@cindex arreglar notación que se superpone +@cindex superpuesta, notación La propiedad @code{padding} se puede ajustar para aumentar (o disminuir) la distancia entre símbolos impresos encima o debajo de las notas. +@cindex Script, ejemplo de sobreescritura +@cindex padding, propiedad, ejemplo + @lilypond[quote,fragment,relative=1,verbatim] c2\fermata \override Script #'padding = #3 b2\fermata @end lilypond +@cindex MetronomeMark, ejemplo de sobreescritura +@cindex padding, propiedad, ejemplo + @lilypond[quote,fragment,relative=1,verbatim] % This will not work, see below: \override MetronomeMark #'padding = #3 @@ -2355,6 +2691,7 @@ de él. @subheading left-padding and right-padding + @cindex left-padding, propiedad @cindex right-padding, propiedad @@ -2366,7 +2703,13 @@ natural y un Si bemol. Para evitar la ambigüedad querríamos preceder las notas con un becuadro y un bemol. Aquí vienen varios intentos de hacerlo así: -@lilypond[quote,verbatim,relative=2] +@cindex Accidental, ejemplo de sobreescritura +@cindex text, propiedad, ejemplo +@cindex stencil, propiedad, ejemplo +@cindex AccidentalPlacement, ejemplo de sobreescritura +@cindex right-padding, propiedad, ejemplo + +@lilypond[quote,fragment,ragged-right,verbatim,relative=2] @@ -2402,7 +2745,9 @@ sobreescribiendo @code{right-padding}. @noindent @subheading staff-padding property -@cindex staff-padding, propiedad + +@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 @@ -2414,7 +2759,12 @@ dinámicas, entre ellas las que se han creado como objetos de extensión. Así que ésta es la forma de alinear las indicaciones de matiz en el ejemplo de la sección anterior: -@lilypond[quote,verbatim,relative=2] +@cindex DynamicText, ejemplo de sobreescritura +@cindex extra-spacing-width, propiedad, ejemplo +@cindex DynamicLineSpanner, ejemplo de sobreescritura +@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) @@ -2425,13 +2775,15 @@ a4\f b\mf c\mp b\p @subheading self-alignment-X property -@cindex self-alignment-X, propiedad 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 mediante el alineamiento del límite derecho con el punto de referencia de la nota «padre»: +@cindex StringNumber, ejemplo de sobreescritura +@cindex self-alignment-X, propiedad, ejemplo + @lilypond[quote,fragment,ragged-right,verbatim,relative=3] \voiceOne < a \2 > @@ -2440,7 +2792,8 @@ de la nota «padre»: @end lilypond @subheading staff-position property -@cindex staff-position, propiedad + +@cindex objeto, colisión dentro del pentagrama Los silencios multi-compás en una voz pueden chocar con las notas en otra voz. Puesto que estos silencios se tipografían centrados entre @@ -2461,6 +2814,9 @@ pues el silencio está en la voz dos. El ajuste predeterminado para valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor @code{-8}. +@cindex MultiMeasureRest, ejemplo de sobreescritura +@cindex staff-position, propiedad, ejemplo + @lilypond[quote,verbatim,fragment,ragged-right, relative=1] << {c c c c} @@ -2474,7 +2830,11 @@ Esto es mejor que utilizar, por ejemplo, @code{extra-offset}, porque la línea adicional por encima del silencio se inserta automáticamente. @subheading extra-offset property -@cindex extra-offset, propiedad + +@cindex posicionar objetos +@cindex posicionar grobs +@cindex objetos, posicionar +@cindex grobs, posicionar La propiedad @code{extra-offset} da un completo control sobre el posicionamiento de un objeto tanto vertical como horizontalmente. @@ -2482,6 +2842,9 @@ 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 extra-offset, propiedad, ejemplo + @lilypond[quote,fragment,relative=1,verbatim] \stemUp f-5 @@ -2492,7 +2855,13 @@ f-5 @subheading positions property -@cindex positions, propiedad + +@cindex controlar manualmente grupos especiales, ligaduras y barras +@cindex manual, control, de grupos especiales, ligaduras y barras +@cindex grupos especiales, barras de, control manual +@cindex ligaduras de expresión, control manual +@cindex ligaduras de fraseo, control manual +@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 @@ -2508,6 +2877,9 @@ r4 \acciaccatura e8\( d8 c ~c d c d\) Simplemente podemos mover la ligadura de fraseo por encima de las notas, y de hecho ésta será la solución preferida: +@cindex PhrasingSlur, ejemplo de sobreescritura +@cindex positions, propiedad, ejemplo + @lilypond[quote,verbatim,fragment,ragged-right,relative=1] r4 \phrasingSlurUp @@ -2515,7 +2887,7 @@ r4 @end lilypond @noindent -pero si por algún motivo no pudiéramos hacerlo, la otra alternativa +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. @@ -2544,6 +2916,9 @@ Esto se puede resolver manualmente elevando los dos extremos de la barra desde su posición a dos espacios de pentagrama sobre la línea central hasta, digamos, 3 espacios: +@cindex Beam, ejemplo de sobreescritura +@cindex positions, propiedad, ejemplo + @lilypond[quote,verbatim,fragment,ragged-right] { \clef "bass" @@ -2563,7 +2938,7 @@ segundo bloque de corcheas, pero no a ninguna de las barras de la segunda voz. @subheading force-hshift property -@cindex force-hshift, propiedad + @c FIXME: formatting stuff (ie not important right now IMO) @c @a nchor Chopin finally corrected TODOgp @@ -2599,6 +2974,9 @@ las notas agudas. Presentamos a continuación el resultado final: +@cindex NoteColumn, ejemplo de sobreescritura +@cindex force-hshift, propiedad, ejemplo + @lilypond[quote,verbatim,fragment,ragged-right] \new Staff \relative c'' { \key aes \major @@ -2694,7 +3072,7 @@ que lo más fácil es introducir estas cuatro voces temporalmente en el momento en que se necesiten. Si ha olvidado cómo hacerlo, lea @ref{I'm hearing Voices}. Vamos a comenzar introduciendo las notas como dos variables y disponiendo la estructura de pentagramas en un -bloque score, y veremos qué produce LilyPond de forma predeterminada: +bloque Score, y veremos qué produce LilyPond de forma predeterminada: @lilypond[quote,verbatim,ragged-right] rhMusic = \relative c'' { @@ -2946,6 +3324,9 @@ tenemos que desplazar el Do un nivel más todavía, usando @code{\shiftOnn} para evitar que interfiera con los dos Re. Al aplicar estos cambios obtenemos: +@cindex Tie, ejemplo de sobreescritura +@cindex staff-position, propiedad, ejemplo + @lilypond[quote,verbatim,ragged-right] rhMusic = \relative c'' { r2 c4.\( g8 | @@ -3002,6 +3383,11 @@ partir de trucos anteriores: hacemos la plica transparente, y movemos el Do con la propiedad @code{force-hshift}. Aquí tenemos el resultado final: +@cindex NoteColumn, ejemplo de sobreescritura +@cindex force-hshift, propiedad, ejemplo +@cindex Stem, ejemplo de sobreescritura +@cindex transparent, propiedad, ejemplo + @lilypond[quote,verbatim,ragged-right] rhMusic = \relative c'' { r2 @@ -3072,8 +3458,10 @@ lhMusic = \relative c' { @cindex objetos, hace invisibles @cindex eliminar objetos @cindex objetos, eliminar +@cindex objetos, ocultar @cindex ocultar objetos @cindex invisibles, objetos +@cindex objetos invisibles @cindex ligar notas entre voces distintas @subheading Tying notes across voices @@ -3093,6 +3481,9 @@ misma voz. Usando dos voces, con las notas ligadas en una de ellas: y borrando la primera plica hacia arriba en esa voz, da la impresión de que la ligadura se cruza entre las voces: +@cindex Stem, ejemplo de sobreescritura +@cindex transparent, propiedad, ejemplo + @lilypond[quote,fragment,relative=2,verbatim] << { @@ -3142,6 +3533,9 @@ pentagrama. Por lo tanto, establecer su propiedad @code{stencil} al valor @code{#f} sería la mejor manera. Mostramos aquí el efecto de los dos métodos: +@cindex MetronomeMark, ejemplo de sobreescritura +@cindex transparent, propiedad, ejemplo + @lilypond[quote,verbatim,ragged-right] \score { \relative c'' { @@ -3161,6 +3555,9 @@ los dos métodos: } @end lilypond +@cindex MetronomeMark, ejemplo de sobreescritura +@cindex stencil, propiedad, ejemplo + @lilypond[quote,verbatim,ragged-right] \score { \relative c'' { @@ -3185,21 +3582,29 @@ Ambos métodos quitan de la salida impresa la indicación metronómica que alarga el calderón, y los dos afectan al tempo del MIDI tal y como queríamos, pero la indicación metronómica transparente de la primera línea fuerza una colocación muy alta de la indicación de tempo que -sigue, meintras que la segunda (con el sello suprimido) no lo hace. +sigue, mientras que la segunda (con el sello suprimido) no lo hace. @node Using variables for tweaks @subsection Using variables for tweaks +@cindex variables, uso de, para trucos +@cindex usar variables para hacer trucos +@cindex trucos, usar variables para hacer + Las instrucciones de sobreescritura son con frecuencia largas y tediosas de escribir, y se tienen que escribir de forma absolutamente correcta. Si las mismas sobreescrituras se van a utilizar muchas veces, podría merecer la pena definir variables para guardarlas. -Suponga que queremos realzar ciertas palabras de la letra de una + +Supongamos que queremos realzar ciertas palabras de la letra de una canción imprimiéndolas en cursiva y negrita. Las instrucciones @code{\italic} y @code{\bold} sólo funcionan dentro de la letra de las -canciones si están incluidas dentro de un @code{\markup}, lo que las -hace tediosas de escribir. ¿Podríamos, como alternativa, utilizar las -instrucciones @code{\override} y @code{\revert}? +canciones si están incluidas, junto con la palabra o palabras que se +pretenden modificar, dentro de un @code{\markup}, lo que las hace +tediosas de escribir. La necesidad de incluir las propias palabras +impide que se puedan usar en variables simples. ¿Podríamos, como +alternativa, utilizar las instrucciones @code{\override} y +@code{\revert}? @example @code{\override Lyrics . LyricText #'font-shape = #'italic} @@ -3210,19 +3615,27 @@ instrucciones @code{\override} y @code{\revert}? @end example Estas instrucciones también serían extremadamente tediosas de escribir -si hubiera muchas palabras que quisiéramos subrayar. Entonces, en vez -de esto las definimos como dos variables, y las usamos de la siguiente -forma, aunque normalmente quizá elegiríamos unos nombres de variable +si hubiera muchas palabras que quisiéramos subrayar. Pero sí +@emph{podemos} definirlas como dos variables y usarlas para delimitar +las palabras que destacar. Otra ventaja de la utilización de +variables para estas sobreescrituras es que ya no son necesarios los +espacios que rodean al punto, puesto que no se interpretan +directamente en el modo @code{\lyricmode}. He aquí un ejemplo de +esto, aunque en la práctica quizá elegiríamos unos nombres de variable más cortos para que fueran más rápidos de teclear: +@cindex LyricText, ejemplo de sobreescritura +@cindex font-shape, propiedad, ejemplo +@cindex font-series, propiedad, ejemplo + @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 = { \time 4/4 \partial 4 \key c \major} @@ -3316,11 +3729,11 @@ Vamos a comenzar observando algunos archivos que están en @file{ly/}. Abra @file{ly/property-init.ly} con un editor de textos. El mismo que usaría normalmente para los archivos @code{.ly} servirá perfectamente. Este archivo contiene las definiciones de todas las instrucciones -incorporadas como estándar dentro de LilyPond, como por ejemplo -@code{\stemUp} y @code{\slurDotted}. Podrá ver que no son nada más -que definiciones de variables que contienen una o varias instrucciones -@code{\override}. Por ejemplo, @code{/tieDotted} está definido de tal -forma que su valor es: +estándar predefinidas de LilyPond, como por ejemplo @code{\stemUp} y +@code{\slurDotted}. Podrá ver que no son nada más que definiciones de +variables que contienen una o varias instrucciones @code{\override}. +Por ejemplo, @code{/tieDotted} está definido de tal forma que su valor +es: @example tieDotted = @{ @@ -3330,7 +3743,7 @@ tieDotted = @{ @end example Si no le gustan los valores predeterminados, estas instrucciones -incorporadas se pueden redefinir con facilidad como cualquier otra +predefinidas se pueden redefinir con facilidad como cualquier otra variable, al principio de su archivo de código de entrada. Los siguientes son los archivos más útiles que se encuentran en @@ -3341,12 +3754,14 @@ Los siguientes son los archivos más útiles que se encuentran en @tab Contenido @item @file{ly/engraver-init.ly} @tab Definiciones de Contextos de grabadores -@item @file{ly/paper-defaults.ly} +@item @file{ly/paper-defaults-init.ly} @tab especificaciones de valores predeterminados relacionados con el papel @item @file{ly/performer-init.ly} @tab Definiciones de Contextos de interpretación @item @file{ly/property-init.ly} - @tab Definiciones de todas las instrucciones incorporadas que son comunes + @tab Definiciones de todas las instrucciones predefinidas que son comunes +@item @file{ly/spanner-init.ly} + @tab Definiciones de las instrucciones predefinidas relacionadas con los objetos de extensión @end multitable Otros ajustes (como las definiciones de las instrucciones de marcado) @@ -3431,6 +3846,10 @@ dinámicamente a un valor determinado por el procedimiento en el momento en que se invoca. En este ejemplo damos a las cabezas de las notas un color que depende de su posición dentro del pentagrama. +@cindex x11-color, función, ejemplo de utilización +@cindex NoteHead, ejemplo de sobreescritura +@cindex color, propiedad, establecer a procedimiento de Scheme + @lilypond[quote,verbatim,ragged-right] #(define (color-notehead grob) "Color the notehead according to its position on the staff." @@ -3457,7 +3876,7 @@ notas un color que depende de su posición dentro del pentagrama. g1 | } \addlyrics { - Some -- where o -- ver the Rain -- bow way up high, + Some -- where o -- ver the Rain -- bow, way up high, } @end lilypond