KaTeX数学公式编写指南【翻译】

前言

当我想要在 markdown 中记录微积分的学习情况时,发现数学公式的编写与我所熟知的方式大相径庭,Markdown本身是不支持数学公式的编写的,但它支持LaTeX语法编辑和KaTeX渲染,只需将公式用以下方式书写:

$公式内容$ 或 $$公式内容$$
例如:
你将看见以下两个公式$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$或$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$

他的效果是这样的:
你将看见以下两个公式 ∑ i = 0 n i 2 = ( n 2 + n ) ( 2 n + 1 ) 6 \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} i=0ni2=6(n2+n)(2n+1) ∑ i = 0 n i 2 = ( n 2 + n ) ( 2 n + 1 ) 6 \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} i=0ni2=6(n2+n)(2n+1)
找到他们的区别了吗?

‘$...$’将会使文章与公式紧密相接,'$$...$$'将会独自占据一行并居中

我在查阅资料的时候发现了这篇文章,非常详尽的解释了书写规则,但不知缘何,我的网页展示总是有点问题,非常不便阅读,所以自己手动调整并做了一点简单整理放在下面。
原文为德语,我的浏览器自动翻译为英语,因为实在懒得再去调整浏览器设置,以下转载为手动翻译,如有不妥之处还请见谅。

原文传送:MathJax: LaTeX Basic Tutorial und Referenz (Deutsch)

特殊字符

希腊字母

$\alpha$, $\beta$, …, $\omega$

α \alpha α, β \beta β, …, ω \omega ω.

大写字母

 $\Gamma$, $\Delta$, …, $\Omega$.

Γ \Gamma Γ, Δ \Delta Δ, …, Ω \Omega Ω.

其他希腊大写字母

使用拉丁语

 $A,, B, E$

A , B , E A, B, E A,B,E.

希腊字母变体

在变体前加上var,前后为正常和变体

$\epsilon$, $\varepsilon$,  
$\phi$, $\varphi$,

ϵ \epsilon ϵ, ε \varepsilon ε,
ϕ \phi ϕ, φ \varphi φ,

特殊格式

上标和下标

分别使用^和_

$x_i^2$, $\log_2 x$

x i 2 x_i^2 xi2, log ⁡ 2 x \log_2 x log2x.

上标、下标和其他操作仅适用于下一个“组”。“组”是单个符号,或者是用大括号括起来的任何公式。
“组”到底是什么呢?
来看一个例子:

 $10^10$

surprise!你将会得到 1 0 1 0 10^10 1010
是不是和想象的不一样?这就是上文所言的“单个符号”
而如果你想要的是 1 0 10 10^{10} 1010,应该使用:

$10^{10}$

大括号内不仅可以包含数字,还可以是公式,再来看一个例子:

$x^y^z$

你将会得到一个error,正确表示如:

 ${x^y}^z$ , $x^{y^z}$

x y z {x^y}^z xyz , x y z x^{y^z} xyz
注意他们的区别,并比较以下3个公式的区别:

$x_i^2$,  $x_{i^2}$ and  ${x_i}^2$

x i 2 x_i^2 xi2, x i 2 x_{i^2} xi2 and x i 2 {x_i}^2 xi2
还是挺明显的吧

括号

普通括号如小括号和方括号直接使用()[],大括号需要使用{和}

$(2+3)[4+4]\{5+5\}$

( 2 + 3 ) [ 4 + 4 ] { 5 + 5 } (2+3)[4+4]\{5+5\} (2+3)[4+4]{5+5}
但这些常规的符号可能无法匹配公式的大小,如以下公式

$(\frac{\frac{\sqrt x}{y^3}}{\frac{x}{z^2}}\right)$

效果是这样的: ( x y 3 x z 2 ) (\frac{\frac{\sqrt x}{y^3}}{\frac{x}{z^2}}) (z2xy3x )
好怪哦,再看一眼
在这里插入图片描述
实际上,如果你想要得到一个合适大小的括号,你需要使用’\left’和’right’来使括号能自适应公式大小,如上诉公式:

