Markdown语法及笔记软件推荐

6/5/2021 MarkdownTyporaLaTeX

# 1. Markdown简介

# 1.1 什么是Markdown

  • Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

# 1.2 为什么选择Markdown

优点:

  • 使用简单的标记语法来控制格式(编写时控制格式方便快捷,便于复杂格式笔记的迁移)
  • 纯文本轻量级(任意一款文本编辑器都可查看编辑,打开速度很快,而且支持quicklook等工具预览)
  • 便于导出其他格式(配合pandoc可以一键导出pdf、html、word等格式,UI美观而且带书签)
  • 支持Web语法和LaTeX语法(如有需求,可以对样式进行精细的控制)
  • 支持代码高亮显示(非常适合写含有大量代码的技术博客)

缺点:

  • 图片等多媒体文件不好储存(放本地不便于分享,放图床里需要联网。建议放图床里,并且导出pdf格式笔记备份)
  • 渲染模式种类繁多,同一个文件用不同软件打开渲染结果都不同,而且有的软件缺乏对表格的渲染支持。

# 1.3 如何使用Markdown

Markdown基本语法如下:

大标题:# 空格
中标题:## 空格
小标题:### 空格
数字列表:1. 空格
普通列表:- 空格
引用:> 空格
Inline 代码:`代码`
代码片段:```语言名 回车
加粗:**加粗** 
倾斜:*倾斜* 
删除线:~~删除线~~
链接:[链接名](链接地址)
图片:![图片名](图片地址)
待办:- [ ] 空格 及 - [x] 空格
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Markdown高级语法如下:

[1] 文本差异

```diff
+ this text is highlighted in green
- this text is highlighted in red
```
1
2
3
4
+ this text is highlighted in green
- this text is highlighted in red
1
2

[2] 内容折叠

<details> 
<summary>Title</summary>
contents ...
</details>
1
2
3
4
Title contents ...

[3] 文本上下标

Superscript<sup>TM</sup>
1

SuperscriptTM

Subscript<sub>x</sub>
1

Subscriptx

[4] 文本添加边框

<table><tr><td>Boxed text</td></tr></table>
1
Boxed text

说明:Markdown还支持Web语法和LaTeX语法,可以对内容和格式进行精细控制,需要的话自行查找,这里就不赘述了。

# 2. Markdown笔记软件推荐

# 2.1 笔记软件需求

  • 渲染支持全面:编辑器UI好看、Markdown渲染好看、支持代码高亮、支持渲染表格和LaTeX数学公式。
  • 直接操作md文件:我有Nextcloud私有云盘自动备份,用它来解决跨平台支持问题,因此我希望能直接修改本地的md文件,而不依赖于软件本身,无需进行繁琐的导入导出。
  • 支持全局搜索、大纲视图:笔记攒多了找东西不方便,因此需要一个能够直接从全局定位到具体笔记内容的搜索功能。
  • 支持导出其他格式:为了适应不同场景的需求,需要导成其他格式,希望导出的结果好看且带书签。
  • 用户界面支持中文:用纯英文的编辑器对于一些英文不好的人来说会导致上手门槛增大。
  • 支持笔记加密:有些内容涉及隐私及不希望分享的笔记,最好是能够对其进行加密。
  • 开源软件:商业版软件未来会收费,而且也不能保证未来不作恶,开源软件就放心得多。

# 2.2 笔记软件综评

目前市面上只有Typora基本符合我的需求,其他软件各有一些痛点,只能根据个人需求,在心中的权重有所取舍,挑选出的软件如下:

  • 目前正在使用,各方面都比较出色的软件:Typora
  • 曾经使用过,但有一些痛点问题的软件:MarkText、Tea、Notable、妙言
  • 下载体验过,感觉有些特色但不适合我的软件: Liandi、Sublime Text、Visual Studio Code、Joplin、Gridea
  • 强烈不推荐使用,没有任何特色的垃圾软件:Markdownpad2

# 2.3 Typora

# 2.3.1 简介

Typora是一款目前免费的商业版软件,官网:https://www.typora.io/ (opens new window)

另注:自 Typora 1.0 正式版开始,改成收费永久买断制的了,14.99美刀绑定三个设备,不过旧的 beta 版还可以继续免费使用(新版的也可以破解)。

Typora界面

# 2.3.2 优缺点

优点:直接操作本地文件、全局搜索、所见即所得、导出支持全面且美观、特殊插入支持全面、可作为通用的md文件编辑器、文件大纲、格式自动补全、快捷键支持全面、支持渲染表格、支持图片自动上传、支持自定义主题

缺点:剪切和复制文本有时会出现跳转bug

# 2.3.3 使用说明

1)导出其他格式

  • 使用自带的导出功能即可(配合Pandoc可导出除pdf和html以外的格式、导出的pdf带书签)Pandoc官网 (opens new window)

  • 可能存在“安装完之后,还是提示需要安装pandoc”的问题,此时可重新启动电脑,或者卸载Typora重新安装。

2)Typora快捷键

1、文本编辑
一级到六级标题:Ctrl+1,Ctrl+2,……,Ctrl+6
加粗、倾斜和下划线:Ctrl+B/I/U
删除线:Alt+Shift+5
居中:<center>文字</center>

2、插入
插入表格:Ctrl+T
插入图片:Ctrl+Shift+I
插入链接:Ctrl+K
按钮:<kbd>文字</kbd>
引用:输入>之后输入空格
代码块:Ctrl+Alt+F
无序列表:输入-之后输入空格
有序列表:输入数字+“.”之后输入空格
任务列表:-空格[空格]空格 文字

3、文档操作
全选:Ctrl+A
复制为Markdown:Ctrl+Shift+C
复制为纯文本:Ctrl+C
搜索:Ctrl+F
替换:Ctrl+H
撤销:Ctrl+Z
重做:Ctrl+Y
生成目录:输入[toc]之后回车
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

复制带格式的文本:Ctrl+A(全选)——Ctrl+Shift+C(复制为Markdown)

3)取消拼写检查

  • 文件——偏好设置——编辑器——拼写检查——不使用拼写检查

4)自定义主题

  • 主题获取:https://theme.typora.io/ (opens new window)(有大量的开源主题可供选择)
  • 主题应用:将下载的css主题文件放到C:\Users\xxx\AppData\Roaming\Typora\themes目录里,重新打开Typora即可。

5)自动添加标题编号

  • 项目描述:Typora 主题自动编号(内容标题自动编号、TOC 自动编号、侧边栏目录导航自动编号)
  • 项目地址:https://github.com/lipengzhou/typora-theme-auto-numbering (opens new window)
  • 配置说明:Typora——偏好设置——外观——主题——打开主题文件夹——将仓库中的 base.user.cssgithub.user.css 两个文件都拷贝到主题根目录中——重启Tpora,就可以看到1.-1.1.-1.1.1.层级结构的标题编号。

6)调整表格列宽

视图——勾选“源代码模式”,然后在调整列宽的标题栏里加若干空格符&nbsp;

一个更加优雅的方法则是使用空的 <img> 标签。例如:

| a | b | c |
|---|---|---|
| 1 |  &lt;img width=200/> | 3 | 
1
2
3

另注:长文本需要指定列宽,控制换行

可以使用 <div style="width:[长度]">[单元格文本]</div> 的形式,长度单位可以是 pt , px, cm等,例如:

| a | b | d |
|---|---|---|
| 1 | <div style="width: 150pt">very very very very very long long long long long text</div>| 3 |
1
2
3

# 2.4 MarkText

# 2.4.1 简介

MarkText是一款开源软件,项目地址:https://github.com/marktext/marktext (opens new window)

MarkTest

# 2.4.2 优缺点

优点:直接操作本地文件、全局搜索替换、UI和渲染好看、所见即所得、字数段落统计、大纲视图、支持渲染表格、支持导出pdf和html

缺点:英文软件界面、快捷键插入不方便、Bug太多、不支持自动更新版本

# 2.4.3 使用说明

该软件刚下载完打开什么都没有,并不适合我用,以下根据个人喜好进行调整:

调整用户设置:

  • Step1:把侧边栏和标签栏调出,并进入用户设置界面(View勾选Toggle Side Bar和Toggle Tab Bar,然后File——Preferences)
  • Step2:设置General(自动保存:开启Automatically save the content being edited;软件开启打开默认目录:选择Open a default directory,然后设置路径)
  • Step3:设置Editor(设置编辑器宽度:最底下设置为150%)
  • Step4:设置Theme(黑暗主题:Theme选择Dark)
  • Step5:设置Image(设置插入图片后的动作:选择Insert absolute or relative path of image并设置存储路径)

# 2.5 Tea

# 2.5.1 简介

Tea是一款目前免费的商业版软件,官网:https://haocha.co/ (opens new window)

Tea

# 2.5.2 优缺点

优点:UI和渲染超级好看、支持插件增强功能(大纲视图、机械键盘、树状文件夹、Markdown编辑)、所见即所得、速记便签功能、支持文内搜索、便于查看快捷键、格式自动补全

Tea特色

缺点:不是直接操作本地文件、导入导出不方便、不支持渲染表格、Bug太多、非开源软件

目前我已使用的插件存在以下Bug,未修复前不建议使用。

  • Dracula主题插件:开启会导致速记功能看不到文字
  • 炸裂模式插件:开启有时会导致Markdown语法不解析
  • 备份到本地插件:备份出来的文件内容全都一样,数据丢失

# 2.5.3 使用说明

安装时会遇到如下问题:点“更多信息——仍要运行”即可

Windows Defender SmartScreen 已阻止启动一个未识别的应用。运行此应用可能会导致你的电脑存在安全风险。
1

# 2.6 Notable

# 2.6.1 简介

Notable是一款开源软件,项目地址:https://github.com/notable/notable (opens new window)

# 2.6.2 优缺点

优点:直接操作本地文件、添加附件、链接分享、支持渲染表格

缺点:不支持全文搜索、所见与所得分离、不支持格式自动填充、快捷键支持少、更新弹窗、英文软件界面

# 2.6.3 使用说明

详见软件内置的help

生成的分享链接(24h后失效)
https://echo.notable.md/[ID]

如果您想立即删除一个已经共享的笔记,只需加载以下网址(替换[ID]为实际ID)即可:
https://echo.notable.md/delete/[ID]
1
2
3
4
5

# 2.7 妙言

# 2.7.1 简介

一个开源的基于 Swift5 开发的轻量级 Markdown 应用程序,仅适用于 MacOS 系统。项目地址:https://github.com/tw93/MiaoYan (opens new window)

妙言

# 2.7.2 优缺点

优点:直接操作本地文件、全局搜索、界面美观、中文界面

缺点:部分格式渲染不够美观、不是所见即所得

# 2.7.3 使用说明

窗口操作

  • command + 1:收起展开目录
  • command + 2:收起展开文档列表
  • command + 3:切换编辑和预览
  • command + 4:切换到演示模式
  • command + option + m:全局唤起/隐藏妙言

文档操作

  • command + n:新建文档
  • command + r:重命名文档
  • command + d:复制文档
  • command + o:单独打开文档
  • command + delete:删除文档
  • command + shift + n:新建文件夹
  • command + shift + l:自动排版
  • command + option + r:在 Finder 中显示
  • command + option + i:显示字数等文档属性
  • command + option + p:启动妙言 PPT 预览

# 3. 使用Typora绘图

# 3.1 使用Typora内置的Mermaid作图

# 3.1.1 Mermaid简介

Mermaid 是一种简单的类似 Markdown 的脚本语言,通过 JavaScript 编程语言,将文本转换为图片。因此,真正实现画图功能的并不是 Typora 本身,它只是内置了对 Mermaid 的支持。

Mermaid 官方有一个在线的工具,我们也可以用它进行绘制,并支持多种格式的导出:Mermaid live editor (opens new window)

Mermaid 支持绘制非常多种类的图,常见的有时序图、流程图、类图、甘特图等。在 Typora 中,输入 ````mermaid` 然后敲击回车,即可初始化一张空白图。

