Comment puis-je rendre des équations mathématiques sur le Web? Je connais déjà le mode Math de LaTeX.
Il s’avère que c’est un peu pénible.
Vous pouvez utiliser MathML , mais la prise en charge du navigateur rest incertaine. Si vous commencez avec latex, vous avez quelques options pour convertir en HTML, mais ils finiront tous par rendre les équations aux images et les incorporer.
Tout cela est joli (sauf si vous avez recours au pdf ou à quelque chose). Ce qui est le mieux dépend un peu du type de contenu, du nombre d’équations et de la complexité des équations.
Voici un résumé décent.
Les autres réponses sont obsolètes. À partir de 2012, les beaux mathématiques sont faciles à écrire et à rendre. La technologie s’appelle MathJax . Vous pouvez le voir en action silencieuse sur MathOverflow et sur des centaines de blogs mathématiques.
MathJax est un moteur d’affichage open source JavaScript pour les mathématiques qui fonctionne dans tous les navigateurs modernes. Plus de configuration pour les lecteurs. Plus de plugins de navigateur. Fini les installations de fontes… ça marche!
Mathjax est fiable et discret, il vous suffit donc d’écrire les mathématiques. Vous le faites dans Tex (Latex), une syntaxe concise avec laquelle la plupart des scientifiques et des mathématiciens sont familiers (et ont partagé des décennies de bons tutoriels). Pour Mathjax, vous écrivez simplement du code Tex en ligne dans votre code HTML entre des signes doubles, par exemple.
Lorsque $$ a \ ne 0 $$, il existe deux solutions à $$ ax ^ 2 + bx + c = 0 $$ et elles sont $$ x = {-b \ pm \ sqrt {b ^ 2-4ac} \ plus de 2a}. $$
Pour utiliser Mathjax pour rendre vos calculs, placez une ligne Javascript dans votre en-tête HTML:
Si vous publiez sur une plate-forme telle que WordPress, Tumblr ou Blogger, il existe des plug-ins pour cela ( WordPress ).
Comment Mathjax rend-il les maths? Avec Javascript, vous convertissez vos mathématiques en HTML et CSS (ressemblant remarquablement à Latex) en une fraction de seconde. Si un navigateur prend en charge MathML, il peut également générer des calculs mathématiques, mais ce n’est pas important. C’est un succès populaire, car le stream de travail de l’utilisateur final est facile, et non pas à cause de la technologie.
Vous pouvez choisir d’utiliser Mathjax (sur des images png) sur Wikipedia si vous avez un compte. Recherchez Special:Preferences
/ Apparence.
MathML est ridicule. Ce n’est ni lisible par l’homme, ni accessible à l’homme (l’équation quadratique prend 800 caractères – c’est 50 dans Tex). C’est juste un autre langage XML inutile . Heureusement, il est obsolète avant que la plupart des navigateurs ne le prennent en charge. Il n’a même pas l’ air aussi bon que Tex ou HTML-CSS de Mathjax!
Mes deux approches préférées:
Côté client: MathJax . Voir quelques exemples ici . Il est très facile à utiliser et à installer et son développement est soutenu par l’AMS et le SIAM parmi d’autres institutions scientifiques. Je m’attends à ce que cela devienne la norme de facto pour l’affichage des mathématiques sur le Web.
Côté serveur: LaTeXML . Ceci est utilisé pour produire la bibliothèque numérique des fonctions mathématiques NIST . Si vous avez des macros personnalisées dans vos sources TeX, cela a tendance à vous faire peur, mais en général cela donne de très bons résultats.
Le package jsMath est une autre option qui utilise le balisage LaTeX et les fonts natives. Citation de leur page Web http://www.math.union.edu/~dpvc/jsMath/ :
Le package jsMath fournit une méthode permettant d’inclure les mathématiques dans les pages HTML fonctionnant sur plusieurs navigateurs sous Windows, Macintosh OS X, Linux et d’autres versions d’Unix. JsMath utilise des fonts natives et les redimensionne lorsque vous modifiez la taille du texte dans votre navigateur. Elles s’impriment à la résolution maximale de votre imprimante et Vous n’avez pas à attendre que des dizaines d’images soient téléchargées pour voir les mathématiques dans une page Web. Les auteurs de pages Web ont également des avantages, car il n’est pas nécessaire de prétraiter vos pages Web pour générer des images, et les mathématiques sont entrées dans le formulaire TeX. Il est donc facile de créer et de gérer vos pages Web.
Voir par exemple cette page ou celle-là .
Vous pouvez faire plus de mathématiques directement en HTML que la plupart des gens réalisent. Voir ces notes .
Le seul moyen sûr de rendre LaTeX consiste à enregistrer la sortie sous forme d’image. Certains sites essaient d’utiliser des outils pour le faire à la volée, et ils ne fonctionnent jamais de manière fiable. Par exemple, sur certains blogs, cela fonctionne si vous visitez directement la page Web, mais pas si vous passez par Feedburner / Google Reader.
J’ai eu une expérience terrible avec le support de navigateur MathML, à la fois dans Firefox et IE. Ne même pas l’essayer. Pas encore. Peut-être dans quelques années.
Voici le site que j’utilise pour comstackr LaTeX en gifs.
Si vous souhaitez utiliser le format PDF plutôt que le HTML, les choses deviennent beaucoup plus simples. Créez simplement votre document LaTeX et utilisez pdflatex
pour le comstackr au format PDF. Si vous utilisez l’itinéraire PDF, vous pouvez être intéressé par la manière d’inclure des propriétés PDF telles que l’auteur, les mots-clés, etc. dans votre fichier LaTeX. En outre, cette page explique comment baliser le LaTeX pour créer des liens dans votre PDF.
Un couple de développeurs de la Khan Academy a publié une bibliothèque rapide basée sur Tex, appelée Katex :
Ressemble à une excellente option moderne.
texvc peut convertir les équations mathématiques LaTeX en png ou HTML.
LaTeX et MathML sont les seuls “bons” moyens pour y parvenir. Cependant, chacun a de graves limitations. Les autres options sont des images (pas vraiment optimales si vous avez besoin d’éditer les équations plus tard) ou un HTML complexe (nécessite une certaine formation mais peut être fait).
Je rend les formules LaTeX “à la demande” dans mon wiki. Fondamentalement, j’extrais le code latex de chaque section du wiki et le mets dans un fichier .tex (dont le nom de fichier est un md5sum du latex, donc si le même code est utilisé à nouveau, le même tex et donc la même image sera utilisée) . Le fichier tex est alors compilé par une tâche cron toutes les minutes pour produire d’abord un fichier .ps, puis avec le programme de conversion un fichier .png (nommé à nouveau avec le fichier md5 d’origine). L’entrée du wiki remplace le texte en latex par une balise img faisant référence à ce png (avec le code latex d’origine comme alt, pour les lecteurs de texte).
Si vous voulez aller dans ce sens, faites très attention à désinfecter votre latex autant que vous le pouvez. il y a des commandes dans latex, comme \ input, que vous ne voulez certainement pas laisser passer, car toute personne capable de les utiliser pourrait inclure n’importe quel fichier lisible sur votre disque serveur et l’inclure dans la sortie de latex résultante.
Pour résoudre ce problème, Mediawiki (de Wikipédia) a un plugin spécial qui assainit l’entrée du latex, mais je ne voulais pas l’utiliser pour deux raisons: d’abord, je n’utilisais pas mediawiki, ensuite il était écrit en OCaml et Je veux jouer avec une langue que je ne connais pas.
J’ai utilisé ASCIIMathML pour cela dans le passé. Il s’agit essentiellement d’une bibliothèque JavaScript et peut utiliser un plugin dans IE pour optimiser les performances, mais fonctionne également sans IE et Firefox / Mozilla (bien qu’un peu plus lent). La syntaxe prend en charge un sous-ensemble de LaTeX, mais les différences entraînent une certaine confusion, ce qui peut induire en erreur vos utilisateurs, selon leur provenance.
Voici quelques liens pour que vous puissiez vérifier vous-même:
Pas parfait et ne fonctionne pas dans tous les navigateurs (Safari, etc.) mais c’est quelque chose qui fonctionne au moins aujourd’hui, bien que dans un sous-ensemble quelque peu sélectif du Web.
J’ai écrit un module javascript open source pour cela, nommé jqmath. Voir http://mathscribe.com/author/jqmath.html . Vous tapez des équations dans une syntaxe simplifiée de type TeX, et jqmath les convertit en MathML ou en HTML et CSS simples, selon le navigateur. C’est plus efficace et accessible que d’utiliser des images.
En passant, certains des résumés et notes mentionnés dans les autres réponses sont assez désuets maintenant. De plus, Firefox prend en charge MathML maintenant, et webkit (Chrome et Safari) l’avaient dans leurs versions nocturnes, bien qu’elles ne l’aient pas encore sorti. Internet Explorer rend MathML si vous avez le plugin MathPlayer. Opera fals MathML avec une feuille de style. MathML fait partie de la norme HTML 5, de sorte que tous ces navigateurs le supporteront nativement plus tôt que prévu. Il est vrai que jusque-là, la sortie de jqmath ne sera pas aussi bonne que celle de TeX, mais elle est certainement lisible et constitue sans aucun doute une meilleure solution pour les pages Web.
Si vous utilisez des images, un lecteur pour utilisateur aveugle pourra-t-il lire l’équation? Certains peuvent vouloir.
Il existe une petite application Mac appelée LatexIt qui facilite la conversion des équations LaTeX en PDF, PNG, etc.
(Je l’utilise pour créer des équations pour mes diapositives dans Keynote ou PowerPoint. C’est très bien, avec le support de glisser-déposer, vous pouvez donc simplement faire glisser les équations n’importe où pour les insérer.)
J’ai l’impression que MediaWiki vous permettra d’entrer le balisage LaTeX (ou quelque chose de similaire) et de décider dynamicment la meilleure façon de l’afficher. Actuellement, je pense que le HTML est utilisé dans la mesure du possible pour les petites expressions et les images pour les expressions plus complexes qui ne peuvent pas être représentées autrement; Je soupçonne qu’un jour, il pourra tirer parti des autres méthodes devenues à la pointe du progrès, à savoir MathML si les navigateurs commencent à le prendre en charge. Donc, je pense que vous pourriez trouver que si vous utilisez MediaWiki comme s’il s’agissait de votre moteur de site Web, vous serez compatible avec tout ce qui viendra dans le futur.
Vous pouvez générer une image d’équation à la volée via un serveur LaTeX.
http://www.forkosh.com/mimetex.html
Si vous utilisez WordPress, vous pouvez utiliser le plug-in LaTeX for WordPress ( http://wordpress.org/extend/plugins/latex/ ).
Actuellement, l’état du rendu MathML côté client n’est pas prêt pour une adoption générale. Les moyens dont vous avez vraiment besoin pour rendre le MathML comme une image. Comment vous faites cela dépendra de votre environnement.
Avez-vous un access root à votre propre serveur? Êtes-vous à l’aise d’installer un logiciel dessus? Dans ce cas, vous pouvez rendre vos propres images. Si vous utilisez un logiciel de blog ou un wiki, vous pouvez généralement trouver un plugin qui tirera parti des capacités de vos plates-formes. C’est généralement le scénario de l’idée si vous envisagez d’écrire beaucoup d’expressions mathématiques.
Si vous hébergez vos propres images, vous pouvez les pré-rendre ou utiliser une extension comme mimetex.cgi. Si vous autorisez le rendu d’expressions MathML arbitraires, vous courez le risque que d’autres sites Web établissent une liaison à chaud avec votre rendu d’image. Si vous placez un filtre sur votre serveur Web pour empêcher les liaisons à chaud, les personnes qui consultent votre site via un lecteur de stream seront également bloquées.
Si vous ne pouvez pas rendre vos propres images, ou si vous ne souhaitez afficher que quelques expressions, vous pouvez généralement générer un autre service à l’aide de ce service. Vous pouvez également lier l’image à votre site. L’inconvénient est bien sûr votre dépendance vis-à-vis d’un autre site, qui ne reçoit rien en échange de la diffusion d’images pour vous.
Des exemples d’autres services (comme mentionné dans d’autres commentaires) incluent: * http://www.artofproblemsolving.com/LaTeX/AoPS_L_TeXer.php : alt text http://alt2.artofproblemsolving.com/Forum/latexrender/pictures/a/ f / c / afc183343d84d030898f589bac12a8d9cf04558a.gif * http://www.forkosh.com/mimetex.html : mimetex.cgi http://www.forkosh.dreamhost.com/mimetex.cgi?c=%5Csqrt%7Ba%5E2+ b% 5E2% 7D
L’avantage d’utiliser mimetex est que l’on peut facilement changer la formule et la rendre à nouveau.