1 Markdown笔记

1.1 介绍

本章目前的学习主要参考李东风《统计软件教程》中Markdown的相关节。

1.2 markdown格式

1.2.1 标题

  • 一种常用的格式

使用#号标记,格式如下:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

:标题独占一行,标题行前空一行

  • 另一种不常用的格式

使用三个及以上的=、-标记,格式如下:

一级标题
========
二级标题
--------

:此格式仅限一、二级

1.2.2 列表项

  • 无序列表

用*/-/+后接空格加内容表示不编号的列表项目,格式如下:

* 小胖
- 小吴
+ 小王

显示如下:

  • 小胖
  • 小吴
  • 小王

  • 有序列表

数字+英文句点+空格后接内容可表示有序列表,格式如下:

1. 小胖
2. 小小胖

显示如下:

  1. 小胖
  2. 小小胖

  • 任务列表

格式如下:

- [x] 吃饭
- [ ] 睡觉
    

显示如下:

  • 吃饭

  • 睡觉

  • 列表嵌套

嵌套的列表需要缩进4个空格,格式如下:

1. 小胖
    - 身高
    - 体重
2. 小小胖
    a) 身高 
    b) 体重

显示如下:

  1. 小胖
    • 身高
    • 体重
  2. 小小胖
    1. 身高
    2. 体重

:紧挨着的两个列表项目间是不需要空行的,but…若你想在一列表项目后接一段文本描述,那文本和列表项之间就需要空行啦。(悄悄话:文本缩进4个空格后,就会和列表项对齐)
小栗子一个:

- 小胖

小胖正在长胖

- 小王

    小王是小胖的好朋友

Knit:

  • 小胖

小胖正在长胖

  • 小吴

    小王是小胖的好朋友

1.2.3 段内格式

  • 强调

用单星号围住的内容*小胖*会变为斜体小胖

用双星号围住的内容**小胖**会加粗小胖

用三星号围住的内容***小胖***为加粗斜体小胖

  • 加线

用两波浪线围住的内容~~chubby~~会添加上删除线 chubby

添加下划线的格式为<u>chubby</u>,显示为chubby

  • 脚注 格式如下:
需要脚注的内容 [^脚标]

人对他者的痛苦是毫无想象力的1

  • 上下标

一对~围出下标:HO~2~编译后 HO2

一对^围出上标:Cu^2+^编译后 Cu2+

:编译出来不太对的时候,不妨在整体的前面(栗子中H/C的前面)加个空格试试

  • 段内代码

段内代码用一对反向单撇号围住,`if(x_1 > 0) y=1` 编译后if(x > 0) y=1

  • 取消特殊含义

以上提及的如`,*,~等具有特殊意义的字符,可以在这些字符前面加上反斜杠 \,取消其特殊含义

1.2.4 换行缩进

  • 分段

Rmd里的换行在生成的文档会被当成空格,文档分段需以空行分隔

Rmd里输入:

小胖真美
小胖真棒

Knit后文档里显示:

小胖真美 小胖真棒

Rmd里又输入:

小胖真美

小胖真棒

Knit:
小胖真美

小胖真棒

  • 段内换行
小胖真美<br>
小胖真棒

小胖真美
小胖真棒

  • 换行+缩进
| 小胖真美
|  小胖真棒
小胖真美
  小胖真棒

1.2.5 引用

解释的话不说,直接上栗子!

  • 第一个栗子
> 小胖真美
> 小胖真棒
   Knit:

小胖真美 小胖真棒

  • 第二个栗子(换行)
> 小胖真美
>
> 小胖真棒
   Knit:

小胖真美

小胖真棒

  • 第三个栗子(分段)
> 小胖真美

> 小胖真棒
   Knit:

小胖真美

小胖真棒

  • 第四个栗子(嵌套)
> 小胖真美
>> 小胖真棒
   Knit:

小胖真美

小胖真棒

1.2.6 链接

格式:

[李东风的教学主页](http://www.math.pku.edu.cn/teachers/lidf/course/index.htm)

Knit:
李东风的教学主页
点击即可跳转到对应网址。另:此格式还可用于文内跳转,详情移步交叉引用

一个困惑:Typora中流程图的源码在.rmd中无法实现

1.3 代码

1.3.1 源码显示

展示源码用三个连续的`放在代码的开头和结尾 在大括号内写选项。 其中一种选项是要求按照某种编程语言对结果进行彩色语法显示,如.cpp表示C++,.c表示C,.r表示R,.python表示python等。 选项.numberLines要求该代码行编号, 选项startFrom=指定开始行号

