Easy MathML authoring tool with a quick to write syntax
asinb
will not combine the sin
into 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)./
, ^
, 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).bf [a; b]
to make all the terms of the matrix bold-face.a./b
) have been removed. They are deprecated in MathML and might be removed from browsers soon. Use a//b
instead for a fraction slash operator.[(a, b), (c, d)]
. Use column seperators or newlines for writing matrices: [a, b; c, d]
.|a,b;c,d|
and ||a,b;c,d||
) now require inner parenthesis (|(a,b;c,d)|
and ||(a,b;c,d)||
respectively).U+218A ↊ TURNED DIGIT TWO
and U+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.\(foo)
, \[bar]
have been removed. Instead they follow the same syntax as octothorpe numbers. Write \int
for 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" ""
.binom
). write root(a, b)
or root a b
. Unlike previous versions root(a)(b)
will now include the brackets around a
and b
.<mfenced>
element. Instead it renders in the visually equivalent <mrow>
s with <mo>
s as fences and seperators.lim
and mod
now map to opperators and render in an <mo>
element..toString()
and .toDOM()
methods to the returned object.obrace
and ubrace
to accents.&+
, &*
, &,
, and &$
for implied addition, multiplication, seperation and function application respectively.annotate
bare
standalone
const curried = input => mathup(input, { display: "block" })
.toString()
method of the returned object instead.binom(a, b)
for the binomial coefficient.(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.[a, b; c, d]
now take
precedence over parenthesis delimited matrices [(a, b), (c, d)]
in
case of ambiguity.