Je souhaite convertir un fichier .tex en un fichier .odt.
Pouvez-vous suggérer une bonne solution étape par étape?
Je souhaite convertir un fichier .tex en un fichier .odt.
Pouvez-vous suggérer une bonne solution étape par étape?
Réponses:
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 du même texfile
nom, vous pourrez donc convertir le code 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.
Modifier 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 d'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 à l'aide de fichiers d'entrée TeX / LaTeX ou pour convertir des fichiers d'entrée TeX existants (dans n'importe quel format) en HTML, avec (en général) 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 latin1
codé, comme mes fichiers tex, la solution est:
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 pour la conversion d'un format de balisage en un autre, ainsi qu'un outil de ligne de commande qui utilise cette bibliothèque. Il peut lire
- démarque et
- des 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. Rendez-vous sur http://latex2rtf.sourceforge.net/ et utilisez les outils fournis pour convertir tout d'abord Latex en RTF, puis de RTF en ODT.
J'espère que ça aide.
Si le paquet tex4ht est installé, la commande oolatex filename
convertit le fichier .tex en fichier .odt (pour plus d'informations sur tex4ht, voir ici ).
Une autre solution serait le package latex2rtf , utilisant RTF comme format intermédiaire.