Le dimanche 07 mai 2023 à 10:09 -0400, dfro a écrit :
>
> Hello, fellow music engravers.
>
>
>
> I would like to pass a number variable to \markup, but my attempts are not
> working.
>
> When I try to pass a number variable to \markup I get the following message:
>
>
>
> "error: syntax error, unexpected NUMBER_IDENTIFIER".
>
>
>
> Examples:
>
> <code start>
>
> fontsize-number = #5
>
> { c'1^\markup \fontsize \fontsize-number "text" }
>
>
>
> <code end>
>
>
>
> or,
>
>
>
> <code start>
>
> raise-number = #5
>
> { c'1^\markup \raise \raise-number "text" }
>
>
>
> <code end>
>
>
>
> Could someone help me to comprehend how to do this?
That is... interesting, I wonder if we should treat it as a bug actually.
The thing is that
\markup \raise 5 "text"
does not work because "5" in markup mode is not a number but the raw string
made of the digit character 5. Due to the internal way the backslash works,
this extends to \raise-number, even though there
is no reason in this case.
Anyway, use the form
\version "2.24.1"
fontsize-number = #5
{ c'1^\markup \fontsize #fontsize-number "text" }
>
>
where "#" switches to Scheme mode in order to access the variable, just like
\markup \raise #5 ... uses Scheme to write the number.
Jean
signature.asc
Description: This is a digitally signed message part
