--- loncom/homework/math_parser/ENode.pm 2017/01/19 19:24:57 1.4 +++ loncom/homework/math_parser/ENode.pm 2017/01/27 20:24:26 1.5 @@ -746,7 +746,12 @@ sub toTeX { } } 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 @@ sub toTeX { 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();