This theme is built with |

如何优雅地在Markdown中输入数学公式

对于一些理科生来说,在学习数学知识的时候,在计算机上写公式是比较头疼的事情。好在Markdown支持LATEX公式输入,在一定程度上缓解了输入的麻烦。今天,我们就来介绍一下,如何在Markdown中编写公式。

一、基础部分

1. 公式标记

在Markdown中,有两种输入公式的方法:一是行内公式(inline),用一对美元符号$包裹。二是整行公式(displayed),用一对紧挨的两个美元符号$$包裹。

这是一个行内公式E=mc2,写法是:$E=mc^2$

这是一个整行公式:

i=0ni2=(n2+n)(2n+1)6

写法是:

$$
\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}
$$

2. 希腊字母

名称 大写 Tex 小写 Tex
alpha A A α \alpha
beta B B β \beta
gamma Γ \Gamma γ \gamma
delta Δ \Delta δ \delta
epsilon E E ϵ \epsilon
zeta Z Z ζ \zeta
eta H H η \eta
theta Θ \Theta θ \theta
iota I I ι \iota
kappa K K κ \kappa
lambda Λ \Lambda λ \lambda
mu M M μ \mu
nu N N ν \nu
xi Ξ \Xi ξ \xi
omicron O O ο \omicron
pi Π \Pi π \pi
rho P P ρ \rho
sigma Σ \Sigma σ \sigma
tau T T τ \tau
upsilon Υ \Upsilon υ \upsilon
phi Φ \Phi ϕ \phi
chi X X χ \chi
psi Ψ \Psi ψ \psi
omega Ω \Omega ω \omega

3. 上标与下标

上标和下标分别使用^_来表示。例如x_i^2xi2\log_2 xlog2x

默认情况下,上下标符号仅仅对下一个组起作用。一个组即单个字符或者使用{}包裹起来的内容。也就是说,如果使用10^10会得到1010,而10^{10}才是1010。同时,大括号还能消除二义性,如x^5^6会显示错误,必须使用大括号来界定^的结合性,如{x^5}^6x56或者x^{5^6}x56。注意区分x_i^2xi2x_{i_2}xi2

另外,如果要在左右两边都有上下标,可以用\sideset来表示,如\sideset{^1_2}{^3_4}\bigotimes4321

4. 括号

  • 小括号与方括号:使用原始的()[]即可。如(2+3)[4+4](2+3)[4+4]
  • 大括号:由于大括号{}被用来分组,因此需要使用\{\}表示大括号,也可以使用\lbrace\rbrace来表示。如\{a*b\}或者\lbrace a*b \rbrace,都会显示为{ab}
  • 尖括号:使用\langle\rangle分别表示左尖括号和右尖括号。如\langle x \ranglex
  • 上取整:使用\lceil\rceil表示。如\lceil x \rceilx
  • 下取整:使用\lfloor\rfloor表示。如\lfloor x \rfloorx

需要注意的是,原始括号并不会随着公式大小缩放。如(\frac12)(12)。可以使用\left( ...\right)来自适应的调整括号。如\left( \frac12 \right)(12)。可以明显看出,后一组公式中的括号是经过缩放的。

5. 求和与积分

\sum用来表示求和符号,其下标表示求和下限,上标表示上线。如\sum_1^n1n

\int用来表示积分符号,同样地,其上下标表示积分的上下限。如\int_1^\infty1

与此类似的符号还有,\prod\bigcup\bigcap\iint

6. 分式与根式

分式有两种表示方法。第一种,使用\frac ab,其中\frac作用于气候的两个组a和b,结果为ab。如果分子或分母不是单个字符,需要使用{}来分组。第二种,使用\over来分隔一个组的前后两部分,如{a+1\over b+1}a+1b+1

根式使用\sqrt[a]b来表示。其中,方括号内的值用来表示开几次方,省略方括号则表示开方,如\sqrt[4]{\frac xy}xy4\sqrt{x^3}x3

