Markdown - 轻文本格式

Markdown - 轻文本格式

官方首页,我采用的编辑器为 MarkText,开源地址(GitHub),文档目录语法手册

基础语法

  1. 标题的#和标题之间需要有一个空格
  2. 结束一行需要在最后敲两个以上的空格,然后回车,空格换行这个比较有争议,最完美的方式是在行末放上一个 <br>,不过在 Mart Text 中没有这样的烦恼
  3. 加粗或者斜体都最好用 *,而不是 _, 在字符的前后用三个 * 表示同时使用加粗和斜体
  4. 无序列表最方便的是用 - 。在列表中加入别的元素然后再继续编号这个 Mark Text 已经优化的很好,按回车就可以搞定了,回车还可以跳出列表标号的自动标注,变成普通的一行,多级列表可以通过按 Tab 调整层级
  5. 表示代码的那个反引号,需要在英文输入法下点击 esc 下面那个按键才能按出来
  6. 表示代码块可以直接按四个空格,比 Mark Text 中的快捷键快多了
  7. 水平线用 - 最方便,直接敲三个 - 比快捷键快
  8. 链接网址的括号里在网址的后面空格之后加上引号,引号里写的一段话,这段话会在鼠标放到链接上的时候显示,Mark Text 快捷键 Ctrl+L
  9. 这个 引用链接 很有意思,跟论文一样,不过在 Mart Text 中,第一部分的两个中括号不能分开,否则无法识别
  10. URL 中的空格统一用 %20 表示
  11. 图片的格式和链接很像,区别是图片以 ! 开头,图片的插入 Mark Text 已经优化得非常好了,快捷键 Ctrl+Shift+I
  12. 转义字符 \
  13. MarkDown 中可以直接使用 HTML 标签,这很方便。

高级语法

  1. 原生的表格用 |- 来画表格的写法其实很繁琐,Mark Text 对表格得支持很好,快捷键 Ctrl+Shift+T,官方说想要在表格中画 | 的话可以通过 HTML 符号 &#124;,我用了,没有效果
  2. 围栏代码块(Fenced Code Blocks),和之前的敲四个空格代码块的渲染的是一样的东西(按道理来说应该是不一样的东西,但是 Mart Text 渲染成一样的东西了)。也可以通过敲三个反引号调出。代码块最大的好处就是可以通过输入代码语言来进行语法高亮。
  3. Mark Text 好像不支持 footnote,不过没关系,引用链接 已经够用了
  4. Mark Text 的 heading id 和 MarkDown 的 heading id 功能不一样,具体看 Mark Text 手册,这个功能无法实现在 editor 中的跳转,只能在网页中实现跳转,其实就是个 A 标签。
  5. Mark Text 不支持定义列表(definition list)
  6. Mart Text 对任务列表的支持非常好,快捷键 Ctrl+Alt+X
  7. 表情,先输入两个连续英文冒号,然后在两个冒号中间输入表情短码(只能是英文),输入的过程中 Mark Text 会有表情预览,非常方便

数学公式

参考:Markdown 数学公式语法 - 简书

其他的更复杂的请参考:史上最全 Markdown 公式、符号总结!!!-CSDN 博客

行内与独行

  1. 行内公式:将公式插入到本行内,符号:$公式内容$,如:xyz

  2. 独行公式:将公式插入到新的一行内,并且居中,符号:$$公式内容$$,如:

xyz

上标、下标与组合

  1. 上标符号,符号:^,如:x4,注意,如果指数有多位,则需要用 {} 包起来,例如 x100
  2. 下标符号,符号:_,如:x1
  3. 组合符号,符号:{},如:168O2+2

字体与格式

  1. 字体控制,符号:\displaystyle,如:x+yy+z

  2. 下划线符号,符号:\underline,如:x+y

  3. 标签,符号 \tag{数字},如:

    (1)
  4. 上大括号,符号:\overbrace{算式},如:a+b+c+d2.0

  5. 下大括号,符号:\underbrace{算式},如:a+b+c1.0+d

  6. 上位符号,符号:\stacrel{上位符号}{基位符号},如:x=defx1,,xn

占位符

  1. 两个 quad 空格,符号:\qquad,如:xy
  2. quad 空格,符号:\quad,如:xy
  3. 大空格,符号 \,如:x y
  4. 中空格,符号 \:,如:x:y
  5. 小空格,符号 \,,如:x,y
  6. 没有空格,符号 ``,如:xy
  7. 紧贴,符号 \!,如:x!y

