Eder.US

# Simple Equation

### 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.

### Thanks

Thanks goes to all of the people that have submitted bugs and feature requests. Thanks also to Randy Morrow for updating integral and derivative support and fixing a size bug.

### Source:

Source is available.

Here is a zip file.

### Requirements

Simple Equation requires PHP 4.2.0 or greater. Extension include: GD 2, libpng and FreeType (2.1.4 or greater). Transparency will not work on all browsers.

The standard Windows fonts symbol.ttf, timesi.ttf and times.ttf are or equivalents required to render. These fonts can be changed in the render function. Changing the fonts may require a change in the map also in that function. Note: It is probably illegal to simply copy these from Windows to use on Linux.

Design Science MathType Fonts provide eucsym.ttf to replace symbol.ttf, euclid.ttf to replace times.ttf, and euclidi.ttf to replace timesi.ttf. Symlinks are recommended to map these font files to the standard names. You should probably read the MathType Fonts License.

### 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.