Dragmath

AVERTISSEMENT : Pour utiliser DragMath, vous devez activer le filtre TeX dans Moodle. Les utilisateurs finaux devront également disposer d'un environnement d'exécution Java récent. DragMath n'est plus disponible dans le nouvel éditeur Atto introduit dans Moodle 2.7. DragMath était disponible dans l'éditeur TinyMCE de Moodle 2.7, il n'est pas distribué dans Moodle 2.8 et ultérieur. Il est disponible ailleurs sous la forme d'un plugin tiers qui peut être téléchargé et installé par un administrateur.

Introduction

Pour citer le W3C [1] :

Il s'agit d'un éditeur d'équations par glisser-déposer à code source libre écrit en Java.
Une fois qu'une expression est créée, l'utilisateur peut la convertir en une variété 
de différentes syntaxes linéaires pour les mathématiques, y compris MathML, LaTeX,
Érable, Maxima ou tout autre style défini par l'utilisateur.

Créé par Christoper Sangwin et Alexander Billingsley de l'Université de Birmingham dans le cadre du projet STACK, DragMath permet aux étudiants de construire des expressions mathématiques en utilisant une interface graphique glisser-déposer similaire en apparence à celle disponible dans de nombreuses suites bureautiques.

John Isner a initialement créé et maintenu plusieurs fichiers qui ont permis l'intégration de DragMath avec HTMLArea, l'éditeur de Moodle en 2007. DragMath a ensuite été maintenu par Marc Grober jusqu'à ce qu'il soit intégré dans Moodle avec la sortie de Moodle 2.0. Le développement de SEE par Mauno Korpelainen (un lien vers ces plugins se trouve ci-dessous) est une conséquence de l'intégration de DragMath dans tinyMCE.

Pour utiliser DragMath, les utilisateurs doivent avoir la version 1.5 ou supérieure de Java Runtime Environment (JRE) installée sur leur ordinateur de bureau. La plupart des systèmes sont livrés de série avec le JRE, vous n'aurez donc peut-être rien à faire. Si vous avez besoin d'installer le JRE manuellement, vous pouvez le télécharger depuis ici. Notez que le JRE est connu sous le nom de logiciel Java pour votre ordinateur, Java Runtime Environment, Java Runtime, Java Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM ou Java download.

Vous pouvez voir une démo de l'éditeur DragMath ici. L'interface DragMath est très intuitive et n'importe qui peut l'utiliser de manière productive après quelques minutes d'essais et d'erreurs. Si vous avez des questions sur l'éditeur, il y a un petit manuel ici qui traite également des différentes options de configuration, dont certaines sont brièvement mentionnées ci-dessous.

Utilisation de DragMath

DragMath est basé sur l'idée simple que l'utilisateur qui ne connaît pas beaucoup de TeX (prononcé Tech) peut encore créer des formules mathématiques pour la publication. Dans ce cas, Moodle est l'agent d'affichage de sorte que les formules TeX sont ensuite rendues sur un écran Moodle. Cela signifie essentiellement qu'avec peu d'expérience, n'importe quel professeur de mathématiques du collège peut générer toutes les formules dont il a besoin pour la plupart des aspects des mathématiques dans Moodle.

Créer des expressions simples

Pour commencer, cliquez sur le bouton d'insertion DragMath. L'interface DragMath s'ouvre.

Ouverture du Dragmath

La barre d'outils est différente de ce à quoi vous pouvez vous attendre, nous avons l'habitude de belles rangées de boutons, mais Dragmath doit utiliser des onglets. Chaque onglet est un ensemble de "modèles", c'est-à-dire que chaque symbole est un "modèle" et peut être glissé et déposé sur l'espace de travail.

L'interface DragMath

Pour terminer l'édition et insérer le script dans la page Moodle, cliquez sur le bouton Insérer. Cette interface simple, mais pas simpliste, est une force de DragMath. Il permet même aux novices de créer facilement des formules complexes.

Une séquence pour DragMath, cliquez sur une image pour l'agrandir
Sélectionnez l'onglet avec les symboles requis
Cliquer, maintenir enfoncé puis glisser-déposer un symbole
Entrer les valeurs, sélectionner un symbole d'opération
Sélectionner un autre symbole et glisser-déposer
Ajouter un signe égal (ou autre)
Ajouter une variable, (chi dans ce cas)
Insérer un clic
Voir le résultat encodé dans la boîte de dialogue d'édition

Cette même séquence d'opérations s'applique également à toutes les formules, à toutes les insertions, quelle que soit leur complexité.

