Vorrei convertire un file .tex in un file .odt.
Puoi suggerire una buona soluzione passo-passo?
Vorrei convertire un file .tex in un file .odt.
Puoi suggerire una buona soluzione passo-passo?
Risposte:
Che ci crediate o no, con documenti complessi e molti pacchetti inclusi, ho ottenuto risultati molto migliori con LaTeX2HTML che con LaTeX2RTF, Pandoc o TeX4ht.
latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode
Questo genererà una cartella con lo stesso texfile
nome, quindi sarai in grado di convertire l'HTML generato in ODT:
libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
Questo produrrà un index.odt
file. Dai un'occhiata a questa risposta per verificare come utilizzare i filtri di conversione di LibreOffice.
Modifica dalla discussione di commento:
Sebbene il metodo sopra descritto funzioni, è molto deludente che l'unico modo in cui ho scoperto di generare un documento veramente affidabile sia utilizzare l'output PDF di LaTeX su Adobe Acrobat Pro.
C'è uno strumento nei repository che cambia LaTeX nel formato XML di openoffice.org: tex4ht
TeX4ht è un sistema di authoring basato su TeX altamente configurabile per la produzione di ipertesti. Interagisce con le applicazioni basate su TeX tramite file di stile e postprocessor, lasciando l'elaborazione dei file di origine al compilatore TeX nativo. Di conseguenza, TeX4ht è in grado di gestire le funzionalità dei sistemi basati su TeX in generale e di LaTeX in particolare.
TeX4ht può essere utilizzato sia per la creazione di HTML mediante file di input TeX / LaTeX, sia per la conversione di file di input TeX esistenti (in qualsiasi formato) in HTML, con (di solito) solo modifiche minori. Altre varietà di ipertesto possono anche essere prodotte, tra cui XML, XHTML, MathML e il formato XML di Openoffice.org.
Riga di comando...
latex filename.tex
bibtex filename.aux
mk4ht oolatex filename.tex
Dovrebbe finire con un file compatibile con openoffice.org/libreoffice.
Un'altra soluzione è fornita dal pacchetto pandoc
Ad esempio, puoi fare:
pandoc -f latex -t odt -o output.odt input.tex
Se il file di input è latin1
codificato, come i miei file tex, la soluzione è:
iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt
Riporto parte della descrizione del pacchetto:
Pandoc è una libreria Haskell per la conversione da un formato di markup a un altro e uno strumento da riga di comando che utilizza questa libreria. Sa leggere
- markdown e
- sottoinsiemi di
- reStructuredText,
- HTML e
- LaTeX
e sa scrivere
- testo semplice,
- markdown,
- reStructuredText,
- HTML, -LaTeX, -ConTeXt,
- RTF,
- DocBook XML,
- OpenDocument XML,
- ODT ,
- GNU Texinfo,
- Markup MediaWiki,
- EPUB,
- Tessile,
- pagine man di groff,
- Emacs Org-mode e
- Slidy o
- Presentazioni HTML S5.
Può essere fatto in 2 passaggi. Vai su http://latex2rtf.sourceforge.net/ e usa gli strumenti forniti per convertire prima da Latex a RTF e poi da RTF a ODT.
Spero che sia d'aiuto.
Se hai installato il pacchetto tex4ht , il comando oolatex filename
converte .tex in .odt (per ulteriori informazioni su tex4ht, vedi qui ).
Un altro modo sarebbe il pacchetto latex2rtf , usando RTF come formato intermedio.