Hi All, I’m trying to generate some text markup programmatically that ends of as a markup-list (or a centre-column).
I don’t really have a very good grasp on either markup in scheme or the relevant macros, but I have something that compiles and generates something. However, it generates a bunch of intermediate line commands that mess up my formatting. I’m read the below from here: https://lilypond.org/doc/v2.24/Documentation/extending/markup-construction-in-scheme “The markup-list argument of commands such as #:line, #:center, and #:column cannot be a variable or the result of a function call. (markup #:line (function-that-returns-markups)) is invalid. One should use the make-line-markup, make-center-markup, or make-column-markup functions instead," However - make-center-markup is not available to call (it is an unbound symbol when I hit compile. If anyone could fix the below code for me (or tell me how to do so) that would be super helpful. Thanks Alex ** N.B. display shows the horizontal/vertical issue, but the code is mainly to log the differences between the two outputs \version "2.24.1" #(define (psg-string-number-list idx num fontsize) (define str (number->string idx)) (if (>= idx num) (markup (#:fontsize fontsize str)) (markup (#:fontsize fontsize str) (psg-string-number-list (+ idx 1) num fontsize)))) #(define (psg-string-numbers copedent fontsize) (markup #:center-column ((psg-string-number-list 1 copedent fontsize)))) %% Do this manually \displayScheme \markup \center-column \fontsize #-3 { 1 2 3 } #(display #{\markup \center-column \fontsize #-3 { 1 2 3 }#}) #(newline) %% Attempt to do this programmatically \displayScheme #(psg-string-numbers 3 -3) #(display (psg-string-numbers 3 -3)) #(newline)