--- loncom/xml/lontexconvert.pm 2005/02/24 09:54:01 1.55
+++ loncom/xml/lontexconvert.pm 2005/02/28 19:08:11 1.62
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# TeX Conversion Module
#
-# $Id: lontexconvert.pm,v 1.55 2005/02/24 09:54:01 albertel Exp $
+# $Id: lontexconvert.pm,v 1.62 2005/02/28 19:08:11 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -117,12 +117,14 @@ sub convert_real {
return ($xmlstring,$errorstring);
}
-sub converted {
+sub tth_converted {
my $texstring=shift;
my $xmlstring='['.&mt('UNDISPLAYABLE').']';
if ($Apache::lontexconvert::messedup) {
return '['.&mt('TeX unconverted due to previous errors').']';
}
+ $$texstring ='\\documentstyle{article}'.$$texstring;
+
eval(<<'ENDCONV');
($xmlstring,$errorstring)=&convert_real($texstring)
ENDCONV
@@ -140,6 +142,58 @@ ENDCONV
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 {
+ my $texstring=shift;
+ my $tag='span';
+ if (&displaystyle($texstring)) { $tag='div'; }
+ &clean_out_math_mode($texstring);
+ 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='';
+ if ($displaystyle) {
+ $result='