什么是markdown?
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本 内容具有一定的格式。Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人 用它写博客。
markdown的优点:
- 用编程的方式控制文档的格式和排版,使得格式和排版变得更加容易
- 一键生成目录
- 兼容html
- 支持Latex语法,可以快速的写数学公式
用什么软件编写markdown文件
有很多软件都支持markdown,常用的软件有vscode和typora。
vscode
是微软开发的轻量级的编辑器,可扩展性强,通过安装插件,可以支持各种各样的语言,比如支持C++,C#,python等等.
现在的信息竞赛的noi_linux系统也支持vscode了。
typora
typora是一款轻量化的专门编写markdown的工具,它界面简洁,功能强大,可以实时显示markdown 语言的效果,目前使用非常广泛。
markdown的语法
1. 控制字号
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果如下:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
==注意:#后面要带空格。==
2. 控制文字样式
* 我是斜体*
** 我是粗体**
~~ 我有删除线~~
<u>我有下划线</u>
==我自带底色,高亮显示==
我是斜体
我是粗体
~~ 我有删除线~~
我有下划线
==我自带底色,高亮显示==
3. 无序列表和有序列表
- +、-、*均可以表示无序列表,后面需要带一个空格。
+ AKIOI!
效果如下:
- AKIOI!
可以将+号替换成-、*。
- 数字加点号,表示有序列表,点号后面也需要空格
1. 语文
2. 英语
3. 数学
4. 物理
5. 化学
效果如下:
- 语文
- 英语
- 数学
- 物理
- 化学
4. 复选框
- [ ] javascript
- [x] C++
- [ ] python
- [ ] C#
- [x] Java
- [ ] Mysql
效果如下:
- [ ] javascript
- [x] C++
- [ ] python
- [ ] C#
- [x] Java
- [ ] Mysql
5.超链接
使用中括号和小括号[]()。
[百度](https://www.baidu.com)
[Luogu](https://www.luogu.com.cn/)
效果如下:
百度
6. 插入图片
使用感叹号、中括号和小括号:![]() 其中[]里为图片说明,()中为图片地址


效果如下:

7. emoji
使用一对冒号,中间加上若干单词,可以表示emoji。 比如冒号中间是smile,表示一个笑脸,冒号中间为computer,表示一台电脑。
:computer:
:man_teacher:
:woman_teacher:
:angry:
:smile:
:laughing:
效果如下:
:computer:
:man_teacher:
:woman_teacher:
:angry:
:smile:
:laughing:
8. 插入表格
| 日期 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 | 周日 |
|---|---|---|---|---|---|---|---|
| 学习 | 编程 | 运动 | 上班 | 健身 | 旅游 | 读书 | 亲子 |
| 我是居中 | 我是左对齐 | 我是右对齐 |
| :----: | :---- | ----: |
|居中|左对齐|右对齐|
效果如下所示:
| 我是居中 | 我是左对齐 | 我是右对齐 |
|---|---|---|
| 居中 | 左对齐 | 右对齐 |
注意:第一列居中对齐,第二列左对齐,第三列右对齐。默认为左对齐。
9. 插入代码
使用三个斜单引号 ` 加语言名称,可以插入代码模块,并使代码模块高亮。
`cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
`
效果如下所示:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
数学公式的编辑
这是重头戏,markdown支持LaTeX,这是有高德纳发明的排版语言,功能非常强大。
LATE?X 是一种基于 \TeXTE?X 的排版系统,能够很方便的生成数学公式。
基础知识
行内公式与行间公式
行内公式(即穿插在文本中的公式)两侧分别使用一个美元 $ $ 符号定界。
例如 $x \cdot \sin(y)$ 显示为 $x \cdot \sin(y)$
行间公式(即独立成行的公式)两侧分别使用 $$ $$(每侧两个美元符号)定界,Markdown 代码可以跨行写,例如:
$$ H_n = \sum_{i = 1}^{n} \frac{1}{i} $$
显示为
$$
Hn = \sum{i = 1}^{n} \frac{1}{i}
$$
再例如:
$$
\begin{pmatrix}
1 & 8 & 4 \\
7 & 9 & 2 \\
\end{pmatrix}
$$
显示为
$$
\begin{pmatrix}
1 & 8 & 4 \
7 & 9 & 2 \
\end{pmatrix}
$$
行内公式的 “大小”(例如分数的大小、巨运算符上下标的位置)会比行间公式小,可以通过 \displaystyle 和 \textstyle 来切换两类模式:
对于行内公式,使用 \displaystyle 的效果:
| LaTeX 代码 | 显示效果 | |
|---|---|---|
\frac{1}{x} |
$\frac{1}{x}$ | |
\displaystyle \frac{1}{x} |
$\displaystyle \frac{1}{x}$ | |
\int_0^x f(t) \mathop{}\!\mathrm{d} t |
$\int_0^x f(t) \mathop{}!\mathrm{d} t$ | |
\displaystyle \int_0^x f(t) \mathop{}\!\mathrm{d} t |
$\displaystyle \int_0^x f(t) \mathop{}!\mathrm{d} t$ |
对于行间公式,使用 \textstyle 的效果:
$$ \textstyle \int \frac{\mathop{}\!\mathrm{d} x}{x} = \ln(x) + C $$
显示为
$$
\textstyle \int \frac{\mathop{}!\mathrm{d} x}{x} = \ln(x) + C
$$
LaTeX 控制序列的概念(类似于函数)
控制序列可以视作为命令:以 \ 开头,参数:必需参数 {} 和可选参数 []。
控制序列可以实现特定功能,例如 \sin x 显示为 $\sin x$、\Omega \omega 显示为 $\Omega \omega$、\color{red} x 显示为 $\color{red} x$、\mathbb{Q} 显示为 $\mathbb{Q}$、\sqrt[5]{x} 显示为 $\sqrt[5]{x}$。
LaTeX 环境的概念
环境的格式为 \begin{环境名} 环境内部 \end{环境名},即 \begin 和 \end 以及它们中间的部分。
环境有比控制序列更加灵活的用法,例如:
\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}
显示为
$\begin{bmatrix} 1 & 2 \ 3 & 4 \end{bmatrix}$
而
f(x) = \begin{cases}
2 & x \in \mathbb Q \\
1 & x \notin \mathbb Q \land x \in \mathbb A \\
0 & x \notin \mathbb A
\end{cases}
显示为
$$
f(x) = \begin{cases}
2 & x \in \mathbb Q \
1 & x \notin \mathbb Q \land x \in \mathbb A \
0 & x \notin \mathbb A
\end{cases}
$$
基本语法
二元关系 / 运算符
二元关系符:
| LaTeX 代码: | $\hspace{.4em}$ | x = y |
$\hspace{.4em}$ | x > y |
$\hspace{.4em}$ | x < y |
$\hspace{.4em}$ | x \ge y |
$\hspace{.4em}$ | x \le y |
|---|---|---|---|---|---|---|---|---|---|---|
| 显示效果: | $x = y$ | $x > y$ | $x < y$ | $x \ge y$ | $x \le y$ | |||||
| LaTeX 代码: | x \perp y |
x \parallel y |
x \mid y |
x \nparallel y |
x \nmid y |
|||||
| 显示效果: | $x \perp y$ | $x \parallel y$ | $x \mid y$ | $x \nparallel y$ | $x \nmid y$ | |||||
| LaTeX 代码: | x \approx y |
x \in y |
x \ni y |
x \ne y |
x \sim y |
|||||
| 显示效果: | $x \approx y$ | $x \in y$ | $x \ni y$ | $x \ne y$ | $x \sim y$ |
二元运算符:
| LaTeX 代码: | $\hspace{.4em}$ | x + y |
$\hspace{.4em}$ | x - y |
$\hspace{.4em}$ | x \times y |
$\hspace{.4em}$ | x \div y |
$\hspace{.4em}$ | x \cdot y |
$\hspace{.4em}$ | x \bmod y |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 显示效果: | $x + y$ | $x - y$ | $x \times y$ | $x \div y$ | $x \cdot y$ | $x \bmod y$ | ||||||
| LaTeX 代码: | x \circ y |
x * y |
x \ast y |
x / y |
x \oplus y |
x \otimes y |
||||||
| 显示效果: | $x \circ y$ | $x * y$ | $x\ast y$ | $x / y$ | $x \oplus y$ | $x \otimes y$ | ||||||
| LaTeX 代码: | x \cup y |
x \cap y |
x \land y |
x \lor y |
x \pm y |
x \mp y |
||||||
| 显示效果: | $x \cup y$ | $x \cap y$ | $x \land y$ | $x \lor y$ | $x \pm y$ | $x \mp y$ |
上标与下标
上标命令是 ^{角标},下标命令是 _{角标}。当角标是单个字符时可以不用花括号(在 LaTeX 中,花括号是用于分组,即花括号内部文本为一组)。
例:x_1、x^2、x_1^2、x^2_1、x_{22}^{(n)}、{}^*\!x^* 的显示效果分别为:
| LaTeX 代码: | $$ | x_1 |
$$ | x^2 |
$$ | x_1^2 |
$$ | x^2_1 |
$$ | x_{22}^{(n)} |
$$ | {}^*\!x^* |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 显示效果: | $x_1$ | $x^2$ | $x_1^2$? | $x^2_1$? | $x_{22}^{(n)}$ | $x_{22}^{(n)}$ |
分式
输入较短的分式时,最简单的方法是使用斜线,譬如输入 $(x + y) / 2$,可得到 $(x + y) / 2$。
要输入带有水平分数线的公式,可用命令:\frac{分子}{分母}。
| LaTeX 代码 | 显示效果 | |
|---|---|---|
\frac{x + y}{2} |
$\frac{x + y}{2}$ | |
\frac{1}{1 + \frac{1}{2}} |
$\frac{1}{1 + \frac{1}{2}}$ |
根式
排版根式的命令是:开平方:\sqrt{表达式};开 nn 次方:\sqrt[n]{表达式}。
| LaTeX 代码 | $$ | 显示效果 |
|---|---|---|
\sqrt{2} < \sqrt[3]{3} |
$\sqrt{2} < \sqrt[3]{3}$ | |
\sqrt{1 + \sqrt[p]{1 + a^2}} |
$\sqrt{1 + \sqrt[p]{1 + a^2}}$ |
求和与积分
排版求和符号与积分符号的命令分别为 \sum 和 \int,它们通常都有上下限,在排版上就是上标和下标。
| LaTeX 代码 | 显示效果 | |
|---|---|---|
\sum_{k = 1}^{n} \frac{1}{k} |
$\sum_{k = 1}^{n} \frac{1}{k}$? | |
\sum_{k = 1}^n \frac{1}{k} |
$\sum_{k = 1}^n \frac{1}{k}$ | |
\int_a^b f(x) d x |
$\int_a^b f(x) d x$ | |
\int_a^b f(x) \mathop{} \! \mathrm{d} x |
$\int_a^b f(x) \mathop{} ! \mathrm{d} x$ |
公式中的空格
LaTeX 能够自动处理公式中的大多数字符之间的空格,但是有时候需要自己手动进行控制。除了常见的几个空格命令外,可以通过 \hspace{长度} 自定义空格长度。
| LaTeX 代码 | 显示效果 | |
|---|---|---|
\Box \! \Box |
\Box \! \Box□□ | |
\Box \Box |
\Box \Box□□ | |
\Box \, \Box |
\Box \, \Box□□ | |
\Box \: \Box |
\Box \: \Box□□ | |
\Box \; \Box |
\Box \; \Box□□ | |
\Box \ \Box |
\Box \ \Box□ □ | |
\Box \quad \Box |
\Box \quad \Box□□ | |
\Box \qquad \Box |
\Box \qquad \Box□□ | |
\Box \hspace{1cm} \Box |
\Box \hspace{1cm} \Box□□ | |
\Box \hspace{1.5cm} \Box |
\Box \hspace{1.5cm} \Box□□ | |
\Box \hspace{2cm} \Box |
\Box \hspace{2cm} \Box□□ | |
\Box \Box |
\Box \Box□□ | |
\Box \hspace{-.1cm} \Box |
\Box \hspace{-0.1cm} \Box□□ | |
\Box \hspace{-.2cm} \Box |
\Box \hspace{-0.2cm} \Box□□ | |
\Box \hspace{-.3cm} \Box |
\Box \hspace{-0.3cm} \Box□□ | |
\Box \hspace{-.4cm} \Box |
\Box \hspace{-0.4cm} \Box□□ |
插入文本
在公式中插入文本可以通过 \text{文字} 在公式中添加文字,比如:
\text{对任意的 } x > 0 \text{,有 } f(x) > 0 \text{。}
显示为
$\text{对任意的 } x > 0 \text{,有 } f(x) > 0 \text{。}$。
多行的数学公式
使用 aligned 环境对齐多行公式。
\begin{aligned}
\cos(2 \theta) &= \cos^2(\theta) - \sin^2(\theta) \\
&= 2 \cos^2(\theta) - 1
\end{aligned}
显示为
$\begin{aligned} \cos(2 \theta) &= \cos^2(\theta) - \sin^2(\theta) \ &= 2 \cos^2(\theta) - 1 \end{aligned}$
字体、字号与颜色
字体
对于英文的字体,LaTeX 给出了三个层级,其中 KaTeX 支持的有:
- 族(family):有罗马(roman)、无衬线(sans-serif)、打字机(teletype)三族,改变字体的基本外观。
- 形状(shape):有直立(upright)、意大利(italic)两种形状。
- 重量(weight):有中等(medium)、粗体(boldface)两种重量。
在某些时候,KaTeX 允许这些层级叠加使用:
| 直立中等 | 意大利中等 | 直立粗体 | 意大利粗体 | ||||||
|---|---|---|---|---|---|---|---|---|---|
\textup{\textmd |
\textit{\textmd |
\textup{\textbf |
\textit{\textbf |
||||||
| 罗马 | \textrm |
$\textup{\textmd{\textrm{Butterfly96}}}$ | $\textit{\textmd{\textrm{Butterfly96}}}$ | $\textup{\textbf{\textrm{Butterfly96}}}$ | $\textit{\textbf{\textrm{Butterfly96}}}$ | ||||
| 无衬线 | \textsf |
$\textup{\textmd{\textsf{Butterfly96}}}$ | $\textit{\textmd{\textsf{Butterfly96}}}$ | $\textup{\textbf{\textsf{Butterfly96}}}$ | 不可用 | ||||
| 打字机 | \texttt |
$\textup{\textmd{\texttt{Butterfly96}}}$ | $\textit{\textmd{\texttt{Butterfly96}}}$ | 不可用 | 不可用 |
在文本模式下(即 \text 内部),默认情况下,族使用罗马、形状使用直立、重量使用中等。
在数学模式下(即 KaTeX 的默认),默认情况下,族使用罗马、形状使用意大利、重量使用中等。
特别地,在数学模式下,提供了 \mathbb、\mathcal、\mathscr 和 \mathfrak 以供特殊数学字体使用:
\mathbb:$\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ 和 $\mathbb{k}$。
\mathcal:$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$和 $\mathcal{0123456789}$。
\mathscr:$\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$。
\mathfrak:$\begin{aligned} & \mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \ & \mathfrak{abcdefghijklmnopqrstuvwxyz \ 0123456789} \end{aligned}$。
前文的改变字体的命令对这些特殊字体无效。
对于中文,我们有:
| 直立中等 | 意大利中等 | 直立粗体 | 意大利粗体 | ||||||
|---|---|---|---|---|---|---|---|---|---|
\textup{\textmd |
\textit{\textmd |
\textup{\textbf |
\textit{\textbf |
||||||
| 默认 | 无 | $\textup{\textmd{你好,世界!}}$ | $\textit{\textmd{你好,世界!}}$ | $\textup{\textbf{你好,世界!}}$ | $\textit{\textbf{你好,世界!}}$ | ||||
| 罗马 | \textrm |
$\textup{\textmd{\textrm{你好,世界!}}}$ | $\textit{\textmd{\textrm{你好,世界!}}}$ | $\textup{\textbf{\textrm{你好,世界!}}}$ | $\textit{\textbf{\textrm{你好,世界!}}}$ |
对于中文,族设置为无衬线或打字机时,要么不可用,要么与设置为罗马时无区别。
可以看出,族默认时是宋体,族为罗马时是黑体。
字号
LaTeX 内置了从大到小的下列字号:
\Huge |
$\Huge \sum_{i = 1}^{n} \frac{1}{i}$ | \normalsize |
$\normalsize \sum_{i = 1}^{n} \frac{1}{i}$ |
|---|---|---|---|
\huge |
$\huge \sum_{i = 1}^{n} \frac{1}{i}$ | \small |
\small \sum_{i = 1}^{n} \frac{1}{i}$ |
\LARGE |
$\LARGE \sum_{i = 1}^{n} \frac{1}{i}$ | \footnotesize |
\footnotesize \sum_{i = 1}^{n} \frac{1}{i}$ |
\Large |
$\Large \sum_{i = 1}^{n} \frac{1}{i}$ | \scriptsize |
\scriptsize \sum_{i = 1}^{n} \frac{1}{i}$ |
\large |
$\large \sum_{i = 1}^{n} \frac{1}{i}$ | \tiny |
\tiny \sum_{i = 1}^{n} \frac{1}{i}$ |
颜色
可以通过 {\color{颜色} 文字或公式} 或 \textcolor{颜色}{文字或公式} 改变字体颜色。例如:
a + {\color{red} a + {}} a 显示为 $a + {\color{red} a + {}}$。
a + \textcolor{red}{a + {}} a 显示为 $a + \textcolor{red}{a + {}}$。
a + {\color{#22AB22} a + {}} a 显示为 $a + {\color{#22AB22} a + {}}$。
a + \textcolor{#22AB22}{a + {}} a 显示为 $a + \textcolor{#22AB22}{a + {}} a$。




Comments | NOTHING