Am 26.07.2018 um 09:35 schrieb Risto Vääräniemi:
Hi,
I tried the following:
lineThickness = 5
\markup \override #'(thickness . #lineThickness) \draw-hline
But it seems I cannot give the variable inside the pair. This works:
lineThicknessPair = #'(thickness . 5)
\markup \override #lineThicknessPair \draw-hline
Is there any way to make it work with just a single number variable? I
even tried the variable without the '#' or replaced it with a '\'. I
just got different errors.
You need a technique known as quasi-quoting.
In your code #'( means that you have a pair of literal symbols, i.e. a
symbol "thickness" and a symbol "#lineThickness". The straight single
quote tells Lily to "quote" everything inside the brackets.
What you need is to write the pair as #`(a . b) with a backtick instead
of a straight single quote. This allows you to "unquote" individual
elements with a comma:
lineThickness = 5
\markup \override #`(thickness . ,lineThickness) \draw-hline
See https://scheme-book.ursliska.de/scheme/quoting/ for some more info
HTH
Urs
BR,
Risto
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user