文章目录
作为OIer,写博客的时候经常会遇到需要数学公式的情况,特别是Σ、∈等符号,在markdown里用起来十分不友好(百度百科网络流那一篇就出现了:Σ(w∈V)f(u,w)=0。好在markdown中有插件为我们提供了强大的数学公式显示支持。现在我们就可以这样浪:
我们甚至可以……
是不是很浪?!
实现插件
目前似乎有两个比较流行的方案,一个是,一个是MathJax。
MathJax
这是目前最流行的方案,MathJax支持的公式很完整,基于TeX/LaTeX的语法,但是缺点是(据说)加载速度十分缓慢。(由于我WordPress中使用的MarkDown插件是国人开发的Editor.md,其中内置的只有KaTeX,所以我没有尝试过MathJax……)
官网:https://www.mathjax.org/
KaTeX
也是基于TeX/LaTeX的语法。(据说)KaTeX相比MathJax加载速度快得多,但是(据说)KaTeX支持没有MathJax完整。总之对于我们日常使用,上面两个都不错。
官网:https://khan.github.io/KaTeX/
(在这个管网上KaTeX直接放出加载速度对比图手撕MathJax……)
常用语法
由于我正在使用KaTeX,所以本文中公式显示均以KaTeX为准。
首先数学公式都是要用两个“$”符号包起来的。任仍然拿刚才的“Σ(w∈V)f(u,w)=0”举例,在编辑器里应该写成这样:
\displaystyle \sum_{win V} f(u,w)=0
行间公式与行内公式
这个displaystyle表示这是行间公式。与之对应的就是行内公式(不加displaystyle)。下面两个公式一个是行间公式,一个是行内,可以看出区别(主要是Sigma上下数字写法区别):
上标与下标
下标用“_”符号,上标用“^”符号。这些符号用在Sigma之后就可以让Sigma上下显示数字了。比如:
\displaystyle \sum_{i=1}^{i\leq n}
这个leq是啥?这就要引出以下的:
关系运算符
回到一开始的公式,这个sum就是Sigma的意思了,就是加和。in表示属于。而leq则是小于等于。
完整的关系运算符可以去看:https://khan.github.io/KaTeX/。因为有很多,这里不一一列举了。
分数
使用\frac {分子} {分母}
可以显示一个分数。便捷情况可直接输入\frac ab
来快速生成一个。
如果分式很复杂,亦可使用 分子 \over 分母
命令,此时分数仅有一层。
举例:
括号和分隔符
使用{}来表示{}。普通的括号、分隔符(比如“()”、“|”、“[]”)则用其本身表示。当要显示大号的括号或分隔符时,要用\left和\right命令。
举例:
f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right)
参考
https://khan.github.io/KaTeX/
https://www.zybuluo.com/codeep/note/163962