Bonjour,
J’ai remplacé il y a peu le filtre TeX de Moodle par un vrai moteur LaTeX (sous Moodle 1.8.2, Windows 2003 Server). Comme j’ai un peu peiné pour y arriver, je vous communique la solution que j’ai trouvé :
1. Installer sur le serveur les dernières distributions pour Windows de MikTex , Ghostscript et ImageMagick (la variable système PATH du serveur devrait être mise à jour automatiquement).
2. Dans le fichier \filter\tex\latex.php placer la ligne 135 en commentaire (la condition est toujours vérifiée sous Windows) :
if ($this->execute($command, $log )) {
// return false;
}
3. Modifier la ligne 115 pour éviter de gros problèmes de performences du serveur (le filtre TeX de base reprendra alors la main en cas d'erreur LaTeX) :
$command = "{$CFG->filter_tex_pathlatex} --halt-on-error --interaction=errorstopmode $tex";
4. Ajouter ces lignes juste avant la ligne 101 :
$formula = str_replace('<','<',$formula);
$formula = str_replace('>','>',$formula);
$formula = str_replace('&','&',$formula);
$formula = preg_replace('!\r\n?!',' ',$formula);
5. Dans le menu d’administration de Moodle, aller dans Modules > Filtres > Notation Tex : Paramètres (le cache des images Tex est automatiquement vidé lors du chargement de cette page) et introduire comme chemins d’accès aux logiciels les commandes latex, dvips et convert sans autres définitions de répertoires ou guillemets.
6. Comme préambule LaTeX sur cette même page :
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\RequirePackage{amsmath,amssymb,latexsym}
Et voici le résultat...
Avant :
$$\displaystyle \int_{0}^{\infty} f(x) \pi(x) dx$$
$$\displaystyle f(x,y)=\frac{2a}{x+y}$$
$$\displaystyle C_6 H_{12} 0_6 \to 2\;C_2H_5OH + 2\;CO_2+chaleur$$
Et Après :