Skip to content

Markdown插入数学公式 By 夏洛克

小傅哥 edited this page Apr 30, 2020 · 1 revision

使用Google Chart服务器

  • 语法:

<img src="http://chart.googleapis.com/chart?cht=tx&chl= 在此插入Latex公式" style="border:none;">

  • 例子:

<img src="http://chart.googleapis.com/chart?cht=tx&chl=\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" style="border:none;">

结果: $x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$

Google Chart服务器的响应速度可以,但据说可能复杂一些的Latex公式可能无法解析.

##使用MathJax引擎

大家都看过Stackoverflow上的公式吧,漂亮,其生成的不是图片。这就要用到MathJax引擎,在Markdown中添加MathJax引擎也很简单,

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default>\</script>

使用Tex写公式

$$公式$$表示行间公式,本来Tex中使用\(公式\)表示行内公式,但因为Markdown中\是转义字符,所以在Markdown中输入行内公式使用\\(公式\\),如下代码:

$$ + enter x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}

$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$

显示结果: $$ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} $$ $x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$

LaTeX的数学公式有两种:行内公式和块级公式。行内公式放在文中与其它文字混编,块级公式单独成行。都使用美元符号进行标记显示。

##行内公式

  • 标记方法:使用一个美元符号包围起来$数学公式$

行内公式:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

  • 效果:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

##块级公式

  • 标记方法:使用两个美元符号包围起来$$数学公式$$

例子:$$ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} $$

  • 效果: $$ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} $$

##上标和下标

^表示上标,_表示下标。如果上下标的内容多于一个字符,要用{}把这些内容括起来当成一个整体。上下标是可以嵌套的,也可以同时使用。

  • 例子:x^{y^z}=(1+e^x)^{-2xy^w}
  • 效果:$$x^{y^z}=(1+e^x)^{-2xy^w}$$

如果要在左右两边都有上下标,可以用\sideset命令。

  • 例子:\sideset{^1_2}{^3_4}\bigotimes
  • 效果: $$\sideset{^1_2}{^3_4}\bigotimes$$

##分数表示

方法1:\frac{分子}{分母} 方法2:分子 \over 分母

  • 例子: \frac{a+b}{c+d}或1 \over 3
  • 效果: $$\frac{a+b}{c+d}$$ 或 $$1 \over 3$$

注意:对于\frac的方法,如果分子分母都是单个数,那么大括号{}可以省略,如:$\frac12$表示12。

##各种括号

()、[]和|可以直接表示自己,而{}本来用于分组,因此需要用{}来表示自身,也可以使用\lbrace 和\rbrace来表示,其它括号见下面那个表。

  • 例子:{[z-(1+\frac23x)y]\div 4}
  • 效果: $${[z-(1+\frac23x)y]\div 4}$$

注意原始符号并不会随着公式大小缩放。有时候我们想要括号和分隔符显示的大点,比如上面例子中希望括号能把整个分数都包住,那么可以用**\left和\righ**t标记,实现自适应调整。 例子: \left(1+\frac23x\right) 效果: $\left(1+\frac23x\right)$

\left和\right标记能应用的括号很多:

符号名称 LaTex代码 例子 效果
小括号 ( 和 ) \left(\frac12\right) $\left(\frac12\right)$
中括号 [ 和 ] \left[\frac12\right] $\left[\frac12\right]$
大括号 { 和 } \left\lbrace\frac12\right\rbrace $ \left\lbrace\frac12\right\rbrace $
尖括号 $\langle 和 \rangle$ \left\langle\frac12\right\rangle $\left\langle\frac12\right\rangle$
向上取整 $ \lceil 和 \rceil $ \left\lceil\frac12\right\rceil $\left\lceil\frac12\right\rceil$
向下取整 $ \lfloor 和 \rfloor$ \left\lfloor\frac12\right\rfloor $\left\lfloor\frac12\right\rfloor$

(上面例子只需要在首尾加上$就可以显示效果了。)

