2009-02-09 20 views
57

परिदृश्य:
मैं मैं LaTeX (इस मामले में मेरी फिर से शुरू) का उपयोग कर बनाया एक दस्तावेज है, इसे सही ढंग से pdflatex में संकलन और outputting मैं चाहूँगा कि वास्तव में क्या है। अब मुझे सादे पुराने ASCII में परिवर्तित करने के लिए एक ही दस्तावेज़ की आवश्यकता है।मैं लाटेक्स को सादे-पाठ (ASCII) में कैसे परिवर्तित करूं?

उदाहरण:
मैंने यह किया (कम से कम एक बार) here, जहाँ लेखक एक PDF version है और एक ASCII version कि मार्जिन, रिक्ति और बुलेट बिंदुओं सहित लगभग हर तरह से, में PDF संस्करण से मेल खाता है देखा है।

मुझे एहसास है कि एएससीआईआई प्रारूप में सीमाओं के कारण इस प्रकार का रूपांतरण सटीक नहीं हो सकता है, लेकिन अब तक जो कुछ मिला है, उसके आधार पर बहुत करीब अनुमान लग सकता है। ऐसा करने की प्रक्रिया क्या है?

+1

पालन टोड सी मिलर पेज आप (जोर मेरा) से जुड़ा हुआ की दूसरी करने के लिए अंतिम अनुच्छेद से: "कृपया ध्यान दें कि ** ASCII संस्करण हाथ से स्वरूपित किया गया था ** मुझे एएससीआई अनुवादक के लिए लेटेक्स से अवगत नहीं है जो प्रारूपण को बरकरार रखता है, हालांकि वास्तविक टेक्स्ट निकालने के लिए डिटेक्स का उपयोग किया जा सकता है। " –

उत्तर

16

CatDVI डीवीआई को टेक्स्ट में परिवर्तित करने और स्वरूपण को संरक्षित करने के प्रयासों को परिवर्तित कर सकता है।

+1

क्या आप जानते हैं कि "उचित" संरेखण कैसे बंद करें? – chuckg

+0

मुझे यकीन है कि क्षमा करें नहीं। – Bearddo

+1

'-u' विकल्प के साथ fmt (1) के माध्यम से इसे पाइप करने का प्रयास करें। –

14

आप यहाँ प्रस्तावित कार्यक्रमों में से कुछ की कोशिश कर सकते हैं:

TeX to ASCII

3

मेरे सामान्य रणनीति एक वेब ब्राउज़र से एक वेब पेज में बारी करने, और फिर निपटने और पेस्ट hyperlatex उपयोग करने के लिए है। मुझे लगता है कि यह सबसे अच्छा स्वरूपण देता है।

मैं आमतौर पर तब के माध्यम से जाने के लिए और कुछ लाइन रैपिंग मैन्युअल रूप से ठीक है ...

+1

मैंने इसे आजमाया, लेकिन दुर्भाग्यवश यह बाहरी' cls' फ़ाइल का उपयोग करने का समर्थन नहीं करता है। मैं enumitem वर्ग के साथ, दोहराव स्वरूपण कार्यों को संभालने के लिए एक वर्ग फ़ाइल का उपयोग कर रहा हूँ। हालांकि धन्यवाद! – chuckg

+0

हमम, मुझे नहीं लगता कि मुझे इसके साथ समस्याएं आई हैं ... लेकिन कुछ समय हो गया है क्योंकि मैंने इसका उपयोग किया है ... और मेरे पास काम पर मेरी कोई भी फाइल नहीं है ... –

8

एक अन्य विकल्प htlatex का उपयोग LaTeX स्रोतों से एक वेब पेज बनाने के लिए है, तो links का उपयोग सादे पाठ में बदलने के लिए है। मैं पिछले जो एक नहीं बल्कि अच्छा परिणाम दे दी है में कमांड लाइन

links -dump -no-numbering -no-references input.html > output.txt

इस्तेमाल किया। यह निश्चित रूप से मूल पीडीएफ की तुलना में प्रस्तुत एचटीएमएल के दृश्य से मेल खाता है, इस प्रकार शायद आप जो भी चाहते हैं उसे ठीक न करें।

0

आप लाइक्स में आयात कर सकते हैं और टेक्स्ट फीचर में लाइक्स के निर्यात का उपयोग कर सकते हैं।

