Integration of MathJax, KaTeX and Asymptote with scribble, to typeset math in Racket documentation
Go to file
Emily Eisenberg 2eca338e23 Replace our annoying lookup tables with a unified symbol table
Summary:
Before, there were a couple problems:
1. There were similar tables of functions in the buildTree and Parser modules,
   making it hard to add new functions, and code duplication is bad
2. We distinguished the font to use (mostly just ams vs normal) using a
   different parser class, which led to annoyance and some weird bugs
3. (Not actually in this code, but in D7578) We can't distinguish between
   functions that should be expanded in text mode and those that shouldn't.
To solve these problems, I've created an all-encompassing table in symbols.js
that fixes 1. and 2., and should fix 3. once it's merged in. The table keeps
track of each of the functions and their class, font, and possible replacement,
and then Parser and buildTree do lookups in this table.

Also added the functions for the new_definitions functions, to show how easy it
is to add new functions.

Test Plan:
1. Run the normal tests, see they all pass
2. Run huxley, see none of the screenshots changed
3. See that things like the main page loads
4. See that the new functions look correctly with
   '\barwedge\veebar\odot\oplus\otimes\oslash\circledcirc
    \boxdot\bigtriangleup\bigtriangledown\dagger\diamond
    \star\triangleleft\triangleright'

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D7704
2014-03-26 01:10:10 -04:00
build Add a setup rule to Makefile 2013-07-30 13:54:43 -07:00
static Compile .less on demand for test page 2014-03-20 20:22:07 -07:00
test Compile .less on demand for test page 2014-03-20 20:22:07 -07:00
.arcconfig Rename everything to KaTeX 2013-07-10 14:08:50 -07:00
.gitignore Somehow manage to fix the sizing bugs 2014-03-20 21:36:37 -04:00
buildTree.js Replace our annoying lookup tables with a unified symbol table 2014-03-26 01:10:10 -04:00
domTree.js Add ability to calculate heights/depths 2013-08-13 18:16:43 -07:00
fontMetrics.js Add some AMS characters 2013-08-14 17:39:24 -07:00
katex.js Empty the output element before parsing the input 2013-11-12 14:09:13 -08:00
Lexer.js Always throw real ParseErrors 2013-07-28 17:54:41 -07:00
LICENSE.txt Add MIT License 2014-01-31 17:47:12 -08:00
Makefile Don't die if things are already installed 2014-03-20 18:30:24 -07:00
metric_parse.rb Add some AMS characters 2013-08-14 17:39:24 -07:00
Options.js Add sizing functions (like \small) 2013-08-21 20:22:24 -07:00
package.json Basic perceptual diffing support for KaTeX 2014-01-29 16:29:21 -08:00
ParseError.js Make ParseErrors differentiable from other Errors 2013-07-22 14:46:13 -07:00
Parser.js Replace our annoying lookup tables with a unified symbol table 2014-03-26 01:10:10 -04:00
parseTree.js Remove Parser options usage 2013-07-13 18:15:17 -07:00
README.md Add "http://" to links in README 2014-02-18 17:34:30 -08:00
server.js Compile .less on demand for test page 2014-03-20 20:22:07 -07:00
Style.js Add ability to calculate heights/depths 2013-08-13 18:16:43 -07:00
symbols.js Replace our annoying lookup tables with a unified symbol table 2014-03-26 01:10:10 -04:00
utils.js Don't change global prototype: local utils.indexOf 2014-01-14 19:52:53 -08:00

KaTeX

Fast math!

To run locally

make setup
make serve

Perceptual diff

make pdiff

License

MIT License