TeX e LaTeX. Il mondo esterno

Questo titolo criptico significa semplicemente che in questa pagina mi occuperò di parlare di LaTeX in relazione ad altri programmi con cui può essere integrato o con cui si deve in generale interagire.

L'esportazione per i programmi di videoscrittura

LaTeX può produrre documenti in formato dvi, ps e pdf. Formati tipici per distribuire un documento ma non per modificarlo. Ovviamente non ha senso usare dei software diversi quando si è in gruppo. Però può comunque capitare per qualche strana ragione di dover convertire un documento LaTeX in un documento doc, docx o odt.

L'esportazione nei formati doc e docx può essere fatta direttamente con LaTeX2rtf o con TeX2Word che però è shareware. Per ovvie ragioni i risultati sono abbastanza scarsi.

L'esportazione nel formato odt invece è possibile tramite TeX4ht. Utilizzando il comando oolatex (da non confondersi con un programma omonimo che serve per scrivere con la sintassi di LaTeX dentro OpenOffice/LibreOffice), si ha la possibilità di esportare direttamente in un formato xml compatibile con il formato odt.

L'esportazione per il web

Contrariamente all'esportazione nei formati doc, docx e odt, un'esportazione molto comune è invece quella verso formati adatti per il web. Per esempio è ovvia l'utilità di poter produrre, a partire dal proprio codice LaTeX, non solo un pdf, ma anche una pagina HTML così da rendere fruibile i contenuti direttamente via web.

Tra gli strumenti a disposizione per fare questa conversione segnalo il già citato TeX4ht. Da notare che le formule matematiche possono essere trasformate in immagini oppure in codice MathML. Ricordiamo che TeX4ht si installa dal package manager della vostra distribuzione TeX perché in pratica, al contrario di altri tool, è un vero e proprio "compilatore", come tex o pdftex, che però in output, invece del pdf, produce una o più pagine HTML. Ecco infatti un esempio d'uso (da riga di comando):

htlatex file.tex

Esiste anche un front-end grafico per TeX4ht chiamato TeXconverter

Infine segnalo, sempre per fare la conversione da LaTeX a HTML, un altro progetto (forse anche meglio di TeX4ht): plasTeX.

L'importazione

Il processo inverso, cioè la trasformazione di codice HTML o documenti doc, docx o odt in LaTeX è quanto mai proibitiva. L'unica soluzione è quella di procedere per copia e incolla per quanto riguarda il testo normale mentre il resto va fatto tutto a mano.

Uno spiraglio di luce, ce lo dà OpenOffice/LibreOffice che permette di esportare in LaTeX. I risultati sono piuttosto scarsi però bisogna accontentarsi. È interessante notare che usando OpenOffice/LibreOffice si possono aprire documenti doc, docx, odt e HTML, quindi in teoria l'esportazione può essere fatta, più o meno, su tutti questi tipi di file.

Un'altra possibilità è data dal programma di conversione Writer2LaTeX".

Integrare LaTeX in altre applicazioni

Una necessità tipica, sentita da chi ha apprezzato i vantaggi di LaTeX, è quella di poter usare LaTeX direttamente dentro altri programmi. Immaginate che bello se invece di aprire il maledetto Equation Editor di Word fosse possibile scrivere le formule in codice LaTeX, soprattutto per le formule in linea. Oppure poter scrivere delle formule direttamente nella nostra pagina web usando LaTeX.

L'integrazione più semplice riguarda la possibilità di usare codice LaTeX per scrivere matematica e generare un'immagine (nei formati più svariati) da inserire poi in un documento doc, docx, odt o HTML. Tra i programmi utili a questo scopo ricordiamo Laeqed e LaTeXeqedit. Il primo è più aggiornato e forse migliore del secondo. Ovviamente questi due strumenti hanno bisogno di una distribuzione TeX per funzionare.

Per quanto riguarda invece un'integrazione più stretta tra LaTeX e altri programmi c'è ancora molto da fare.

Per Word od OpenOffice/LibreOffice non sono a conoscenza di alcuna integrazione. L'unica vera e importantissima integrazione riguarda il sistema bibliografico. È infatti possibile usare database BibTeX per generare la bibliografia in Word od OpenOffice/LibreOffice. Per Word esiste BibTeX4Word mentre per OpenOffice/LibreOffice esiste un plugin specifico di JabRef.

Per quanto riguarda le pagine Web so che è possibile inserire codice LaTeX, specialmente per scrivere matematica, all'interno di pagine HTML. Questo codice, prima di essere servito come pagina HTML ai client, viene processato sul server web che trasforma il codice LaTeX in immagini. Un esempio tipico lo potete vedere in Wikipedia. Non conosco però le infrastrutture e i programmi necessari per fare tutto questo.

Per Microsoft PowerPoint esiste l'ottimo TeX4PPT e il buon TexPoint che sono dei plug-in di PowerPoint che permettono di creare direttamente all'interno di PowerPoint degli oggetti a partire da codice LaTeX. Consiglio anche la consultazione di questo sito: LaTeX in PowerPoint = TeX4PPT + enhancements.

Un piccolo appunto. Usare LaTeX è bello e spesso molto utile ma ricordatevi che quando poi darete la presentazione in giro, gli oggetti generati con LaTeX saranno immodificabili. Senza contare il fatto che ad una conferenza potreste aver bisogno di ritoccare qualcosa nella vostra presentazione, e se quel qualcosa si trova in un oggetto scritto con LaTeX allora siete nei guai, a meno che troviate già installato TeX4PPT e una distribuzione TeX, ma la cosa è poco probabile! Poi c'è il problema dei font! Gli oggetti generati con TeX4PPT non verranno visualizzati correttamente su un pc che non abbia i font utilizzati da LaTeX (e LaTeX, di default, non usa font tipici di Windows come Arial, Times New Roman, ecc...). Per rimediare a questa cosa è sufficiente che quando salvate il documento andiate su Tools/Options/Save e scegliate "embed fonts". Ricordatevi che questo deve essere fatto ogni volta per ogni documento nuovo. Non è una impostazione che si può mettere globale. Se non volete includere i font potete semplicemente trasformare la vostra presentazione in un file .pdf con una stampante pdf.

Esistono poi tutta una serie di programmi, principalmente di grafica vettoriale, che permettono di usare direttamente codice LaTeX per generare matematica e non solo! Tra questi Inkscape, ...