Commit Graph

603 Commits

Author SHA1 Message Date
Ron Kok
6b0f06df21 Improve MathML fonts (#1965) 2019-05-19 19:24:34 -04:00
Ron Kok
9822414733 Render MathML directly (#1966)
* Render MathML

* Fix lint error

* Change from main api to rendering options
2019-05-13 19:31:04 -04:00
Kevin Barabash
5806b240b3 disable \includegraphics until trust settings is merged (#1951)
* disable \includegraphics until trust settings is merged

* disable one more test
2019-04-28 17:52:27 -04:00
Tesla_Ice_Zhang
6bb312f687 Support double-square curly braces (#1953)
* Support double-square curly braces

Signed-off-by: ice1000 <ice1000kotlin@foxmail.com>

* Rename `llbrace` to `lBrace`

* Address comments: add mathml

* Fix code style

* Fix doc

* Add to docs/support_table
2019-04-25 07:23:00 -07:00
Erik Demaine
2d066097ad Remove redundant symbols from #1947 (#1954)
https://github.com/KaTeX/KaTeX/pull/1947#pullrequestreview-230534608
2019-04-25 09:46:22 -04:00
Ben Dyer
d01a972f5c Add symbol double square brackets (#1947)
* Add symbol double square brackets

* Update name for double square brackets, add macros and documentation
2019-04-23 18:49:50 -07:00
Ron Kok
0461e17c8e Prevent inadvertent tall delims (#1948) 2019-04-24 00:59:32 +09:00
ylemkimon
f948947736 Add KaTeX version to stylesheet and troubleshooting guide (#1893)
* Add KaTeX version to stylesheet

* Add troubleshooting guide

* Update katex.less

[skip ci]
2019-04-18 22:10:19 +09:00
Daniel Hollas
e7193227f6 Move custom colors used by Khan into macros.js (#1933) 2019-04-17 22:22:02 -04:00
Ron Kok
f1a83dd3bf Improve MathML for \Bbbk (#1930)
* Improve MathML for \Bbbk

* Use a simpler macro
2019-04-17 08:02:23 -07:00
ylemkimon
7d7c55c4c7 Approximate font metrics only when metrics don't exist (#1898)
Fix non-existent metrics error for \eth
2019-04-06 18:24:32 -04:00
Ron Kok
eeb403fc5c Improve MathML for \not (#1923)
* Improve MathML for \not

* Move into previous loop

* Update buildMathML.js
2019-04-06 10:40:00 +09:00
Erik Demaine
070883532a Support \textup and \textmd (#1921)
* Support \textup and \textmd

This PR adds support for `\textup` and `\textmd`, which are the inverses of
`\textit` and `\textbf`.  Unlike bare `\text`, they result in `textup` and
`textmd` classes being applied, but those have no CSS rules, so they act the
same as bare `\text`.

Fixes #1909.

* Add documentation

* Add unsupported font commands
2019-04-06 02:51:11 +09:00
Ron Kok
ac4c6271d4 Improve MathML for \genfrac barline (#1925) 2019-04-05 14:36:30 +09:00
Ron Kok
ec777b8f34 Improve MathML for environments (#1910)
* Improve MathML for environments

* Fix lint error

* Adjust column spacing

* Fix lint error

* Add comment

* Shorten one line of code

* Fix error in previous commit

* Fix lint error

* Improved column spacing

* Revise types
2019-04-05 01:08:24 +09:00
Ron Kok
ab7b7826ff \Improve MathML for \colorbox and \fcolorbox (#1914)
* Add border color

* Fix lint errors

* Edit to persuade flow its okay.

* Add \colorbox
2019-04-04 18:19:19 +09:00
Ron Kok
5d29a28c14 Improve MathML for \tag (#1915)
* Improve MathML for \tag

* Make a duplicate pad

* Add TODO

* Add semi-colon
2019-04-02 09:39:31 -07:00
Ron Kok
01a94d5f07 Improve MathML for fractions (#1882)
* Improve MathML for fractions

* Fix lint errors

* Revise arguments

* Reverting to previous arguments

* Revise arguments

* Pick up comment

* Change > to >=
2019-03-29 07:17:22 -07:00
Ron Kok
e52f6859ec Improve MathML for \rule (#1912)
* MathML for \rule

* Pick up comments

* Update rule.js
2019-03-29 22:59:21 +09:00
Ron Kok
32b25cd5cf Improve MathML for extensible arrows (#1901)
* Add padding

* Fix lint errors

* Pick up comments

* Pick up comment
2019-03-29 22:52:56 +09:00
Ron Kok
21f7fe85d5 Improve MathML for characters in Unicode private use area (#1908)
* Add macros for private area characters

* Add \nsupseteqq and \nsubseteqq
2019-03-28 09:37:54 -07:00
Ron Kok
27d557bccf Make \smallint small in \displaystyle (#1907) 2019-03-28 09:31:30 -07:00
Ron Kok
79efcc3447 Improve more coloneq (#1902) 2019-03-28 09:21:26 -07:00
Ron Kok
9fcf14dccf Get a tall \middle\vert from MathML (#1911) 2019-03-28 17:49:05 +09:00
Ron Kok
26e1518b7b Fix \middle spacing (#1906) 2019-03-26 08:27:26 +09:00
Ron Kok
04078aa09d Improve MathML for \brace (#1884)
* Fix \brace

* Fix lint error
2019-03-24 13:43:19 +09:00
Ron Kok
f95160b041 Improve MathML for \coloneqq, \dblcolon, \eqcolon, and \eqqcolon (#1889)
* Improve MathML for colonequals

* Fix lint errors

* Change to macro implementation
2019-03-24 13:22:28 +09:00
Ron Kok
8da1377c08 Improve MathML for \hphantom and \vphantom (#1883)
* Improve MathML for \phantom

* Add mpadded
2019-03-24 13:17:54 +09:00
Ron Kok
cb477ca01a Improve MathML for \limits (#1897)
* Improve MathML for \limits

* Make code parallel
2019-03-24 13:02:12 +09:00
Ron Kok
f8f4809886 Fix ApplyFunction character (#1890) 2019-03-23 10:30:33 +09:00
Ron Kok
a1e341a5c6 Improve MathML for \overset, \stackrel, and \underset (#1886)
* Fix \overset and \stackrel

* Fix indentation
2019-03-22 08:37:05 -07:00
Ron Kok
64d1c4e590 Fix nested \dfrac (#1825)
* Fix nested \dfrac

* Update screen shots
2019-03-20 14:20:01 -04:00
Ron Kok
f35c77a544 Improve MathML accents (#1877) 2019-03-21 02:57:53 +09:00
riteme
6ae095fcd4 Fix \Rho (#1870) 2019-03-07 10:18:20 -05:00
Erik Demaine
ee16854612 Fix \not and \neq on Chrome via new Unicode symbol U+E020 (#1852)
* Fix \not and \neq via new Unicode symbol U+E020

Fix #1842

* Fix font metrics

* Update screenshots

* Use lower case letters in code points
2019-02-21 16:06:29 +09:00
Erik Demaine
23958337a2 \fbox inherits default color (#1847)
Merge `.fbox` and `.fcolorbox` rules to inherit default color, instead
of forcing `black`.  We no longer have any explicit `black` in CSS.
Fix #1772.
2019-02-09 18:10:35 -05:00
Erik Demaine
7f778d1543 leqno and fleqn support (#1814)
* leqno support

* Add fleqn support

* Add tests

* Lint fix

* Add leqno and fleqn to website demo
2019-01-29 18:40:17 +09:00
Erik Demaine
58c36c6fdf Add \textbackslash and \textasciicircum (#1839)
* Add \textbackslash and \textasciicircum

Fix #1838

* lint fix

* Add documentation
2019-01-27 12:02:47 -08:00
Ron Kok
2cd37ae7c3 Fix Unicode bigcup (#1836) 2019-01-20 12:38:14 -05:00
René Filip
9ddc24c9f1 add \argmax and \argmin (#1820)
* add \argmax and \argmin

* add reference to argmin and argmax
2019-01-12 18:36:36 -05:00
Ron Kok
e85cb97cca Fix \genfrac w/empty delimiter arguments (#1816) 2019-01-02 02:13:54 +09:00
Erik Demaine
647c661db0 Remove double encoding in MathML via Unicode MathML spaces (#1813)
* Remove double encoding in MathML via Unicode MathML spaces

We used to have a complex mechanic for escaping strings, marking them as
`needsEscape = false`, and then not escaping those strings (for
combining strings in `\operatorname`).  But this doesn't really work
with `render`ing directly to a node, as `document.createTextNode` can't
be stopped from escaping.

I've thus removed this mechanic, which required the following changes:

* Switch MathML "smart space" encoding to use Unicode instead of
  `&LongNames;` (which weren't working with `render` for the same reason).
* Hack our HTML/MathML serializer to not use `String.trim`, which wrecks
  havoc with emitted Unicode spaces.

Now `toText()` doesn't escape, so strings concatenate in unescaped form,
and `toHTML()` only does the necessary escaping.  Thus fix #1782.

* Fix src/utils.js

Co-Authored-By: edemaine <edemaine@mit.edu>

* Fix src/mathMLTree.js documentation

Co-Authored-By: edemaine <edemaine@mit.edu>

* Remove trim hack thanks to diffable-html@4.0.0

* Switch back to jest-serializer-html

* Update mathMLTree.js
2019-01-02 01:55:44 +09:00
Ron Kok
f5234a2f01 Fix \hphantom width (#1809)
* Fix \hphantom width

* Spin up phony screenshot test

* Make better choice of smash screenshot test

* Real screenshotter test

* Add strict mode

* Fix lint error

* useStrictBehavior

* Revert to previous strict setting

* useStrictBehavior "phantomSpacing"

* Fix tests via nonstrictSettings

* Fix documentation

* Remove bin|rel
2019-01-02 01:49:23 +09:00
Erik Demaine
8346294bf3 Fix \\ and \newline after operator (#1796)
* Fix \\ and \newline after operator

Fix #1790.  `\\` and `\newline` render as a span with classes
`mspace` and `newline`.  We need to check for `newline` when bringing
spaces into the same `base` group.

* Add tests and comment
2018-12-26 18:17:30 -05:00
Ron Kok
d604965c62 Allow \includegraphics to omit the optional argument (#1807)
* Allow \includegraphics to omit the optional argument

* Fix lint error
2018-12-23 18:52:30 -05:00
Ron Kok
64745b5c8a Add mhchem extension (#1436)
* A proposal for support of mhchem

* Create extension

* Add index

* Remove arrow function

* Fix lint errors in macros.js

* Remove mhchem from build

* Move code from macros.js to mhchem.js

* Add minified mhchem

* Remove arrow head mods. Disable eslint.

* Fix space handling

* Update code to mhchem v3.3.0

* Tweak arrows to reduce diff

* Raise \tripledash

* Edit docs and webpack

* Update package.json

* Remove wrap. Remove manual.

* Correct second brush stroke in \xrightleftarrows

* Added patch file

* Add import line

* Add mhchem to eslint ignore
2018-11-24 18:52:25 -05:00
ylemkimon
3dfd17d9b4 Add catcode to Lexer, move comment parsing back to Lexer (#1789)
* Remove redundant consumeSpaces()

- Spaces after command sequence are ignored in Lexer
- parseExpression consumes spaces in the math mode

* Add catcode to Lexer, move comment parsing back to Lexer

- Fix parsing a comment before a sup/subscript argument
- Fix parsing a comment before an expression
- Fix parsing a comment before or between \hline
- Fix parsing a comment in the macro definition
- Fix parsing a comment including a command sequence

* Update Lexer.js

* Update Parser.js

* catcode -> catcodes
2018-11-24 18:42:14 -05:00
ylemkimon
112582daa5 Replace Khan/KaTeX with KaTeX/KaTeX (#1781)
* Replace Khan/KaTeX with KaTeX/KaTeX

* Remove RawGit links

* Remove old files
2018-11-19 21:24:33 -05:00
Ron Kok
f713f324bd Support \includegraphics (#1620)
* Support \includegraphics

* Update screenshots

* Fix lint errors

* Fix more lint errors

* Fix lint errors take 3

* Add documentation, error messages

* Improve CSS

* Update domTree to coordinate with PR #1633

* Update screenshots

* fix flow errors

* Use same RegEx as href

* Fix lint error

* Accept raw ArgType

* Fix lint error

* fix flow error

* Add test
2018-11-01 18:43:41 -04:00
ylemkimon
a3215b284e Refactor buildExpression to depth-first traverse groups (nodes), fix spacings and \begingroup...\endgroup (#1706)
* Refactor `buildExpression` to depth-first traverse groups (nodes)

* Fix \begingroup...\endgroup

* Rename traverseNodes to traverseNonSpaceNodes, update comments and tests

* Update Parser.js

* Update katex-spec.js.snap
2018-10-29 00:31:00 -04:00