7. 字体

  • 使用\it显示意大利体(公式默认字体):ACDEFGHIJKLMnopqrstuvwxyz
  • 使用\mathbb\Bbb显示黑板粗体(黑板黑体),如\mathbb{CHNQRZ}CHNQRZ
  • 使用\mathbf\bf示黑体:ABCDEFGHIJKLMnopqrstuvwxyz
  • 使用\mathtt\tt显示打印机字体:ABCDEFGHIJKLMnopqrstuvwxyz
  • 使用\mathrm\rm显示罗马体:ABCDEFGHIJKLMnopqrstuvwxyz
  • 使用\mathsf\sf显示等线体(sans-serif体):ABCDEFGHIJKLMnopqrstuvwxyz
  • 使用\mathcal显示艺术字体:ABCDEFGHIJKLMnopqrstuvwxyz
  • 使用\mathscr\cal显示手写字体(花体):ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • 使用\mathfrak显示Fraktur字体(老式德国字体):ABCDEFGHIJKLMnopqrstuvwxyz
  • 使用\mit显示数学斜体:1234567890

8. 特殊函数与符号

  • 关系运算符:

    输入 显示 输入 显示 输入 显示 输入 显示
    \pm ± \mp \times × \div ÷
    \mid \nmid \circ \bullet
    \cdot \ast \odot \bigodot
    \otimes \bigotimes \oplus \bigoplus
    \lt < \gt > \leq \geq
    \neq \approx \equiv \sim
    \simeq \cong \prec \lhd
    \sum \prod \coprod
  • 集合运算符:

    输入 显示 输入 显示 输入 显示 输入 显示
    \emptyset \varnothing \in \notin
    \subset \supset \cup \cap
    \subseteq \supseteq \subsetneq \supsetneq
    \bigcup \bigcap \bigvee \bigwedge
    \uplus \biguplus \sqcup \bigsqcup
  • 对数运算符

    输入 显示 输入 显示 输入 显示
    \log log \lg lg \ln ln
  • 三角运算符

    输入 显示 输入 显示 输入 显示
    \bog \angle 30^\circ 30
    \sin sin \cos cos \tan tan
    \cot cot \sec sec \csc csc
  • 微积分运算符

    输入 显示 输入 显示 输入 显示
    \prime \int \iint
    \iiint \iiiint \oint
    \lim lim \infty \nabla
  • 逻辑运算符

    输入 显示 输入 显示 输入 显示 输入 显示
    \because \therefore \forall \exists
    \not= \lnot ¬ \vdash \vDash
    \land \lor \top \bot
  • 箭头符号

    输入 显示 输入 显示 输入 显示 输入 显示
    \uparrow \downarrow \rightarrow(\to) \leftarrow
    \Uparrow \Downarrow \Rightarrow \Leftarrow
    \longrightarrow \longleftarrow \Longrightarrow \mapsto
  • 表示排列使用{n+1 \choose 2k}\binom{n+1}{2k}(n+12k)

  • 使用\pmod表示模运算,如a\equiv b\pmod nab(modn)

  • 使用\ldots\cdots表示省略号,二者的区别是dots的位置不同,ldots位置稍低a1,a2,,an,cdots位置居中a1+a2++an

  • 使用\overline\underline表示连线符号,如\overline{a+b+c+d}a+b+c+d\underline{x+y+z}x+y+z

  • 其他特殊字符:\star\aleph_00\partial\Im\Re

  • 一些希腊字母具有变体形式,如\epsilon \varepsilonϵε\phi \varphiϕφ

  • 需要注意的是,一些特殊字符可以使用\转义为原来的含义,如\$表示$、\_表示下划线。

9. 空间

在书写公式的时候,a和b之间无论输入多少空格,最后都会显示为ab。可以通过在ab间加入\,增加些许间隙,如a\,bab\;增加较宽的间隙,如a\;bab\quad\qquad会增加更大的间隙,如a\quad baba\qquad bab

10. 顶部符号

对于单字符,可以使用\hat xx^。多字符可以使用\widehat {xy}xy^

类似的还有,\check xxˇ\breve xx˘\bar xx¯\overline {xyz}xyz\vec xx\overrightarrow xxyz\overleftrightarrow {xyz}xyz\dot xx˙\ddot xx¨


二、高级部分