定界符与组合

  1. 括号,符号:()\big(\big) \Big(\Big) \bigg(\bigg) \Bigg(\Bigg),如:()()()()
  2. 中括号,符号:[],如:[x+y]
  3. 大括号,符号:\{ \},如:x+y
  4. 自适应括号,符号:\left \right,如:(x)(xyz)
  5. 组合公式,符号:{上位公式 \choose 下位公式},如:(n+1k)=(nk)+(nk1)
  6. 组合公式,符号:{上位公式 \atop 下位公式},如:k0,k1,>0k0+k1+=nAk0Ak1

四则运算

  1. 加法运算,符号:+,如:x+y=z
  2. 减法运算,符号:-,如:xy=z
  3. 加减运算,符号:\pm,如:x±y=z
  4. 减甲运算,符号:\mp,如:xy=z
  5. 乘法运算,符号:\times,如:x×y=z
  6. 点乘运算,符号:\cdot,如:xy=z
  7. 星乘运算,符号:\ast,如:xy=z
  8. 除法运算,符号:\div,如:x÷y=z
  9. 斜法运算,符号:/,如:x/y=z
  10. 分式表示,符号:\frac{分子}{分母},如:x+yy+z
  11. 分式表示,符号:{分子} \voer {分母},如:x+yy+z
  12. 绝对值表示,符号:||,如:|x+y|

高级运算

  1. 平均数运算,符号:\overline{算式},如:xyz

  2. 开二次方运算,符号:\sqrt,如:x

  3. 开方运算,符号:\sqrt[开方数]{被开方数},如:x+y3

  4. 对数运算,符号:\log,如:log(x)

  5. 极限运算,符号:\lim,如:limy0xxy

  6. 极限运算,符号:\displaystyle \lim,如:limy0xxy

  7. 求和运算,符号:\sum,如:y0xxy

  8. 求和运算,符号:\displaystyle \sum,如:y0xxy

  9. 积分运算,符号:\int,如:0xdx

  10. 积分运算,符号:\displaystyle \int,如:0xdx

  11. 微分运算,符号:\partial,如:xy

  12. 矩阵表示,符号:\begin{matrix} \end{matrix},如:123456789

  13. 矩阵拓展,两侧有竖线的矩阵 \begin{vmatrix} \end{vmatrix},如 |123456789|

矩阵

  1. 两侧有竖线的矩阵 \begin{vmatrix} \end{vmatrix},如 |123456789|

  2. 两侧为双竖线的矩阵 \begin{Vmatrix} \end{Vmatrix},如 123456789

  3. 两侧为中括号的矩阵 \begin{bmatrix} \end{bmatrix},如 [123456789]

  4. 两侧为大括号的矩阵 \begin{Bmatrix} \end{Bmatrix},如 {123456789}

