[LON-CAPA-cvs] cvs: loncom /homework/math_parser ENode.pm

damieng damieng at source.lon-capa.org
Fri Jan 27 15:24:26 EST 2017


damieng		Fri Jan 27 20:24:26 2017 EDT

  Modified files:              
    /loncom/homework/math_parser	ENode.pm 
  Log:
  <lm>: better TeX output for factorial
  
Index: loncom/homework/math_parser/ENode.pm
diff -u loncom/homework/math_parser/ENode.pm:1.4 loncom/homework/math_parser/ENode.pm:1.5
--- loncom/homework/math_parser/ENode.pm:1.4	Thu Jan 19 19:24:57 2017
+++ loncom/homework/math_parser/ENode.pm	Fri Jan 27 20:24:26 2017
@@ -746,7 +746,12 @@
                     }
                 }
                 when ("!") {
-                    return($c0->toTeX()." !");
+                    my $s = $c0->toTeX();
+                    if ($c0->type == OPERATOR) {
+                        $s = "(".$s.")";
+                    }
+                    $s .= " !";
+                    return $s;
                 }
                 when ("%") {
                     return($c0->toTeX()." \\% ".$c1->toTeX());
@@ -805,6 +810,14 @@
                 when ("sqrt") {   return "\\sqrt{".$c1->toTeX()."}"; }
                 when ("abs") {    return "|".$c1->toTeX()."|"; }
                 when ("exp") {    return "\\mathrm{e}^{".$c1->toTeX()."}"; }
+                when ("factorial") {
+                    my $s = $c1->toTeX();
+                    if ($c1->type == OPERATOR) {
+                        $s = "(".$s.")";
+                    }
+                    $s .= " !";
+                    return $s;
+                }
                 when ("diff") {
                     if (scalar(@children) == 3) {
                         return "\\frac{d}{d".$c2->toTeX()."} ".$c1->toTeX();




More information about the LON-CAPA-cvs mailing list