Шпаргалка по AsciiMath

AsciiMath записывает формулы так, как вы набрали бы их в сообщении: sqrt(x^2+1), a/b, sum_(n=1)^oo. Здесь собраны все символы, их вид и получаемый LaTeX, а ещё поле, чтобы попробовать свои.

Из AsciiMath в LaTeX

Примеры:

Как это выглядит
LaTeX
\sum_{n = 1}^{\infty} \frac{1}{n^{2}} = \frac{\pi^{2}}{6}

Преобразование выполняется в браузере тем же кодом, которым live-math верстает листы. Здесь десятичные числа пишутся с точкой: 3.14.

Что такое AsciiMath

AsciiMath — разметка для математики, созданная, чтобы быстро набирать и легко читать ещё до вёрстки. Дроби, степени и корни записываются как на калькуляторе: (a+1)/(b+1), x^(n+1), sqrt(x); символы — короткие слова: oo для , -> для , in для . Скобки растут сами, а матрица — это список строк.

Её создал Peter Jipsen для записи математики на веб-страницах; MathJax и AsciiDoc тоже её понимают. На этой странице — символы live-math, которые добавляют названия функций из итальянских учебников и операторы линейной алгебры.

AsciiMath или LaTeX?

LaTeX — стандарт для печатной математики и правильный инструмент для статьи или диссертации. Но писать им во время объяснения медленно: фигурные скобки, обратные косые черты и \frac{}{} на каждом шаге. AsciiMath говорит то же самое примерно за две трети символов, а на выходе даёт LaTeX: каждую формулу можно преобразовать, а весь лист экспортировать в файл LaTeX.

На этом построена live-math: вы печатаете AsciiMath на уроке, а ученики видят вёрстку по мере письма, с графиками из одной строки. Посмотрите на главной странице или откройте редактор.

Все символы

В каждой строке — что можно набрать (любая из форм), как это выглядит и LaTeX. Пробелы только разделяют: sinx и sin x дают одно и то же.

Дроби, индексы и корни

/ делает дробь из того, что стоит непосредственно до и после него: символа, числа или группы в скобках. ^ и _ делают то же для показателей и индексов. Скобки вокруг числителя, знаменателя, показателя или индекса не показываются: (a+1)/(b+1) — это , x^(n+1) — . Чтобы их оставить, удвойте: ((a+b))/2 — это . В остальных местах скобки остаются: (a+b)^2 — это .

x^2x^{2}
x_1x_{1}
x_1^2x_{1}^{2}
x^(n+1)x^{n + 1}
a/b\frac{a}{b}
(a+1)/(b+1)\frac{a + 1}{b + 1}
frac(a)(b)\frac{a}{b}
sqrt x Sqrt x\sqrt{x}
sqrt(x+1)\sqrt{x + 1}
root(3)(x)\sqrt[3]{x}
stackrel(def)(=)\stackrel{d e f}{=}
overset(*)(=)\overset{\cdot}{=}
underset(x->0)(=)\underset{x \to 0}{=}
cancel(x)\cancel{x}
color(red)(x^2)\textcolor{red}{x^{2}}

color окрашивает только свой аргумент; принимает названия цветов (red, blue, green, orange, purple…).

Греческие буквы

alpha\alpha
beta\beta
gamma\gamma
Gamma\Gamma
delta\delta
Delta\Delta
epsilon epsi\epsilon
varepsilon\varepsilon
zeta\zeta
eta\eta
theta\theta
Theta\Theta
vartheta\vartheta
iota\iota
kappa\kappa
lambda lamda\lambda
Lambda Lamda\Lambda
mu\mu
nu\nu
xi\xi
Xi\Xi
pi\pi
Pi\Pi
rho\rho
sigma\sigma
Sigma\Sigma
tau\tau
upsilon\upsilon
phi\phi
Phi\Phi
varphi\varphi
chi\chi
psi\psi
Psi\Psi
omega\omega
Omega\Omega

Операции

a + ba + b
a - ba - b
a * b a cdot ba \cdot b
a ** b a ast ba \ast b
a *** b a star ba \star b
a xx b a times ba \times b
a -: b a div b a divide ba \div b
a // ba / b
A \\ B A backslash BA \backslash B
A setminus BA \setminus B
a +- b a pm ba \pm b
f @ g f circ gf \circ g
a o+ b a oplus ba \oplus b
a ox b a otimes ba \otimes b
a o. b a odot ba \odot b
p ^^ q p wedge qp \wedge q
p vv q p vee qp \vee q
A nn B A cap BA \cap B
A uu B A cup BA \cup B
A |>< B A ltimes BA \ltimes B
A ><| B A rtimes BA \rtimes B
A |><| B A bowtie BA \bowtie B
a mod na \operatorname{mod} n

Большие операторы, пределы, интегралы

