Supporto volontario e collaborativo per Joomla!® in italiano

Alcune soluzioni per scrivere in LaTex con le diverse versioni di Joomla

Informazioni utili

In alcuni siti è necessario inserire particolari formule o usare simboli. Per fare questo spesso si decide di utilizzare il LaTeX. Il TeX non è propriamente un programma per scrivere testi, ma per comporli tipograficamente. Un comune editor cerca di offrire una soluzione di scrittura per tutte le esigenze (dal creare un libro oppure una raccolta di testi al realizzare un bigliettino di auguri), mentre il TeX si concentra nella composizione di testi scientifici o comunque fortemente strutturati, come possono essere articoli o relazioni.

Mentre il TeX è un linguaggio di programmazione, il LaTeX è un programma che utilizza questo linguaggio e che fornisce un sistema di creazione e preparazione dei documenti per la stampa, in modo da separare il più possibile la resa tipografica dall'organizzazione della scrittura.

Purtroppo essendo un linguaggio o un programma di tipocomposizione utilizzato per lo più in ambiti scientifici non è inserito nei classici editor di testo e questo porta delle difficoltà per tutti quelli che devono scrivere delle formule scientifiche sul proprio sito.

Per integrare LaTeX in un sito con Joomla non sono stati ancora sviluppati molti componenti veramente completi, in particolare per Joomla 1.7, quindi è necessario fare uso di idee alternative. In questo articolo vedremo una serie di soluzioni che fanno uso sia di estensioni native per Joomla 1.5 sia di script da inserire nel sito e quindi funzionanti su diverse versioni del CMS.

 

Una prima soluzione per Joomla 1.5: Joomlatex

Joomlatex è un plugin per Joomla! 1.5 ed è disponibile su questa pagina. Una volta scaricato possiamo entrare nel pannello di gestione del nostro sito, andare su Estensioni-->Installa/Disinstalla-->cliccare su Scegli file, caricare il file scaricato e poi cliccare sul bottone Carica file & Installa. Se l’installazione avrà successo avremo un messaggio di questo tipo: “Displays TeX math formulas using the codecogs.com server. Allows for a {tex} tag for use in content markup; e.g. {tex}c^2=a^2+b^2{/tex}”. Dobbiamo però attivare il plugin e questo lo facciamo andando su Estensioni-->Gestione plugin e clicchiamo sulla croce rossa della colonna Attivato della voce "Content - JoomLaTex". Il plugin prende un'espressione matematica presente dentro un articolo incorporata tra i tag {tex} e {/tex}, la invia a un server con LaTeX per la formattazione e restituisce un'immagine gif della formula. Il vantaggio di questo plugin è dato dal fatto che non è necessario installare LaTeX. Esso si basa sull'editor WYSIWYG presente online al sito http://www.codecogs.com/latex/eqneditor.php, editor che verrà sfruttato in alcune soluzioni che verranno successivamente spiegate.

I parametri del plugin sono soltanto due:

  • LaTeX server: indirizzo del server che effettuerà la conversione in LaTeX. Per default abbiamo http://latex.codecogs.com/gif.latex;
  • Image path: percorso dove saranno salvate le immagini. Per default avremo una cartella joomlatex dentro images.
Bisogna stare attenti ai permessi che abbiamo per la cartella, altrimenti le immagini delle formule non possono essere salvate.

Una soluzione per tutte le versioni di Joomla!

In alternativa la soluzione più semplice e banale consiste nello scrivere una formula con un programma apposito e mettere un'immagine della formula nel punto del documento dove va posizionata. Programmi e siti che fanno questo lavoro ce ne sono diversi, uno dei migliori è Codecogs.com: dispone di un editor che permette, con uno stile molto userfriendly, di inserire le formule in LaTeX e scaricare l'immagine che ne viene derivata. Otteniamo un risultato come quello in figura.

Utilizzare programmi del genere ha, come vantaggio, il fatto che non è necessario installare nulla di nuovo nel nostro sito, ma ha alcuni svantaggi:

  • non è possibile modificare la dimensione dei caratteri e quindi in alcuni casi l’immagine rimane di dimensione diversa. Lo stesso discorso vale per il font;
  • se l’utente si vuole salvare la pagina sul proprio computer deve salvare anche la cartella delle immagini;
  • la modifica delle formule non è immediata: è necessario ricreare una nuova immagine e caricarla sul sito al posto della vecchia;
