Мне нравится LaTeX
, но я нахожу его макросистему и логику сложными и слабыми. такие языки, как Schem / Lisp / Clojure, очень хороши в макросах. Я представляю весь документ, написанный на языке семейства lisp, который при запуске генерировал бы код LaTeX и создавал документ. Это было сделано раньше? Есть ссылки?
9
*
суффиксом. Лисп естьlet
иlet*
так далее, у LaTeX есть\section
и\section*
.Ответы:
Racket делает именно это в Scribble , своей системе документации. Сейчас в этой системе написаны тысячи страниц документации, и она очень живая. Обратите особое внимание на используемый синтаксис , который делает множество таких гибридных команд очень удобными .
Однако обратите внимание, что хотя макросы используются как обычно в любом коде на Лиспе или Схеме, они не являются центральным моментом этого. Функции подходят для большинства вещей - они просто потребляют текст и производят текст. LaTeX (или, в более общем смысле, TeX) выбрал своего рода низкоуровневую стратегию оценки на основе макросов, которая подходит для некоторых случаев.
источник