数学公式语法——Mathjax教程

  在着手写博客前,喜欢在“印象笔记”上记录学习笔记,当时觉得“印象笔记”的富文本编辑器用着还挺顺手。在搭建博客开始学着用Markdown写作后,再看原来在“印象笔记”中的笔记,格式排版真是惨不忍睹,Markdown的使用很大程度上提升了写作效率,也统一了排版。这里顺便推荐一款Markdown的编辑器——小书匠,小书匠支持标准的Markdown语法,也具有强大的语法扩展功能,支持大多数图床和“印象笔记”等第三方存储。
  在上一篇博客《Relation Networks for Object Detection》论文笔记中由于论文中有不少公式需要介绍,又不想用图片代替影响阅读体验,好在Markdown支持Mathjax语法。但不得不说刚开始使用Mathjax编辑公式,还是很不习惯,几千字的博文,公式编辑花了很长时间。因此用这篇博文总结一下Mathjax的语法,搬砖的过程也让自己熟悉Mathjax。

Mathjax简介

  Mathjax是一款运行在浏览器中的开源数学符号渲染引擎,使用MathJax可以方便的在浏览器中显示数学公式,不需要使用图片。

基本语法

  • 在正文中同一行插入LaTeX公式用$...$定义
    • 例如语句为$\sum_{i=0}^N\int_{a}^{b}g(t,i)\text{d}t$
    • 显示为$\sum_{i=0}^N\int_{a}^{b}g(t,i)\text{d}t$
  • 另起一行显示LaTeX公式用$$...$$
    • 例如语句为$$W_G^{mn}=max\{0,W_G.\xi_G(f_G^m,f_G^n)\}$$
    • 显示为

      希腊字母

显示 命令 显示 命令
$\alpha$ \alpha $\beta$ \beta
$\gamma$ \gamma $\delta$ \delta
$\epsilon$ \epsilon $\zeta$ \zeta
$\eta$ \eta $\theta$ \theta
$\iota$ \iota $\kappa$ \kappa
$\lambda$ \lambda $\mu$ \mu
$\nu$ \nu $\xi$ \xi
$\pi$ \pi $\rho$ \rho
$\sigma$ \sigma $\tau$ \tau
$\upsilon$ \upsilon $\phi$ \phi
$\chi$ \chi $\psi$ \psi
$\omega$ \omega
  • 若需要大写希腊字母,将命令首字母大写即可。$\gamma$呈现为$\Gamma$
    • 若需要斜体希腊字母,将命令前加上var前缀即可。$\varGamma$呈现为$\varGamma$

关系运算符

显示 命令 显示 命令
$\mid$ \mid $\nmid$ \nmid
$\cdot$ \cdot $\leq$ \leq
$\geq$ \geq $\neq$ \neq
$\approx$ \approx $\equiv$ \equiv
$\prec$ \prec $\preceq$ \preceq
$\ll$ \ll $\succ$ \succ
$\succeq$ \succeq $\gg$ \gg
$\sim$ \sim $\simeq$ \simeq
$\asymp$ \asymp $\cong$ \cong
$\doteq$ \doteq $\propto$ \propto
$\models$ \models $\parallel$ \parallel
$\bowtie$ \bowtie $\perp$ \perp
$\circ$ \circ $\ast$ \ast
$\bigodot$ \bigodot $\bigotimes$ \bigotimes
$\bigoplus$ \bigoplus

算术运算符

显示 命令 显示 命令
$\pm$ \pm $\mp$ \mp
$\times$ \times $\ast$ \ast
$\star$ \star $\circ$ \circ
$\bullet$ \bullet $\cdot$ \cdot
$\div$ \div $\sum$ \sum
$\prod$ \prod $\coprod$ \coprod
$\oplus$ \oplus $\bigoplus$ \bigoplus
$\ominus$ \ominus $\otimes$ \otimes
$\bigotimes$ \bigotimes $\oslash$ \oslash
$\odot$ \odot $\bigodot$ \bigodot
$\diamond$ \diamond $\bigtriangleup$ \bigtriangleup
$\bigtriangledown$ \bigtriangledown $\triangleleft$ \triangleleft$
$\triangleright$ \triangleright $\triangleright$ \triangleright
$\bigcirc$ \bigcirc