Vediamo allora alcune soluzioni alternative che superano questi limiti.

 

jsMath = Javascript + LaTeX

JsMath permette di visualizzare, nelle pagine web, le formule scritte con la sintassi del LaTeX, sfruttando il linguaggio javascript. Attraverso dei file javascript le formule vengono reindirizzate e incorporate nei documenti html. Un notevole vantaggio è dato dal fatto che consente gli ingrandimenti e le riduzioni delle dimensioni delle formule. Se vogliamo utilizzarlo, dobbiamo installare nel proprio server i file di jsMath, che funziona in due modi alternativi: sfruttando l'applicazione e andando a prendere i caratteri che risiedono sul proprio server oppure da un’altra parte. Nel primo caso una volta scaricate, si copiano le cartelle non compresse dei pacchetti di installazione, compresa l'applet in javascript (che ha il compito di visualizzare le formule) e i caratteri, in una cartella del proprio sito. Visto che i caratteri occupano diversi megabyte, alcune persone preferiscono caricare su una cartella del proprio sito l’applet mentre i caratteri su un altro. Supponiamo di volere inserire tutti i file nel nostro sito (questo porterà anche una maggiore velocità nel caricare le pagine). Dobbiamo scaricare i pacchetti jsMath e jsMath Image fonts dall'area download del progetto. Dopo averli scompattati supponiamo di caricarli nel nostro sito nella cartella Myfile. Adesso apriamo il file jsMath/easy/load.js e modifichiamo la voce root aggiungendo il percorso del file. Di conseguenza con la modifica avremo root=”http://www.miosito.it/Myfile/jsMath”. Caricare il file modificato al posto del vecchio. Ora dobbiamo inserire la cartella fonts (quella del pacchetto jsMath Image Fonts) dentro la cartella jsMath. Per vedere se tutto funziona bisogna andare all’indirizzo http://www.miosito.it/Myfile/jsMath/test e vedere delle formule e il messaggio "If you see typeset mathematics below, then jsMath is working. If you see TeX code instead, jsMath is not working for you" con sotto una formula correttamente inserita, come possiamo vedere dalla figura.

Ora però dobbiamo riuscire a utilizzarlo dentro le pagine di Joomla: per farlo dobbiamo andare su Estensioni-->Gestione template-->selezionare il template che stiamo utilizzando e cliccare su Modifica, cliccare su Mod.HTML e scrivere all’interno del tag head di apertura e di chiusura questa istruzione:

<script type="javascript/text" src="http://www.miosito.it/Myfile/jsMath/easy/load.js">
Fatto questo ora ogni volta che vogliamo inserire una formula o qualcosa in LaTeX basta scrivere il testo fra i marcatori span (per visualizzarlo in linea al testo) o div (per visualizzarlo a capo).

Uso dello script ASCIIMathML

ASCIIMathML è un linguaggio client-side per visualizzare le espressioni matematiche dentro i browser. Utilizza il linguaggio Javascript e converte la formula in MathML al momento che la pagina viene caricata. E' nativo in Mozilla Firefox, mentre per Internet Explorer 7/8 è necessario installare un plugin, come MathPlayer. Lo script ASCIIMathML è sotto licenza GNU Lesser General Public e l'ultima versione include anche il supporto per la grafica SVG (Scalable Vector Graphics). Lo troviamo a questa pagina.

Una volta scaricato, se proviamo ad aprirlo con un editor di testo qualsiasi possiamo notare (dopo la descrizione) che è possibile modificare dei parametri come il colore, il tipo e la grandezza del font da utilizzare. Per una prima prova consiglio di utilizzare i valori di default e di modificarli semmai in futuro. A questo punto dobbiamo caricare il file in una cartella del nostro sito. Supponiamo di caricarla dentro una cartella che chiamo MyFile. Entriamo dentro il back-end del nostro sito, scegliamo Estensioni-->Gestione template-->selezioniamo il template corrente e clicchiamo su modifica e poi Mod.HTML. Inserire tra i tag head di apertura e chiusura lo script scaricato. Questo lo facciamo scrivendo questo codice:

<script type="text/javascript" src="http://moisito.it/MyFile/ASCIIMathML.js">

CommentaCommenta questo articolo sul forum