การแต่งงานของ Lisp และ LaTeX - เสร็จสิ้นแล้วใช่ไหม


9

ฉันชอบLaTeXแต่ฉันพบว่าระบบมาโครและตรรกะทั้งซับซ้อนและอ่อนแอ ภาษาเช่น Schem / Lisp / Clojure เก่งในเรื่องมาโคร ฉันนึกภาพเอกสารทั้งหมดที่เขียนด้วยภาษาตระกูลกระเพื่อมซึ่งเมื่อทำงานจะปล่อยรหัส LaTeX และสร้างเอกสาร สิ่งนี้เคยทำมาก่อนหรือไม่ ลิงก์ใด ๆ


2
ใช่การค้นหาโดย Google อย่างรวดเร็วเผยให้เห็น Lisp-Augmented TeX อาจมีคนอื่นอีกหลายสิบคน ระบบมาโครของ LaTeX นั้นทรงพลังจริง ๆ แม้ว่าจะไม่ใช่เรื่องที่ใจอ่อน คุณสามารถสร้างของคุณเองคัดลอกการออกแบบแพ็คเกจ XML-in-Lisp
Macneil

2
หมายเหตุมี tex stackexchange เช่นกัน: tex.stackexchange.com
Robert Anton Reese

อย่างไรก็ตาม LaTeX ให้ความเคารพต่อ Lisp โดยการโทรหาผู้ให้บริการทางเลือกรุ่นอื่นซึ่งทำสิ่งที่แตกต่างกันเล็กน้อยด้วย*คำต่อท้าย ชัดมีletและlet*เป็นต้นน้ำยางมีและ\section \section*
Kaz

คำตอบ:


13

แร็กเก็ตทำอย่างนั้นในScribbleระบบเอกสารของมัน ขณะนี้มีหน้าเอกสารมากมายที่เขียนในระบบนี้และยังมีชีวิตอยู่มาก หมายเหตุเฉพาะไวยากรณ์ที่ใช้ซึ่งจะทำให้จำนวนมากของคำสั่งดังกล่าวผ่านทางไฮบริดคายออกข้อความconveniet มาก

อย่างไรก็ตามโปรดทราบว่าแม้ว่าจะใช้มาโครตามปกติในรหัส Lisp / Scheme แต่ก็ไม่ได้เป็นจุดศูนย์กลางของเรื่องนี้ ฟังก์ชั่นนั้นใช้งานได้ดีสำหรับทุกสิ่ง - พวกมันใช้ข้อความและสร้างข้อความ LaTeX (หรือมากกว่าปกติ TeX) ได้เลือกกลยุทธ์การประเมินแบบมาโครระดับต่ำที่เหมาะกับบางกรณี


ดังนั้น ... ความคิดเห็นของคุณเกี่ยวกับมาโคร - คุณกำลังบอกว่า Python นั้นดีพอ ๆ กับ Lisps ที่เปล่งลาเท็กซ์?
งาน

ดี IMO Lisps จะดีกว่างูหลามเพราะมาโคร (เหนือสิ่งอื่น) - เพื่อให้เพียงกล่าวว่าสำหรับเปล่งน้ำยาง, Python ไม่ประสบปัญหาใหม่ ๆ เมื่อเทียบกับ lisps ...
อีไล Barzilay

@Eli คุณหมายถึงอะไรโดย "ปัญหาใหม่"?
ทำเครื่องหมาย C

1
ทำเครื่องหมาย C: ในทั้งสองกรณี (Lisp หรือ Python) ระบบเช่นนี้คือการเขียนโค้ดที่สร้าง (la) รหัสเท็กซัส ไม่มีเหตุผลใดที่จะดีไปกว่าการอ้างว่า Lispers มีภาษาที่ดีกว่าและในทางกลับกัน ในแง่นั้นไม่มีปัญหาใหม่ทั้งสองด้าน
Eli Barzilay

โอ้ขอบคุณที่ตอบ ฉันเข้าใจผิดว่า "เปรียบเทียบกับ" หมายความว่า Lisps มีปัญหาในการทำงานนี้ คุณต้องมี "@" เพื่อส่งการแจ้งเตือน (คุณจะได้รับเพราะนี่คือคำตอบของคุณ)
ทำเครื่องหมาย C
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.