增加显示数学公式编号

警告
本文最后更新于 2018-08-04,文中内容可能已过时。
1
2
3
knitr::opts_chunk$set(comment = '',
                      fig.align = 'center',
                      eval = FALSE)

这两天在重新搭建博客网站,一切重新归零后,再次放空自己,也许会做得更好。

刚好翻阅到以前写的博客,原来发现自己竟然也会写一些跟数学或者金融搭边的内容。这兴许是之前一直想走学术的道路,所以得到事情都是比较偏学究型的。现在再回过头来看这些内容,虽然记忆有些模糊,不过还是能大体知道这些公式讲了什么内容,背后的金融逻辑是什么。看来以前受过的那些苦,至少没有白冤枉。

现在的问题是,我想把以前在博客中写到的数学公式,用 AMS 那套规则进行重新编排,也就是在引用数学公式的时候,能够自动链接到相关的式子。这个功能其实在 $\LaTex$ 里面是非常常见的。与之相对应的,我们可以使用 MathJax 来进行相关的处理。具体的代码如下所示。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<script type="text/javascript">
    window.MathJax = {
      {{ if or .Params.mathjaxEnableSingleDollar (and .Site.Params.mathjaxEnableSingleDollar (ne .Params.mathjaxEnableSingleDollar false)) -}}
        tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
      {{ end -}}
      {{ if or .Params.mathjaxEnableAutoNumber (and .Site.Params.mathjaxEnableAutoNumber (ne .Params.mathjaxEnableAutoNumber false)) -}}
        TeX: {equationNumbers: {autoNumber: "AMS"}},
      {{ end -}}
      showProcessingMessages: false,
      messageStyle: 'none'
    };
</script>

<script async src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML'></script>

其中,我在 config.toml 增加了参数设置,这样可以在博客里面指定是不是要用到 MathJax,毕竟启用这个功能还是需要进行额外的插件加载,难免会影响网页的载入速度。

通过以上的设置,文章内容便会自动进行数学公式编号的自动处理。如以下这个公式:

$$ \begin{align} d \ln S_t = d Y_t &= \frac{ \partial Y }{ \partial t} dt + \frac{ \partial Y }{ \partial S} dS_t + \frac{1}{2} \frac{ \partial^2 Y }{ \partial S^2} dS_t dS_t \nonumber\ &= 0 · dt + \frac{ 1 }{ S_t } dS_t - \frac{1}{2} · \frac{ 1 }{ S_t^2 } dS_t dS_t \nonumber\ &= \frac{ 1 }{ S_t } · S_t · (\mu dt + \sigma dW_t) - \frac{1}{2} · \frac{ 1 }{ S_t^2 } · \sigma^2 S_t^2 dt \nonumber\ &= (\mu - \frac{1}{2} \sigma^2) dt + \sigma dW_t. \ \end{align} $$

😆,可以愉快的更新博客了。当然,现在估计已经没有能力写大段的数学推演过程了。😭

相关内容

william 支付宝支付宝
william 微信微信
0%