Je souhaite convertir un fichier .tex en un fichier .odt.
Pouvez-vous nous suggérer une bonne solution étape par étape ?
Réponses
Trop de publicités?Il existe un outil dans les dépôts qui modifie LaTeX au format XML d'openoffice.org : tex4ht
TeX4ht est un système de création hautement configurable basé sur TeX pour la production d'hypertextes. Il interagit avec les applications basées sur TeX par le biais de fichiers de style et de post-processeurs, laissant le traitement des fichiers sources au compilateur TeX natif. Par conséquent, TeX4ht peut gérer les caractéristiques 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 à partir de fichiers TeX/LaTeX, ou pour convertir des fichiers TeX existants (dans n'importe quel format) en HTML, avec (généralement) seulement quelques modifications mineures. D'autres variétés d'hypertexte peuvent également être produites, notamment XML, XHTML, MathML et le format XML d'Openoffice.org.
Ligne de commande...
latex filename.tex
bibtex filename.aux
mk4ht oolatex filename.tex
Vous devriez obtenir un fichier compatible avec openoffice.org/libreoffice.
Croyez-le ou non, avec des documents complexes et de nombreux paquets 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
Cette opération génère un dossier portant le même nom texfile
afin de pouvoir convertir le HTML généré en ODT :
libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
Cela produira un index.odt
fichier. Jetez un coup d'œil à cette réponse pour savoir comment utiliser les filtres de conversion de LibreOffice.
Modification suite à la discussion sur les commentaires :
Bien que la méthode ci-dessus fonctionne, il est très décevant de constater que le seul moyen que j'ai trouvé pour générer un document vraiment fiable est d'utiliser la sortie PDF de LaTeX sur Adobe Acrobat Pro.
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 latin1
encodés, 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 qui permet de convertir un format de balisage en un autre format de balisage. et un outil en ligne de commande qui utilise cette bibliothèque. Il peut lire
- markdown et
- s
- reStructuredText,
- HTML, et
- LaTeX
et il peut écrire
- texte en clair,
- démarque,
- reStructuredText,
- H -LaTeX, -ConTeXt,
- RTF,
- DocBook XML,
- OpenDocument XML,
- ODT ,
- GNU Texinfo,
- balisage MediaWiki,
- EPUB,
- Textile,
- pages de manuel groff,
- Emacs Org-mode, et
- Slidy ou
- Diaporamas S5 HTML.
Il est possible de le faire en deux étapes. Rendez-vous sur le site http://latex2rtf.sourceforge.net/ et utiliser les outils fournis pour convertir Latex en RTF, puis RTF en ODT.
J'espère que cela vous aidera.