#include <math.h>
double sqr(double x){
  return(x*x);
}

1.3.2 代码段选项

  • echo

echo=FALSE, 生成的文档中不显示该代码块,只显示运行的结果

  • eval vs include

eval=FALSE, 代码块仅显示而不实际运行。若该代码段有标签,可以在后续代码段中被引用。

include=FALSE, 代码块仅运行,代码和结果都不写入到生成的文档中。

  • collapse

在生成的文档中,一个代码块的代码、输出通常被分解为多个文本块。如下:

sin(pi/2)
## [1] 1
cos(pi/2)
## [1] 6.123234e-17

collapse=TRUE,能使一个代码块的所有的代码、输出都写到同一个文本块中。如下:

sin(pi/2)
## [1] 1
cos(pi/2)
## [1] 6.123234e-17
  • tidy tidy = TRUE,自动重排代码段
s <- 0
for(x in 1:5) {s <- s + x^x; print(s)}
## [1] 1
## [1] 5
## [1] 32
## [1] 288
## [1] 3413
  • highlight

1.4 图片

  • 本地图片

1.在Rmd文件所在的路径下新建一个名为figs的文件夹,把想插入到Rmd的本地图片们拖进去。
:若你的Rmd文件位于D:\R_project\My_book,那你的图片就应该在D:\R_project\My_book\figs

2.Rmd里输入下面的代码(记得替换图片名),即可。

![这里的内容会在Knit后的文本中显示](figs/'这里请替换为文件夹中图片名'.png)

源码:
![举个栗子](figs/markdown_example.png)

Knit:

举栗


  • 网络图片

