Domanda Come convertire .tex in .odt?


Vorrei convertire un file .tex in un file .odt.
Puoi suggerire una buona soluzione passo-passo?


41
2017-11-25 16:02


origine


@ Naruto: Presumo che sia un documento LaTeX. - Nathan Osman
Nota che per tutte le risposte di seguito: la tua percentuale di successo dipenderà dai pacchetti in lattice usati, e la matematica non sarà mai composta così bene come nel lattice. - David LeBauer


risposte:


Che ci crediate o no, con documenti complessi e molti pacchetti inclusi, ho ottenuto risultati molto migliori con LaTeX2HTML rispetto a 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à a index.odt file. Dare un'occhiata a questa risposta per verificare come utilizzare i filtri di conversione di LibreOffice.

Modifica dalla discussione dei commenti:

Anche se il metodo sopra funziona, è molto deludente il fatto che l'unico modo in cui ho trovato di generare un documento veramente affidabile sia l'utilizzo dell'output PDF da LaTeX su Adobe Acrobat Pro.


20
2018-01-10 01:04



Per documenti complessi con molti pacchetti, file e comandi aggiuntivi, LaTeX2HTML ha esito negativo. Sto cercando di convertire la mia tesi in HTML e poi in ODT per darla a qualcuno per commenti e correzioni, chi non ha familiarità con LaTeX. Anche senza comandi personalizzati questo strumento fallisce. Il pacchetto Tikz per qualche ragione è uno dei principali colpevoli. - rbaleksandar
Non esiste una soluzione ideale @rbaleksandar, in particolare a seconda dei pacchetti che stai utilizzando. Suggerirei Pandoc per te. Non manterrà tutti i formati, ma è in grado di ignorare alcune strutture e creare almeno un documento finale. - vmassuchetto
Non funziona con le interruzioni di pagina. - Hi-Angel
I documenti non sono mai perfetti con le soluzioni presentate in questa domanda. È molto deludente che l'unico modo per trovare un documento perfetto sia l'utilizzo dell'output PDF da LaTeX con Adobe Acrobat Pro. - vmassuchetto
Questo comando mi ha dato un codice HTML senza senso e un ODT senza senso. Pandoc era molto meglio. - jdpipe


C'è uno strumento nei repository che cambia LaTeX nel formato XML di openoffice.org: tex4ht  Install tex4ht

TeX4ht è un sistema di authoring basato su TeX altamente configurabile per la produzione di ipertesto. Interagisce con le applicazioni basate su TeX tramite file di stile e postprocessori, lasciando l'elaborazione dei file di origine al compilatore nativo di TeX. 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 l'authoring di HTML utilizzando file di input TeX / LaTeX, sia per la conversione di file di input TeX esistenti (in qualsiasi formato) in HTML, con (di solito) solo piccole modifiche. Possono anche essere prodotte altre varietà di ipertesto, tra cui XML, XHTML, MathML e il formato OpenOffice.org di XML.

Riga di comando...

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

Dovrebbe finire con un file compatibile con openoffice.org/libreoffice.


25
2017-11-25 16:52



Grazie. A proposito, sembra che il principale manutentore del pacchetto sia purtroppo morto due anni fa. - Tal Galili
accidenti è un peccato :( - Rinzwind
Sono d'accordo - Vorrei che una comunità più attiva si sarebbe impegnata a continuare questo lavoro ... - Tal Galili
+1 per l'esempio della riga di comando. Non ho avuto il tempo di leggere la documentazione, ma l'esempio sopra è abbastanza facile da seguire. - antmw1361
Non funziona con le interruzioni di pagina. - Hi-Angel


Un'altra soluzione è fornita dal pacchetto Pandoc  Install 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 marcatura a   un altro e uno strumento da riga di comando che utilizza questa libreria. Può leggere

  • markdown e
  • sottoinsiemi di      
    • reStructuredText,
    • HTML e
    • LaTeX

e può scrivere

  • testo semplice,
  • markdown,
  • reStructuredText,
  • HTML,   -LaTeX,   -Contesto,
  • RTF,
  • DocBook XML,
  • OpenDocument XML,
  • ODT,
  • GNU Texinfo,
  • Markup MediaWiki,
  • EPUB,
  • Tessile,
  • pagine di groff man,
  • Emacs Org-mode, e
  • Slidy o
  • Presentazioni di slide S5 HTML.

18
2017-11-25 18:01



Almeno la versione 1.14.0.4 non funziona con pagebreaks. - Hi-Angel
Questo ha funzionato molto bene per me ... Ho ottenuto figure, titoli ma nessuna bibliografia e equazioni / simboli variamente mescolati. Ma almeno ho ricevuto rapidamente del testo che avrei potuto iniziare a pulire manualmente. - jdpipe


Può essere fatto in 2 passaggi. Vai a http://latex2rtf.sourceforge.net/ e utilizzare gli strumenti forniti per convertire prima da Latex in RTF e poi da RTF in ODT.

Spero che sia d'aiuto.


8
2017-11-25 16:52



Non funziona affatto Con l'esempio minimo era sospeso per un minuto con il 100% di utilizzo della CPU. Non penso che finirebbe mai il lavoro, quindi l'ho interrotto. - Hi-Angel
Va bene, sono riuscito a farlo funzionare - forse non funziona bene con le macro - e ho scoperto che non funziona anche per es. lavorare con un sommario. Quindi no, non un'opzione. - Hi-Angel


Se hai il tex4ht  Install tex4ht pacchetto installato, il comando oolatex filename converte il file .tex in .odt (per ulteriori informazioni su tex4ht, vedere Qui).

Un altro modo sarebbe il latex2rtf  Install latex2rtf pacchetto, utilizzando RTF come formato intermedio.


6
2017-11-25 16:55



oh - scusa, non ho visto le altre risposte ... - tohuwawohu
Non è un problema dato che hai aggiunto un link a latex2rtf e che non era in nessuna delle altre 2 risposte;) - Rinzwind


Spiacente potrebbe essere in ritardo per questo e sono nuovo a askubuntu.

Abiword sembra aprire documenti in lattice. Uso Gnumeric per generare le mie tabelle in lattice.

Spero che sia d'aiuto.


-1
2017-12-02 22:21



Abiword apre il lattice come un normale file di testo. Cioè se scelgo «salva come .doc», salva tutto come un semplice testo: commenti, macro, ecc. - Hi-Angel