A Markdown 和 bookdown 语法速查

bookdown的语法规则详见其官方文档bookdown: Authoring Books and Technical Documents with R Markdown,这里作一简要总结,以便查询。第一次使用时,建议对照着 ‘bookdownplus’ 扩展包的模板文档来理解用法。

Markdown 基本语法

标记示例 输出
*斜体* 斜体
**粗体** 粗体
CO~2~ CO2下标
R^2^ R2上标
$E = mc^2$ \(E = mc^2\) 行内公式
(双美元符号为行间公式)
[网站](http://xuer.pzhao.net) 超级链接
<xuer@pzhao.net> 邮件链接
![](http图片链接) 插入图片
> 引用文字 引用
`plot()` 行间代码
四个空格 整行代码
三个反引号 区块代码
# 第一章 章节标题
1. 列表... 带编号的列表
- 列表... 不带编号的列表
^[脚注] 脚注

章节划分、编号和交叉引用

标记 输出
# (PART) Part I {-} 部分
# chapter {#ID} 带编号的章节
# chapter {#ID .unnumbered} 不带编号的章节
# References {-} 参考文献
# (APPENDIX) Appendix {-} 附录
\@ref(ID) 交叉引用

插图

第一种插图法(不推荐):用markdown基础语法。下面这条语句,将在输出的文档中以caption为标题插入images文件夹下名为img1.png的图片:

![caption](images/img1.png)

第二种插图法:用嵌入的R代码作图(推荐):

```{r fig1, fig.cap='caption', 
out.width='80%', fig.align='center', echo=FALSE}
plot(1:10)
```

交叉引用方法是\@ref(fig:fig1)

第三种插图法:将现成的图片文件插进来(推荐):

```{r img1, fig.cap='caption'}
knitr::include_graphics("images/img1.png")
```

交叉引用方法是\@ref(fig:img1)

表格

第一种表格:直接用markdown语法画表格。输入:

第一列标题  第二列标题
----------- ----------
第一行1     第一行2
第二行1     第二行2

输出:

第一列标题 第二列标题
第一行1 第一行2
第二行1 第二行2

第二种表格:用R函数展示表格(推荐):

```{r tab1, tidy=FALSE, echo=FALSE}
knitr::kable(
  head(iris, 20), caption = 'Here is a nice table!',
  booktabs = TRUE
)
```

交叉引用方法:\@ref(tab:tab1)

参考文献

主流学术期刊和数据库都提供.bib格式参考文献的下载。先将你下载的参考文献信息合并在一个或几个.bib文件里,然后在模板文档的index.Rmd开头部分bibliography条目里声明你自己的.bib文件名称。.bib文件里每条参考文献都有个条目名称。假定某篇文献的条目名称是foo,那么文中引用的方法就是[@foo]

定义、定理、示例等环境

环境全称 引用简称
theorems thm
lemma lem
definition def
corollary cor
proposition prp
example exm
exercise exr
```{环境全称, label='', name=""}
内容
```

定义、定理、示例等环境的交叉引用方法:\@ref(引用简称:label),如描述某定律的格式是:

```{theorem, label='mythm1'}
物体內能的增加等于物体吸收的热量和对物体所作的功的总和。
```

交叉引用方法:\@ref(thm:mythm1)

输出word文档

在_output.yml里添加一行:

bookdown::word_document2: default 

公式编号和引用

pdf文档里的公式编号和交叉引用,建议使用公式环境。例如,输入:

\begin{equation} 
E = mc^2
  (\#eq:mc2)
\end{equation} 

交叉引用方法:\@ref(eq:mc2)

word文档里的公式的编号和交叉引用,可以使用行内公式,公式前用圆括号里加公式标签。例如,输入:

(@eq-mc) $E = mc^2$

交叉引用方法:@eq-mc