Markdown写公式(markdown编写数学公式)
Markdown文档编写技巧整理
Markdown文档编写变得越来越流行,的文章基本上都是通过Markdown来完成的,对于一些经常需要跟数学公式、特殊符号打交道的同学而言,经常会因为需要输出各种特殊符号查找资料而头疼,且每次头疼完过一阵子又要接着头疼,为了避免频繁查阅资料,提高文章输出的效率,在这里将平时工作中用到的各种技巧整理出来以供查阅。
公式都是需要通过用两个或者四个美元符号$(左右各一个或两个)包裹才能生效,两个跟四个的差别在于四个美元符号包括的内容会换行居中。
// a^b,如果下标长度大于1,需要用花括号包裹(下同),如 - a^{great}
// a_b
// \hat{a}
// \tilde{a}
// \dot{a}
// \ddot{a},可通过增加前缀d的数目来增加点数
// \vec a
// \overline{a}
// \overbrace{a}
// \underbrace{a}
// \Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr)
// a \cdot b
// \sqrt{abc}
// \frac{a}{b}
// \int_a^b f(s) ds
, // 双重积分\iint
, // 三重积分\iiint
, // 曲线积分\oint
, // 梯度\nabla
,// 因为 \because
,// 所以 \therefore
,// 对任意 \forall
,// 存在 \exists
,// 非子集 \not\subset
,// 子集 \subset
,// 真子集 \subseteq
,// 空集\emptyset
,// 并集 \bigcup
,// 交集 \bigcap
,// \bigvee
,// \bigwedge
,// 属于 \in
,// 不属于 \notin
// \sum_a^b f(s) ds
// a \in A
, //加减号,\pm
, // \geq
, // \ngeq
, // \leq
, // \nleq
, // \neq
,// 乘号\times
,// 除号 \div
,// \bigotimes
,// \bigoplus
,// \sim
,// \simeq
,// \cong
,// \equiv
,// \prec
,// \lhd
,// \equiv
,// \approx
,// \prod
,// \coprod
,// \mathrm{d}x
,// \text{d}x
,// \partial x
箭头通过前面修改方位来实现不同的方向
// \leftarrow
// \rightarrow
// \uparrow
// \rightarrow
// \Rightarrow
// \Leftarrow
// \mapsto
// \cdots,水平方向的省略号
// \vdots,竖直方向的省略号
// \ddots,斜线方向的省略号
字体更换
// \rm{Test} 罗马体
// \Bbb{Test} 黑板粗体
// \text{Test}
// \bf{tEst} 粗体,起始字母不能大写
// \boldsymbol{Test} 黑体
// \pmb{Test}
// \it{Test} 意大利体
// \mit{Test}数学斜体
// \sf{Test} 等线体
// \tt{Test} 打字机体
// \frak{Test} 旧德式字体
// \mathcal {Test} calligraphic letters,不稳定
// \mathscr{Test} 花体,只对大写字母有效,且开头跟结尾都要是大写
字体大小
// \tiny ABCabc
// \small ABCabc
// \normalsize ABCabc
// ABCabc
// \large ABCabc
// \Large ABCabc
// \huge ABCabc
// \Huge ABCabc
表格功能不需要前后添加美元符号:
\ \infty,无穷
\ 圆圈\circ
\ 实心圆\bullet
\ 星号\ast
\ 星号\star
[1]. 整理Markdown 公式编辑常用数学符号
快速输入有道云笔记markdown公式符号
使用软件:有道云笔记,karabiner-elements,文本编辑器atom
系统:mac
由于平时喜欢用有道云笔记做笔记,经常需要在markdown下输入公式,但是有道云笔记的markdown功能中嵌入式的公式输入起始符号太反人类了。居然是`$$` ,键位设置太难受。因此想利用mac下经常使用的karabiner来改一下快捷键。
Karabiner的默认键位文档在 ~/.config/karabiner/karabiner.json 中,因此直接编辑此文档中。
由于是json文件,打开之后看到结构如下
注意看name那一项,因为我之前新建过一个Math Profile,所以有两个,如果是系统默认的就只有Default profile一项。详细的规则在
complex_modifications中。
在rules下可以添加想要快捷键。
description显示在你的karabiner软件中。
manipulators中就是具体的规则了
解释一下,from就是你希望修改的键,to就是希望修改成什么样的键
from中keycode为4,然后接上修饰子mandatory: "right_gui"合起来就是组合按键 right command键加上数字4
to中代表了你希望修改成的按键,
我设置了一组按键,首先是输入grave_accent_and_tilde也就是 `按键,数字1左边的那个键。
之后输入了两次 shift+4 也就是 $这个字符。
然又接上了一次grave_accent_and_tilde。
最后按下两次向左按钮,因此就可以直接输入公式了。
markdown中怎么在文字中插入公式
分为行间公式和行内公式,行间公式使用“**”包裹,记得两边都要有“**”,行内公式使用一个“*”包裹,一般markdown的数学都是使用latex语法。参考自Markdown排版语法,编辑器的选择,快速上手教程
如何使用Markdown编写包含斜体加粗字母的Latex公式
用过Markdown的各位一定已经知道,在支持 MathJax 的编辑器中想要输入 Latex 的公式只需要输入 $...$ 或者 $$...$$ 即可。
可是, MathJax 的功能并不完善而且有些编辑器并不支持 MathJax ,所以我又在网上找到了通过 在线Latex公式编辑器 编译并且引用到文章中的方法(详见 markdown学习笔记 )。
但是作为一个苦逼的电磁场专业研究生,我发现这种方法没办法在公式中输入加粗的字符!(在印刷物上用粗体来表示矢量)因为本来用 Latex 编写文章的时候是通过调用宏包bm实现的,可是上面 文章 中的 在线Latex公式编辑器 不支持 \usepackage 。
于是,为了体验使用 Markdown 编写文章的乐趣,我费尽了千辛万苦,终于找到了一个强大的、支持 \usepackage 的 在线Latex公式编辑器 forkosh 。
具体使用方法:
其中,和原文章一样,向 ... 中输入 Latex 时的内容就可以实现复杂公式的引用。
比如,
就可以得到下面的公式
但是,这种方法还有很大的问题:如果在写 Latex 的语句时,句中包含多行信息,比如写一个矩阵,而且forkosh的连接不是很好。所以 MathJax 和图片插入两种方法结合才是最好的解决之道。
Markdown数学公式语法
将公式插入到本行内,符号: $公式内容$ ,如: $xyz$
将公式插入到新的一行内,并且居中,符号: $公式内容$ ,如: $$xyz$$
默认情况下,上、下标符号仅仅对下一个组起作用。一个组即单个字符或者使用{}(大括号) 包裹起来的内容。如果使用 $10^10$ 表示的是 ,而 $10^{10}$ 才可以表示为 。同时,大括号还能消除二义性,如: $x^5^6$ 将得到一个错误,必须使用大括号来界定^的结合性,如: ${x^5}^6$ 表示的 :或者用 $x^{5^6}$ 表示的 。
用原始的( ) ,[ ] 即可,如 (2+3)[4+4] 可表示: 。
使用\left(或\right)使符号大小与邻近的公式相适应(该语句适用于所有括号类型),如\left(\frac{x}{y}\right)可表示
由于大括号{} 被用于分组,因此需要使用{和}表示大括号,也可以使用\lbrace 和\rbrace来表示。如{ab}或\lbrace ab\rbrace表示:
区分于小于号和大于号,使用\langle 和\rangle 表示左尖括号和右尖括号。如\langle x \rangle表示:
使用\lceil 和 \rceil 表示。 如,\lceil x \rceil表示为:
使用\lfloor 和 \rfloor 表示。如,\lfloor x \rfloor表示为:
\sum 用来表示求和符号,其下标表示求和下限,上标表示上限。如:
$\sum_{r=1}^n$ 表示:
\int 用来表示积分符号,同样地,其上下标表示积分的上下限。如, $\int_{r=1}^\infty$ 表示:
多重积分同样使用 \int ,通过 i 的数量表示积分导数:
如:
$\iint$ 表示为:
$\iiint$ 表示为:
$\prod {a+b}$ 表示:
$\prod_{i=1}^{K}$ 表示:
$$\prod_{i=1}^{K}$$ 表示(注意是行间公式):
与此类似的符号还有,
$\prod$ :
$\bigcup$ :
$\bigcap$ :
$arg\,\max_{c_k}$ :
$arg\,\min_{c_k}$ :
$\mathop {argmin}_{c_k}$ :
$\mathop {argmax}_{c_k}$ :
$\max_{c_k}$ :
$\min_{c_k}$ :
第一种,使用 \frac ab ,表示为: , \frac 作用于其后的两个组a ,b ,结果为。如果你的分子或分母不是单个字符,请使用{…}来分组,比如 $\frac {a+c+1}{b+c+2}$ 表示:
第二种,使用\over来分隔一个组的前后两部分,如 ${a+1\over b+1}$ :
书写连分数表达式时,请使用 \cfrac 代替 \frac 或者 \over 两者效果对比如下:
\frac 表示如下:
显示如下:
\cfrac 表示如下:
显示如下:
根式使用 \sqrt 来表示。
如开4次方: $\sqrt[4]{\frac xy}$ 可表示:
开平方: $\sqrt {a+b}$ 可表示:
定义函数的时候经常需要分情况给出表达式,使用\begin{cases}…\end{cases} 。其中:
使用 \\ 来分类,
使用 指示需要对齐的位置,
使用 \ +space 表示空格。
如:
表示:
以及:
表示:
如果想分类之间的垂直间隔变大,可以使用 \\[2ex] 代替 \\ 来分隔不同的情况。 (3ex,4ex 也可以用, 1ex 相当于原始距离)。如下所示:
表示:
有时候需要将一行公式分多行进行显示。
表示:
表示:
其中 begin{equation} 表示开始方程, end{equation} 表示方程结束; begin{split} 表示开始多行公式, end{split} 表示结束;公式中用 \\ 表示回车到下一行, 表示对齐的位置。
使用\begin{array}...\end{array} 与\left \与\right 配合表示方程组,如:
表示:
注意:通常MathJax通过内部策略自己管理公式内部的空间,因此 a…b 与 a…….b (.表示空格)都会显示为 ab 。可以通过在 ab 间加入 \ ,增加些许间隙, \; 增加较宽的间隙, \quad 与 \qquad 会增加更大的间隙。
$\sin x$ :
$\arctan x$ :
小于 (\lt ) :
大于 (\gt ) :
小于等于 (\le ) :
大于等于 (\ge ) :
不等于 (\ne ) :
可以在这些运算符前面加上 \not ,如 \not\lt :
并集 (\cup) :
交集 (\cap) :
差集 (\setminus) :
子集 (\subset) :
子集 (\subseteq) :
非子集 (\subsetneq) :
父集 (\supset) :
属于 (\in) :
不属于 (\notin) :
空集 (\emptyset) :
空 (\varnothing) :
\binom{n+1}{2k} :
{n+1 \choose 2k} :
(\to) :
(\rightarrow) :
(\leftarrow) :
(\Rightarrow) :
(\Leftarrow) :
(\mapsto) :
(\land) :
(\lor) :
(\lnot) :
(\forall) :
(\exists) :
(\top) :
(\bot) :
(\vdash) :
(\vDash) :
(\star) :
(\ast) :
(\oplus) :
(\circ) :
(\bullet) :
(\approx) :
(\sim) :
(\equiv) :
(\prec) :
(\infty) :
(\aleph_o) :
(\nabla) :
(\Im) :
(\Re) :
(\pmod) :
如a \equiv b \pmod n 表示为:
(\ldots) :
(\cdots) :
(\cdot) :
其区别是点的位置不同, \ldots 位置稍低, \cdots 位置居中。
表示(注意两部分点的位置):
对于单字符, \hat x :
多字符可以使用 \widehat {xy} :
类似的还有 \overline x :
矢量 \vec x :
向量 \overrightarrow {xy} :
\dot x :
\ddot x :
\dot {\dot x} :
使用 \begin{array}{列样式}…\end{array} 这样的形式来创建表格,列样式可以是 clr 表示居中,左,右对齐,还可以使用 | 表示一条竖线。表格中各行使用\ 分隔,各列使用 分隔。使用 \hline 在本行前加入一条直线。 例如:
得到:
使用 \begin{matrix}…\end{matrix} 这样的形式来表示矩阵,在 \begin 与 \end 之间加入矩阵中的元素即可。矩阵的行之间使用 \\ 分隔,列之间使用 分隔,例如:
得到:
如果要对矩阵加括号,可以像上文中提到的一样,使用 \left 与 \right 配合表示括号符号。也可以使用特殊的matrix 。即替换 \begin{matrix}…\end{matrix} 中matrix 为pmatrix ,bmatrix ,Bmatrix ,vmatrix , Vmatrix 。
pmatrix$\begin{pmatrix}1 2 \\ 3 4\\ \end{pmatrix}$ :pmatrix
bmatrix$\begin{bmatrix}1 2 \\ 3 4\\ \end{bmatrix}$ :bmatrix
Bmatrix$\begin{Bmatrix}1 2 \\ 3 4\\ \end{Bmatrix}$ :Bmatrix
vmatrix$\begin{vmatrix}1 2 \\ 3 4\\ \end{vmatrix}$ :vmatrix
Vmatrix$\begin{Vmatrix}1 2 \\ 3 4\\ \end{Vmatrix}$ :Vmatrix
元素省略:
可以使用\cdots :?,\ddots:? ,\vdots:? 来省略矩阵中的元素,如:
表示:
增广矩阵需要使用前面的表格中使用到的 \begin{array} ... \end{array} 来实现。
显示为:
使用 \tag{yourtag} 来标记公式,如 $$a=x^2-y^3\tag{1}$$ 显示为:
此字体经常用来表示代表实数、整数、有理数、复数的大写字母。
$\mathbb ABCDEF$
如何在简书Markdown中输入数学公式
本文记录了在Markdown中输入数学公式的方法,由于文章较长,请使用浏览器的 搜索 功能自行搜索( Ctrl+F )目录中的小标题.由于Markdown不支持 HTML 标签所以无法实现页面内跳转,文中使用类似 tag_abc 的文字加上浏览器的搜索功能实现页面内跳转,请各位读者手动操作.
另外,本文只是对常用的公式功能做简要的介绍,并非 数学公式输入百科,没有提到的部分请查看文末的 参考资料 .
这是一个行内公式:
这是一个单行公式:
* (表格中的 | 需要使用 \ 进行转义)
方程组对齐: 以 为标准线
使用 特殊字体 实现数集
更多详细用法见: 参考资料2-Formatting mathematics symbols
加粗还可以使用 \boldsymbol{...}
\substack{...} 中可以利用 \\ 来实现二元极限: 二元极限例子( tag_substack )
* 的公式默认使用 \displaystyle 也就是 、 位于求和号上下, \textstyle 的例子见 tag_textstyle
二项式(Binomials)用法见: 参考资料1-Fractions and Binomials
\dfrac 比 \cfrac 稍微小一点
tag_substack
\sqrt{x}
\sqrt[3]{ax+b}
颜色
\color{blue}{F=m}a
字号
样式
tag_textstyle