前言: 因为最近经常用到markdown写数学公式,每次都查感觉有点啰嗦,所以做个简单小结,把平常用的做个记录。这个博客根据平时自己常用到的进行动态增加。
- [x] 2019-01-18: hexo更换渲染引擎,详见下文
- [x] 2018-12-27: 使用Katex
- [x] 2018-12-27:一份不太简单的LATEX2e介绍
- [x] 2019-05-24: \mathop {argmin}{a} $\mathop {argmin} {a}$
参考链接:
https://wangcong.info/article/MarkdownWithMath.html
https://blog.csdn.net/deepinC/article/details/81103326
https://blog.csdn.net/HaleyPKU/article/details/80341932
https://www.zybuluo.com/fyywy520/note/82980
1. 公式使用参考
1.1 插入公式
插入公式分为行中公式,独立公式和自动编号公式
1.行中公式 $ a=b $
1 | 数学公式 $ |
2.独立公式
1 | $ 数学公式 $$ |
3.编号公式
1 | $ 数学公式 \tag {1} $$ |
由公式$(1)$可以得出结论
1 | 由公式$(1)$可以得出结论 |
4.自动编号公式
自动编号公式在github上显示不出来,原则上是可以的,推荐使用手动编号。
1 | \begin{equation} |
5.自动编号公式的引用方法
在公式 中,我们看到了这个被自动编号的公式。
貌似没有成功
6.单个公式换行
单个公式很长的时候需要换行,但仅允许生成一个编号时,可以用split标签包围公式代码,在需要转行的地方使用\\,每行需要使用1个&来标识对齐的位置,结束后可使用\tag{…}标签编号。
1 | $ |
7.多行的独立公式
有时候需要罗列多个公式,可以用eqnarray*标签包围公式代码,在需要转行的地方使用\\,每行需要使用2个&来标识对齐位置,两个&…&号之间的是公式间对齐的位置,每行公式后可使用\tag{…}标签编号:
github貌似对于多行公式显示不出来。
1 | $ |
1.2 符号
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
x^y | $x^y$ | x_y | $x_y$ |
\sideset{\^1_2}{\^3_4}\bigotimes | $\sideset{^1_2}{^3_4}\bigotimes$ | \langle | < |
\lceil | $\lceil$ | \rceil | $\rceil$ |
\lfloor | $\lfloor$ | \frac{a}{b} | $\frac{a}{b}$ |
\sqrt[2]{3} | $\sqrt[2]{3}$ | \alpha,\gamma | $\alpha$ $\gamma$ |
\frac{a}{b} | $\frac{a}{b}$ | \sum_{n=1}^N{3n} | $\sum_{n=1}^N{3n}$ |
\prod_{n=1}^N{3n} | $\prod_{n=1}^N{3n}$ | \sqrt[2]{5} | $\sqrt[2]{5}$ |
\int^5_1{f(x)}{\rm d}x | $\int^5_1{f(x)}{\rm d}x$ | \iint^5_1{f(x)}{\rm d}x | $\iint^5_1{f(x)}{\rm d}x$ |
+\infty | $+\infty$ | -\infty | $-\infty$ |
\lim_{n\rightarrow+\infty} n | $\lim_{n\rightarrow+\infty} n$ | \in | $\in$ |
\geq\,\leq | $\geq,\leq$ | \subset,\supset | $\subset,\supset$ |
\pm,\cdot | $\pm,\cdot$ | \times,\div | $\times,\div$ |
\not=,\not< | $\not=,\not<$ | \not\supset | $\not\supset$ |
\log_2{18} | $\log_2{18}$ | \parallel | $\parallel$ |
\sum_{n=1}^N{n} | $\sum_{n=1}^N{n}$ | \prod{n} | $\prod{n}$ |
\pm,\cdot,\times,\div | $\pm,\cdot,\times,\div$ |
1.3 希腊字母
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
\alpha,\beta,\gamma | $\alpha,\beta,\gamma$ | \delta,\epsilon, \varepsilon | $\delta,\epsilon, \varepsilon$ |
\theta,\lambda,\mu | $\theta,\lambda,\mu$ | \phi,\varphi,\sigma | $\phi,\varphi,\sigma$ |
\Sigma | $\Sigma$ |
1.4 空心字母与Fraktur字母
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
\mathbb{A} | $\mathbb{A}$ | \mathfrak{B} | $\mathfrak{B}$ |
1.5 分段函数
1 | $ |
1.6 多行对齐公式
1 | $$ |
2. LaTex公式渲染引擎
参考链接:https://www.jianshu.com/p/a9f26f4cd4e6
针对Hexo渲染LaTex公式的时候,下划线总是容易被渲染成斜体,所以更换Hexo默认的Markdown渲染引擎。
1 | npm uninstall hexo-renderer-marked --save |
更换渲染引擎只能保证块内公式的下划线的问题,对于行内公式,需要修改\node_modules\kramed\lib\rules\inline.js。
1 | // em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, |
对于两个连续的花括号,需要中间加个空格。
对于2019-01-18之前已经发过的博客文章,如公式不进行主动修复。