Formules mathématiques avec jsMath

YacineYacine Member
janvier 2013 modifié dans Modifications
Salut tout le monde !

J'utilise PluXml que depuis quelques jours. J'ai longtemps été un adepte de Wordpress, mais depuis que j'ai décidé d'héberger mon propre blog sur un Raspberry Pi, je ne pouvais échapper à la légèreté de PluXml et à sa réactivité assez impréssionnante.

Je voulais vous parler de jsMath. Il s'agit d'un package de scripts javascript permettant d’interpréter les formules mathématiques Latex, et d'en faire d'afficher le résultat au format Tex Font.

J'ai fait un billet sur mon blog fraîchement crée pour expliquer sommairement comment j'ai procédé.

Le lien ===> http://shadowblog.fr/article9/latex-au-sein-d-une-page-html-avec-jsmath

Ça marche plutôt bien, Et ça répond à mon soucis de temps d’exécution et de rapidité.
En ce qui concerne PluXml, les balises SCRIPT peuvent être ajoutées directement au sein de la fenêtre d'écriture du billet (dans l'administration du blog donc). J'ai préféré cette solution plutôt que de les mettre dans le header.php. De cette façon les scripts sont chargés uniquement au sein des articles dans lesquels vous utiliserez des formules mathématiques.

J'hésite du coup à en faire un plugin pour PluXml qui ressemblerait à syntaxhighlighter. Ainsi lorsqu'on écrit un billet qui contient des formules Latex, on cliquerait sur le bouton qui ajoutera les balises nécessaires au début et à la fin du post, avec bien sûr une fenetre "configuration" qui pemettera de choisir les options des balises. Car jsMath est très riche en options.

Je vais peut être m'y atteler durant les jours qui suivent. Et je voulais savoir ce que vous en pensiez? Sur la faisabilité de la chose? Des conseils?