मूर्खतापूर्ण अगर आप लाइक्स का उपयोग नहीं करते हैं, लेकिन यदि आपके पास पहले से ही बहुत तेज़ और आसान समाधान है। मेरे लिए अच्छा परिणाम, हालांकि उचित होने के लिए मेरी फाइलें बहुत सरल हैं। सुनिश्चित नहीं है कि अधिक विस्तृत फाइलें कैसे परिवर्तित हो जाती हैं।

3

यहां दिए गए चरणों का प्रयास करें: http://zanedp.livejournal.com/201222.html

यहाँ एक दृश्य है कि सादे पाठ में मेरी LaTeX फ़ाइल परिवर्तित करता है:

$ latex file.tex 
$ catdvi -e 1 -U file.dvi | sed -re "s/\[U\+2022\]/*/g" | sed -re "s/([^^[:space:]])\s+/\1 /g" > file.txt 

catdvi को -e 1 विकल्प उत्पादन ASCII को यह बताता है। यदि आप 1 के बजाय 0 का उपयोग करते हैं, तो यह यूनिकोड आउटपुट करेगा। यूनिकोड में सभी विशेष पात्रों जैसे गोलियां, इमैशैश और ग्रीक अक्षरों को शामिल किया जाएगा। इसमें "फाई" और "फ्लो" जैसे कुछ अक्षर संयोजनों के लिए लिगचर भी शामिल हैं। आपको वह पसंद नहीं हो सकता है। तो, इसके बजाय -e 1 का उपयोग करें। अज्ञात अक्षरों के लिए यूनिकोड मान मुद्रित करने के लिए यह कहने के लिए -U विकल्प का उपयोग करें ताकि आप उन्हें आसानी से ढूंढ सकें और उन्हें प्रतिस्थापित कर सकें।

कमांड का दूसरा भाग स्ट्रिंग [यू +2022] पाता है जिसका उपयोग बुलेट वर्णों (•) को निर्दिष्ट करने के लिए किया जाता है और उन्हें तारांकन (*) से बदल देता है।

तीसरा हिस्सा लाइनों (इंडेंटेशन) की शुरुआत में रिक्त स्थान को संरक्षित करते समय पाठ को पूर्ण-उचित बनाने के लिए सभी अतिरिक्त सफेद जगहों को पकड़ता है।

