Carnet Wiki

LATEX

LaTeX

Version 14 — Octobre 2013 — LaurentP

Le raccourci <math>...</math> permet d’éditer des formules mathématiques et les transforme en image via le programme TeX

Ainsi par exemple \int_1^\infty \frac{1}{x^2} dx va vous donner une jolie intégrale :

-  image résultat de référence conservée dans la mémoire cache de calcul :


\int_1^\infty \frac{1}{x^2} dx

-  image recalculée à la volée via le code source TeX :

\int_1^\infty \frac{1}{x^2} dx

Évidemment, nous n’avons pas intégré TeX dans la distribution de SPIP ; en cela, ce raccourci représente une énorme nouveauté : il fonctionne en mode « client/serveur », ce qui nécessite quelques explications.

Lorsque le moteur de SPIP voit une formule, il regarde d’abord s’il n’a pas déjà l’image correspondante dans le répertoire IMG/TeX/ (les images sont stockées en png, une image par formule).

Si l’image n’est pas là, il se connecte à un serveur extérieur (défini dans ecrire/inc_version.php) et demande à ce serveur de lui composer l’image correspondant à la formule. Si le serveur répond (!!), le moteur de SPIP enregistre l’image en local. Cela ne se produit donc qu’une fois.

Si l’image n’est toujours pas là (pas de serveur défini, ou erreur de transmission), la formule s’affiche « en clair » avec la classe de style spip_code.

Pour résumer :

* Si vous utilisez des formules, le site devient dépendant du bon fonctionnement d’un serveur extérieur, mais seulement au moment où vous visualisez la formule pour la première fois.

* Si quelqu’un entre une formule pour la première fois dans le site (espace privé ou forum) cette formule est envoyée à un serveur extérieur : si vous n’avez pas confiance dans ce serveur, ou si vous fonctionnez en local, ça peut être un problème : il faut alors mettre, dans /ecrire/mes_options.php3, une ligne disant :

$tex_server = '';

* si vous avez un usage intensif de ce raccourci (labo de maths...) et que vous ne voulez pas dépendre de ’math.spip.org’, le serveur proposé en standard, vous pouvez configurer votre propre serveur et l’indiquer à SPIP en mettant, dans config/mes_options.php (ecrire/mes_options.php3 pour les versions de spip < 1.9), une ligne disant :

$tex_server = 'http://mon.serveur.a.moi/tex.php';

Le code du serveur se trouve ici.

* Dernière remarque importante : math.spip.org est un serveur public, et à ce titre :
-  il faut le « respecter » : ne pas lui envoyer 2 000 formules juste pour voir, ne pas essayer de le craquer (si vous voulez tester la sécurité, installez-le chez vous et dites-nous où sont les trous), etc.
-  vous pouvez contribuer des ressources (si vous avez installé un serveur de TeX, et que vous souhaitez le mettre dans le pool des serveurs utilisables par la communauté, merci de nous écrire).

Annonce sur spip-core

Export en .tex Finalement, cette solution est devenue idéale pour faire du travail collaboratif sur des documents LaTeX :) Merci beaucoup. Une fois le document « finalisé », serait-ce possible de pouvoir exporter le document créé en ligne en .tex ? (un passage par une moulinette d’expressions régulières pour transformer les balises maths en $ ?) (Julien Hillairet)

Mode MathML Autre annonce sur le core Selon que l’on fixe une valeur « traiter_maths » (dans le code en dur pour l’instant, c’est dans inc_texte) à « image » ou « mathml », le traitement du même raccourci se fait en mode image ou en mode mathml.