注意:

\left和\right标记必须是成对出现的,但有时候我们只用到其中一个,比如只用一个|当作分割线,这时候可以通过.来表示空的那一方,即用\left.表达左边空的情况,用\right.表达右边空的情况。

  • 例子:\left. \frac{du}{dx} \right| _{x=0}
  • 效果:

$$ \left. \frac{du}{dx} \right| _{x=0} $$

##根号表示

根号开方使用\sqrt标记,语法格式如下:

\sqrt[开方次数,默认为2]{开方因子}

  • 例子: \sqrt{x^3}$ 和 $\sqrt[3]{\frac xy}
  • 效果: $$\sqrt{x^3}$ 和 $\sqrt[3]{\frac xy}$$

注意:对于非常复杂的表达式,建议使用{...}^{1/n}代替(n是开方次数)。

##省略号

数学公式中常见的省略号有两种,\ldots表示与文本底线对齐的省略号,\cdots表示与文本中线对齐的省略号。

  • 例子:f(x_1,x_2,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2
  • 效果: $$f(x_1,x_2,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2$$

注意:\ldot和\cdot可以表示与文本底线和中线对齐的单个点。

##矢量表示

矢量用\vect标记实现,语法格式如下: \vec{矢量值}

  • 例子:\vec{a} \cdot \vec{b}=0
  • 效果: $\vec{a} \cdot \vec{b}=0$

间隔空间 通常MathJax通过内部策略自己管理公式内部的空间,因此a︹︹b与a︹︹︹︹︹b(︹表示空格)都会显示为ab。可以通过在ab间加入\空格或;增加些许间隙,\quad 与 \qquad 会增加更大的间隙。

例子:a;b或 a\quad b 或 a\qquad b

效果:$a;b$ 或 $a\quad b$$a\qquad b$

##希腊字母

用于查询和对比

序号 大写 LaTex代码 小写 LaTex代码 中文名称
1 A $\Alpha$ α \alpha 阿尔法
2 B \Beta β \beta 贝塔
3 Γ \Gamma γ \gamma 伽马
4 D \Delta δ \delta 德尔塔
5 E \Epsilon ϵ \epsilon 伊普西隆
6 Z \Zeta ζ \zeta 泽塔
7 H \Eta η \eta 伊塔
8 Θ \Theta θ \theta 西塔
9 I \Iota ι \iota 约塔
10 K \Kappa κ \kappa 卡帕
11 Λ \Lambda λ \lambda 兰姆达
12 M \Mu μ \mu
13 N \Nu ν \nu
14 X \Xi ξ \xi 克西
15 O \Omicron ο \omicron 欧米克隆
16 P \Pi π \pi
17 R \Rho ρ \rho
18 Σ \sigma σ \sigma 西格玛
19 T \tau τ \tau
20 Υ \upsilon υ \upsilon 宇普西隆
21 Φ \phi ϕ \phi 弗爱
22 X \chi χ \chi
23 Ψ \psi ψ \psi 普赛
24 Ω \omega ω \omega 欧米伽
异体 E $E$ ε \varepsilon 异体
异体 K $K$ ϰ \varkappa 异体
异体 Θ $\varTheta$ ϑ \vartheta 异体
异体 P $\varPi$ ϖ \varpi 异体
异体 R $R$ ϱ \varrho 异体
异体 Σ $\varSigma$ ς \varsigma 异体
异体 Φ $\varPhi$ φ \varphi 异体

##特殊字符

http://mohu.org/info/symbols/symbols.htm

关系运算符 集合运算符 三角运算符 微积分运算符 箭头符号
±:\pm ∅:\emptyset ⊥:\bot ∵:\because ↑:\uparrow
×:\times ∈:\in ∠:\angle ∴:\therefore ↓:\downarrow
÷:\div ∉:`\notin $30^\circ$30^\circ ∀:\forall ⇑:\Uparrow
∣: \mid ⊂:\subset sin:\sin ∃:\exists ⇓:\Downarrow
∤:\nmid ⊃:\supset cos:\cos ≠:\not= →:\rightarrow
⋅: \cdot ⊆:\subseteq tan:\tan ≯:\not> ←:\leftarrow
∘: \circ ⊇:\supseteq cot:\cot ⊄:\not\subset ⇒:\Rightarrow
∗: \ast ⋂:\bigcap sec:\sec 戴帽符号 ⇐:\Leftarrow
⨀: \bigodot ⋃:\bigcup csc:\csc $\hat{y}:$\hat{y} ⟶:\longrightarrow
⨂: \bigotimes ⋁:\bigvee 微积分运算符 $\check{y}:$\check{y} ⟵:\longleftarrow
⨁: \bigoplus ⋀:\bigwedge $ f(x,y) $ $\breve{y}$:\breve{y} ⟹:\Longrightarrow
≤: \leq ⨄:\biguplus ∫:\int 连线符号 ⟸:\Longleftarrow
≥:\geq ⨆:\bigsqcu ∬:\iint $\overline{a+b}$:\overline{a+b} 空格
≠: \neq ∭:\iiint $\underline{a+b}$:\underline{a+b} 的&\ensp;的:的 的
≈: \approx 对数运算符 ∮:\oint $\overbrace{a+b}^{2.0}$\overbrace{a+b}^{2.0} 的 &\emsp; 的:的   的
≡: \equiv log:$\log $ lim:\lim $\underbrace{b+c}_2$ \underbrace{b+c}_2 的 &\nbsp; 的:的   的
∑: \sum lg:$\lg $ ∞:\infty
∏: \prod ln:$\ln $ ∇:\nabla
∐: \coprod ′:\prime
  • 例子:(使用$$显示公式)

    \sum_{i=0}^n \frac{1}{i^2} \tag{1} \prod_{i=0}^n \frac{1}{i^2} \tag{2} \int_0^1 x^2 {\rm d}x \tag{3} \lim_{n \rightarrow +\infty} \frac{1}{n(n+1)} \tag{4}

    e^{i\theta}=cos\theta+\sin\theta i\tag{5}

    \begin{matrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{matrix} \tag{6}

    \left[ \begin{matrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{matrix} \right]\tag{7}

  • 效果:

$\sum_{i=0}^n \frac{1}{i^2}\tag{1}$

$\prod_{i=0}^n \frac{1}{i^2}\tag{2}$

$$\int_0^1 x^2 {\rm d}x\tag{3}$$

$$\lim_{n \rightarrow +\infty} \frac{1}{n(n+1)}\tag{4}$$

$e^{i\theta}=cos\theta+\sin\theta i\tag{5}$

$ \begin{matrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{matrix} \tag{6} $

$ \left[ \begin{matrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{matrix} \right]\tag{7} $

矩阵

4.1 基本语法

起始标记\begin{matrix},结束标记\end{matrix} 每一行末尾标记\\\,行间元素之间以&分隔 举例:

$$\begin{matrix}
1&0&0\\
0&1&0\\
0&0&1\\
\end{matrix}$$

呈现为: $$ \begin{matrix}1&0&0\0&1&0\\end{matrix} $$

4.2 矩阵边框
  • 在起始、结束标记处用下列词替换 matrix
  • pmatrix :小括号边框
  • bmatrix :中括号边框
  • Bmatrix :大括号边框
  • vmatrix :单竖线边框
  • Vmatrix :双竖线边框
4.3 省略元素
  • 横省略号:\cdots
  • 竖省略号:\vdots
  • 斜省略号:\ddots 举例
$$\begin{bmatrix}
{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{bmatrix}$$

呈现为: $$ $$\begin{bmatrix} {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{bmatrix}$$ $$

4.4 阵列
  • 需要array环境,起始、结束以{array}声明
  • 对齐方式,在{array}后以{}统一声明
    • 左对齐:l ;居中:c ;右对齐:r
    • 竖直线:对齐时插入
  • 插入水平线:\hline

举例

$$\begin{array}{c|lll}
{↓}&{a}&{b}&{c}\\
\hline
{R_1}&{c}&{b}&{a}\\
{R_2}&{b}&{c}&{c}\\
\end{array}$$

呈现为 $$ \begin{array}{c|lll} {↓}&{a}&{b}&{c}\ \hline {R_1}&{c}&{b}&{a}\ {R_2}&{b}&{c}&{c}\ \end{array} $$

4.5 方程组
  • 需要cases环境:起始、结束处以{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}
$$

呈现为 $$ \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} $$

##字体种类

公式里的字符也有字体的选择,若要对公式的某一部分字符进行字体转换,可以用如下语法格式:

{字体标记 需转换的部分字符}

$bmatrix [1324] $

其中“字体标记”可以参照下表选择合适的字体。一般情况下,公式默认为意大利体。

字体标记 字体名词 例子 效果
\rm 罗马体 {\rm ABCDE} $\rm {A,a}$
\bf 粗体 {\bf ABCDE} $\bf {A,a}$
\Bbb 黑板粗体字 {\Bbb ABCDE} $\Bbb {A,a}$
\sl 倾斜体 {\ ABCDE} $\ {A,a}$
\mit 数学斜体 {\mit ABCDE} ${\mit A,a}$
\scr 小体大写字母 {\scr ABCDE} ${\scr A,a}$
\it 意大利体 {\it ABCDE} ${\it A,a}$
\cal 花体 {\scr ABCDE} ${\scr A,a,B}$
\sf 等线体 {\sf ABCDE} ${\sf A,a}$
\tt 打字机字体 {\tt ABCDE} ${\tt A,a}$
\frak Fraktur字母(一种德国字体) {\frak ABCDE} ${\frak A,a}$
\mathtt \mathtt $\mathtt {ABCDE}$
\boldsymbol 黑体 \boldsymbol $\boldsymbol {A,a}$

📝 首页

🌏 知识星球码农会锁

实战项目:「DDD+RPC分布式抽奖系统」、专属小册、问题解答、简历指导、架构图稿、视频课程

🐲 头条

⛳ 目录

  1. 源码 - :octocat: 公众号:bugstack虫洞栈 文章所涉及到的全部开源代码
  2. Java
  3. Spring
  4. 面向对象
  5. 中间件
  6. Netty 4.x
  7. 字节码编程
  8. 💯实战项目
  9. 部署 Dev-Ops
  10. 📚PDF 下载
  11. 关于

💋 精选

🐾 友链

建立本开源项目的初衷是基于个人学习与工作中对 Java 相关技术栈的总结记录,在这里也希望能帮助一些在学习 Java 过程中遇到问题的小伙伴,如果您需要转载本仓库的一些文章到自己的博客,请按照以下格式注明出处,谢谢合作。

作者:小傅哥
链接:https://bugstack.cn
来源:bugstack虫洞栈

2021年10月24日,小傅哥 的文章全部开源到代码库 CodeGuide 中,与同好同行,一起进步,共同维护。

这里我提供 3 种方式:

  1. 提出 Issue :在 Issue 中指出你觉得需要改进/完善的地方(能够独立解决的话,可以在提出 Issue 后再提交 PR )。
  2. 处理 Issue : 帮忙处理一些待处理的 Issue
  3. 提交 PR: 对于错别字/笔误这类问题可以直接提交PR,无需提交Issue 确认。

详细参考:CodeGuide 贡献指南 - 非常感谢你的支持,这里会留下你的足迹

  • 加群交流 本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “小傅哥” 微信(fustack),备注:加群。
微信:fustack

  • 公众号(bugstack虫洞栈) - 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。
公众号:bugstack虫洞栈

感谢以下人员对本仓库做出的贡献或者对小傅哥的赞赏,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与我联系。

Clone this wiki locally