--- loncom/xml/lontexconvert.pm 2005/02/24 10:09:32 1.58 +++ loncom/xml/lontexconvert.pm 2005/02/27 17:28:56 1.61 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # TeX Conversion Module # -# $Id: lontexconvert.pm,v 1.58 2005/02/24 10:09:32 albertel Exp $ +# $Id: lontexconvert.pm,v 1.61 2005/02/27 17:28:56 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,27 @@ ENDCONV return $xmlstring; } +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; + return '<'.$tag.' class="math">'.$$texstring.''; +} + +sub converted { + if ($ENV{'environment.texengine'} eq 'tth') { + return &tth_converted; + } elsif ($ENV{'environment.texengine'} eq 'jsMath') { + return &jsMath_converted; + } + return &tth_converted; +} + # ====================================================================== Footer sub footer { @@ -228,6 +251,7 @@ sub algebra { if ($style eq 'display') { $latex='$$'.$latex.'$$x'; } else { + # style is 'inline' $latex='\\ensuremath{'.$latex.'}'; } if ($target eq 'web' || $target eq 'analyze') { @@ -279,7 +303,6 @@ sub postprocess_algebra { # $string =~s/\\lim\\left\((.+?),(.+?),(.+?)\\right\)/\\lim_{$2\\to $3}$1/gs; - &Apache::lonnet::logthis($string); return $string; } 1;