什么是 Asciimath?

如何使用 Asciimath?

几个简单的示例:

主题 效果 源码
上下标 `a_1^2 + b_1^2 = c_1^2` a_1^2 + b_1^2 = c_1^2
文字 `"hello world"` "hello world"
分式 `a/b, a//b` a/b, a//b
根号 `sqrt n, root n x, a^2/sqrt b` sqrt n, root n x, a^2/sqrt b
极限 `lim_(n to oo) (1+1/n)^n` lim_(n to oo) (1+1/n)^n
积分 `int_a^b f(x) dx` int_a^b f(x) dx
隐形括号 `sin{:x/2:}` sin{:x/2:}
微分 `dy/dx, ("d"r)/("d"theta), f''(x)` dy/dx, ("d"r)/("d"theta), f''(x)
偏微分 `(del f)/(del x), (del^3 f)/(del x del y^2)` (del f)/(del x), (del^3 f)/(del x del y^2)
矩阵 `[a, b; c, d]` [a, b; c, d]
分段函数 `|x| = { x, if x ge 0; -x, otherwise :}` |x| = { x, if x ge 0; -x, otherwise :}

Asciimath 符号参考手册

希腊字母
`alpha` alpha `beta` beta `chi` chi `delta` delta
`Delta` Delta `epsilon` epsilon `epsi` epsi / varepsilon `eta` eta
`gamma` gamma `Gamma` Gamma `iota` iota `kappa` kappa
`lambda` lambda `Lambda` Lambda `mu` mu `nu` nu
`omega` omega `Omega` Omega `phi` phi `varphi` varphi
`Phi` Phi `pi` pi `Pi` Pi `psi` psi
`Psi` Psi `rho` rho `sigma` sigma `Sigma` Sigma
`tau` tau `theta` theta `vartheta` vartheta `Theta` Theta
`upsilon` upsilon `xi` xi `Xi` Xi `zeta` zeta
运算符
`+` + `-` - `*` * `**` **
`//` // `\\ ` \\ `xx` xx `-:` -:
`@` @ `o+` o+ `ox` ox `o.` o.
`sum` sum `prod` prod `^^` ^^ `^^^` ^^^
`vv` vv `vvv` vvv `nn` nn `nnn` nnn
`uu` uu `uuu` uuu
关系符号
`=` = `!=` != `-=` -= `!-=` !-=
`~-` ~- `~=` ~= `~~` ~~ `lt` lt
`gt` gt `le` le `ge` ge `-<` -<
`>-` >- `in` in `!in` !in `sub` sub
`sup` sup `sube` sube `supe` supe `!sube` !sube
`subne` subne `normal` normal `rnormal` rnormal `lhd` lhd
`rhd` rhd `⋬` &#8940; `≪` &#8810; `⟕` &#10197;
`⟖` &#10198; `⟗` &#10199; `prop` prop
逻辑符号
`and` and `or` or `not` not `rArr` rArr
`if` if `iff` iff `AA` AA `EE` EE
`_|_` _|_ `TT` TT `|--` |-- `|==` |==
括号和隐形括号
`(` ( `{:)` ) `[` [ `{:]` ]
`{` { `}` } `(:` (: `:)` :)
`{:` {: `{::}` :} `|` |
杂项
`int` int `iint` iint `iiint` iiint `oint` oint
`del` del `grad` grad `+-` +- `∓` &#8723;
`O/` O/ `oo` oo `aleph` aleph `/_` /_
`:.` :. `:'` :' `...` ... `cdots` cdots
`vdots` vdots `ddots` ddots `⋰` &#8944;
`| |` | | `|quad|` |quad| `diamond` diamond `square` square
`|__` |__ `__|` __| `|~` |~ `~|` ~|
`NN` NN `ZZ` ZZ `QQ` QQ `RR` RR
`CC` CC
数学函数
`sin` sin `cos` cos `tan` tan `csc` csc
`sec` sec `cot` cot `sinh` sinh `cosh` cosh
`tanh` tanh `log` log `ln` ln `det` det
`dim` dim `lim` lim `mod` mod `gcd` gcd
`lcm` lcm `min` min `max` max `sgn` sgn
箭头
`uarr` uarr `darr` darr `rarr` rarr `larr` larr
`->` -> `|->` |-> `harr` harr `rArr` rArr
`lArr` lArr `hArr` hArr
字体
`rm A` rm A `sf A` sf A `bb A` bb A `bm A` bm A
`bbb A` bbb A `cc A` cc A `scr A` scr A `tt A` tt A
`fr A` fr A
注音符号
`hat x` hat x `bar x` bar x `ul x` ul x `vec x` vec x
`dot x` dot x `ddot x` ddot x `arc(12345)` arc(12345)
`overset(⏞)(12345)` overset(&#x23de;)(12345) `overset(⎴)(12345)` overset(&#x23b4;)(12345)
`overset(⏠)(12345)` overset(&#x23e0;)(12345)
更多
`==_(12345)^(67890)` ==_(12345)^(67890) `overbrace(12345)^n` overbrace(12345)^n
`underbrace(12345)_n` underbrace(12345)_n `overset "bala" x` overset "bala" x
`color(red)(123)` color(red)(123) `color(#4466aa)(123)` color(#4466aa)(123)

测试用例

上标过高问题 `f(x)^(x^2) g'(x)` 公式中的 g 和 f 分到了同一组, 导致 ' 成为它们的共同上标
阶乘的优先级 `pi_1^233!/233` 比分式优先, 但不及上下标
firefox 阶乘上标问题 `{:m!:}^n` m!^n 会造成错误渲染
\rightarrow 截断问题 `overset(larr)(rarr)` rarr 翻译为 \rightarrow 后被截断
微分简写 (试验) `dd f x , dd^2 f x , ddot x` dd f x , dd^2 f x , ddot x
偏微分简写 (试验) `pp f x , pp^3 f (x y^2), pp {::} x` pp f x , pp^3 f (x y^2), pp {::} x