मैंने सुना है कि LaTeX ट्यूरिंग पूर्ण है। क्या कोई कार्यक्रम LaTeX में लिखे गए हैं?


79

आमतौर पर टाइपिंग भाषाओं के रूप में क्या सोचा जाएगा, इसके साथ दिलचस्प चीजें करना संभव है। उदाहरण के लिए, आप पोस्टस्क्रिप्ट का उपयोग करके मैंडलब्रॉट सेट का निर्माण कर सकते हैं ।

इस MathOverflow प्रश्न में यह सुझाव दिया गया है कि LaTeX ट्यूरिंग-पूर्ण हो सकता है । इसका मतलब है कि मनमाने ढंग से प्रोग्राम लिखने की क्षमता (हालांकि यह आसान नहीं हो सकता है!)। क्या किसी को LaTeX में इस तरह के कार्यक्रम के किसी भी ठोस उदाहरण के बारे में पता है, जो भाषा के साथ कुछ अत्यधिक असामान्य करता है?


88
तुम्हें पता है, मैं एक सप्ताहांत बाहर खेलने के लिए जा रहा था। तुम्हें पता है, एक कंप्यूटर सप्ताहांत से दूर उन में से एक? फिर आप जाकर इस सवाल को पोस्ट करें। यही कारण है कि मैं अच्छी चीजें नहीं हो सकती।
गेहूँ

1
/ d {def} def / u {dup} d [0 -185 u 0 300 u] concat / q 5e-3 d / m {mul} d / z {A um B um} d / r {rlineto} / X -2 q 1 {d / Y -2 q 2 {d / A 0 d / B 0 d 64 -1 1 {/ f exch d / BA / A z sub X add d B 2 mm Y Add dz add 4 gt {एग्जिट} यदि / एफ ६४ डी} के लिए एफ ६४ डिव सेग्रे एक्स एक्स मूव्टो ० क्यू नेगेटिव यू ० क्व ० क्व ० आरआरआरआर फिल / वाई} फॉर / एक्स} फॉर शोपेज
डीएनए

जवाबों:


84

द मोनाड रीडर के अंक 13 में , स्टीफन हिक्स मैक्रोज़ के प्रचुर उपयोग के साथ, TeX में ICFP प्रतियोगिता (मार्स रोवर नेविगेशन को शामिल करने) के समाधान को लागू करने के बारे में लिखते हैं। जाहिर है, टाइपसेट का आउटपुट जब टाइपसेट रोवर के पथ का एक पोस्टस्क्रिप्ट मानचित्र होता है।


26

वैकल्पिक रूप से, एंड्रयू ग्रीन ने TeX ( अधिक विवरण ) में एक बेसिक दुभाषिया लिखा । यह थोड़ा विकृत रूप में गिना जा सकता है।


2
दुभाषिया लिंक मर चुका है
निक

इंटरप्रेटर देखने के लिए Archive.org का प्रयोग करें: web.archive.org/web/20120707000649/http://…
Nulano

10

pgfmathपुस्तकालय अभी भी मुझे आश्चर्य होता। लेकिन अधिक ट्यूरिंग से संबंधित नोट पर: http://en.literateprograms.org/Turing_machine_simulator_(LaTeX) के अनुसार, TeX में एक वास्तविक ट्यूरिंग मशीन लिखना संभव है । यह TeX में विस्तार का उपयोग करने का सिर्फ एक निफ्टी तरीका है।

पोस्टस्क्रिप्ट पूरी तरह से ट्यूरिंग है, यदि आप मैनुअल पढ़ेंगे तो आप इसकी सामान्य प्रोग्रामिंग क्षमताओं से आश्चर्यचकित होंगे (कम से कम, मैं तो था)।


1
लोगों ने पोस्टस्क्रिप्ट में LISP लिखा है। (पिछले वाक्य को पढ़ें जब तक कि आप इस तरह के निर्माण की अजीब सुंदरता को पूरी तरह से समझ नहीं लेते)।
new123456

PLRM मैनुअल उल्लेख किया अब एक मृत कड़ी है ऐसा करें adobe.com/products/postscript/pdfs/PLRM.pdf
हारून रॉबसन


6

मुझे यकीन नहीं है कि अगर यह प्रति प्रोग्रामिंग के रूप में अर्हता प्राप्त करता है, लेकिन मैंने हाल ही में LaTeX में ऑब्जेक्ट ओरिएंटेड सामान की तरह कुछ करना शुरू कर दिया है। (आपको निम्नलिखित का पालन करने के लिए किसी गणित को जानने की आवश्यकता नहीं है।) हाल के पत्रों में, मैं उन श्रेणियों के बारे में लिख रहा हूं , जिनमें ऑब्जेक्ट और मॉर्फिज़म हैं । चूँकि उनमें से बहुत कुछ हो चुका है, मैं एक सुसंगत शैली चाहता था ताकि, कहूँ कि, object विशिष्ट वस्तु सी और विशिष्ट आकारिकी सी के साथ एक श्रेणी थी । तो मैं भी डी और डी के साथ 𝒟 होगा। तो मैं एक "वर्ग" को परिभाषित करता हूं, "श्रेणी" कहता हूं (आपको वहां मजाक को समझने के लिए एक गणितज्ञ होने की आवश्यकता है), और घोषित करें कि सी इस वर्ग का एक उदाहरण है, और फिर \ ccat, \ cobj, \ cmor तक पहुंच है इत्यादि। \ Cat {c}, \ obj {c}, और \ mor {c}, और इसके आगे नहीं करने का कारण यह है कि कभी-कभी इन श्रेणियों के विशेष नाम होते हैं और इसलिए उदाहरण घोषित करने के बाद, मैं इसे संशोधित कर सकता हूं यह नाम बहुत आसानी से है (बस \ ccat को फिर से परिभाषित करें - वास्तव में, \ mathcat \ ccat एक आवरण है जो गणित मोड में \ mathccat और पाठ मोड में \ textccat का चयन करता है)। (बेशक, यह उपरोक्त सुझावों की तुलना में थोड़ा अधिक जटिल है और ओओ सामान वास्तव में उपयोगी है जब मैं एक पुरानी श्रेणी के संस्करण के रूप में एक नई श्रेणी को परिभाषित करना चाहता हूं (यह उस मामले से भी निपट सकता है जहां पुराना एक नहीं है ' टी अभी तक मौजूद है।))

यद्यपि यह वास्तविक प्रोग्रामिंग के रूप में योग्य नहीं हो सकता है, मैं इसे कागजों में उपयोग कर रहा हूं और इसे उपयोगी पाता हूं - अन्य उत्तर (अब तक) में एक व्यावहारिक समस्या के लिए एक समझदार समाधान की तुलना में लाटेक्स की क्षमताओं को दिखाने की भावना अधिक है।


यह देखना अच्छा लगेगा कि आप यह कैसे कर रहे हैं!
नैट स्टीमेन

1

मैं किसी ऐसे व्यक्ति के बारे में जानता हूं जिसने LaTeX में एक ACM प्रतियोगिता समस्या का उत्तर लिखा है ।


हम्म ... दुर्भाग्य से, मेरे पास कोड झूठ नहीं है, और मैं उस व्यक्ति के संपर्क से बाहर हो गया हूं जिसने इसे लिखा था। : /
एम्बर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.