--- loncom/xml/lontexconvert.pm 2003/09/19 16:12:50 1.25 +++ loncom/xml/lontexconvert.pm 2004/05/25 06:11:49 1.37 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # TeX Conversion Module # -# $Id: lontexconvert.pm,v 1.25 2003/09/19 16:12:50 www Exp $ +# $Id: lontexconvert.pm,v 1.37 2004/05/25 06:11:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,73 +42,103 @@ package Apache::lontexconvert; use strict; -use tth; +use tth(); use vars qw($errorstring); use Apache(); -use Apache::lonmsg; -use Apache::lonxml; -use Apache::lonmenu; +use Apache::lonmsg(); +use Apache::lonxml(); +use Apache::lonmenu(); +use Apache::lonlocal; # ====================================================================== Header +sub init_tth { + my $options=$ENV{'course.'.$ENV{'request.course.id'}.'.tthoptions'}; + if ($ENV{'browser.mathml'}) { + &tth::ttminit(); + if ($ENV{'browser.unicode'}) { + &tth::ttmoptions('-L -u1 '.$options); + } else { + &tth::ttmoptions('-L -u0 '.$options); + } + } else { + &tth::tthinit(); + if ($ENV{'browser.unicode'}) { + &tth::tthoptions('-L -u1 '.$options); + } else { + &tth::tthoptions('-L -u0 '.$options); + } + } +} + sub header { - $errorstring=''; - my $time=time; - if ($ENV{'browser.mathml'}) { - &tth::ttminit(); - if ($ENV{'browser.unicode'}) { - &tth::ttmoptions('-L -u1'); - } else { - &tth::ttmoptions('-L -u0'); - } - } else { - &tth::tthinit(); - if ($ENV{'browser.unicode'}) { - &tth::tthoptions('-L -u1'); - } else { - &tth::tthoptions('-L -u0'); - } - } - return &Apache::lonxml::xmlbegin(). - &Apache::lonxml::fontsettings(). - "\n
\n". - &Apache::lonmenu::registerurl(undef,'tex'). - "\n\n"; + $errorstring=''; + my $time=time; + &init_tth(); + return &Apache::lonxml::xmlbegin(). + &Apache::lonxml::fontsettings(). + "\n\n". + &Apache::lonmenu::registerurl(undef,'tex'). + "\n\n"; } # ================================================================== Conversion $Apache::lontexconvert::messedup=0; -sub converted { - my $texstring=shift; - my $xmlstring='[UNDISPLAYABLE]'; - if ($Apache::lontexconvert::messedup) { - return '[TeX Uncoverted Due To Previous Errors]'; - } - eval(<<'ENDCONV'); - { + +# we need this routine because &converted can get called from inside +# of the safespace (through &xmlparse('