Integration of MathJax, KaTeX and Asymptote with scribble, to typeset math in Racket documentation
![]() 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 |
||
---|---|---|
build | ||
dockers | ||
metrics | ||
src | ||
static | ||
test | ||
.arcconfig | ||
.gitignore | ||
.travis.yml | ||
cli.js | ||
CONTRIBUTING.md | ||
katex.js | ||
LICENSE.txt | ||
lint_blacklist.txt | ||
Makefile | ||
package.json | ||
README.md | ||
server.js |
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: KaTeX’s layout is based on Donald Knuth’s 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.