# 3.1.2 具体作图语法

1)流程图

语法解释:graph 关键字就是声明一张流程图,TD 表示的是方向,这里的含义是 Top-Down 由上至下。

graph TD;
    A-->B;
    A-->C;
    B-->D;
1
2
3
4

Mermaid作图-1

2)时序图

语法解释:->> 代表实线箭头,-->> 则代表虚线。

sequenceDiagram
    Alice->>John: Hello John, how are you?
    John-->>Alice: Great!
1
2
3

Mermaid作图-2

3)状态图

语法解释:[*] 表示开始或者结束,如果在箭头右边则表示结束。

stateDiagram
    [*] --> s1
    s1 --> [*]
1
2
3

Mermaid作图-3

4)类图

语法解释:<|-- 表示继承,+ 表示 public- 表示 private,学过 Java 的应该都知道。

classDiagram
      Animal <|-- Duck
      Animal <|-- Fish
      Animal <|-- Zebra
      Animal : +int age
      Animal : +String gender
      Animal: +isMammal()
      Animal: +mate()
      class Duck{
          +String beakColor
          +swim()
          +quack()
      }
      class Fish{
          -int sizeInFeet
          -canEat()
      }
      class Zebra{
          +bool is_wild
          +run()
      }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

Mermaid作图-4

