\version "2.22" prebreakmarkup = \markup\musicglyph "scripts.segno" postbreakmarkup = \markup\musicglyph "scripts.coda" #(define (marksplitcallback grob) (let ((status (ly:item-break-dir grob))) (cond ((< status 0) ; broken end (ly:grob-set-property! grob 'text prebreakmarkup) (ly:grob-set-property! grob 'stencil (ly:text-interface::print grob))) ((> status 0) ; broken start (ly:grob-set-property! grob 'text postbreakmarkup) (ly:grob-set-property! grob 'stencil (ly:text-interface::print grob)))))) { g'2 8 4. \once\override Score.RehearsalMark.after-line-breaking = #marksplitcallback \once\override Score.RehearsalMark.break-visibility = #all-visible \mark \markup { \musicglyph "scripts.segno" \musicglyph "scripts.coda" } \break b'2 r | g'2 8 4. \once\override Score.RehearsalMark.after-line-breaking = #marksplitcallback \once\override Score.RehearsalMark.break-visibility = #all-visible \mark \markup { \musicglyph "scripts.segno" \musicglyph "scripts.coda" } b'2 }