Jak przekonwertować LaTeX na zwykły tekst (ASCII)?

Scenariusz:
mam dokument, który stworzyłem za pomocą LaTeX ' a( moje CV w tym przypadku), jest kompilowany w pdflatex poprawnie i wypisuje dokładnie to, co chcę. Teraz muszę przekonwertować ten sam dokument do zwykłego starego ASCII.

przykład:
widziałem to (przynajmniej raz) tutaj , gdzie autor ma wersję PDF i wersję ASCII , która pasuje do wersji PDF niemal pod każdym względem, w tym marginesy, odstępy i punktor punktów.

Zdaję sobie sprawę, że tego typu konwersja nie może być dokładna ze względu na ograniczenia w formacie ASCII, ale bardzo bliskie przybliżenie wydaje się możliwe na podstawie tego, co znalazłem do tej pory. Jaki jest proces, aby to zrobić?

 59
Author: chuckg, 2009-02-10

14 answers

CatDVI może konwertować DVI na tekst i próbuje zachować formatowanie.

 16
Author: Bearddo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-09 21:45:18

Opendetex jest dostępny zarówno dla Windows, jak i Linuksa (kompiluje dobrze również na Macu). Można go pobrać ze strony http://code.google.com/p/opendetex/downloads/list

Użycie: http://code.google.com/p/opendetex/wiki/Usage

Rozpakuj go do dowolnego wybranego katalogu. Powiedzmy, że rozpakowałeś go do katalogu pobrań.

Utwórz inny katalog o dowolnej nazwie (jest to opcjonalne, ale zalecane). Załóżmy, że nazwa katalogu to "my_paper" Umieść swoją pracę w katalogu "my_paper". Załóżmy, że Twoja nazwa papieru to project.tex.

Przejdź do ścieżki

    cd ~/Downloads/opendetex

Uruchom polecenie

    detex my_paper/project.tex  > out.txt

Forma Ogólna

    detex -n full_path_to_tex_file.tex > output_text_file.txt
 39
Author: Mayank Agarwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-10 02:12:44

Możesz wypróbować niektóre z proponowanych programów tutaj:

TeX do ASCII

 14
Author: Diego Sevilla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-23 16:44:07

Inną opcją jest użycie htlatex do stworzenia strony internetowej ze źródeł LaTeX, a następnie użycie linków do konwersji na zwykły tekst. Użyłem wiersza poleceń

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

W przeszłości, która dała dość ładny wynik. Będzie to oczywiście raczej pasowało do widoku renderowanego HTML niż oryginalnego pliku PDF, więc może nie dokładnie to, czego chcesz.

 8
Author: bluebrother,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-09 23:44:47

Możesz również wypróbować Pandoc , potrafi on przekształcić latex do wielu innych formatów. Sugeruję przeczytanie jego dokumentacji, ponieważ mogą być pewne trudne przypadki, które trzeba przekazać kilka argumentów do obsługi.

 8
Author: LittleSweet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-28 08:31:59

Jeśli używasz pdflatex, prawdopodobnie nie chcesz zadzierać z opcjami pakietu, aby przełączyć się na latex, aby wygenerować DVI.

Zamiast tego weź plik pdf i przekonwertuj go. To działało dla mojego CV / CV wykonane z pakietu Curve:

pdftotext  -layout MyResume.pdf

Zwróć uwagę na flagę -layout.

 5
Author: ahcox,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-09 13:41:48

Moją zwykłą strategią jest użycie hyperlatex , aby przekształcić go w stronę internetową, a następnie poradzić sobie i wkleić z przeglądarki internetowej. Uważam, że daje to najlepsze formatowanie.

Zazwyczaj wtedy muszę przejść i ręcznie naprawić jakieś zawijanie linii...

 3
Author: Brian Postow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-09 21:55:20

Wypróbuj kroki tutaj: http://zanedp.livejournal.com/201222.html

Oto sekwencja, która konwertuje mój plik LaTeX na zwykły tekst:

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

Opcja-e 1 dla catdvi mówi do wyjścia ASCII. Jeśli użyjesz 0 zamiast 1, wyświetli Unicode. Unicode będzie zawierał wszystkie znaki specjalne, takie jak punktory, emdashes i greckie litery. Zawiera również ligatury dla niektórych kombinacji liter, takich jak " fi " i " fl."Może Ci się to nie spodobać. Więc zamiast tego użyj-e 1. Użyj-U opcja, aby powiedzieć mu, aby wydrukować wartość unicode dla nieznanych znaków, dzięki czemu można łatwo znaleźć i zastąpić je.

Druga część polecenia znajduje łańcuch [U+2022], który jest używany do oznaczania znaków punktorów (•) i zastępuje je gwiazdką (*).

Trzecia część pochłania wszystkie dodatkowe spacje dodane przez catdvi, aby tekst był w pełni uzasadniony, zachowując spacje na początku linii (wcięcia).

Po uruchomieniu tych poleceń, będziesz mądrze szukać .plik txt Dla ciągu znaków [U+, aby upewnić się, że nie pozostawiono znaków Unicode, których nie można zmapować do ASCII, i naprawić je.

 3
Author: user255191,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-20 19:24:33

Kiedy potrzebowałem uzyskać zwykły tekst z mojego pliku TEX do indeksowania i wyszukiwania, uznałem, że LaTeX2RTF jest dobrym rozwiązaniem-ma instalator i GUI Dla windows, i wyprodukował plik RTF z mojej 50-stronicowej pracy magisterskiej, którą mógłbym otworzyć w programie Word.

 3
Author: tsvikas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-12 16:08:34

Rozwiązanie, które działa najlepiej dla mnie jest następujące. Zakładając, że posiadasz nazwę dokumentu latex (bez rozszerzenia) przechowywaną w ${BASENAME}, wykonujesz następujące 3 kroki:

htlatex ${BASENAME}.tex

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

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

Najwyraźniej musisz mieć zainstalowane tex4ht i python-html2text.

 3
Author: Jannis Weide,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-29 17:14:58

Próbowałem LyX i działa całkiem nieźle. Jedynym niuansem jest to, że jeśli Masz plik TeX, który zawiera inne pliki TeX, będziesz musiał wyeksportować je wszystkie osobno, chyba że czegoś mi brakuje.

 2
Author: literal jdm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-11 02:28:28

Pandoc pozwala na konwersję plików z jednego formatu na inny Użyj następującego polecenia pandoc:

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

Jeśli chcesz, aby Twoje Linie łamały się w określonej kolumnie, użyj znacznika --column. Użyj --columns 10000 dla linii niełamliwych.

Możesz przekonwertować -o foobar.txt na wiele innych formatów , takich jak markdown (. MD) itp. Jeśli nie podasz -o foobar.txt, pandoc wydrukuje kod html, który możesz renderować w dowolnym narzędziu online.

Aby zainstalować pandoc follow Ten oficjalny dokumentacja

 1
Author: Shubham Chaudhary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-31 06:22:34

Możesz zaimportować do lyx i użyć funkcji Eksportuj do tekstu lyx.

Trochę głupie, jeśli nie używasz lyx, ale jeśli już go masz, bardzo szybkie i łatwe rozwiązanie. Dobry wynik dla mnie, chociaż szczerze mówiąc moje pliki są dość proste. Nie wiem, jak bardziej rozbudowane pliki są konwertowane.

 0
Author: DDD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-01 19:09:25

Emacs posiada komendy iso-iso2tex i iso-tex2iso, które działają bardzo dobrze, z tym, że nie konwertuje pojedynczych komend, takich jak \OE na Œ.

 0
Author: Geremia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-10 17:28:30