Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › latex et embed
Étiqueté : embed mathml latex answer
- Ce sujet contient 20 réponses, 4 participants et a été mis à jour pour la dernière fois par bernadette, le il y a 9 années et 8 mois.
-
AuteurMessages
-
-
20 décembre 2013 à 20:30 #1849
-
20 décembre 2013 à 23:09 #1853bernadetteMaître des clés
-
21 décembre 2013 à 00:04 #1855JulienModérateur::
En utilisant une variable d’environement, on peut conditionner l’affichage. Cela régle le problème.
Using an environment variable, you can condition the display. This solves the problem.
Exemple :
\if{\oef_environnement isin mode_images}{\(\bar{x}=\embed{reply55, 4}}{'\(\bar{x}=\frac{\embed{reply53, 4}}{\embed{reply54, 4}}=\embed{reply55, 4})'} \if{\oef_environnement notin mode_images}{ \answer{53}{}{...} \answer{54}{}{...}}
- Cette réponse a été modifiée le il y a 11 années par Julien.
-
-
20 décembre 2013 à 23:15 #1854jm.eversParticipant::
Hi,
Latex will not -never- support this, however in some cases MathML
(using firefox) can use inputfields anywhere ! in a latex constuct…
An inputfield in MathML using pseudo latex:
\input{size}{id}{style}{value}{readonly}
The value can be read by using something like:
var reply=document.getElementById(‘mathml’+id);
But make sure users use only Mathml & Firefox !!!
kind regards,
joke -
21 décembre 2013 à 08:36 #1857bernadetteMaître des clés::
Je pense qu’il vaudrait mieux que cela soit réglé hors de l’exercice.
Avoir dans oef quelque chose \special{mathml ….} à la place de \embed{}.Mais j’attends de voir aussi ce qu’on peut faire aussi avec canvas que développe Joke (pas de développement important de ma part avant avril …).
Bernadette
-
21 décembre 2013 à 17:39 #1858jm.eversParticipant::
Mathjax seems to allow inputfields in mathml as well.
Using a slightly different pseudo latex syntax,
\FormInput[class][value]{name}
see:https://github.com/leathrum/mathjax-ext-contrib/tree/master/forminput
this include is needed for support:http://cs.jsu.edu/mathjax-ext/contrib/forminput/forminput.jsMaybe we should adapt wims_mathml to allow same syntax?
Since google’s browser chromium is -at this point- not supporting native MathML…but advising javascript Mathjax as ‘add on’ for math displa (grrrr)
joke -
21 décembre 2013 à 17:53 #1859jm.eversParticipant::
As for canvas and mathml&input
see:
http://wims.math.leidenuniv.nl/canvas/drag_clickfill_mathml.html
joke -
27 décembre 2013 à 18:32 #1863bernadetteMaître des clés::
En tout cas, en ajoutant l’extension Mathajax à Google Chrome, les formules de math en mathml passent très bien. Merci, Joke, de l’avoir signalé ! Mais je reste quant à moi avec Firefox !
https://chrome.google.com/webstore/detail/mathjax-for-chrome/Bernadette
-
27 décembre 2013 à 19:57 #1864jm.eversParticipant::
Well here are some local data from a highschool in the Netherlands:
Approx 50% of our pupils use Chrome at home as default browser (on windows)
The rest is mainly Firefox (>=19) and MSIE (mostly version 9 and 10)Because of MathML in WIMS our school switched from default browser Chrome to Firefox.Our ‘systems administration’ preferred Chrome because it’s light weight and very fast on older pc-systems.
In using MathJax our pupils (and sysadmin) can use their favorite browser and use mathml…and canvas…and svg…and html-inputfields in MathML 🙂
joke -
28 décembre 2013 à 15:40 #1865jm.eversParticipant::
A small note on mathjax (again…)
I’ve installed mathjax on Leiden wims-mirror and on intranet school servers.
All browsers -except firefox- will now use MathJax for typesetting.
This line of javascript will exclude firefox:<script type="text/javascript"> if (navigator.userAgent.indexOf("Firefox") == -1){ var script = document.createElement("script"); script.type = "text/javascript"; script.src = "mathjax/MathJax.js?config=MML_HTMLorMML-full.js"; document.body.appendChild(script); } </script>
So now -in theory- all browsers could have nice looking mathtypesetting
(the price to pay is ofcourse a faily slow rendering of math) -
28 décembre 2013 à 17:17 #1866
-
28 décembre 2013 à 17:54 #1867jm.eversParticipant::
No , I’m afraid this calls for another (new) command, like Bernadette proposed something like \special{mathml ….}
However you work on wims-phtml directly, you can simply use use
\begin{html} <span xmlns="http://www.w3.org/1999/xhtml"> <textarea xmlns="http://www.w3.org/1999/xhtml" id="mathml0" size="5" style="vertical-align:middle;overflow:hidden;resize:none;color:red" >?</textarea> </span> \end{html}
or even better, use
\input{0}{5}{color:red}{?}{0}
which generates the dame code as above
and use some simple javascript function to read the inputfield.
The « \input » may be used anywhere in latex (fractions,matrix etc etc etc)
The \begin{html}\end{html} may include any valid html-thing (images, etc), as long as you tell the system it’s encoding / namespace is xmlns= »http://www.w3.org/1999/xhtml »
joke -
29 décembre 2013 à 13:21 #1868jm.eversParticipant::
Some demo OEF shows it all 🙂
Just copy and paste in createxo on http://wims.math.leidenuniv.nl/wims
Use any browser you like…\statement{
<script type= »text/javascript »>
function read_mathml(){
var p=0;
var reply=new Array();
while(document.getElementById(« mathml »+p)){
reply[p] = document.getElementById(« mathml »+p).value;
p++;
};
alert(« r\statement{
<script type= »text/javascript »>
function read_mathml(){
var p=0;
var reply=new Array();
while(document.getElementById(« mathml »+p)){
reply[p] = document.getElementById(« mathml »+p).value;
p++;
};
alert(« reply = « +reply);
}
</script>\(
\left(
\frac{\sqrt{\input{2}{0}{background-color:red;color:yellow;text-align:center}{?}{0}^{2}}}
{\pi \cdot \input{2}{1}{background-color:red;color:yellow;text-align:center}{?}{0}}
\right)^{ \input{3}{2}{background-color:red;color:yellow;text-align:center}{?}{0}}
= \left(\input{4}{3}{background-color:lightgreen;color:red;text-align:center}{?}{0}\right)^{\frac{1}{\pi}} = \input{6}{4}{background-color:lightgreen;color:red;text-align:center}{?}{0}
)
<hr />
\(
\Huge{\bigggint}^{\input{2}{5}{background-color:red;color:yellow;text-align:center}{?}{0}}_{\input{2}{6}{background-color:red;color:yellow;text-align:center}{?}{0}} f(x) \bf{d}x
)
<hr />
\(
\left(
\begin{array}{ccc}
1 & \input{1}{6}{background-color:orange;color:yellow;text-align:center}{?}{0} & 3 \\
4 & 5 & \input{1}{7}{background-color:blue;color:yellow;text-align:center}{?}{0} \\
\input{1}{8}{background-color:lightgreen;color:blue;text-align:center}{?}{0} & 8 & 9 \\
10 & 11 & \input{1}{9}{background-color:black;color:yellow;text-align:center}{?}{0}
\end{array}
\right)
)<hr />
<input type= »button » onclick= »javascript:read_mathml() » value= »click me »>
}eply = « +reply);
}
</script>\(
\left(
\frac{\sqrt{\input{2}{0}{background-color:red;color:yellow;text-align:center}{?}{0}^{2}}}
{\pi \cdot \input{2}{1}{background-color:red;color:yellow;text-align:center}{?}{0}}
\right)^{ \input{3}{2}{background-color:red;color:yellow;text-align:center}{?}{0}}
= \left(\input{4}{3}{background-color:lightgreen;color:red;text-align:center}{?}{0}\right)^{\frac{1}{\pi}} = \input{6}{4}{background-color:lightgreen;color:red;text-align:center}{?}{0}
)
<hr />
\(
\Huge{\bigggint}^{\input{2}{5}{background-color:red;color:yellow;text-align:center}{?}{0}}_{\input{2}{6}{background-color:red;color:yellow;text-align:center}{?}{0}} f(x) \bf{d}x
)
<hr />
\(
\left(
\begin{array}{ccc}
1 & \input{1}{6}{background-color:orange;color:yellow;text-align:center}{?}{0} & 3 \\
4 & 5 & \input{1}{7}{background-color:blue;color:yellow;text-align:center}{?}{0} \\
\input{1}{8}{background-color:lightgreen;color:blue;text-align:center}{?}{0} & 8 & 9 \\
10 & 11 & \input{1}{9}{background-color:black;color:yellow;text-align:center}{?}{0}
\end{array}
\right)
)<hr />
<input type= »button » onclick= »javascript:read_mathml() » value= »click me »>
}`
-
29 décembre 2013 à 13:31 #1869jm.eversParticipant::
Sorry, but something went really wrong in cutting & pasting here…
So forget previous ‘post’ and get the demo.oef at
http://84.83.123.204/demo.oef-
17 avril 2015 à 10:10 #2885Yves NOELParticipant::
Thank you Joke or this example.
I don’t know if it is still valid or if new developments have been made since your post making it obsolete.
I have few stupid questions :
How do you send to wims the values contained in the inputfields after the javascript function have read them ?
Should we tell to the javascript function to copy the contents of inputfields to a (hidden) input fields named reply1 ?
Does the oef exercise still contains « \answer » fields ?
Is it possible to call this javascript function when the user click on the usual « send the answer » button ?
Thanks
Yves
-
-
17 avril 2015 à 10:37 #2886Yves NOELParticipant::
OK I have found the \special{mathmlinput } command
This command at the moment is not available on all servers (for example available on wims.unice.fr but not on wims.auto.u-psud.fr). I have tried it on my personal svn version of WIMS and it is perfect ! It works with Chrome, Safari and Firefox
You can find help on this special command (on the Nice server) in possibiltés avancées (« advanced features » ?) in the createxo help section.
Yves
-
17 avril 2015 à 11:09 #2887jm.eversParticipant::
Hi,
Yes, it’s a very new command for the OEF interface
from Changelog:
—-
2015-03-10: add special method mathmlinput (Julien Lyotard)
____Although the pseudo latex command « \input » has been available since the introduction of MathML within WIMS (2012-07-02): but only for « native Mathml » Gecko browsers like Firefox.
Now through the default use of MathJax library it is fairly « crossbrowser ».
kind regards,
Joke -
17 avril 2015 à 11:49 #2888Yves NOELParticipant::
In fact I have problems when I click the « send answer » button.
I obtain a red error message (incomplete answer)Erreur Vous avez envoyé une réponse incomplète. Veuillez compléter vos données avant de les envoyer
I have also noticed that there is no « Insert the good answers » button.
This problem appears also with the code coming from the « advanced features » help.
any idea?
Yves
-
17 avril 2015 à 12:28 #2889bernadetteMaître des clés::
Je viens d’essayer le code
\statement{
\special{mathmlinput [\frac{reply1}{reply2}], 5,noanswer
reply 1
reply 2
}
}
\answer{}{x^2}{type=formal}
\answer{}{2}{type=numeric}et cela fonctionne (serveur svn bien sûr).
Le bouton y est bien : envoyez la réponse y est bien.
Bernadette
PS : bien sûr c’est quand même encore expérimental, donc il peut y avoir des bogues ou des syntaxes mal interprétées.
Vérifie que quand tu as fait un copier-coller, tu n’as pas pris des caractères bizarres.-
17 avril 2015 à 14:53 #2890
-
-
17 avril 2015 à 16:10 #2891bernadetteMaître des clés::
Tu veux dire le bouton en mode de développement ?
En effet, dans aucun des méthodes spéciales, pour l’instant.
Je sais faire, mais avec du copier coller, donc pour l’instant, je ne l’ai pas fait en attendant de penser à une meilleure solution qui ne
casse rien.
Mais le bouton « Envoyez » la réponse y est bien.Bernadette
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.