R沟通|Bookdown中文书稿写作手册(下)

2021-09-14 10:47:16 浏览数 (4)

本教程来自华东师范大学汤银才教授,本人已授权。为了获得更好的阅读体验,可在文末直达原文网站。前两期内容见:R沟通|Bookdown中文书稿写作手册(中);R沟通|Bookdown中文书稿写作手册(上)

第 3 章 Bookdown 中的章节标题

我们在第3章讲述章节标题的设置、标签与引用.

3.1 章节标题

章节标题用遵从markdown的规则,用#设置,

  • 一级标题用一个 #, 在 bookdown 中表示, 相当于 TEX 中的chapter{}
  • 二级标题用二个 #, 在 bookdown 中表示, 相当于 TEX 中的section{}
  • 三级标题用三个 #, 在 bookdown 中表示子节, 相当于 TEX 中的subsection{}

还可以有更深的标题.

3.2 章节标题标签的设定与引用

章节标题标签可在标题后用 {#label}来设定,引用方式为@ref(label). 例如

代码语言:javascript复制
第@ref(sections)章@ref(sec3-2)节讨论标题标签的设定与引用.

显示为:

第3章3.2节讨论标题标签的设定与引用.

第 4 章 Bookdown中的公式与定理

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

4.1 公式标签的设定

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

代码语言:javascript复制
begin{equation}
  fleft(kright) = binom{n}{k} p^kleft(1-pright)^{n-k}
  (#eq:binom)
end{equation}

显示为

对于多行公式可以采用align环境,可对多个公式同时进行设置标签,不需要标签则用notag,例如

代码语言:javascript复制
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}

显示为

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 (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):

代码语言:javascript复制
  TeX: {
    extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
    Macros: {
      bm: ["{\boldsymbol #1}",1],
    },
  }

此时由bm{alpha}出来的效果为 α.

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

第 5 章 Bookdown中的图形

5.1 由R生成单个图形示例

这是第5章的内容, 讲述浮动对象图形的标签与引用.

图 5.1: iris数据集Petal.Length} ~ Species的箱线图.

5.2 由R生成两个图形并置示例

R的代码块选项中设置out.width='50%', fig.show='hold'就可获得二个图形的并置.

图 5.2 iris数据集Petal.Length} ~ Species 的散点图. 右侧的图像中散点类型通过Species因子的水平给出,见图例. 直线为数据集拟合线性模型的结果.

5.3 由R生成两个图形堆叠示例

R的代码块选项中设置out.width='90%', fig.show='hold'就可获得二个图形的并置.

5.4 静态图形示例

Bookdwon中插入本地图形可使用命令(示例为Rlogo)

代码语言:javascript复制
knitr::include_graphics("figures/Rlogo.png")

R logo

5.5 图形引用

图形引用通过R代码块的标签引用, 并带前缀fig:, 例如

代码语言:javascript复制
图@ref(fig:fig4-2)和图@ref(fig:fig4-3)为两个图的并置与堆叠.

输出为:

图5.2和图5.3为两个图的并置与堆叠。

推荐: 可以保存以下照片,在 b 站扫该二维码,或者 b 站搜索【庄闪闪】观看 Rmarkdown 系列的视频教程。Rmarkdown 视频新增两节视频(写轮眼幻灯片制作)需要视频内的文档,可在公众号回复【rmarkdown

0 人点赞