### Introduction

One of the biggest obstacles to using mathematical expressions on the web is that the user currently needs to worry about layout. Web users should not have to learn a layout engine.

The class is built as a recursive parser. It is pretty easy to add operations to the parser, but it will not scale to a huge set of operations. That is OK, we want to keep things simple. At some point a layout engine may be required for a complexity level. This is not a layout engine.

Currently, only graphical output is generated, but it is hoped that MathML output can be generated automatically if the browser supports it instead of the graphic.

### Demo: ### Source:

Source is available.

### Functions:

 f(x) function of x f'(x) derivative of x f"(x) second derivative of x sqrt x Square root of x root y x yth root of x int _ _ x integral of x int 1 3 x integral from 1 to 3 of x sum _ _ x summation of x sum 1 n x summation from 1 to n of x x ^ y x raised to the yth power x * y x times y bar x x bar hat x x hat x . y x times y x / y x divided by y x + y x plus y x - y x minus y x_y x sub y forall x for all x exists x there exists an x backepsilon back epsilon therefore therefore x ortho y x is orthogonal to y x le y x is less than or equal to y x <= y x is less than or equal to y x =< y x is less than or equal to y inf infinity infinity infinity leftright left right arrow left left arrow up up arrow right right arrow down down arrow pm plus or minus +- plus or minus x ge y x is greater than or equal to y x >= y x is greater than or equal to y x => y x is greater than or equal to y x times y x times y x cross y x cross y x prop y x is proportional to y partial / {partial x} derivative with respect to x x dot y x dot y x divide y x divided by y x div y x divided by y x ne y x not equal to y x <> y x not equal to y x congr y x is congruent to y x approx y x is approximately y aleph Aleph im imaginary number real real number wp p function (wp), Weierstrass p x otimes y x otimes y x oplus y x oplus y null null or empty set empty null or empty set x intersect y x intersection y x union y x union y x supset y x is a superset of y x supseteq y x is a proper superset of y x notsubset y x is not a subset of y x propsubset y x is a proper subset of y x subset y x is a subset of y x element y x is an element of y x in y x is in y x notelement y x is not an element of y x notin y x is not in y angle x the angle x nabla nabla not x not x x and y x and y x or y x or y x equiv y x is logically equivalent to y doubleleftright double left right arrow doubleleft double left arrow doubleup double up arrow doubleright double right arrow x implies y x implies y doubledown double down arrow (x over y) x choose y

visible ()
invisible {}

### Greek letters:

alpha is lowercase, Alpha is uppercase.

If you want to send actual e-mail, think about this: My name is david and my domain is eder.us.