[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 {