QML

2012-11-26 17 views
5

में लेटेक्स को एम्बेड करने की संभावनाएं मैं this one के समान QML (सी ++ बैकएंड के साथ) में प्रेजेंटेशन सिस्टम कर रहा हूं।QML

मैं कुछ गणित को प्रदर्शित करने के लिए कुछ लेटेक्स कोड शामिल करने में सक्षम होना चाहता हूं (केवल न्यूनतम लेटेक्स क्षमताओं की आवश्यकता है, जैसे कि रकम, अंश, सुपर- और स्ट्रिप्रिप्ट और गणित फोंट)।

मैं निम्नलिखित संभावनाओं को देखने ऐसा करने के लिए:

  • का उपयोग latex2e:
    1. एक डीवीआई दस्तावेज़ में लेटेक्स कोड (latex के साथ)
    2. एसवीजी के लिए डीवीआई कन्वर्ट संकलित (साथ dvisvgm)
    3. QML में Image का उपयोग करके इसे प्रदर्शित करें (जो एसवीजी का भी समर्थन करता है)
  • MathJax का उपयोग करना:
    1. लपेटें एक छोटे से HTML फ़ाइल में लेटेक्स कोड + MathJax जे एस पुस्तकालय
    2. प्रदर्शन इस QML
के लिए WebKit का उपयोग शामिल है
  • कस्टम समाधान (C++):
    1. लिखें या एक मौजूदा न्यूनतम लेटेक्स गणित पार्सर
    2. लिखें कस्टम चित्रकला

के साथ एक QDeclarativeItem वहाँ एक और समाधान मैं नहीं दिख रहा है शामिल ? मैं पहला समाधान पसंद करता हूं क्योंकि दूसरी आवाज़ें बहुत भारी होती हैं और तीसरी बहुत मुश्किल होती है।

गणित सूत्र के बेसलाइन के साथ मुझे निम्न समस्या दिखाई देती है: मैं इनलाइन सूत्रों (पैराग्राफ के भीतर) को शामिल करने में सक्षम होना चाहता हूं। वर्तमान में, एक क्यूएमएल पाठ तत्व का उपयोग कर पाठ पैराग्राफ प्रस्तुत किए जाते हैं। क्या निर्दिष्ट बेसलाइन के साथ एक टेक्स्ट तत्व (HTML HTML तत्व का उपयोग कर) में एक छवि शामिल करने की संभावना है? साथ ही, मैं एक प्रस्तुत लेटेक्स दस्तावेज़ की आधार रेखा कैसे निर्धारित कर सकता हूं?

नोट: लेटेक्स कोड को पूर्व-प्रस्तुत करने का समय समस्याग्रस्त नहीं है। मैं पहले से ही प्रस्तुत किए गए सूत्रों को कैश करने जा रहा हूं, इसलिए प्रस्तुति दस्तावेज़ में निहित प्रत्येक सूत्र पर latex + dvisvgm को आमंत्रित करने में कोई समस्या नहीं होनी चाहिए।

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

मुझे इनलाइन लेटेक्स का उपयोग करते समय फॉर्मूला लपेटने का समर्थन करने की आवश्यकता नहीं है।(लेटेक्स इनलाइन सूत्रों को लिखते समय ऐसा करता है, लेकिन मैं केवल छोटे सूत्रों का उपयोग करता हूं जिन्हें मैं किसी भी तरह से लपेटना नहीं चाहता हूं।)

+0

मुझे यह जानने में दिलचस्पी होगी कि आप किस तरह से गए थे और क्या यह आपके उद्देश्यों के लिए काम करता है क्योंकि हम उस मुद्दे को भी मार रहे हैं। – gremwell

+0

मैंने दृष्टिकोण 1 का उपयोग किया। पैराग्राफ (इनलाइन) में प्रस्तुत छवियों को एम्बेड करने के लिए, मैंने प्रत्येक अनुच्छेद के पाठ को एकल शब्दों में विभाजित किया है और उन्हें कस्टम प्रवाह लेआउट एल्गोरिदम के साथ मैन्युअल रूप से रखा है। छवियों को मैन्युअल रूप से स्थानांतरित किया जा सकता है। अगर मुझे समय लगता है, तो मैं इसे पर्याप्त विवरण के साथ एक उत्तर के रूप में लिखूंगा। वैसे, एसवीजी बहुत अच्छी तरह से काम नहीं करता है, मैंने इसके लिए रास्टरराइज्ड पीएनजी प्रारूप का उपयोग किया। मेरा ऐप रेंडर रेज़ोल्यूशन को समायोजित कर सकता है (यानी छवि को पुन: परिवर्तित करें) जब छवि स्केल हो जाती है, तो आप लगभग यह नहीं देखते कि यह एक रास्टराइज्ड छवि है। – leemes

उत्तर

2

मुझे लगता है कि वे तीन अच्छे विकल्प हैं, और मैं ऐसा करने के किसी अन्य तरीके से नहीं सोच सकता यह।

ऐसा लगता है कि आपके पास कुछ पाठ अनुच्छेदों के साथ सूत्रों की आवश्यकता है, इसलिए इसी कारण से मुझे लगता है कि विकल्प 2 इसे करने का एक अच्छा तरीका है।

वेबकिट घटक का उपयोग करना मुश्किल नहीं है। मुझे यकीन नहीं है कि आपका मतलब "बहुत भारी" है।

चीयर्स!

0

एक और विकल्प एक समृद्ध टेक्स्ट QML घटक का उपयोग करना है जो छवि के बजाय छवियों (उदा। टेक्स्ट एडिट) का भी समर्थन करता है - फिर आप उन्हें सामान्य टेक्स्ट के साथ इनलाइन रख सकते हैं।

+0

मैंने इस दृष्टिकोण की कोशिश की, लेकिन समस्या यह है कि छवियों को आधार रेखा पर लंबवत रूप से गठबंधन किया जाता है। जब छवि एक सबसेट पत्र या कुछ समान के साथ एक लेटेक्स सूत्र है, जो आधार रेखा से नीचे जाना चाहिए, जो काम नहीं करता है। – leemes