Question

Je ne vous 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 LaTeX dans un document HTML et de les afficher correctement dans un navigateur. Cela pourrait être fait côté serveur ou client.

Était-ce utile?

La solution

MediaWiki peut faire ce que vous recherchez. Il utilise Texvc ( http://fr.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: Formule . Ils ont également une vaste référence sur LaTeX et des avantages / inconvénients des différents types de rendu (PNG / MathML / HTML).

  

MediaWiki utilise un sous-ensemble du balisage TeX,   y compris des extensions de LaTeX   et AMS-LaTeX, pour les mathématiques   formules. Il génère soit PNG   images ou simple balisage HTML,   en fonction des préférences de l'utilisateur et de la   complexité de l'expression. dans le   l'avenir, car de plus en plus de navigateurs sont plus intelligents,   il sera capable de générer amélioré   HTML ou même MathML dans de nombreux cas.   (Voir blahtex pour des informations sur   travaux en cours sur l'ajout de MathML   soutien.)

     

Plus précisément, MediaWiki filtre les   balisage via Texvc, qui à son tour   passe les commandes à TeX pour le   rendu réel. Ainsi, seul un nombre limité de   une partie du langage TeX complet est   prise en charge; voir ci-dessous pour plus de détails.   ...

     

Avantages de HTML

     
      
  • Les formules HTML en ligne s'alignent toujours correctement avec le reste du code HTML.   texte.
  •   
  • L'arrière-plan, la taille de la police et le visage de la formule correspondent au reste du code HTML.   le contenu et le respect de l'apparence   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 " veux dire   "variable mathématique x", alors que dans   HTML " x " pourrait signifier n'importe quoi.   L'information a été irrévocablement perdue.   Cela présente de nombreux avantages:      
        
    1. TeX peut être transformé en HTML, mais pas l'inverse. Cela signifie que le   côté serveur on peut toujours   transformer une formule, basée sur sa   la complexité et l'emplacement dans le   texte, préférences utilisateur, type de   navigateur, etc. Par conséquent, où   possible, tous les avantages du HTML peuvent   être conservés avec les   avantages de TeX. C'est vrai que le   la situation actuelle n’est pas idéale, mais   ce n'est pas une bonne raison de laisser tomber   informations / contenu. C'est plus un   raison d'aider à améliorer la situation.
    2.   
    3. TeX peut être converti en MathML pour les navigateurs qui le supportent, donc   garder sa sémantique et lui permettre   être rendu sous forme de vecteur.
    4.   
  •   
  • TeX a été spécialement conçu pour la composition de formules, la saisie est donc   plus facile et plus naturel, et la sortie est   plus esthétique.
  •   
  • Lors de l'écriture dans TeX, les éditeurs ne doivent pas s'inquiéter de la prise en charge du navigateur, car   il est rendu dans une image par le   serveur. Formules HTML, d'autre part   main, peut finir par être rendu   incohérent des intentions de l'éditeur   (ou pas du tout), par certains navigateurs ou   anciennes versions d'un navigateur.
  •   

Autres conseils

Je préfère MathJax les solutions qui choisissent de rendre les images (ce qui cause des problèmes d'aliasing).

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. Ainsi, vous n’avez pas de problèmes de zoom et il est même compatible avec les lecteurs d’écran.

J'ai déjà développé un plugin jQuery qui a en fait ceci: jsLaTeX

Voici l'exemple le plus simple d'utilisation:

$(".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:

 Equation

La page de démonstration du plug-in contient davantage d'exemples de code et de démos.

Si vous souhaitez incorporer les mathématiques sous forme d'images, consultez MathTran .

Si vous préférez que les calculs soient insérés dans la page principalement sous forme de texte (en n'utilisant des images que lorsque cela est nécessaire), jsMath est peut-être ce que vous recherchez.

Historiquement, le rendu de LaTeX et l'extraction d'une image étaient votre meilleur choix pour des opérations mathématiques multiplates-formes et multi-navigateurs. De plus en plus, MathML devient une alternative raisonnable. Voici un convertisseur en ligne qui émettra du balisage MathML à partir de Tex, qui vous peut ensuite intégrer dans votre page Web. Je sais que les navigateurs basés sur Gecko, comme Firefox et Camino, fonctionnent bien avec MathML, tout comme Opera. Internet Explorer ne fonctionne pas immédiatement, mais des plugins sont disponibles (comme celui-ci ). .

Texvc est une excellente trouvaille! La sortie HTML 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 les plus populaires axés sur les mathématiques (p. Ex. Wolfram ) génèrent des images. Par conséquent, vous ne pouvez peut-être pas en faire plus si la compatibilité entre navigateurs vous intéresse: - (

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 créera une page Web parfaite à partir d'un fichier PDF . Il vous suffit de compiler votre latex au format 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 la solution la plus simple et la plus simple 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 ont évolué. J'ai rencontré cette démo de comparaison de KaTeX et MathJax .

Longue histoire courte (au moment d'écrire ces lignes) :

  • Des fractions à l'intérieur d'une matrice se rencontrent dans KaTeX, mais pas dans MathJax (voir "Produit croisé")
  • À l'intérieur du symbole de racine carrée (ou nième), les exposants et les racines carrées imbriquées semblent se heurter à la ligne supérieure horizontale (voir "Répétition de fractions" et "racine nième".)
  • MathJax a une police légèrement plus épaisse et plus large, KaTeX est légèrement plus maigre.

Mais peut-être le plus décisif de tous, j’ai constaté que le traitement total de MathJax pour la page était en moyenne de 1674 ms pour trois exécutions. En revanche, la moyenne KaTeX est 128 ms , ce qui est meilleur d'un ordre de grandeur!

Lorsque vous parcourez leurs sites Web respectifs, vous devez prendre en compte d'autres points de comparaison:

  • Le site Web principal de KaTeX affirme prendre en charge la plupart des logiciels LaTeX, mais pas tous. Ils répertorient les fonctions prises en charge ici . MathJax exprime également certaines de ses . Bien que ce soit difficile de savoir à partir d'un survol rapide de ceux qui à la fin a "meilleur" soutien. Certains blogs que j'ai consultés disent que KaTeX a moins de soutien, mais d'autres ont déclaré que KaTeX avait considérablement amélioré son soutien au cours des dernières années.
  • Le site Web de MathJax annonce la prise en charge de MathML pour les entrées et les sorties. Certains problèmes de KaTeX sur son site github ici et ici indique qu'ils prennent en charge MathML pour la sortie, mais pas pour la saisie (je ne connais pas beaucoup MathML, mais cela semble au moins important si vous souhaitez aider les utilisateurs malvoyants).
  • KaTeX rend de manière synchrone , pour ne pas rediffuser la page (une partie de ce qui la rend plus rapide). Mais en échange, il verrouille temporairement le navigateur.
  • StackOverflow est un partenaire de MathJax (voir ici ). Il est utilisé sur certains sites StackExchange, mais pas sur StackOverflow lui-même en raison de performances de chargement de la page. KaTeX a été développé par la Kahn Academy.

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.

Vous pouvez utiliser tex2gif . Il prend un extrait de code LaTeX, exécute LaTeX et génère un fichier PNG (ou GIF). Facile à intégrer, facile à script. Cela fonctionne pour moi.

Vous pouvez également consulter tex2png .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top