# Mathematics input widget for the web

LaTeX ASCIIMath Text JSON XML

### Human-friendly

- WYSIWYG, backslashes optional.
- Keyboard only; optional mouse interface.
- Mobile keyboard.
- Outputs LaTeX and plain text.
- Supports matrices and custom symbols.

### Computer-friendly

- Stores data in semantic XML.
- Outputs XML or JSON.
- Generates and evaluates syntax trees.

### Developer-friendly

- Scriptable. Flexible API.
- Easily configured.
- Style adjustable using CSS.
- MIT license.

### Looks great; let's get to work!

- #### How do I get started?

  Pop over to the quick start guide for instructions on setting up.

  Check the examples page for many more things you can do.

- #### Can I evaluate expressions numerically?

  Yes! See the calculator and graphing examples.

- #### Can I compare an input to a given expression?

  Yes, using the math-expressions library. Check out the quiz example.

- #### Can I use it to just render mathematics on a page without an editor?

  Yes! Check out the article example.

- #### What formats does it support?

  Export formats: LaTeX, ASCIIMath, plain text, JSON syntax tree, JSON equation list, Javascript function, and XML.
  Import formats: XML, JSON syntax tree, plain text, a semantic LaTeX, and also a subset of standard LaTeX through a third party library.
  See the Import/Export example for all natively supported formats, and see the LaTeX import example for limited import from standard LaTeX.

- #### Who is using it?

  - #### Ximera Project at Ohio State

  - #### Oppia

  - #### ...Your project here?

- #### How does it work?

  Data is stored internally in a custom XML format. Editing operations correspond loosely to XPath queries, and rendering to various output formats is a simple recursive transform (formerly XSLT). Display is done with KaTeX (with some modification).

- #### Can I help with development?

  If you have time and coding skill to donate, start here. To donate money, go here.