--- loncom/xml/lontexconvert.pm 2005/02/27 17:28:56 1.61 +++ 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.61 2005/02/27 17:28:56 albertel Exp $ +# $Id: lontexconvert.pm,v 1.62 2005/02/28 19:08:11 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -142,23 +142,54 @@ 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 ($$texstring=~/[^\\]\$\$/) { - #has a $$ in it, guessinng it's display mode - $tag='div'; - } - $$texstring=~s/(?!\\)\$//g; - $$texstring=~s/\\ensuremath//g; + if (&displaystyle($texstring)) { $tag='div'; } + &clean_out_math_mode($texstring); return '<'.$tag.' class="math">'.$$texstring.''; } +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='
'.$result.'
'; + } + return $result; +} + sub converted { if ($ENV{'environment.texengine'} eq 'tth') { return &tth_converted; } elsif ($ENV{'environment.texengine'} eq 'jsMath') { return &jsMath_converted; + } elsif ($ENV{'environment.texengine'} eq 'mimetex') { + return &mimetex_converted; } return &tth_converted; }