第 4 章 Bookdown中的公式与定理

这是第4 章的内容, 讲述浮动对象定理与公式的标签与引用. (Xie, 2015a, 2016)

4.1 公式标签的设定

Rmarkdown中公式除了无标号的公式(用一对$$实现),可以使用LaTeX中的equation环境, 尽管无法实现类似的WYSIWYG, 但可设置标签. 标签格式为 (\#eq:label), 其中eq是关键字,例如

\begin{equation} 
  f\left(k\right) = \binom{n}{k} p^k\left(1-p\right)^{n-k}
  (\#eq:binom)
\end{equation} 

显示为 \[\begin{equation} f\left(k\right) = \binom{n}{k} p^k\left(1-p\right)^{n-k} \tag{4.1} \end{equation}\] 对于多行公式可以采用align环境,可对多个公式同时进行设置标签,不需要标签则用\notag,例如

\begin{align} 
g(X_{n}) &= g(\theta)+g'({\tilde{\theta}})(X_{n}-\theta) \notag \\
\sqrt{n}[g(X_{n})-g(\theta)] &= g'\left({\tilde{\theta}}\right)
  \sqrt{n}[X_{n}-\theta ] (\#eq:align)
\end{align}

显示为 \[\begin{align} g(X_{n}) &= g(\theta)+g'({\tilde{\theta}})(X_{n}-\theta) \notag \\ \sqrt{n}[g(X_{n})-g(\theta)] &= g'\left({\tilde{\theta}}\right) \sqrt{n}[X_{n}-\theta ] \tag{4.2} \end{align}\]

4.2 定理标签的设定

这里我们先叙述几个定义和定理,并给出几个例子.

引理4.1 A group having an infinite number of elements.
定理4.1 (无限群) A group having an infinite number of elements.
证明: The proof comes here.
定义4.1 A group having an infinite number of elements.
例4.1 The set \((\mathbb{Z}, +)\) is an infinite group.

4.3 定理与公式的引用

4.1, 定义4.1 定理4.1为定理类引用.

公式的引用采用 \@ref(eq:label), 例如上面的二个公式可引用为: 公式(4.1) 和公式 (4.2).

4.4 数学公式的扩展

有些公式无法用\(\TeX\)中包的命令来实现,例如粗体数学符号,尽管在\(\TeX\)中有个bm包在数学环境下通过\bm{\alpha} 来实现\boldsymbol{\alpha}的功能,但在html下需要给mathjax做个\(\TeX\)宏(macro)6:

  TeX: {
    extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
    Macros: {
      bm: ["{\\boldsymbol #1}",1],
    },
  }

此时由$\bm{\alpha}$出来的效果为 \(\bm{\alpha}\).

有关数据公式的标签与应用可参考mathjax官方文档, Mathjax的本地化安装参考第B章介绍.

参考文献

Xie, Y. (2015a). Dynamic documents with R and knitr (2nd ed.). Boca Raton, Florida: Chapman; Hall/CRC. Retrieved from http://yihui.name/knitr/
Xie, Y. (2016). Bookdown: Authoring books and technical documents with R markdown. Boca Raton, Florida: Chapman; Hall/CRC. Retrieved from https://bookdown.org/yihui/bookdown

  1. 配置在MathJax.Hub.Config下进行,具体参见Mathjax技术文档说明↩︎