5)甘特图

甘特图一般用来表示项目的计划排期,目前在工作中经常会用到。

语法也非常简单,从上到下依次是图片标题、日期格式、项目、项目细分的任务。

gantt
    title 工作计划
    dateFormat  YYYY-MM-DD
    section Section
    A task           :a1, 2020-01-01, 30d
    Another task     :after a1  , 20d
    section Another
    Task in sec      :2020-01-12  , 12d
    another task     :24d
1
2
3
4
5
6
7
8
9

Mermaid作图-5

gantt
    title 明清时间轴
    dateFormat  YYYY
    axisFormat  %Y
    section 明朝
    洪武帝朱元璋       :1368, 1398
    建文帝朱允炆       :1399, 1402
    永乐帝朱棣         :1402, 1424
    洪熙帝朱高炽       :1425, 1425
    宣德帝朱瞻基       :1426, 1435
    正统帝朱高炽       :1436, 1449
    景泰帝朱祁镇       :1450, 1457
    天顺帝朱见深       :1457, 1464
    成化帝朱见深       :1465, 1487
    弘治帝朱厚照       :1488, 1505
    正德帝朱厚照       :1506, 1521
    嘉靖帝朱厚熜       :1522, 1566
    隆庆帝朱载垕       :1567, 1572
    万历帝朱翊钧       :1573, 1620
    泰昌帝朱常洛       :1620, 1620
    天启帝朱由校       :1621, 1627
    崇祯帝朱由检       :1628, 1644
    section 清朝
    顺治帝爱新觉罗·福临 :1644, 1661
    康熙帝爱新觉罗·玄烨 :1662, 1722
    雍正帝爱新觉罗·胤禛 :1723, 1735
    乾隆帝爱新觉罗·弘历 :1736, 1795
    嘉庆帝爱新觉罗·颙琰 :1796, 1820
    道光帝爱新觉罗·旻宁 :1821, 1850
    咸丰帝爱新觉罗·载淳 :1851, 1861
    同治帝爱新觉罗·载湉 :1862, 1874
    光绪帝爱新觉罗·载湉 :1875, 1908
    宣统帝爱新觉罗·溥仪 :1909, 1912
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

Mermaid作图-5-2

6)饼图

饼图使用 pie 表示,标题下面分别是区域名称及其百分比。

pie
    title Key elements in Product X
    "Calcium" : 42.96
    "Potassium" : 50.05
    "Magnesium" : 10.01
    "Iron" :  5
1
2
3
4
5
6

Mermaid作图-6

# 3.2 使用Flow绘制流程图

# 3.2.1 基本语法

Flow流程图的语法大体分为两部分:

  • 前面部分用来定义流程图元素;
  • 后面部分用来连接流程图元素,指定流程图的执行走向。

[1] 定义元素阶段

tag=>type: content:>url
1

说明:

  • tag 是流程图中的标签,在第二段连接元素时会用到。名称可以任意,一般为流程的英文缩写和数字的组合。
  • type 用来确定标签的类型,=>后面表示类型。由于标签的名称可以任意指定,所以要依赖type来确定标签的类型。
  • 标签有6种类型:start、end、operation、subroutine、condition、inputoutput。
  • content 是流程图文本框中的描述内容,: 后面表示内容,中英文均可。特别注意,冒号与文本之间一定要有个空格。
  • url是一个连接,与框框中的文本相绑定,:>后面就是对应的 url 链接,点击文本时可以通过链接跳转到 url 指定页面。
// 开始
st=>start: 开始
// 操作
op1=>operation: 操作、执行说明
// 条件
cond=>condition: 确认?
// 结束
e=>end: 结束
// URL
e=>点击本结束跳转:>https://www.eula.club
1
2
3
4
5
6
7
8
9
10

[2] 连接流程图元素

连接流程图元素阶段的语法就简单多了,直接用->来连接两个元素

st->op1->cond
cond(yes)->io->e
cond(no)->sub1(right)->op1
1
2
3

说明:

  • 使用 -> 来连接两个元素。
  • 对于condition类型,有yes和no两个分支,如示例中的cond(yes)和cond(no)。
  • 每个元素可以制定分支走向,默认向下,也可以用right指向右边,如示例中sub1(right)。

# 3.2.2 使用实例

Example1:闰年判断

```flow
st=>start: Start
i=>inputoutput: 输入年份n
cond1=>condition: n能否被4整除?
cond2=>condition: n能否被100整除?
cond3=>condition: n能否被400整除?
o1=>inputoutput: 输出非闰年
o2=>inputoutput: 输出非闰年
o3=>inputoutput: 输出闰年
o4=>inputoutput: 输出闰年
e=>end
st->i->cond1
cond1(no)->o1->e
cond1(yes)->cond2
cond2(no)->o3->e
cond2(yes)->cond3
cond3(yes)->o2->e
cond3(no)->o4->e
```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

示例1-闰年判断流程图

Example2:子程序

st=>start: start:>https://www.eula.club
op1=>operation: 操作1
cond1=>condition: YES or NO?
sub=>subroutine: 子程序
e=>end
st->op1->cond1
cond1(yes)->e
cond1(no)->sub(right)->op1
1
2
3
4
5
6
7
8

示例2-子程序流程图

# 4. LaTeX的基本使用

# 4.1 LaTeX简介

  • LaTeX (opens new window) 是一种基于ΤΕΧ的排版系统,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。

  • 对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

# 4.2 LaTeX编译器和编辑器

# 4.2.1 LaTeX编译器

[1] 下载TeX Live(3.31GB)

官方下载地址:http://mirror.ctan.org/systems/texlive/Images/texlive2019.iso (opens new window)

身处中国大陆,下载速度很慢,建议使用清华大学镜像站or中国科技大学镜像站下载

[2] 安装TeX Live

使用压缩软件解压texlive2019.iso文件,打开install-tl-advanced.bat安装脚本,将TeX Live安装在你的系统中。

注:安装过程极慢,该干啥干啥去。

# 4.2.2 LaTeX编辑器

我最初使用LaTex的时候使用的是TeXstudio,个人感觉不是很好。现在推荐 Visual Studio Code + LaTeX Workshop扩展插件 的方案。

由于整理笔记的时候我电脑里已经没有了LaTex编译器的环境,就不具体演示了,下述配置方法是网上找的,未亲自尝试。

需将编译器配置到环境变量中(或者安装时选择添加到环境变量path),推荐安装TeXLive。Windows 上,Ctrl + Alt + B 编译,Ctrl + Alt + T PDF预览,Ctrl + 鼠标左键点击 PDF 反向定位到 tex 文本。
1

# 4.2.3 辅助输入LaTeX命令

初学者可能对LaTeX命令不太熟悉,可以借助一些工具辅助输入。但这只是一个过渡阶段,随着对LaTeX的熟悉,应越来越少地使用到。

在线工具:https://www.latexlive.com/ (opens new window)(B站up主妈咪叔开发的LaTeX公式编辑器,可免费使用,这里还提供一份 LaTex帮助文档 (opens new window),可用于学习LaTex语法)

LaTeX公式编辑器

本地工具:MathType

安装MathType后直接使用, 并不能使公式转译为LaTeX命令, 还需要进行相应的设置。

MathType

# 5. LaTeX数学公式

# 5.1 LaTeX数学公式渲染

# 5.1.1 Typora开启数学公式渲染

Typora ------> 设置 ------> Mardown ------> Markdown 扩展语法 ------> 勾选内联公式,然后重启Typora编辑器即可。

Typora开启LaTeX公式渲染

Typora 中支持大部分 LaTeX 数学公式表达式,且对行内公式、多行公式支持较好。行内公式使用成对的单个$ (像$abc$) 或成对的双$$ (像 $$abc$$) 包裹均可。

# 5.1.2 Vuepress开启数学公式渲染

如果需要将本地编写好的笔记发布到博客上(例如Vuepress),则需要给博客添加对应的LaTeX渲染库去支持,不然是不能渲染的。即便是开启了对应的库,发布后也需要再检查一下,以防该库无法解析渲染你的公式,实在不行的就截图吧。

安装 @neilsustc/markdown-it-katex 依赖

$ npm install @neilsustc/markdown-it-katex
1

在 config.js 里增加配置

  markdown: {
    lineNumbers: true, // 代码行号
    extendMarkdown: md => {
            md.set({
                html: true
            })
            md.use(require('@neilsustc/markdown-it-katex'), {"throwOnError" : false, "errorColor" : " #cc0000"})
        }
  },
  head: [
        ['link', {
            rel: 'stylesheet',
            href: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css'
        }],
        ['link', {
            rel: "stylesheet",
            href: "https://cdn.jsdelivr.net/github-markdown-css/2.2.1/github-markdown.css"
        }]
    ],
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 5.2 LaTeX数学公式代码集

此处整理在大部分 Markdown 编辑器中兼容可用的 LaTeX 数学公式代码,故并非最全面的LaTeX 数学公式代码集,也没有涉及到宏包。

# 5.2.1 希腊字母

大写 Markdown 代码 小写 Markdown 代码
A A α \alpha
B B β \beta
Γ \Gamma γ \gamma
Δ \Delta δ \delta
E E ϵ \epsilon
ε \varepsilon
Z Z ζ \zeta
H H η \eta
Θ \Theta θ \theta
ϑ \vartheta
I I ι \iota
K K κ \kappa
ϰ \varkappa
Λ \Lambda λ \lambda
M M μ \mu
N N ν \nu
Ξ Xi ξ \xi
O O ο \omicron
Π \Pi π \pi
ϖ \varpi
P P ρ \rho
ϱ \varrho
Σ \Sigma σ \sigma
ς \varsigma
T T τ \tau
Υ \Upsilon υ \upsilon
Φ \Phi ϕ \phi
φ \varphi
X x χ \chi
Ψ \Psi ψ \psi
Ω \Omega ω \omega

# 5.2.2 四则运算

名称 符号 Markdown 代码
加法运算 + +
减法运算 -
加减运算 ± \pm
减加运算 \mp
乘法运算 × \times
点乘运算 \cdot
星乘运算 \ast
除法运算 ÷ \div
斜除运算 / /
绝对值表示 ∣a∣ \mid a \mid

# 5.2.3 分式

名称 符号 Markdown 代码
小型分式 ab\dfrac{a}{b} \dfrac{a}{b}
大型分式 2c+2d+24=a\cfrac{2}{c + \cfrac{2}{d + \cfrac{2}{4}}} = a \cfrac{2}{c + \cfrac{2}{d + \cfrac{2}{4}}} = a

# 5.2.4 求和、连乘与开方

名称 符号 Markdown 代码
求和 \sum \sum
求和 p=n=1Nanp = \sum\limits_{n=1}^N a_n p = \sum\limits_{n=1}^N a_n
求和 p=n=1Nanp = \sum\nolimits_{n=1}^N a_n p = \sum\nolimits_{n=1}^N a_n
连乘 i=1n\prod_{i=1}^{n} \prod_{i=1}^{n}
连乘 i=0n\prod \limits_{i=0}^n \prod \limits_{i=0}^n
上积 i=1n\coprod_{i=1}^n \coprod_{i=1}^n
开方 x\sqrt{x} \sqrt{x}
开n次方 xn\sqrt[n]{x} \sqrt[n]{x}

# 5.2.5 集合

名称 符号 Markdown 代码
任意 \forall \forall
属于 \in \in
属于 \ni \ni
不属于 \notin \notin
不属于 ∉\not\in \not\in
子集 \subset \subset
子集 \supset \supset
真子集 \subseteq \subseteq
非真子集 \subsetneq \subsetneq
真子集 \supseteq \supseteq
非真子集 \supsetneq \supsetneq
非子集 ⊄\not\subset \not\subset
非子集 ⊅\not\supset \not\supset
\sqsupset \sqsupset
\sqsupseteq \sqsupseteq
\sqsubset \sqsubset
\sqsubseteq \sqsubseteq
\sqcup \sqcup
并集 \cup \cup
交集 \cap \cap
\Cup \Cup
\Cap \Cap
\bigcup \bigcup
\bigcap \bigcap
\biguplus \biguplus
\bigsqcup \bigsqcup
差集 \setminus \setminus
同或 \bigodot \bigodot
同与 \bigotimes \bigotimes
实数集合 R\mathbb{R} \mathbb{R}
自然数集合 z\mathbb{z} \mathbb{z}
空集 \emptyset \emptyset

# 5.2.6 特殊字符

名称 符号 Markdown 代码
波浪线 \sim \sim
省略号 \cdots \cdots
无限 \infty \infty
\nabla \nabla
\propto \propto

# 5.2.7 特殊图形符号

符号 Markdown 代码 符号 Markdown 代码
§\S \S \P \P
\star \star \wr \wr
\smile \smile \frown \frown
\triangle \triangle \Box \Box
\Diamond \Diamond \sharp \sharp
\diamondsuit \diamondsuit \heartsuit \heartsuit
\clubsuit \clubsuit \spadesuit \spadesuit
\Game \Game \flat \flat

# 5.2.8 角、度与垂直

名称 符号 Markdown 代码
\angle \angle
角度 ^{\circ} ^{\circ}
角分 ^{\prime} ^{\prime}
垂直 \bot \bot

# 5.2.9 等式与不等式

描述 符号 Markdown 代码
等于 = =
大于 > >
小于 < <
大于等于 \geq \geq
\geqq \geqq
小于等于 \leq \leq
\leqq \leqq
不等于 \neq \neq
不大于等于 \ngeq \ngeq
不大于等于 ≱\not\geq \not\geq
不小于等于 \nleq \nleq
不小于等于 ≰\not\leq \not\leq
远大于 \gg \gg
\ggg \ggg
远小于 \ll \ll
\lll \lll
约等于 \approx \approx
恒等于 \equiv \equiv
≢\not\equiv \not\equiv
\simeq \simeq
\cong \cong

# 5.2.10 逻辑

描述 符号 Markdown 代码
因为 \because \because
所以 \therefore \therefore
pp p
qˉp\bar{q} \to p \bar{q} \to p
¬\lnot \lnot
\land \land
\lor \lor
\wedge \wedge
\vee \vee
\veebar \veebar
\setminus \setminus
\bigwedge \bigwedge
\bigvee \bigvee
\smallsetminus \smallsetminus

# 5.2.11 导数、积分与极限

名称 符号 Markdown 代码
定积分 124x2dx\int_{1}^{2}{4x^2}\mathrm{d}x \int_{1}^{2}{4x^2}\mathrm{d}x
不定积分 4x2dx\int{4x^2}\mathrm{d}x \int{4x^2}\mathrm{d}x
二重积分 \iint \iint
三重积分 \iiint \iiint
曲面积分 \oint \oint
偏导数 2uz2\frac{\partial^2 u}{\partial z^2} \frac{\partial^2 u}{\partial z^2}
极限 limx\lim\limits_{x\to\infty} \lim\limits_{x\to\infty}
导数 dx\mathrm{d}x \mathrm{d}x

# 5.2.12 上标

名称 符号 Markdown 代码
角号 a^\hat{a} \hat{a}
角号 a^\widehat{a} \widehat{a}
a\overset{\frown}{a} \overset{\frown}{a}
上划线 a\overline{a} \overline{a}
aˉ\bar{a} \bar{a}
上波浪线 a~\tilde{a} \tilde{a}
上波浪线 a~\widetilde{a} \widetilde{a}
aˊ\acute{a} \acute{a}
aˋ\grave{a} \grave{a}
a˘\breve{a} \breve{a}
aˇ\check{a} \check{a}
a˙\dot{a} \dot{a}
双点 a¨\ddot{a} \ddot{a}
ab\overleftarrow{a b} \overleftarrow{a b}
cd\overrightarrow{c d} \overrightarrow{c d}

# 5.2.13 箭头符号

符号 Markdown 代码 符号 Markdown 代码 符号 Markdown 代码
\leftarrow \leftarrow \gets \gets \longleftarrow \longleftarrow
\rightarrow \rightarrow \to \to \longrightarrow \longrightarrow
\uparrow \uparrow \downarrow \downarrow \updownarrow \updownarrow
\nearrow \nearrow \searrow \searrow \swarrow \swarrow
\nwarrow \nwarrow
\leftrightarrow \leftrightarrow \mapsto \mapsto \longmapsto \longmapsto
\Leftarrow \Leftarrow \Rightarrow \Rightarrow \Leftrightarrow \Leftrightarrow
\Longleftarrow \Longleftarrow \Longrightarrow \Longrightarrow \iff \Longleftrightarrow 或 \iff
\Uparrow \Uparrow \Downarrow \Downarrow \Updownarrow \Updownarrow

# 5.2.14 多行公式

\begin{split} 
x &= a + b + c
\\
y &= d + e
\\
z &= f + g 
\end{split}
1
2
3
4
5
6
7

注:在等号前加&表示对齐

x=a+b+cy=d+ez=f+g\begin{split} x &= a + b + c \\ y &= d + e \\ z &= f + g \end{split}

