Hôn nhân của Lisp và LaTeX - đã xong chưa?


9

Tôi thích LaTeX, nhưng tôi thấy hệ thống vĩ mô và logic của nó vừa phức tạp vừa yếu. các ngôn ngữ như Schem / Lisp / Clojure rất giỏi về macro. Tôi tưởng tượng toàn bộ tài liệu được viết bằng ngôn ngữ gia đình không thể thiếu, khi chạy, sẽ phát ra mã LaTeX và tạo ra một tài liệu. Này đã được thực hiện trước? Bất kỳ liên kết?


2
Có, một tìm kiếm nhanh trên Google cho thấy Lisp-Augmented TeX. Có lẽ có hàng tá người khác. Hệ thống macro LaTeX thực sự khá mạnh mẽ, mặc dù không dành cho người yếu tim. Bạn có thể tự xây dựng, sao chép thiết kế các gói XML-in-Lisp.
Macneil

2
Lưu ý rằng cũng có một stackexchange tex: tex.stackexchange.com
Robert Anton Reese

Nhân tiện, LaTeX tỏ lòng tôn kính với Lisp bằng cách gọi các phiên bản thay thế của các nhà khai thác làm điều gì đó hơi khác với *hậu tố. Lisp có letlet*vân vân, LaTeX có \section\section*.
Kaz

Câu trả lời:


13

Vợt thực hiện chính xác điều đó trong Scribble , hệ thống tài liệu của nó. Hiện tại có hàng ngàn trang tài liệu được viết trong hệ thống này, và nó rất sống động. Lưu ý cụ thể cú pháp được sử dụng, điều này làm cho rất nhiều lệnh lai như vậy thông qua việc nhổ ra ngoài văn bản rất triệu tập .

Tuy nhiên, lưu ý rằng mặc dù các macro được sử dụng như bình thường trong bất kỳ mã Lisp / Scheme nào, chúng không phải là điểm trung tâm của điều này. Các chức năng chỉ tốt cho hầu hết mọi thứ - chúng chỉ xảy ra để tiêu thụ văn bản và sản xuất văn bản. LaTeX (hay nói chung là TeX) đã chọn một loại chiến lược đánh giá dựa trên vĩ mô cấp thấp phù hợp với một số trường hợp.


Vì vậy, ... nhận xét của bạn về macro - bạn có nói rằng Python cũng tốt như Lisps khi phát ra latex không?
Công việc

Vâng, IMO Lisps là tốt hơn so với Python vì macro (trong số những thứ khác) - vì vậy chúng ta hãy chỉ nói rằng đối với phát mủ, Python không bị bất kỳ vấn đề mới so với lisps ...
Eli Barzilay

@Eli Ý bạn là gì khi "vấn đề mới"?
Đánh dấu C

1
Đánh dấu C: trong cả hai trường hợp (Lisp hoặc Python), một hệ thống như thế này đang viết mã tạo mã (la) tex. Không có lý do cụ thể nào mà người ta sẽ giỏi hơn người khác ngoài tuyên bố thông thường rằng Lispers sẽ có ngôn ngữ của họ tốt hơn và ngược lại. Theo nghĩa đó, không có vấn đề mới ở hai bên.
Eli Barzilay

Ồ, cảm ơn vì đã trả lời. Tôi hiểu sai rằng "so với" có nghĩa là Lisps có vấn đề khi làm công việc này. Nhân tiện, bạn cần một "@" để gửi thông báo. (Bạn sẽ nhận được một vì đây là câu trả lời của bạn.)
Mark C
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.