markdown语法入门二:代码,转义,上下标与脚注
编辑器:obsidian
1.代码
代码分为行内代码(单行代码)与代码块,二者在不同编辑器,网站上的显示格式不同,但大同小异。
1.1 行内代码
行类代码并不会自动换行,通常只用于单行代码的展示,或者如之前博客内容里的语法公式一般起转义作用,格式为:`行内代码`
即用单个反引号包裹代码内容,在博客园中,行内代码的显示效果如下图所示:
1.2 代码块
在markdown最常用的代码功能语法,用来显示多行代码,在各网站中一般内置复制按钮。
其格式如下:
```语言
print('第一行')
print('第二行')
```
使用三个反引号包裹代码块,且在开始的三个反引号后可选择添加对应语言名,这里展示obsidian效果:
2.转义
当我们发现需要正常显示的内容被标记为语法的关键字,遍需要转义符来让所需符号正常显示,如代表标题的#,改变字体的*等,转义方法较为简单,但需要单独说明反引号,即代码的转义。
2.1常见字符的转义
格式为:\+关键字
将反斜杠加在关键字前,即可让关键字正常显示。
注意,反斜杠的作用范围仅到紧跟它的后一个字符,如需要多个关键字正常显示,则需要多个反斜杠。简单举例如下:
键入 \*
即可正常显示星号,其后字体不会变为斜体: *我正常显示*
2.2 反引号的转义
如只希望在文本中正常显示反引号,只需要添加反斜杠即可。
但如希望在行内代码中显示反引号,则不能使用,原因是markdown语法会先行解析外层的反引号,使反斜杠无法获取转义字符,且相连的多个反引号也会一同解析,简单举例:
我们键入如下文本:
`大苏打\`大苏打`
此时,我们希望得到的效果为:
大苏打`大苏打
但实际上,这段文本会被解析为:
大苏打\
大苏打`
虽然可能实际用处不大, 但如何才能正确在代码内容显示反引号呢?
解决方法:Markdown允许你用更多数量的反引号包裹代码,以便在代码里包含反引号。
这样方法类似于python中的用双引号包裹单引号,在进行区分的同时让单引号正常显示。
演示如下:
- 在行内代码中显示反引号:使用双反引号作为最外层包裹代码
我们按如下图内容进行键入:
效果如下,发现即可正常显示:
这里放一个反引号:`
- 在代码块里显示代代码块的三个反引号:用四个反引号作为最外层包裹代码
我们再按如下图内容进行键入:
效果如下,发现即可正常显示反引号:
```语言
print('第一行')
print('第二行')
```
3.上下标与脚注
这三类格式更常见于论文写作中,其中上下标的书写也有HTML形式,这里先行介绍纯markdown形式,之后再慢慢引入HTML标题内容。
3.1 上标
把内容以缩小字号放置于前一文字右上角,常用于表示幂等格式,格式为: x^上标内容^
使用脱字符(^),即python中的异或符包围内容即可表示为上标,效果如下:
x2
3.2 下标
和上标相对的,把内容以缩小放置于前一文字右下角,更常见于化学式,格式为: x~下标内容~
使用单波浪号包围内容,即可表示为下标,效果如下:
H2O
3.3 脚注
脚注一般用于插入注解或者引用,Markdown本身并不直接支持脚注,但一些Markdown的扩展支持脚注语法,在各个论坛基本通用,格式为:
需要注解的文字[^脚注]
[^脚注]:脚注的具体内容,一般统一放置,不会紧跟注解文字
如上所示,使用方括号和脱字符的组合来表示脚注,相比上下标略显复杂,用一个实例来进行演示:
我在博客园的id[1] 叫哥布林学者。
点击脚注时,会自动跳转至对应注解,常用于参考文献。
ID 的全称是 Identification,意指 "标识" 或 "身份识别"。通常用来表示一个对象、个人或实体的唯一标识符。 ↩︎