इन आदेशों को चलाने के बाद, स्ट्रिंग के लिए .txt फ़ाइल को खोजना बुद्धिमान होगा [यू + यह सुनिश्चित करने के लिए कि कोई यूनिकोड वर्ण नहीं है जिसे ASCII में मैप नहीं किया जा सकता है और उन्हें ठीक कर दिया गया है।

2

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

3

जब मैं अनुक्रमण और खोज के लिए मेरी TEX फाइल से सादे पाठ पाने के लिए की जरूरत है, मैं LaTeX2RTF एक अच्छा समाधान हो पाया - यह एक installer and GUI for windows है, और यह है कि मैं खोल सके मेरी 50 पृष्ठों थीसिस की एक RTF फ़ाइल का उत्पादन किया शब्द में।

+1

एक आरटीएफ दस्तावेज़ अभी भी वास्तव में * सादे पाठ * नहीं है। हालांकि। –

+0

मैं सहमत हूं। मैंने इसे पोस्ट किया क्योंकि यह अभी भी दूसरों के लिए उपयोगी हो सकता है, जैसा कि मैंने इस तरह से पाठ निकालने के लिए देखा (जैसा मैंने किया)। – tsvikas

3

जो समाधान मेरे लिए सबसे अच्छा काम करता है वह निम्न है। मान लें कि आप लेटेक्स दस्तावेज़ का नाम (विस्तार के बिना) ${BASENAME} में जमा हो जाती है, तो आप इन 3 चरणों लागू होते हैं:

htlatex ${BASENAME}.tex

iconv -f iso-8859-1 -t utf-8 ${BASENAME}.html > ${BASENAME}-utf8.html

html2markdown ${BASENAME}-utf8.html > ${BASENAME}.txt

जाहिर है, आप tex4ht और python-html2text स्थापित करने की आवश्यकता।

39

Opendetex विंडोज और लिनक्स दोनों के लिए उपलब्ध है (मैक पर भी ठीक से संकलित)। यह से http://code.google.com/p/opendetex/downloads/list

प्रयोग डाउनलोड किया जा सकता: http://code.google.com/p/opendetex/wiki/Usage

अपनी पसंद के किसी डायरेक्टरी में निकालें। कहें कि आपने इसे अपनी डाउनलोड निर्देशिका में निकाला है।

उसमें किसी भी नाम की दूसरी निर्देशिका बनाएं (यह वैकल्पिक है लेकिन अनुशंसित है)। मान लें कि निर्देशिका का नाम "my_paper" है। अपने पेपर को "my_paper" निर्देशिका में रखें। मान लें कि आपका पेपर नाम project.tex है।

नेविगेट पथ

cd ~/Downloads/opendetex 

को आदेश

detex my_paper/project.tex > out.txt 

सामान्य रूप

detex -n full_path_to_tex_file.tex > output_text_file.txt 
+3

यह सबसे अच्छा जवाब है, सिवाय इसके कि आपको शायद डिफ़ॉल्ट रूप से '-n' ध्वज का उपयोग नहीं करना चाहिए। – naught101

+1

हाय, क्या इस त्रुटि को ठीक करने का कोई तरीका है? 'detex: चेतावनी: फ़ाइल नहीं खोल सकता ' –

+0

@WetFeet मुझे लगता है कि आपने गलत इनपुट फ़ाइल-नाम दिया है। या आपकी निर्देशिका में जहां लेखन अनुमति नहीं है। सुनिश्चित करें कि आप उस निर्देशिका में फाइलें बना सकते हैं। –

8

भागो तुम भी Pandoc कोशिश कर सकते हैं, यह कई अन्य स्वरूपों के लिए लेटेक्स बदल सकता है। मैं अपने दस्तावेज़ीकरण को पढ़ने का सुझाव देता हूं, क्योंकि कुछ मुश्किल मामले हो सकते हैं जिन्हें आपको संभालने के लिए कुछ तर्कों को पारित करने की आवश्यकता है।

+1

पांडोक शानदार है। पाइथन में प्रोग्रामेटिक रूपांतरण के लिए, उचित सादा पाठ समकक्षों के साथ कई गणितीय संरचनाओं के सादा पाठ में स्वत: रूपांतरण सहित, मैंने थोड़ा हैकी फ़ंक्शन बनाया जो उपयोगी हो सकता है: http://pastebin.com/z7EMvfkZ – andybuckley

+0

यह कोशिश करने लायक है [पांडोक ऑनलाइन ] (http://pandoc.org/try/) – MajidL

0

Emacs आदेशों iso-iso2tex और iso-tex2iso कि बहुत अच्छी तरह से काम करते हैं, को छोड़कर यह \OE की तरह ही आदेशों परिवर्तित नहीं करता Œ गया है।

5

यदि आप pdflatex का उपयोग कर रहे हैं, तो संभवतः आप एक डीवीआई उत्पन्न करने के लिए latex पर स्विच करने के लिए अपने पैकेज विकल्पों के साथ गड़बड़ नहीं करना चाहते हैं।

इसके बजाय, अपनी पीडीएफ फ़ाइल लें और इसके बदले इसे परिवर्तित करें।

pdftotext -layout MyResume.pdf 

नोट -layout झंडा: यह मेरा सीवी/फिर से शुरू वक्र पैकेज के साथ बनाया के लिए काम किया।

pandoc -s /path/to/foobar.tex -o foobar.txt 

आप अपने लाइनों एक निश्चित स्तंभ पर तोड़ने के लिए चाहते हैं --column ध्वज का उपयोग करें:

+0

यह फ्रेंच उच्चारण के साथ काम नहीं करता है। –

+0

यह समाधान मेरे लिए बहुत अच्छा काम करता है - धन्यवाद! मैंने ऊपर पाइथन लिपि की कोशिश की, और एक त्रुटि मिली, और pandoc.org/try ने कुछ भी वापस नहीं किया, जबकि कंसोल ने जीईटी अनुरोध के लिए 500 त्रुटि सूचीबद्ध की। मेरे पास किसी एक को डीबग करने के लिए ज्यादा समय नहीं था, लेकिन यह बहुत अच्छा काम करता है! – modulitos

0

Pandoc आप अन्य निम्नलिखित pandoc आदेश उपयोग करने के लिए एक प्रारूप से फाइल कन्वर्ट करने के लिए अनुमति देता है। गैर-ब्रेकिंग लाइन के लिए --columns 10000 का उपयोग करें।

आप a number of other formats markdown की तरह करने के लिए -o foobar.txt में बदल सकते हैं (.md) आदि आप -o foobar.txt निर्दिष्ट नहीं करते हैं, pandoc एचटीएमएल कि आप किसी भी ऑनलाइन उपकरण में प्रदान कर सकते हैं प्रिंट होगा।

स्थापित करने के लिए pandoc this official documentation

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