Ich mag LaTeX
, aber ich finde das Makrosystem und die Logik sowohl komplex als auch schwach. Sprachen wie Schem / Lisp / Clojure sind sehr gut in Makros. Ich stelle mir das gesamte Dokument in einer Lisp-Familiensprache vor, die beim Ausführen LaTeX-Code ausgibt und ein Dokument erstellt. Wurde das schon mal gemacht? Irgendwelche Links?
9
*
Suffix etwas anderes machen . Lisp hatlet
undlet*
so weiter, LaTeX hat\section
und\section*
.Antworten:
Racket macht genau das in Scribble , seinem Dokumentationssystem. In diesem System sind mittlerweile Tausende von Dokumentationsseiten geschrieben, und es ist sehr lebendig. Beachten Sie insbesondere die verwendete Syntax , die viele solcher Hybridbefehle über das Ausspucken von Text sehr bequem macht .
Beachten Sie jedoch, dass Makros zwar wie gewohnt in jedem Lisp / Scheme-Code verwendet werden, jedoch kein zentraler Punkt sind. Funktionen sind für die meisten Dinge in Ordnung - sie verbrauchen einfach Text und produzieren Text. LaTeX (oder allgemeiner TeX) hat zufällig eine Art makrobasierte Bewertungsstrategie auf niedriger Ebene gewählt, die für einige Fälle geeignet ist.
quelle