Am Di., 15. Okt. 2019 um 13:19 Uhr schrieb Pierre Perol-Schneider <pierre.schneider.pa...@gmail.com>: > > Hi Urs a,d Aaron, > > Simply: > > \markup { > \underline > \override #'(offset . 6)\underline > "Lorem ipsum" > \override #'(offset . 5)\underline > \override #'(offset . 10)\underline > "dolor sit amet" > } > > Works too. However, lines length are not equals, even in Aaron's coding.
That's due to how make-line-stencil works. Why not more generic (extending the built-in \underline): #(define-markup-command (underline-h layout props arg) (markup?) #:category font #:properties ((thickness 1) (offset 2) (gap 2) (amount 1)) (let* ((thick (ly:output-def-lookup layout 'line-thickness)) (underline-thick (* thickness thick)) (m (interpret-markup layout props arg)) (stil-x-ext (ly:stencil-extent m X)) (x1 (car stil-x-ext)) (x2 (cdr stil-x-ext)) (y (* thick (- offset))) (y-off (* thick (- gap))) (lines (map (lambda (i) (let ((y-dist (+ y (* i y-off)))) (make-line-stencil underline-thick x1 y-dist x2 y-dist))) (iota amount 0 1)))) (apply ly:stencil-add m lines))) \markup \underline-h "underlined" \markup \override #'(amount . 2) \underline-h "underlined" \markup \override #'(amount . 3) \underline-h "underlined" \markup \override #'(offset . 4) \override #'(amount . 3) \underline-h "underlined" \markup \override #'(offset . 4) \override #'(amount . 3) \override #'(gap . 3) \underline-h "underlined" Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user