Vous pouvez insérer un modèle à partir de la barre d'outils par glisser-déposer ou par un clic sur le modèle dans l'onglet, puis en cliquant dans l'espace de travail.

Créer des expressions plus complexes

Les expressions plus complexes sont à peu près les mêmes que ci-dessus. La création d'une simple matrice de multiplication, par exemple, semble complexe, mais dans DragNath, c'est en fait simple :

Une séquence pour une simple Matrice de Multiplication dans DragMath, cliquez sur une image pour l'agrandir
Sélectionnez l'onglet et ajoutez le multiplicateur
Cliquez, maintenez enfoncé puis glissez-déposez le symbole Matrix
Entrer les valeurs, sélectionner un symbole égal
Ajouter dans les lignes requises
Ajouter dans les colonnes requises
Modifier la matrice
Ajoutez le symbole égal
Ajouter et éditer dans la deuxième Matrice

Sauvegarde et restauration locales d'une expression DragMath

Lorsque vous appuyez sur le bouton Insérer, DragMath insère la chaîne d'exportation dans votre texte et la fenêtre DragMath se ferme. "La chaîne exportée ne peut plus être manipulée avec DragMath. Si vous décidez de changer la chaîne, vous avez deux options :

  • supprimer la chaîne de caractères (y compris les signes dollar ou tout autre symbole) et la recréer complètement à l'aide de DragMath;.
  • éditer l'expression à la main.

Vous ne pouvez pas dire à DragMath de relire l'expression et de l'afficher à nouveau en deux dimensions. Il s'agit d'une limitation théorique et non d'une limitation de DragMath.

