LispとLaTeXの結婚-それは行われましたか?


9

私はが好きですがLaTeX、そのマクロシステムとロジックはどちらも複雑で弱くなっています。Schem / Lisp / Clojureなどの言語は、マクロが非常に得意です。lispファミリー言語で書かれたドキュメント全体が実行されると、LaTeXコードを生成してドキュメントを生成すると思います。これは以前に行われたことがありますか?リンクは?


2
はい、簡単なGoogle検索でLisp-Augmented TeXが明らかになりました。おそらく数十人が他にいます。LaTeXマクロシ​​ステムは実際には非常に強力ですが、気弱な人には向いていません。独自のXML-in-Lispパッケージの設計をコピーして構築できます。
マクニール、2011

2
tex stackexchangeもあることに注意してください:tex.stackexchange.com
Robert Anton Reese

ちなみに、LaTeXは、*接尾辞を使用して少し異なる処理を行う別のバージョンの演算子を呼び出すことにより、Lispに敬意を表しています。Lispにはletなどがlet*あり、LaTeXにはとが\sectionあり\section*ます。
Kaz

回答:


13

ラケットは、そのドキュメントシステムであるScribbleでまさにそれを行います。現在、このシステムには何千ものドキュメントページが記述されており、非常に活気があります。使用される構文に特に注意してください。これにより、このようなハイブリッドコマンドvia-spitting-out-textが非常に便利になります。

ただし、マクロはすべてのLisp / Schemeコードで通常どおり使用されますが、これはその中心ではありません。ほとんどの場合、関数は問題ありません。たまたま、テキストを消費してテキストを生成するだけです。LaTeX(またはより一般的にはTeX)は、いくつかのケースに適合する一種の低レベルのマクロベースの評価戦略を偶然に選択しました。


だから...マクロについてのコメント-あなたはPythonがラテックスを放出することでLispと同じくらい良いと言っていますか?
仕事

まあ、マクロのため(特に)、IMO LispはPythonよりも優れています。つまり、ラテックスを放出する場合、Pythonはlispsに比べて新しい問題に悩まされていません...
Eli Barzilay

@エリ「新しい問題」とはどういう意味ですか?
マークC

1
Mark C:どちらの場合(LispまたはPython)でも、このようなシステムは(la)texコードを生成するコードを書いています。Lispersが自分たちの言語が優れているという通常の主張以外に、どちらかが他より優れているという特別な理由はありません。逆もまた同様です。その意味では、どちらの側にも新しい問題はありません。
Eli Barzilay

ああ、答えてくれてありがとう。「と比較して」とは、Lispがこの仕事をするのに問題があることを意味するものだと誤解しました。ちなみに、通知を送るには「@」が必要です。(これがあなたの答えなので、あなたはそれを取得します。)
マークC
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.