源码: ![](http://www.baidu.com/img/baidu_jgylogo3.gif)

Knit:

1.5 表格

  • 手动编写表格
  1. 管道表

管道表的格式如下:

Table: 表标题

| 列标题 | 列标题 | 列标题 | 列标题 |  
|:------ | ------:|:------:| ------ |
| xxxxxx | xxxxxx | xxxxxx | xxxxxx |

补充说明:

  1. 管道表的两列用竖线隔开,上下行的内容无需对齐,此格式较适合中文内容;

  2. 列标题下的一行用于指定其所在的列的对齐方式。

    其中,|:--|表左对齐,|--:|表右对齐,|:--:|表居中,|---|表缺失,默认左对齐

  3. 此格式下的单元格不支持人为的换行,内容太长是会自动换行

举个栗子:

Table: 示例表-管道表

| 姓名 | 职业 | 收入 | 爱好 |  
|:---|---:|:---:|---|
| 小胖 | 打工人1号 | 8888 美元/月 | 干饭 |
| 小王 | 打工人2号 | 222222 美元/月 | 吃饭、睡觉、怼小胖 |
示例表-管道表
姓名 职业 收入 爱好
小胖 打工人1号 8888 美元/月 干饭
小王 打工人2号 222222 美元/月 吃饭、睡觉、怼小胖
  1. 简单表

简单表的格式如下:

Table: 表标题

Label1           Label2        Label3              
-------        --------     -------------  
xxx                 xxx          xxx

补充说明:

  1. 简单表的第一行是列标题,第二行是减号组成的表格线,第三行开始是内容;

  2. 此格式的对齐方式对中文并不友好。

    其中,表格线与列标题右对齐-表该列右对齐,以此类推…(两端都对齐,默认左对齐)

举个栗子:

Table: 示例表-简单表

Name              Income       Age      Hobby           
-------        ---------    ---------   -----  
Chubby_Wu         1234       18            NA
XinXin_Wang       2234       22            NA
示例表-简单表
Name Income Age Hobby
Chubby_Wu 1234 18 NA
XinXin_Wang 2234 22 NA
  1. 换行表

格式+栗子如下:

Table: 示例表-换行表

---------------------------------------------
Name                         
of
somebody          Income       Age      Hobby
-------        ---------    ---------   -----  
Chubby<br>       
Wu               1234        18            NA

XinXin<br>       
Wang             2234        22            NA
---------------------------------------------

补充说明:

  1. 换行表在简单表的基础上增加了一行减号作为开始和结束,对齐方式与简单表相同;

  2. 表格中某一行全空时,会作为分割线拆分上下内容为两行;

  3. Rmd文件里的另起一行编译后会转换为空格,单元格换行时建议在文本后加<br>

    虽说单元格空一行也能换行,但是可能导致表中某一行全空,然后…..自己去试吧

示例表-换行表
Name of somebody Income Age Hobby
Chubby
Wu
1234 18 NA
XinXin
Wang
2234 22 NA
  1. 有格表 格式+栗子如下:
Table: 示例表-有格表

+---------------+---------------+--------------------+
| Fruit         | Price         | Advantages         |
+===============+===============+====================+
| Bananas       | $1.34         | - built-in wrapper |
|               |               | - bright color     |
+---------------+---------------+--------------------+
| Oranges       | $2.10         | - cures scurvy     |
|               |               | - tasty            |
+---------------+---------------+--------------------+

补充说明:

  1. 此格式在文本格式下能呈现除较好的表格形状,但不能指定对齐方式。
示例表-有格表
Fruit Price Advantages
Bananas $1.34
  • built-in wrapper
  • bright color
Oranges $2.10
  • cures scurvy
  • tasty
  • 代码输出表格

1.6 公式

1.6.1 基本

  1. 行内插入公式用$ $围住,$\sin^2(xy)$显示为 \(\sin^2(xy)\)
  2. 公式居中独占一行用$$ $$围住,$$x^2+(y-sqrt[3]{2})^2=1$$显示为 \[x^2+(y-\sqrt[3]{x^2})^2=1\]

1.6.2 上下标

输入 显示
x^2、e^{2x} \(x^2、e^{2x}\)
x_1、x_{12} \(x_1、x_{12}\)
\sum_0^3、\sum_{i=0}^{\infty}、\displaystyle\sum_{i=0}^{\infty} \(\sum_0^3、\sum_{i=0}^{\infty}、\displaystyle\sum_{i=0}^{\infty}\)

1.6.3 运算符

输入 显示
\times \(\times\)
\div \(\div\)
\pm \(\pm\)
\mp \(\mp\)
\sum \(\sum\)
\prod \(\prod\)
\neq \(\neq\)
\geq \(\geq\)
\leq \(\leq\)
\approx \(\approx\)
\vec{a} \cdot \vec{b} \(\vec{a} \cdot \vec{b}\)
\frac{a}{b} \(\frac{a}{b}\)
\sqrt{x}、\sqrt[3]{x} \(\sqrt{x}、\sqrt[3]{x}\)
\bar{x} \(\bar{x}\)
\overline{xy} \(\overline{xyz}\)
\displaystyle \lim^{x\to\infty}_{y\to0}{\frac{x}{y}} \(\displaystyle \lim^{x\to\infty}_{y\to0}{\frac{x}{y}}\)
\int^{\infty}_{0}{xdx}、 \displaystyle\int^{\infty}_{0}{xdx} \(\int^{\infty}_{0}{xdx}、\displaystyle \int^{\infty}_{0}{xdx}\)
y^\prime=\frac{\mathrm{d}y}{\mathrm{d}x} \(y^\prime=\frac{\mathrm{d}y}{\mathrm{d}x}\)
\frac{\partial f(x,t)}{\partial x}、\frac{\partial^2f(x,t)}{\partial x^2} \(\frac{\partial f(x,t)}{\partial x}、\frac{\partial^2f(x,t)}{\partial x^2}\)

1.6.4 希腊字母

小写原型 Markdown输入 大写原型 Markdown输入
\(\alpha\) \alpha \(A\) A
\(\beta\) \beta \(B\) B
\(\gamma\) \gamma \(\Gamma\) \Gamma
\(\delta\) \delta \(\Delta\) \Delta
\(\epsilon\) \epsilon \(E\) E
\(\varepsilon\) \varepsilon
\(\zeta\) \zeta \(Z\) Z
\(\eta\) \eta \(H\) H
\(\theta\) \theta \(\Theta\) \Theta
\(\iota\) \iota \(I\) I
\(\kappa\) \kappa \(K\) K
\(\lambda\) \lambda \(\Lambda\) \Lambda
\(\mu\) \mu \(M\) M
\(\nu\) \nu \(N\) N
\(\xi\) \xi \(\Xi\) \Xi
\(\omicron\) \omicron \(O\) O
\(\pi\) \pi \(\Pi\) \Pi
\(\rho\) \rho \(P\) P
\(\sigma\) \sigma \(\Sigma\) \Sigma
\(\tau\) \tau \(T\) T
\(\upsilon\) \upsilon \(\Upsilon\) \Upsilon
\(\phi\) \phi \(\Phi\) \Phi
\(\varphi\) \varphi
\(\chi\) \chi \(X\) X
\(\psi\) \psi \(\Psi\) \Psi
\(\omega\) \omega \(\Omega\) \Omega

1.6.5 集合运算

输入 显示
\in \(\in\)
\notin \(\notin\)
\cup \(\cup\)
\cap \(\cap\)
\subset、\supset \(\subset、\supset\)
\subseteq、\sepseteq \(\subseteq、\supseteq\)
\bigodot \(\bigodot\)
\bigotimes \(\bigotimes\)
\bigoplus \(\bigoplus\)
\mathbb{R} \(\mathbb{R}\)
\mathbb{Z} \(\mathbb{Z}\)

1.6.6 矩阵

矩阵以\begin{matrix}起始,\end{matrix}结束,行末标记\\,行间元素以&分隔

  • 上栗子:

\begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ \end{matrix}

\[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \]

  • 上括号:

把开头和结尾的{matrix}分别替换为{pmatrix},{bmatrix},{Bmatrix},{vmatrix},{Vmatrix}后,你的矩阵将拥有如下边框

\[ \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \begin{Bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{Bmatrix} \begin{vmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{vmatrix} \begin{Vmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{Vmatrix} \]

  • 上省略号:

横省\cdots;竖省\vdots;斜省\ddots

$$\begin{bmatrix}
{a_{11}}&{a_{12}}&{\cdots}&{a_{1j}}\\
{a_{21}}&{a_{22}}&{\cdots}&{a_{2j}}\\
{\vdots}&{\vdots}&{\ddots}&{\vdots}\\
{a_{i1}}&{a_{i2}}&{\cdots}&{a_{ij}}\\
\end{bmatrix}$$

\[\begin{bmatrix} {a_{11}}&{a_{12}}&{\cdots}&{a_{1j}}\\ {a_{21}}&{a_{22}}&{\cdots}&{a_{2j}}\\ {\vdots}&{\vdots}&{\ddots}&{\vdots}\\ {a_{i1}}&{a_{i2}}&{\cdots}&{a_{ij}}\\ \end{bmatrix}\]

1.6.7 方程组

$$\begin{cases}
y_1=a_1x_1+b_1x_2\\
y_2=a_2x_1+b_2x_2\\
\end{cases}$$

\[\begin{cases} y_1=a_1x_1+b_1x_2\\ y_2=a_2x_1+b_2x_2\\ \end{cases}\]

1.6.8 其他

输入 显示
\forall \(\forall\)
\exists \(\exists\)
\infty \(\infty\)
\hat{y} \(\hat{y}\)
\dot{x} \(\dot{x}\)
\ddot{x} \(\ddot{x}\)
\uparrow \(\uparrow\)
\Uparrow \(\Uparrow\)
\downarrow \(\downarrow\)
\Downarrow \(\Downarrow\)
\leftarrow \(\leftarrow\)
\Leftarrow \(\Leftarrow\)
\rightarrow \(\rightarrow\)
\Rightarrow \(\Rightarrow\)
\to \(\to\)
\ $$

1.7 测试行


  1. 摘抄自《房思琪的乐园》↩︎