2011-01-19 10 views
7

के रूप में मैं लेटेक्स में बहुत सारे दस्तावेज संपादित कर रहा हूं जिसमें कोड सूची शामिल है और वर्तमान में पीडीएफ आउटपुट है।आउटपुट स्वरूपित पाठ (स्रोत कोड समेत) लाटेक्स, पीडीएफ और एचटीएमएल

चूंकि मैं उन दस्तावेजों पर टीमों में काम कर रहा हूं, इसलिए मुझे अक्सर समूह सदस्यों द्वारा लेटेक्स स्रोत में किए गए परिवर्तनों को मैन्युअल रूप से एकीकृत करने की आवश्यकता होती है।

अधिकांश समूह के सदस्यों को लेटेक्स नहीं पता है, इसलिए मैं उन्हें एक शैली में दस्तावेज़ स्वरूपण करने में सक्षम बनाने के लिए एक साधन बनाना चाहूंगा जो शायद मार्कडाउन के समान हो।

चूंकि लेटेक्स दस्तावेज़ों में आंकड़े शामिल हैं, संदर्भ हैं और lslisting पैकेज का उपयोग करते हैं, तो मुझे आश्चर्य है कि इन विशिष्ट क्षेत्रों को एक साधारण मार्कडाउन शैली वाक्यविन्यास में मैप करना संभव होगा या नहीं।

कार्यप्रवाह उदाहरण: Markdown में फ़ाइल

  • संपादित करें (या समान)
    • टैग वर्गों
    • टैग कोड क्षेत्रों
    • टैग
    • टैग का संदर्भ
  • परिवर्तित आंकड़े लेटेक्सपर
    • स्वचालित रूप से टैग
  • उत्पादन
    • पीडीएफ
    • एचटीएमएल

यह किसी भी तरह इस तरह के एक कार्यप्रवाह प्राप्त करने के लिए संभव है परिवर्तित? शायद मेरे विशिष्ट वर्कफ़्लो के समाधान पहले से ही हैं?

उत्तर

1

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

इसके साथ आप मार्कडाउन और लाटेक्स मिश्रण कर सकते हैं, और उसके बाद एचटीएमएल, टीएक्स और पीडीएफ को संकलित कर सकते हैं। आप बाहरी फ़ाइल से बिबटेक्स संदर्भ भी शामिल कर सकते हैं।

कुछ उदाहरण (markdown से लेटेक्स और html के लिए):

pandoc -f markdown -t latex infile.txt -o outfile.tex 
pandoc -f markdown -t html infile.txt -o outfile.html 

markdown से पीडीएफ के लिए जा रहा अपने स्वयं के कंडोम टेम्पलेट, और एक ग्रंथ सूची जोड़ने के लिए:

pandoc input.text --template=FILE --bibliography refs.bib -o outfile.pdf 

यह वास्तव में एक लचीला है और भयानक कार्यक्रम, और मैं इसे अपने आप का उपयोग कर रहा हूँ।

1

क्या आपने Docutils पर देखा है?

+0

धन्यवाद। यह काफी दिलचस्प लग रहा है। मैं थोड़ा अनिश्चित हूं कि वास्तव में इस के साथ कैसे शुरुआत करें। क्या आपने इसी तरह के मामले के लिए डॉकबुक का उपयोग किया है? क्या आप उस दृष्टिकोण का उपयोग करने की सिफारिश कर सकते हैं? – jottr

+0

@element: इसमें डॉकबुक के साथ कुछ लेना देना नहीं है। डॉकुटल्स रीस्ट्रक्चरर्ड टेक्स्ट का उपयोग करता है, जो मार्कडाउन के समान है लेकिन अधिक शक्तिशाली है। – Philipp

0

यदि आप एक Emacs उपयोगकर्ता हैं, तो आप अपनी पसंद के हिसाब से org-mode का मार्कअप पा सकते हैं। यह टेबल के लिए बहुत अच्छा समर्थन है, स्प्रेडशीट जैसे अन्य Emacs मोड के साथ अच्छी तरह से समन्वय करता है, और HTML के लिए छवियों का अच्छा निर्यात है। सी एफ the fine manual's HTML-export section

org-mode फाइलें एमाक्स के बाहर संपादन योग्य हैं, टीम के सदस्यों के लिए जो इसका उपयोग नहीं करते हैं, हालांकि अन्य Emacs मोड का पूर्वावलोकन और एम्बेडिंग स्वाभाविक रूप से केवल Emacs के साथ किया जा सकता है।

2

यहां डॉकुटिल्स के लिए एक उदाहरण है।

Title 
===== 

Section 
------- 

.. _code: 

Code area:: 

    #include <iostream> 
    int main() { 
    std::cout << "Hello World!" << std::endl; 
    } 

.. figure:: image.png 

    Caption for figure 

A reference to the code_ 


Another section 
--------------- 

- Itemize 
- lists 

#. Enumerated 
#. lists 

+-----+-----+ 
|Table|Table| 
+-----+-----+ 
|Table|Table| 
+-----+-----+ 

इसे example.rst के रूप में सहेजें।तो फिर तुम HTML को संकलित कर सकते हैं:

rst2html example.rst example.html 

या LaTeX के लिए:

rst2latex example.rst example.tex 

फिर परिणामी LaTeX दस्तावेज़ संकलन:

pdflatex example.tex 
pdflatex example.tex # twice to get the reference right 

कई स्रोतों से दस्तावेजों पैदा करने के लिए एक अधिक व्यापक रूपरेखा है Sphinx, जो डॉकुटिल्स पर आधारित है और तकनीकी दस्तावेज़ीकरण पर केंद्रित है।

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