Re: 2.24 medium = \normal-weight in 2.26
David Kastrup <[email protected]>
| Newsgroups | gmane.comp.gnu.lilypond.general |
|---|---|
| Organization | Organization?!? |
| Message-ID | <[email protected]> |
Richard Shann <[email protected]> writes: > On Thu, 2026-08-13 at 12:16 +0100, Richard Shann wrote: >> On Thu, 2026-08-13 at 11:05 +0200, Lukas-Fabian Moser wrote: >> > Hi Richard, >> > >> > Am 13.08.26 um 10:55 schrieb Richard Shann: >> > > Is there a way of putting something like >> > > Â medium = \normal-weight >> > > in a header file to convert from uses of \medium in markup in >> > > LilyPond >> > > 2.24 to pass 2.26 (so as to aviud going through physically >> > > replacing >> > > \medium with \normal-weight?) >> > > The above doesn't work, I guess because it's being invoked inside >> > > markup... >> > >> > The syntax is a bit more complicated in the case of markup >> > functions: >> > >> > \markup medium = \markup \normal-weight \etc >> >> Perfect! Thank you very much. > > I looked up the docs on using ly:version? to allow older files to be > typeset in older or newer syntax and I understood this should work: > > #(if (ly:version? > '(2 24)) > #{ \markup medium = \markup \normal-weight \etc #}) Then the docs are really wrong. #{ ... #} generally is for creating expressions, not side effects, and an assignment is a side effect. > gives > \markup medium = \markup \normal-weight \etc > /tmp/frescobaldi-oorxliqz/tmp7qct88s5/document.ly:4:17: error: syntax > error, unexpected '=' > > I didn't manage to nail down an explanation of #{ ... #} but it seemed > like it was for inserting LilyPond syntax at that point in the file. No. It isn't for "inserting LilyPond syntax" but it is for writing expressions utilizing LilyPond syntax instead of Scheme syntax. For older versions, you'd probably have to use something like #(define-markup-command (medium layout props arg) (markup?) (interpret-markup layout props #{ \markup \normal-weight arg #})) which is a bit tedious to put together but comparatively straightforward. -- David Kastrup