Mais supposons que l'expression soit très compliquée. Il ne serait pas pratique de recommencer à zéro juste pour faire un simple changement. Avant d'insérer l'expression, vous pouvez sauvegarder une copie de l'expression (un fichier.drgm) sur votre disque local en utilisant le bouton Enregistrer (voir capture d'écran). Plus tard, si vous avez besoin de faire un changement, vous ouvrez le fichier.drgm enregistré.

Instructions DragMath

Un fichier.drgm contient une représentation tridimensionnelle de votre expression mathématique. C'est un fichier binaire qui ne peut être ouvert que par DragMath.

Édition supplémentaire

Il y a des moments où DragMath n'aura pas de symbole ou quelque chose que vous pourriez vouloir. Ou peut-être avez-vous oublié quelque chose dans le constructeur DragMath, donc vous voulez l'inclure manuellement. Très probablement, pour quelque chose comme la matrice créée plus tôt, je veux aller à 15, ce qui signifie que je dois changer la structure de la matrice, et éditer en quelques nombres. Cela se fait facilement avec un peu de prévoyance. Copiez, collez, supprimez ou modifiez ce que vous voulez et ce que vous ne voulez pas.

Edition manuelle d'une construction DragMath, cliquez sur une image pour l'agrandir
Sélectionner, copier et coller la matrice originale
Modifier en fonction des besoins réels
Supprimer la matrice d'origine

Parfois, cependant, vous voulez simplement inclure quelque chose que vous avez oublié, ou plutôt, ajouter quelque chose qui n'était pas là en premier lieu.

Edition manuelle précise d'une construction DragMath, cliquez sur une image pour l'agrandir
Construire l'équation originale
Copier, puis modifier en fonction des besoins réels
Retour à la page éditée

Ce que DragMath fait et comment il le fait

Fichiers de configuration

DragMath vous permet de créer vos propres fichiers de configuration. Cela signifie qu'il peut être utilisé pour analyser et afficher ce que vous lui dites d'analyser et d'afficher. A titre d'exemple, DragMath est livré avec un certain nombre de fichiers de configuration, dont l'un a été spécialement conçu pour placer des jetons à double dollar avant et après le texte inséré. Nous avons vu un certain nombre de personnes changer les jetons TeX dans Modle à l'aide de MathJax, puis nous sommes restés perplexes sur le fait que DragMath ne fonctionne plus. Aucun DragMath ne fonctionne encore, mais il s'agit probablement d'insérer des jetons que MathJax n'analyse pas. Cela peut prêter à confusion si vous avez plus d'une technologie d'affichage en place. DragMath vous permet de modifier les jetons qu'il insère, de sorte que vous pouvez très facilement, par exemple, demander à DragMath d'insérer startmath ou endmath si c'est ce que vous voulez utiliser pour les jetons.

Fichiers de langue

DragMath peut également utiliser plusieurs langues.

Vous voulez utiliser DragMath mais vous ne voulez pas utiliser le filtre TeX ?

Quoi ?

Oui, Les développeurs de Moodle ont décidé que vous ne devriez pas utiliser DragMath à moins d'avoir utilisé le filtre Moodle TeX (oui, malgré les objections de beaucoup de gens.) Est-ce que cela signifie que le filtre TeX est la meilleure solution ? A peine. Le filtre TeX est assez long dans la dent, a désespérément besoin d'une révision, et ne fournit essentiellement qu'une solution de repli à un binaire mimetex si vous n'avez pas installé une distribution TeX. Il y a beaucoup d'autres options pour l'affichage mathématique dans Moodle, qui peuvent être beaucoup plus faciles à configurer et à utiliser !

Procédure

Découplage de DragMath du filtre Tex

Puisque la configuration par défaut de tinymce (l'éditeur par défaut) nécessite que le filtre TeX soit activé avant que le plugin Dragmath puisse être utilisé, nous devons modifier le fichier lib/editor/tinymce/lib.php.

Tout d'abord, faites une copie de ce fichier pour vous assurer que vous pouvez revenir à l'original.

Deuxièmement, ouvrez le fichier pour l'éditer (avec un éditeur approprié qui ne fera pas des choses invisibles au contenu de votre fichier).

Troisièmement, localisez les lignes 107-111 :

if (array_key_exists('filter/tex', $filters)) {
$xdragmath = 'dragmath,';
} else {
$xdragmath = ;
}

Quatrièmement, remplacez toutes ces lignes par cette ligne :

$xdragmath = 'dragmath,';

supprimer l'instruction si qui rend DragMath visible uniquement si le filtre TeX est activé.

Cinquièmement, sauvegardez le fichier.

Sixièmement, remplacez le fichier original lib/editor/tinymce/lib.php par cette version modifiée.

Mise en place d'un autre mécanisme d'affichage

DragMath apparaît maintenant dans votre éditeur, mais vous n'avez aucun moyen d'afficher le TeX ou tout autre code que vous pouvez insérer avec DragMath. Vous pouvez explorer la documentation et le forum Math et vous trouverez d'autres façons d'afficher Math dans Moodle. Une façon très populaire est d'utiliser MathJax. Sous Moodle 2.x, le champ AdditionalHtml peut être utilisé pour ajouter la référence à MathJax et même faire de la configuration. Pour ce faire, en tant qu'administrateur de votre site, rendez-vous sur : Administration du site > Présentation > HTML additionnel > Dans HEAD.

<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" media="screen" />
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script>
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
MathJax.Hub.Config({
   tex2jax: {
     inlineMath: [ ['$$','$$'], ["\\(","\\)"], ['@i','@i'] ], 
     displayMath:[ ["\\[","\\["], ['@d','@d'] ],
     processEscapes: true
   }
 });
</script>

Sauvegarder les modifications.

Assurez-vous que le filtre Tex et le filtre Algebra sont désactivés dans Administration du site > Plugins > Filtres > Gérer les filtres

Votre moodle 2 utilise maintenant MathJax à partir d'un serveur cloud dans cdn.mathjax.org avec des délimiteurs donnés (dans cet exemple double dollars et @i pour inlineMath et @d pour displayMath). Vous pouvez choisir d'utiliser d'autres délimiteurs dans la configuration si vous le souhaitez ou permuter les délimiteurs existants, MAIS vous ne pouvez pas utiliser les délimiteurs que Moodle utilise à d'autres fins et vous devez être très prudent avec la syntaxe. Vous n'avez pas besoin d'avoir le même jeton pour le début et la fin (par exemple, on pourrait utiliser starttmath et endmath comme jetons. Voir http://mathjax.org pour plus d'informations sur ces paramètres et d'autres paramètres.

"Attendez !", dites-vous. "Et les trois premières lignes que j'ai ajoutées à AdditionalHtml ?" On pensait que tu ne demanderais jamais. Ces lignes ajoutent l'accès à jsxgraph et GeoNextReader que vous pouvez trouver sur ces forums et sur le site de jsxgraph, http://jsxgraph.uni-bayreuth.de/wp/. Considérez cela comme temporaire, car vous devriez mettre à jour la référence jsxgraph pour utiliser sa source cloud. Voir la discussion ici : http://jsxgraph.uni-bayreuth.de/wp/download/.

Voir aussi

Discussion de la transition du noyau DragMath vers le noyau Moodle : http://moodle.org/mod/forum/discuss.php?d=125977&parent=551794