Шлюб Ліса і LaTeX - це вже було зроблено?


9

Мені подобається LaTeX, але я вважаю її макросистему та логіку і складною, і слабкою. такі мови, як Schem / Lisp / Clojure, дуже добре підходять до макросів. Я уявляю весь документ, написаний сімейною мовою lisp, який під час запуску видав би код LaTeX та створив документ. Це робилося раніше? Будь-які посилання?


2
Так, швидкий пошук у Google виявляє Tex, який збільшує Lisp. Мабуть, десятки інших. Макросистема LaTeX насправді досить потужна, хоча і не для слабкого серця. Ви можете створити свій власний, копіюючи дизайн пакетів XML-in-Lisp.
Macneil

2
Зверніть увагу, є також tex stackexchange: tex.stackexchange.com
Роберт Антон Різ

До речі, LaTeX віддає шану Lisp, називаючи альтернативні версії операторів, які роблять дещо інше з *суфіксом. У Lisp є letі let*так далі, у LaTeX є \sectionі \section*.
Каз

Відповіді:


13

Racket робить саме це в Scribble , його документаційній системі. Зараз у цій системі написано тисячі сторінок документації, і це дуже живе. Зокрема, зверніть увагу на синтаксис, який використовується, що робить безліч таких гібридних команд через текст-сплюнд-текст дуже зручним .

Однак зауважте, що хоча макроси використовуються, як зазвичай, у будь-якому коді Lisp / Scheme, вони не є центральною точкою цього. Для більшості речей функції просто чудові - вони просто споживають текст і створюють текст. LaTeX (або загалом TeX), як правило, обрав якусь стратегію оцінювання на основі макроконтролю низького рівня, яка відповідає деяким випадкам.


Отже ... ваш коментар до макросів - ви кажете, що Python так само хороший, як і Ліпс при випромінюванні латексу?
Робота

Ну, IMO Lisps кращі за Python через макроси (серед іншого), так що скажемо, що для викиду латексу Python не страждає від нових проблем порівняно з lips ...
Елі Барзілай

@Eli Що ви розумієте під новими проблемами?
Марк C

1
Позначка C: в обох випадках (Lisp чи Python) система на зразок цього пише код, який генерує (la) текстовий код. Немає особливих причин того, що хтось був би кращим за інших, крім звичайного твердження, що Лісперс матиме, що їх мова краща і навпаки. У цьому сенсі не виникає нових проблем з обох сторін.
Елі Барзілай

О, дякую за відповідь. Я неправильно читаю, що "порівняно з" означає, що у Ліпса проблеми з цим завданням. До речі, для надсилання сповіщення вам потрібен "@". (Ви отримаєте його, тому що це ваша відповідь.)
Марк C
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.