在CSDN上,写博客有两种编辑器,这里介绍Markdown编辑器用法。
ctrl + Shift + B
ctrl + Shift + I
ctrl + Shift + L
ctrl + Shift + G
ctrl + Shift + K
ctrl + Shift + H
Ctrl + Shift + O
Ctrl + Shift + U
ctrl + Z
ctrl + Y
我们使用不同数量的#
来定义标题,注意应在最后一个#
号后加上一个空格。
示例:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
示例:
标题一
-----------
标题二
=========
这里使用|
,-
,:
来创建一个表格。
其中|
用于画表格中的竖线,-
用于划分每个格子所占宽度(按个数比例),:
用于定义对齐方式。
代码:
|项目|价格|
|-------|-------|
|computer|$1600|
|phone|$120|
效果:
项目 | 价格 |
---|---|
computer | $1600 |
phone | $120 |
代码:
|项目|价格|
|:-------|:-------:|
|computer|$1600|
|phone|$120|
效果:
项目 | 价格 |
---|---|
computer | $1600 |
phone | $120 |
代码:
|项目|价格|
|-------:|:-------:|
|computer|$1600|
|phone|$120|
效果:
项目 | 价格 |
---|---|
computer | $1600 |
phone | $120 |
代码:
1. 列表一
1. 子列表一
2. 列表二
3. 列表三
效果:
列表一
1. 子列表一
列表二
列表三
代码:
- 列表一
- 列表二
- 子列表一
- 子列表二
- 子列表三
效果:
代码:
- [ ] 计划任务
- [x] 已经完成的任务
效果:
我们使用[TOC]
来生成本篇文章目录。
我们使用如下方式定义一个代码块(即使用一对三个反引号来定义):
注意应在第一排三个反引号后加上你所用的编程语言(c++请使用cpp)以达到更好的渲染效果。
#include
#include
using namespace std;
int main() {
#ifdef LOACL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
printf("Hello World");
return 0;
}
如果你想要只展示一句代码,那么我们就可以利用一对一个反引号定义,示例如下:
代码:
效果:
printf("Hello World");
你也可以在代码前用四个空格或一个Tab来定义一个代码块:
代码:
#include
#include
using namespace std;
int main() {
#ifdef LOACL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
printf("Hello World");
return 0;
}
效果:
#include
#include
using namespace std;
int main() {
#ifdef LOACL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
printf("Hello World");
return 0;
}
注意这时代码与字之间应该空一行,不然头文件之类的东西会消失不见的(还没有渲染效果)。
我们使用$ $
来定义一个行内公式,$$ $$
来定义一个块级公式。
我们使用&
使上下两排的数或式子对齐,\\
换行。
这两个东西主要运用于矩阵和分段函数中,所以大家若不想使用它们就可以跳过此小节。
括号如小括号、中括号是直接打上去的,所以这里不给出示例和效果。
但是需要我们特别注意的是,花括号无法直接打上去,因为在LaTex数学公式中,花括号是用来分隔部分的,所以我们 必须 使用\{
和\}
来定义大括号,效果如下: { } \{\} {}
代码:
$c=\sqrt{a^{2}+b_{xy}^2+e^{x}}$
$$c=\sqrt{a^{2}+b_{xy}^2+e^{x}}$$
效果:
c = a 2 + b x y 2 + e x c=\sqrt{a^{2}+b_{xy}^2+e^{x}} c=a2+bxy2+ex
c = a 2 + b x y 2 + e x c=\sqrt{a^{2}+b_{xy}^2+e^{x}} c=a2+bxy2+ex
代码:
$\frac{x^{2}y^{2}}{x+y}$
$$\frac{x^{2}y^{2}}{x+y}$$
效果:
x 2 y 2 x + y \frac{x^{2}y^{2}}{x+y} x+yx2y2
x 2 y 2 x + y \frac{x^{2}y^{2}}{x+y} x+yx2y2
代码:
$\sum_{i=1}^{n}{a_i}$
$$\sum_{i=1}^{n}{a_i}$$
效果:
∑ i = 1 n a i \sum_{i=1}^{n}{a_i} ∑i=1nai
∑ i = 1 n a i \sum_{i=1}^{n}{a_i} i=1∑nai
代码:
$\prod_{i=1}^{n}{a_i}$
$$\prod_{i=1}^{n}{a_i}$$
效果:
∏ i = 1 n a i \prod_{i=1}^{n}{a_i} ∏i=1nai
∏ i = 1 n a i \prod_{i=1}^{n}{a_i} i=1∏nai
代码:
$\int_{a}^{\pi} f(x)dx$
$$\int_{a}^{\pi} f(x)dx$$
效果:
∫ a π f ( x ) d x \int_{a}^{\pi} f(x)dx ∫aπf(x)dx
∫ a π f ( x ) d x \int_{a}^{\pi} f(x)dx ∫aπf(x)dx
代码:
$\lim_{x \to +\infty}\frac{1}{x}$
$$\lim_{x \to +\infty}\frac{1}{x}$$
效果:
lim x → + ∞ 1 x \lim_{x \to +\infty}\frac{1}{x} limx→+∞x1
lim x → + ∞ 1 x \lim_{x \to +\infty}\frac{1}{x} x→+∞limx1
代码:
$\frac{\partial^2 u}{\partial z^2}$
$$\frac{\partial^2 u}{\partial z^2}$$
效果:
∂ 2 u ∂ z 2 \frac{\partial^2 u}{\partial z^2} ∂z2∂2u
∂ 2 u ∂ z 2 \frac{\partial^2 u}{\partial z^2} ∂z2∂2u
代码:
$\cos 2\theta = \cos^2 \theta - \sin^2 \theta \\ = 2 \cos^2 \theta - 1$
$$\cos 2\theta = \cos^2 \theta - \sin^2 \theta \\ = 2 \cos^2 \theta - 1$$
效果:
cos 2 θ = cos 2 θ − sin 2 θ = 2 cos 2 θ − 1 \cos 2\theta=\cos^2\theta-\sin^2\theta \\=2\cos^2\theta-1 cos2θ=cos2θ−sin2θ=2cos2θ−1
cos 2 θ = cos 2 θ − sin 2 θ = 2 cos 2 θ − 1 \cos2\theta=\cos^2\theta-\sin^2\theta\\=2\cos^2\theta-1 cos2θ=cos2θ−sin2θ=2cos2θ−1
我们使用cases
关键字来定义分段函数。
示例:
$f(x)=\begin{cases}10&x\le3\\2x+4&x>3\end{cases}$
$$f(x)=\begin{cases}10&x\le3\\2x+4&x>3\end{cases}$$
f ( x ) = { 10 x ≤ 3 2 x + 4 x > 3 f(x)=\begin{cases}10&x\le3\\2x+4&x>3\end{cases} f(x)={102x+4x≤3x>3
f ( x ) = { 10 x ≤ 3 2 x + 4 x > 3 f(x)=\begin{cases}10&x\le3\\2x+4&x>3\end{cases} f(x)={102x+4x≤3x>3
代码:
$$
A=\left[
\begin{matrix}
1&2&3&\\
2&2&3&\\
3&2&10&
\end{matrix}
\right]
$$
效果:
A = [ 1 2 3 2 2 3 3 2 10 ] A=\left[ \begin{matrix} 1&2&3&\\ 2&2&3&\\ 3&2&10& \end{matrix} \right] A=⎣⎡1232223310⎦⎤
当然你也可以将中括号换为诸如小括号,花括号等,这里直接给出效果:
A = ( 1 2 3 2 2 3 3 2 10 ) A=\left( \begin{matrix} 1&2&3&\\ 2&2&3&\\ 3&2&10& \end{matrix} \right) A=⎝⎛1232223310⎠⎞
A = { 1 2 3 2 2 3 3 2 10 } A=\left\{ \begin{matrix} 1&2&3&\\ 2&2&3&\\ 3&2&10& \end{matrix} \right\} A=⎩⎨⎧1232223310⎭⎬⎫
字母 | 代码 | 字母 | 代码 | 字母 | 代码 | 字母 | 代码 |
---|---|---|---|---|---|---|---|
α \alpha α | \alpha | θ \theta θ | \theta | o o o | o | υ \upsilon υ | \upsilon |
β \beta β | \beta | ϑ \vartheta ϑ | \vartheta | π \pi π | \pi | ϕ \phi ϕ | \phi |
γ \gamma γ | \gamma | ι \iota ι | \iota | ϖ \varpi ϖ | \varpi | φ \varphi φ | \varphi |
δ \delta δ | \delta | κ \kappa κ | \kappa | ρ \rho ρ | \rho | χ \chi χ | \chi |
ϵ \epsilon ϵ | \epsilon | λ \lambda λ | \lambda | ϱ \varrho ϱ | \varrho | ψ \psi ψ | \psi |
ε \varepsilon ε | \varepsilon | μ \mu μ | \mu | σ \sigma σ | \sigma | ω \omega ω | \omega |
ζ \zeta ζ | \zeta | ν \nu ν | \nu | ς \varsigma ς | \varsigma | ||
η \eta η | \eta | ξ \xi ξ | \xi | τ \tau τ | \tau |
当然若要获得对应的大写字母,就把代码的首字母大写即可(不知道为什么有些字母的大写会报错)。
符号 | 代码 | 符号 | 代码 | 符号 | 代码 |
---|---|---|---|---|---|
< < < | < | > > > | > | = = = | = |
≤ \le ≤ | \leq或\le | ≥ \ge ≥ | \geq或\ge | ≡ \equiv ≡ | \equiv |
≪ \ll ≪ | \ll | ≫ \gg ≫ | \gg | ≐ \doteq ≐ | \doteq |
≺ \prec ≺ | \prec | ≻ \succ ≻ | \succ | ∼ \sim ∼ | \sim |
⪯ \preceq ⪯ | \preceq | ⪰ \succeq ⪰ | \succeq | ≃ \simeq ≃ | \simeq |
⊂ \subset ⊂ | \subset | ⊃ \supset ⊃ | \supset | ≈ \approx ≈ | \approx |
⊆ \subseteq ⊆ | \subseteq | ⊇ \supseteq ⊇ | \supseteq | ≅ \cong ≅ | \cong |
⊏ \sqsubset ⊏ | \sqsubset | ⊐ \sqsupset ⊐ | \sqsupset | ⋈ \Join ⋈ | \Join |
⊑ \sqsubseteq ⊑ | \sqsubseteq | ⊒ \sqsupseteq ⊒ | \sqsupseteq | ⋈ \bowtie ⋈ | \bowtie |
∈ \in ∈ | \in | ∋ \ni ∋ | \ni或\owns | ∝ \propto ∝ | \propto |
⊢ \vdash ⊢ | \vdash | ⊣ \dashv ⊣ | \dashv | ⊨ \models ⊨ | \models |
∣ \mid ∣ | \mid | ∥ \parallel ∥ | \parallel | ⊥ \perp ⊥ | \perp |
⌣ \smile ⌣ | \smile | ⌢ \frown ⌢ | \frown | ≍ \asymp ≍ | \asymp |
: : : | : | ∉ \notin ∈/ | \notin | ≠ \ne = | \neq或\ne |
+ + + | + | − - − | - | × \times × | \times |
± \pm ± | \pm | ∓ \mp ∓ | \mp | ◃ \triangleleft ◃ | \triangleleft |
⋅ \cdot ⋅ | \cdot | ÷ \div ÷ | \div | ▹ \triangleright ▹ | \triangleright |
× \times × | \times | ∖ \setminus ∖ | \setminus | ⋆ \star ⋆ | \star |
∪ \cup ∪ | \cup | ∩ \cap ∩ | \cap | ∗ \ast ∗ | \ast |
⊔ \sqcup ⊔ | \sqcup | ⊓ \sqcap ⊓ | \sqcap | ∘ \circ ∘ | \circ |
∨ \lor ∨ | \vee或\lor | ∧ \land ∧ | \wedge或\land | ∙ \bullet ∙ | \bullet |
⊕ \oplus ⊕ | \oplus | ⊖ \ominus ⊖ | \ominus | ⋄ \diamond ⋄ | \diamond |
⊗ \otimes ⊗ | \otimes | ◯ \bigcirc ◯ | \bigcirc | ⨿ \amalg ⨿ | \amalg |
△ \bigtriangleup △ | \bigtriangleup | ▽ \bigtriangledown ▽ | \bigtriangledown | † \dagger † | \dagger |
⊲ \lhd ⊲ | \lhd | ⊳ \rhd ⊳ | \rhd | ‡ \ddagger ‡ | \ddager |
⊴ \unlhd ⊴ | \unlhd | ⊵ \unrhd ⊵ | \unrhd | ≀ \wr ≀ | \wr |
我们使用>
来定义一个引用
示例:
代码:
> This is a question.
效果:
This is a question.
甚至还可以嵌套:
示例:
代码:
> This is a question.
>> This is a sub question.
效果:
This is a question.
This is a sub question.
前面已经介绍过,我们可以使用ctrl + Shift + G
来插入一个图,现在,我们来看一看手动插入图片的方法:
![](图片的URL或path)
示例:
代码:
![](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTgwMjExMTk0MjI3NzEy)
我们可以手动定义一个链接。格式如下:
[链接描述](链接)
示例:
[我的博客地址](http://blog.csdn.net/qq_37656398)
我的博客地址
流程图是一个很复杂的东西,这里限于篇幅,只简要介绍。
代码:
flowchat
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
注意在定义代码块的第一个三个引号后加上mermaid
。
效果:
在流程图中,我们在程序前半部分定义了流程图中所有的元素,后半部分则创建了流程图的走向。
我们利用tag=>type: content:>url
来定义一个流程图元素。
tag
是一个元素名,名称随意,在连接元素时会用到。type
是标签类型。流程图中标签有如下六种:
start
:开始end
:结束operation
:操作subroutine
:子程序condition
:条件inputoutput
:输入或输出content
就是元素框中要写的内容,中英均可,特别注意::
后必有空格。url
是链接,:>
后跟着网址,网址与文本绑定。->
来连接两个元素,每个元素的连接方向默认向下,我们可以使用right
来改变方向。condition
型属于条件判断,故我们写condition
型的连接时应采用如下写法:(仍以上面流程图为例)
cond(yes)->e
cond(no)->op
下面是我自己写的ISAP最大流算法流程图:
代码:
st=>start: 开始
ed=>end: 结束
op1=>operation: 清空距离数组d和GAP优化数组vd
op2=>operation: 将vd[0]置为总结点数N,将最大流值F置为0
while=>condition: 若d[S]小于N
sub=>subroutine: 调用DFS求出增广路
op5=>operation: 将F加上可增广值
op4=>inputoutput: 输出F
st->op1->op2->sub->op5->while
while(yes)->sub
while(no)->op4
op4->ed
效果:
我们使用~~ ~~
来定义一根删除线。
示例:
代码:
~~It is false.~~
效果:
It is false.
我们可以使用** **
或__ __
来让字体加粗。
代码:
**There is a question.**
效果:
There is a question.
我们可以使用* *
或_ _
来让字体变成斜体。
代码:
*This is a question.*
效果:
This is a question.
我们可以使用== ==
来标记文本。
代码:
==Attention!==
效果:
Attention!
我们可以使用~ ~
定义下标,^ ^
定义一个上标。
代码:
水的化学式是H~2~O。
2^10^=1024。
效果:
水的化学式是H2O。
210=1024。
我们甚至可以把它们混在一起使用,只要两两间能相互配对。
代码:
***This is a question.***
效果:
This is a question.
我们还可以让字体更多彩!
我们只需要向输入文本前加上一句即可让文字颜色变成红色。
示例:
代码:
This is a question.
This is a question.
This is a question.
This is a question.
效果:
This is a question.
This is a question.
This is a question.
This is a question.
当然你可以将red
替换为你希望的颜色的英文表达,就可以得出相应的字体颜色。
我们亦可以加入来改变字号。
示例:
代码:
This is a question.
This is a question.
This is a question.
This is a question.
This is a question.
This is a question.
This is a question.
效果:
This is a question.
This is a question.
This is a question.
This is a question.
This is a question.
This is a question.
This is a question.
你也可以将5
替换为1~7之间的整数,就可以获得不同大小的字!
我们只需加入来让字体变为仿宋字。
示例:
代码:
我是一句话。
我是一句话。
我是一句话。
To be or not to be.
效果:
我是一句话。
我是一句话。
我是一句话。
To be or not to be.
你也可以将"仿宋"
换成你心仪的字体名称。
以上三种可以混在一起用,格式为...
。
示例:
代码:
我是一句话。
效果:
我是一句话。
我们可以利用七八个减号或*
来定义一根横线
-------或者********
这是Markdown编辑器的使用说明,
当然还有很多用法,诸如数学公式之类的东西,我已经收集了大量的资料,正在逐步放在上面。
这里仅仅介绍了CSDN上的Markdown编辑器的大部分常用的用法,当然对于大部分本地Markdown编辑器如Typora也是可以使用的。
如有未尽之处敬请谅解。
但是由于本文章写于2018年CSDN的Markdown编辑器改版前,所以可能会有部分错误或其他的不足,我在之后会陆续修订。
当然你也可以在文章末尾评论区内指出它们,我将尽快改正。
感谢阅读!