--- loncom/xml/lontexconvert.pm 2005/02/24 10:09:32 1.58 +++ loncom/xml/lontexconvert.pm 2005/02/25 05:54:01 1.59 @@ -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.59 2005/02/25 05:54:01 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,29 @@ 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'; + } + &Apache::lonnet::logthis($$texstring); + $$texstring=~s/(?!\\)\$//g; + $$texstring=~s/\\ensuremath//g + &Apache::lonnet::logthis($$texstring); + 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 {