| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
@translationof Difficult tweaks
Hier finden sich einige Klassen an schwierigeren Anpassungen.
\override-Befehle.
Anders gesagt wirkt sich ein \override immer auf alle
Stücke eines geteilten Streckers aus. Um nur einen Teil eines
Streckers bei einem Zeilenumbruch zu verändern, ist es notwendig,
in den Formatierungsprozess einzugreifen. Das Callback
after-line-breaking enthält die Schemefunktion, die
aufgerufen wird, nachdem Zeilenumbrüche errechnet worden sind
und die Layout-Objekte über die unterschiedlichen Systeme verteilt
wurden.
Im folgenden Beispiel wird die Funktion
my-callback definiert. Diese Funktion
extra-offset gesetzt.
Diese Funktion muss in (internals)Tie in Abschnitt ‘Tie’ in Referenz der Interna (Bindebogen) installiert werden, damit der letzte Teil eines gebrochenen Bindebogens neu ausgerichtet wird.
#(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 { \override Tie.after-line-breaking = #my-callback c''1 ~ \break c2 ~ 2 }
Wenn man diesen Trick anwendet, sollte das neue after-line-breaking
auch das alte after-line-breaking-Callback aufrufen,
wenn es vorhanden ist. Wenn diese Funktion etwa mit
Hairpin (Crescendo-Klammer) eingesetzt wird, sollte auch
ly:spanner::kill-zero-spanned-time aufgerufen werden.
\override
verändert werden. Beispiele hiervon sind NonMusicalPaperColumn
und PaperColumn. Sie können mit der
\overrideProperty-Funktion geändert werden, die ähnlich wie
\once \override funktioniert, aber eine andere Syntax einsetzt.
\overrideProperty Score.NonMusicalPaperColumn % Grob-Bezeichnung #'line-break-system-details % Eigenschaftsbezeichnung #'((next-padding . 20)) % Wert |
Es sollte angemerkt werden, dass \override, wenn man es auf
NonMusicalPaperColumn und PaperColumn anwendet, immer noch
innerhalb der \context-Umgebung funktioniert.
| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] |
Dieses Dokument wurde erzeugt von gub am 13. Juli 2020 durch texi2html 1.82.
Andere Sprachen: English, español, français.
Über die automatische Sprachauswahl.