前言
本文主要讨论在 Markdown 中使用数学公式及化学式的方法
MathJax
在 Markdown 中使用 MathJax 的方法是在 Markdown 文件的头部添加以下内容:
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
inlineMath: [['$','$']]
}
});
</script>
然后就可以在 Markdown 中使用 MathJax 了,例如:
$$
\begin{aligned}
\frac{\partial \mathcal{L}}{\partial \mathbf{w}} &= \frac{\partial}{\partial \mathbf{w}} \left( \frac{1}{2} \mathbf{w}^T \mathbf{w} + C \sum_{i=1}^n \xi_i - \sum_{i=1}^n \alpha_i \left( y_i \mathbf{w}^T \mathbf{x}_i - 1 + \xi_i \right) - \sum_{i=1}^n \mu_i \xi_i \right) \\
&= \mathbf{w} - \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i = 0
\end{aligned}
$$
效果如下:
\[\begin{aligned} \frac{\partial \mathcal{L}}{\partial \mathbf{w}} &= \frac{\partial}{\partial \mathbf{w}} \left( \frac{1}{2} \mathbf{w}^T \mathbf{w} + C \sum_{i=1}^n \xi_i - \sum_{i=1}^n \alpha_i \left( y_i \mathbf{w}^T \mathbf{x}_i - 1 + \xi_i \right) - \sum_{i=1}^n \mu_i \xi_i \right) \\ &= \mathbf{w} - \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i = 0 \end{aligned}\]默认化配置
如果不想在每篇博客中都添加 MathJax 的配置,可以在_include/head.html的<head>与</head>之间插入以下内容:
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
inlineMath: [['$','$']]
}
});
</script>
部分符号及其含义
- 指数:
^- 例如:
x^2- 效果:$x^2$
- 例如:
- 下标:
_- 例如:
x_1- 效果:$x_1$
- 例如:
- 分数:
\frac{分子}{分母}- 例如:
\frac{1}{2}- 效果:$\frac{1}{2}$
- 例如:
- 开方:
\sqrt{被开方数}- 例如:
\sqrt{2}- 效果:$\sqrt{2}$
- 例如:
- 累加:
\sum_{下标}^{上标}- 例如:
\sum_{i=1}^n- 效果:$\sum_{i=1}^n$
- 例如:
- 累乘:
\prod_{下标}^{上标}- 例如:
\prod_{i=1}^n- 效果:$\prod_{i=1}^n$
- 例如:
- 积分:
\int_{下标}^{上标}- 例如:
\int_{0}^1- 效果:$\int_{0}^1$
- 例如:
- 矩阵:
\begin{aligned}...\end{aligned}- 例如:
\begin{aligned}...\end{aligned}- 效果:$\begin{aligned}…\end{aligned}$
- 例如:
- 函数等符号:
\sin、\cos、\tan、\cot、\sec、\csc、\arcsin、\arccos、\arctan、\sinh、\cosh、\tanh、\coth、\log、\ln、\lg、\arg、\min、\max、\lim、\liminf、\limsup、\exp、\det、\dim、\mod、\gcd、\deg、\hom、\ker、\Pr、\sup、\inf- 效果:$\sin$、$\cos$、$\tan$、$\cot$、$\sec$、$\csc$、$\arcsin$、$\arccos$、$\arctan$、$\sinh$、$\cosh$、$\tanh$、$\coth$、$\log$、$\ln$、$\lg$、$\arg$、$\min$、$\max$、$\lim$、$\liminf$、$\limsup$、$\exp$、$\det$、$\dim$、$\gcd$、$\deg$、$\hom$、$\ker$、$\Pr$、$\sup$、$\inf$
- n次方根:
\sqrt[n]{被开方数}- 例如:
\sqrt[3]{2}- 效果:$\sqrt[3]{2}$
- 例如:
化学式支持
使用拓展的 MathJax,可以方便地支持化学式的显示,只需要将插入内容换成:
<script>
window.MathJax = {
tex: {
inlineMath: [['$', '$']],
packages: {'[+]': ['mhchem']}
},
loader: {load: ['[tex]/mhchem']},
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
其中svg:{...}的内容是指定 svg 字体缓存为全局模式,减少开销。
- 化学符号:
\ce{化学式}- 例如:
\ce{H2O}- 效果:$\ce{H2O}$
- 例如:
\ce{^{227}_{90}Th}- 手动上下标
- 效果:$\ce{^{227}_{90}Th}$
- 例如:
\ce{2 Cr^2+ + 4 CH3COO^− + 2 H2O -> Cr2(CH3COO)4·2H2O↓}->表示反应箭头- 效果:$\ce{2 Cr^2+ + 4 CH3COO^− + 2 H2O -> Cr2(CH3COO)4·2H2O↓}$
- 例如:
\ce{3 [Re(CN)8]^2- + 2 [Co(NH3)6]^3+ -> [Co(NH3)6]2[Re(CN)8]3 v}- 可以用
v表示沉淀 - 效果:$\ce{3 [Re(CN)8]^2- + 2 [Co(NH3)6]^3+ -> [Co(NH3)6]2[Re(CN)8]3 v}$
- 可以用
- 例如:
\ce{2 Co(CO)4− + 2 NO + 2 H2O -> 2 Co(NO)(CO)3 + 2 Co + 2 OH− + H2}- 效果:$\ce{2 Co(CO)4− + 2 NO + 2 H2O -> 2 Co(NO)(CO)3 + 2 Co + 2 OH− + H2}$
- 例如:
\ce{C2B7H11^2- + Re(CO)5Br ->[\ce{THF}] [(π-C2B7H11)Re(CO)3]− + Br− + 2 CO}- 在
->后面加上\ce{}可以表示反应条件 - 效果:$\ce{C2B7H11^2- + Re(CO)5Br ->[\ce{THF}] [(π-C2B7H11)Re(CO)3]− + Br− + 2 CO}$
- 在
- 例如:
\ce{MnO4− + OH− → MnO4^2− + 1/2O2 ^ + H2O}- 可以用
^表示气体 - 效果:$\ce{MnO4− + OH− → MnO4^2− + 1/2O2 ^ + H2O}$
- 可以用
- 例如:
其他有趣的例子:
- 热化学:
C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}- $C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$
\ce{$K = \frac{[\ce{Hg^2+}][\ce{Hg}]}{[\ce{Hg2^2+}]}$}- $\ce{$K = \frac{[\ce{Hg^2+}][\ce{Hg}]}{[\ce{Hg2^2+}]}$}$
- 各种箭头:
\ce{A -> B}$\ce{A -> B}$\ce{A <- B}$\ce{A <- B}$\ce{A <=> B}$\ce{A <=> B}$\ce{A <--> B}$\ce{A <–> B}$\ce{A <<=> B}$\ce{A «=> B}$\ce{A <=>> B}$\ce{A <=» B}$\ce{A ->[{text above}][{text below}] B}$\ce{A ->[{text above}][{text below}] B}$\ce{A ->[$x$][$x_i$] B}$\ce{A ->[$x$][$x_i$] B}$
- 相态标注:
\ce{NaOH_{(aq,$\infty$)}}$\ce{NaOH_{(aq,$\infty$)}}$
- 配位化学:
\ce{[Pt(\eta^2-C2H4)Cl3]-}$\ce{[Pt(\eta^2-C2H4)Cl3]-}$\ce{$cis${-}[PtCl2(NH3)2]}$\ce{$cis${-}[PtCl2(NH3)2]}$
- 核化学:
\ce{^40_18Ar + \gamma{} + \nu_e}$\ce{^40_18Ar + \gamma{} + \nu_e}$
- 键合:
\ce{A-B=C#D}$\ce{A-B=C#D}$\ce{A\bond{~}B\bond{~-}C}$\ce{A\bond{~}B\bond{~-}C}$\ce{A\bond{~--}B\bond{~=}C\bond{-~-}D}$\ce{A\bond{~–}B\bond{~=}C\bond{-~-}D}$\ce{A\bond{...}B\bond{....}C}$\ce{A\bond{…}B\bond{….}C}$\ce{A\bond{->}B\bond{<-}C}$\ce{A\bond{->}B\bond{<-}C}$
- 氧化态
\ce{Fe^{II}Fe^{III}2O4}$\ce{Fe^{II}Fe^{III}2O4}$
- 自由基等
\ce{NO^{(2.)-}}$\ce{NO^{(2.)-}}$
- 复杂组成
\ce{Li^x_{Li,1-2x}Mg^._{Li,x}$V$'_{Li,x}Cl^x_{Cl}}$\ce{Li^x_{Li,1-2x}Mg^.{Li,x}$V$’{Li,x}Cl^x_{Cl}}$
- 有机基团
\ce{n-Pr}$\ce{n-Pr}$
- 科学记数法
\pu{6.02e23}$\pu{6.02e23}$\pu{6.02E23}$\pu{6.02E23}$
- 性质描述
\ce{Hg^2+ ->[I-] $\underset{\mathrm{red}}{\ce{HgI2}}$ ->[I-] $\underset{\mathrm{red}}{\ce{[Hg^{II}I4]^2-}}$}- $\ce{Hg^2+ ->[I-] $\underset{\mathrm{red}}{\ce{HgI2}}$ ->[I-] $\underset{\mathrm{red}}{\ce{[Hg^{II}I4]^2-}}$}$