本文用在Hexo上测试Latex,主要是测试 mathjax 对 Latex 的渲染效果。会根据一些features或测试更新本文。

实践中发现 mathjax 无法渲染我使用习惯下的 latex,需要稍加修改,梳理如下(持续更新):

  1. mathjax 中的换行需要把 \\ 替换成 \newline
  2. \end{align} 环境前不能是空行,否则无法渲染
  3. 行内**不能渲染 latex

以上不一定持续有效~

解决行内渲染问题,在把文件node_modules/kramed/lib/rules/inline.js修改如下,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var inline = {
// escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
escape: /^\\([`*{}\[\]()# +\-.!_>])/,
autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
url: noop,
html: /^<!--[\s\S]*?-->|^<(\w+(?!:\/|[^\w\s@]*@)\b)*?(?:"[^"]*"|'[^']*'|[^'">])*?>([\s\S]*?)?<\/\1>|^<(\w+(?!:\/|[^\w\s@]*@)\b)(?:"[^"]*"|'[^']*'|[^'">])*?>/,
link: /^!?\[(inside)\]\(href\)/,
reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
reffn: /^!?\[\^(inside)\]/,
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
// em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
br: /^ {2,}\n(?!\s*$)/,
del: noop,
text: /^[\s\S]+?(?=[\\<!\[_*`$]| {2,}\n|$)/,
math: /^\$\$\s*([\s\S]*?[^\$])\s*\$\$(?!\$)/,
};

行内Latex严格使用单个dollor,行间使用两个dollor号。

外部参考:

测试

空格

\, 使用最广泛

控制上下标位置

求和 $\displaystyle \sum_{i=1}^{n} a_{i} $

求和 $\sum_{i=1}^{n} a_{i}$

颜色

字体

正体1 $\mathrm{e} $

正体2 $\mathrm{e is}$

正体2 $\textrm{e is}$ 保留空行

非正体 $e$

粗体,矩阵 $\boldsymbol{A}$

正粗体,矩阵 $\mathbf{A}$

空心粗体,矩阵 $\mathbb{R}$

数学相关Latex演示

矩阵

深度学习 Attention 机制:

多行、换行示例:

公式对齐:

微分方程:

概率:

数据集:

符号:

矩阵:

case:

operator:

partial:

范数:

薛定谔方程(Schrödinger equation)作为公理,

待续未完~~~

转载请包括本文地址:https://allenwind.github.io/blog/6127
更多文章请参考:https://allenwind.github.io/blog/archives/