Diff for /loncom/xml/lontexconvert.pm between versions 1.61 and 1.63

version 1.61, 2005/02/27 17:28:56 version 1.63, 2005/02/28 22:17:09
Line 98  sub convert_real { Line 98  sub convert_real {
  $Apache::lontexconvert::messedup=1;   $Apache::lontexconvert::messedup=1;
  die &mt("TeX unconverted due to errors");   die &mt("TeX unconverted due to errors");
     };      };
     alarm($Apache::lonnet::perlvar{'lonScriptTimeout'});      &Apache::lonxml::start_alarm();
     if ($ENV{'browser.mathml'}) {      if ($ENV{'browser.mathml'}) {
  $xmlstring=&tth::ttm($$texstring);   $xmlstring=&tth::ttm($$texstring);
  $xmlstring=~s/\<math\>/\<math xmlns=\"\&mathns\;\"\>/g;   $xmlstring=~s/\<math\>/\<math xmlns=\"\&mathns\;\"\>/g;
Line 113  sub convert_real { Line 113  sub convert_real {
     $xmlstring=~s/^\s*\<br clear\=\"all\"/\<br/s;      $xmlstring=~s/^\s*\<br clear\=\"all\"/\<br/s;
     $xmlstring=~s/^\s*//;      $xmlstring=~s/^\s*//;
     $xmlstring=~s/\s*$//;      $xmlstring=~s/\s*$//;
     alarm(0);      &Apache::lonxml::end_alarm();
     return ($xmlstring,$errorstring);      return ($xmlstring,$errorstring);
 }  }
   
Line 142  ENDCONV Line 142  ENDCONV
     return $xmlstring;      return $xmlstring;
 }  }
   
   sub clean_out_math_mode {
       my ($texstring)=@_;
       $$texstring=~s/(?!\\)\$//g;
       $$texstring=~s/\\[\)\(\]\[]//g;
       $$texstring=~s/\\ensuremath//g;
       return '';
   }
   
   sub displaystyle {
       my ($texstring)=@_;
       #has a $$ or \[ or \displaystyle in it, guessinng it's display mode
       if ($$texstring=~/[^\\]\$\$/ ||
    $$texstring=~/\\\[/ ||
    $$texstring=~/\\displaystyle/) { return 1; }
       return 0;
   }
   
 sub jsMath_converted {  sub jsMath_converted {
     my $texstring=shift;      my $texstring=shift;
     my $tag='span';      my $tag='span';
     if ($$texstring=~/[^\\]\$\$/) {      if (&displaystyle($texstring)) { $tag='div'; }
  #has a $$ in it, guessinng it's display mode      &clean_out_math_mode($texstring);
  $tag='div';  
     }  
     $$texstring=~s/(?!\\)\$//g;  
     $$texstring=~s/\\ensuremath//g;  
     return '<'.$tag.' class="math">'.$$texstring.'</'.$tag.'>';      return '<'.$tag.' class="math">'.$$texstring.'</'.$tag.'>';
 }  }
   
   sub mimetex_converted {
       my $texstring=shift;
       my $displaystyle=&displaystyle($texstring);
   
       &clean_out_math_mode($texstring);
   
       if ($displaystyle) {
    $$texstring='\\displaystyle \\Large '.$$texstring;
       }
       my $result='<img src="/cgi-bin/mimetex.cgi?'.&Apache::lonnet::escape($$texstring).'" />';
       if ($displaystyle) {
    $result='<center>'.$result.'</center>';
       }
       return $result;
   }
   
 sub converted {  sub converted {
     if ($ENV{'environment.texengine'} eq 'tth') {      if ($ENV{'environment.texengine'} eq 'tth') {
  return &tth_converted;   return &tth_converted;
     } elsif ($ENV{'environment.texengine'} eq 'jsMath') {      } elsif ($ENV{'environment.texengine'} eq 'jsMath') {
  return &jsMath_converted;   return &jsMath_converted;
       } elsif ($ENV{'environment.texengine'} eq 'mimetex') {
    return &mimetex_converted;
     }      }
     return &tth_converted;      return &tth_converted;
 }  }

Removed from v.1.61  
changed lines
  Added in v.1.63


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