--- loncom/xml/lontexconvert.pm 2006/10/24 01:28:47 1.80
+++ loncom/xml/lontexconvert.pm 2008/09/10 19:45:23 1.89
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# TeX Conversion Module
#
-# $Id: lontexconvert.pm,v 1.80 2006/10/24 01:28:47 albertel Exp $
+# $Id: lontexconvert.pm,v 1.89 2008/09/10 19:45:23 droeschl Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -108,6 +108,14 @@ sub convert_real {
$xmlstring=~s/^\s*\
jsMath.Process()';
+ return "\n".
+ ''."\n";
+ }
+ sub jsMath_state {
+ my ($level) = @_;
+ return $jsMath_sent_header[$level];
+ }
+}
+
+sub tex_engine {
+ if (exists($env{'form.texengine'})) {
+ if ($env{'form.texengine'} ne '') {
+ return $env{'form.texengine'};
+ }
+ }
+ if ($env{'request.course.id'}
+ && exists($env{'course.'.$env{'request.course.id'}.'.texengine'})) {
+ return $env{'course.'.$env{'request.course.id'}.'.texengine'};
+ }
+ if (exists($env{'environment.texengine'})) {
+ return $env{'environment.texengine'};
}
+ return 'tth';
}
sub init_math_support {
+ my ($inherit_jsmath) = @_;
&init_tth();
&Apache::lontexconvert::jsMath_push();
- if ($env{'environment.texengine'} eq 'jsMath' ||
- $env{'form.texengine'} eq 'jsMath' ) {
+ if (lc(&tex_engine()) eq 'jsmath' ||
+ ($inherit_jsmath && &jsMath_state(-2))) {
return &Apache::lontexconvert::jsMath_header();
}
return;
@@ -232,7 +262,7 @@ sub mimetex_converted {
sub converted {
my ($string,$mode)=@_;
- if ($mode eq '') { $mode=$env{'environment.texengine'}; }
+ if ($mode eq '') { $mode = &tex_engine(); }
if ($mode =~ /tth/i) {
return &tth_converted($string);
} elsif ($mode =~ /jsmath/i) {
@@ -323,7 +353,7 @@ sub msgtexconverted {
sub algebra {
use AlgParser;
- my ($string,$target,$style)=@_;
+ my ($string,$target,$style,$parstack,$safeeval)=@_;
my $parser = new AlgParserWithImplicitExpand;
$string=&prepare_algebra($string);
my $ret = $parser->parse($string);
@@ -340,7 +370,9 @@ sub algebra {
$latex='\\ensuremath{'.$latex.'}';
}
if ($target eq 'web' || $target eq 'analyze') {
- $result = &converted(\$latex);
+ my $display=&Apache::lonxml::get_param('display',$parstack,$safeeval);
+ $result = &converted(\$latex,$display);
+# $result = &converted(\$latex);
} else {
$result = $latex;
}