Я хочу преобразовать файл .tex в файл .odt.
Можете ли вы предложить хорошее пошаговое решение?
Я хочу преобразовать файл .tex в файл .odt.
Можете ли вы предложить хорошее пошаговое решение?
Ответы:
Верьте или нет, со сложными документами и множеством пакетов, я получил гораздо лучшие результаты с LaTeX2HTML, чем с LaTeX2RTF, Pandoc или TeX4ht.
latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode
Это создаст папку с тем же texfile
именем, так что вы сможете конвертировать сгенерированный HTML в ODT:
libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
Это создаст index.odt
файл. Посмотрите на этот ответ, чтобы проверить, как использовать фильтры преобразования LibreOffice.
Редактировать из комментария обсуждение:
Несмотря на то, что описанный выше метод работает, очень разочаровывает, что я нашел единственный способ создать действительно надежный документ - это использовать вывод PDF из LaTeX в Adobe Acrobat Pro.
В репозиториях есть инструмент, который изменяет LaTeX на XML-формат openoffice.org: tex4ht
TeX4ht - это настраиваемая система авторинга на основе TeX для создания гипертекста. Он взаимодействует с приложениями на основе TeX через файлы стилей и постпроцессоры, оставляя обработку исходных файлов собственному компилятору TeX. Следовательно, TeX4ht может работать с функциями систем на основе TeX в целом и LaTeX в частности.
TeX4ht может использоваться как для создания HTML-кода с использованием входных файлов TeX / LaTeX, так и для преобразования существующих входных файлов TeX (в любом формате) в HTML с (как правило) только незначительными изменениями. Также могут быть созданы другие разновидности гипертекста, включая XML, XHTML, MathML и формат XML Openoffice.org.
Командная строка...
latex filename.tex
bibtex filename.aux
mk4ht oolatex filename.tex
Должен закончиться файлом, совместимым с openoffice.org/libreoffice.
Другое решение предоставляется из пакета pandoc
В качестве примера вы можете сделать:
pandoc -f latex -t odt -o output.odt input.tex
Если входной файл latin1
закодирован, как мои текстовые файлы, решение:
iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt
Я сообщаю часть описания пакета:
Pandoc - это библиотека Haskell для преобразования из одного формата разметки в другой и инструмент командной строки, который использует эту библиотеку. Может читать
- уценка и
- подмножества
- ReStructuredText,
- HTML и
- Латекс
и это можно написать
- простой текст,
- уценки,
- ReStructuredText,
- HTML, -LaTeX, -ConTeXt,
- RTF,
- DocBook XML,
- OpenDocument XML,
- ODT ,
- GNU Texinfo,
- Разметка MediaWiki,
- EPUB,
- Текстиль,
- groff man-страницы,
- Emacs Org-mode и
- Слайди или
- S5 HTML слайд-шоу.
Это можно сделать в 2 этапа. Перейдите на http://latex2rtf.sourceforge.net/ и используйте предоставленные инструменты для преобразования сначала из латекса в RTF, а затем из RTF в ODT.
Надеюсь, это поможет.
Если у вас установлен пакет tex4ht , команда oolatex filename
преобразует .tex в .odt (подробнее о tex4ht см. Здесь ).
Другим способом был бы пакет latex2rtf , использующий RTF в качестве промежуточного формата.