我专注于参考官方手册和网上的一些信息 :
- 添加了几种图表的绘制方法
- 详细介绍了 LaTex 数学公式的方法
- 好像没了,记不住了。写了很久。
前言
大学毕业的暑假,我决定好好学习Markdown语言。Markdown轻量级,通过简单的标记语法,它可以使普通文本内容具有一定的格式。以后写文章、做笔记、写博客等文字肯定不会少,相信这会让我以后的文字写作更加方便。
2019.7.19
Markdown标记语言
- 书写快,格式整洁美观
- 兼容HTML跨平台等多种文本格式广泛应用于网络文档的编写
- 可转化为 L A T E X L^AT_EX LATEX、PDF、word等待其他文本格式Markdown编译器
Markdown编译器
Markdown有许多编译器,其追求功能强大,简洁美观。本文使用Typora编译器写作,学习,记录,写作:
- 完全免费,支持中文
- 界面简洁美观
- 跨平台,支持linux、windows、mac
- 所见即所得
- 支持公式输入,图片插入
- 所见即所得
Markdown可以使用任何文本编译器,如记事本,notepad 等。
专有的Markdown文本编译器具有语法亮点、自动完成、实时显示等功能,支持多种格式输出的转换。
在线编译器的网页版本,可以直接在浏览器上编辑,上传笔记,随时下载,写作更灵活。许多网站都支持它Markdown直接在自己的网页编译器中使用语言编辑文章Markdown文章的语言编写,如列Github等。
目录
文章目录
-
- Markdown标记语言
- Markdown编译器
- 目录
- Markdown语法
-
- 区域元素(区块元素、块级元素)
-
- 段落和断行
- 标题
- 引用
- 列表
- 任务列表(活动列表、可选列表)
- 代码块(代码区)(围栏)
- **数学块(数学公式)**
- 图表
-
- 表格
- 标准流程图(flow语法)
- 流程图(mermaid语法)
- 实现流程图的思维导图(mind map)
- 标准时序图(sequence语法)
- 时序图(mermaid语法)
- 甘特图(gantt)
- 脚注
- 水平线
- [YAML Front Matter](http://jekyllrb.com/docs/frontmatter/)
- 目录(内容表)
- 跨度元素
-
- 链接
- URLs
- 图片
- 强调
- 加粗
- 代码
- 横穿线(删除线)
- 下划线
- Emoji:smile:
- 行内公式
- 下标
- 上标
- 高亮
- HTML
-
- 嵌入内容
- 视频
- 其他HTML语法支持
- 总结
Markdown语法
区域元素(区块元素、块级元素)
段落和断行
在Markdown中间,段落用 两次以上空行 来划分Typora只需要一次空行(按下一次 Return)你可以开始新的段落。
按下 Shift Return 可以创建一个单行打断 。大多数编译器(语法解析器)可能会忽略单行中断。为了避免这种情况,可以在单行结束前添加两个空间进行单行中断;或者,插入<br/>。
:单行中断是另一行,而不是另一段。
标题
在线开头使用1-6个#号作为标题对应着1-6级标题。例如:
# 这是一级标题
## 这是二级标题
###### 这是六级标题
在Typora中,#后面加上1个空格和标题内容后,输入回车,就可以看到效果。
引用
Markdown使用Email风格的 > 符号作为引用标记。使用如下:
> # 引用的标题
> 引用的一段文字
>
> 引用的另一段文字
> > 引用中的引用,就是说,引用嵌套
列表
输入 * + - 符号,将会创建一个 无序列表 条目;输入1. 将会创建一个有序列表条目。例如:
### 无序列表
* 语文
+ 数学
- 英语
### 有序列表
1. 姓名
2. 班级
3. 成绩
任务列表(活动列表、可选列表)
任务列表是可选列表,使用 - [ ] + 内容 创建一个可选任务列表。例如:
- [ ] 一个未完成的任务列表条目
- [x] 一个完成的任务列表条目
- [ ] 任务列表条目可以使用鼠标勾选或取消
使用鼠标可以勾选条目前面的选择框,改变 完成/未完成 状态。
代码区块(代码区域)(围栏)
- 行内代码 可以在文本中间的插入的代码,使用 `code` 来插入到行中;行内代码属于跨度元素。
- 行间代码 显示在行与行之间的代码(多行代码)。在行的开头使用 ```+语言 来开始,末行使用```来结束,中间插入代码;行间代码属于区块元素。
- 也可以使用缩进(4个空格或一个制表符)来插入到行之间。
:` 是反单引号、~输入
这里`while(1)`表示无限循环。
```c
while(1)
{
printf("这是一段C语言的多行代码")
}
```
下面的代码块中每行前面都有一个制表符(缩进)。
while(1)
{
printf("这是一段C语言的多行代码")
}
Typora只支持GitHub风格的Markdown 围栏 (如上面代码区块周围的围栏),原始的Markdown代码块标记是不支持显示围栏的。
在Typora中,只需要输入 ```+Return 即可创建一个代码区块(围栏),也可在 ``` 后面加上代码的语言。
数学公式的书写往往很麻烦,但是在Markdown中可以十分便捷地书写出来。Markdown采用MathJax语法进行简洁高效的数学公式编辑,呈现出 L A T E X L^AT_EX LATEX的数学表达形式。
插入公式
- 行内公式,使用 $公式$ 的格式在行中插入公式
- 行间公式,多行公式使用 $$…$$ 格式在行间插入公式
例如:
这里使用 $\vec{a} \centerdot \vec{b} = |a||b|cos(\theta)$ 公式。
下面是行间公式:
$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\
\end{vmatrix} \tag{1.2}
$$
( times 倍,乘以; boldface 黑体,粗体; fraction 分式; partial 部分的,偏颇 )
显示结果:
这里使用 a ⃗ ⋅ b ⃗ = ∣ a ∣ ∣ b ∣ c o s ( θ ) \vec{a} \centerdot \vec{b} = |a||b|cos(\theta) a ⋅b =∣a∣∣b∣cos(θ) 公式。
下面是行间公式: V 1 × V 2 = ∣ i j k ∂ X ∂ u ∂ Y ∂ u 0 ∂ X ∂ v ∂ Y ∂ v 0 ∣ (1.2) \mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\ \end{vmatrix} \tag{1.2} V1×V2=∣∣∣∣∣∣i∂u∂X∂v∂Xj∂u∂Y∂v∂Yk00∣∣∣∣∣∣(1.2)
另外,使用 \tag
命令可以手动添加公式序号。
**而且!!**Typora中,在“偏好设置(preference)”,“数学公式”后面可以找到“自动添加序号”条目,勾选后重启Typora即可生效,实现数学公式自动添加序号。
开启自动添加序号后,每个 行间公式 会自动添加序号,但 行内公式 不会受到影响。当 行间公式 里有多个公式的时候,要使用排列格式,这时对齐区域内的每一个换行符号对应一个序号。
当使用 \begin{align*} \end{align*}
时,表示该区域公式不需编号。
上下标
上标使用^
,下标使用_
。多个上下标字符使用小括号{}
括起来。例如:
$$
y = f_1^2(x^{e^2})
$$
y = f 1 2 ( x e 2 ) y = f_1^2(x^{e^2}) y=f12(xe2)
如果符号两边都要加上下标,可以使用\sideset
命令。\sideset{1}{2}{3}
参数1、2、3分别为左、右、中位置的符号,例如:
$$
\sideset{^{左上}_{左下}}{^{右上}_{右下}}{中}
$$
KaTeX parse error: Undefined control sequence: \sideset at position 2: \̲s̲i̲d̲e̲s̲e̲t̲{^{左上}_{左下}}{^{…
括号与分隔符
()
,[]
,|
用符号本身表示,{}
使用反斜杠\
转义来表示,如此\{\}
。
大括号或者分隔符要用到 \left
\right
命令。例如:
$$
f(x) = \left( x + \frac{2}{x^2} + \frac{3}{x^3} \over e \right)
$$
显示如下: f ( x ) = ( x + 2 x 2 + 3 x 3 + e ) f(x) = \left( x + \frac{2}{x^2} + \frac{3}{x^3} + \over e \right) f(x)=(ex+x22+x33+)
**\left和
\right成对出现**,所以有时需要
\left.或者
\right.` 这两个不显示 的命令去补全。例如:
$$
a = \left. \frac {
{\rm d}u}{
{\rm d}t} \right |_{t=1}
$$
显示如下: a = d u d t ∣ t = 1 a = \left. \frac { {\rm d}u}{ {\rm d}t} \right |_{t=1} a=dtdu∣∣∣∣t=1
: \rm
命令使其后的一个字符显示为印刷字体,例 \rm a
显示为 a \rm a a , a
显示为 a a a 。
一些特殊的括号:
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
\langle |
⟨ \langle ⟨ | \rangle |
⟩ \rangle ⟩ |
\lceil |
⌈ \lceil ⌈ | \rceil |
⌉ \rceil ⌉ |
\floor |
⌊ \lfloor ⌊ | \rfloor |
⌋ \rfloor ⌋ |
\lbrace |
{ \lbrace { | \rbrace |
} \rbrace } |
分式
分式使用\frac
, \over
命令。( fraction:分式 )
\frac abc
表示 a b c \frac abc bac ,即\frac
后面分别依次为分子和分母abcd \over efg
表示 a b c d e f g abcd \over efg efgabcd ,即\over
之前全部为分子,之后全部为分母
例如:
$$
y_1 = \frac ab + \frac {a^2}{b^2} + \frac cde \over {\rm e} \tag{1}
$$
$$
y_2 = {
{a \over b} \over {\frac cd}} \tag{2}
$$
显示结果: y 1 = a b + a 2 b 2 + c d e e (1) y_1 = \frac ab + \frac {a^2}{b^2} + \frac cde \over {\rm e} \tag{1} ey1=ba+b2a2+dce(1)
y 2 = a b c d (2) y_2 = { {a \over b} \over {\frac cd}} \tag{2} y2=dcba(2)
显然,式(1)中的 $y_1 = $ 也因为 \over
被作为了分子,放在了分子的位置上;而式(2)中添加了 { } \brace {
} 限制了 \over
的范围,得到了正确的效果。
矩阵、排列(对齐)
在书写公式的时候,我们通过排版使形式美观,内容分明。
- 使用
\begin{keyword} \end{keyword}
命令创建一个特定格式区域 - 关键词
keyword
有align
、matrix
、vmatrix
、bmatrix
、pmatrix
等 \\
命令,换行,在任何区域都能使用&
命令,对齐或分隔,具体作用在不同区域略有不同
例如:
$$
\left \{
\begin{align}
& \begin{bmatrix}
a_1 & b_1 & c_1 \\
a_2 & b_2 & c_2 \\
a_3 & b_3 & c_3
\end{bmatrix} =
\begin{pmatrix}
x_1 \\ x_2 \\ x_3
\end{pmatrix}
\begin{bmatrix}
1 & & \\
& 1 & \\
& & 1
\end{bmatrix}
\\
& \begin{vmatrix}
a_1 & b_1 & c_1 \\
a_2 & b_2 & c_2 \\
a_3 & b_3 & c_3
\end{vmatrix}
= \lambda^3
\\
& W = U + V
\end{align}
\right.
\tag{3}
$$
显示结果为: { [ a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 3 ] = ( x 1 x 2 x 3 ) [ 1 1 1 ] ∣ a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 3 ∣ = λ 3 W = U + V (3) \left \{ \begin{aligned} & \begin{bmatrix} a_1 & b_1 & c_1 \\ a_2 & b_2 & c_2 \\ a_3 & b_3 & c_3 \end{bmatrix} = \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} \begin{bmatrix} 1 & & \\ & 1 & \\ & & 1 \end{bmatrix} \\ & \begin{vmatrix} a_1 & b_1 & c_1 \\ a_2 & b_2 & c_2 \\ a_3 & b_3 & c_3 \end{vmatrix} = \lambda^3 \\ & W = U + V \end{aligned} \right. \tag{3} ⎩⎪⎪⎪⎪⎪⎪⎪⎪ 标签: omega压力变送器px509omega压力变送器px602