Пределы идут после _ и ^; в скобках, когда в них больше одного символа. На отдельной строке они ставятся над и под оператором.

sum_(n=1)^oo a_n\sum_{n = 1}^{\infty} a_{n}
prod_(i=1)^n x_i\prod_{i = 1}^{n} x_{i}
int_a^b f(x) dx\int_{a}^{b} f{{\left ( x \right )}} \mathop{}\!dx
oint_gamma f(z) dz\oint_{\gamma} f{{\left ( z \right )}} \mathop{}\!dz
lim_(x->0) f(x)\lim_{x \to 0} f{{\left ( x \right )}}
Lim_(n->oo) a_n\operatorname{Lim}_{n \to \infty} a_{n}
limsup_(n->oo) a_n\limsup_{n \to \infty} a_{n}
liminf_(n->oo) a_n\liminf_{n \to \infty} a_{n}
max_(x in A) f(x)\max_{x \in A} f{{\left ( x \right )}}
min_(x in A) f(x)\min_{x \in A} f{{\left ( x \right )}}
sup A\sup A
inf A\inf A
lub A\operatorname{lub} A
glb A\operatorname{glb} A
dim V\dim V
^^^_(i in I) p_i bigwedge_(i in I) p_i\bigwedge_{i \in I} p_{i}
vvv_(i in I) p_i bigvee_(i in I) p_i\bigvee_{i \in I} p_{i}
nnn_(i in I) A_i bigcap_(i in I) A_i\bigcap_{i \in I} A_{i}
uuu_(i in I) A_i bigcup_(i in I) A_i\bigcup_{i \in I} A_{i}

Отношения

a = ba = b
a != b a ne ba \ne b
a < b a lt ba < b
a > b a gt ba > b
a <= b a le ba \le b
a lt= b a leq ba \leq b
a >= b a ge ba \ge b
a gt= b a geq ba \geq b
a -< b a -lt b a prec ba \prec b
a -<= b a preceq ba \preceq b
a >- b a succ ba \succ b
a >-= b a succeq ba \succeq b
x in Ax \in A
x !in A x notin Ax \notin A
A sub B A subset BA \subset B
A sube B A subseteq BA \subseteq B
A supset BA \supset B
A supe B A supseteq BA \supseteq B
a -= b a equiv ba \equiv b
a ~= b a cong ba \cong b
a ~~ b a approx ba \approx b
a prop b a propto ba \propto b
a := ba := b
a :|: ba \rvert : b

Логика

p and qp \quad\text{and}\quad q
p or qp \quad\text{or}\quad q
not p neg p\neg p
p => qp \Rightarrow q
p implies qp \implies q
p <=> qp \Leftrightarrow q
p iff qp \iff q
y = 1 if x > 0y = 1 \quad\text{if}\quad x > 0
AA x forall x\forall x
EE x exists x\exists x
_|_ bot\bot
TT top\top
p |-- q p vdash qp \vdash q
p |== q p models qp \models q
:. therefore\therefore
:' because\because

Скобки

Скобки растут вместе с содержимым. {: x :} — невидимая пара, удобная для группировки; (: :) — угловые скобки. |x| — модуль: вертикальные черты образуют пары внутри скобок, поэтому |x - a| < delta читается так, как выглядит.

(x){\left ( x \right )}
[x]{\left [ x \right ]}
{x}{\left \lbrace x \right \rbrace}
|x|{\left \lvert x \right \rvert}
(: x :) << x >> langle x rangle{\left \langle x \right \rangle}
|: x :|{\left \lvert x \right \rvert}
{: x :}{\left . x \right .}
lbrace x rbrace{\left \lbrace x \right \rbrace}
abs(x) Abs(x){\left | x \right |}
norm(x){\left \| x \right \|}
floor(x) |__ x __| lfloor x rfloor{\left \lfloor x \right \rfloor}
ceil(x) |~ x ~| lceil x rceil lceiling x rceiling{\left \lceil x \right \rceil}

Стрелки

uarr uparrow\uparrow
darr downarrow\downarrow
rarr rightarrow\rightarrow
-> to\to
>-> rightarrowtail\rightarrowtail
->> twoheadrightarrow\twoheadrightarrow
>->> twoheadrightarrowtail\twoheadrightarrow
x |-> y x mapsto yx \mapsto y
larr leftarrow\leftarrow
harr leftrightarrow\leftrightarrow
rArr Rightarrow\Rightarrow
lArr Leftarrow\Leftarrow
hArr Leftrightarrow\Leftrightarrow

Функции

Имя функции набирается прямым шрифтом, а аргумент идёт следом — со скобками или без: sin x, sin(x), sin^2 x. f и g — функции только перед скобкой: f(x), а f g остаётся произведением.

