Markdown教程

前言

“ 工欲善其事,必先利其器”。

书写博客内容或项目的README文档是一个繁琐的过程,一个好的工具能让简化这个过程,而Markdown绝对是最好的工具之一,我将用这一篇博客带你入门Markdown的语法。

Markdown简单介绍

引自Wikipedia:

Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。如GitHub、Reddit、Discord、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge、简书等,甚至还能被用来撰写电子书。

Markdown可用于在纯文本文档中添加格式化元素,让使用者更加专注于文字内容,能轻松在码字的同时做出美观大方的排版,不用受到格式上的桎梏。

Markdown工作原理

Markdown编辑器(应用程序)通过Markdown处理器将markdown格式的文本转换为html格式,从而在Web上显示

Markdown 格式的文件转换为 HTML 或可打印的文档的步骤如下:

  1. 使用文本编辑器或 Markdown 专用的应用程序创建 Markdown 文件。该文件应带有 .md 或 .markdown 扩展名。
  2. 在 Markdown 应用程序中打开 Markdown 文件。
  3. 使用 Markdown 应用程序将 Markdown 文件转换为 HTML 文档。
  4. 在 web 浏览器中查看 HTML 文件,或使用 Markdown 应用程序将其转换为其他文件格式,例如 PDF。

Markdown基础教程

个人比较推荐直接看Markdown官方教程,本文仅是Markdown一个粗略的教程。


Markdown官方教程
元素 Markdown语法 说明
标题 # H1</br>## H2</br>### H3 要创建标题,请在单词或短语前面添加井号(#) ,#的数量代表了标题的级别
段落 空白行隔开即可 要创建段落,请使用空白行将一行或多行文本进行分隔。不要用空格(spaces)或制表符( tabs)缩进段落
换行 空格+回车即可 在一行的末尾添加两个或多个空格,然后按回车键,即可换行。
粗体 ** 内容 ** 要加粗文本,请在单词或短语的前后各添加两个星号(**)
斜体 * 内容 * 要用斜体显示文本,请在单词或短语前后添加一个星号(*)
删除线 ~~ 要删除内容 ~~ 在单词前后使用两个波浪号~~
块引用 > 引用内容 要创建块引用,请在段落前添加一个 > 符号
多段落引用 >段落1
>
>段落2
段落之间的空白行添加一个> 符号
嵌套块引用 >内容
>>嵌套段落
在要嵌套的段落前添加一个 >> 符号
带其他元素的块引用 在引用块中正常加入即可 块引用可以包含其他 Markdown 格式的元素(大部分都能)。
有序列表 1. 第一项
2. 第二项
要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。
无序列表 - 列表项
或
* 列表项
或
+ 列表项
要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。
带其他元素的列表 在列表中正常加入即可 要在保留列表连续性的同时在列表中添加另一种元素,请将该元素缩进四个空格或一个制表符。
代码  `代码` 要将单词或短语表示为代码,请将其包裹在一对反引号 `` 中
代码块 代码块 在代码块之前和之后的行上使用三个反引号(```)或三个波浪号(~~~)。在代码块之前的反引号旁边指定一种语言可以对应高亮
分割线 ***
或—
或___
要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (—) 或下划线 (___) ,并且不能包含其他内容。为了兼容性,请在分隔线的前后均添加空白行。
链接 [超链接显示名](超链接地址 "超链接title") 链接文本放在中括号[]内,链接地址放在后面的括号()中,链接title(悬停时出现的文字)可选
网址和Email地址 <网址> 使用尖括号可以很方便地把URL或者email地址变成可点击的链接
图片 ![图片alt](图片链接 "图片title") 要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本
表格 |表头1|表头2|   | ---| ---|     |表项1|表项2| 要添加表,请使用三个或多个连字符(—)创建每列的标题,并使用竖线(|)分隔每列。
您可以选择在表的任一端添加竖线。通过在标题行中的连字符的左侧,右侧或两侧添加冒号(:),将列中的文本对齐到左侧,右侧或中心。
任务列表 - [] 未完成任务
- [x] 已完成任务
要创建任务列表,请在任务列表项之前添加破折号-和方括号[ ],并在[ ]前面加上空格。要选择一个复选框,请在方括号[x]之间添加 x
引用类型链接 第一部分:[文本] [数字或字母或标点符号]
第二部分:[第一部分第二个括号的内容]: https://网址
第一部分中:第一组方括号包围应显示为链接的文本。第一组和第二组方括号之间包含一个空格。第二组括号显示了一个标签,该标签用于指向您存储在文档其他位置的链接。
可以将链接的第二部分放在Markdown文档中的任何位置。
第二部分中:1.放在方括号中的标签,其后紧跟一个冒号和至少一个空格(例如[label]: )。2.链接的URL,可以选择将其括在尖括号中。3.链接的可选标题,可以将其括在双引号,单引号或括号中。
脚注 正文[^1]正文
[^1]: 脚注内容
要创建脚注参考,请在方括号([^1])内添加插入符号和标识符。标识符可以是数字或单词,但不能包含空格或制表符。在括号内使用另一个插入符号和数字添加脚注,并用冒号和文本([^1]: 脚注内容.)。您不必在文档末尾添加脚注。您可以将它们放在除列表,块引号和表之类的其他元素之外的任何位置。
emoji 复制和粘贴表情符号😀
或
使用表情符号简码:符号简码:
以冒号开头和结尾,并包含表情符号的名称。这是简码列表

此外,Markdown还支持html语言(需要编辑器支持),例如:

<!--居中显示带链接的图片-->
<div align=center>
  <a href="链接">
    <img src="图片链接">
  </a>
</div> 

Markdown公式

markdown的数学公式分为行内公式和行间公式(有的编辑器不支持)。使用行内公式会让你的公式和之前的文字处于同一行。 使用行间公式会对之前的文字换行,然后公式单独成行并居中显示。

行内公式:$ Latex行内公式$

行间公式:$$ Latex行间公式$$

常用公式

上角标: $ x^n$$\rightarrow x^2$

下角标: $ x_n$$\rightarrow x_n$

上划线:$ \overline{abc}$$\rightarrow \overline{abc}$

下划线:$ \underline{abc}$$\rightarrow \underline{abc}$

竖线:$ \vert$$\rightarrow \vert$

模值:$ \| i \| $$\displaystyle \rightarrow \|i\|$

乘号:$ \times$$\rightarrow \times$

除号:$ \div$$\rightarrow \div$

点乘(内积):$ \odot 或 \cdot$$\rightarrow \odot \ \cdot $

叉乘(交叉积):$ \otime 或 \times $$\rightarrow \otimes\ \times$

平方根:$ \sqrt{x}$$\displaystyle \rightarrow \sqrt{x}$

注:{ }中的内容视为总体

n次根:$ \sqrt[n]{x}$$\displaystyle \rightarrow \sqrt[n]{x}$

分式:$ \frac{x}{y}$$\rightarrow \frac{x}{y}$

求和:$ \sum_{k=1}^n$$\rightarrow \sum_{k=1}^n$

求积:$ \prod_{k=1}^n$$\rightarrow \prod_{k=1}^n$

积分:$ \int_a^b$$\rightarrow \int_a^b$

围线积分:$ \oint$$\rightarrow \oint$

二重积分:$ \iint$$\rightarrow \iint$

三重积分:$ \iiint$$\rightarrow \iiint$

箭头:

  • 左箭头$\leftarrow \Leftarrow$ $\leftarrow\ \ \ \Leftarrow$

  • 右箭头$ \rightarrow \Rightarrow$ $\rightarrow\ \ \ \Rightarrow$

  • 双向箭头$ \leftrightarrow \Leftrightarrow$ $\leftrightarrow\ \ \ \Leftrightarrow$

无穷:$ \infty$$\rightarrow \infty$

极限:$ \lim_{0\rightarrow \infty} $\rightarrow \lim_{0\rightarrow\infty}$

偏导:$ \partial$ $\rightarrow \partial$

哈密顿算子:$ \nabla$$\rightarrow \nabla$

任意:$ \forall$$\rightarrow \forall$

存在:$ \exists$$\rightarrow \exists$

正负号:$ \pm 或 \mp$$\rightarrow \pm \ \mp$

大于等于:$ \geq$$\rightarrow \geq$

小于等于:$ \leq$$\rightarrow \leq$

约等于:$ \approx$$\rightarrow \approx$

不等于:$ \neq$$\rightarrow \neq$

属于:$ \in$$\rightarrow \in$

不属于:$ \notin$$\rightarrow \notin$

子集:$ \subseteq$$\rightarrow \subseteq$

真子集:$ \subset$$\rightarrow \subset$

角度度数:$ \degree$$\rightarrow 360°$

角度:$ \angle$$\rightarrow \angle 90°$


注:可以通过展示格式控制Markdown公式的大小,如\displaystyle显示格式,公式较大

$ \displaystyle \sum_{k=1}^n \int_0^1$展现为$\displaystyle \sum_{k=1}^n \int_0^1$

而$ \sum_{k=1}^n$展现为 $\sum_{k=1}^n \int_0^1$


分段函数:

$$ 
函数名=\begin{cases}
公式1 & 条件1 \\
公式2 & 条件2 \\
公式3 & 条件3 
\end{cases}
$$

&符号用于对齐,例如:

$ W(x) = \begin{cases} (a+2)|x|^3-(a+3)|x|^2+1 & |x| \leq 1 \\ a|x|^3-5a|x|^2+8a|x|-4a & 1<|x|<2 \\ 0 & otherwise \end{cases}$

$ W(x) = \begin{cases} (a+2)|x|^3-(a+3)|x|^2+1 & |x| \leq 1 \\ a|x|^3-5a|x|^2+8a|x|-4a & 1<|x|<2 \\ 0 & otherwise \end{cases}$

矩阵:

$\begin{pmatrix}
0&1&0\\
1&1&0\\
0&0&1\\
\end{pmatrix}$

注1:pmatrix为小括号()包围;bmatrix为中括号[]包围;vmatrix为单竖线||包围
注2:\cdots为横省略元素;\vdots为竖省略元素;\ddots为斜省略元素

例如:

$ D = \begin{bmatrix} 2 \\ &3\\ &&2 \\ &&&3 \\ &&&&2 \end{bmatrix}$

$ \begin{bmatrix}
{a_{11}}&{a_{12}}&{\cdots}&{a_{1n}}\\
{a_{21}}&{a_{22}}&{\cdots}&{a_{2n}}\\
{\vdots}&{\vdots}&{\ddots}&{\vdots}\\
{a_{m1}}&{a_{m2}}&{\cdots}&{a_{mn}}\\
\end{bmatrix}$

$ D = \begin{bmatrix} 2 \\ &3\\ &&2 \\ &&&3 \\ &&&&2 \end{bmatrix}$


$\begin{bmatrix} {a_{11}}&{a_{12}}&{\cdots}&{a_{1n}}\\ {a_{21}}&{a_{22}}&{\cdots}&{a_{2n}}\\ {\vdots}&{\vdots}&{\ddots}&{\vdots}\\ {a_{m1}}&{a_{m2}}&{\cdots}&{a_{mn}}\\ \end{bmatrix}$

常用希腊字母
希腊字母 小写 大写 英语 发音
$\alpha\ A$ \alpha A alpha /'ælfə/
$\beta \ B$ \beta B beta /'bi:tə/ 或 /'beɪtə/
$\gamma \ \Gamma$ \gamma \Gamma gamma /'gæmə/
$\pi \ \Pi$ \pi \Pi pi /paɪ/
$\lambda \ \Lambda$ \lambda \Lambda lambda /'læmdə/
$\delta \ \Delta$ \delta \Delta delta /'deltə/
$\theta\ \Theta $ \theta \Theta theta /'θi:tə/
$\rho \ P$ \rho P rho /rəʊ/
$\sigma \ \Sigma$ \sigma \Sigma sigma /'sɪɡmə/
$\epsilon \ E$ \epsilon E epsilon /'epsɪlɒn/
$\zeta \ Z$ \zeta Z zeta /'zi:tə/
$\eta\ H$ \eta H eta /'i:tə/
$\phi \ \Phi$ \phi \Phi phi /faɪ/
$\psi \Psi$ \psi \Psi psi /psaɪ/
$\omega\ \Omega$ \omega \Omega omega /'əʊmɪɡə/ 或 /oʊ’meɡə/
$\tau \ T$ \tau T tau /tɔ:/or/taʊ/
$\kappa\ K$ \kappa K kappa /'kæpə/
$\mu\ M$ \mu M mu /mju:/
$\nu \ N$ \nu N nu /nju:/
$\xi\ \Xi$ \xi \Xi xi /ksi/ 或 /'zaɪ/ 或 /'ksaɪ/
$\omicron\ O$ \omicron O omicron /əu’maikrən/ 或 /'ɑmɪ,krɑn/
$\upsilon \ \Upsilon$ \upsilon \Upsilon upsilon /'ipsilon/ 或 /'ʌpsilɒn/
$\chi \ X $ \chi X chi /kaɪ/
常用函数名