Wenn mit Pseudocode meine Versuche gemeint sind, die sind schon gelöscht.
Eigentlich hatte ich eher an die Syntax, sowie das gewünschte Ergebnis gedacht, d.h. z.B.:
c''1-\my-function #my-arg-1 ...
soll folgendes Ergebnis zeitigen:
...
Wobei besonders interessant wäre, wie `my-function' angewendet wird (in meinem Beispiel als post-event) und wieviele Argumente `my-function' haben soll, sowie der Typ dieser Argumente.
Und natürlich welches Endergebnis.
Nicht funktioniert habende Versuche sind manchmal auch ok, da wir mitunter ablesen könnenm wohin die Reise denn gehen soll.
Du hast jetzt ein paar Versuche gepostet ein markup-command zu definieren.
Dieses markup-command ist gedacht als Zusammenfassung und damit Kurzschreibweise von anderen markup-commands.
Generell ziehe ich dafür eine scheme-function vor (siehe unten), aber es geht schon.
Dazu
(1) Jedes Argument braucht eine Typ-Abfrage? (fehlt teilweise, bzw manchmal ist eine Abfrage da, aber kein Argument)
(2) \translate braucht ein pair als Argument.
Entweder Du gibst ein pair (siehe scheme-function für ein Beispiel), oder Du konstruierst eins: (cons val-1 val-2)
Beispiel:
\version "2.18.2"
#(define-markup-command (Aus layout props x y arg) (number? number? markup?)
"whatever doc-string"
(interpret-markup layout props
#{
\markup \with-color #blue \translate #(cons x y) $arg
#}))
{
c''1^\markup \Aus #-3 #4 "A"
d''
}
Hier die scheme-function
\version "2.18.2"
foo =
#(define-scheme-function (parser location mrkp pair)(markup? pair?)
#{
\markup { \with-color #blue \translate $pair $mrkp }
#})
fooI = \foo #"A" #'(0 . 4)
fooII = \foo #"R" #'(-3 . 4)
%% etc
{
c''1^\fooII
d''
}
Für das markup-command wäre es natürlich ebenfalls möglich standards vorzudefinieren.
HTH,
Harm
P.S.
Innerhalb von [ c o d e ] kannst Du hier im Forum keine Farben setzen. Bitte kontolliere Deine posts auf solche Mißgeschicke, es vernebelt ansonsten was Du sagen willst und verringert Deine Chancen eine Antwort zu bekommen.
Man kann seine posts auch nachträglich editieren.
Falls Du Farben setzen willst dann in einfachem Text oder innerhalb [ q u o t e ].