字母修饰

上下标

  • 上标:^
  • 下标:_
  • 例如:C_n^2,显示为$C_n^2$

    矢量

  • \vec a,显示为$\vec a$
  • \overrightarrow{xy},显示为:$\overrightarrow{xy}$

    字体

  • 打印机字体Typewriter:\mathtt{A}显示为$\mathtt{A}$
  • 黑板粗体字Blackboard Bold:\mathbb{A}呈现为$\mathbb{A}$
  • 无衬线字体Sans Serif:\mathsf{A}呈现为$\mathsf{A}$
  • 手写体:\mathscr{A}呈现为$\mathscr{A}$
  • 罗马字体:\mathrm{A}呈现为$\mathrm{A}$

    括号

  • 小括号:(),显示为()
  • 中括号:[],显示为[]
  • 尖括号:\langle,\rangle呈现为⟨⟩
  • 自适应括号:\left(...\right)能使符号大小与邻近公式相适应
    • (\frac{x}{y}),显示为$(\frac{x}{y})$
    • \left(\frac{x}{y}\right),显示为$\left(\frac{x}{y}\right)$

      求和、极限与积分

  • 求和:\sum
    • 举例:\sum_{i=1}^n{a_i}呈现为$\sum_{i=1}^n{a_i}$
  • 极限:\lim
    • 举例:\lim_{x\to 0}呈现为$\lim_{x \to 0}$
  • 积分:\int
    • 举例:\int_0^xf(x)dx呈现为$\int_0^xf(x)dx$

分式与根式

  • 分式:\frac
    • 举例:\frac{分子}{分母}呈现为$\frac{分子}{分母}$
  • 根式:\sqrt
    • 举例:\sqrt[x]{y}呈现为$\sqrt[x]{y}$

      特殊函数

  • \函数名
    • 举例:\sin x\ln x\max(A,B,C)呈现为$sin x$,$ln x$,$max(A,B,C)$

      空格

  • LaTex语法会忽略空格,需要用转义字符\
    • 小空格:a\ b呈现为$a\ b$
    • 四个空格:a\quad b呈现为$a\quad b$

      矩阵

      基本语法

  • 起始标记\begin{matrix}``,结束标记``\end{matrix}
  • 每一行末尾标记\\,行间元素以$分割
  • 举例
    1
    2
    3
    4
    5
    $$\begin{matrix}
    1&0&0\\
    0&1&0\\
    0&0&1\\
    \end{matrix}$$
    呈现为:

    矩阵边框

  • 在起始、结束标记处用下列词替换matrix
    • pmatrix:小括号边框
    • bmatrix:中括号边框
    • Bmatrix:大括号边框
    • vmatrix:单竖线边框
    • Vmatrix:双竖线边框

      省略元素

      • 横省略号:\cdots
      • 竖省略号:\vdots
      • 斜省略号:\ddots
      • 举例
        1
        2
        3
        4
        5
        6
        $$\begin{bmatrix}
        {a_{11}}&{a_{12}}&{\cdots}&{a_{1n}}\\
        {a_{21}}&{a_{22}}&{\cdots}&{a_{2n}}\\
        {\vdots}&{\vdots}&{\ddots}&{\vdots}\\
        {a_{m1}}&{a_{m2}}&{\cdots}&{a_{mn}}\\
        \end{bmatrix}$$
        呈现为:

        方程组

      • 需要cases环境:起始、结束处以{cases}声明
      • 举例
        1
        2
        3
        4
        5
        6
        $$\begin{cases}
        a_1x+b_1y+c_1z=d_1\\
        a_2x+b_2y+c_2z=d_2\\
        a_3x+b_3y+c_3z=d_3\\
        \end{cases}
        $$

公式编号

  • \tag{n}标签
  • 举例f(x)=x\tag{1}显示为$f(x)=x\tag{1}$

后记

  以上列举的都是常用的Mathjax语法,以后有用到新的会继续补充。

欢迎关注我的公众号

enter description here

-------------本文结束感谢您的阅读-------------