Releases: runarberg/mathup
Releases · runarberg/mathup
v1.0.0
What's Changed
- Add a few more badges by @runarberg in #34
- Use rollup instead of browserify by @runarberg in #33
- Update eslint by @runarberg in #35
- Adopt the experimental compiler by @runarberg in #36
- Bump acorn from 6.4.0 to 6.4.1 by @dependabot in #37
- Bump minimist from 1.2.0 to 1.2.2 by @dependabot in #38
- Update dependencies by @runarberg in #42
- Update AVA by @runarberg in #43
- Bump rollup to 2.7.6 by @runarberg in #44
- Bump prettier to 2.0.5 by @runarberg in #45
- Bump lodash from 4.17.15 to 4.17.19 by @dependabot in #47
- Bump y18n from 4.0.0 to 4.0.1 by @dependabot in #49
- Bump ini from 1.3.5 to 1.3.8 by @dependabot in #48
- Bump hosted-git-info from 2.8.5 to 2.8.9 by @dependabot in #51
- Bump lodash from 4.17.19 to 4.17.21 by @dependabot in #50
- Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #55
- Bump terser from 4.8.0 to 4.8.1 by @dependabot in #54
- Bump path-parse from 1.0.6 to 1.0.7 by @dependabot in #56
- Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #52
- Use GitHub Actions for CI by @runarberg in #71
- Mathvariant deprecated, use unicode for double struck characters by @kedashoe in #73
- Add a static type checker by @runarberg in #74
- Use period as prefix for invisible operators by @runarberg in #76
- Implement command tokens and handlers in parser by @runarberg in #79
- Simplify ci.yml by @runarberg in #80
- Bump prettier to 3.0.3 by @runarberg in #82
- Translate hyphen-minus (U+002D) to minus sign (U+2212) by @runarberg in #83
- Move the accent attribute to the surrounding mover by @runarberg in #85
- Use DOUBLE VERTICAL LINE U+2016 for norms by @runarberg in #86
- Left align matrices without end param by @runarberg in #88
- Add a few demo fonts by @runarberg in #89
- Bump rollup to 4.3.0 by @runarberg in #90
- Bump c8 to 8.01 and jsdom to 22.1.0 by @runarberg in #91
- Overhaul linter by @runarberg in #92
- Drop minimist in favor of util.parseArgs by @runarberg in #93
- Implement color commands by @runarberg in #94
- Implement mobile friendly doc page by @runarberg in #98
- Add a new icon to doc page by @runarberg in #100
- Fix font commands extending to all binary and ternary operants by @runarberg in #101
- Shorten space widths by @runarberg in #104
- Add randomized examples to demo playground on doc page by @runarberg in #106
- Make special case differential operator by @runarberg in #108
- Add new operators and accents by @runarberg in #111
- Implement special case modulus operator by @runarberg in #112
- Add CSS stylesheet by @runarberg in #114
- Add typedefs by @runarberg in #122
- 1.0.0-rc.3 by @runarberg in #123
- Add cosec as a known function ident by @runarberg in #124
- Ensure no known ident/op is confused as an infix by @runarberg in #125
- 1.0.0-rc.4 by @runarberg in #126
- Implement emoji color commands by @runarberg in #128
- Add nice pipe grouping variants by @runarberg in #130
- Require an operand after a prefix by @runarberg in #132
- 1.0.0-rc.5 by @runarberg in #133
- Make special case for prefixes surrounded by pipes by @runarberg in #134
- 1.0.0-rc.6 by @runarberg in #135
- Implement tensor and index notation by @runarberg in #136
- No more whitespace depth by @runarberg in #137
- Better handling of pipes and double pipes by @runarberg in #139
- 1.0.0-rc.7 by @runarberg in #140
- Ease restrictions on when infix base becomes double pipe fenced by @runarberg in #143
- 1.0.0 by @runarberg in #144
New Contributors
- @dependabot made their first contribution in #37
- @kedashoe made their first contribution in #73
Full Changelog: v0.7.1...v1.0.0
mathup v1.0.0-alpha.3
Language Changes
- The following floor and ceil operators are now considered fences.
|__⇒ ⌊__|⇒ ⌋|~⇒ ⌈~|⇒ ⌉
- Added the following fences:
<<⇒ ⟨>>⇒ ⟩
mathup v1.0.0-alpha.2
Language Changes
- Meaningful identifiers and operators cannot immedietly follow—or be followed by—an alphabetic character. E.g.
asinbwill not combine thesininto a single identifier. Surround the identifier with spaces to get the desired result. E.g.a sin b, or—better yet—use invisible (zero width) operators (U+2061–U+2064;a&*sin&$b; see below). - Infixes (e.g.
/,^, or_) now follow a consistent grammar. It will operate on the previous/next literal if it immediately presides/follows (e.g. no space between), otherwise it will operate on the previous/next expression (i.e. terms grouped together by surrounding space/parens/other infixes). - Font commands now work on the following expression, as opposed to just following token elements. E.g. now its possible to do
bf [a; b]to make all the terms of the matrix bold-face. - Bevelled fractions (
a./b) have been removed. They are deprecated in MathML and might be removed from browsers soon. Usea//binstead for a fraction slash operator. - Removed nested bracket matrix notation:
[(a, b), (c, d)]. Use column seperators or newlines for writing matrices:[a, b; c, d]. - pipe fences and matrices (
|a,b;c,d|and||a,b;c,d||) now require inner parenthesis (|(a,b;c,d)|and||(a,b;c,d)||respectively). - Unicode numbers are now strictly (with one expection) in the Nd, Nl, and No unicode categories. The only exceptions are the dozenal
U+218A ↊ TURNED DIGIT TWOandU+218B ↋ TURNED DIGIT THREE. This omits CJK numerals (like 二, 四, or 万) that were previously mapped to number literals. Prepend then with octothorpe (#四十二) if you want the old behavior. - Backslash operators in brackets
\(foo),\[bar]have been removed. Instead they follow the same syntax as octothorpe numbers. Write\intfor alphanumeric operators, or\`foo bar`if they contain symbols. If you need to use a backtick as an operator then the fencing follows the same syntax as markdown.\`` ` ``. The same goes for octothorpe numbers#`forty two`, identifiers`foo bar`, and text"" "in quotes" "". - Roots are now notated as taking two args (just like
binom). writeroot(a, b)orroot a b. Unlike previous versionsroot(a)(b)will now include the brackets aroundaandb.
Output Changes
- Fenced groups will no long render in the deprecated
<mfenced>element. Instead it renders in the visually equivalent<mrow>s with<mo>s as fences and seperators. limandmodnow map to opperators and render in an<mo>element.
Additions
- Added
.toString()and.toDOM()methods to the returned object. - Added
obraceandubraceto accents. - Added invisible operators
&+,&*,&,, and&$for implied addition, multiplication, seperation and function application respectively.
Breaking Changes
- Removed the following opitons from the main function—they might be reimplented if demand is there:
annotatebarestandalone
- Calling main function with a single option parameter no longer returns another main function with those options applied. If you want to curry the main function, use an arrow function or a library:
const curried = input => mathup(input, { display: "block" })
- Main function no longer returns string by default. Use the
.toString()method of the returned object instead.
v0.7.1
v0.7.0
Additions
- Added
binom(a, b)for the binomial coefficient.
Braking Changes
- A two row column vector, denoted with
(a; b)will no longer turn
into a binomial coefficient. It will stay as a column vector. Use
binom(a, b)if you want the old behavior.
Changes
- Semicolon- and newline seperated matrices
[a, b; c, d]now take
precedence over parenthesis delimited matrices[(a, b), (c, d)]in
case of ambiguity.
Contributors
- runarberg runarberg@zoho.com