2012-12-23 18 views
5

में कैप्शन के साथ आंकड़ों में कनवर्ट करें। मैं एक लाइटिक्स दस्तावेज़ उत्पन्न करने के लिए वर्डप्रेस एक्सपोर्ट एक्सएमएल (डब्ल्यूपी एक्सएमएल) की सामग्री को पार्स करने के लिए एक पायथन लिपि लिख रहा हूं। अब तक wp xml को lxml.etree के माध्यम से पार्स किया गया है और कोड texml द्वारा संसाधित होने के लिए एक नया xml पेड़ उत्पन्न करता है, जो बदले में तकनीकी फ़ाइल उत्पन्न करता है।एचटीएमएल आईएमजी टैग को लाटेक्स

वर्तमान में मैं प्रत्येक पोस्ट को कुछ मेटाडेटा (शीर्षक, प्रकाशन दिनांक, टैग, सामग्री) के साथ निकालता हूं। मेटाडाटा में कोई समस्या नहीं है, लेकिन सामग्री भाग थोड़ा समस्याग्रस्त है। Wp xml के अंदर सामग्री को सादा HTML/वर्डप्रेस मार्कअप में सीडीएटीए संरचना के रूप में शामिल किया गया है। इसे लेटेक्स में बदलने के लिए मैं सामग्री को पार्स करने के लिए pandoc चुनता हूं। TeXml इनलाइन लाटेक्स का समर्थन करता है, इसलिए सामग्री को पेड़ में सादे लाटेक्स के रूप में जोड़ा जाता है।

मैं pandoc इस मामले में, अच्छी तरह से एचटीएमएल टैग का सबसे अधिक उपयोग करने के लिए के रूप में यह पहले से ही बदल देता है (a, strong, em ...) यह कैसे छवियों के साथ संबंधित समस्या सिर्फ मेरे पास है है का फैसला किया।

मैं एक उपप्रक्रिया का उपयोग pandoc के साथ इंटरफेस करने:

args = ['pandoc', '-f', 'html', '-t', 'latex'] 
p = Popen(args, stdout=PIPE, stdin=PIPE, stderr=PIPE) 
tex_result = p.communicate(input=(my_html_string).encode('utf-8'))[0] 

एक नमूना पोस्ट इस

<strong>Lorem ipsum dolor</strong> sit amet, consectetur adipiscing elit. 

<a href="http://link_to_source_image.jpg"><img class="alignnone size-medium wp-image-id" title="Title_text" src="http://link_to_scaled_down_version.jpg" alt="Some alt text" width="262" height="300" /></a> 

Nam nulla ante, vestibulum a euismod sed, accumsan at magna. Cras non augue risus, vitae gravida quam. 

मैं जैसे आंकड़े के रूप में एम्बेडेड कैप्शन के साथ छवियों की जरूरत कैसा लग सकता है

\begin{figure} 
\includegraphics{link_to_image.jpg} 
\label{fig:some_label} 
\caption{Some alt text} 
\end{figure} 

pandoc एक सरल inlined छवि में एचटीएमएल img टैग कन्वर्ट करने के लिए, किसी भी शीर्षक या वैकल्पिक ग्रंथों की निकालने लगता है।

\href{http://link\_to\_source\_image.jpg}{\includegraphics{http://link_to_scaled_down_version.jpg}} 

मैं स्रोत में झांक सकते थे और तरह img केवल इनलाइन तत्व के रूप में व्यवहार किया जाता है यह लग रहा है। (pandoc parsing function)। मुझे हास्केल नहीं पता है, इसलिए यह मुझे कितना दूर मिला है।

आप markdown में एचटीएमएल परिवर्तित तो हालांकि, यह ऑल्ट और शीर्षक रखता है और परिणाम

![Some alt text](http://link_to_scaled_down_version.jpg "Title_text") 

के समान markdown आप या तो जिसके परिणामस्वरूप लेटेक्स दस्तावेज़ में छवियों या आंकड़े inlined है सकते हैं के साथ है। आप लेटेक्स में इस markdown परिवर्तित यदि परिणाम

\begin{figure}[htbp] 
\centering 
\includegraphics{http://link_to_scaled_down_version.jpg} 
\caption{Some alt text} 
\end{figure} 

पहले pandoc सामग्री पार्स करने के लिए एक सरल उपाय तरह लग रहा था, लेकिन मैं के रूप में pandoc भी html में तो मैं पहले कर सकते थे इनलाइन लेटेक्स का समर्थन नहीं करता थोड़ा अटक कर रहा हूँ सभी छवियों और बाकी को पैंडोक के माध्यम से संसाधित करें।

क्या आपको लोगों को कोई विचार है कि कैसे (बेहतर) प्रक्रियाओं को img टैग में लेटेक्स में कैप्शन वाले आकृति वातावरण में एम्बेडेड करने के लिए एचटीएमएल में टैग करें?

उत्तर

1

पांडोक कैप्शन वाली छवियों के रूप में विशेष रूप से युक्त युक्त पैराग्राफ का व्यवहार करता है। इन्हें कैप्शन के साथ लाटेक्स आंकड़ों में बदल दिया जाएगा। इस प्रकार:

% pandoc -f html -t latex 
<p><img src="myimg.jpg" alt="my text" title="my title"/></p> 
^D 
\begin{figure}[htbp] 
\centering 
\includegraphics{myimg.jpg} 
\caption{my text} 
\end{figure} 

यह आपकी मदद कर सकता है।

संबंधित मुद्दे