Je ne demande pas de convertir un document LaTeX en html.
Ce que j'aimerais pouvoir faire, c'est avoir un moyen d'utiliser les commandes mathématiques de LaTeX dans un document html et de les faire apparaître correctement dans un navigateur. Cela pourrait être fait côté serveur ou client.
MediaWiki peut faire ce que vous cherchez. Il utilise Texvc ( http://en.wikipedia.org/wiki/Texvc ) qui "valide (AMS) les expressions mathématiques LaTeX et les convertit en graphiques HTML, MathML ou PNG". Cela ressemble à ce que vous recherchez.
Consultez l'article de Wikipedia sur la façon dont ils gèrent les équations mathématiques ici: http://en.wikipedia.org/wiki/Help:Formula . Ils ont également une référence complète sur LaTeX et les avantages/inconvénients des différents types de rendu (PNG/MathML/HTML).
MediaWiki utilise un sous-ensemble de balisage TeX, y compris certaines extensions de LaTeX et AMS-LaTeX, pour les formules mathématiques. Il génère soit des images PNG, soit un simple balisage HTML, selon les préférences de l'utilisateur et la complexité de l'expression. À l'avenir, comme de plus en plus de navigateurs sont plus intelligents, il sera capable de générer du HTML amélioré ou même du MathML dans de nombreux cas. (Voir blahtex pour plus d'informations sur les travaux en cours sur l'ajout de la prise en charge de MathML.)
Plus précisément, MediaWiki filtre le balisage via Texvc, qui à son tour transmet les commandes à TeX pour le rendu réel. Ainsi, seule une partie limitée du langage TeX complet est prise en charge; voir ci-dessous pour plus de détails. ...
Avantages du HTML
- Les formules HTML en ligne s'alignent toujours correctement avec le reste du texte HTML.
- L'arrière-plan, la taille de police et le visage de la formule correspondent au reste du contenu HTML et l'apparence respecte les paramètres CSS et du navigateur.
- Les pages utilisant HTML se chargeront plus rapidement.
Avantages de TeX
- TeX est sémantiquement supérieur au HTML. Dans TeX, "x" signifie "variable mathématique x", alors qu'en HTML "x" pourrait signifier n'importe quoi. Des informations ont été irrévocablement perdues. Cela présente de multiples avantages:
- TeX peut être transformé en HTML, mais pas vice-versa. Cela signifie que du côté serveur, nous pouvons toujours transformer une formule, en fonction de sa complexité et de son emplacement dans le texte, des préférences de l'utilisateur, du type de navigateur, etc. Par conséquent, si possible, tous les avantages du HTML peuvent être conservés, ainsi que avantages de TeX. Il est vrai que la situation actuelle n'est pas idéale, mais ce n'est pas une bonne raison de supprimer des informations/contenus. C'est plus une raison pour aider à améliorer la situation.
- TeX peut être converti en MathML pour les navigateurs qui le supportent, gardant ainsi sa sémantique et lui permettant d'être rendu sous forme de vecteur.
- TeX a été spécialement conçu pour la composition de formules, donc l'entrée est plus facile et plus naturelle, et la sortie est plus esthétique.
- Lors de l'écriture dans TeX, les éditeurs n'ont pas à se soucier de la prise en charge du navigateur, car il est rendu en image par le serveur. Les formules HTML, en revanche, peuvent finir par devenir incohérentes (ou pas du tout) des intentions de l'éditeur, par certains navigateurs ou des versions plus anciennes d'un navigateur.
Je préfère MathJax aux solutions qui choisissent de rendre les images (ce qui provoque des problèmes d'alias).
MathJax est un moteur de rendu Javascript open source pour les mathématiques. Il utilise CSS et Webfonts au lieu d'images ou de flash et peut rendre LaTeX ou MathML. De cette façon, vous n'avez pas de problèmes avec le zoom et il est même compatible avec le lecteur d'écran.
J'ai déjà développé un plugin jQuery qui fait en fait ceci: jsLaTeX
Voici l'exemple le plus simple de la façon dont il peut être utilisé:
$(".latex").latex();
<div class="latex">
\int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi
</div>
Ce qui précède générera l'équation LaTeX suivante sur votre page:
La Page de démonstration du plugin contient plus d'exemples de code et de démos.
Si vous souhaitez intégrer les mathématiques sous forme d'images, vous pouvez jeter un œil à MathTran .
Si vous préférez que les mathématiques soient insérées dans la page principalement sous forme de texte (en utilisant des images uniquement lorsque cela est nécessaire), jsMath peut être ce que vous recherchez.
Historiquement, le rendu du LaTeX et l'extraction d'une image ont été votre meilleur pari pour les trucs mathématiques multiplateformes et multi-navigateurs. De plus en plus, MathML devient une alternative raisonnable. Voici un convertisseur en ligne qui émettra MathML à partir du balisage Tex, que vous pourrez ensuite intégrer dans votre page Web. Je sais que les navigateurs basés sur Gecko comme Firefox et Camino jouent Nice avec MathML, tout comme Opera. IE ne fonctionne pas par défaut, mais il existe des plugins disponibles (comme celui-ci ).
Texvc est une excellente trouvaille! La sortie HTML de Vanilla devrait bien fonctionner si vous êtes principalement intéressé par les exposants/indices/italiques/symboles communs, mais pour les choses plus complexes, sachez que les sites mathématiques les plus populaires (par exemple Wolfram =) générer des images, donc vous ne pouvez pas faire grand-chose si vous êtes intéressé par la compatibilité entre les navigateurs :-(
J'ai lu toutes les réponses ici, et je suis surpris que personne n'ait mentionné la conversion de PDF en HTML. Si vous utilisez pdf2htmlEX il le fera créez des pages web parfaites à partir d'un pdf . Il vous suffit de compiler votre latex en pdf (pdflatex).
Par défaut, il génère un seul fichier html, avec le contenu de votre PDF composé de CSS, javascript et html. J'ai essayé beaucoup d'outils pour convertir le latex en html et c'est de loin le meilleure et plus simple solution que j'ai trouvée .
Vous pouvez essayer LaTexRenderer . Je ne sais pas si c'est le meilleur, mais ça marche.
Je commence à me pencher là-dessus et il semble que les choses aient évolué. J'ai rencontré this démo de comparaison de KaTeX et MathJax .
Longue histoire courte (au moment d'écrire ces lignes):
Mais peut-être le plus décisif de tous, j'ai trouvé que le traitement MathJax total pour la page était en moyenne de 1674 ms pour trois exécutions. En revanche, KaTeX a en moyenne 128 ms , ce qui est un ordre de grandeur mieux!
Il y a d'autres points de comparaison à considérer lors de la consultation de leurs sites Web respectifs:
Je vous encouragerais certainement à regarder MathML si cela correspond à ce que vous recherchez, mais un peu de travail avec JsTeX pourrait vous donner tout ce dont vous avez besoin.