Chcę przekonwertować plik .tex na plik .odt.
Czy możesz zasugerować dobre rozwiązanie krok po kroku?
Chcę przekonwertować plik .tex na plik .odt.
Czy możesz zasugerować dobre rozwiązanie krok po kroku?
Odpowiedzi:
Wierzcie lub nie, ale ze złożonymi dokumentami i dużą ilością pakietów, uzyskałem znacznie lepsze wyniki z LaTeX2HTML niż z LaTeX2RTF, Pandoc lub TeX4ht.
latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode
Spowoduje to wygenerowanie folderu o tej samej texfile
nazwie, dzięki czemu będziesz mógł przekonwertować wygenerowany kod HTML na format ODT:
libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
Spowoduje to utworzenie index.odt
pliku. Spójrz na tę odpowiedź, aby sprawdzić, jak korzystać z filtrów konwersji LibreOffice.
Edytuj z dyskusji na komentarzach:
Chociaż powyższa metoda działa, to jest bardzo rozczarowujące, że jedynym sposobem, w jaki udało mi się wygenerować prawdziwie niezawodny dokument, jest użycie pliku wyjściowego PDF z LaTeX na Adobe Acrobat Pro.
W repozytoriach znajduje się narzędzie, które zmienia LaTeX na format XML openoffice.org: tex4ht
TeX4ht to wysoce konfigurowalny system tworzenia treści oparty na TeXie do tworzenia hipertekstu. Współdziała z aplikacjami opartymi na TeXie poprzez pliki stylów i postprocesory, pozostawiając przetwarzanie plików źródłowych natywnemu kompilatorowi TeX. W konsekwencji TeX4ht może obsługiwać funkcje systemów opartych na TeX w ogóle, a zwłaszcza LaTeX.
TeX4ht może być używany zarówno do tworzenia HTML przy użyciu plików wejściowych TeX / LaTeX, jak i do konwertowania istniejących plików wejściowych TeX (w dowolnym formacie) na HTML, z (zwykle) jedynie niewielkimi modyfikacjami. Można również tworzyć inne odmiany hipertekstu, w tym XML, XHTML, MathML i format XML Openoffice.org.
Wiersz poleceń...
latex filename.tex
bibtex filename.aux
mk4ht oolatex filename.tex
Powinien skończyć się plikiem kompatybilnym z openoffice.org/libreoffice.
Innym rozwiązaniem jest pakiet pandoc
Jako przykład możesz wykonać:
pandoc -f latex -t odt -o output.odt input.tex
Jeśli plik wejściowy jest latin1
zakodowany, podobnie jak moje pliki tex, rozwiązaniem jest:
iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt
Zgłaszam część opisu pakietu:
Pandoc to biblioteka Haskell do konwersji z jednego formatu znaczników na inny oraz narzędzie wiersza poleceń, które korzysta z tej biblioteki. Potrafi czytać
- obniżka i
- podzbiory z
- reStructuredText,
- HTML i
- Lateks
i umie pisać
- zwykły tekst,
- obniżka cen,
- reStructuredText,
- HTML, -LaTeX, -ConTeXt,
- RTF,
- DocBook XML,
- OpenDocument XML,
- ODT ,
- GNU Texinfo,
- Znaczniki MediaWiki,
- EPUB,
- Włókienniczy,
- strony man groffa,
- Emacs Org-mode i
- Slidy lub
- Pokazy slajdów S5 HTML.
Można to zrobić w 2 krokach. Wejdź na http://latex2rtf.sourceforge.net/ i użyj dostarczonych narzędzi do konwersji najpierw z Latex na RTF, a następnie z RTF na ODT.
Mam nadzieję, że to pomoże.
Jeśli masz zainstalowany pakiet tex4ht , polecenie oolatex filename
konwertuje .tex na .odt (więcej na temat tex4ht, patrz tutaj ).
Innym sposobem byłby pakiet latex2rtf , wykorzystujący RTF jako format pośredni.