Markdown 基础语法 - 二
一、代码
语法:
单行代码:
代码之间分别用一个反引号包起来示例:
1 | `代码内容` |
效果
这是单行代码
若想在代码中添加撇号,可以使用多个撇号包裹里面需要添加的撇号,但注意里面的连续的撇号数量不能超过外面的数量。
// 显示一个撇号示例:
1 | `` ` `` |
效果:
`
注意「行内代码」开头或结尾包含关键字「反引号 `
」时,开头和结尾必须包含空格。
多行代码 / 代码块:
缩进 4 个空格,需要注意的是,每行代码都需要至少缩进 4 个空格,不能像段落一样采用首行标记的偷懒写法,一个代码区会一直持续到没有缩进 4 个空格的那一行。Markdown 中可以用两个反引号
来标记代码。也可以用 ```` ` 来包裹代码段,且两边的撇号单独占一行。
示例 / 效果:
1 | 代 |
注:多行代码也可回车 + tap
如果这样写: ```java
+ 代码
+```
,则代表 java 代码,实例效果如下:
1 | class HelloWorld{ |
二、流程图
1 | flow |
建议使用画图工具(脑图)画完后上传图片比较简单
三、反斜杠 \
我们经常需要在文章中插入一些特殊符号,而这些符号恰好是前面所讲的标识符号,可以在特殊符号前插入 \ 来直接显示符号,而不让 Markdown 来将其解释为标识符号。
Markdown 支持以下这些符号前插入 \ 而显示其本来样子:
1 | \ 反斜线 |
注意 hexo 使用 marked+mathjax 渲染 LaTex 公式时会把 \\
都转义成 \
,导致公式显示异常(不换行),需要将 \\
改为 \\\\
方可显示正常。注:推荐换为 kramed 渲染引擎 + katex 公式渲染器。
示例:
1 | $$ |
效果:
test:
公式显示也可以用贴图方案:
-
在 https://www.codecogs.com/latex/eqneditor.php 网页上部的输入框里输入 LaTeX 公式,比如
$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$
; -
在网页下部拷贝 URL Encoded 的内容,比如以上公式生成的是
https://latex.codecogs.com/png.latex?%24%24x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D%24%24
; -
在文档需要的地方使用以上 URL 贴图,比如
1
![](https://latex.codecogs.com/png.latex?%24%24x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D%24%24)
四、Markdown 上标、下标
语法详解
上标、下标是一种文字的特殊写法,常用于化学式、数学公式、引用文字的脚注等。
Markdown 的原生语法不支持上、下标的写法。我们需要通过 html 标签实现此类效果。
在 Markdown 中,我们可以通过 <sub>
和 <sup>
标签来实现上标和下标。
实例 1:
使用上标表示数学公式。
1 | a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup> |
其渲染效果如下:
a2 + b2 = c2
实例 2:
使用上标表示特殊语义。
1 | Windows 10 <sup>TM</sup> |
其渲染效果如下:
Windows 10 TM
实例 3:
使用下标书写化学公式。
1 | 2KClO<sub>3</sub> ==== 2KCl + 3O<sub>2</sub>↑ |
其渲染效果如下:
2KClO3 ==== 2KCl + 3O2↑
实例 4:
上标下标嵌套使用。
1 | a<sup>b<sub>c<sup>d</sup></sub></sup> |
其渲染效果如下:
abcd
实例 5:
使用特殊符号作为上标。
1 | IMOOC<sup>©</sup> |
其渲染效果如下:
IMOOC©
五、Markdown 脚注尾注
1. 前言
脚注和尾注都是对文章的补充说明。
脚注通常与被注释内容出现在同一页,并位于该页面的最下方,一般用来解释专有名词、数据来源等。
尾注通常出现在文章的最后一页,写在文章全部正文之后,一般用来列明引用的文章列表等。
2. 语法详解
2.1 脚注、尾注的声明
添加引用的描述
要增加脚注(尾注),首先需要在文章的适当位置增加引用的描述,形如:[^引用ID]: 说明文字
。
实例 1:
脚注的声明。
1 | [^footnote]: 此处是 **脚注** 的 *文本内容*。 |
注意,此步完成后,不会有渲染的内容输出,必须将引用添加到内容中才有显示。
引用部位添加引用注释
在需要增加引用标记的内容后面增加 [^引用ID]
。
实例 2:
完整的脚注。
1 | 这里有一个脚注[^脚注ID1]。 |
脚注的标号会自动编号。
在 Markdown 中,尾注和脚注的声明方式是一样的,区别在于是否把引用的描述部分写到了文章的最末尾。由于 Markdown 在一些特定渲染输出的情况下(比如:PDF)才有分页的概念,所以我们优先采用尾注的形式,也就是将注释内容写到文章末尾。
3. 使用场景及实例
实例 4:
实现百度文库效果的《出师表》。
1 | **《出师表》(节选)** |
其渲染效果如下:
《出师表》(节选)
先帝 [1] 创业 [2] 未半而中道 [3] 崩殂 [4],今 [5] 天下三分 [6],益州疲弊 [7],此 [8] 诚危急存亡之秋也。然 [9] 侍卫之臣不懈于内,忠志之士忘身 [10] 于外者,盖追先帝之殊遇 [11],欲报之于陛下也。诚 [12] 宜开张圣听 [13],以光 [14] 先帝遗德,恢弘 [15] 志士之气,不宜妄自菲薄 [16],引喻失义 [17],以塞忠谏之路也 [18]。
六、Markdown 数学公式
1. 前言
在专业的学术论文中,数学公式往往是不可或缺的。在 Word 中,想表达出一个复杂的公式非常繁琐,幸运的是 Markdown 其语法中,支持使用 LaTeX 语法实现在文档中插入数学公式。
环境说明:考虑到 Markdown 工具之间的不兼容,有的内容直接从页面复制粘贴到本地不会正常显示,大家学习时自己动手写是肯定没问题的。本节所有实例代码及演示效果均使用 Typora 工具完成。
LaTex 是 Markdown 扩展功能,需要在 Typora 中开启 LaTex 支持,具体方式为:「设置」-> 「Markdown」->「Markdown 扩展语法」-> 勾选「内联公式」,如下图:
2. 语法详解
2.1 公式的声明
Markdown 中的数学公式也分为「行中公式」和「独立公式」两种。
2.1.1 行中公式
行中公式使用两个单独的「美元符 $
」表示。
实例 1:
1 | $1 + 1 = 2$ |
其渲染效果如下:
2.1.1 独立公式
独立公式的写法是将公式两边用两个连续的「美元符 $$
」包裹,换行通过在行尾添加 \\
实现。
实例 2:
1 | $$ |
其渲染效果如下:
2.2 运算符
2.2.1 四则运算符
四则运算符是理工运算中的基础,主要包含加减乘除和绝对值运算。
实例 3:
四则运算符号汇总。
1 | 加法符号:$x+y=z$ |
其渲染效果如下:
加法符号:
减法符号:
加减符号:
减加符号:
叉乘符号:
点乘符号:
星乘符号:
除法符号:
斜除符号:
分式 1:
分式 2:
绝对值:
2.2.2 逻辑运算符
实例 4:
逻辑运算符号汇总。
1 | 等于符号:$x+y=z$ |
其渲染效果如下:
等于符号:
大于符号:
小于符号:
大于等于符号:
小于等于符号:
不等于符号:
不大于等于符号:
不大于等于符号:
不小于等于符号:
不小于等于符号:
约等于符号:
恒定等于符号:
2.2.3 高等运算符
实例 5:
高等运算符号汇总。
1 | 平均数符号:$\overline{xyz}$ |
其渲染效果如下:
平均数符号:
开二次方符号:
开方符号:
对数符号:
极限符号:
极限符号:
求和符号:
求和符号:
积分符号:
积分符号: 微分符号:
矩阵符号:
2.3 上标、下标
不同于上面所示上标、下标,在数学公式中有一种更为简单的定义方式。
实例 6:
1 | 上标符号:$x^2$ |
其渲染效果如下:
上标符号:
下标符号:
组合符号:
2.4 希腊字母
在 Markdown 文档的公式中插入希腊字母的方法是,在美元符号包裹住的中间,直接插入 LaTeX 形式的希腊字母语法即可。
实例 7:
1 | 阿尔法:$\Alpha$,$\alpha$ |
其渲染效果如下:
阿尔法:,
贝塔:,
伽玛:,
德尔塔:,
艾普西龙:,
捷塔:,
依塔:,
西塔:,
艾欧塔:,
喀帕:,
拉姆达:,
缪:,
拗:,
克西:,
欧麦克轮:,
派:,
柔:,
西格玛:,
套:,
宇普西龙:,
发艾:,
器:,
普赛:,
欧米伽:,
这里需要注意:希腊字母区分大小写,其大小写的定义跟随公式中,声明该希腊字母的语法的首字母大小写,同英文大写字母的也可用 $英文大写字母$
表达渲染。
3. 使用场景及实例
数学公式常出现在算法描述或专业论文之中,是提升文章可读性和专业感的重要手段。
实例 8:
等比数列的通项公式。
1 | $$ |
其渲染效果如下:
4. 小结
- Markdown 可以扩展对 LaTeX 的支持,使得文本有能力渲染成数学公式;
- Markdown 的同时支持行内公式及独立公式;
- Markdown 的数学公式语法与 LaTeX 定义一致。
七、Todo List(github)
用法跟普通列表的用法差不多,只不过在每一项文字前面加了 [] 或者 [x]。[ ] 中间有且只有一个空格,表示未完成,另一个表示已完成。示例:
1 | - [ ] task one |
效果:
八、Emoji(github)
Github 比较有意思的是可以支持 emoji。比如 :smile:
表示笑脸等等示例:
1 | :smile: |
效果:😄
具体可以查看 Emoji Cheat Sheet
九、Markdown 生成目录
1. 前言
目录是文章内容的整体索引,是文章结构的最直观表现形式。
Markdown 为生成目录提供了快捷方式,大大降低了文章目录的编排复杂度。
2. 语法详解
2.1 目录的自动生成
在 Markdown 中,自动生成目录非常简单,只需要在恰当的位置添加 [TOC]
符号,凡是以 #
定义的标题都会被编排到目录中。
实例 1:
使用 [TOC]
生成文档目录导航。
1 | [TOC] |
渲染效果如下:
2.2 手动书写目录
尽管自动生成目录非常方便,我们也难免有自定义目录的需求,如只显示一二级大标题等。
手动添加目录的方法就是将「列表」和「页内超链接」相结合。
实例 2:
用列表和链接做出目录效果。
1 | - [一级标题](#一级标题) |
其渲染效果如下:
3. 使用场景
目录适用于有章节标题的文章,通常用于跳转,所以适合在网页或 PDF 文件中使用。
4. 小结
- Markdown 支持自动使用
[toc]
标记生成目录; - 当自动生成的目录无法满足需求时,我们仍可通过「页内超链接」的形式定义目录;
- 由于 Markdown 没有分页的概念,所以目录中无法自动页码。
写作工具
①MarkdownPad
MarkdownPad 被很多人称赞为 windows 下最好用的 Markdown 编辑器之一,不过仅支持 windows。它有免费版和收费版(MarkdownPad Pro),一般情况下免费版就够用了,想用 pro 版的可以自行网上下载,强大的国人 crack 无处不在的~~。
MarkdownPad 支持键盘快捷键和工具栏操作,即可添加标记也可移除,支持即时 HTML 预览、支持自定义配色方案、字体、大小和布局、支持音乐视频,可以导出 HTML 和 PDF。
MarkdownPad 是独立的软件。
更多介绍及下载:http://markdownpad.com/
②Typora(亲测)
Typora 也是非常用名,非常好用的 markdown 编辑器,它的设计理念很不一样,是真正的即时预览型编辑器,不同于左右两个窗口的编辑器。Typora 的设计理念就是极致简洁,它将「写字」和「预览」这两件事情合并了。
如果要修改已经写好的 markdown 标记可以点击切换到 “源代码模式”。
Typora 同样支持 Windows、OS X 和 Linux 多个操作系统,支持数学编辑,可与 Word 直接格式转换,可以进行多种文档格式转换。Typora 流畅度和反应速度很快,特别适合那些手速快的人。
Typora 是独立的软件。
更多介绍及下载:https://www.typora.io/
③Hbuilder X
先 hexo s 启动本地服务器预览可以通过 Hbuilder X 内置浏览器观察文章内容实现边写变预览便于修改
④更多
markdown 编辑器产品非常多,以上只是本人接触过的一些,相信还有很多很好的 markdown 存在,橘生淮南则为橘,橘生淮北则为枳,找到适合自己的才是最好的。
PS: 详细信息可以查看官方文档
先帝:指汉昭烈帝刘备。先,尊称死去的人。 ↩︎
创:开创,创立;业:统一天下的大业。 ↩︎
中道:中途。 ↩︎
崩殂(cú):死。崩,古时指皇帝死亡。殂,死亡。 ↩︎
今:现在。 ↩︎
三分:天下分为孙权,曹操,刘备三大势力。 ↩︎
益州疲弊:弱,处境艰难;益州:汉代行政区域十三刺史部之一,包括今四川省和陕西省一带,这里指蜀汉。疲弊(pí bì):人力缺乏,物力缺无,民生凋敝。 ↩︎
此:这;诚:的确,实在;之:的;秋:时,时候,这里指关键时期,一般多指不好的。 ↩︎
然:然而;侍:侍奉;卫:护卫;懈:松懈,懈怠;于:在;内:皇宫中。 ↩︎
忘身:舍身忘死,奋不顾身。 ↩︎
盖:原来;追:追念;殊遇:优待,厚遇。 ↩︎
诚:的确,确实;宜:应该。 ↩︎
开张圣听:扩大圣明的听闻,意思是要后主广泛地听取别人的意见;开张,扩大。 ↩︎
光:发扬光大,用作动词;遗德:留下的美德。 ↩︎
恢弘:发扬扩大,用作动词。恢,大。弘,大,宽,这里是动词,也做 “恢宏”;气:志气。 ↩︎
妄自菲薄:过于看轻自己;妄:过分;菲薄:小看,轻视。 ↩︎
引喻失义:讲话不恰当。引喻:称引、譬喻;喻:比如;义:适宜、恰当。 ↩︎
以:以致(与以伤先帝之明的以用法相同:以致);塞:阻塞;谏:劝谏。 ↩︎