B.8 Ajustaments difícils
Hi ha un cert nombre de tipus d’ajustament difícils.
-  Un tipus d’ajustament difícil és l’aparença dels objectes
d’extensió, com les lligadures d’expressió i d’unió.  Inicialment,
sols es crea un d’aquests objectes, i poden ajustar-se amb el
mecanisme normal.  No obstant, en certs caos els objectes
extensors creuen els salts de línia.  Si això passa, aquests
objectes es clonen.  Es crea un objecte diferent per cada sistema
en el qual es troba.  Aquests són clons de l’objecte original i
hereten totes les seves propietats, inclosos els
\overrides.En altres paraules, un \overridesempre afecta a totes les peces d’un objecte d’extensió fragmentat. Per canviar sols una part d’un extensor en el salt de línia, cal inspeccionar el procés de formatat. El callbackafter-line-breakingconté el procediment Scheme que es crida després que s’han determinat els salts de línia, i els objectes de presentació han estat dividits sobre els diferents sistemes.A l’exemple següent definim un procediment my-callback. Aquest procediment- determina si hem estat dividits pels salts de línia
- en cas afrimatiu, reuneix tots els objectes dividits
- comprova si som l’últim dels objectes dividits
-  en cas afirmatiu, estableix extra-offset.
 Aquest procediment s’instal·la en Tie (lligadura d’unió), de forma que l’última part de la lligadura dividida es trasllada cap a dalt. #(define (my-callback grob) (let* ( ;; hem estat dividits? (orig (ly:grob-original grob)) ;; si és sí, obté les parts dividides (els nostres bessons) (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 } ![[image of music]](../f5/lily-f2a0825c.png)  En aplicar aquest ajustament, la nova funció de callback after-line-breakingtambé ha de cridar a l’antiga, si existeix aquest valor predeterminat. Per exemple, si s’usa ambHairpin, s’ha de cridar també aly:spanner::kill-zero-spanned-time.
-  Algunes objectes no es poden canviar amb \overrideper raons tècnics. Són exemplesNonMusicalPaperColumniPaperColumn. Es poden canviar amb la funció\overridePropertyque funciona de forma similar a\once \override, però usa una sintaxi diferent.\overrideProperty Score.NonMusicalPaperColumn % Nom del grob . line-break-system-details % Nom de la propietat . next-padding % Nom de la subpropietat, opcional #20 % Valor Observeu, no obstant, que \override, aplicat aNonMusicalPaperColumni aPaperColumn, encara funciona com s’espera dins dels blocs\context.