ActionLaTeX
L'action latex est inspirée de l'action
WikiMath et permet de mettre des
FormulesTeXDansWiKiNi.
Toutefois, contrairement à
WikiMath c'est la syntaxe
LaTeX qui est utilisée et non la synthaxe "calculatrice".
Cette action fait appel à
MimeTeX : un script CGI qui renvoie une image d'une formule
LaTeX.
Essayez par exemple de taper dans votre navigateur l'adresse suivante :
Il suffit donc d'insérer l'image ainsi dans le code html
<img src="
http://www.forkosh.com/mimetex.cgi?\Large\frac1{\sqrt{x^2+y^2}}">
Plus d'informations sur
MimeTeX
Voici le fichier
latex.php à placer dans le répertoire actions
<?php
/*
titre: Action LaTeX pour Wikini (mimetex)
Auteur: Sébastien Celles
License: GPL
*/
if (!defined("WIKINI_VERSION"))
{
die ("accès direct interdit");
}
$expression = $this->GetParameter("expression");
$baseurl = "http://www.forkosh.com/mimetex.cgi?";
$fullurl = $baseurl . rawurlencode($expression);
echo "<img src=\"$fullurl\" alt=\"expression math\" valign=\"middle\"/>";
?>
Il suffit alors de taper :
{{latex expression="\frac{x^2}{\sqrt(sin(x))}"}}
pour insérer la formule dans une page Wikini
la deuxième partie consisterait à modifier le moteur de wikini pour
que
$\frac{x^2}{\sqrt(sin(x))}$ appelle cette action
Il faudra aussi envisager le cas de
$$\frac{x^2}{\sqrt(sin(x))}$$
ainsi que
\[........\] pour des formules hors-ligne (centrée et plus étalée en hauteur)
Il faut absolument éviter la syntaxe de SPIP qui consiste à entourer la formule
à la fois par la balise
<math> et par
$ car c'est beaucoup trop lourd !!!!
Pour cette seconde partie, je crois que c'est le fichier /wikini/formatters/wakka.php qu'il faut modifier pour ajouter le support de
formule en ligne :
$...$ ou
\(...\) ou
\begin{math}...\end{math}
formule hors-ligne (ou hors-texte) :
$$...$$ ou
\[...\] ou
\begin{displaymath}...\end{displaymath}
- Pour les formules hors-texte, il suffit d'ajouter \displaystyle avant le début de la formule et de centrer l'image avec <center>...</center> par exemple
voir
http://www.laas.fr/~matthieu/cours/latex2e/ Une courte (?) introduction à
LaTeX 2e - chapitre Formules Mathématiques
PS : il parait que
$$...$$ est déconseillé et qu'il est préférable d'utiliser
\[...\]
voir
http://www.tug.org/tex-archive/info/l2tabu/french/l2tabufr-heavy.pdf
PS2 : la solution
MimeTeX permet aussi d'être utilisée dans un Intranet car
MimeTeX est libre et peut donc être installé sur un serveur interne
--
SebCls?
salut je suis tres interressé par cette fonction qui me rendrait bien des services dans mon wiki
je débute en php mais je programme pas mal en c alors voila
si quelqu'un est toujours sur ce projet je serais assez interressé par une colaboration
--
GulP?
Il te suffit de créer l'action latex.php et de la placer dans le répertoire actions de ton wiki.
Par contre il faut savoir que
MimeTeX n'a pas tout à fait le rendu de
LaTeX (c'est dommage)
Il existe d'ailleurs d'autres outils similaires à
MimeTeX (pas utilisés ici)
http://www.fourmilab.ch/webtools/textogif/textogif.html
http://www.math.uio.no/~martingu/gladtex/
http://www.tug.org/interest.html#web
http://whyslopes.com/webmath/
http://www.mayer.dial.pipex.com/tex.htm#latexrender
Les images peuvent être traitées sur le serveur par
ImageMagick??
http://www.imagemagick.org/
Par contre il reste à modifier le formatter.php pour éviter de taper
Action inconnue "latex"
mais taper simplement
$\frac{x^2}{\sqrt(sin(x))}$
Tu peux me contacter (mais en ce moment fin janvier / début février 2007) je ne suis pas trop dispo
Essaye d'abord sans modifier le formatter, une fois que l'action tourne, amuse toi à modifier le fichier formatters et donne nous des infos ici
(personnellement je n'ai pas réussi à modifier le formatter pour l'instant...)
On peut utiliser des scripts CGI sur un serveur pour ajouter pas mal de fonctionnalités à
WiKiNi.
voir par exemple
ActionGNUPlot
Je me pose toutefois une question :
Est-il possible d'appeller une action depuis un formatter ????
Il faut éviter de mettre deux accolades à la suite dans la partie
LaTeX... Il faut par exemple séparer par un espace.
Cela permet d'éviter le problème évoqué sur la page
FormulesTeXPhpPur.
Il faut aussi mettre en place un système de cache pour les images.
--
SebCls?
Nouvelle implémentation
Voila les nouvelles j'ai créé une action Math (découpé en deux fichiers math.php et fonction_math.php et un dossier d'image) celle ci ne génére pas d'image pour deux raisons
- les pages deviennent trés lourdes si on abuse de ce systeme
- les serveurs ne proposent pas tous l'option qui permet de générer les images(free par exemple)
Tout est donc écrit en xhtml et css(tableau + image lorsque que cela est indispensable)
Par contre comme je ne connais aucune fonction en php sauf les plus courantes le code est assez lourd dans sa lecture
- pour l'instant c'est la version béta elle ne fait que le stricte minimum donc je ne la met pas encore mais je voudrais savoir
sur quelle partie il est important de mettre l'accent comme le respect absolu de la syntaxe latex ou le rendu esthétique.
- Au niveau de la vitesse c'est trés correct pour l'instant même si mon code est le plus éloigné de ce que l'on peut appeler optimiser je ne m'en fait donc pas trop cependant au niveau de la taille selon quelque estimation dans sa version finale il risque d'être tres long( au moins deux fois la taille de wakka.php que au passage je n'est que survolé honte a moi ...)
je serais assez interressé par votre opinion a propos de l'idée de tout écrire en xhtml
merci
PS: je n'est pour l'instant pas modifier le formater la syntaxe est:
Action inconnue "math"
toute les action sont faite de cette manière je ne sait pas s'il est judicieux de faire des exeptions ce n'est deja pas evident pour les gens qui ne manipule d'ordinateur.
PS2: j'ai besoinn d'un coup de pouce: Quelqu'un conaitrais un autre moyen que largeur et hauteur a 100% pour étendre une image dans la cellule d'un tableau(c'est la fusion de trois cellules) .de plus est ce qu'il est possible de la rétrécir? Voila merci
- Est il possible d'autre part de ne formater avec une feuile de style que certaine lettre dans une chaine sans faire un <span>?
vous pouvez faire un test de cette fonction a cette page
GulP?
Je ne suis pas trop d'accord avec toi :
- les serveurs ne proposent pas tous l'option qui permet de générer les images(free par exemple)
L'idée c'est de mettre le serveur d'image ailleurs que sur ton hébergeur, c'est la solution adoptée par Spip par exemple
Il y aurait un serveur math.wikini.net
Le deuxième problème, c'est que le placement des symboles est bien loin de
LaTeX
Le troisième problème, c'est qu'il n'y a pas grand chose qui marche (pas frac sqrt ...)
Ton idée n'est pas de faire marcher
LaTeX avec
WikiNi... c'est de refaire
LaTeX en
PhP donc moi ça me semble illusoire...
Pour moi, il faut (si on veut un bon support de
LaTeX) envisager soit
- MimeTeX (c'est moins joli que du vrai LaTeX au niveau du rendu des équations, mais c'est simple à mettre en place... un simple cgi)
- LaTeXrender? (c'est du vrai LaTeX, donc pas de problème de support de telle ou telle commande, c'est aussi très joli, par contre c'est plus galère au niveau de l'install)
http://www.mayer.dial.pipex.com/linux.txt
http://www.mayer.dial.pipex.com/tex.htm
@+
SebCls?
- C'est vrai que pour l'instant mon action n'est pas complete (j'implemente encore frac sqrt sont pour bientot)mais de finaliser quelque chose comme ca cela prend plus de 2 semaine.
Je trouve ca dommage d'utiliser un serveur externe cela rend wikini dépendant et cela l'empeche de fonctionner sur intranet.
Mais je ne veux pas faire une guerre d'idée je vais finir mon action mais je ne m'impose pas je l'ai creer par ce qu'il y avais un reel besoin pour mon wiki.Je la propose parce que je pense que d'un certain point de vue elle apporte une bonne solution etant donné son rendue en html.Je suis tout a fait daccord avec toi pour dire que
MimeTeX et
LaTeXrender? surtout auront toujours un meilleur rendue visuel.
- Cependant je pensais que créer une action interne etait plus dans l'optique de wikini : simplicité autosuffisance .
D'autre part une action interne peut etre maintenue par la comunauté ce qui peut aussi etre un avantage .
- Il serait interressant d'avoir d'autre avis. de plus si tu veut de l'aide ,par ce qu'a terme il est plus interressant de se concentrer sur l'option qui serat choisie, écris moi.
ps : En plus avec une bonne feuille de style(ce qu'il n y a pas pour l'intant) les formules pourons etre agrandie suivant les parametres du navigateur ce qui est un avantage pour les mal voyants.
bye
GulP?
Il est vrai que le fait de pouvoir modifier la taille est une option intéressante, par contre que se passe-t-il si tu sélectionnes la formule.
Avec un système comme la génération d'image et les propriétés tag ou avec du
MathML (
MathMLWikini ) il est possible de
copier une formule.
- Je ne comprend pas trop..ce que tu veut dire --GulP?
Personnellement je n'essaierais pas de placer les symboles "à la main" comme tu le fais.
Au pire je chercherais du côté d'un convertisseur
LaTeX ->
MathML si tu ne veux absolument pas d'image et je délèguerais ainsi
l'affichage de la formule tout en conservant une écriture des math humainement possible.
Je ne considère pas non plus que
MimeTeX ou
LaTeXrender? rende "dépendant"
WikiNi.
Il y a deux solutions :
- soit installer soi même (sur son serveur l'une ou l'autre des solutions)
- soit installer un de ses outils sur le serveur de WikiNi
Une autre solution (beaucoup plus lourde) serait de reprendre le code de
MimeTeX pour faire la même chose en PHP
@+
SebCls?
pour ta premiere slolution il faut que le serveur puisse supporter ces outils
je suis daccord avec la deuxieme
mimetex la c'est compliqué et comme il génére des image il faut aussi avoir le serveur qu'il faut
- Que penses-tu de faire une page de discussion?
Sinon on pourrait étudier un mélange avec rendue html ou png
@+
GulP?
--
GulP?
Je pense vraiment que le mieux est d'installer un VRAI
LaTeX sur le seveur
WikiNi.
En effet, cela permet de faire des choses vachement mieux comme par exemple
générer des graphiques avec PSTricks, utiliser des packages tous faits pour tel ou tel domaine (pst-circ, pst-opt...)
Par contre je n'administre pas le serveur
WikiNi
J'ai posé la question de l'installation du serveur d'équations sur le forum de Spip
--
SebCls?
ListeDesActionsWikini
ActionsEnCoursDeDiscussion