前言

bookdown

本书采用bookdown + GitHub action自动渲染成网页。其实也可以采用Typora本地查看,排版与网页版基本一致。

bookdown编译

编译为静态预览。编译之后Rmd做的修改,不会立即同步。

bookdown::render_book()

如需编译pdf(bookdown::pdf_book),需要安装XeLaTeX。建议使用TinyTeXhttps://yihui.org/tinytex/

bookdown预览

预览为动览。编译之后Rmd做的修改,会立即同步更新。

bookdown::serve_book()
# servr::daemon_stop(1) # to stop render

bookdown使用心得

  • Rmd文件名的排序决定了编译顺序。建议Rmd在命名时需要考虑文件排序。

  • R包加载一次即可。index.Rmd是最先被编译的Rmd文件,因此常用的R包可以在index.Rmd中加载。

  • Rmd在编译过程中无权限安装R包,因此require2无法实现其原本设计的功能。

Typora

  • 安装typora v0.11.18。

typora v1.0之前免费;之后转为收费。可以在网上搜到免费版的v0.11.18。

  • Rmd默认采用typora打开;

Rmd打开之后看到的就是排版好的文档,与bookdown生成的网页基本一致。

pandoc:md转word或pdf

下载pandoc和pandoc-crossref,二者的版本要对应起来,否则编译会出错。

在markdown文件中:

$$
\begin{align}       
\frac{\partial \rho}{\partial t}+\nabla \cdot (\rho \vec{V}) &= 0 \\
(\frac{\partial \rho}{\partial t} + \vec{V} \nabla \cdot \rho) + \rho \nabla\cdot\vec{V} &=0
\end{align}
$$
{#eq:description}

\[ \begin{align} \frac{\partial \rho}{\partial t}+\nabla \cdot (\rho \vec{V}) &= 0 \\ (\frac{\partial \rho}{\partial t} + \vec{V} \nabla \cdot \rho) + \rho \nabla\cdot\vec{V} &=0 \end{align} \] {#eq:description}

注意:

bookdown给公式编号的方式与latex不同。bookdown中,上述公式的代码应该改为:

$$
\begin{align}       
\frac{\partial \rho}{\partial t}+\nabla \cdot (\rho \vec{V}) &= 0 \\
(\frac{\partial \rho}{\partial t} + \vec{V} \nabla \cdot \rho) + \rho \nabla\cdot\vec{V} &=0
(\#eq:description)
\end{align}
$$

\[ \begin{align} \frac{\partial \rho}{\partial t}+\nabla \cdot (\rho \vec{V}) &= 0 \\ (\frac{\partial \rho}{\partial t} + \vec{V} \nabla \cdot \rho) + \rho \nabla\cdot\vec{V} &=0 \end{align} \tag{0.1} \]

在命令行中:

## powershell
# word
pandoc .\00-前言.Rmd --reference-doc=inst\numbered-sections.docx `
  --filter pandoc-crossref --css .\inst\base.user.css -o hello.docx; .\hello.docx

# pdf
pandoc .\00-前言.Rmd -f markdown --reference-doc=inst\numbered-sections.docx `
  --filter pandoc-crossref --css .\inst\base.user.css -o hello.pdf; .\hello.pdf

作者简介

孔冬冬,自然地理学博士,中国地质大学(武汉)副教授。

参考文献

  1. Xie Yihui (2022), Books and Technical Documents with R Markdown, https://bookdown.org/yihui/bookdown

  2. 李东风 (2022), R语言教程, 北京大学《统计软件》, https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/bookdown.html

  3. 王敏杰 (2022), 数据科学中的R语言, 四川师范大学研究生公选课, https://bookdown.org/wangminjie/R4DS/baseR-intro-ds.html, https://github.com/perlatex/R_for_Data_Science