$\left(\frac{\frac{\sqrt x}{y^3}}{\frac{x}{z^2}}\right)$

( x y 3 x z 2 ) \left(\frac{\frac{\sqrt x}{y^3}}{\frac{x}{z^2}}\right) (z2xy3x )
啊,这下舒服多了~

\left 和\right 适用于以下所有提及的括号类型:

$(x)$ , $[x]$ , $\{ x \}$
$|x|$,  $\vert x \vert$
$\Vert x \Vert$
$\langle x \rangle$, $\lceil x \rceil$, $\lfloor x \rfloor$.

( x ) (x) (x) , [ x ] [x] [x] , { x } \{ x \} {x}
∣ x ∣ |x| x, ∣ x ∣ \vert x \vert x
∥ x ∥ \Vert x \Vert x
⟨ x ⟩ \langle x \rangle x, ⌈ x ⌉ \lceil x \rceil x, ⌊ x ⌋ \lfloor x \rfloor x.

另外,使用

$\middle$

能添加其他分隔符,还可使用

.

来设置不可见的括号,比如:

$\left.x^2\right\rvert_3^5 = 5^2-3^2$

x 2 ∣ 3 5 = 5 2 − 3 2 \left.x^2\right\rvert_3^5 = 5^2-3^2 x2 35=5232
如果需要手动更改支架大小,请使用:

$\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr)$

( ( ( ( ( x ) ) ) ) ) \Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr) (((((x)))))

累加和积分(包含累积、交、并)

$\sum$ , $\int$ 

∑ \sum , ∫ \int
下标来表示下限,上标来表示上限,如下:

$\sum_{i=0}^\infty i^2$

∑ i = 0 ∞ i 2 \sum_{i=0}^\infty i^2 i=0i2
若想压缩上下标,可显示指出limits

$\sum\limits_{i=0}^\infty i^2$

∑ i = 0 ∞ i 2 \sum\limits_{i=0}^\infty i^2 i=0i2

注意:不要忘记在限制条件超过一个字符时加上{ }

类似的,

$\prod$, $\int$, $\bigcup$, $\bigcap$, $\iint$, $\iiint$, $\idotsint$.

∏ \prod , ∫ \int , ⋃ \bigcup , ⋂ \bigcap , ∬ \iint , ∭ \iiint
使用方法同上(最后一个\idotsint\也为多重积分,因缺少参数原因没能展示)

分数

有三种方式来展现分数:

frac(简单分数适用)
$\frac ab$

a b \frac ab ba

也可以结合组的性质,如:

 $\frac{a+1}{b+1}$

a + 1 b + 1 \frac{a+1}{b+1} b+1a+1

over(复杂分数适用)

但如果分子和分母很复杂,也许你会更喜欢这个,还是刚刚那个例子:

${a+1\over b+1}$

a + 1 b + 1 {a+1\over b+1} b+1a+1

cfrac(连续分数适用)
$\cfrac{1}{1+\cfrac{1}{1+x}}$

1 1 + 1 1 + x \cfrac{1}{1+\cfrac{1}{1+x}} 1+1+x11

字体

  • Use \mathbb or \Bbb for “blackboard bold”:

    \mathbb{CHNQRZ}$
    

    C H N Q R Z \mathbb{CHNQRZ} CHNQRZ.

  • Use \mathbf for boldface:

     $\mathbf{CHNQRZ}$  $\mathbf{chnqrz}$
    

    C H N Q R Z \mathbf{CHNQRZ} CHNQRZ c h n q r z \mathbf{chnqrz} chnqrz.