\begin{cases}
F_{t1} = \frac{2T_1}{d_1}
\\
F_{r1} = F_{t1}\tan\alpha
\\
F_n = \frac{F_{t1}}{\cos\alpha}
\end{cases}
1
2
3
4
5
6
7

{Ft1=2T1d1Fr1=Ft1tanαFn=Ft1cosα\begin{cases} F_{t1} = \frac{2T_1}{d_1} \\ F_{r1} = F_{t1}\tan\alpha \\ F_n = \frac{F_{t1}}{\cos\alpha} \end{cases}

# 5.2.15 矩阵与行列式

\begin{matrix}
x & y
\\
z & v
\end{matrix}
1
2
3
4
5

xyzv\begin{matrix} x & y \\ z & v \end{matrix}

\begin{vmatrix}
x & y
\\
z & v
\end{vmatrix}
1
2
3
4
5

xyzv\begin{vmatrix} x & y \\ z & v \end{vmatrix}

A=\left[ 
\begin{matrix} 
1 &2 &3
\\ 
2 &2 &3
\\ 
3 &2 &3
\end{matrix} 
\right]
1
2
3
4
5
6
7
8
9

A=[123223323]A=\left[ \begin{matrix} 1 &2 &3 \\ 2 &2 &3 \\ 3 &2 &3 \end{matrix} \right]

\begin{bmatrix}
0 &\cdots &0
\\
\vdots &\ddots &\vdots
\\
0 &\cdots &0
\end{bmatrix}
1
2
3
4
5
6
7

注:横省略号:\cdots,竖省略号:\vdots,斜省略号:\ddots

[0000]\begin{bmatrix} 0 &\cdots &0 \\ \vdots &\ddots &\vdots \\ 0 &\cdots &0 \end{bmatrix}

\begin{Bmatrix}
x & y
\\
z & v
\end{Bmatrix}
1
2
3
4
5

{xyzv}\begin{Bmatrix} x & y \\ z & v \end{Bmatrix}

\begin{pmatrix}
x & y
\\
z & v
\end{pmatrix}
1
2
3
4
5

(xyzv)\begin{pmatrix} x & y \\ z & v \end{pmatrix}

\begin{array}{c|lll}
{\downarrow}&{a}&{b}&{c}\\
\hline {R_1}&{c}&{b}&{a}\\
{R_2}&{b}&{c}&{c}\\
\end{array}
1
2
3
4
5

阵列说明:

  • 对齐方式:在 {array} 后以 {} 逐行统一声明。左对齐 l ,居中 c ,右对齐 r
  • 竖直线:在声明对齐方式时,插入 | 建立竖直线
  • 插入水平线: \hline

abcR1cbaR2bcc\begin{array}{c|lll} {\downarrow}&{a}&{b}&{c}\\ \hline {R_1}&{c}&{b}&{a}\\ {R_2}&{b}&{c}&{c}\\ \end{array}

# 6. 参考资料

[1] 基于 Markdown 的笔记应用程序Notable from Github (opens new window)

[2] 一个简单优雅的 Markdown 编辑器MarkTest,适用于 Linux、macOS 和 Windows from Github (opens new window)

[3] 使用 Typora 画图(类图、流程图、时序图)from 知乎 (opens new window)

[4] Markdown 技巧:如何改变表格宽度(列宽) from 知乎 (opens new window)

[5] LaTeX的下载安装及简易使用_CSDN (opens new window)

[6] 一份其实很短的LaTeX入门文档_始终的个人博客 (opens new window)

[7] LaTeX新人教程,一小时从完全陌生到基本入门_CSDN (opens new window)

[8] TeX Live 下载及安装说明_始终的个人博客 (opens new window)

[9] 有哪些好的 LaTeX 编辑器 from 知乎 (opens new window)

[10] Markdown绘制流程图的方法 from JackPeng (opens new window)

[11] 从图表的文本表示中绘制简单的 SVG 流程图 from Github (opens new window)

[12] LaTeX数学公式整理 from muzing的杂货铺 (opens new window)

[13] Typora: 行内LaTeX公式无效 from CSDN (opens new window)

[14] Typora 主题自动编号 from Github (opens new window)

[15] Markdown 语法・简明版 from Gitee (opens new window)

[16] GitHub风格的 Markdown 技巧 from Github (opens new window)

Last Updated: 2/20/2024, 10:59:19 AM