--- loncom/xml/lontexconvert.pm 2003/02/14 19:35:55 1.16
+++ loncom/xml/lontexconvert.pm 2004/01/28 17:16:27 1.29
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# TeX Conversion Module
#
-# $Id: lontexconvert.pm,v 1.16 2003/02/14 19:35:55 www Exp $
+# $Id: lontexconvert.pm,v 1.29 2004/01/28 17:16:27 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -44,30 +44,39 @@ package Apache::lontexconvert;
use strict;
use tth;
use vars qw($errorstring);
+use Apache();
use Apache::lonmsg;
use Apache::lonxml;
use Apache::lonmenu;
# ====================================================================== 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);
+ }
+ }
+ &Apache::lonnet::logthis("caled and use $options");
+ &Apache::lonnet::logthis("caller ".join(':',caller(0)));
+
+}
+
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');
- }
- }
+ &init_tth();
return &Apache::lonxml::xmlbegin().
&Apache::lonxml::fontsettings().
"\n
\n".
@@ -77,12 +86,16 @@ sub header {
# ================================================================== Conversion
+$Apache::lontexconvert::messedup=0;
sub converted {
my $texstring=shift;
my $xmlstring='[UNDISPLAYABLE]';
+ if ($Apache::lontexconvert::messedup) {
+ return '[TeX Unconverted Due To Previous Errors]';
+ }
eval(<<'ENDCONV');
- {
- local $SIG{SEGV}=sub { die; };
+ {
+ local $SIG{SEGV}=sub { $Apache::lontexconvert::messedup=1; die; };
if ($ENV{'browser.mathml'}) {
$xmlstring=&tth::ttm($$texstring);
$xmlstring=~s/\