Leo Correia de Verdier <leo.correia.de.verd...@gmail.com> writes: >> 27 juni 2023 kl. 21:57 skrev Volodymyr Prokopyuk >> <volodymyrprokop...@gmail.com>: >> >> I'd like to define a shorter alias to a parametrized command. My two >> specific use cases are >> • Define \acc { c='8 d e } to be translated into \acciaccatura >> { c='8 d e } >> • Define \af 4. to be translated into \after 4.\! >> I've tried the \set command, but it seems that the \set command does >> not handle parameters. I have an intuitive understanding that this >> type of aliases can be done with Scheme, but I do not know how >> exactly.
> You can write: > %%%%%%%%%%%%% > acc = \acciaccatura \etc > af = \after \etc > %%%%%%%%%%%%% > > \set in lilypond is something completely else. This definition of \af does not have the specified semantics. Instead you need to write af = #(define-music-function (dur mus) (ly:duration?) (ly:music?) #{ \after #dur \! #mus #}) -- David Kastrup