Diff for /loncom/xml/lontexconvert.pm between versions 1.112.2.4 and 1.112.2.5

version 1.112.2.4, 2014/06/18 06:48:47 version 1.112.2.5, 2016/08/05 21:04:25
Line 298  sub MathJax_converted { Line 298  sub MathJax_converted {
     }      }
 }  }
   
   
 sub jsMath_converted {  
     my $texstring=shift;  
     my $tag='span';  
     if (&displaystyle($texstring)) { $tag='div'; }  
     &clean_out_math_mode($texstring);  
     return &jsMath_header().  
  '<'.$tag.' class="math">'.$$texstring.'</'.$tag.'>';  
 }  
   
 {  
     my @jsMath_sent_header;  
     sub jsMath_reset {  
  undef(@jsMath_sent_header);  
     }  
     sub jsMath_push {  
  push(@jsMath_sent_header,0);  
     }  
     sub jsMath_header {  
  if (!@jsMath_sent_header) {  
     &Apache::lonnet::logthis("mismatched calls of jsMath_header and jsMath_process");  
     return '';  
  }  
  return '' if $jsMath_sent_header[-1];  
  $jsMath_sent_header[-1]=1;  
  return  
             '<script type="text/javascript">  
                      function NoFontMessage () {}  
                      jsMath = {Parser: {prototype: {environments: {\'eqnarray*\' :[\'Array\',null,null,\'rcl\',[5/18,5/18],3,\'D\']}}}};  
                    </script>'."\n".  
     '<script type="text/javascript" src="/adm/jsMath/jsMath.js"></script>'."\n";  
     }  
     sub jsMath_process {  
  my $state = pop(@jsMath_sent_header);  
  return '' if !$state;  
  return "\n".  
     '<script type="text/javascript">jsMath.Process()</script>'."\n";  
     }  
     sub jsMath_state {  
  my ($level) = @_;  
  return $jsMath_sent_header[$level];  
     }  
 }  
   
 sub tex_engine {  sub tex_engine {
     if (exists($env{'form.texengine'})) {      if (exists($env{'form.texengine'})) {
  if ($env{'form.texengine'} ne '') {   if ($env{'form.texengine'} ne '') {
               if (lc($env{'form.texengine'}) eq 'jsmath') {
                   return 'MathJax';
               }
             return $env{'form.texengine'};              return $env{'form.texengine'};
         }          }
     }          }    
     if ($env{'request.course.id'}      if ($env{'request.course.id'}
  && exists($env{'course.'.$env{'request.course.id'}.'.texengine'})) {   && exists($env{'course.'.$env{'request.course.id'}.'.texengine'})) {
           if (lc($env{'course.'.$env{'request.course.id'}.'.texengine'}) eq 'jsmath') {
               return 'MathJax';
           }
  return $env{'course.'.$env{'request.course.id'}.'.texengine'};   return $env{'course.'.$env{'request.course.id'}.'.texengine'};
     }      }
     if (exists($env{'environment.texengine'})) {      if (exists($env{'environment.texengine'})) {
           if (lc($env{'environment.texengine'}) eq 'jsmath') {
               return 'MathJax';
           }
  return $env{'environment.texengine'};   return $env{'environment.texengine'};
     }      }
     return 'tth';      return 'tth';
 }  }
   
 sub init_math_support {  sub init_math_support {
     my ($inherit_jsmath) = @_;  
     &init_tth();      &init_tth();
     &Apache::lontexconvert::jsMath_push();  
     if (lc(&tex_engine()) eq 'jsmath' ||  
  ($inherit_jsmath && &jsMath_state(-2))) {  
  return &Apache::lontexconvert::jsMath_header();  
     }  
     &Apache::lontexconvert::MathJax_push();      &Apache::lontexconvert::MathJax_push();
     if (lc(&tex_engine()) eq 'mathjax') { # ||      if (lc(&tex_engine()) eq 'mathjax') {
         #($inherit_jsmath && &jsMath_state(-2))) {  
         return &Apache::lontexconvert::MathJax_header();          return &Apache::lontexconvert::MathJax_header();
     }      }
     return;      return;
Line 430  sub converted { Line 388  sub converted {
     if ($mode =~ /tth/i) {      if ($mode =~ /tth/i) {
  return &tth_converted($string);   return &tth_converted($string);
     } elsif ($mode =~ /jsmath/i) {      } elsif ($mode =~ /jsmath/i) {
  return &jsMath_converted($string);   return &jMathJax_converted($string);
     } elsif ($mode =~ /mathjax/i) {      } elsif ($mode =~ /mathjax/i) {
         return &MathJax_converted($string);          return &MathJax_converted($string);
     } elsif ($mode =~ /mimetex/i) {      } elsif ($mode =~ /mimetex/i) {
Line 641  Header Line 599  Header
 =item displaystyle()  =item displaystyle()
   
   
 =item jsMath_converted()  
   
 =item MathJax_converted()  =item MathJax_converted()
         - Mimics the jsMath functionality  
   
 =item tex_engine()  =item tex_engine()
   

Removed from v.1.112.2.4  
changed lines
  Added in v.1.112.2.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>