[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /xml lontexconvert.pm

raeburn raeburn at source.lon-capa.org
Fri May 25 12:42:28 EDT 2012


raeburn		Fri May 25 16:42:28 2012 EDT

  Modified files:              (Branch: version_2_11_X)
    /loncom/xml	lontexconvert.pm 
  Log:
  - For 2.11.
    - Reinstate 1.109 (reverse changes in 1.112.2.1). MathJax now in 2.11.
  
  
Index: loncom/xml/lontexconvert.pm
diff -u loncom/xml/lontexconvert.pm:1.112.2.1 loncom/xml/lontexconvert.pm:1.112.2.2
--- loncom/xml/lontexconvert.pm:1.112.2.1	Thu May 10 19:19:30 2012
+++ loncom/xml/lontexconvert.pm	Fri May 25 16:42:28 2012
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # TeX Conversion Module
 #
-# $Id: lontexconvert.pm,v 1.112.2.1 2012/05/10 19:19:30 raeburn Exp $
+# $Id: lontexconvert.pm,v 1.112.2.2 2012/05/25 16:42:28 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -241,6 +241,36 @@
     return 0;
 }
 
+sub MathJax_converted {
+    my $texstring=shift;
+    my $tag='math/tex;';
+    if (&displaystyle($texstring)) { $tag='math/tex; mode=display'; }
+    &clean_out_math_mode($texstring);
+    return &MathJax_header().
+      '<script type="'.$tag.'">'.$$texstring.'</script>';
+}
+
+{
+    #Relies heavily on the previous jsMath installation
+    my @MathJax_sent_header;
+    sub MathJax_reset {
+        undef(@MathJax_sent_header);
+    }
+    sub MathJax_push {
+        push(@MathJax_sent_header,0);
+    }
+    sub MathJax_header {
+        if (!@MathJax_sent_header) {
+            &Apache::lonnet::logthis("mismatched calls of MathJax_header and MathJax_process");
+            return '';
+        }
+        return '' if $MathJax_sent_header[-1];
+        $MathJax_sent_header[-1]=1;
+        return
+          '<script type="text/javascript" src="/adm/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>'."\n";
+    }
+}
+
 sub jsMath_converted {
     my $texstring=shift;
     my $tag='span';
@@ -308,6 +338,11 @@
 	($inherit_jsmath && &jsMath_state(-2))) {
 	return &Apache::lontexconvert::jsMath_header();
     }
+    &Apache::lontexconvert::MathJax_push();
+    if (lc(&tex_engine()) eq 'mathjax') { # ||
+        #($inherit_jsmath && &jsMath_state(-2))) {
+        return &Apache::lontexconvert::MathJax_header();
+    }
     return;
 }
 
@@ -368,6 +403,8 @@
 	return &tth_converted($string);
     } elsif ($mode =~ /jsmath/i) {
 	return &jsMath_converted($string);
+    } elsif ($mode =~ /mathjax/i) {
+        return &MathJax_converted($string);
     } elsif ($mode =~ /mimetex/i) {
 	return &mimetex_converted($string);
     } elsif ($mode =~ /raw/i) {
@@ -576,6 +613,9 @@
 
 =item jsMath_converted()
 
+=item MathJax_converted()
+        - Mimics the jsMath functionality
+
 =item tex_engine()
 
 




More information about the LON-CAPA-cvs mailing list