MathJax pour SPIP

La librairie MathJax est capable d’afficher des mathématiques (équations, fractions, ...) à la manière de Tex, mais sans image ! Tout en JavaScript !

Présentation de la librairie

MathJax est une librairie très puissante permettant d’afficher des mathématiques proprement sans image mais avec des polices gardant l’aspect de Tex. Le tout en JavaScript ! L’avantage de MathJax est qu’elle fonctionne dans pratiquement tous les navigateurs (y compris Internet Explorer 6 !)

Pour plus d’infos sur la librairie : http://www.mathjax.org/

Présentation du plugin

Le but du plugin est assez simple : surcharger toutes les balises <math> et </math> contenues dans les articles pour utiliser MathJax à la place de Tex.
Ainsi, vous n’avez rien à faire une fois le plugin installé. Les images seront automatiquement remplacées par des polices vraiment lisibles. Néanmoins, il faut vider le cache.

Installation du plugin

Pour installer le plugin, c’est comme un autre plugin. Rien de plus simple.

Utilisation du plugin

Pour utiliser ce plugin, c’est tout simple : rien ne change. La documentation sur le LaTex dans SPIP est toujours valable.

Par contre, il vous faudra configurer avec CFG quel mode voulez-vous utiliser pour que MathJax charge le librairie, soit par CDN (les serveurs de MathJax vous délivrent directement la librairie, rien besoin d’installer sur votre serveur), soit en utilisant la librairie directement installée sur votre serveur. Le moyen le plus simple et le plus rapide est par CDN.

Plus d’informations sur la librairie

Si vous désirez étendre vos connaissances sur la librairie, la documentation de MathJax est faite pour vous !

Dernière modification de cette page le 2 mars 2019

Discussion

