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 !

Discussion

17 discussions

  • Michel Suquet

    Bonjour,

    je viens de passer à spip4.1(et à php8.1 pour cette occasion)) et votre plugin est compatible, après avoir changé sa borne de compatibilité, il fonctionne ; avec cependant sans doute encore le problème que j’ai signalé quand on met du LaTeX dans une description d’une image.

    Pouvez-vous faire le changement de bornes de compatibilité, [3.0.0;4.1.*] ?

    Merci encore une fois pour ce plugin qui nous permet d’utiliser de belles formules mathématiques.

    Cordialement,

    Reply to this message

  • 5
    Michel Suquet

    Bonjour,

    je viens de mettre à jour le site de l’APMEP Île-de-France en spip4. Votre plugin continue à fonctionner : on peut donc considérer qu’il est compatible avec la version 4.0.0.

    Un bémol toutefois : dans la description des images, il fonctionne en partie, comme vous pouvez le constater pour les figures 54 et 55 par exemple, les fractions ne sont pas reconnues alors que dans le texte il n’y a pas de problème. Pour la version précédente 3.2 de spip, cela fonctionnait.
    https://www.apmep-iledefrance.fr/Le...

    Voyez-vous où se situe le problème ?

    Cordialement,

    Michel Suquet

    • Bonjour,
      j’ai tenté l’installation sous spip 4.0.0 en modifiant la compatibilité dans le fichier paquet.xml mais j’ai toujours “version incompatible”.
      Comment l’avez-vous installé ?
      Merci d’avance

    • Michel Suquet

      Bonjour,

      tout d’abord, vous pouvez lire cet article que je viens de voir :
      Migrer de SPIP 3.2 à SPIP 4.0 : le livre de cuisine

      En ce qui me concerne, j’ai mis en place une sorte de rétro-compatibilité en attendant que tous les plugins se mettent à spip 4, j’ai suivi ce qui est dit dans la FAQ de cet article :https://blog.spip.net/O-mega-c-est-...

      Cordialement,

      Michel Suquet

    • Merci Michel,
      j’ai finalement réussi à installer ce plugin. Je n’avais pas mis 4.0.0 avant 4.0.x dans paquet.xml.
      Au passage, j’ai le même problème avec les légendes : les accolades empêchent l’appel à mathjax.
      Un contournement possible est d’écrire \{ et \} si besoin d’accolades.
      J’ai un autre problème avec mon site : dans la partie privée, les formules sont à la bonne taille mais pas dans la partie publique, Exemple : https://cmath.xyz/spip.php?article132
      Je suppose qu’il faut que je fouille dans les feuilles de style...
      Cdt

    • Michel Suquet

      Bonjour Christophe,

      Un grand merci pour cette astuce des accolades ! Cela fonctionne.

      Heureusement que ce n’est que dans les légendes que le problème se pose !

      Je me demande si cela est dû au plugin ou à spip 4 car avec spip 3.2 il n’y avait pas ce problème. Par contre, je ne sais pas le corriger :-(

      Pour le problème de la taille de la formule affichée, je me demande s’il ne faut pas rajouter un d à \frac qui devient \dfrac, ou alors un \displaystyle ?

      Quel squelette utilises-tu ? ← c’est juste par curiosité. J’ai remarqué que selon les squelettes utilisés, l’affichage peut varier.

      Cordialement,

      Michel Suquet

    • Je pense qu’il doit s’agir d’un problème d’interprétation des accolades dans les légendes (les accolades signifient italique en spip) qui passe avant la transmission des formules à mathjax, ce qui fait que la formule n’est pas syntaxiquement correcte et donc non interprétée.
      Je crains qu’il faille modifier des fonctions internes de spip et donc transmettre ce bug aux développeurs.

      Pour la taille, cela concerne toutes les formules, pas seulement les fractions. En comparant le code source des parties privée et publiques, j’ai constaté des différences de . Mais je suis incapable de savoir qui influence la taille : spip ? mathjax ? le plugin ? Bref c’est pas gagné.

      Mon squelette est spipr : https://spipr.nursit.com/
      A+

    Reply to this message

  • 3
    Michel Suquet

    Bonjour,

    pour utiliser votre plugin, il est nécessaire d’apporter une modification en mettant https à la place de http dans le fichier suivant :
    https://git.spip.net/spip-contrib-extensions/mathjax/src/branch/master/mathjax_pipelines.php#L26

    Cordialement,

    Michel Suquet

    Reply to this message

  • Bonjour,

    J’ai un peu galérer pour faire fonctionner le plugin :

    • L’utilisation du plugin avec le cdn proposé ne fonctionnait pas. Apparemment ça bloque pour les sites en httpS
    • En l’utilisant sans le CDN mais avec la lib proposée, j’avais des soucis et des formules ne s’affichaient pas.

    Finalement, je suis revenu au réglage « Par CDN » et ai corrigé le fichier mathjax_pipelines.php ligne 26 pour changer l’appel du js.
    //cdn.mathjax.org/mathjax/latest/MathJax.js
    à la place de :
    http://cdn.mathjax.org/mathjax/latest/MathJax.js

    Du coup ça fonctionne.

    Seul souci : lors de l’enregistrement d’un contenu SPIP les formules ne sont pas interprétées. Il faut actualiser la page pour qu’elle le soit.

    Reply to this message

  • Bonjour,
    Existe-t’il une version compatible SPIP 3.2

    Reply to this message

  • 12
    Jean-Eric

    Bonjour,
    Existe-t’il une version compatible SPIP 3.1.1 [22913]
    Merci
    JE

    Reply to this message

  • 4
    Jean-Eric

    Est-ce que ce code marche chez vous?

    <math>
    $$
    \begin{tabular}{rcl} 
    X_F & =& R_F \cos\theta_F \\ 
    Y_F & =& R_F \sin\theta_F
    \end{tabular} 
    $$
    </math>
    • en LaTeX même ce code ne marche pas.

      ca oui

      \begin{tabular}{rcl} 
      $X_F$ & $=$& $R_F \cos\theta_F$ \\ 
      $Y_F$ & $=$& $R_F \sin\theta_F$
      \end{tabular}

      (même si l’emploi de l’environnement align de amsmath serait mieux).

      Après je n’ai pas ’install du plugin pour tester…

    • Jean-Eric
      • le code tel quel dépend de l’environnement
      • si amslatex est compris par MAthJax Super!

      Merci
      JE

    • aucune idée…

    • Jean-Eric

      si ca marche nettement mieux
      \begin{align*} \end{align*}
      En 2008 qd j’avais ecrit mes articles ca ne fonctionnait pas.

    Reply to this message

  • Yves Biton

    Bonjour.

    Je suis l’auteur du logiciel MathGrap32. Ce logiciel permet l’exportation de figures en html dans un SVG. La bibliothèque JavaScript utilisée pour l’exportation la librairie MathJax (en fait une copie sur le site de Sesamath) mais en mode SVG pour la sortie.
    Elle est donc pour le moment incompatible avec votre plugin qui utilise me semble-t-il par défaut une sortie en html.

    Ma question : Est-il possible de configurer soi-même La façon dont MathJax est utilisé par votre plugin ? (J’espère que oui). Et si ou comment ?

    Merci d’avance de votre réponse.

    Yves Biton.

    Reply to this message

  • 1

    Autant pour moi; dans mon dernier message, dernière phrase, je voulais parler de la balise
    <math>.

    • Bonjour, effectivement ce serait mieux sans cette balise ...

      J’utilise pour l’instant le plugin Jsmath qui reconnaît dans un article spip une formule mathématique par la balise $ (comme pour latex). Je pense que ce plugin ne sera plus mis à jour mais remplacé par Mathjax ...

      Je ne sais si c’est possible mais un plugin Mathjax qui reconnaît la syntaxe $\sqrt2$ serait super !

    Reply to this message

  • 1
    Guillaume Blanc

    Bonjour,

    Je viens de passer de spip 2.1 à 3.0.17 ; mes articles avec les maths ne fonctionnent plus : si la balise math est là, les équations sont bien affichées, mais pas la mise en page : http://gblanc.fr/spip.php?article529 ; si j’enlève la balise math, la mise en page devient correct, mais évidemment les équations ne sont plus affichées. J’avais le plugin mathjax sous 2.1, je l’ai remis sous 3.0.

    Que puis-je faire ?

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom