version 1.6, 2002/07/29 22:06:38
|
version 1.14, 2003/02/03 18:03:53
|
Line 37
|
Line 37
|
# to any other parties under any circumstances. |
# to any other parties under any circumstances. |
# |
# |
# 05/29/00,05/30,10/11,10/20 Gerd Kortemeyer |
# 05/29/00,05/30,10/11,10/20 Gerd Kortemeyer |
# 05/03/2001 Scott Harrison |
|
# 5/4 Gerd Kortemeyer |
# 5/4 Gerd Kortemeyer |
|
|
package Apache::lontexconvert; |
package Apache::lontexconvert; |
Line 55 sub header {
|
Line 54 sub header {
|
my $time=time; |
my $time=time; |
if ($ENV{'browser.mathml'}) { |
if ($ENV{'browser.mathml'}) { |
&tth::ttminit(); |
&tth::ttminit(); |
|
if ($ENV{'browser.unicode'}) { |
|
&tth::ttmoptions('-L -u1'); |
|
} else { |
|
&tth::ttmoptions('-L -u0'); |
|
} |
} else { |
} else { |
&tth::tthinit(); |
&tth::tthinit(); |
|
if ($ENV{'browser.unicode'}) { |
|
&tth::tthoptions('-L -u1'); |
|
} else { |
|
&tth::tthoptions('-L -u0'); |
|
} |
} |
} |
return &Apache::lonxml::xmlbegin(). |
return &Apache::lonxml::xmlbegin(). |
&Apache::lonxml::fontsettings(). |
&Apache::lonxml::fontsettings(). |
Line 68 sub header {
|
Line 77 sub header {
|
# ================================================================== Conversion |
# ================================================================== Conversion |
|
|
sub converted { |
sub converted { |
my $texstring=shift; |
my $texstring=shift; |
my $xmlstring; |
my $xmlstring='[UNDISPLAYABLE]'; |
|
eval(<<'ENDCONV'); |
|
{ |
|
local $SIG{SEGV}=sub { die; }; |
if ($ENV{'browser.mathml'}) { |
if ($ENV{'browser.mathml'}) { |
$xmlstring=&tth::ttm($$texstring); |
$xmlstring=&tth::ttm($$texstring); |
$xmlstring=~s/\<math\>/\<math xmlns=\"\&mathns\;\"\>/g; |
$xmlstring=~s/\<math\>/\<math xmlns=\"\&mathns\;\"\>/g; |
$xmlstring=~s/\<br\>/\<br\/\>/g; |
$xmlstring=~s/\<br\>/\<br\/\>/g; |
$xmlstring=~s/\<p\>/\<p\>\<\/p\>/g; |
$xmlstring=~s/\<p\>/\<p\>\<\/p\>/g; |
$errorstring.=&tth::ttmerror(); |
$errorstring.=&tth::ttmerror(); |
} else { |
} else { |
$xmlstring=&tth::tth($$texstring); |
$xmlstring=&tth::tth($$texstring); |
$errorstring.=&tth::ttherror(); |
$errorstring.=&tth::ttherror(); |
|
} |
} |
} |
|
ENDCONV |
return $xmlstring; |
return $xmlstring; |
} |
} |
|
|
Line 99 sub footer {
|
Line 113 sub footer {
|
|
|
# ------------------------------------------------------------ Message display |
# ------------------------------------------------------------ Message display |
|
|
|
sub to_convert { |
|
my ($string) = @_; |
|
$string=~s/\<br\s*\/?\>/ /g; |
|
return &converted(\$string); |
|
} |
|
|
sub msgtexconverted { |
sub msgtexconverted { |
my $message=shift; |
my $message=shift; |
|
|
|
#FIXME this crap needs to go but right now the -L option might be |
|
#ignored if this isn;t the first time the tth engine is used |
|
#thus the \\document class crap, it makes sure we init the LaTeX stuff |
if ($ENV{'browser.mathml'}) { |
if ($ENV{'browser.mathml'}) { |
&tth::ttminit(); |
&tth::ttminit(); |
|
&tth::ttmoptions("-L"); |
} else { |
} else { |
&tth::tthinit(); |
&tth::tthinit(); |
|
&tth::tthoptions("-L"); |
} |
} |
$message=~s/(\$[^\$]+\$)/&converted(\$1)/ge; |
$message=~s/(\$\$.+?\$\$)/&to_convert("\\documentclass{article}".$1)/ge; |
$message=~s/(\\\[[^\]]+\])/&converted(\$1)/ge; |
$message=~s/(\$.+?\$)/&to_convert("\\documentclass{article}".$1)/ge; |
return $message; |
$message=~s/(\\\(.+?\\\))/&to_convert("\\documentclass{article}".$1)/ge; |
|
$message=~s/(\\\[.+?\\\])/&to_convert("\\documentclass{article}".$1)/ge; |
|
return $message.$errorstring; |
} |
} |
|
|
1; |
1; |