--- loncom/xml/lontexconvert.pm 2003/03/31 16:34:08 1.21 +++ loncom/xml/lontexconvert.pm 2003/09/19 16:12:50 1.25 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # TeX Conversion Module # -# $Id: lontexconvert.pm,v 1.21 2003/03/31 16:34:08 www Exp $ +# $Id: lontexconvert.pm,v 1.25 2003/09/19 16:12:50 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -83,7 +83,7 @@ sub converted { my $texstring=shift; my $xmlstring='[UNDISPLAYABLE]'; if ($Apache::lontexconvert::messedup) { - return '[Uncoverted Due To Previous Errors]'; + return '[TeX Uncoverted Due To Previous Errors]'; } eval(<<'ENDCONV'); { @@ -98,6 +98,8 @@ sub converted { $xmlstring=&tth::tth($$texstring); $errorstring.=&tth::ttherror(); } + $xmlstring=~s/^\s*//; + $xmlstring=~s/\s*$//; } ENDCONV if ($Apache::lontexconvert::messedup || &tth::tthmessedup()) { @@ -127,7 +129,8 @@ sub footer { sub to_convert { my ($string) = @_; - $string=~s/\/ /g; + $string=~s/\/ /gs; + $string=~s/\s/ /gs; $string=&HTML::Entities::decode($string); return &converted(\$string); } @@ -174,11 +177,20 @@ sub msgtexconverted { &tth::tthoptions('-L -u0'); } } - $message=~s/(\$\$.+?\$\$)/&to_convert($1)/ge; - $message=~s/(\$.+?\$)/&to_convert($1)/ge; - $message=~s/(\\\(.+?\\\))/&to_convert($1)/ge; - $message=~s/(\\\[.+?\\\])/&to_convert($1)/ge; - return &smiley($message).$errorstring; + my $outmessage=''; + my $tex=0; + foreach (split(/(?:\<\;|\<)\/*m\s*(?:\>\;|\>)/i,$message)) { + if ($tex) { + $outmessage.=&to_convert($_); $tex=0; + } else { + $outmessage.=&smiley($_); $tex=1; + } + } + if (wantarray) { + return ($outmessage,$errorstring); + } else { + return $outmessage.$errorstring; + } } 1;