0%

markdown-math

前言: 因为最近经常用到markdown写数学公式,每次都查感觉有点啰嗦,所以做个简单小结,把平常用的做个记录。这个博客根据平时自己常用到的进行动态增加。

参考链接:

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
2
3
4
\begin{equation}
数学公式
\label{eq:当前公式名}
\end{equation}

5.自动编号公式的引用方法

在公式 中,我们看到了这个被自动编号的公式。
貌似没有成功

6.单个公式换行

单个公式很长的时候需要换行,但仅允许生成一个编号时,可以用split标签包围公式代码,在需要转行的地方使用\\,每行需要使用1个&来标识对齐的位置,结束后可使用\tag{…}标签编号。

1
2
3
4
5
6
7
$$
\begin{split}
a &= b \\
c &= d \\
e &= f
\end{split}\tag{1.3}
$$

7.多行的独立公式

有时候需要罗列多个公式,可以用eqnarray*标签包围公式代码,在需要转行的地方使用\\,每行需要使用2个&来标识对齐位置,两个&…&号之间的是公式间对齐的位置,每行公式后可使用\tag{…}标签编号:

github貌似对于多行公式显示不出来。

1
2
3
4
5
6
$$
\begin{eqnarray*}
x^n+y^n &=& z^n \tag{1.4} \\
x+y &=& z \tag{1.5}
\end{eqnarray*}
$$

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
2
3
4
5
6
7
$$
P_{r-j}=
\begin{cases}
0 &\mbox{if $r-j$ is odd}\\
r!\,(-1)^{(r-j)/2} &\mbox{if $r-j$ is even}
\end{cases}
$$

1.6 多行对齐公式

1
2
3
4
5
6
$$
\begin{align}
h(x) =& \frac{1}{\int_xt(x)\mathrm{d}x} \tag{1}\\
f(x) =& \frac{1}{\int_x\eta(x)\mathrm{d}x}g(x)\tag{2}
\end{align}
$$

2. LaTex公式渲染引擎

参考链接:https://www.jianshu.com/p/a9f26f4cd4e6

针对Hexo渲染LaTex公式的时候,下划线总是容易被渲染成斜体,所以更换Hexo默认的Markdown渲染引擎。

1
2
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save

更换渲染引擎只能保证块内公式的下划线的问题,对于行内公式,需要修改\node_modules\kramed\lib\rules\inline.js。

1
2
//  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

对于两个连续的花括号,需要中间加个空格。

对于2019-01-18之前已经发过的博客文章,如公式不进行主动修复。