14 discussions

  • 7

    it seems to work on spip 3.0 :)

    Why don’t you remove the limitation in plugin.xml ?

    • Hi,

      How did you proceed to install mathjax on Spip 3 please ?
      I tried to add to plugin.xml but it doesnt work.

      Thank you.

    • I’ve juste done it. Two steps :
      0) unzip the plugin zip file in a directory .../plugins/mathjax/
      1) unzip the content of https://github.com/mathjax/MathJax/zipball/master in the directory .../plugins/mathjax/lib/mathjax-1.1a/ (you’ll probably have to create it) ;
      2) comment the (near to) last line in plugin.xml :
      —>
      3) Activate the plugin.

    • The « last line » in 2) should read :
      < !— <necessite id=« SPIP » version=« [3.0.3] » />—>

    • Hello,

      Thank you for your reply.

      I try it as soon as possible !

      Thanks

    • It works great, thanks.

      Mais c’est tout de même lent l’accès à http://cdn.mathjax.org/mathjax/latest/MathJax.js .

      Vous parlez de l’installer en local au lieu d’aller chercher le JS sur le site de mathjax, comment fait on ? Installer le Mathjax.js en local permettrait d’accéler l’affichage des pages ?

      merci

    • Oui, bien sûr, il faut l’installer en local. La racine du site spip étant /spip/, le plugin est dans le répertoire /spip/plugins/mathjax/, j’ai créé un répertoire /spip/plugins/mathjax/lib/mathjax-1.1a et y ai dézippé le contenu de la “zipball” https://github.com/mathjax/MathJax/zipball/master, ce qui crée les fichiers suivants :

       config extensions images LICENSE README.md unpacked

       docs fonts jax MathJax.js test

    • Ah d’accord, il est déjà installer comme ceci alors.

      Mais j’ai remarqué que l’accès à cette page : http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML demande toujours un peu de temps.

      Cette ligne est disponible dans le code source de n’importe quelle page quand on active le plugin.

    Répondre à ce message

  • 1

    Lorsque je veux écrire du code \LATEX entre accolade, spip ne calcule pas la formule et affiche le code entre accolade en italique.

    je veux écrire : f^{-1}

    j’obtient : f^-1, -1 en italique au lieu d’être en exposant.

    Merci d’avance !

    • Personnellement, j’utilise

      <math>$f^{-1}$</math>

      pour mettre en exposant.
      Après, sur quelle version de SPIP es-tu ? Tu sais si le javascript de MathJax est bien inclus ?

    Répondre à ce message

  • 3
    Vincent L.

    Bonjour,

    Apparemment, il y a eu du changement dans l’hébergement du projet MathJax.
    Il n’est plus hébergé par Sourceforge, le lien d’installation de la librairie n’est donc plus à jour.

    J’ai essayé de suivre le nouveau lien https://github.com/mathjax/MathJax/, mais la version a apparemment changé. J’ai donc l’impression que la nouvelle librairie et le plugin spip sont imcompatibles.

    • Vincent L.

      J’ai essayé de nouveau aujourd’hui, et ça ne marche toujours pas.

      J’ai essayé la révision du 09/09/2011, mais cela ne suffit pas.

      Il y a une erreur php quand j’active ce plugin.
      Fatal error: Call to undefined function lire_config() in C:\Program Files\EasyPHP-5.3.5.0\www\spip\plugins\mathjax\mathjax_spip_pipelines.php on line 24

      Je trouve aussi que la notice d’Installation de la librairie n’est plus à jour.
      Je ne suis pas sûr qu’il faille dézipper le fichier fonts.zip.

      D’ailleurs, on n’a peut-être plus besoin d’installer la librairie, puisqu’il y a un système de cdn proposé par MathJax.

      C’est moi qui n’ai rien compris ? Est-ce que quelqu’un arrive à faire fonctionner ce plugin ?

    • J’ai mis à jour entièrement le plugin il y a quelques semaines, avec la nouvelle possibilité d’utiliser le CDN de MathJax, il faut pour cela retélécharger la nouvelle version du plugin, tout est configurable avec CFG par la suite.

      Je vais mettre à jour l’article de documentation ;).

    • Vincent L.

      Merci beaucoup pour votre réactivité. Tout fonctionne à présent !

      J’ai trouvé ce qui ne marchait pas pour moi (grâce à votre commentaire) : je ne savais pas qu’il fallait au préalable installer le plugin CFG.

      J’ai relu la notice, elle me semble beaucoup plus claire maintenant. (Peut-être serait-il judicieux d’y souligner la dépendance envers le plugin CFG).

      Bravo à vous, et merci encore une fois. Je suis ravi de pouvoir profiter de MathJax dans mon site Spip.
      Bonne continuation.

    Répondre à ce message

  • 3

    Merci pour ce plugin très intéressant ; je ne connaissais pas MathJax ; c’est vraiment très bien.

    Toutefois il y a des erreurs dans le code du fichier « mathjax_spip_pipelines.php » :

    Lignes 24 et 25 :

    ["\\(","\\)"] et ["\\[","\\]"]
    Il faut coder (on est dans php pour produire du code JS):
    ["\\\(","\\\)"] et ["\\\[","\\\]"]

    Ligne 25 : supprimer la virgule en fin de ligne

    Ligne 29 : supprimer </script> qui est en trop.

    Je crois aussi qu’il faudrait soit supprimer les inputs du type [, ] et \(, \), soit (meilleure solution) les échapper dans la fonction « traiter_math ».

    Enfin une dernière remarque : la balise de SPIP est vraiment malvenue, car elle fait doublon avec celle de MathML ; cela empêche d’utiliser MathJax pour entrer du code MathML dans SPIP.

    • Merci beaucoup ! C’est corrigé par http://www.spip-contrib.net/MathJax-pour-SPIP#forum438553

      Je transmets ta remarque à un développeur :)

    • La balise de SPIP n’empêche rien : il reste possible de bloquer le traitement des raccourcis via <html><math>ici du MathML</math></html> ; autre solution éventuellement, un modèle <mathml | contenu= xxxx>.

    • Tout à fait d’accord.

      Finalement j’ai adopté ce plugin pour un de mes sites (merci encore aux auteurs).
      J’ai seulement rajouté la possibilité de coder le LaTeX entre les délimiteurs \(, )\ et [, ] en plus des $ et $$ (dans le fichier math.php).
      Les formules sont vraiment belles (même en mode HTML/CSS) et j’apprécie aussi la possibilité de faire coder facilement des formules LaTeX au visiteur en interactif.

      Seul inconvénient : l’affichage des formules est parfois trop lent (le JS s’exécute dans le navigateur donc pas de système de cache possible).

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom