Markdown 介绍
啥是 Markdown
在介绍 Markdown 之前,先介绍一下使用 Word 写文档的弊端(可能每个写过文档的人都会有所体会):
- 排版麻烦:用啥字体,段落间距多少,行间距多少?实话说大部分时候根本不需要那么精细,只需要简单的文字加粗或者倾斜文字,撑死再变一下文字颜色就足够了
- 数学公式输入麻烦:举个例子:请尝试在 Word 里输入以下公式:
麻烦吧?甚至有人嫌麻烦宁可直接手写然后拍照剪裁后贴上去 - 没有代码高亮支持,代码输入进去后很难看
- 标点符号输入麻烦,一些符号键盘上没有,比如 , 还有 ,就要往输入法里一点点找。
- 格式不够开放:
.doc
文件只能在特定的软件中打开,如微软的那个 Word,金山的 WPS Office(顺带一提我发现很多人用 WPS Office,还是建议大家用 Word,原因是 WPS Office 和 微软的 Word 之间格式有一些不兼容,在 Word 上写的文档在 WPS Office 上可能会出现一些排版错误)还有一个开源的 LibreOffice(这个使用效果上还不如 WPS Office)。
问:那我希望写一个有图片有数学公式有列表的文档,还有啥其他的方案吗? 答:Markdown。
Markdown 是一种纯文本标记语言。可能大家看到这个词会有些懵,没关系,我来解释一下。简单来说就是通过 Markdown,你可以用纯文本(简单的文字和符号,都是键盘自带的)来实现简单的排版,输入数学公式,列表等。
Markdown 适用于哪些场合
- 程序员:Markdown 基本上可以说是程序员的必备技能,著名开源
社交平台 Github 就对 Markdown 有很好的支持。还记得刚刚提到的吗?Word 不支持代码高亮,而 Markdown 对代码高亮的支持就很好,此外Markdown 格式开放,使用简单,所以程序员都喜欢用 Markdown。 - 写博客:即使不是程序员,Markdown 也可以说是当今写博客必备的技能。像
hexo.js
等博客框架对 Markdown 有很好的支持,如果你想要有自己的博客的话,那我建议你学习一下这个技能。本博客就是用 Markdown 写的。 - 记笔记:当今笔记软件大部分对 Markdown 有很好的支持。这里推荐使用 Obsidian,对 Markdown 的支持非常的好,用 Obsidian 记笔记的话,每一篇笔记在电脑上就是一篇 Markdown 文件,方便备份(Markdown 甚至可以直接用记事本打开阅读,所以 Markdown 文件其本质上就是一个 txt 文本文件)。用 Obsidian 配合 Syncthing 同步,既保护了隐私,又很方便,使用体验非常完美。
Markdown 简单入门
这里推荐大家打开任意一支持 Markdown 的软件(如 VS Code 或 Typora)尝试一下。
Markdown 简单排版
- 在要加粗的文本两边加上
**
(两个星号),**文本加粗**
:文本加粗 - 在要倾斜的文本两边加上
*
(一个星号),*文本倾斜*
:文本倾斜 - 在要加上删除线效果的文本两边加上
~~
(两个波浪线),~~删除线~~
:删除线
是不是很简单?
输入数学公式
刚刚说的“Markdown 输入数学公式”其并不精准,准确来说是 或 支持通过输入文本输入数学公式,不过一般 Markdown 都是支持 或 的,所以大家不用计较了 ;)。
问: 和 又是啥? 答: 和 和 Markdown 一样,也是文本标记语言。只不过 Markdown 负责排版(列表,加粗,斜体,表格等),而这俩负责符号(数学公式,特殊符号)。 问: 和 有啥区别? 答:两者语法一样,一般选用一个即可(由开发者选择,用户不用操心这个),不过 支持的数学公式以及特殊符号更全一些。
举个简单的例子,我要输入二的三次方,该怎么输入?
用 的话就很简单:输入 $2^3$
即可被渲染成 。
如果我想输入 呢?
输入 $2_3$
如果我想输入 呢?
输入 $\frac{a}{b}$
那我要输入二的十次方呢?
有同学说那简单,$2^10$
呗,错,这样渲染的结果就是 ,我们注意到 里的 没有包括进去,如果想要包括进去的话,可以用 {}
将两位数都包起来:$2^{10}$
, 结果就是
注意公式一定要用 $$
包住。还有一种输入数学公式的方法是用 $$$$
包住(公式写在中间,如 $$2^3$$
),两者的区别是 $$
包住的公式是行内公式,而 $$$$
包住的是块状公式。简单来说就是有的人写公式喜欢直接接着前面的文字写(不换行),就选前者,有的人喜欢另起一行写(换行),就选后者。一般如果公式比较短建议选行内公式,如果公式比较长建议块状公式。
回头看文章开头举的那个数学公式例子,用 或 如何输入呢?
答案:$$y=e^{-\int p(x)dx}\left[\int Q(x)e^{p(x)dx}dx+C\right]$$
(公式比较长,故选用块状公式,即包裹在 $$$$
中)。
渲染后:
其实和 Word 比,输入公式也没简单多少。好吧之前骗了你对不起。 不过有个好处是 和 比较开放,便于复制,比较容易受到支持(比如维基百科的数学公式用的也是 /,不信你可以打开维基百科一些有数学公式的条目查看条目源码)。
还有很多更复杂的数学公式输入技巧,这里就不细讲了。
Markdown 输入特殊符号
注意:想输入特殊符号,也要记得把内容放到 $$
内。
举个例子我想输入希腊字母 ,我该怎么输入呢?如果是在 Word 里,我可能就要在输入法里翻找,但在 / 里就很简单,输入 $\alpha$
就行了,就是这么简单!
大家可能注意到了 和 ,这两个也是相当于特殊符号,通过输入 $\LaTeX$
和 \KaTeX
(注意大小写)来完成输入。
Markdown 插入图片
想放一个图片进去的话,你可以用[图片标题](图片链接)
的格式插入图片。举个例子:我有一个网址为 https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg
的图片,我想插入的话,我该怎么办呢?这时候就可以直接在想在文档中插入图片处写 [Markdown-mark](https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg)
(图片维基百科找的),然后就可以渲染出来该图片:
问:如果维基百科服务器故障,没有办法显示图片会怎么样呢?
答:这时方框里面的文字就会显示出来,举个例子,如果刚刚的图片没有显示出来,那么就会显示文本 Markdown-mark
。
Markdown 插入表格:
| |列一|列二|
|--|--|--|
|行一|内容一|内容二 |
|行二|内容三|内容四|
渲染结果:
列一 | 列二 | |
---|---|---|
行一 | 内容一 | 内容二 |
行二 | 内容三 | 内容四 |
Markdown 插入代码
举 Python 代码为例 人生苦短,我用 Python
def is_prime(n): # the input num n is the num we want to judge
if n == 1: return False # special judge, if the num is one, then it's not a prime num
for i in range(2, n): # try every int num in [2, n-1]
if not n%i: return False # i < n, so if n%i == 0, then n must be a composite num.
return True # if there are no num which is between 1 and n-1 is divisible by n, then n is a prime num
如果想输入上述代码并代码高亮,请输入
```python
def is_prime(n): # the input num n is the num we want to judge
if n == 1: return False # special judge, if the num is one, then it's not a prime num
for i in range(2, n): # try every int num in [2, n-1]
if not n%i: return False # i < n, so if n%i == 0, then n must be a composite num.
return True # if there are no num which is between 1 and n-1 is divisible by n, then n is a prime num
```
第一行的 Python
也可以根据需要换成 Java
,C
,甚至是 Markdown
(Markdown 也是一种语言)。
总结
总之 Markdown 就是很好用,很方便,如何之前没尝试过的话,希望你能尝试一下。