1. 表格

使用$$\begin{array}{列样式}...\end{array}$$这样的形式来创建表格。

其中,列样式可以使用c、l、r分别表示居中、左、右对齐,还可以使用|表示一条竖线。

表格中各行使用\\分隔,各列使用&分隔。

使用\hline可以在本行前加入一条直线。例如,

$$
\begin{array}{c|lcr}
n & \text{Left} & \text{Center} &\text{Right} \\
\hline
1 & 0.24 & 1 & 125 \\
2 & -1 & 189 & -8 \\
3 & -20 & 2000 & 1+10i \\
\end{array}
$$

结果:

nLeftCenterRight10.24112521189832020001+10i

2. 矩阵

  • 基本用法

    使用$$\begin{matrix}...\end{matrix}$$这样的形式来表示矩阵,在\begin\end之间加入矩阵中的元素即可。

    矩阵的行之间使用\\分隔,列之间使用&分隔。例如,

    $$
    \begin{matrix}
    1 & x & x^2 \\
    1 & y & y^2 \\
    1 & z & z^2 \\
    \end{matrix}
    $$
    

    结果:

    1xx21yy21zz2

  • 加括号:

    如果要对矩阵加括号,可以像上文中提到的,使用\left\right配合表示括号符号。

    也可以使用特殊的matrix,即替换\begin{matrix}...\end{matrix}中的matrix为pmatrixbmatrixBmatrixvmatrixVmatrix。例如,

    $$
    \begin{pmatrix}
    1 & 2 \\
    3 & 4 \\
    \end{pmatrix}
    $$
    

    结果:

    (1234)

    或者,

    bmatrix:\begin{bmatrix}1 & 2 \3 & 4 \\end{bmatrix}

    Bmatrix:\begin{Bmatrix}1 & 2 \3 & 4 \\end{Bmatrix}

    vmatrix:\begin{vmatrix}1 & 2 \3 & 4 \\end{vmatrix}

    Vmatrix:\begin{Vmatrix}1 & 2 \3 & 4 \\end{Vmatrix}

  • 省略元素:

    可以使用\cdots\ddots\vdots来省略矩阵中的元素。例如,

    $$
    \begin{pmatrix}
    1 & a_1 & a_1^2 & \cdots & a_1^n \\
    1 & a_2 & a_2^2 & \cdots & a_2^n \\
    \vdots & \vdots & \vdots & \ddots & \vdots \\
    1 & a_m & a_m^2 & \cdots & a_m^n \\
    \end{pmatrix}
    $$
    

    结果:

    (1a1a12a1n1a2a22a2n1amam2amn)

  • 增广矩阵

    增广矩阵需要使用前面的array来实现。例如,

    $$
    \left[
    	\begin{array}{cc|c}
    	1 & 2 & 3 \\
    	4 & 5 & 6 \\
    	\end{array}
    \right]
    $$
    

    结果:

    [123456]

3. 对齐的公式

有时候可能需要一系列的公式中等号对齐,这需要使用形如\begin{align}...\end{align}的格式,其中使用&来指示需要对齐的位置。例如,

$$
\begin{align}
\sqrt{37}&=\sqrt{\frac{73^2-1}{12^2}}\\
&=\sqrt{\frac{73^2}{12^2}\cdot\frac{73^2-1}{73^2}}\\
&=\sqrt{\frac{73^2}{12^2}}\sqrt{\frac{73^2-1}{73^2}}\\
&=\frac{73}{12}\sqrt{1-\frac{1}{73^2}}\\
&\approx\frac{73}{12}\left(1-\frac{1}{2\cdot73^2}\right)
\end{align}
$$

结果:

(1)37=7321122(2)=7321227321732(3)=7321227321732(4)=731211732(5)7312(112732)

4. 分类表达式

定义函数的时候经常需要分情况给出表达式,可使用\begin{cases}...\end{cases}。其中,使用\来分类,使用&指示需要对齐的位置。例如,

$$
f(n)=
\begin{cases}
n/2,&\text{if $n$ is even}\\
3n+1,&\text{if $n$ is odd}
\end{cases}
$$

结果:

f(n)={n/2,if n is even3n+1,if n is odd

上述公式的括号也可以移动到右侧,不过需要使用array来实现。如下,

$$
\left.
\begin{array}{1}
\text{if $n$ is even:}&n/2\\
\text{if $n$ is odd:}&3n+1
\end{array}
\right\}
=f(n)
$$

结果:

if n is even:n/2if n is odd:3n+1}=f(n)

如果想分类之间的垂直间隔变大,可以在行末使用\\[2ex]代替\\来分隔不同的情况(3ex,4ex也可以用,1ex相当于原始距离)。例如,

$$
f(n)=
\begin{cases}
\frac{n}{2},&\text{if $n$ is even}\\[2ex]
3n+1,&\text{if $n$ is odd}
\end{cases}
$$

结果:

f(n)={n2,if n is even3n+1,if n is odd

5. 空间问题

在使用LATEX公式时,有一些不会影响公式正确性,但却会使其看上去很糟糕的问题。

  • 不要在指数或者积分中使用\frac

    在指数或者积分表达式中使用\frac会使表达式看起来不清晰,因此在专业的数学排版中很少被使用。应该使用一个水平的/来代替,效果如下:

    BadBettereiπ2eiπ2eiπ/2π2π2sinxdxπ/2π/2sinxdx

  • 使用\mid代替|作为分隔符

    符号|作为分隔符时,有排版空间大小的问题,应该使用\mid代替,效果如下:

    BadBetter{x|x2Z}{xx2Z}

  • 多重积分

    对于多重积分,不要使用\int\int此类表达,应该使用\iint\iiint等特殊形式,效果如下:

    BadBetterSf(x)dydxSf(x)dydxVf(x)dzdydxVf(x)dzdydx

    此外,在微分前应该使用\,来增加些许空间,否则TEX会将微分紧凑地排列在一起,如下:

    BadBetterVf(x)dzdydxVf(x)dzdydz

6. 连分数

书写连分数表达式时,请使用\cfrac代替\frac或者\over,两者效果对比如下:

(\cfrac)x=a0+12a1+22a2+32a3+42a4+

(\frac)x=a0+12a1+22a2+32a3+42a4+

7. 方程组

使用\begin{array}...\end{array}\left\{...\right.配合,表示方程组,如:

$$
\left\{
\begin{array}{c}
a_1x+b_1y+c_1z=d_1\\
a_2x+b_2y+c_2z=d_3\\
a_ex+b_3y+c_3z=d_3
\end{array}
\right.
$$

显示:

{a1x+b1y+c1z=d1a2x+b2y+c2z=d3aex+b3y+c3z=d3

还可以使用\begin{cases}...\end{cases}表达上面同样的方程组,如:

$$
\begin{cases}
a_1x+b_1y+c_1z=d_1\\
a_2x+b_2y+c_2z=d_3\\
a_ex+b_3y+c_3z=d_3
\end{cases}
$$

对齐方程组中的=号,可以使用\begin{aligned}...\end{aligned},如:

$$
\left\{
\begin{aligned}
a_1x+b_1y+c_1z&=d_1\\
a_2x+b_2y&=d_2\\
a_3x+b_3y+c_3z&=d_3
\end{aligned}
\right.
$$

显示:

{a1x+b1y+c1z=d1a2x+b2y=d2a3x+b3y+c3z=d3

如果要对齐=号和项,可以使用\begin{array}{列样式}...\end{array},如:

$$
\left\{
\begin{array}{ll}
a_1x+b_1y+c_1z&=d_1\\
a_2x+b_2y&=d_2\\
a_3x+b_3y+c_3z&=d_3
\end{array}
\right.
$$

{a1x+b1y+c1z=d1a2x+b2y=d2a3x+b3y+c3z=d3

8. 附加装饰

\overlineAAAAAA

\underlineBBBBBB

\widetildeC~CC~CCC~

\widehatD^DD^DDD^

\fboxEEEEEE

\underleftarrowFFFFFF

\underrightarrowGGGGGG

\underleftrightarrowHHHHHH

\overbrace(n2)+(n1)+n+(n+1)+(n+2)

\underbrace(n2)+(n1)+n+(n+1)+(n+2)

\overbrace\underbrace可以使用上下标进行注释,如:\underbrace{a\cdot a\cdots a}_{b_\text{ times}}显示为aaab times

注释音标:\checkIˇ\acuteJ´\graveK`

9. 交换图表

使用\begin{CD}...\end{CD}表示交换图表,如下:

$$
\begin{CD}
A@>a>>B\\
@VbVV=@VVcV\\
C@>>d>D
\end{CD}
$$

显示:

AaBb=cCdD

\@>>>表示箭头向右。

\@<<<表示箭头向左。

\@AAA表示箭头向上。

\@VVV表示箭头向下。

\@=表示水平双线。

\@|表示垂直双线。

\@.表示没有箭头。

例如:

\begin{CD}
A@>>>B@>{\text{very long label}}>>C\\
@.@AAA@|\\
D@=E@<<<F
\end{CD}

显示:

ABvery long labelCD=EF

也可以用此方法编写一个化学方程式,例如:

$$
\begin{CD}
RCOHR'SO_3Na@>{\text{Hydrolysis,$\Delta, Dil.HCl$}}>>(RCOR')+NaCl+SO_2+H_2O
\end{CD}
$$

显示:

RCOHRSO3NaHydrolysis,Δ,Dil.HCl(RCOR)+NaCl+SO2+H2O

10. 颜色

颜色的命名是和浏览器相关的,如果浏览器没有定义相关的颜色名称,则相关文本将被渲染为黑色。以下颜色是HTML4与CSS2标准中定义的一些颜色,其应该被大多数浏览器定义了。

\color{black}{text}text\color{gray}{text}text\color{silver}{text}text\color{white}{text}text\color{maroon}{text}text\color{red}{text}text\color{yellow}{text}text\color{lime}{text}text\color{olive}{text}text\color{green}{text}text\color{teal}{text}text\color{aqua}{text}text\color{blue}{text}text\color{navy}{text}text\color{purple}{text}text\color{fuchsia}{text}text

HTML5与CSS3定义了更多的颜色名称。

此外,颜色也可以使用#rgb的形式来表示,r、g、b分别表示代表颜色值的16进制数,如:

#000text#005text#00Atext#00Ftext#500text#505text#50Atext#50Ftext#A00text#A05text#A0Atext#A0Ftext#F00text#F05text#F0Atext#F0Ftext#080text#085text#08Atext#08Ftext#580text#585text#58Atext#58Ftext#A80text#A85text#A8Atext#A8Ftext#F80text#F85text#F8Atext#F8Ftext#0F0text#0F5text#0FAtext#0FFtext#5F0text#5F5text#5FAtext#5FFtext#AF0text#AF5text#AFAtext#AFFtext#FF0text#FF5text#FFAtext#FFFtext

11. 等式高亮

使用\bbox可以高亮一个等式,例如:

$$
\bbox[yellow]{e^x=\lim_{n\to\infty}\left(1+\frac{x}{n}\right)^n\qquad(1)}
$$

显示:

ex=limn(1+xn)n(1)

可以在背景色后面加上数值,以增加公式与背景色四周的间距,例如:

\bbox[yellow,10px]{e^x=\lim_{n\to\infty}\left(1+\frac{x}{n}\right)^n\qquad(1)}

显示:

ex=limn(1+xn)n(1)

也可以设置边框,例如:

$$
\bbox[5px,border:2px solid red]{e^x=\lim_{n\to\infty}\left(1+\frac{x}{n}\right)^n\qquad(1)}
$$

显示:

ex=limn(1+xn)n(1)

当然,你还可以同时设置背景色和边框,例如:

$$
\bbox[10px,yellow,border:2px dashed red]{e^x=\lim_{n\to\infty}\left(1+\frac{x}{n}\right)^n\qquad(1)}
$$

显示:

ex=limn(1+xn)n(1)

本文作者:不爱喝橙子汁的橙子

本文链接:https://www.cnblogs.com/syqwq/p/15190115.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   不爱喝橙子汁的橙子  阅读(17774)  评论(6编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起