Anterior: \set frente a \override, Arriba: El comando \override
Hay ciertos tipos de ajustes difíciles.
\override
s.
En otras palabras, un \override
siempre afecta a todas las piezas de un elemento de
extensión roto. Para cambiar sólo una parte del elemento de extensión en un salto de línea,
es necesario implicarse en el proceso de formateo. La función de callback
after-line-breaking
contiene el procedimiento de Scheme que
se llama después de que se han determinado los saltos de línea, y de que los objetos de
presentación se han dividido sobre los diferentes sistemas o grupos de pentagramas.
En el ejemplo siguiente, definimos un procedimiento
my-callback
. Este procedimiento
extra-offset
.
Este procedimiento se instala dentro de Tie (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 '(-2 . 5))))) \relative c'' { \override Tie #'after-line-breaking = #my-callback c1 ~ \break c2 ~ c }
Cuando aplicamos este truco, la nueva función de callback after-line-breaking
también debe llamar a la antigua after-line-breaking
, si existe.
Por ejemplo, si se utiliza con Hairpin
(regulador),
también se debe llamar a ly:hairpin::after-line-breaking
.
\override
por razones
técnicas. Ejemplo de ello son NonMusicalPaperColumn
y PaperColumn
. Se pueden cambiar con la función
\overrideProperty
, que funciona de forma parecida a \once
\override
, pero usa una sintaxis diferente.
\overrideProperty #"Score.NonMusicalPaperColumn" % Nombre del Grob u objeto gráfico #'line-break-system-details % Nombre de la propiedad #'((next-padding . 20)) % Valor
Fíjese, sin embargo, en que \override
, aplicado a
NoteMusicalPaperColumn
y a PaperColumn
, aún funciona tal y como se espera
dentro de los bloques \context
.
Anterior: \set frente a \override, Arriba: El comando \override
Esta página corresponde a LilyPond-2.11.40 (rama de desarrollo).
Informe de los fallos a http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Se agradecen las sugerencias para la documentación.