Contents
- 前言
- 行文常用语法
- 标题
- 强调
- 列表
- 引用
- 代码
- 分割线
- 其他基本语法
- 表格
- 图像
- 链接
- 公式
- 反斜线
- 脚注
- 结语
Introduction
这次来美国三个多月了,由于研究的需要,一直在用jupyter lab处理实验数据。熟悉jupyter notebook或jupyter lab的朋友可能都知道,在这两个应用里面可以使用Markdown语法对程序进行注释,甚至有些大牛会直接在notebook里面撰写论文,当然这需要安装一些额外的extension,有兴趣的朋友可以到这位Julius Schulz大神的博客学习:MAKING PUBLICATION READY PYTHON NOTEBOOKS。
写这篇文章的主要目的有两个:一是作为自己的学习笔记和总结;二是希望能为感兴趣的朋友提供一个简明的入门教程。因此,本文介绍的都是Markdown最基本的用法,其中内容主要参考了GitHub Guides。此外,还参考了简书上一位作者ZD9503的文章,在此表示感谢。先来一张Von Gogh名画的python版吧(相信了解matplotlib
的朋友应该知道我想表达什么吧?是的,viridis!):
Syntax guide
好了,言归正传,下面简单介绍一下markdown的基本语法。
Headers(标题)
几级标题就用几个"#",最多支持六级标题。
# this is a <h1> tag(一级标题)
## This is an <h2> tag(二级标题)
###### This is an <h6> tag(六级标题)
Emphasis(强调)
强调是通过在文字两侧加入星号(*)、下划线(_)和波浪线(~)等符号实现的,注意符号和需要强调的文字之间没有空格!
*This text will be italic*(包括在两个*之间的文字为斜体,其他类似)
_This will also be italic_(斜体)
**This text will be bold**(黑体)
__This will also be bold__(黑体)
~~This text will be deleted~~(删除线)
_You **can** combine them_(可以多种格式复合使用)
List(列表)
Unordered(无序列表)
无序列表用 - + * 任何一种都可以,注意符号和文字之间有空格!
* Item 1
* Item 2
*Item 2a
*Item 2b
Ordered(顺序列表)
使用数字加点的方式,数字和点之间没有空格,而点和后面的文字之间有空格!无序列表和有序列表都可以进行嵌套。
1. Item 1
1. Item 2
*Item 2a(无序)
*Item 2b(无序)
1. Item 3
1. Item 3a
1. Item 3b
Blockquotes(引用)
引用的内容可以用 >来表示,比如本文中所有对命令的说明都采用了引用的方式。
> We're living the future so
> the present is our past.
Code(代码)
Inline code(行内代码)
代码之间分别用一个反引号(`)包起来。
` print 'Hello world!' `
Code blocks(代码块)
连用三个反引号(```)将代码包起来。
```
def f(x):
return x**2 + 2*x + 1
```
效果如下:
def f(x):
return x**2 + 2*x + 1
Horizontal rules(分割线)
三个或者三个以上的 - 或者 * 都可以。
---
***
效果如下:
Useful syntax(插入对象)
这一部分主要介绍如何插入一些有用的对象,比如表格、图像和公式等,以及其他一些有用的语法。
Tables(表格)
表格的插入非常简单,只需要按照如下语法画出表格形状即可,在编辑代码时不需要考虑对齐(但是为了美观和逻辑的直观,建议代码整齐)。竖线(|)用于分栏,短横线(-)用于分割表头和其余部分,冒号(:)用于标记表格内容的对齐方式(默认为左对齐)。如果嫌麻烦,这里有个神奇的表格生成网站,可以直接生成你所需要的代码,而且不止有Markdown代码,还有Latex和HTML代码!
|表头|表头|表头|
|:-------|:------:|------:|
|内容|内容|内容|
|内容|内容|内容|
|内容|内容|内容|
效果如下:
表头 | 表头 | 表头 |
---|---|---|
内容 | 内容 | 内容 |
内容 | 内容 | 内容 |
内容 | 内容 | 内容 |
Images(图像)
用 ![名称](图片地址 "标题") 可以添加在线图片或本地图片,其中标题为可选项。添加本地图片需要注意,使用jupyter notebook或lab的时候,图片必须放在程序所在文件夹或所在文件夹的子文件夹下!
![Github](url "title")(添加在线图片)
![Github](/images/logo.png "title")(添加本地图片)
Links(链接)
用 [名称](地址 "标题") 可以添加超链接,语法和添加图片类似,只是少了叹号。
[GitHub](http://github.com "title")
Equations(公式)
公式的编辑采用Latex语法,如果读者对Latex语法不熟悉,同样为大家提供一个神奇的网站。
这是行内公式:
$E=mc^2$()
这是公式块:
$$
e^{i\theta} = \cos \theta +i\sin \theta \
e^z = 1 + \frac{z}{1!} + \frac{z^2}{2!} + \frac{z^3}{3!} + \cdots = \sum_{n=0}^{\infty}\frac{z^n}{n!}
$$
效果如下:
Backslash(反斜线)
如果想要插入以上内容中用到的一些符号(字面上,而非功能性应用),比如希望插入星号(*),但不是用这个星号来表示斜体或加粗等,那么可以在符号前面加反斜线(\)以插入这些普通符号。
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
Footnotes(脚注)
脚注可以用于编辑参考文献[1]。
在文中使用[^1]的方式标记脚注,
在文末使用[^1]:加入参考文献,注意要使用英文冒号,后面有无空格均可。
Summary(结语)
Markdown是一种所谓的轻量级标记语言(lightweight markup language),它可以让我们在写文章的时候专注于写作本身,而不用去管排版的问题,这种思想是和大名鼎鼎的Latex一致的。像简书、GitHub和Gitlab等许多网站,都采用Markdown来进行文本编辑。目前有很多流行的Markdown编辑器,笔者自己用的是Typora,这是一款免费软件,功能强大,界面优雅,大家可以试试。本文简要介绍了Markdown最基本的语法和常用功能,希望能对初次接触这一语言的朋友有所帮助。
-
这是一个参考文献。 ↩