Integration of MathJax, KaTeX and Asymptote with scribble, to typeset math in Racket documentation
Go to file
Emily Eisenberg def1a47935 Add optional arguments
Summary:
Add correct parsing of optional arguments. Now, things like `\rule` can shift
based on its argument, and parsing of `\sqrt[3]{x}` fails (correctly) because we
don't support that yet.

Also, cleaned up the lexing code a bit. There was a vestige of the old types in
the lexer (they have now been completely moved to symbols.js). As a byproduct,
this made it hard to call `expect("]")`, because it would look at the type of
the Token and the type for "]" was "close". Now, all functions just look at the
text of the parsed token, and in special occasions (like in the dimension lexer)
it can return some data along with it.

Test Plan:
 - Make sure tests still work, and new tests work
 - Make sure no huxley screenshots changed
 - Make EXTRA SURE `\sqrt[3]{x}` fails.

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D13505
2014-10-01 14:20:47 -07:00
build Add a setup rule to Makefile 2013-07-30 13:54:43 -07:00
dockers Update huxley screenshots 2014-09-22 13:58:19 -07:00
metrics Add skew and italic metrics for ttfs 2014-09-16 17:40:20 -07:00
src Add optional arguments 2014-10-01 14:20:47 -07:00
static Add optional arguments 2014-10-01 14:20:47 -07:00
test Add optional arguments 2014-10-01 14:20:47 -07:00
.arcconfig Rename everything to KaTeX 2013-07-10 14:08:50 -07:00
.gitignore Ignore NPM debug logs 2014-09-17 15:47:04 +02:00
.travis.yml Enable travis-ci.org 2014-09-12 17:50:39 -07:00
cli.js Add simple CLI 2014-09-17 15:46:20 +02:00
CONTRIBUTING.md Merge pull request #107 from dbieber/patch-2 2014-09-24 11:28:21 -07:00
katex.js Warn when the website is in quirks mode 2014-09-17 15:13:56 -07:00
LICENSE.txt Add MIT License 2014-01-31 17:47:12 -08:00
lint_blacklist.txt Fix our parsing strategy so it is the same as (or very similar to) TeX's 2014-09-09 23:18:37 -07:00
Makefile Make built files use only ASCII characters 2014-10-01 14:07:11 -07:00
package.json Improve the fonts.less experience 2014-09-22 14:23:23 -07:00
README.md Make built files use only ASCII characters 2014-10-01 14:07:11 -07:00
server.js Improve the fonts.less experience 2014-09-22 14:23:23 -07:00

KaTeX Build Status

KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web.

  • Fast: KaTeX renders its math synchronously and doesn't need to reflow the page. See how it compares to a competitor in this speed test.
  • Print quality: KaTeXs layout is based on Donald Knuths TeX, the gold standard for math typesetting.
  • Self contained: KaTeX has no dependencies and can easily be bundled with your website resources.
  • Server side rendering: KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML.

KaTeX supports all major browsers, including Chrome, Safari, Firefox, Opera, and IE 8 - IE 11.

Usage

Download the built files from the releases page. Include the katex.min.js and katex.min.css files on your page:

<link rel="stylesheet" href="/path/to/katex.min.css">
<script src="/path/to/katex.min.js"></script>

Call katex.render with a TeX expression and a DOM element to render into:

katex.render("c = \\pm\\sqrt{a^2 + b^2}", element);

To generate HTML on the server, you can use katex.renderToString:

var html = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}");
// '<span class="katex">...</span>'

Make sure to include the CSS and font files, but there is no need to include the JavaScript.

Contributing

See CONTRIBUTING.md

License

KaTeX is licensed under the MIT License.