sin x\sin{x}
cos x\cos{x}
tan x\tan{x}
cot x\cot{x}
sec x\sec{x}
csc x\csc{x}
arcsin x\arcsin{x}
arccos x\arccos{x}
arctan x\arctan{x}
sinh x\sinh{x}
cosh x\cosh{x}
tanh x\tanh{x}
coth x\coth{x}
sech x\operatorname{sech}{x}
csch x\operatorname{csch}{x}
exp x\exp{x}
log x\log{x}
ln x\ln{x}
det A\det{A}
gcd(a, b)\gcd{{\left ( a , b \right )}}
lcm(a, b)\operatorname{lcm}{{\left ( a , b \right )}}
f(x)f{{\left ( x \right )}}
g(x)g{{\left ( x \right )}}

Имена с заглавной буквы

Sin x\operatorname{Sin}{x}
Cos x\operatorname{Cos}{x}
Tan x\operatorname{Tan}{x}
Cot x\operatorname{Cot}{x}
Sec x\operatorname{Sec}{x}
Csc x\operatorname{Csc}{x}
Arcsin x\operatorname{Arcsin}{x}
Arccos x\operatorname{Arccos}{x}
Arctan x\operatorname{Arctan}{x}
Sinh x\operatorname{Sinh}{x}
Cosh x\operatorname{Cosh}{x}
Tanh x\operatorname{Tanh}{x}
Log x\operatorname{Log}{x}
Ln x\operatorname{Ln}{x}

Итальянские названия и линейная алгебра

Названия из итальянских учебников и операторы линейной алгебры. Im — это образ только перед скобкой: Im(f), а Im z остаётся произведением.

sen x\operatorname{sen}{x}
arcsen x\operatorname{arcsen}{x}
tg x\operatorname{tg}{x}
arctg x\operatorname{arctg}{x}
cotg x\operatorname{cotg}{x}
arccotg x\operatorname{arccotg}{x}
sh x\operatorname{sh}{x}
ch x\operatorname{ch}{x}
th x\operatorname{th}{x}
settsh x\operatorname{settsh}{x}
settch x\operatorname{settch}{x}
rg A\operatorname{rg}{A}
rank A\operatorname{rank}{A}
Ker f\operatorname{Ker}{f}
Im(f)\operatorname{Im}{{\left ( f \right )}}
tr A\operatorname{tr}{A}
span(v, w)\operatorname{span}{{\left ( v , w \right )}}

Диакритические знаки

hat x\hat{x}
bar x overline(x)\overline{x}
vec v\vec{v}
tilde x\tilde{x}
dot x\dot{x}
ddot x\ddot{x}
ul(x) underline(x)\underline{x}
ubrace(1+2)_3 underbrace(1+2)_3\underbrace{1 + 2}_{3}
obrace(1+2)^3 overbrace(1+2)^3\overbrace{1 + 2}^{3}

Шрифты

bb(A) mathbf(A)\mathbf{A}
bbb(R) mathbb(R)\mathbb{R}
cc(F) mathcal(F)\mathcal{F}
tt(x) mathtt(x)\mathtt{x}
fr(g) mathfrak(g)\mathfrak{g}
sf(x) mathsf(x)\mathsf{x}

Текст внутри формулы

В двойных кавычках слова остаются словами: x = 1 " если " y > 0. Там, где текст соприкасается с символом, добавляется тонкий пробел, поэтому "для всех"x не слипается. Слова and, or, if уже отделены пробелами.

x = 1 "and" y = 2x = 1 \,\text{and}\, y = 2
text(text) mbox(text)\text{text}

Матрицы, векторы, системы

Матрица — это список строк, каждая в скобках, через запятую: [[1,2],[3,4]] с квадратными скобками, ((1,2),(3,4)) с круглыми, |(a,b),(c,d)| для определителя. Вектор-столбец — матрица из одного столбца. Система — матрица с { слева и пустотой справа, :}:

A = [[1,2],[3,4]]
det A = |(1,2),(3,4)| = -2
vec v = ((x),(y),(z))
{(x + y = 1),(x - y = 2):}
|x| = {(x, " если " x >= 0),(-x, " если " x < 0):}

Другие символы

del partial\partial
grad nabla\nabla
oo infty\infty
O/ emptyset\emptyset
aleph\aleph
/_ angle\angle
/_\ triangle\triangle
diamond\diamond
square boxempty\square
frown\frown
... ldots\ldots
cdots\cdots
vdots\vdots
ddots\ddots
a quad ba \quad b
a qquad ba \qquad b
a \ ba \, b
50%50 \%
NN\mathbb{N}
ZZ\mathbb{Z}
QQ\mathbb{Q}
RR\mathbb{R}
CC\mathbb{C}
f'(x) f prime(x)f ' {\left ( x \right )}
f''(x)f '' {\left ( x \right )}
f'''(x)f ''' {\left ( x \right )}
x^2 dxx^{2} \mathop{}\!dx
dy\mathop{}\!dy
dz\mathop{}\!dz
dt\mathop{}\!dt