Qual è il modo migliore per incorporare LaTeX in una pagina Web?

Non sto chiedendo di convertire un documento LaTeX in html.

Quello che mi piacerebbe essere in grado di fare è avere un modo di usare i comandi matematici LaTeX in un documento html, e farlo apparire correttamente in un browser. Questo potrebbe essere fatto lato server o client.

MediaWiki può fare ciò che stai cercando. Usa Texvc ( http://en.wikipedia.org/wiki/Texvc ) che “convalida (AMS) le espressioni matematiche di LaTeX e le converte in HTML, MathML o PNG.” Sembra quello che stai cercando.

Leggi l’articolo di Wikipedia su come gestiscono le equazioni matematiche qui: http://en.wikipedia.org/wiki/Help:Formula . Hanno anche un ampio riferimento su LaTeX e pro / contro dei diversi tipi di rendering (PNG / MathML / HTML).

MediaWiki utilizza un sottoinsieme di markup TeX, comprese alcune estensioni da LaTeX e AMS-LaTeX, per le formule matematiche. Genera immagini PNG o semplici markup HTML, a seconda delle preferenze dell’utente e della complessità dell’espressione. In futuro, dato che più browser sono più intelligenti, in molti casi sarà in grado di generare HTML avanzato o addirittura MathML. (Vedi blahtex per informazioni sul lavoro corrente sull’aggiunta del supporto MathML.)

Più precisamente, MediaWiki filtra il markup tramite Texvc, che a sua volta passa i comandi a TeX per il rendering effettivo. Pertanto, è supportata solo una parte limitata dell’intero linguaggio TeX; vedi sotto per i dettagli. …

Professionisti dell’HTML

  • Le formule HTML in linea si allineano sempre correttamente con il resto del testo HTML.
  • Lo sfondo della formula, la dimensione del carattere e la faccia corrispondono al resto dei contenuti HTML e l’aspetto rispetta le impostazioni CSS e del browser.
  • Le pagine che utilizzano HTML verranno caricate più velocemente.

Pro di TeX

  • TeX è semanticamente superiore all’HTML. In TeX, “x” significa “variabile matematica x”, mentre in HTML “x” potrebbe significare qualsiasi cosa. Le informazioni sono state irrevocabilmente perse. Questo ha molteplici vantaggi:
    1. TeX può essere trasformato in HTML, ma non viceversa. Ciò significa che dal lato del server possiamo sempre trasformare una formula, in base alla sua complessità e posizione all’interno del testo, alle preferenze dell’utente, al tipo di browser, ecc. Pertanto, dove ansible, tutti i benefici dell’HTML possono essere mantenuti, insieme al benefici di TeX. È vero che la situazione attuale non è l’ideale, ma non è una buona ragione per eliminare informazioni / contenuti. È più un motivo per contribuire a migliorare la situazione.
    2. TeX può essere convertito in MathML per i browser che lo supportano, mantenendo così la sua semantica e permettendo di renderlo come un vettore.
  • TeX è stato specificamente progettato per la composizione di formule, quindi l’input è più semplice e naturale e l’output è più esteticamente gradevole.
  • Quando si scrive in TeX, gli editor non devono preoccuparsi del supporto del browser, poiché è reso in un’immagine dal server. Le formule HTML, d’altra parte, possono finire per essere rese incoerenti rispetto alle intenzioni dell’editor (o non del tutto), da alcuni browser o versioni precedenti di un browser.

Preferisco MathJax rispetto alle soluzioni che scelgono di eseguire il rendering delle immagini (che causa problemi di aliasing).

MathJax è un motore di rendering Javascript open source per la matematica. Usa CSS e Webfonts invece di immagini o flash e può rendere LaTeX o MathML. In questo modo non hai problemi con lo zoom ed è compatibile con lo screen reader.

Una volta ho sviluppato un plugin jQuery che fa questo: jsLaTeX

Ecco l’esempio più semplice di come può essere utilizzato:

$(".latex").latex(); 
\int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi

Quanto sopra genererà la seguente equazione di LaTeX sulla tua pagina:

Equazione http://img16.imageshack.us/img16/5462/gifwm.gif

La pagina demo del plugin contiene più esempi di codice e demo.

Se vuoi incorporare la matematica come immagini, puoi dare un’occhiata a MathTran .

Se preferisci inserire la matematica nella pagina principalmente come testo (utilizzando le immagini solo quando necessario), jsMath potrebbe essere quello che stai cercando.

Storicamente, eseguire il rendering di LaTeX ed estrarre un’immagine è stata la soluzione migliore per le attività matematiche cross-platform e cross-browser. Sempre di più, il MathML sta diventando un’alternativa ragionevole. Ecco un convertitore online che emetterà il MathML dal markup Tex, che potrai quindi incorporare nella tua pagina web. So che i browser basati su Gecko come Firefox e Camino funzionano bene con MathML, così come Opera. IE non funziona, ma ci sono plugin disponibili (come questo ).

Texvc è una grande scoperta! L’output HTML vanilla dovrebbe funzionare bene se sei principalmente interessato a apici / pedici / corsivi / simboli comuni, ma per cose più complesse, tieni presente che i siti più conosciuti per la matematica (es. Wolfram ) generano immagini, quindi potrebbe essere solo così tanto che puoi fare se sei interessato alla compatibilità cross-browser 🙁

Ho letto tutte le risposte qui e sono sorpreso che nessuno abbia menzionato la conversione da PDF a HTML. Se usi pdf2htmlEX creerà pagine web perfette da un pdf . Devi solo compilare il tuo latex in pdf (pdflatex).

Di default genera un singolo file html, con i contenuti del tuo PDF creati da CSS, javascript e html. Ho provato un sacco di strumenti per convertire il latex in html e questa è di gran lunga la soluzione migliore e più semplice che ho trovato .

Potresti provare LaTexRenderer . Non so se è il migliore, ma funziona.

Ti incoraggerei sicuramente a guardare il MathML se questo si adatta a quello che stai cercando, ma un po ‘di lavoro con JsTeX potrebbe darti tutto ciò di cui hai bisogno.

Puoi usare tex2gif . Prende uno snippet LaTeX, esegue LaTeX e produce un PNG (o GIF). Facile da incorporare, facile da scrivere. Per me funziona.

Puoi anche controllare tex2png .