web-dev-qa-db-fra.com

Comment convertir un fichier .tex en fichier .odt?

Je souhaite convertir un fichier .tex en un fichier .odt.
Pouvez-vous suggérer une bonne solution étape par étape?

43
Tal Galili

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.

20
vmassuchetto

Il existe un outil dans les référentiels qui modifie LaTeX en format XML openoffice.org: tex4htInstall 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...

  1. latex filename.tex
  2. bibtex filename.aux
  3. mk4ht oolatex filename.tex

Devrait se retrouver avec un fichier compatible openoffice.org/libreoffice.

25
Rinzwind

Une autre solution est fournie par le paquet pandocInstall 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.
18
enzotib

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.

8
Cormite

Si vous avez le tex4htInstall tex4ht package installé, la commande oolatex filename convertit le fichier .tex en fichier .odt (pour plus d'informations sur tex4ht, voir ici ).

Une autre façon serait le latex2rtfInstall latex2rtf , en utilisant RTF comme format intermédiaire.

6
tohuwawohu