| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] | [Arriba] | [Índice general] | [Índice] | [ ? ] |
@translationof Difficult tweaks
Hay un cierto número de tipos de ajustes difíciles.
\overrides.
En otras palabras, un \override siempre afecta a todas las
piezas de un objeto de extensión fragmentado. Para cambiar sólo
una parte de un extensor en el salto de línea, es necesario
inmiscuirse en el proceso de formateado. El callback
after-line-breaking contiene el procedimiento Scheme que se
llama después de que se han determinado los saltos de línea, y los
objetos de presentación han sido divididos sobre los distintos
sistemas.
En el ejemplo siguiente, definimos un procedimiento
my-callback. Este procedimiento
extra-offset.
Este procedimiento se instala en (internals)Tie sección ‘Tie’ en Referencia de Funcionamiento Interno (ligadura de unión), de forma que la última parte de la ligadura dividida se traslada hacia arriba.
#(define (my-callback grob) (let* ( ;; have we been split? (orig (ly:grob-original grob)) ;; if yes, get the split pieces (our siblings) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '()))) (if (and (>= (length siblings) 2) (eq? (car (last-pair siblings)) grob)) (ly:grob-set-property! grob 'extra-offset '(1 . -4))))) \relative { \override Tie.after-line-breaking = #my-callback c''1 ~ \break c2 ~ 2 }
Al aplicar este truco, la nueva función de callback
after-line-breaking también debe llamar a la antigua, si
existe este valor predeterminado. Por ejemplo, si se usa con
Hairpin, se debe llamar también a
ly:spanner::kill-zero-spanned-time.
\override por
razones técnicas. Son ejemplos NonMusicalPaperColumn y
PaperColumn. Se pueden cambiar con la función
\overrideProperty que funciona de forma similar a
\once \override, pero usa una sintaxis distinta.
\overrideProperty Score.NonMusicalPaperColumn % Nombre del grob . line-break-system-details % Nombre de la propiedad . next-padding % Nombre de la subpropiedad, opcional #20 % Valor |
Observe, sin embargo, que \override, aplicado a
NonMusicalPaperColumn y a PaperColumn, aún funciona
como se espera dentro de los bloques \context.
| [ < ] | [ > ] | [ << ] | [ Subir ] | [ >> ] |
Este documento ha sido generado por gub el el 13 julio 2020 utilizando texi2html 1.82.
Otros idiomas: English, deutsch, français.
Acerca de la selección automática del idioma.