Hallo,
hier das vorläufige Ende meiner Grübeleien:
Alle folgenden Definitionen beruhen auf dem dynamic-string-command.
Dynamic-string benötigt eine Syntax, in der die Elemente, die mit dynamic font dargestellt werden sollen, durch Tiefstriche "_" abgesetzt sind. Zusätzlich habe ich ein feature eingebaut mit dem die Zeichen "<" und ">" gestreckt werden. Damit das funktioniert sind wieder Tiefstriche erforderlich.
Z.B.: "pp_<_p_>_pp_etc . . ."
Immerwieder genutzte, eigene dynamics in einer alist zu speichern ist praktisch. Andererseits ist es sinnvoll einen beliebigen Text direkt verarbeiten zukönnen. Insofern habe ich mich entschlossen immer zwei Varianten zu definieren.
Dynamic-scripts:
sind dynamic-script-Definitionen für beliebigen Text (Syntax beachten!)
- alistDynLeft
- alistDynCenter
- alistDynRight
sind dynamic-script-Definitionen für den alist-Aufruf
Alle dynamic-script-Definitionen haben IMHO den Nachteil, daß das neue custom-Dynamic noch extra definiert werden muß. Z.B. subitoF = #(dynRight "subito_f"). Der Vorteil ist natürlich, daß die übliche Postfix-Syntax in der Anwendung erhalten bleibt z.B.: bes\attFFFF
Funktionen:ist eine Funktion für beliebigen Text (Syntax beachten!)
ist eine Funktion für den alist-Aufruf
Die Funktionen benötigen ein "-" Zeichen in der Anwendung und weichen somit von der üblichen Postfix-Syntax für Dynamics ab. Sie brauchen zusätzlich eine Angabe für die Ausrichtung: #-1 für left-aligned, #0 für centered #1 für right-aligned.
Z.B.: a-\newDyn #-1 "das soll_fff_sein!!_fff"
Anmerkungen:Sowohl bei den scripts als auch bei den Funktionen findet kein echtes left- oder right-align statt (ich habe nur der Einfachheit wegen so formuliert). Tatsächlich habe ich eine Verschiebung und Anpassung geschrieben, je nachdem wieviel Buchstaben im ersten vor allem aber im letzten dynamischen Ausdruck vorkommen. (definiert ist ein unterschiedliches Verhalten bis zur Obergrenze von 6 Buchstaben z.B.: sffffz, kennt jemand ein Zeichen mit mehr als 6 Buchstaben?).
Das gestreckte "<"-Zeichen wird als cresc.-Ersatz benutzt. (">" für decresc.)
newDynLeft (für alist-Aufruf!)
newDynRight (für alist-Aufruf!)
sind markup-commands, die ich als hauptsächlich als Werkzeuge benutzt habe. In einem gewöhnlichen markup sind sie aber auch einsetzbar.
Es wäre schön, wenn ihr diese Definitionen mal ausprobieren und eventuelle Probleme melden könntet. Bislang habe ich nur in Kurzbeispielen getestet.
Gruß,
Harm
P.S.
@kilgore Ich hoffe Du hast Dein update gemacht, denn diese Definitionen funktionieren nicht auf 2.12.3