* feat: Support \Braket, \set, and \Set
* Update screenshots.
* Rewrite to redefine | via macros
* Update screenshot after merge
* Rename \bra@ket@one -> \bra@set
* Fix spacing in \set and \Set to match braket.sty
* Add || and \| support
* Update tests
* Update screenshots
Co-authored-by: Ron Kok <ronkok@comcast.net>
* feat: Support Unicode (sub|super)script characters
* Acquire tokens via repeated fetch()
* Match more Unicode (sub|super)script characters
* Update docs with new characters
* Add Greek characters to RegEx
* Pick up review comments
Co-authored-by: Erik Demaine <edemaine@mit.edu>
* Apply operator spacing to Unicode ∙ ∘ ∖
* Appease Semantic Versioning.
* Fix website build issue
* Tweak docs to space final bin correctly
Co-authored-by: Erik Demaine <edemaine@mit.edu>
* feat: \nonumber and \notag support
Support `\nonumber` (and equivalent `\notag`) using a global macro
`\@eqnsw` to track whether one occurs in each row, similar to how
amsmath uses global `\@eqnswtrue`/`\@eqnswfalse`.
Fix#2950
* Remove duplicate mention of align*
* Working version of \tag within {align}
* Simpler subparse mechanism
* Fix flow errors, clarifying set-to-undefined
* Document that \tag works in rows
* Add screenshot tests
* Add Jest tests
* Add Safari screenshot
* Commit message about fixing \tag
Fixes#2379
* Apply suggestions from code review
Co-authored-by: ylemkimon <y@ylem.kim>
* Revise and move getAutoTag
* Fix handling of split
* Remove unnecessary feedTokens
Co-authored-by: ylemkimon <y@ylem.kim>
Co-authored-by: ylemkimon <y@ylem.kim>
* feat: implement \relax as no-op function
BREAKING CHANGE: `\relax` is now implemented as a function. It'll stop
expansions and parsing, so the behavior around `\relax` may change.
For example, `\kern2\relax em` will no longer work.
Close all groups after parse, in particular in case of parse error,
completing `Namespace`'s simulation of local definitions.
Fixes#3122
Co-authored-by: ylemkimon <y@ylem.kim>
* fix: \char support for >16-bit Unicode characters
`String.fromCharCode` only supports Unicode characters up to 16-bit.
`String.fromCodePoint` from ECMAScript 2015 supports all Unicode code points.
Unfortunately, IE doesn't support the latter, so use former as fallback.
Fixes#3004
Co-authored-by: ylemkimon <y@ylem.kim>
Previously, the matrix family of environments assumed that the number of
columns was given by the number of columns in the first row. This
didn't work when there were zero rows, and it didn't handle the case
where future rows have more columns than the first (which is visible
when using an alignment other than `c`, such as `\begin{matrix*}[r]`).
Fixes#3017
Co-authored-by: ylemkimon <y@ylem.kim>
* fix#2990
fix make stretchycode to textNode bug.
* fix: fix stretchy.js@mathMLnode line too long
* chore(screenshotter): update stretchy snapshots
* fix: remove dup '\' in cdrightarrow cdleftarrow and cdlongequal
* test: add stretchy MathML builder test case
Co-authored-by: nferzhuang <nferzhuang@tencent.com>
Co-authored-by: Ron Kok <ronkok@comcast.net>
* fix: Correctly parse \ followed by whitespace
LaTeX parses `\` followed by whitespace including up to one newline
as equivalent to `\ `. (With multiple newlines, you get paragraph
breaks.)
Fix#2860.
* Improve comments
* Avoid second RegExp match in control words
* Document capturing groups
Co-authored-by: Ron Kok <ronkok@comcast.net>
Support single characters having a catcode of 13 (active) or 12 (other),
and expand a macro defined for the character only if it's active.
This enables defining `~` as a macro, but avoiding expansion in URLs.
Fix#2924
Co-authored-by: ylemkimon <y@ylem.kim>
* Support {CD}
* Edit screenshotter test to fit on one page
* Update screenshots
* Remove bogus Safari screenshot
* Edit documentation to avoid tag conflicts and explain delimiters
* Add type annotations
* Add bogus safari screenshot
* Update with real Safari screenshot
* Set label vertical alignment
* Revise call to parseExpression() per PR 2085 changes to macro parsing
* Update Firefox screenshot
* Pick up review comments
* Add unit tests and snapshot.
* Tighten up label collection.
* Better loop index
* remove extra space
* Picked up comments. Added a parse check. Added a test.
Co-authored-by: ylemkimon <y@ylem.kim>
Co-authored-by: Kevin Barabash <kevinb@khanacademy.org>
Co-authored-by: Kevin Barabash <kevinb7@gmail.com>
* Remove `greediness` property
Use boolean `grouped` property instead, which is more consistent with
LaTeX.
BREAKING CHANGE: \cfrac, \color, \textcolor, \colorbox, \fcolorbox are
no longer grouped.
* Rename grouped to allowedInArgument
* Reenable tests
* Update documentation
* Fix typo
Co-authored-by: Kevin Barabash <kevinb@khanacademy.org>
* Support {equation}, {equation*}, and {split}
* Update screenshots
* Allow {split} at top level
* Move equation column number check to to ParseArray
* Add token to ParseError
* Sharpen parameters passed to parseArray
* Add token information
* Update an {array} spec in screenshotter
* Adjust {array} screenshotter spec
* Make a non-strict error call when {array} argument specifies too few columns.
* Move context checks to a helper function.
* Bump flow version
* Bump jest version
* Bump eslint version
* Bump rollup version
* Bump webpack version
* Bump misc dependencies and update lockfile
* Update lockfile
* Bump commander version
* Bump misc dependencies
* Bump istanbul version
* Bump docusaurus version
* Update lockfile
* Explicitly declare dependencies
* Bump caniuse-lite version
* Update lockfile
* Bump commander version
* Bump webpack and css-loader version
* Bump flow version
* Reorganize some glyphs
* Remove mathdefault
Numerals are textord and it was never reachable.
* Use PUA for \imath and \jmath
* Update katex-fonts
* Update tests
* Update src/buildCommon.js
* Update screenshots
* Add comment regarding usage of PUA in \imath and \jmath
* Update fonts
Co-authored-by: Erik Demaine <edemaine@mit.edu>
* Add support for \expandafter
* Add support for \noexpand
* Add support for \edef
* Update comments
* Allow \long before macro definition
* Update documentation
* Update comments
* Fix defPrefix
* Add support for \let
* Update documentation
* Print error token
* Update documentation
* Check whether command is expandable
* Add tests
* Fix token order
* Make noexpand a Token property
* Throw error if control sequence is undefined when expanding
* Rename expandableOnly to expandOnly
* Make unexpandable macro property
* Move \expandafter to macros.js
* Add TODO
* Fix merge conflict
* Update a test case
* Remove unused functions in MacroContextInterface
* Update comments
* Refactor code
* Move \noexpand to macros
* Update MacroExpander.js
* Add a test case
* Separate control sequence check to a function
* Add support for \futurelet
* Separate RHS getter to a function
* Update documentation
* Move expandOnly logic to expandOnce
* Refactor code and update comments
Co-authored-by: Kevin Barabash <kevinb@khanacademy.org>
* Add bra-ket notation
* Fix typo
* Remove ketbra
* Remove ketbra, add Bra and Ket
* Add Bra/Ket and fix a typo in bra's source
* Fix bra-ket typo in docs
* Fix bra-ket escape typo in docs
* Replace bra-ket pipe with \vert in docs
* Add parseNode type `internal`
* Move \def and \newcommand to functions
* Fix Flow error
* Separate \global
Move \newcommand back to macros for now
* Rename assignment.js to def.js
* Update test cases
* Add comments
* Update a test case
* \@ifnextchar consumes spaces
Fix#2117 by fixing our implementation of \@ifnextchar to match LaTeX's:
consuming spaces before checking the next character. See #2117 for details.
* Update MacroContextInterface
Fix#2115 by adding \cal to list of old-style font commands.
(Surprisingly tiny change!)
Add tests for all old-style font commands.
2019-10-10 20:46:10 -04:00
Ciro Santilli,Opinions and content are my own, not my employer's,2018新疆改造中心,1989六四事件,1999法轮功 ,2019 996.ICU, 2018包子露宪,2015 710律师劫,2015巴拿马文件 邓家贵,2017低端人口,2008西藏骚乱scriptalert(1)/script