对于基于表达式的字符:

  • use \boldsymbol instead:
     $\boldsymbol{\alpha}$
    
    α \boldsymbol{\alpha} α
  • Use \mathit for italics:
    $\mathit{CHNQRZ}$ $\mathit{chnqrz}$
    
    C H N Q R Z \mathit{CHNQRZ} CHNQRZ c h n q r z \mathit{chnqrz} chnqrz.
  • Use \pmb for boldfaced italics:
    $\pmb{CHNQRZ}$ $\pmb{chnqrz}$
    
    C H N Q R Z \pmb{CHNQRZ} CHNQRZ c h n q r z \pmb{chnqrz} chnqrz.
  • Use \mathtt for “typewriter” font:
    $\mathtt{CHNQRZ}$ $\mathtt{chnqrz}$
    
    C H N Q R Z \mathtt{CHNQRZ} CHNQRZ c h n q r z \mathtt{chnqrz} chnqrz.
  • Use \mathrm for roman font:
    $\mathrm{CHNQRZ}$ $\mathrm{chnqrz}$
    
    C H N Q R Z \mathrm{CHNQRZ} CHNQRZ c h n q r z \mathrm{chnqrz} chnqrz.
  • Use \mathsf for sans-serif font:
       $\mathsf{CHNQRZ}$ $\mathsf{chnqrz}$
    
    C H N Q R Z \mathsf{CHNQRZ} CHNQRZ c h n q r z \mathsf{chnqrz} chnqrz.
  • Use \mathcal for “calligraphic” letters:
    $\mathcal{CHNQRZ}$ (Uppercase only.)
    
    C H N Q R Z \mathcal{CHNQRZ} CHNQRZ (Uppercase only.)
  • Use \mathscr for script letters:
    $\mathscr{CHNQRZ}$ $\mathscr{chnqrz}$
    
    C H N Q R Z \mathscr{CHNQRZ} CHNQRZ c h n q r z \mathscr{chnqrz} chnqrz
  • Use \mathfrak for “Fraktur” (old German style) letters:
    $\mathfrak{CHNQRZ}$ $\mathfrak{chnqrz}$.
    
    C H N Q R Z \mathfrak{CHNQRZ} CHNQRZ c h n q r z \mathfrak{chnqrz} chnqrz.

根号

部首符号使用sqrt,它会根据参数的大小来调整大小(great!)

$\sqrt{x^3}$,$\sqrt[3]{\frac xy}$

x 3 \sqrt{x^3} x3 x y 3 \sqrt[3]{\frac xy} 3yx
但对于那些复杂的表达式,考虑使用 {…}^{1/2} 来代替。

sin/lim/max/ln…

对于一些特殊的公式,比如 “lim”, “sin”, “max”, "ln"以及其他类似的公式,通常使用罗马字母而不是斜体。注意不要直接使用sinx、limx,而是使用:

$\sin x$ , $\lim$

sin ⁡ x \sin x sinx , $\lim $

注意:sin与x之间有个空格

如果希望lim加上下标:

行内$\lim_{x\to 0}$ , 行间$$\lim_{x\to 0}$$

行内 lim ⁡ x → 0 \lim_{x\to 0} limx0 , 行间 lim ⁡ x → 0 \lim_{x\to 0} x0lim
发现他们的区别了吗?
行内公式未压缩下标,含有隐式的nolimits,而行间公式压缩下标,含有隐式的limits,这也可以被显示的指定,如下:

行内$\lim\limits_{x\to 0}$ , 行间$$\lim\nolimits_{x\to 0}$$

非标准函数可自定义函数名:

 $\operatorname{foo}(x)$

foo ⁡ ( x ) \operatorname{foo}(x) foo(x).

符号

有太多的符号了,无法在这里一一列举,可以去看看Emre Sermutlu博士简单整理的 LaTeX \LaTeX LATEX A M S \mathcal{A}_{\Large\mathcal{M}}\mathcal{S} AMS- LaTeX \LaTeX LATEX 列表,或者更为详尽的由Scott Pakin博士创作的 LaTeX \LaTeX LATEX 列表
接下来我会列出一些常见的符号:

比大小
$\lt$, $\gt$, $\le$, $\ge$,$\neq$

< \lt <, > \gt >, ≤ \le , ≥ \ge , ≠ \neq =
你可以使用\not在符号上加上一个斜线:

$\not\lt$

≮ \not\lt <

加减乘除
$\times$, $\div$, $\pm$, $\mp$

× \times ×, ÷ \div ÷, ± \pm ±, ∓ \mp
如果你想使用点乘:

$x\cdot y$

x ⋅ y x\cdot y xy

集合
$\cup$, $\cap$, $\setminus$, $\subset$, $\subseteq$, $\subsetneq$, $\supset$, $\in$, $\notin$, $\emptyset$, $\varnothing$

∪ \cup , ∩ \cap , ∖ \setminus , ⊂ \subset , ⊆ \subseteq , ⊊ \subsetneq , ⊃ \supset , ∈ \in , ∉ \notin /, ∅ \emptyset , ∅ \varnothing

矩阵
${n+1 \choose 2k} or \binom{n+1}{2k}$

( n + 1 2 k ) o r ( n + 1 2 k ) {n+1 \choose 2k} or \binom{n+1}{2k} (2kn+1)or(2kn+1)

箭头
$\to$, $\gets$, $\rightarrow$, $\leftarrow$, $\Rightarrow$, $\Leftarrow$, $\mapsto$, $\implies$, $\iff$

→ \to , ← \gets , → \rightarrow , ← \leftarrow , ⇒ \Rightarrow , ⇐ \Leftarrow , ↦ \mapsto ,    ⟹    \implies ,    ⟺    \iff

逻辑
$\land$, $\lor$, $\lnot$, $\forall$, $\exists$, $\top$, $\bot$, $\vdash$, $\vDash$

∧ \land , ∨ \lor , ¬ \lnot ¬, ∀ \forall , ∃ \exists , ⊤ \top , ⊥ \bot , ⊢ \vdash , ⊨ \vDash

特殊运算
$\star$, $\ast$, $\oplus$, $\circ$, $\bullet$

⋆ \star , ∗ \ast , ⊕ \oplus , ∘ \circ , ∙ \bullet

相似相等
$\approx$, $\sim $, $\simeq$, $\cong$, $\equiv$, $\prec$, $\lhd$

≈ \approx , $\sim $, ≃ \simeq , ≅ \cong , ≡ \equiv , ≺ \prec , ⊲ \lhd

代数
$\infty\, \aleph_0$ , $\nabla$, $\partial$ , $\Im$, $\Re$

∞   ℵ 0 \infty\, \aleph_0 0 , ∇ \nabla , ∂ \partial , ℑ \Im , ℜ \Re

模等式与模
$a\equiv b\pmod n$

a ≡ b ( m o d n ) a\equiv b\pmod n ab(modn)

$a\bmod 17$

a   m o d   17 a\bmod 17 amod17

省略号
$a_1, a_2, \dots, a_n$ and $a_1+a_2+\dots+a_n$

a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an and a 1 + a 2 + ⋯ + a n a_1+a_2+\dots+a_n a1+a2++an

Script lowercase l(近似手写)
$\ell$

ℓ \ell .

空格
由短到长:
$a\,b$  ;  $a\;b$  ; $a\quad b$  ;$a\qquad b$

a   b a\,b ab a    b a\;b ab a b a\quad b ab a b a\qquad b ab

文本
$\{x\in s\mid x\text{ is extra large}\}$

{ x ∈ s ∣ x  is extra large } \{x\in s\mid x\text{ is extra large}\} {xsx is extra large}

符号之上
重音和变音: $\hat x$,$\widehat{xy}$
线和箭头:$\bar x$,$\overline{xyz}$,$\vec x$ ,$\overleftrightarrow{xy}$,$\overrightarrow{xy}$
点:$\frac d{dx}x\dot x = \dot x^2 + x\ddot x$

重音和变音: x ^ \hat x x^ x y ^ \widehat{xy} xy
线和箭头: x ˉ \bar x xˉ x y z ‾ \overline{xyz} xyz x ⃗ \vec x x x y ↔ \overleftrightarrow{xy} xy x y → \overrightarrow{xy} xy
点: d d x x x ˙ = x ˙ 2 + x x ¨ \frac d{dx}x\dot x = \dot x^2 + x\ddot x dxdxx˙=x˙2+xx¨

特殊

一些用于MathJax语法的符号需要添加“\”来显示:

\\$ $\$$, \{ $\{$, \} $\}$, \_ $\_$, \# $\#$, \& $\&$

如果你想要使用“\”符号本身,你需要:

 $\backslash$ (符号) ,  $setminus$(二进制操作)

\ \backslash \
不能直接在前面添加“\”来表示,是因为“\\”表示另起一行。

$123\\123$ 

123 123 123\\123 123123

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KaTeX 是一款基于 TeX 的 JavaScript 引擎,用于在 Web 中渲染数学公式数学符号。KaTeX 能够快速渲染数学公式,而且渲染出来的公式非常漂亮。本文将详细介绍 KaTeX 的使用方法。 ## 安装 KaTeX KaTeX 可以通过 npm 包管理工具进行安装,也可以通过 CDN 引入。本文将介绍两种安装方式。 ### 通过 npm 安装 KaTeX 可以通过以下命令在项目中安装 KaTeX: ``` npm install katex ``` ### 通过 CDN 引入 KaTeX 可以通过以下方式引入 KaTeX: ```html <head> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css" /> <script src="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.js"></script> </head> ``` ## 渲染数学公式 ### 使用 KaTeX 渲染数学公式 在 HTML 中使用 KaTeX 渲染数学公式非常简单。只需要在需要渲染的数学公式所在的标签中添加 `katex` 类名,然后在标签内部添加 TeX 语法的数学公式即可。 ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>KaTeX Demo</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css" /> <script src="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.js"></script> </head> <body> <p class="katex">$$\sum_{i=1}^n i = \frac{n(n+1)}{2}$$</p> <p class="katex">\[\int_{-\infty}^{+\infty} e^{-x^2} dx = \sqrt{\pi}\]</p> </body> </html> ``` 在上面的代码中,我们在两个不同的段落中使用了 `katex` 类名,并在标签内部添加了 TeX 语法的数学公式。 ### 使用 KaTeX API 渲染数学公式 KaTeX 提供了一组 API,可以在 JavaScript 中渲染数学公式。 ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>KaTeX Demo</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css" /> <script src="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.js"></script> </head> <body> <p id="formula1"></p> <p id="formula2"></p> <script> const formula1 = document.getElementById("formula1"); katex.render("\\sum_{i=1}^n i = \\frac{n(n+1)}{2}", formula1); const formula2 = document.getElementById("formula2"); katex.render("\\int_{-\\infty}^{+\\infty} e^{-x^2} dx = \\sqrt{\\pi}", formula2); </script> </body> </html> ``` 在上面的代码中,我们在两个不同的段落中使用了 `id` 属性,并在 JavaScript 中使用 `katex.render` 方法渲染了数学公式。 ## KaTeX TeX 语法 KaTeX 使用 TeX 语法渲染数学公式,因此熟悉 TeX 语法可以帮助我们更好地使用 KaTeX。下面是一些常用的 TeX 语法: ### 希腊字母 ``` \alpha, \beta, \gamma, \delta, \epsilon, \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa, \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma, \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega ``` ### 上标和下标 ``` x^2, x_{1}, x_{i+1}, x^{2}_{i+1} ``` ### 分数 ``` \frac{a}{b} ``` ### 开平方 ``` \sqrt{2}, \sqrt[n]{a} ``` ### 求和、积分、极限 ``` \sum_{i=1}^n i, \int_{a}^{b} f(x) dx, \lim_{x\to\infty} f(x) ``` ### 矩阵 ``` \begin{matrix}a & b \\ c & d\end{matrix} ``` ### 其他符号 ``` \infty, \pm, \times, \div, \neq, \leq, \geq, \approx, \equiv, \subset, \subseteq, \cup, \cap, \forall, \exists, \in, \notin, \rightarrow, \leftarrow ``` ## 总结 本文介绍了 KaTeX 的安装和使用方法,并介绍了一些常用的 TeX 语法。KaTeX 是一款非常强大的 JavaScript 引擎,可以帮助我们在 Web 中快速渲染数学公式数学符号,非常适合用于科技类网站和博客。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值