方程组

  1. 方程组左侧有大括号符号,\begin{cases} \end{cases},例如 {5x+6y+3z=50x+9y+3z=62x+0y+6z=10

逻辑运算

  1. 等于运算,符号:=,如:x+y=z
  2. 大于运算,符号:>,如:x+y>z
  3. 小于运算,符号:<,如:x+y<z
  4. 大于等于运算,符号:\geq,如:x+yz
  5. 小于等于运算,符号:\leq,如:x+yz
  6. 不等于运算,符号:\neq,如:x+yz
  7. 不大于等于运算,符号:\ngeq,如:x+yz
  8. 不大于等于运算,符号:\not\geq,如:x+yz
  9. 不小于等于运算,符号:\nleq,如:x+yz
  10. 不小于等于运算,符号:\not\leq,如:x+yz
  11. 约等于运算,符号:\approx,如:x+yz
  12. 恒定等于运算,符号:\equiv,如:x+yz

集合运算

  1. 属于运算,符号:\in,如:xy
  2. 不属于运算,符号:\notin,如:xy
  3. 不属于运算,符号:\not\in,如:xy
  4. 子集运算,符号:\subset,如:xy
  5. 子集运算,符号:\supset,如:xy
  6. 真子集运算,符号:\subseteq,如:xy
  7. 非真子集运算,符号:\subsetneq,如:xy
  8. 真子集运算,符号:\supseteq,如:xy
  9. 非真子集运算,符号:\supsetneq,如:xy
  10. 非子集运算,符号:\not\subset,如:xy
  11. 非子集运算,符号:\not\supset,如:xy
  12. 并集运算,符号:\cup,如:xy
  13. 交集运算,符号:\cap,如:xy
  14. 差集运算,符号:\setminus,如:xy
  15. 同或运算,符号:\bigodot,如:xy
  16. 同与运算,符号:\bigotimes,如:xy
  17. 实数集合,符号:\mathbb{R},如:R
  18. 自然数集合,符号:\mathbb{Z},如:Z
  19. 空集,符号:\emptyset,如:

数学符号

  1. 无穷,符号:\infty,如:
  2. 虚数,符号:\imath,如:ı
  3. 虚数,符号:\jmath,如:ȷ
  4. 数学符号,符号 \hat{a},如:a^
  5. 数学符号,符号 \check{a},如:aˇ
  6. 数学符号,符号 \breve{a},如:a˘
  7. 数学符号,符号 \tilde{a},如:a~
  8. 数学符号,符号 \bar{a},如:a¯
  9. 矢量符号,符号 \vec{a},如:a
  10. 数学符号,符号 \acute{a},如:a´
  11. 数学符号,符号 \grave{a},如:a`
  12. 数学符号,符号 \mathring{a},如:a˚
  13. 一阶导数符号,符号 \dot{a},如:a˙
  14. 二阶导数符号,符号 \ddot{a},如:a¨
  15. 上箭头,符号:\uparrow,如:
  16. 上箭头,符号:\Uparrow,如:
  17. 下箭头,符号:\downarrow,如:
  18. 下箭头,符号:\Downarrow,如:
  19. 左箭头,符号:\leftarrow,如:
  20. 左箭头,符号:\Leftarrow,如:
  21. 右箭头,符号:\rightarrow,如:
  22. 右箭头,符号:\Rightarrow,如:
  23. 底端对齐的省略号,符号:\ldots,如:1,2,,n
  24. 中线对齐的省略号,符号:\cdots,如:x12+x22++xn2
  25. 竖直对齐的省略号,符号:\vdots,如:
  26. 斜对齐的省略号,符号:\ddots,如:

希腊字母

字母 实现 字母 实现
A A α \alhpa
B B β \beta
Γ \Gamma γ \gamma
Δ \Delta δ \delta
E E ϵ \epsilon
Z Z ζ \zeta
H H η \eta
Θ \Theta θ \theta
I I ι \iota
K K κ \kappa
Λ \Lambda λ \lambda
M M μ \mu
N N ν \nu
Ξ \Xi ξ \xi
O O ο \omicron
Π \Pi π \pi
P P ρ \rho
Σ \Sigma σ \sigma
T T τ \tau
Υ \Upsilon υ \upsilon
Φ \Phi ϕ \phi
X X χ \chi
Ψ \Psi ψ \psi
Ω \v ω \omega

视频

Markdown 本身不具有插入视频的功能。但是 Markdown 支持 HTML 的标签,在 HTML 中我们可以用 <video> 标签插入视频

<video width="320" height="240" controls>
    <source src="movie.mp4" type="video/mp4">
</video>

或者

<video src="movie.mp4.mp4" controls="controls" width="500" height="300"></video>

当然,除了 .mp4 它还支持其他的格式,但原生仅支持播放 ogg/mp4/webm 格式。不支持播放 FLV 格式视频。

Type Filename Extension
video/ogg ogg /ogv /ogm
video/webm webm
video/mp4 mp4

然而,浏览器并不是都支持相同的 视频格式,所以你可以在 <source> 元素里提供多个视频源,然后浏览器将会使用它所支持的第一个源。

<video width="320" controls loop>
  <source src="myVideo.mp4" type="video/mp4">
  <source src="myVideo.webm" type="video/webm">
  <source src="myVideo.ogv" type="video/ogg" />
  <p>Your browser doesn't support HTML5 video. Here is
     a <a href="myVideo.mp4">link to the video</a> instead.</p>
</video>

属性:

参阅 HTML5 <video> 元素,和 使用 HTML5 音频和视频

MarkText

MarkText

MarkText 的图表 还挺有意思的,主要来自于 flowchart.js, mermaid and Vega-Lite 的支持,把这几个语言中的画图的脚本复制进来即可,棒!

关注 MarkText 更新,

MarkText 只是个一般的应用,性能比不上 Sublime 或者 VSCode,不管是性能也好,快捷键也好,还是版本管理,要么就是很羸弱,要么直接没有,所以平常心看代 MarkText 就好。

换到 VScode 加插件的模式

有几个插件可选择

在 VSCode 中编写 md 的体验还是太差,还是换回 MarkText,:sob::sob::sob::sob::sob::sob:

其他

Markdown 这个语法,是非常适合文档写作的,因为它有丰富的图形显示,比如列表,表格,图片,关系图甚至是表情。