Ah - it would appear that there is a typo on the doc page, which refers to 
make-center-markup (which doesn’t exist) but make-center-column-markup does.

Once I figured that I out I was able to fix this myself.

Sorry for the noise.

A.


> On 9 Nov 2024, at 17:25, Alex Harker <ajhar...@gmail.com> wrote:
> 
> 
> 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)
> 

Reply via email to