在平时的文字记录时,Office等一些“富文本”文字软件用于学习笔记的记录时,会使很大一部分时间用于排版,并且对于数学公式的支持也不够友好,公式编辑器的操作使得无法让双手沉浸于写作本身。而Mrkdown作为一种“标记语言”,用于写作可以完全让双手脱离鼠标,用于文字的记录。语法相比于html而言,简洁易于学习,记录效率高,能够让你专注于写作本身。
Markdown
We believe that writing is about content, about what you want to say - not about fancy formatting. 我们坚信写作写的是内容,是所思所想,而不是花样的排版格式。 —— Ulysses for Mac
Markdown产生的目的在于让写作者能够专注于写作本身,而非将精力注重于样式排版;其语法简洁、高效,对于代码、数学公式的支持友好。Markdown从写作到完成,导出格式随心所欲,你可以导出HTML格式的文件用来网站发布,也可以十分方便的导出PDF格式。
这个链接,你可以看到官方的Markdown语法规则。 创始人John Gruber的Markdown的语法说明
而在这里除了介绍基本的语法文字的语法外,重点将介绍如何使用Markdown输入数学公式。
文字部分
需要提前说明的是,在Markdown中,文字之间的空格在输出显示时时将被忽略的。如果是要进行分段,则需要“空一行”来完成。
标题
这是一级标题
# 一级标题
这是二级标题
## 二级标题
这是三级标题
### 三级标题
标准的Markdown语法中,要在井号后加一个空格。
加粗
**需要被加粗显示的文字**
这是加粗后的效果:
这是加粗后的效果
字体倾斜
*斜体显示的文字。*
这是效果:
斜体显示的文字。
列表
列表有有序列表和无序列表两种。
无序列表
* 好好学习
* 天天向上
*后要留有空格,在接上文字。
输出显示效果如下:
- 好好学习
- 天天向上
有序列表
1. 第一
1. 第二
1. 第三
效果如下:
- 第一
- 第二
- 第三
注意,有序列表时,与你输入的数字是几是无关的,只要是“数字 + .”就可以。
引用
当你引用一小段别处的句子时,则需要使用引用格式。使用>符号,后加一个空格的形式。
这是引用,blablabla......... 人生苦短,我用Python。 Life is short, you need Python.
表格
表格的输出采用|来完成,注意第二行的----以及:可以用于表格的对齐方式控制。Markdown中表格的输入感觉不是很方便和友好。
| Tables | Are | Cool |
|:-------------:|:------------- | ----: |
| col 3 is | right-aligned | $600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
输出效果如下:
代码框的使用
在Word中,代码的输入是让人十分头疼的,主要是因为字体显示的原因,使得代码在word中的可读性十分差,基本毫无阅读体验;而在Markdown中,对代码的支持十分友好,易于阅读。当需要记录代码时,使用`符号开启code的录入,具体要求如下:
行内代码采用代码前后各一个```。
例如:
采用C输出Hello, World!。printf("Hello, World!n");
。printf函数是打印函数。
当需要进行整段的代码书写时,采用3个`开启代码框,结束时也使用3个`。
代码示例:
// 这是C代码
int main(void)
{
printf("Hell, World!n");
return 0;
}
# 这是Python代码
def test():
print('Hello, World!')
def func():
pass
class testob(object):
def __init__(self,a, b, c):
self.a = a
self.b = b
self.c = c
def method(self):
pass
分割线
采用三个星号即可。***
注意,有的Markdown软件可能不支持。
效果:
数学公式
这里只罗列几个列子,数学公式的输入需要多次的练习。熟能生巧!这里如何激活Markdown中的数学公式输入不是主要内容。重要的是数学运算符号以及变量符号的表示方法。
行内公式:采用$ 公式 $开启输入。 这是行内公式,$y = x ^ {2}$,这是行内公式。
行间公式,采用
$$
equation......
$$
来开启。例如:
$$ y = x ^ {2} $$
LaTeX公式
Markdown对于数学公式的支持是需要前端支持的,大多数都与latex语法相同。由于标准的Markdown的语法并不支持公式的输入,其支持需要借助MathJax来完成渲染。因此,它的学习实际上与LaTeX中的输入并无很大区别。
分数:
frac{}{},第一个花括号为分子,第二个花括号为分母 $frac{1}{2}$的输入为:frac{1}{2}
上、下标
$x_{a + b}$。$x^{a + b}$。
$x_{a + b}$
$x^{a + b}$
注意,上、下表中的元素需要用{}括住,当只有一个元素时,可以省略。这里a+b是3个元素,没有括号时,只有a会被识别。
运算符号 cdot 为点乘符号
times
mathrm{}
一般用于微分符号d,因为d不是一个变量,其次与变量d进行区别。 一重积分
int_{a} ^{b} x ^ {2} + 1 mathrm{d} x
输出显示为
二重积分为iint
求和符号sum
偏导符号partial
无穷大为infty
小空格 4个空格
quad
希腊字符
数学公式中必然会用到希腊字母作为变量。因此常用的希腊字母输入应当熟悉。
公式实列
frac{partial ^ 2 u}{partial x^2} + frac{partial ^2 u}{partial x^2} = 0
nabla^2 x = 0
sum_{i=1} ^ {infty} f(x) sin(frac{n pi}{l} x)
当需要给公式进行编号时,在结尾处使用tag{number}
来完成
矩阵 矩阵的输入,需要使用类似于latex格式的命令
begin{参数}
矩阵元素
begin{参数}
不同的参数会使得矩阵的边框不同
$$
begin{bmatrix}
1 & 2 & 3
2 & 3 & 4
5 & 7 & 0
end{bmatrix}
$$
&符号用于同行内元素的链接,分行需要采用符号。在一些情况下,矩阵的元素过多不可能全部进行输出显示,这时需要用到省略号。
- 横向省略号(3个点)cdots
- 竖向 vdots
- 斜向ddots
$$
begin{vmatrix}
{a_{11}}&{a_{12}}&{cdots}&{a_{1n}}
{a_{21}}&{a_{22}}&{cdots}&{a_{2n}}
{vdots}&{vdots}&{ddots}&{vdots}
{a_{m1}}&{a_{m2}}&{cdots}&{a_{mn}}
end{vmatrix}
$$
方程组 依然采用begin与end结构,{}内以cases进行申明
$$
begin{cases}
a_1x+b_1y+c_1z=d_1
a_2x+b_2y+c_2z=d_2
a_3x+b_3y+c_3z=d_3
end{cases}tag{1}
$$
以上就是常用的markdown基本语法,知乎排版有点不爽,欢迎去我的博客阅读!!!
Tony Yang的小黑屋www.pynumerical.com