Subversion Repositories wimsdev

Rev

Rev 15465 | Rev 17865 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. !reset inputsize
  2. !set force_mathml=yes
  3. !if $wims_read_parm=$empty
  4.   !exit
  5. !endif
  6. !if $wims_read_parm=help
  7.   !read help/$lang/special/mathmlinput.phtml
  8.   !exit
  9. !endif
  10. !set prompt_empty_=\cdots\cdots\cdots
  11. !set parm=!replace internal ,   r by $  r in $wims_read_parm
  12. !set parm=!replace internal $   $ by $\
  13. $ in $parm
  14.  
  15. !set code=!item 1 of $parm
  16. !set code=!declosing $code
  17.  
  18. !set inputsize=!item 2 to -1 of $parm
  19. !set parm=!line 2 to -1 of $inputsize
  20. !set inputsize=!line 1 of $inputsize
  21.  
  22. !if noanswer iswordof $inputsize
  23.   !set noanswer=1
  24. !endif
  25. !set inputsize=!item 1 of $inputsize
  26. !set inputsize=!text select 0123456789 in $inputsize
  27. !default inputsize=5
  28. !set inputsize=!items2words $inputsize
  29.  
  30. !set parmcnt=!linecnt $parm
  31. !set parm=!sort reverse line $parm
  32.  
  33. !set pretext=!replace internal reply by REPLY in $code
  34.  
  35. !for tt = 1 to $parmcnt
  36.   !set ld=!line $tt of $parm
  37.   !set upcase=!uppercase $(ld[1])
  38.   !reset inputsize_tmp
  39.   !distribute item $ld into m_,inputsize_tmp,css
  40.   !default inputsize_tmp=$inputsize
  41.   !set reply_tmp=!nospace $m_
  42.   !set rep_tmp=!replace internal reply by r in $reply_tmp
  43.   !set n_=!text select 0123456789 in $reply_tmp
  44.   !set n_=$[$n_]
  45.   !bound n_ between integer 1 and 100 default $
  46.   !if $printing=yes
  47.     !set pretext=!replace internal REPLY$n_ by $prompt_empty_ in $pretext
  48.   !else
  49.     !if $n_!=$empty and $(replytype$n_) iswordof numeric nocase case atext chemformula \
  50.         range litexp algexp formal equation function raw symtext default aset fset set numexp
  51.       !set embedded=!append item r$n_ to $embedded
  52.       !if debug iswordof $m_oefenv and ?analyze notin $(replygood$n_)
  53.         !read oef/special/debug.input $n_
  54.       !endif
  55.       !set pretext=!replace internal REPLY$n_ by $ \input{$(inputsize_tmp)}{$n_}{$(css)}{$(reply$n_)}{0} $ in $pretext
  56.       !set hlist=$hlist<input type="hidden" name="reply$n_" value="" />
  57.       !set formm=$formm document.forms['replyform'].reply$n_.value=document.getElementById("mathml"+$n_).value;
  58.       !set nrep=!append item $n_ to $nrep
  59.     !endif
  60.   !endif
  61. !next tt
  62. !if $printing=yes
  63.   \($pretext)
  64.   !exit
  65. !endif
  66. !if $q_form=yes
  67.   <script>function read_mathml(){ $formm }</script>
  68.   \( $pretext )
  69.   $hlist
  70.   !reset hlist
  71.   !set oef_js_submit=$oef_js_submit read_mathml();
  72. !else
  73.   !if $cmd=hint
  74.     !set noanswer=1
  75.   !endif
  76.   !readproc themes/$wims_theme/oefcolors
  77.   !if $oef_indbad=$empty
  78.     !readproc themes/oefcolors
  79.   !endif
  80.   !if $presentgood>0
  81.     !distribute item $oef_indbad,$oef_indgood,$oef_indforget,$oef_indpartial,$oef_indprec\
  82.     into colorr_bad,colorr_good,colorr_forget,colorr_partial,colorr_prec
  83.   !else
  84.     !distribute item black,black,black,black,black\
  85.     into colorr_bad,colorr_good,colorr_forget,colorr_partial,colorr_prec
  86.   !endif
  87.   !set codegood=$code
  88.   !set codereply=$code
  89.   !set test=0
  90.   !for tt = 1 to $parmcnt
  91.     !reset inputsize_tmp
  92.     !set ld=!line $tt of $parm
  93.     !distribute item $ld into m_,inputsize_tmp,css
  94.     !default inputsize_tmp=$inputsize
  95.     !set m_=!text select 0123456789 in $m_
  96.     !set m_=$[$m_]
  97.     !if $m_ isitemof $nrep
  98.       !default reply_$m_=$(reply$m_)
  99.       !set tt1=!word 1 of $(replygood$m_)
  100.       !if $tt1!=?analyze
  101.         !set cl=$(colorr_$(diareply$m_))
  102.       !else
  103.         !set cl=$colorr_ana
  104.         !set noanswer=1
  105.       !endif
  106.       !if $(diareply$m_)!=good
  107.         !set test=1
  108.       !endif
  109.       !set replytolatex=!rawmath $(reply_$m_)
  110.       !set replytolatex=!texmath $replytolatex
  111.       !set rgoodtolatex=!rawmath $(replyGood$m_)
  112.       !set rgoodtolatex=!texmath $rgoodtolatex
  113.       !set defaultrgoodtolatex=!rawmath $(replygood$m_)
  114.       !default rgoodtolatex=!texmath $defaultrgoodtolatex
  115.       !set codereply=!replace internal reply$m_ by $ \color{$cl}{$replytolatex} $ in $codereply
  116.       !set codegood=!replace internal reply$m_ by $ $(rgoodtolatex)$ in $codegood
  117.     !endif m_
  118.   !next tt
  119.   !if $test=1 and $noanswer!=1 and $presentgood>0
  120.     \( $codereply \quad\) \(\quad $codegood\)
  121.   !else
  122.     \( $codereply \)
  123.   !endif
  124. !endif
  125.