From 304fca65aa7ee771d34884e03c95adfe1be3f286 Mon Sep 17 00:00:00 2001
From: jaywcjlove <398188662@qq.com>
Date: Sun, 13 Nov 2022 23:20:45 +0800
Subject: [PATCH] feat: add `latex.md` #47
---
README.md | 4 +-
docs/latex.md | 421 ++++++++++++++++++++++++++++++++++
docs/quickreference.md | 2 +-
scripts/assets/latex.svg | 3 +
scripts/utils/getTocsTree.mjs | 7 +-
5 files changed, 434 insertions(+), 3 deletions(-)
create mode 100644 docs/latex.md
create mode 100644 scripts/assets/latex.svg
diff --git a/README.md b/README.md
index a668e12..a71e436 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,7 @@ Quick Reference
[CMake](./docs/cmake.md)
[Django](./docs/djiango.md)
[FFmpeg](./docs/ffmpeg.md)
+[LaTeX](./docs/latex.md)
[MATLAB](./docs/matlab.md)
[Vue 3 ](./docs/vue.md)
@@ -40,8 +41,9 @@ Quick Reference
[INI](./docs/ini.md)
[JSON](./docs/json.md)
[Java](./docs/java.md)
+[LaTeX](./docs/latex.md)
[Markdown](./docs/markdown.md)
-[MySQL](./docs/mysql.md)
+[MySQL](./docs/mysql.md)
[MATLAB](./docs/matlab.md)
[PHP](./docs/php.md)
[Python](./docs/python.md)
diff --git a/docs/latex.md b/docs/latex.md
new file mode 100644
index 0000000..eec61ff
--- /dev/null
+++ b/docs/latex.md
@@ -0,0 +1,421 @@
+LaTeX 备忘清单
+===
+
+本备忘单总结了 [LaTeX](https://www.latex-project.org/) 常用显示数学符号的参考列表和一些 [KaTeX](https://katex.org/) 的应用示例。
+
+入门
+---
+
+### 介绍
+
+[LaTeX](https://www.latex-project.org/) 基于 TEX 的排版系统,适用于生成高印刷质量的科技和数学、物理文档。
+
+- [LaTeX 官网](https://www.latex-project.org/) _(latex-project.org)_
+- [KaTeX 官网](https://katex.org/) _(katex.org)_
+
+而 [KaTeX](https://katex.org/) 只处理 LaTeX 的数学符号的一个更小的子集,用于 web 上展示
+
+### 示例
+
+```KaTeX
+% \f is defined as #1f(#2) using the macro
+f\relax(x) = \int_{-\infty}^\infty
+ f\hat\xi\,e^{2 \pi i \xi x}
+ \,d\xi
+```
+
+---
+
+```LaTeX
+% \f is defined as #1f(#2) using the macro
+f\relax(x) = \int_{-\infty}^\infty
+ f\hat\xi\,e^{2 \pi i \xi x}
+ \,d\xi
+```
+
+### 行内展示
+
+```markdown
+基于 KaTeX 在一行
+展示示例: `KaTeX:\int_0^\infty x^2 dx`
+```
+
+基于 KaTeX 在一行展示示例: `KaTeX:\int_0^\infty x^2 dx`
+
+Supported Functions
+---
+
+### Accents
+
+
+:- | :- | :-
+:- | :- | :-
+`KaTeX:a'` `a'` | `KaTeX:\tilde{a}` `\tilde{a}` | `KaTeX:\mathring{g}` `\mathring{g}`
+`KaTeX:a''` `a''` | `KaTeX:\widetilde{ac}` `\widetilde{ac}` | `KaTeX:\overgroup{AB}` `\overgroup{AB}`
+`KaTeX:a^{\prime}` `a^{\prime}` | `KaTeX:\utilde{AB}` `\utilde{AB}` | `KaTeX:\undergroup{AB}` `\undergroup{AB}`
+`KaTeX:\acute{a}` `\acute{a}` | `KaTeX:\vec{F}` `\vec{F}` | `KaTeX:\Overrightarrow{AB}` `\Overrightarrow{AB}`
+`KaTeX:\bar{y}` `\bar{y}` | `KaTeX:\overleftarrow{AB}` `\overleftarrow{AB}` | `KaTeX:\overrightarrow{AB}` `\overrightarrow{AB}`
+`KaTeX:\breve{a}` `\breve{a}` | `KaTeX:\underleftarrow{AB}` `\underleftarrow{AB}` | `KaTeX:\underrightarrow{AB}` `\underrightarrow{AB}`
+`KaTeX:\check{a}` `\check{a}` | `KaTeX:\overleftharpoon{ac}` `\overleftharpoon{ac}` | `KaTeX:\overrightharpoon{ac}` `\overrightharpoon{ac}`
+`KaTeX:\dot{a}` `\dot{a}` | `KaTeX:\overleftrightarrow{AB}` `\overleftrightarrow{AB}` | `KaTeX:\overbrace{AB}` `\overbrace{AB}`
+`KaTeX:\ddot{a}` `\ddot{a}` | `KaTeX:\underleftrightarrow{AB}` `\underleftrightarrow{AB}` | `KaTeX:\underbrace{AB}` `\underbrace{AB}`
+`KaTeX:\grave{a}` `\grave{a}` | `KaTeX:\overline{AB}` `\overline{AB}` | `KaTeX:\overlinesegment{AB}` `\overlinesegment{AB}`
+`KaTeX:\hat{\theta}` `\hat{\theta}` | `KaTeX:\underline{AB}` `\underline{AB}` | `KaTeX:\underlinesegment{AB}` `\underlinesegment{AB}`
+`KaTeX:\widehat{ac}` `\widehat{ac}` | `KaTeX:\widecheck{ac}` `\widecheck{ac}` | `KaTeX:\underbar{X}` `\underbar{X}`
+
+### \text{…}中的强调功能
+
+:- | :- | :-
+:- | :- | :-
+`KaTeX:\'{a}` `\'{a}` | `KaTeX:\~{a}` `\~{a}` |
+`KaTeX:\.{a}` `\.{a}` | `KaTeX:\H{a}` `\H{a}` |
+``KaTeX:\\\`{a}`` \\`{a}
| `KaTeX:\={a}` `\={a}` |
+`KaTeX:\"{a}` `\"{a}` | `KaTeX:\v{a}` `\v{a}` |
+`KaTeX:\^{a}` `\^{a}` | `KaTeX:\u{a}` `\u{a}` |
+`KaTeX:\r{a}` `\r{a}` |
+
+### Delimiter Sizing
+
+:- | :-
+:- | :-
+`KaTeX:\left(\LARGE{AB}\right)` | `\left(\LARGE{AB}\right)`
+`KaTeX:( \big( \Big( \bigg( \Bigg(`| `( \big( \Big( \bigg( \Bigg(`
+
+---
+
+:- | :- | :- | :- | :-
+:- | :- | :- | :- | :-
+`\left` | `\big` | `\bigl` | `\bigm` | `\bigr`
+`\middle` | `\Big` | `\Bigl` | `\Bigm` | `\Bigr`
+`\right` | `\bigg` | `\biggl` | `\biggm` | `\biggr`
+`` | `\Bigg` | `\Biggl` | `\Biggm` | `\Biggr`
+
+### 分隔符 Delimiters
+
+
+预览 | 方法 | 预览 | 方法 | 预览 | 方法 | 预览| 方法 | 预览 | 方法
+:- | :- | :- | :- | :- | :- | :- | :- | :- | :-
+| `KaTeX:()` | `()` | `KaTeX:\lparen \rparen` | `\lparen` `\rparen` | `KaTex:⌈ ⌉` | `⌈ ⌉` | `KaTex:\lceil \rceil` | `\lceil` `\rceil` | `KaTex:\uparrow` | `\uparrow` |
+| `KaTeX:[]` | `[]` | `KaTeX:\lbrack \rbrack` | `\lbrack` `\rbrack` | `KaTex:⌊ ⌋` | `⌊ ⌋` | `KaTex:\lfloor \rfloor` | `\lfloor` `\rfloor` | `KaTex:\downarrow` | `\downarrow` |
+| `KaTeX:\{ \}` | `{}` | `KaTex:\lbrace \rbrace` | `\lbrace` `\rbrace` | `KaTex:⎰⎱` | `⎰⎱` | `KaTex:\lmoustache \rmoustache` | `\lmoustache` `\rmoustache` | `KaTex:\updownarrow` | `\updownarrow` |
+| `KaTeX:⟨ ⟩` | `⟨⟩` | `KaTex:\langle \rangle` | `\langle` `\rangle` | `KaTex:⟮ ⟯` | `⟮ ⟯` | `KaTex:\lgroup \rgroup` | `\lgroup` `\rgroup` | `KaTex:\Uparrow` | `\Uparrow` |
+| `KaTeX:∣` | `\|` | `KaTex:\vert` | `\vert` | `KaTex:┌ ┐` | `┌ ┐` | `KaTex:\ulcorner \urcorner` | `\ulcorner` `\urcorner` | `KaTex:\Downarrow` | `\Downarrow` |
+| `KaTeX:\|` _(MD语法冲突)_ | \\|
| `KaTex:\Vert` | `\Vert` | `KaTex:└ ┘` | `└ ┘` | `KaTex:\llcorner \lrcorner` | `\llcorner` `\lrcorner` | `KaTex:\Updownarrow` | `\Updownarrow` |
+| `KaTeX:∣ ∣` | `\lvert` `\rvert` | `KaTex:\lVert \rVert` | `\lVert` `\rVert` | | `\left.` | | `\right.` | `KaTex:\backslash` | `\backslash` |
+| `KaTeX:\lang` `KaTeX:\rang` | `\lang` `\rang` | `KaTeX:\lt \gt` | `\lt \gt` | `KaTex:⟦ ⟧` | `⟦ ⟧` | `KaTex:\llbracket \rrbracket` | `\llbracket` `\rrbracket` | `KaTex:\lBrace \rBrace` | `\lBrace \rBrace` |
+
+
+Environments
+---
+
+### Environments 1
+
+
+```KaTeX
+\begin{matrix}
+ a & b \\
+ c & d
+\end{matrix}
+```
+
+```LaTeX
+\begin{matrix}
+ a & b \\
+ c & d
+\end{matrix}
+```
+
+### Environments 2
+
+
+```KaTeX
+\begin{array}{cc}
+ a & b \\
+ c & d
+\end{array}
+```
+
+```LaTeX
+\begin{array}{cc}
+ a & b \\
+ c & d
+\end{array}
+```
+
+### Environments 3
+
+
+```KaTeX
+\begin{pmatrix}
+ a & b \\
+ c & d
+\end{pmatrix}
+```
+
+```LaTeX
+\begin{pmatrix}
+ a & b \\
+ c & d
+\end{pmatrix}
+```
+
+### Environments 4
+
+
+```KaTeX
+\begin{bmatrix}
+ a & b \\
+ c & d
+\end{bmatrix}
+```
+
+```LaTeX
+\begin{bmatrix}
+ a & b \\
+ c & d
+\end{bmatrix}
+```
+
+### Environments 5
+
+
+```KaTeX
+\begin{vmatrix}
+ a & b \\
+ c & d
+\end{vmatrix}
+```
+
+```LaTeX
+\begin{vmatrix}
+ a & b \\
+ c & d
+\end{vmatrix}
+```
+
+### Environments 6
+
+
+```KaTeX
+\begin{Vmatrix}
+ a & b \\
+ c & d
+\end{Vmatrix}
+```
+
+```LaTeX
+\begin{Vmatrix}
+ a & b \\
+ c & d
+\end{Vmatrix}
+```
+
+### Environments 7
+
+
+```KaTeX
+\begin{Bmatrix}
+ a & b \\
+ c & d
+\end{Bmatrix}
+```
+
+```LaTeX
+\begin{Bmatrix}
+ a & b \\
+ c & d
+\end{Bmatrix}
+```
+
+### Environments 8
+
+
+```KaTeX
+\def\arraystretch{1.5}
+ \begin{array}{c:c:c}
+ a & b & c \\ \hline
+ d & e & f \\
+ \hdashline
+ g & h & i
+\end{array}
+```
+
+```LaTeX
+\def\arraystretch{1.5}
+ \begin{array}{c:c:c}
+ a & b & c \\ \hline
+ d & e & f \\
+ \hdashline
+ g & h & i
+\end{array}
+```
+
+### Environments 9
+
+
+```KaTeX
+x = \begin{cases}
+ a &\text{if } b \\
+ c &\text{if } d
+\end{cases}
+```
+
+```LaTeX
+x = \begin{cases}
+ a &\text{if } b \\
+ c &\text{if } d
+\end{cases}
+```
+
+### Environments 10
+
+
+```KaTeX
+\begin{rcases}
+ a &\text{if } b \\
+ c &\text{if } d
+\end{rcases}⇒…
+```
+
+```LaTeX
+\begin{rcases}
+ a &\text{if } b \\
+ c &\text{if } d
+\end{rcases}⇒…
+```
+
+### Environments 11
+
+
+```KaTeX
+\begin{smallmatrix}
+ a & b \\
+ c & d
+\end{smallmatrix}
+```
+
+```LaTeX
+\begin{smallmatrix}
+ a & b \\
+ c & d
+\end{smallmatrix}
+```
+
+### Environments 12
+
+
+```KaTeX
+\sum_{
+\begin{subarray}{l}
+ i\in\Lambda\\
+ 0
+
+```KaTeX
+\begin{equation}
+\begin{split} a &=b+c\\
+ &=e+f
+\end{split}
+\end{equation}
+```
+
+
+```LaTeX
+\begin{equation}
+\begin{split} a &=b+c\\
+ &=e+f
+\end{split}
+\end{equation}
+```
+
+### Environments 12
+
+
+```KaTeX
+\begin{align}
+ a&=b+c \\
+ d+e&=f
+\end{align}
+```
+
+
+```LaTeX
+\begin{align}
+ a&=b+c \\
+ d+e&=f
+\end{align}
+```
+
+### Environments 12
+
+
+```KaTeX
+\begin{gather}
+ a=b \\
+ e=b+c
+\end{gather}
+```
+
+
+```LaTeX
+\begin{gather}
+ a=b \\
+ e=b+c
+\end{gather}
+```
+
+### Environments 12
+
+
+```KaTeX
+\begin{alignat}{2}
+ 10&x+&3&y=2\\
+ 3&x+&13&y=4
+\end{alignat}
+```
+
+
+```LaTeX
+\begin{alignat}{2}
+ 10&x+&3&y=2\\
+ 3&x+&13&y=4
+\end{alignat}
+```
+
+### Environments 12
+
+
+```KaTeX
+\begin{CD}
+ A @>a>> B \\
+@VbVV @AAcA \\
+ C @= D
+\end{CD}
+```
+
+
+```LaTeX
+\begin{CD}
+ A @>a>> B \\
+@VbVV @AAcA \\
+ C @= D
+\end{CD}
+```
+
+另见
+----
+
+- [LaTeX 官网](https://www.latex-project.org/) _(latex-project.org)_
+- [KaTeX 官网](https://katex.org/) _(katex.org)_
diff --git a/docs/quickreference.md b/docs/quickreference.md
index c639531..ee9ff47 100644
--- a/docs/quickreference.md
+++ b/docs/quickreference.md
@@ -146,7 +146,7 @@ Markdown 语法注释
#### 示例
```markdown
-### H2 部分
+## H2 部分
### H3 部分
diff --git a/scripts/assets/latex.svg b/scripts/assets/latex.svg
new file mode 100644
index 0000000..ab22dc2
--- /dev/null
+++ b/scripts/assets/latex.svg
@@ -0,0 +1,3 @@
+
diff --git a/scripts/utils/getTocsTree.mjs b/scripts/utils/getTocsTree.mjs
index b4f5daf..f2ccafc 100644
--- a/scripts/utils/getTocsTree.mjs
+++ b/scripts/utils/getTocsTree.mjs
@@ -107,7 +107,7 @@ export function getTocsTree(arr = [], result = []) {
{
type: 'element',
tagName: 'div',
- properties: { class: 'wrap-body' },
+ properties: { class: ['wrap-body'] },
children: [...header],
},
],
@@ -133,7 +133,12 @@ export function getTocsTree(arr = [], result = []) {
children: [...resultChilds],
});
} else {
+ panle.children[0].children[1].properties?.class.push(bodyClass);
panle.children[0].children[1].children = panle.children[0].children[1].children.concat(resultChilds);
+ if (panle.children[0].children[1].properties && bodyStyle) {
+ const initStyle = panle.children[0].children[1].properties?.style || '';
+ panle.children[0].children[1].properties.style = initStyle + bodyStyle;
+ }
}
}
}