Je souhaite convertir un fichier .tex en un fichier .odt.
Pouvez-vous suggérer une bonne solution étape par étape?
Croyez-le ou non, avec des documents complexes et de nombreux packages inclus, j'ai obtenu de bien meilleurs résultats avec LaTeX2HTML qu'avec LaTeX2RTF, Pandoc ou TeX4ht.
latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode
Cela générera un dossier avec le même nom texfile
, de sorte que vous pourrez convertir le code HTML généré en ODT:
libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
Cela produira un fichier index.odt
. Regardez cette réponse pour vérifier comment utiliser les filtres de conversion de LibreOffice.
Modification de la discussion de commentaire:
Bien que la méthode ci-dessus fonctionne, il est très décevant que la seule façon pour moi de générer un document réellement fiable consiste à utiliser la sortie PDF de LaTeX sur Adobe Acrobat Pro.
Il existe un outil dans les référentiels qui modifie LaTeX en format XML openoffice.org: tex4ht
TeX4ht est un système de création basé sur TeX hautement configurable pour la production d'hypertexte. Il interagit avec les applications basées sur TeX via des fichiers de style et des post-processeurs, laissant le traitement des fichiers source au compilateur TeX natif. Par conséquent, TeX4ht peut gérer les fonctionnalités des systèmes basés sur TeX en général, et de LaTeX en particulier.
TeX4ht peut être utilisé à la fois pour créer du HTML en utilisant des fichiers d’entrée TeX/LaTeX, ou pour convertir des fichiers d’entrée TeX existants (dans n’importe quel format) en HTML, avec (généralement) des modifications mineures. D'autres variétés d'hypertexte peuvent également être produites, notamment XML, XHTML, MathML et le format XML Openoffice.org.
Ligne de commande...
latex filename.tex
bibtex filename.aux
mk4ht oolatex filename.tex
Devrait se retrouver avec un fichier compatible openoffice.org/libreoffice.
Une autre solution est fournie par le paquet pandoc
A titre d'exemple, vous pouvez faire:
pandoc -f latex -t odt -o output.odt input.tex
Si le fichier d'entrée est codé latin1
, comme mes fichiers tex, la solution est la suivante:
iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt
Je rapporte une partie de la description du paquet:
Pandoc est une bibliothèque Haskell permettant de convertir un format de balisage en un autre, ainsi qu’un outil de ligne de commande utilisant cette bibliothèque. Il peut lire
- démarque et
- sous-ensembles de
- reStructuredText,
- HTML et
- LaTeX
et il peut écrire
- texte brut,
- réduction,
- reStructuredText,
- HTML, -LaTeX, -ConTeXt,
- RTF,
- DocBook XML,
- OpenDocument XML,
- ODT,
- GNU Texinfo,
- Balise MediaWiki,
- EPUB,
- Textile,
- pages de manuel groff,
- Emacs Org-mode, et
- Glissant ou
- Diaporamas HTML S5.
Cela peut être fait en 2 étapes. Allez à http://latex2rtf.sourceforge.net/ et utilisez les outils fournis pour convertir d'abord Latex en RTF, puis en RTF en ODT.
J'espère que ça aide.