[LON-CAPA-cvs] cvs: modules /TexConvert/algebra AlgParser.pm loncom/xml lontexconvert.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Thu, 24 Feb 2005 08:32:12 -0000
albertel Thu Feb 24 03:32:12 2005 EDT
Modified files:
/loncom/xml lontexconvert.pm
/modules/TexConvert/algebra AlgParser.pm
Log:
- get rid of the zeta -> zita, and do all zeta -> \zeta translations in the AlgParser
Index: loncom/xml/lontexconvert.pm
diff -u loncom/xml/lontexconvert.pm:1.48 loncom/xml/lontexconvert.pm:1.49
--- loncom/xml/lontexconvert.pm:1.48 Thu Feb 24 00:40:08 2005
+++ loncom/xml/lontexconvert.pm Thu Feb 24 03:32:11 2005
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# TeX Conversion Module
#
-# $Id: lontexconvert.pm,v 1.48 2005/02/24 05:40:08 albertel Exp $
+# $Id: lontexconvert.pm,v 1.49 2005/02/24 08:32:11 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -213,6 +213,8 @@
}
sub algebra {
+ use AlgParser;
+
my ($string,$target)=@_;
my $parser = new AlgParserWithImplicitExpand;
$string=&prepare_algebra($string);
@@ -222,7 +224,7 @@
$parser->tostring();
$parser->normalize();
my $latex=$parser->tolatex();
- $latex=&postprocess_algebra($string);
+ $latex=&postprocess_algebra($latex);
$latex='$'.$latex.'$';
if ($target eq 'web' || $target eq 'analyze') {
$result = &converted(\$latex);
@@ -245,55 +247,17 @@
# makes the decision about what is a minus sign easier
$string =~ s/([\=\>\<\%\!\#] *)-/$1 zeroplace -/g;
- # protect the confusable greek symbols
- $string =~ s/delta/zdelta/g;
- $string =~ s/beta/bita/g;
- $string =~ s/theta/thita/g;
- $string =~ s/zeta/zita/g;
- $string =~ s/eta/xeta/g;
- $string =~ s/epsilon/zepslon/g;
- $string =~ s/upsilon/zupslon/g;
-
return $string;
}
sub postprocess_algebra {
my ($string)=@_;
- # remove the chunk used to sepearate out the minus signs
- $string =~ s/zeroplace//g;
-
# exapnd out some operators
$string =~ s/\#/\\not= /g;
$string =~ s/\%/\\leq /g;
$string =~ s/\!/\\geq /g;
- # replace some special symbols with the LaTeX equivalents
- $string =~ s/infty/\\infty/g;
- $string =~ s/infinity/\\infty/g;
- $string =~ s/alpha/\\alpha/g;
- $string =~ s/gamma/\\gamma/g;
- $string =~ s/iota/\\iota/g;
- $string =~ s/kappa/\\kappa/g;
- $string =~ s/lambda/\\lambda/g;
- $string =~ s/mu/\\mu/g;
- $string =~ s/nu/\\nu/g;
- $string =~ s/xi/\\xi/g;
- $string =~ s/rho/\\rho/g;
- $string =~ s/sigma/\\sigma/g;
- $string =~ s/tau/\\tau/g;
- $string =~ s/phi/\\phi/g;
- $string =~ s/chi/\\chi/g;
- $string =~ s/psi/\\psi/g;
- $string =~ s/omega/\\omega/g;
- $string =~ s/zdelta/\\delta/g;
- $string =~ s/bita/\\beta/g;
- $string =~ s/thita/\\theta/g;
- $string =~ s/zita/\\zeta/g;
- $string =~ s/xeta/\\eta/g;
- $string =~ s/zepslon/\\epsilon/g;
- $string =~ s/zupslon/\\upsilon/g;
-
return $string;
}
1;
Index: modules/TexConvert/algebra/AlgParser.pm
diff -u modules/TexConvert/algebra/AlgParser.pm:1.6 modules/TexConvert/algebra/AlgParser.pm:1.7
--- modules/TexConvert/algebra/AlgParser.pm:1.6 Thu Feb 24 03:28:43 2005
+++ modules/TexConvert/algebra/AlgParser.pm Thu Feb 24 03:32:11 2005
@@ -607,7 +607,9 @@
}
};
/special/ && do {
- if ($args[0] eq 'pi') {return '\pi';} else {return $args[0];}
+ if ($args[0] =~/($greek|$escape)/) {return '\\'.$1;}
+ elsif ($args[0] =~/$delete/) {return '';}
+ else { return $args[0]; }
};
/varname|(:?number$)/ && return $args[0];
/numberE/ && do {