Réponses

  • Salut et bienvenue !


    Rigolo cette bibliothèque ... ce qui est dommage c'est que la formule n'est pas une seule et unique image (histoire de l'archiver ;) ).


    Pour les balises scripts dans la zone contenu, certains diront que leurs places est dans le footer ...
    Attention tout de même si la formule est écrite dans le chapô, il faut que le script se charge dans les templates categorie/archive/tags/home ... mais faire en sorte que le script ne soit appelé qu'une seule fois ... ;)


    Sinon tu taquines en math :D ?
    ça fait des années que je cherche une formule (ou quelqu'un qui peut la trouver ou quelqu'un qui sait où je pourrais trouver de l'aide :D )
    Si ça t'intéresse, c'est en "gros" une courbe du temps dans un repère sphérique ...


    Cordialement,
    _____
    D.San
  • Afin d'éviter de charger le script systématiquement, tu peux ajouter une case à cocher en backend dans le panneau de rédaction des articles qui ajoute une balise dans le fichier xml des articles. Si cette balise contient 1, tu affiches le script en bas de page (pour gagner en vitesse d'affichage. Je te laisse le soin de chercher sur le net le pourquoi c'est mieux en bas) et si c'est égal à 0, tu ne l'affiches pas. C'est faisable mais peut-être un peu lourd.

    Le problème avec ta solution est que si tu as des formules dans le chapô et que tu es sur la page d'accueil par exemple avec plusieurs chapô affichés, tu risques charger plusieurs fois les scripts. Pas top.


    Petites remarques concernant ton blog : les balises script que tu génères sont en majuscules. C'est very old school mais il est préférable de les avoir en minuscules.


    Tu as chargé trois fois jquery : une version complète 1.4.2, une version minifiée 1.7.1 avec le plugin jquery et une autre avec le plugin coin-slider. Il y en a deux de trop et la version complète ralenti le chargement de ta page (surtout dans le head).


    Dernière remarque de lisibilité : tu devrais ajouter un petit padding dans tes exemples de code car quand il n'y a qu'une ligne de code à lire, c'est un peu illisible.


    Sinon, ton blog est dans mes favoris. Il m'a l'air drôlement intéressant.
  • YacineYacine Member
    janvier 2013 modifié
    Merci pour vos réponses!
    danielsan a écrit:
    Rigolo cette bibliothèque ... ce qui est dommage c'est que la formule n'est pas une seule et unique image (histoire de l'archiver ;) ).
    Il est possible de générer une seul et unique image. jsMath le permet, mais c'est plus lourd. Pour avoir une seul image l'utilisateur peut néanmoins modifier les paramètres sur le panel jsMath qui s'affiche en bas à droite il me semble.

    danielsan a écrit:
    Pour les balises scripts dans la zone contenu, certains diront que leurs places est dans le footer ...
    Attention tout de même si la formule est écrite dans le chapô, il faut que le script se charge dans les templates categorie/archive/tags/home ... mais faire en sorte que le script ne soit appelé qu'une seule fois ... ;)


    Les scripts pourraient en effet être placés dans le footer. J'avais pas pensé au chapô. Merci de le souligner.

    danielsan a écrit:
    Sinon tu taquines en math :D ?
    ça fait des années que je cherche une formule (ou quelqu'un qui peut la trouver ou quelqu'un qui sait où je pourrais trouver de l'aide :D )
    Si ça t'intéresse, c'est en "gros" une courbe du temps dans un repère sphérique ...

    Elle fait quoi précisément cette courbe ?

    Jerry Wham a écrit:
    Afin d'éviter de charger le script systématiquement, tu peux ajouter une case à cocher en backend dans le panneau de rédaction des articles qui ajoute une balise dans le fichier xml des articles. Si cette balise contient 1, tu affiches le script en bas de page (pour gagner en vitesse d'affichage. Je te laisse le soin de chercher sur le net le pourquoi c'est mieux en bas) et si c'est égal à 0, tu ne l'affiches pas. C'est faisable mais peut-être un peu lourd.
    Le problème avec ta solution est que si tu as des formules dans le chapô et que tu es sur la page d'accueil par exemple avec plusieurs chapô affichés, tu risques charger plusieurs fois les scripts. Pas top.

    Merci pour les conseils. Une solution pourrait être d'introduire les sripts uniquement à la fin de l'article. Mais cela pose problème avec les chapô. J'y penserai.

    Jerry Wham a écrit:
    Tu as chargé trois fois jquery : une version complète 1.4.2, une version minifiée 1.7.1 avec le plugin jquery et une autre avec le plugin coin-slider. Il y en a deux de trop et la version complète ralenti le chargement de ta page (surtout dans le head).

    J'ai bien enlevé la version complète 1.4.2. Pour les deux restantes, ma question est : Le plugin jquery n'est plus nécessaire, étant donné que j'utilise le plugin coin-slider ?

    Sinon merci pour tes remarques en général! J'ai aussi ajouté ton blog à mes favoris ;)
  • Garde la version la plus à jour. C'est normalement rétro-compatible.
  • Bon je reviens vers vous pour ceux que ça intéresse, ou pour laisser des traces sur le forum si jamais quelqu'un un jour s'y intéresse :D

    Alors jsMath, c'était bien mais y'a mieux! J'ai nommé http://www.mathjax.org/
    L'avantage de jsMath est que tout est stocké sur son serveur et plus facilement configurable. Mais MathJax est beaucoup plus rapide et beaucoup plus simple à mettre en place.

    J'apprends que MathJax est le successeur de jsMath. Il est d'ailleurs bien plus aboutit.

    Si jamais on utilise des formules mathématiques, il suffit d'ajouter le script suivant :
    <script type="text/javascript"
       src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    

    Plutôt fastoche hein !

    Du coup je ne pense pas que ça vaille le coup d'en faire un plugin.
Connectez-vous ou Inscrivez-vous pour répondre.