2009-10-01 16 views
13

मैं उत्सुक हूं कि टीएक्स/लाटेक्स के लिए मूल .NET रेंडरर मौजूद है या नहीं। सबसे नज़दीकी मैच मैं खोजने में सक्षम हूं जावा कार्यान्वयन, JMathTeX है। मैं इसे सी # पर बंद करने का लुत्फ उठा रहा हूं, लेकिन ऐसा करने से पहले, मैं बस यह जांचना चाहूंगा कि कोई भी .NET कार्यान्वयन के बारे में जानता है या नहीं।.NET के लिए LaTeX रेंडरर?

मेरे वर्तमान विचार MiKTeX उपयोग करने के लिए dvipng के साथ टेक्स स्रोत संकलन और एक PNG के रूप में उत्पन्न डीवीआई रेंडर करने के लिए कर रहे हैं, लेकिन मैं अभी भी इस चिंता कर रहा हूँ भूमि के ऊपर का एक अस्वीकार्य राशि देनी पड़ सकती है, नहीं करने के लिए बंडल करने की जरूरत का उल्लेख दिए गए कार्यक्रम के साथ MiKTeX।

+1

मुझे लगता है कि आप यह क्यों करेंगे। Knuth का संस्करण बग-फ्री के पास बहुत सुंदर है (वह पुष्टि की गई बग के लिए नकद पुरस्कार प्रदान करता है, और इसका काफी समय से दावा नहीं किया गया है)। एक पुनः लिखना अच्छा नहीं होने की संभावना है। – dmckee

+0

@dmckee: .NET ऐप्स के भीतर प्रतिपादन के लिए विकल्प एक कंपाइलर जैसे मिकिटेक्स का उपयोग करना है और फिर इसे एक पीएनजी में परिवर्तित करने के लिए dvipng का उपयोग करना है। यह एक अप्रत्यक्ष विधि है, और मैं कुछ आसान की उम्मीद कर रहा था। – Noldorin

+1

मैं उम्मीद करता हूं कि यह (उत्कृष्ट) पीडीएफ [ला] टेक्सास का उपयोग करने के लिए बेहतर विकल्प होगा, क्योंकि परिणाम पहले से ही एक (अपेक्षाकृत) आसानी से प्रदर्शित प्रारूप होगा। –

उत्तर

2

यदि मुझे गलत नहीं लगता है, तो टीएक्स पास्कल की एक बोली में लिखा गया है, और आज संकलित होने पर इसे आम तौर पर मानक सी में संकलित किया जाता है, फिर अंतिम बाइनरी बनाने के लिए एक सी कंपाइलर के साथ संकलित किया जाता है। इसके बजाय मूल पास्कल कोड को सी # में संकलित करना संभव हो सकता है और शायद इसे लाइब्रेरी के रूप में उपयोग करने में सक्षम होने के लिए सी # में एक रैपर लिखना संभव हो सकता है।

बेशक यह एक बड़ी परियोजना है जो संभवतः आपके समस्या के लिए अधिक है।

+0

दिलचस्प सुझाव।यह सी के संकलन के लायक हो सकता है, और उसके बाद एक प्रबंधित सी ++/सीएलआई लाइब्रेरी में लपेटना, मैं सोच रहा हूं। – Noldorin

+0

लगता है कि आप सही हैं। टीएक्स वेब में लिखा गया है, पास्कल का एक संस्करण, फिर http://www.tug.org/web2c/ का उपयोग करके सी में संकलित किया गया। – Noldorin

2

A pure C# implementation of Latex by verybadcat.

इस अद्भुत iosMath LaTeX इंजन के एक सी # बंदरगाह है।

अब यह ज्यादातर मामलों में काम कर रहा है। कुछ उदाहरण नीचे हैं। विडंबना यह है कि पर्याप्त है, पहला फ्रंट एंड आईओएस है। हालांकि, अगर आप फ्रंट एंड, जैसे Xamarin.Forms या Windows वातावरण जोड़ना चाहते हैं, तो इसे संभव होना चाहिए। आपको अपना खुद का टाइपसेटिंग कॉन्टेक्स्ट और परिभाषित करना होगा IGraphicsContext के कार्यान्वयन को लिखना होगा। में टाइपसेटिंग कॉन्टेक्स्ट में फ़ॉन्ट चुनने सहित कई घटक हैं। उम्मीद है कि, आप को कोर टाइपसेटिंग इंजन को छूने की आवश्यकता नहीं होगी। (यदि आप करते हैं, मैं कि एक बग पर विचार करेंगे।)

CSharpMath example

2

यह बहुत समय से अपेक्षित है, लेकिन मैंने सोचा कि मैं WPF-Math परियोजना का एक पुनर्जीवित और विस्तार बंदरगाह के लिए एक लिंक पोस्ट करना चाहते हैं, जो मैंने इस मूल प्रश्न के बाद बहुत लंबा नहीं शुरू किया, और अभी भी मामूली क्षमता में बनाए रखने में मदद करता है। यह मूल रूप से JMathTex का बंदरगाह था, लेकिन तब से इसमें बहुत कुछ शामिल करने के लिए विस्तार किया गया है। फिलहाल, यह डब्ल्यूपीएफ के अलावा अन्य प्रस्तुतकर्ता प्राप्त करने की प्रक्रिया में है।