SPIP a une puissante fonctionnalité permettant d’insérer dans les textes des formules de mathématique complexes, en utilisant la syntaxe de LaTEX.
Jusqu’en 2024, SPIP lui même fournissait cela, via un serveur communautaire. Depuis 2024, il faut utiliser le plugin MathJax
Cette fonctionnalité permet par exemple d’afficher une formule comme celle-ci :
$${\displaystyle z=\left( \frac {e^{i\theta}+e^{-i\theta}}{2}\right)^2 +\left(\frac{e^{i\theta}-e^{-i\theta}}{2i} \right)^2}$$
en la codant directement dans le texte, comme on peut le faire avec TEX.
Notez bien : l’utilisation de cette méthode nécessite, évidemment, de connaître la syntaxe des formules dans TEX. Syntaxe qui n’est pas simple... [1]
Il est important de comprendre que, dans SPIP, seules les formules sont transformées. Il n’est pas question, en particulier, d’utiliser les macro-fonctions de TEX pour réaliser la mise en forme du document. Il s’agit ici d’un outil destiné à intégrer des formules mathématiques à l’intérieur d’un document codé selon les habitudes de SPIP.
Syntaxe dans SPIP
La syntaxe dans SPIP consiste à placer la partie de texte concernée par le traitement entre les pseudo-tags suivants :
<math>
...
Ici on extrait les formules mathématiques...
...
</math>
Puisque seules les formules mathématiques sont traitées, on peut en réalité ajouter <math>...</math>
de manière très large (en clair : on peut ajouter <math>
tout au début du texte, et </math>
tout à la fin...).
La seule incompatibilité sera le cas où l’on souhaite afficher le symbole « dollar » ($) dans le texte, ce symbole étant utilisé pour délimiter les formules. (C’est la raison, en réalité, de l’existence des codes <math></math>
.)
À l’intérieur de ces pseudo-tags, on code ensuite les formules mathématiques selon les normes de TEX, en les encadrant de dollars ’$’ (ou de double-dollars $$
pour afficher les formules centrées).
Voici un exemple
On peut placer des fractions, telles que : ${1\over z}$, ${1\over\displaystyle 1+{1\over x}}$
utiliser des lettres grecques : $\alpha$, $\beta$, $\gamma$, $\Gamma$, $\varphi$
présenter un système d’équations :
$$\left\{\begin{array}{rcl} z&=&2x+3y-24\\10x+7y&=&78\\10x+5y&=&70\\\end{array}\right\}$$
centrer des formules complexes :
$$\left|{1\over N}\sum_{n=1}^N \gamma(u_n)-{1\over 2\pi}\int_0^{2\pi}\gamma(t){\rm d}t\right| \le {\varepsilon\over 3}.$$
que l’on pourra coder ainsi :
<math>
On peut placer des fractions, telles que : ${1\over z}$, ${1\over\displaystyle 1+{1\over x}}$
utiliser des lettres grecques : $\alpha$, $\beta$, $\gamma$, $\Gamma$, $\varphi$
présenter un système d'équations :
$$\left\{\begin{array}{rcl} z&=&2x+3y-24\\10x+7y&=&78\\10x+5y&=&70\\\end{array}\right\}$$
centrer des formules complexes :
$$\left|{1\over N}\sum_{n=1}^N \gamma(u_n)-{1\over 2\pi}\int_0^{2\pi}\gamma(t){\rm d}t\right| \le {\varepsilon\over 3}.$$
</math>
Le système est limité à l’affichage de formules mathématiques. De ce fait, toutes les autres fonctions de TEX sont désactivées. Parmi la plus importante interdiction : il n’est pas possible de définir ses propres macros (\def...{...}
est désactivé) et les macros utilisées en dehors des formules mathématiques ne seront pas reconnues. À l’usage, on trouvera d’autres limitations, en se souvenant toujours que le but est d’intégrer des formules mathématiques dans ses textes, et rien de plus...