X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Flearning%2Ftweaks.itely;h=20a4baf477fa5e7ee4af820d79a6e67b62f43172;hb=058370efc7e9710f149d0f444328bb1fcd7bdec1;hp=18a254ca4e972cd3479ff0d538ed52b52a06a206;hpb=fbe8b9bf789f4a9833e1581dbb6ba4fce71a6cd2;p=lilypond.git diff --git a/Documentation/es/learning/tweaks.itely b/Documentation/es/learning/tweaks.itely index 18a254ca4e..20a4baf477 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: 0619c6dfd6d2a744e70fc0b3f97a8b9adfc5d987 + Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8 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.17.11" +@c \version "2.19.2" @node Trucar la salida @chapter Trucar la salida @@ -23,6 +23,7 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar * Manual de referencia de funcionamiento interno:: * Apariencia de los objetos:: * Colocación de los objetos:: +* Espaciado vertical:: * Colisiones de objetos:: * Trucajes adicionales:: @end menu @@ -185,16 +186,16 @@ a partir de sus nombres. @strong{La instrucción \override} @menu -* La instrucción \override:: -* La instrucción \revert:: -* El prefijo \once:: -* La instrucción \overrideProperty:: -* The \tweak command:: +* La instrucción override:: +* La instrucción revert:: +* El prefijo once:: +* La instrucción overrideProperty:: +* La instrucción tweak:: @end menu -@node La instrucción \override -@unnumberedsubsubsec La instrucción @code{\override} -@translationof The \override command +@node La instrucción override +@unnumberedsubsubsec La instrucción @code{@bs{}override} +@translationof The override command @cindex override, instrucción @cindex override (sobreescritura), sintaxis de @@ -269,9 +270,9 @@ g4 a b c | @end lilypond -@node La instrucción \revert -@unnumberedsubsubsec La instrucción @code{\revert} -@translationof The \revert command +@node La instrucción revert +@unnumberedsubsubsec La instrucción @code{@bs{}revert} +@translationof The revert command @cindex revert, instrucción @@ -309,9 +310,9 @@ b4 c | @end lilypond -@node El prefijo \once -@unnumberedsubsubsec El prefijo @code{\once} -@translationof The \once prefix +@node El prefijo once +@unnumberedsubsubsec El prefijo @code{@bs{}once} +@translationof The once prefix @funindex \once @funindex once @@ -352,14 +353,15 @@ b c | @end lilypond Sin embargo, las instrucciones predefinidas de la forma -@code{\...Neutral}, @code{\...Off} y @code{\un...} utilizan +@code{\@dots{}Neutral}, +@code{\@dots{}Off} y @code{\un@dots{}} utilizan internamente @code{\revert} en vez de @code{\override}, por lo que añadir @code{\once} como prefijo aquí no tiene ningún efecto. -@node La instrucción \overrideProperty -@unnumberedsubsubsec La instrucción @code{\overrideProperty} -@translationof The \overrideProperty command +@node La instrucción overrideProperty +@unnumberedsubsubsec La instrucción @code{@bs{}overrideProperty} +@translationof The overrideProperty command @cindex overrideProperty, instrucción @@ -373,8 +375,9 @@ detalles consulte @rextend{Trucos difíciles}. @c Maybe explain in a later iteration -td -@node The \tweak command -@unnumberedsubsubsec The @code{\tweak} command +@node La instrucción tweak +@unnumberedsubsubsec La instrucción @code{@bs{}tweak} +@translationof The tweak command @cindex tweak, instrucción @@ -2162,7 +2165,7 @@ automática si el posicionado no resulta óptimo. @menu * La propiedad outside-staff-priority (prioridad fuera del pentagrama):: -* La instrucción \textLengthOn:: +* La instrucción textLengthOn:: * Posicionamiento de los matices dinámicos:: * Escalado de un «Grob»:: @end menu @@ -2390,9 +2393,9 @@ necesitar claramente espaciar las notas en sentido horizontal para hacer sitio para el texto. Esto se hace empleando la instrucción @code{textLengthOn}. -@node La instrucción \textLengthOn -@unnumberedsubsubsec La instrucción @code{\textLengthOn} -@translationof The \textLengthOn command +@node La instrucción textLengthOn +@unnumberedsubsubsec La instrucción @code{@bs{}textLengthOn} +@translationof The textLengthOn command @cindex notas, espaciar junto al texto @@ -2419,6 +2422,9 @@ La instrucción para volver al comportamiento predeterminado es @code{\textLengthOff}. De forma alternativa, se puede usar @code{\once} con @code{\textLengthOn} si el efecto se ha de limitar a un solo momento musical. +The corresponding spacing behavior for rehearsal marks and tempo +indications is independently controlled with the commands +@code{\markLengthOn} and @code{\markLengthOff}. @cindex marcado, texto de, permitir las colisiones en @@ -2485,7 +2491,7 @@ artificial: @lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp -a4\f b\mf c\mp b\p +a4\f b\mf a\mp b\p @end lilypond @noindent @@ -2519,19 +2525,22 @@ contemplan el @code{grob-interface}. @cindex @code{extra-spacing-width} -De forma predeterminada, los objetos fuera-del-pentagrama reciben una -anchura cero, de manera que pueden solaparse en la dirección -horizontal. Esto se hace mediante el truco de añadir una cantidad -infinita a la dimensión más a la izquierda y menos infinito a la -dimensión más a la derecha estableciendo el valor de -@code{extra-spacing-width} a @code{'(+inf.0 . -inf.0)}. Así, para -asegurar que no se superponen en la dirección horizontal tendremos que -sobreescribir este valor de @code{extra-spacing-width} a @code{'(0 -. 0)} de forma que el verdadero ancho se presente. Esta es la -instrucción que lo hace para las indicaciones dinámicas: +De forma predeterminada, los objetos fuera-del-pentagrama reciben +una anchura cero, de manera que pueden solaparse en la dirección +horizontal. Esto se hace mediante el truco de hacer que la +dimensión más a la izquierda sea igual a infinito y que la +dimensión más a la derecha sea igual a menos infinito, +estableciendo el valor de @code{extra-spacing-width} a +@code{'(+inf.0 . -inf.0)}. Así, para asegurar que no se +superponen en la dirección horizontal tendremos que sobreescribir +este valor de @code{extra-spacing-width} para darles un poco de +espacio adicional. Las unidades son el espacio entre dos líneas +del pentagrama, de forma que debería bastar mover el límite +izquierdo media unidad a la izquierda y el límite derecho media +unidad a la derecha: @example -\override DynamicText.extra-spacing-width = #'(0 . 0) +\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) @end example @noindent @@ -2542,37 +2551,224 @@ Veamos si funciona en nuestro ejemplo anterior: @lilypond[quote,fragment,ragged-right,verbatim,relative=2] \dynamicUp -\override DynamicText.extra-spacing-width = #'(0 . 0) -a4\f b\mf c\mp b\p | +% Extend width by 1 staff space +\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) +a4\f b\mf a\mp b\p @end lilypond @noindent -Bueno, ciertamente ha hecho que las marcas dinámicas ya no estén -desplazadas, pero aún quedan dos problemas. Las marcas tendrían que -separarse un poco más entre sí, y sería mejor si todas estuvieran a la -misma distancia del pentagrama. Podemos resolver el primer problema -fácilmente. En vez de hacer cero la anchura -@code{extra-spacing-width}, podemos añadirle algo más. Las unidades -son el espacio entre dos líneas de pentagrama, así que al mover el -límite izquierdo media unidad a la izquierda y el límite derecho media -unidad hacia la derecha, deberíamos conseguirlo: +Esto tiene un mejor aspecto, pero quizá habríamos preferido que +las indicaciones de dinámica estuvieran alineadas sobre la misma +línea de base en lugar de ir hacia arriba y hacia abajo con las +notas. La propiedad que lo hace es @code{staff-padding} (relleno +de pentagrama) que se estudia en la sección dedicada a las +colisiones (véase @ref{Colisiones de objetos}). + +@node Espaciado vertical +@section Espaciado vertical +@translationof Vertical spacing + +Por lo general, el espaciado vertical de los objetos musicales que +LilyPond hace es bastante bueno. Veamos cómo se comporta con una +canción sencilla, con dos voces y acompañamiento de piano: + +@lilypond[quote,fragment,ragged-right] +<< + \new ChoirStaff + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond -@cindex DynamicText, ejemplo de sobreescritura -@cindex extra-spacing-width, propiedad, ejemplo +No hay ningún problema con el espaciado vertical predeterminado. +Sin embargo, supongamos que estamos trabajando con un editor que +tiene ciertos requisitos específicos para el espaciado vertical de +los pentagramas y la letra: quiere que la letra está más separada +de las notas, que el acompañamiento de piano esté más separado de +la línea vocal y que los dos pentagramas de piano estén más juntos +entre sí. Comenzaremos con la letra. + +La letra se encuentra en el interior de un sistem, y por tanto las +instrucciones para aplicarle el espaciado estarán en +@ruser{Espaciado vertical flexible dentro de los sistemas}. Allí +se dice que el texo son líneas del tipo @qq{no-pauta} y por tanto +la instrucción para cambiar su espaciado hará referencia a la +propiedad @code{nonstaff}. Para separarlas del pentagrama al que +pertenecen (la pauta superior) usaremos la propiedad +@code{relatedstaff}. Para separarlas de la línea inferior +usaremos la propiedad @code{unrelatedstaff}. Las partes vocales +pertenecen a un grupo vertical @code{VerticalAxisGroup}, por lo +que tenemos que ajustar sus propiedades. Probémoslo y veamos si +funciona. + +@lilypond[quote,fragment,ragged-right,verbatim] +<< + \new ChoirStaff + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics \with { + \override VerticalAxisGroup. + nonstaff-relatedstaff-spacing.padding = #5 + \override VerticalAxisGroup. + nonstaff-unrelatedstaff-spacing.padding = #5 + } + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -\dynamicUp -% Extend width by 1 staff space -\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) -a4\f b\mf c\mp b\p +Bien: sí, funciona, pero quizá demasiado bien. Cuando +establecemos el @code{padding} (relleno) a 5, LilyPond añade 5 +espacios de pentagrama a la distancia entre los objetos, lo que es +excesivo para nosotros en este caso. Usaremos un valor de 2. + +A continuación, desplazaremos la música de piano para separarla de +las partes vocales. La música vocal es una @code{ChoirStaff} (un +contexto de sistema coral), y por tanto tenemos que aumentar el +espaciado entre ese grupo de pentagramas y el sistema de piano que +se encuentra debajo. Lo haremos cambiando la +@code{basic-distance} (distancia básica) del @code{StaffGrouper} +del @code{staffgroup-staff-spacing}. + +@lilypond[quote,fragment,ragged-right,verbatim] +<< + \new ChoirStaff \with { + \override StaffGrouper. + staffgroup-staff-spacing.basic-distance = #15 + } + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics \with { + \override VerticalAxisGroup. + nonstaff-relatedstaff-spacing.padding = #2 + \override VerticalAxisGroup. + nonstaff-unrelatedstaff-spacing.padding = #2 + } + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> @end lilypond -@noindent -Esto tiene un mejor aspecto, pero quizá habríamos preferido que las -indicaciones de dinámica estuvieran alineadas sobre la misma línea de -base en lugar de ir hacia arriba y hacia abajo con las notas. La -propiedad que lo hace es @code{staff-padding} (relleno de pentagrama) -que se estudia en la sección siguiente. +Muy bien. Ahora, sólo nos queda el último requisito de hacer que +los pentagramas de piano estén más juntos. Para conseguirlo, de +nuevo alteramos las propiedades del @code{StaffGrouper}, pero esta +vez vamos a reducir tanto la @code{basic-distance} (distancia +básica) como el @code{padding} (relleno). Podemos hacerlo como se +muestra a continuación. + +@lilypond[quote,fragment,ragged-right,verbatim] +<< + \new ChoirStaff \with { + \override StaffGrouper. + staffgroup-staff-spacing.basic-distance = #15 + } + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics \with { + \override VerticalAxisGroup. + nonstaff-relatedstaff-spacing.padding = #2 + \override VerticalAxisGroup. + nonstaff-unrelatedstaff-spacing.padding = #2 + } + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff \with { + \override StaffGrouper.staff-staff-spacing = #'( + (basic-distance . 0) + (padding . 0)) + } + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond + +Con esto los hemos colocado muy juntos entre sí (pero es lo que el +editor quería). Se podrían haber separado más alterando el +relleno, @code{padding}, o la distancia básica, +@code{basic-distance}, si quisiéramos. + +Hay muchas formas de alterar el espaciado vertical. Un punto +clave que debemos recordar es que el espaciado entre objetos +dentro de un @code{StaffGroup} (como los grupos @code{GrandStaff} +o @code{PianoStaff}) se controla con las variables de espaciado +del @code{StaffGrouper}. El espaciado de los pentagramas no +agrupados (como @code{Lyrics} y @code{Staff}) se controla con las +variables del @code{VerticalAxisGroup}. Para ver más detalles, +consulte +@ruser{Variables de espaciado de paper verticales flexibles} y +@ruser{Espaciado vertical flexible dentro de los sistemas}. @node Colisiones de objetos @@ -2738,29 +2934,66 @@ pentagrama en medios espacios de pentagrama. Es útil en la resolución de colisiones entre objetos de presentación como silencios multi-compás, ligaduras de unión y notas en distintas voces. +@item +@code{horizontal-shift} + +@cindex horizontal-shift, propiedad +@cindex nota, columna de +@cindex nota, colisiones +@cindex colisiones de notas +@cindex desplazamiento, instrucciones de +@funindex \shiftOff +@funindex shiftOff +@funindex \shiftOn +@funindex shiftOn +@funindex \shiftOnn +@funindex shiftOnn +@funindex \shiftOnnn +@funindex shiftOnnn + +Dentro de una vozm todas las notas que se producen en el mismo +moemtno se agrupan en una columna de notas, y se crea un objeto +@code{NoteColumn} para controlar el posicionamiento horizonal de +dicho grupo de notas (véase @qq{Columnas de nota} en @ref{Voces +explícitas}). Si @emph{y sólo si} dos o más columnas de nota +dentro de un solo contexto de pauta, las dos con las plicas en la +misma dirección, aparecen en el mismo momento musical, los valores +de sus propiedades @code{horizontal-shift} se usan para asignarles +una puntuación y las columnas con puntuaciones más altas se +desplazan progresivamente para evitar las colisiones entre las +cabezas de las notas. Esta propiedad se establece con las +instrucciones @code{\voiceXXX} y se pueden sobreescribir +directamente con una instrucción @code{\override} o, de forma más +común con las instrucciones @code{\shiftOn}. Observe que esta +propiedad se usa para @emph{calificar} las columnas de nota o para +aplicar desplazamientos: no especifica la magnitud del +desplazamiento, que se va incrementando progresivamente en pasos +basándolse en la anchura de las cabezas de nota para cada +puntuación. Los pasos son normalmente de la mitad de la anchura +de una cabeza de nota, pero puede ser el ancho completo de la +cabeza de una nota cuando está implicado un grupo de notas muy +apretadas entre sí. + @item @code{force-hshift} (forzar desplazamiento horizontal) @cindex force-hshift, propiedad -Las notas muy juntas de un acorde, o aquellas que ocurren al mismo -tiempo en voces distintas, se disponen en dos (y ocasionalmente más) -columnas para evitar la superposición de las cabezas. Éstas reciben -el nombre de columnas de notas, y se crea un objeto llamado -@code{NoteColumn} para disponer las notas en dicha columna. - La propiedad @code{force-hshift} es una propiedad de una @code{NoteColumn} (realmente lo es del interface -@code{note-column-interface}). Modificarlo permite mover una columna -de notas en unidades adecuadas a una columna de notas, por ejemplo la -anchura de la cabeza de la nota de la primera voz. Se debe usar en -situaciones complejas donde las instrucciones @code{\shiftOn} normales -(véase @ref{Voces explícitas}) no resuelven el -conflicto entre las notas. Es preferible a la propiedad -@code{extra-offset} para este propósito porque no hay necesidad de -averiguar la distancia en espacios de pentagrama, y mover las notas -dentro o fuera de una @code{NoteColumn} afecta a otras acciones como a -la fusión entre cabezas de nota. +@code{note-column-interface}). Modificarlo permite mover una +columna de notas en situaciones donde las columnas de notas se +superponen. Observe que no tiene efecto sobre las columnas de +nota que no se superponen. Se especifica en unidades adecuadas a +una columna de notas, por ejemplo la anchura de la cabeza de la +nota de la primera voz. Se debe usar en situaciones complejas +donde las instrucciones @code{\shiftOn} normales (véase @ref{Voces +explícitas}) no resuelven el conflicto entre las notas de forma +satisfactoria. Es preferible a la propiedad @code{extra-offset} +para este propósito porque no hay necesidad de averiguar la +distancia en espacios de pentagrama, y mover las notas dentro o +fuera de una @code{NoteColumn} afecta a otras acciones como a la +fusión entre cabezas de nota. @end itemize @@ -2847,7 +3080,7 @@ superpone. @menu * La propiedad padding (relleno):: -* La propiedadhe right-padding (relleno por la derecha):: +* La propiedad right-padding (relleno por la derecha):: * La propiedad staff-padding (relleno de pentagrama):: * La propiedad self-alignment-X (auto-alineación en X):: * La propiedad staff-position (posición en el pentagrama):: @@ -2904,7 +3137,7 @@ entonces ese objeto se moverá, y también todos los que están por fuera de él. -@node La propiedadhe right-padding (relleno por la derecha) +@node La propiedad right-padding (relleno por la derecha) @unnumberedsubsubsec La propiedad @code{right-padding} (relleno por la derecha) @translationof The right-padding property @@ -2960,9 +3193,9 @@ sobreescribiendo @code{right-padding}. @cindex objetos, alineación sobre la línea base @code{staff-padding} se puede usar para alinear objetos como matices -dinámicos a lo largo de una línea de base a una altura fija sobre el -pentagrama, en lugar de hacerlo a una altura que dependa de la -posición de la nota a la que están adosados. No es una propiedad de +dinámicos a lo largo de una línea de base a una distancia fija del +pentagrama, siempre que no exista ningún otro elemento de notación +que fuerce una distancia mayor al pentagrama. No es una propiedad de @code{DynamicText} sino de @code{DynamicLineSpanner}. Esto es así porque la línea de base debe aplicarse por igual a @strong{todas} las dinámicas, entre ellas las que se han creado como objetos de @@ -2975,12 +3208,8 @@ matiz en el ejemplo de la sección anterior: @cindex staff-padding, propiedad, ejemplo @lilypond[quote,fragment,ragged-right,verbatim,relative=2] -\dynamicUp -% Extend width by 1 unit -\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) -% Align dynamics to a base line 2 units above staff -\override DynamicLineSpanner.staff-padding = #2 -a4\f b\mf c\mp b\p +\override DynamicLineSpanner.staff-padding = #3 +a4\f b\mf a\p b\mp @end lilypond @@ -2988,8 +3217,8 @@ a4\f b\mf c\mp b\p @unnumberedsubsubsec La propiedad @code{self-alignment-X} (auto-alineación en X) @translationof The self-alignment-X property -El ejemplo siguiente muestra cómo esto puede resolver la colisión -entre un objeto de digitación de cuerda y la plica de una nota +El ejemplo siguiente muestra cómo ajustar la posición +de un objeto de digitación de cuerda en relación a la plica de una nota mediante el alineamiento del límite derecho con el punto de referencia de la nota «padre»: @@ -3024,7 +3253,7 @@ aquí un ejemplo de colisión de este tipo: La mejor solución aquí es mover el silencio multi-compás hacia abajo, pues el silencio está en la voz dos. El ajuste predeterminado para @code{\voiceTwo} (es decir, en la segunda voz de una construcción -@code{<<@{...@} \\ @{...@}>>}) es que @code{staff-position} tenga el +@code{<<@{@dots{}@} \\ @{@dots{}@}>>}) es que @code{staff-position} tenga el valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor @w{@code{-8}}. @@ -3124,12 +3353,12 @@ choca con las ligaduras: { \time 4/2 << - { c'1 ~ c'2. e'8 f' } + { c'1 ~ 2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> << - { c'1 ~ c'2. e'8 f' } + { c'1 ~ 2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> @@ -3148,7 +3377,7 @@ central hasta, digamos, 1 espacio: { \time 4/2 << - { c'1 ~ c'2. e'8 f' } + { c'1 ~ 2. e'8 f' } \\ { \override Beam.positions = #'(-1 . -1) @@ -3156,7 +3385,7 @@ central hasta, digamos, 1 espacio: } >> << - { c'1 ~ c'2. e'8 f' } + { c'1 ~ 2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> @@ -3192,16 +3421,24 @@ dejamos con este aspecto: @end lilypond @noindent -Es necesario que la nota interior del primer acorde (el La bemol de la -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 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. +Es necesario que la nota interior del primer acorde (el La bemol +de la cuarta voz) no se aparte de la columna vertical de la nota +aguda. Podríamos esperar corregirlo mediante el uso de +@code{\shiftOff}, pero esto produce advertencias sobre columnas de +notas que colisionan. En lugar de ello, 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 +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, y +fijando @code{force-hshift} para el Fa al vaor cero. Observe que +usamos @code{\once} para evitar que los ajustes se propaguen más +allá del momento musical inmediato, aunque en este pequeño ejemplo +podrían omitirse el @code{\once} y el segundo @code{\override} de +la cuarta voz. Ello no supondría una buena práctica. Presentamos a continuación el resultado final: @@ -3214,17 +3451,11 @@ Presentamos a continuación el resultado final: << { c2 aes4. bes8 } \\ - { - 2 - \once \override NoteColumn.force-hshift = #0.5 - des2 - } + { 2 \once \override NoteColumn.force-hshift = 0.5 des } \\ \\ - { - \override NoteColumn.force-hshift = #0 - aes'2 f4 fes - } + { \once \override NoteColumn.force-hshift = 0 aes'2 + \once \override NoteColumn.force-hshift = 0 f4 fes } >> | 1 | } @@ -3283,7 +3514,6 @@ rhMusic = \relative c'' { \stemDown % Stem on the d2 should be invisible \tweak Stem.transparent ##t - \tweak Flag.transparent ##t d2 } \new Voice { @@ -3349,7 +3579,7 @@ rhMusic = \relative c'' { { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo - c,8~ c2 + c,8~ 2 } \new Voice { \voiceThree @@ -3407,7 +3637,7 @@ rhMusic = \relative c'' { { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo - c,8~ c2 + c,8~ 2 } \new Voice { \voiceThree @@ -3483,7 +3713,7 @@ rhMusic = \relative c'' { { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo - c,8~ c2 + c,8~ 2 } \new Voice { \voiceThree @@ -3566,7 +3796,7 @@ rhMusic = \relative c'' { { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo - c,8~ c2 + c,8~ 2 } \new Voice { \voiceThree @@ -3727,7 +3957,6 @@ rhMusic = \relative c'' { \stemDown % Stem on the d2 should be invisible \tweak Stem.transparent ##t - \tweak Flag.transparent ##t d2 } \new Voice { @@ -3770,7 +3999,7 @@ lhMusic = \relative c' { @menu * Otras aplicaciones de los trucos:: -* Uso de variables para los trucos:: +* Uso de variables para los ajustes de disposición:: * Hojas de estilo:: * Otras fuentes de información:: * Trucos avanzados con Scheme:: @@ -3806,7 +4035,7 @@ pueden conectar mediante ligaduras de unión dos notas que estén en la misma voz. Usando dos voces, con las notas ligadas en una de ellas: @lilypond[quote,fragment,relative=2] -<< { b8~ b\noBeam } \\ { b8[ g] } >> +<< { b8~ 8\noBeam } \\ { b8[ g] } >> @end lilypond @noindent @@ -3820,8 +4049,7 @@ de que la ligadura se cruza entre las voces: << { \tweak Stem.transparent ##t - \tweak Flag.transparent ##t - b8~ b\noBeam + b8~ 8\noBeam } \\ { b8[ g] } @@ -3836,9 +4064,8 @@ valor de longitud @code{length} a @code{8}, << { \tweak Stem.transparent ##t - \tweak Flag.transparent ##t \tweak Stem.length #8 - b8~ b\noBeam + b8~ 8\noBeam } \\ { b8[ g] } @@ -3862,7 +4089,7 @@ volver a escribir el ejemplo anterior como \single \hide Stem \single \hide Flag \tweak Stem.length #8 - b8~ b\noBeam + b8~ 8\noBeam } \\ { b8[ g] } @@ -3955,14 +4182,14 @@ sigue, mientras que la segunda (con el sello suprimido) no lo hace. Glosario musical: @rglos{system}. +@node Uso de variables para los ajustes de disposición +@subsection Uso de variables para los ajustes de disposición +@translationof Using variables for layout adjustments -@node Uso de variables para los trucos -@subsection Uso de variables para los trucos -@translationof Using variables for tweaks - -@cindex variables, uso de, para trucos -@cindex usar variables para hacer trucos -@cindex trucos, usar variables para hacer +@cindex variables, usar para sobreescrituras +@cindex sobreescrituras, usar variablas para +@cindex ajustes, usar variables para +@cindex ajustes de disposición, usar variables para hacer Las instrucciones de sobreescritura son con frecuencia largas y tediosas de escribir, y se tienen que escribir de forma absolutamente @@ -4073,12 +4300,9 @@ las partes que tienen todos los @code{#()}. Esto se explicará en @lilypond[quote,verbatim,ragged-right] mpdolce = -#(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4106,14 +4330,11 @@ nuestros archivos de música, y yo personalmente encuentro todos los otro archivo: @example -%%% guardar esto en un archivo de nombre "definiciones.ily" +%%% guardar esto en un archivo con el nombre "definiciones.ily" mpdolce = -#(make-dynamic-script - #@{ \markup @{ \hspace #0 - \translate #'(5 . 0) - \line @{ \dynamic "mp" - \text \italic "dolce" @} @} - #@}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@}) inst = #(define-music-function @@ -4147,12 +4368,9 @@ archivo como @file{musica.ly}). @lilypond[quote,ragged-right] mpdolce = -#(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4183,12 +4401,9 @@ Sustituyamos nuestro archivo @file{definiciones.ily} con éste: @example %%% definiciones.ily mpdolce = -#(make-dynamic-script - #@{ \markup @{ \hspace #0 - \translate #'(5 . 0) - \line @{ \dynamic "mp" - \text \italic "dolce" @} @} - #@}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@}) inst = #(define-music-function @@ -4199,7 +4414,7 @@ inst = \layout@{ \context @{ \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 @} \context @{ @@ -4216,12 +4431,9 @@ inst = @lilypond[quote,ragged-right] mpdolce = -#(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4232,7 +4444,7 @@ inst = \layout{ \context { \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { @@ -4267,12 +4479,9 @@ también vamos a aumentar el tamaño general de la salida. @example %%% publicar-web.ily mpdolce = -#(make-dynamic-script - #@{ \markup @{ \hspace #0 - \translate #'(5 . 0) - \line @{ \dynamic "mp" - \text \italic "dolce" @} @} - #@}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@}) inst = #(define-music-function @@ -4285,7 +4494,7 @@ inst = \layout@{ \context @{ \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 @} \context @{ @@ -4301,12 +4510,9 @@ inst = @lilypond[quote,ragged-right] mpdolce = -#(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4318,7 +4524,7 @@ inst = \layout{ \context { \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Voice