Hello list, hello Mats, You wrote:
> This is a workaround but it would be much better if LilyPond did > the right thing directly. Yes, it is a workaround, and I agree with You. :-) > Could you please send a small example illustrating the problem (to the > mailing list, of course). But it's not VERY small, of course. ;-) In the attachment there are two source files now: goodex.ly badex.ly Furthermore two .ps files: goodex.ps badex.ps The goodex* contain my solutions. Both examples contain the same notes. There are four clef changes in both examples, and this seems good to demonstrate, what I mean, when I say, that the spacing is not good. The second clef change (last line, end of bar 32) was that, for which I wanted another solution, and I think, everybody can understand me on one view. The first clef change (end of line two, between the sixths and sevenths note from the left hand in bar 32), is according to my oppinion much better in the goodex. The last two clef changes (bar 34) were not necessary at all, but I think, they are a little bit more fine in goodex. I hope, it is a good demonstration! :) The main problem is, as far as I can see, the spacing BEFORE the clef at the clef change. The spacing AFTER the clef was not good in earlier lilypond versions, but is now nearly good. :) Thank You for Your attention and Best Regards Roland
\header { filename = "goodex.ly" title = "Good Example" } \version "2.1.34" \include "deutsch.ly" #(set-global-staff-size 20) \include "/home/roland/noten/eigen-kuerzel.ly" global = \notes { \key es \major \time 12/8 s1.*4 s1.*2 s2. s4 s1.*2 \bar "|." } KuhNotenAn = { \set Voice.fontSize = #-3 \override Accidental #'font-size = #-3 \override Stem #'length = #4.5 \override Beam #'thickness = #0.36 \override Beam #'space-function = #(lambda (beam mult) (* 0.7 (Beam::space_function beam mult)))} KuhNotenAus = { \set Voice.fontSize = #1 \revert Beam #'thickness \revert Stem #'length } rechtsOben = \context Staff \notes\relative c''{ \context Voice=rechtsOben %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \set Score.currentBarNumber = #29 #(override-auto-beam-setting '(end * * * *) 3 8) \KlammerWeg \once \override TextScript #'extra-offset = #'(0 . -2) es4.-\markup { \dynamic p } ~ \times 3/4 { es16 f es( f es) \once \override Hairpin #'extra-offset = #'(-1 . -2) f( \< es f) } g4. \! r4 r8 % Takt 29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \stemDown \once \override TextScript #'extra-offset = #'(0 . -1.5) es-\markup { \italic \bold \fontsize #0.9 { con forza } } \once \override Slur #'height-limit = #6 \once \override Slur #'extra-offset = #'(-.3 . .5) as,16( b as-\trill g as^2 [ \once \override Fingering #'padding = #'-.8 ces^4 es^1 as^2es'^5) r32 \once \override PhrasingSlur #'extra-offset = #'(.2 . -.2) \once \override PhrasingSlur #'height-limit = #5 f\( ] #(override-auto-beam-setting '(end * * * *) 2 8) \once \override Slur #'extra-offset = #'(-.2 . -.3) g8( es)\) \override Staff.OttavaBracket #'extra-offset = #'(-.5 . 1) #(set-octavation 1) \once \override Hairpin #'extra-offset = #'(-1.5 . -.5) <es es'>4 \> \once \override TextScript #'extra-offset = #'(-.7 . -.6) <d d'>8-\markup { \italic \bold \fontsize #0.9 stretto } \! <c c'> % Takt 30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #(override-auto-beam-setting '(end * * * *) 3 8) <ces ces'> <b b'> <heses heses'> <as as'> <g g'> <d d'> <es es'> <es' es'>4._> <f, f'>8 <c' c'> % Takt 31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \cadenzaOn \once \override TextScript #'extra-offset = #'(0 . -.7) <ces ces'>2.-\markup { \dynamic ff } <b^\fermata b'> \bar ""\break \KuhNotenAn \ViertelBalken \override Beam #'positions = #'(-.1 . -.1) ces'!16 b c a \once \override TextScript #'extra-offset = #'(0 . -1.5) ces_\markup { \italic \bold \fontsize #0.9 { tempo \halign #42 - \halign #-12 - } } b c a \repeat unfold 10 { ces b c a } ces b d c \bar ""\break \revert Beam #'positions \once \override TextScript #'extra-offset = #'(0 . -1) b-\markup { \fontsize #1 \italic \bold \fontsize #0.9 rall. } a as g f d \once \override TextScript #'extra-offset = #'(0 . -1) es-\markup { \fontsize #1 \italic \bold \fontsize #0.9 smorz. } c #(set-octavation 0) b [ as c, d ] % Takt 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \cadenzaOff \bar "|" \set Score.currentBarNumber = #33 \override Score.BarNumber #'break-visibility = #end-of-line-invisible \KuhNotenAus #(override-auto-beam-setting '(end * * * *) 3 8) \once \override TextScript #'extra-offset = #'(0 . 2) <g, es'>8^\markup { \italic \bold \fontsize #0.9 { a tempo } }[( b g' ] <g, es'>8 b g' %\override Score.measureLength = #(make-moment 6 4) <g, es'>8 b g' <g, es'>8 b g') \revert Score.BarNumber #'break-visibility % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \HoherText \stemBoth <g, es'>4.-\markup { \dynamic ppp } <g' es'>\arpeggio <g,, es'>2.^\fermata % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } rechtsUnten = \context Staff \notes\relative c'{ \context Voice=rechtsUnten \stemUp s1.*4 % Takt 29 bis 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% s1.*2 s1 % noch Takt 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \unten \stemUp s8 b4 s8 b4 s8 b4 s8 b4 ~ % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \stemDown b4 % Takt 34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } linksOben = \context Staff \notes\relative c{ \context Voice=linksOben %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \once \override Beam #'positions = #'(-1.7 . -1.7) \stemUp as,8 \stemDown <es'' as ces> <as ces es> <ces es as> <as ces es> <es as ces> es,8 <g' es'> <b es g> es,8 <g es'> <b es g> % Takt 29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \once \override Beam #'positions = #'(-1.5 . -1.5) \stemUp as,, \stemDown <es'' as ces> <as ces es> <es as ces> <as ces es> <es as ces> es,8 <g' es'> <b es g> a, <f' es'> <c' es f> % Takt 30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% b, <f' b es> <b es as> h, <g' f'> <d' f g> es, <g es'> <b g'> \AchtelBalken \stemUp a, \ViertelBalken <c' es> <c es f> % Takt 31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\property Voice.TupletBracket \set #'tuplet-number-visibility = ##f %\override Score.measureLength = #(make-moment 22 4) \once \override Slur #'height-limit = #4 \stemBoth \times 6/8 { b,,( b' \once \override TextScript #'extra-offset = #'(0 . 3) f'^\markup { \italic \bold \fontsize #0.9 { senza \halign #-12 - \halign #-12 - \halign #-12 - \halign #-12 - } } as d b \clef violin \once \override Staff.Clef #'extra-offset = #'(-.8 . 0) f' as) } d2.^\fermata s4 s4 s4 \once \override Hairpin #'extra-offset = #'(0 . 8.5) s4 \< s4 s4 s4 \! s4 s4 \once \override Hairpin #'extra-offset = #'(4 . 8.5) s4 \> s4 s4 s4 \! s4 s4 s8. \clef bass \once \override Staff.Clef #'extra-offset = #'(10.5 . 0) s16 % Takt 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \stemDown \slurUp \HalsHals #(override-auto-beam-setting '(end * * * *) 3 8) \override Slur #'height-limit = #6 \override Slur #'extra-offset = #'(.5 . 1.5) \once \override TextScript #'extra-offset = #'(0 . 2) es,,,8^\markup { \dynamic pp }[( b'' b, ] es b' b,) es,( b'' b, es b' b, % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <es b'>4.) \once \override Staff.Clef #'extra-offset = #'(-.8 . 0) \stemUp \clef violin <es' b'> \once \override Staff.Clef #'extra-offset = #'(-1 . 0) \clef bass <es,, b'>2.-\fermata % Takt 34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } \score { \context PianoStaff \with { verticalAlignmentChildCallback = #(futz-alignment-callback 10 2) } << \context Staff = up << \global \clef violin \rechtsOben \rechtsUnten >> \context Staff = down << \global \clef bass \linksOben >> >> \paper { #(paper-set-staff-size (* 6.7 mm)) indent = 8.0 \mm interscoreline = 3.0 \mm interscorelinefill = 5.0 \mm %lastpagefill = 5.0 \mm linewidth = 18.0 \cm textheight = 260.\mm \context { \ScoreContext \override SpacingSpanner #'spacing-increment = #1.2 } } }
\header { filename = "goodex.ly" title = "Good Example" } \version "2.1.34" \include "deutsch.ly" #(set-global-staff-size 20) \include "/home/roland/noten/eigen-kuerzel.ly" global = \notes { \key es \major \time 12/8 s1.*4 s1.*2 s2. s4 s1.*2 \bar "|." } KuhNotenAn = { \set Voice.fontSize = #-3 \override Accidental #'font-size = #-3 \override Stem #'length = #4.5 \override Beam #'thickness = #0.36 \override Beam #'space-function = #(lambda (beam mult) (* 0.7 (Beam::space_function beam mult)))} KuhNotenAus = { \set Voice.fontSize = #1 \revert Beam #'thickness \revert Stem #'length } rechtsOben = \context Staff \notes\relative c''{ \context Voice=rechtsOben %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \set Score.currentBarNumber = #29 #(override-auto-beam-setting '(end * * * *) 3 8) \KlammerWeg \once \override TextScript #'extra-offset = #'(0 . -2) es4.-\markup { \dynamic p } ~ \times 3/4 { es16 f es( f es) \once \override Hairpin #'extra-offset = #'(-1 . -2) f( \< es f) } g4. \! r4 r8 % Takt 29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \stemDown \once \override TextScript #'extra-offset = #'(0 . -1.5) es-\markup { \italic \bold \fontsize #0.9 { con forza } } \once \override Slur #'height-limit = #6 \once \override Slur #'extra-offset = #'(-.3 . .5) as,16( b as-\trill g as^2 [ \once \override Fingering #'padding = #'-.8 ces^4 es^1 as^2es'^5) r32 \once \override PhrasingSlur #'extra-offset = #'(.2 . -.2) \once \override PhrasingSlur #'height-limit = #5 f\( ] #(override-auto-beam-setting '(end * * * *) 2 8) \once \override Slur #'extra-offset = #'(-.2 . -.3) g8( es)\) \override Staff.OttavaBracket #'extra-offset = #'(-.5 . 1) #(set-octavation 1) \once \override Hairpin #'extra-offset = #'(-1.5 . -.5) <es es'>4 \> \once \override TextScript #'extra-offset = #'(-.7 . -.6) <d d'>8-\markup { \italic \bold \fontsize #0.9 stretto } \! <c c'> % Takt 30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #(override-auto-beam-setting '(end * * * *) 3 8) <ces ces'> <b b'> <heses heses'> <as as'> <g g'> <d d'> <es es'> <es' es'>4._> <f, f'>8 <c' c'> % Takt 31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \cadenzaOn \once \override TextScript #'extra-offset = #'(0 . -.7) <ces ces'>2.-\markup { \dynamic ff } <b^\fermata b'> \bar ""\break \KuhNotenAn \ViertelBalken \override Beam #'positions = #'(-.1 . -.1) ces'!16 b c a \once \override TextScript #'extra-offset = #'(0 . -1.5) ces_\markup { \italic \bold \fontsize #0.9 { tempo \halign #42 - \halign #-12 - } } b c a \repeat unfold 10 { ces b c a } ces b d c \bar ""\break \revert Beam #'positions \once \override TextScript #'extra-offset = #'(0 . -1) b-\markup { \fontsize #1 \italic \bold \fontsize #0.9 rall. } a as g f d \once \override TextScript #'extra-offset = #'(0 . -1) es-\markup { \fontsize #1 \italic \bold \fontsize #0.9 smorz. } c #(set-octavation 0) b [ as c, d ] % Takt 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \cadenzaOff \bar "|" \set Score.currentBarNumber = #33 \override Score.BarNumber #'break-visibility = #end-of-line-invisible \KuhNotenAus #(override-auto-beam-setting '(end * * * *) 3 8) \once \override TextScript #'extra-offset = #'(0 . 2) <g, es'>8^\markup { \italic \bold \fontsize #0.9 { a tempo } }[( b g' ] <g, es'>8 b g' %\override Score.measureLength = #(make-moment 6 4) <g, es'>8 b g' <g, es'>8 b g') \revert Score.BarNumber #'break-visibility % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \HoherText \stemBoth <g, es'>4.-\markup { \dynamic ppp } <g' es'>\arpeggio <g,, es'>2.^\fermata % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } rechtsUnten = \context Staff \notes\relative c'{ \context Voice=rechtsUnten \stemUp s1.*4 % Takt 29 bis 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% s1.*2 s1 % noch Takt 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \unten \stemUp s8 b4 s8 b4 s8 b4 s8 b4 ~ % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \stemDown b4 % Takt 34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } linksOben = \context Staff \notes\relative c{ \context Voice=linksOben %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \once \override Beam #'positions = #'(-1.7 . -1.7) \stemUp as,8 \stemDown <es'' as ces> <as ces es> <ces es as> <as ces es> <es as ces> es,8 <g' es'> <b es g> es,8 <g es'> <b es g> % Takt 29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \once \override Beam #'positions = #'(-1.5 . -1.5) \stemUp as,, \stemDown <es'' as ces> <as ces es> <es as ces> <as ces es> <es as ces> es,8 <g' es'> <b es g> a, <f' es'> <c' es f> % Takt 30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% b, <f' b es> <b es as> h, <g' f'> <d' f g> es, <g es'> <b g'> \AchtelBalken \stemUp a, \ViertelBalken <c' es> <c es f> % Takt 31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\property Voice.TupletBracket \set #'tuplet-number-visibility = ##f %\override Score.measureLength = #(make-moment 22 4) \once \override Slur #'height-limit = #4 \stemBoth \times 6/8 { b,,( b' \once \override TextScript #'extra-offset = #'(0 . 3) f'^\markup { \italic \bold \fontsize #0.9 { senza \halign #-12 - \halign #-12 - \halign #-12 - \halign #-12 - } } as d b \clef violin %% \once \override Staff.Clef #'extra-offset = #'(-.8 . 0) f' as) } d2.^\fermata s4 s4 s4 \once \override Hairpin #'extra-offset = #'(0 . 8.5) s4 \< s4 s4 s4 \! s4 s4 \once \override Hairpin #'extra-offset = #'(4 . 8.5) s4 \> s4 s4 s4 \! s4 s4 s8. %% \once \override Staff.Clef #'extra-offset = #'(10.5 . 0) s16 % Takt 32 \clef bass %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \stemDown \slurUp \HalsHals #(override-auto-beam-setting '(end * * * *) 3 8) \override Slur #'height-limit = #6 \override Slur #'extra-offset = #'(.5 . 1.5) \once \override TextScript #'extra-offset = #'(0 . 2) es,,,8^\markup { \dynamic pp }[( b'' b, ] es b' b,) es,( b'' b, es b' b, % Takt 33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <es b'>4.) %% \once \override Staff.Clef #'extra-offset = #'(-.8 . 0) \stemUp \clef violin <es' b'> %% \once \override Staff.Clef #'extra-offset = #'(-1 . 0) \clef bass <es,, b'>2.-\fermata % Takt 34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } \score { \context PianoStaff \with { verticalAlignmentChildCallback = #(futz-alignment-callback 10 2) } << \context Staff = up << \global \clef violin \rechtsOben \rechtsUnten >> \context Staff = down << \global \clef bass \linksOben >> >> \paper { #(paper-set-staff-size (* 6.7 mm)) indent = 8.0 \mm interscoreline = 3.0 \mm interscorelinefill = 5.0 \mm %lastpagefill = 5.0 \mm linewidth = 18.0 \cm textheight = 260.\mm \context { \ScoreContext \override SpacingSpanner #'spacing-increment = #1.2 } } }
_______________________________________________ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user