Typora Markdown常用数学编辑公式

一、基本公式

1、上下标

A 1 2 B 12 2 x 2 + y A_1^2 \\ B_{12} \\ 2^{x^2+y} A12B122x2+y
代码:

$$
A_1^2
\\
B_{12}
\\
2^{x^2+y}
$$

2、分数

x 1 + x 2 1 2 + x y a b a b \frac{x}{1+x^2} \\ \frac{\frac{1}{2}+x}{y} \\ \tfrac{a}{b} \frac{a}{b} 1+x2xy21+xbaba
代码:

$$
\frac{x}{1+x^2}
\\
\frac{\frac{1}{2}+x}{y}
\\
\tfrac{a}{b}
\frac{a}{b}
$$

3、根号

x x 3 \sqrt{x} \sqrt[3]{x} x 3x
代码:

$$
\sqrt{x}
\sqrt[3]{x}
$$

4、组合数

( n k ) ( n k ) \binom{n}{k} \tbinom{n}{k} (kn)(kn)
代码:

$$
\binom{n}{k}
\tbinom{n}{k}
$$

5、导数

a ′ a ′ ′ a ′ a' a'' a^{\prime} aa′′a
代码:

$$
a'
a''
a^{\prime}
$$

6、取模

x ( m o d a ) 2 m o d    x x \pmod a \\ 2\mod{x} x(moda)2modx
代码:

$$
x \pmod a
\\
2\mod{x}
$$

7、积分

∫ 1 2 ∫ 2 1 ∮ ∫ ∬ ∯ ∭ ∰ \int_{1}^{2} \intop_{2}^{1} \oint \smallint \\ \iint \oiint \iiint \oiiint 1221
代码:

$$
\int_{1}^{2}
\intop_{2}^{1}
\oint
\smallint
\\
\iint
\oiint
\iiint
\oiiint
$$

8、微分

∇ ∂ x d x x ˙ y ¨ Δ \nabla \\ \partial x \\ \mathrm{d}x \\ \dot x \\ \ddot y \\ \Delta xdxx˙y¨Δ
代码:

$$
\nabla		
\partial x			
\mathrm{d}x	
\dot x		
\ddot y     
\Delta
$$

9、累加、累乘、极限

∑ i = 1 k ∑ i = 1 n ∑ i = 1 n ∏ i = 1 k ∏ i = 1 n ∏ i = 1 n lim ⁡ k → ∞ lim ⁡ k → ∞ lim ⁡ k → ∞ ] \sum_{i=1}^{k} \displaystyle\sum_{i=1}^n \textstyle\sum_{i=1}^n \\ \prod_{i=1}^{k} \displaystyle\prod_{i=1}^n \textstyle\prod_{i=1}^n \\ \lim_{k \to \infty} \lim\limits_{k \to \infty} \lim\nolimits_{k \to \infty}] i=1ki=1ni=1ni=1ki=1ni=1nlimkklimlimk]
代码:

$$
\sum_{i=1}^{k}
\displaystyle\sum_{i=1}^n
\textstyle\sum_{i=1}^n
\\
\prod_{i=1}^{k}
\displaystyle\prod_{i=1}^n
\textstyle\prod_{i=1}^n
\\
\lim_{k \to \infty}
\lim\limits_{k \to \infty}
\lim\nolimits_{k \to \infty}]
$$

二、修饰符

1、简单的帽子

θ ^ A B ^ y ˉ A B ‾ a ~ a c ~ a ˉ a ˊ a ˇ a ˋ a ˙ a ¨ \hat{\theta} \widehat{AB} \\ \bar{y} \overline{AB} \\ \tilde{a} \widetilde{ac} \\ \bar{a} \acute{a} \check{a} \grave{a} \\ \dot{a} \ddot{a} θ^AB yˉABa~ac aˉaˊaˇaˋa˙a¨
代码:

$$
\hat{\theta}
\widehat{AB}
\\
\bar{y}
\overline{AB}
\\
\tilde{a}
\widetilde{ac}
\\
\bar{a}
\acute{a}
\check{a}
\grave{a}
\\
\dot{a}
\ddot{a}
$$

2、帽子和袜子

A B ← A B → A B ↔ A B ← A B → A B ↔ A B ⏞ A B ⏟ A B ‾ A B ‾ \overleftarrow{AB} \overrightarrow{AB} \overleftrightarrow{AB} \\ \underleftarrow{AB} \underrightarrow{AB} \underleftrightarrow{AB} \\ \overbrace{AB} \underbrace{AB} \\ \overline{AB} \underline{AB} AB AB AB AB AB ABAB ABABAB
代码:

$$
\overleftarrow{AB}
\overrightarrow{AB}
\overleftrightarrow{AB}
\\
\underleftarrow{AB}
\underrightarrow{AB}
\underleftrightarrow{AB}
\\
\overbrace{AB}
\underbrace{AB}
\\
\overline{AB}
\underline{AB}
$$

3、盒子和帽子

a + b + c ⏞ note a + b + c ⏟ note π = 3.14 \overbrace{a+b+c}^{\text{note}} \\ \underbrace{a+b+c}_{\text{note}} \\ \boxed{\pi=3.14} a+b+c notenote a+b+cπ=3.14
代码:

$$
\overbrace{a+b+c}^{\text{note}}
\\
\underbrace{a+b+c}_{\text{note}}
\\
\boxed{\pi=3.14}
$$

4、各种括号

( ( ( ( ( ( \big( \Big( \bigg( \Bigg( (((((
代码:

$$
(
\big(
\Big(
\bigg(
\Bigg(
$$

[ ] < > ∣ − 2 ∣ { } [] <> |-2| \{\} []<>2∣{}
代码:

$$
[]
<>
|-2|
\{\}
$$

⟮ x ⟯ ∥ a ∥ ⌈ 2.6 ⌉ ⌊ 1.2 ⌋ \lgroup x \rgroup \lVert a \rVert \lceil 2.6 \rceil \lfloor 1.2 \rfloor xa2.61.2
代码:

$$
\lgroup x \rgroup
\lVert a \rVert
\lceil 2.6 \rceil
\lfloor 1.2 \rfloor
$$

⌜ ⌝ ⌞ ⌟ \ulcorner \urcorner \llcorner \lrcorner
代码:

$$
\ulcorner
\urcorner
\llcorner
\lrcorner
$$

三、希腊字母

No.LowercaseUppercaseEnglishIPA
1 1 1 α \alpha α A A A a l p h a alpha alpha/'ælfə/
2 2 2 β \beta β B B B b e t a beta beta/'bi:tə/or/'beɪtə/
3 3 3 γ \gamma γ Γ \Gamma Γ g a m m a gamma gamma/'gæmə/
4 4 4 δ \delta δ Δ \Delta Δ d e l t a delta delta/'deltə/
5 5 5 ϵ \epsilon ϵ E E E e p s i l o n epsilon epsilon/'epsɪlɒn/
6 6 6 ζ \zeta ζ Z Z Z z e t a zeta zeta/'zi:tə/
7 7 7 η \eta η H H H e t a eta eta/'i:tə/
8 8 8 θ \theta θ Θ \Theta Θ t h e t a theta theta/'θi:tə/
9 9 9 ι \iota ι I I I i o t a iota iota/aɪ’əʊtə/
10 10 10 κ \kappa κ K K K k a p p a kappa kappa/'kæpə/
11 11 11 λ \lambda λ λ \lambda λ l a m b d a lambda lambda/'læmdə/
12 12 12 μ \mu μ M M M m u mu mu/mju:/
13 13 13 ν \nu ν N N N n u nu nu/nju:/
14 14 14 ξ \xi ξ Ξ \Xi Ξ x i xi xi/ksi/or/'zaɪ/or/'ksaɪ/
15 15 15 ο \omicron ο O O O o m i c r o n omicron omicron/əu’maikrən/or/'ɑmɪ,krɑn/
16 16 16 π \pi π Π \Pi Π p i pi pi/paɪ/
17 17 17 ρ \rho ρ P P P r h o rho rho/rəʊ/
18 18 18 σ \sigma σ Σ \Sigma Σ s i g m a sigma sigma/'sɪɡmə/
19 19 19 τ \tau τ T T T t a u tau tau/tɔ:/or/taʊ/
20 20 20 υ \upsilon υ Υ \Upsilon Υ u p s i l o n upsilon upsilon/'ipsilon/or/'ʌpsilɒn/
21 21 21 ϕ \phi ϕ Φ \Phi Φ p h i phi phi/faɪ/
22 22 22 χ \chi χ X X X c h i chi chi/kaɪ/
23 23 23 ψ \psi ψ Ψ \Psi Ψ p s i psi psi/psaɪ/
24 24 24 ω \omega ω Ω \Omega Ω o m e g a omega omega/'əʊmɪɡə/or/oʊ’meɡə/
代码:
| No.  | Lowercase  | Uppercase  |  English  |              IPA              |
| :--: | :--------: | :--------: | :-------: | :---------------------------: |
| $1$  |  $\alpha$  |    $A$     |  $alpha$  |          **/'ælfə/**          |
| $2$  |  $\beta$   |    $B$     |  $beta$   |    **/'bi:tə/or/'beɪtə/**     |
| $3$  |  $\gamma$  |  $\Gamma$  |  $gamma$  |          **/'gæmə/**          |
| $4$  |  $\delta$  |  $\Delta$  |  $delta$  |         **/'deltə/**          |
| $5$  | $\epsilon$ |    $E$     | $epsilon$ |        **/'epsɪlɒn/**         |
| $6$  |  $\zeta$   |    $Z$     |  $zeta$   |         **/'zi:tə/**          |
| $7$  |   $\eta$   |    $H$     |   $eta$   |          **/'i:tə/**          |
| $8$  |  $\theta$  |  $\Theta$  |  $theta$  |         **/'θi:tə/**          |
| $9$  |  $\iota$   |    $I$     |  $iota$   |         **/aɪ'əʊtə/**         |
| $10$ |  $\kappa$  |    $K$     |  $kappa$  |          **/'kæpə/**          |
| $11$ | $\lambda$  | $\lambda$  | $lambda$  |         **/'læmdə/**          |
| $12$ |   $\mu$    |    $M$     |   $mu$    |          **/mju:/**           |
| $13$ |   $\nu$    |    $N$     |   $nu$    |          **/nju:/**           |
| $14$ |   $\xi$    |   $\Xi$    |   $xi$    |   **/ksi/or/'zaɪ/or/'ksaɪ/**  |
| $15$ | $\omicron$ |    $O$     | $omicron$ | **/əu'maikrən/or/'ɑmɪ,krɑn/** |
| $16$ |   $\pi$    |   $\Pi$    |   $pi$    |           **/paɪ/**           |
| $17$ |   $\rho$   |    $P$     |   $rho$   |           **/rəʊ/**           |
| $18$ |  $\sigma$  |  $\Sigma$  |  $sigma$  |         **/'sɪɡmə/**          |
| $19$ |   $\tau$   |    $T$     |   $tau$   |       **/tɔ:/or/taʊ/**        |
| $20$ | $\upsilon$ | $\Upsilon$ | $upsilon$ |  **/'ipsilon/or/'ʌpsilɒn/**   |
| $21$ |   $\phi$   |   $\Phi$   |   $phi$   |           **/faɪ/**           |
| $22$ |   $\chi$   |    $X$     |   $chi$   |           **/kaɪ/**           |
| $23$ |   $\psi$   |   $\Psi$   |   $psi$   |          **/psaɪ/**           |
| $24$ |  $\omega$  |  $\Omega$  |  $omega$  |   **/'əʊmɪɡə/or/oʊ'meɡə/**    |

四、算数运算符

减号: − + × / ÷ ⋅ # % 减号:- \\ + \times / \div \cdot \# \% 减号:+×/÷#%
代码:
注意:减号的用法,前面有内容 或者 后面不能有空格。

$$
减号:-
\\
+
\times
/
\div
\cdot
\#
\%
$$

∘ ∗ ⋆ ⊗ ⊕ ⊙ \circ \ast \star \otimes \oplus \odot
代码:

$$
\circ
\ast
\star
\otimes
\oplus
\odot
$$

± ∓ ∔ ⋇ \pm \mp \dotplus \divideontimes ±∔⋇
代码:

$$
\pm
\mp
\dotplus
\divideontimes
$$

五、比较运算符

等于号: = ≠ ≠ ≡ ≢ ∼ ≈ ≊ ≅ 等于号:= \\ \not= \neq \equiv \not\equiv \sim \approx \approxeq \cong 等于号:===≡∼≈
代码:
注意,等于号的用法,前面有内容 或者 后面有内容

$$
等于号:=
\\
\not=
\neq
\equiv
\not\equiv
\sim
\approx
\approxeq
\cong
$$

大于号: > < ≤ ≥ ≫ ≪ 大于号:> \\ < \le \ge \gg \ll 大于号:><≤≥≫≪
代码:
注意,大于号的用法,前面必须有内容

$$
大于号:>
\\
<
\le
\ge
\gg
\ll
$$

⋞ ⋟ ≺ ≻ ⪯ ⪰ \curlyeqprec \curlyeqsucc \prec \succ \preceq \succeq ⋞⋟≺≻⪯⪰
代码:

$$
\curlyeqprec
\curlyeqsucc
\prec
\succ
\preceq
\succeq
$$

六、集合运算符

∈ ∋ ⊄ ⊅ ⊆ ⊇ ∩ ∪ ∧ ∨ ¬ ∅ ∅ ∵ ∀ ∃ ∴ \in \owns \not \subset \not \supset \subseteq \supseteq \\ \cap \cup \land \lor \\ \neg \emptyset \varnothing \\ \because \forall \exists \therefore ∈∋⊃⊆⊇¬∅∀∃
代码:

$$
\in
\owns \not
\subset \not
\supset
\subseteq
\supseteq
\\
\cap
\cup
\land
\lor
\\
\neg
\emptyset
\varnothing
\\
\because
\forall
\exists
\therefore
$$

∩ ∪ ∧ ∨ ⊔ ⊓ \cap \cup \land \lor \sqcup \sqcap
代码:

$$
\cap
\cup
\land
\lor
\sqcup
\sqcap
$$

七、箭头符

← ← → → ↔ ↑ ↓ ↕ \gets \leftarrow \to \rightarrow \leftrightarrow \\ \uparrow \downarrow \updownarrow ←←→→↔↑↓↕
代码:

$$
\gets
\leftarrow
\to
\rightarrow
\leftrightarrow
\\
\uparrow
\downarrow
\updownarrow
$$

⇐ ⇒ ⇔    ⟺    ⇑ ⇓ ⇕ \Leftarrow \Rightarrow \Leftrightarrow \iff \\ \Uparrow \Downarrow \Updownarrow ⇐⇒⇔⇑⇓⇕
代码:

$$
\Leftarrow
\Rightarrow
\Leftrightarrow
\iff
\\
\Uparrow
\Downarrow
\Updownarrow
$$

↗ ↘ ↙ ↖ \nearrow \searrow \swarrow \nwarrow ↗↘↙↖
代码:

$$
\nearrow
\searrow
\swarrow
\nwarrow
$$

⟵ ⟶ ⟷ ⟸ ⟹ ⟺ ⟼ \longleftarrow \longrightarrow \longleftrightarrow \Longleftarrow \Longrightarrow \Longleftrightarrow \longmapsto ⟵⟶⟷⟸⟹⟺⟼
代码:

$$
\longleftarrow
\longrightarrow
\longleftrightarrow
\Longleftarrow
\Longrightarrow
\Longleftrightarrow
\longmapsto
$$

→ o v e r → u n d e r → u n d e r o v e r ← u n d e r o v e r ← u n d e r ← o v e r \xrightarrow{over} \xrightarrow[under]{} \xrightarrow[under]{over} \xleftarrow[under]{over} \xleftarrow[under]{} \xleftarrow[]{over} over underover underover under underover
代码:

$$
\xrightarrow{over}
\xrightarrow[under]{}
\xrightarrow[under]{over}
\xleftarrow[under]{over}
\xleftarrow[under]{}
\xleftarrow[]{over}
$$

八、空格间距

A  ⁣ B A B A   B A   B A   B A B A B A B A\!B \\ AB \\ A\thinspace B \\ A\:B \\ A\ B \\ A \enspace B \\ A\quad B \\ A\qquad B ABABABABA BABABAB

$$
A\!B
\\
AB
\\
A\thinspace B
\\
A\:B
\\
A\ B
\\
A \enspace B
\\
A\quad B
\\
A\qquad B
$$

九、矩阵

A = a b c d A = \begin{matrix} a & b\\ c & d \end{matrix} A=acbd
代码:

$$
A = \begin{matrix}
a & b\\
c & d
\end{matrix}
$$

B = ( a b c d ) B = \begin{pmatrix} a & b\\ c & d \end{pmatrix} B=(acbd)
代码:

$$
B = \begin{pmatrix}
a & b\\
c & d
\end{pmatrix}
$$

C = ∣ a b c d ∣ C = \begin{vmatrix} a & b\\ c & d \end{vmatrix} C= acbd
代码:

$$
C = \begin{vmatrix}
a & b\\
c & d
\end{vmatrix}
$$

D = [ a b c d ] D = \begin{bmatrix} a & b\\ c & d \end{bmatrix} D=[acbd]
代码:

$$
D = \begin{bmatrix}
a & b\\
c & d
\end{bmatrix}
$$

E = ∥ a b c d ∥ E = \begin{Vmatrix} a & b\\ c & d \end{Vmatrix} E= acbd
代码:

$$
E = \begin{Vmatrix}
a & b\\
c & d
\end{Vmatrix}
$$

F = { a b c d } F = \begin{Bmatrix} a & b\\ c & d \end{Bmatrix} F={acbd}
代码:

$$
F = \begin{Bmatrix}
a & b\\
c & d
\end{Bmatrix}
$$

[ A   b ] = [ a 11 a 12 a 13 b 1 a 21 a 22 a 23 b 2 a 31 a 32 a 33 b 3 ] [A\ b] = \begin{bmatrix} \begin{array}{c c c|c} a_{11} & a_{12} & a_{13} & b_1\\ a_{21} & a_{22} & a_{23} & b_2\\ a_{31} & a_{32} & a_{33} & b_3\\ \end{array} \end{bmatrix} [A b]= a11a21a31a12a22a32a13a23a33b1b2b3
代码:

$$
[A\ b] = 
\begin{bmatrix}
\begin{array}{c c c|c}
a_{11} & a_{12} & a_{13} & b_1\\
a_{21} & a_{22} & a_{23} & b_2\\
a_{31} & a_{32} & a_{33} & b_3\\
\end{array}
\end{bmatrix}
$$

a b c d e f g h i \begin{array}{c:c:c} a & b & c \\ \hline d & e & f \\ \hdashline g & h & i \end{array} adgbehcfi
代码:

$$
\begin{array}{c:c:c}
a & b & c \\ 
\hline
d & e & f \\
\hdashline
 g & h & i
\end{array}
$$

L n × n = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] L_{n\times n} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots &\ddots & \vdots\\ a_{n1} & a_{n2} & \cdots & a_{nn} \\ \end{bmatrix} Ln×n= a11a21an1a12a22an2a1na2nann
代码:

$$
L_{n\times n} = \begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\ 
a_{21} & a_{22} & \cdots & a_{2n} \\ 
\vdots & \vdots &\ddots & \vdots\\
a_{n1} & a_{n2} & \cdots & a_{nn} \\ 
\end{bmatrix}
$$

十、列式、方程组

f ( x ) = ( x + 1 ) 2 = x 2 + 2 x + 1 \begin{aligned} f(x) &= (x+1)^2\\ &= x^2 + 2x + 1 \end{aligned} f(x)=(x+1)2=x2+2x+1
代码:

$$
\begin{aligned}
f(x) &= (x+1)^2\\
&= x^2 + 2x + 1
\end{aligned}
$$

f ( x ) = { a if b b if a f(x) = \begin{cases} a &\text{if b}\\ b &\text{if a}\\ \end{cases} f(x)={abif bif a
代码:

$$
f(x) = \begin{cases}
a &\text{if b}\\
b &\text{if a}\\
\end{cases}
$$

{ x + 2 y = 1 3 x − y = 5 \begin{cases} \begin{aligned} x + 2y &= 1\\ 3x - y &= 5 \end{aligned} \end{cases} {x+2y3xy=1=5
代码:

$$
\begin{cases}
\begin{aligned}
x + 2y &= 1\\
3x - y &= 5
\end{aligned}
\end{cases}
$$

g ( x , y ) = { M g − d M f − b [ f ( x , y ) − b ] + d b ≤ f ( x , y ) ≤ M f F L ∗ S L ≤ 0 < S M F R ∗ S M ≤ 0 < S R F R S R ≤ 0 g(x,y)=\left\{ \begin{array}{rcl} \frac{M_g - d}{M_f-b}[f(x,y)-b]+d & & {b \leq f(x,y) \leq M_f}\\ F^*_L & & {S_L \leq 0 < S_M}\\ F^*_R & & {S_M \leq 0 < S_R}\\ F_R & & {S_R \leq 0} \end{array} \right. g(x,y)= MfbMgd[f(x,y)b]+dFLFRFRbf(x,y)MfSL0<SMSM0<SRSR0
代码:

$$
g(x,y)=\left\{
\begin{array}{rcl}
\frac{M_g - d}{M_f-b}[f(x,y)-b]+d       &      & {b      \leq  f(x,y)  \leq M_f}\\
F^*_L     &      & {S_L \leq 0 < S_M}\\
F^*_R     &      & {S_M \leq 0 < S_R}\\
F_R       &      & {S_R \leq 0}
\end{array} \right.
$$

十一、作废符

5 5 A B C \cancel{5} \bcancel{5} \xcancel{ABC} 5 5 ABC
代码:

$$
\cancel{5}
\bcancel{5}
\xcancel{ABC}
$$

十二、常见图形

□ □ ■ △ ▽ ▲ ⋄ ◊ ⋆ ★ ∘ ∙ ◯ ⨀ \Box \square \blacksquare \triangle \triangledown \blacktriangle \diamond \Diamond \star \bigstar \circ \bullet \bigcirc \bigodot □□■▽▲
代码:

$$
\Box
\square
\blacksquare
\triangle
\triangledown
\blacktriangle
\diamond
\Diamond
\star
\bigstar
\circ
\bullet
\bigcirc
\bigodot
$$

♢ ♣ ♡ ♠ \diamondsuit \clubsuit \heartsuit \spadesuit ♢♣♡♠
代码:

$$
\diamondsuit
\clubsuit
\heartsuit
\spadesuit
$$

∠ ∡ ⊤ ⊥ ∞ \angle \measuredangle \top \bot \infty ⊤⊥∞
代码:

$$
\angle
\measuredangle
\top
\bot
\infty
$$

✓ † ‡ ¥ $ \checkmark \dagger \ddagger \yen \$ ¥$
代码:

$$
\checkmark
\dagger
\ddagger
\yen
\$
$$

十三、声明宏(高级用法:定义函数)

对于一些复杂但是只有少许不同的表达式,可以声明一个函数来调用,提高源码的可读性,减少出错

\def\macroname#1#2{
your command
}

宏允许带任意数量的参数(也可以不带参),必须是#1,#2,……这样的命名格式,同时注意在定义宏的时候注意让#1与\中间隔一个空格,否则会解析成#。在调用的时候格式为\macroname{x}{y}{z}

例子
f ( x ) = 1 2 π   σ 1 exp ⁡ [ − ( x − u 1 ) 2 2   σ 1 2 ] f ( y ) = 1 2 π   σ 2 exp ⁡ [ − ( y − u 2 ) 2 2   σ 2 2 ] \def\Normal#1#2#3{ \frac{1}{\sqrt{2\pi}\ #3}\exp{[-\frac{(#1 - #2)^2}{2\ #3^2}]} } f(x)=\Normal{x}{u_1}{\sigma_1}\\ f(y)=\Normal{y}{u_2}{\sigma_2}\\ f(x)=2π  σ11exp[2 σ12(xu1)2]f(y)=2π  σ21exp[2 σ22(yu2)2]
代码:

\def\Normal#1#2#3{
\frac{1}{\sqrt{2\pi}\ #3}\exp{[-\frac{(#1 - #2)^2}{2\ #3^2}]}
}
f(x)=\Normal{x}{u_1}{\sigma_1}\\
f(y)=\Normal{y}{u_2}{\sigma_2}\\

十四、颜色和大小

F = m a F = m a F = m a o n e   l i n e n o t h i n g \textcolor{blue}{F=ma} \\ \textcolor{#00ff00}{F=ma} \\ \textcolor{#ff0000}{F=ma} \\ \color{blue} one\ line \\ nothing F=maF=maF=maone linenothing
代码:

$$
\textcolor{blue}{F=ma}
\\
\textcolor{#00ff00}{F=ma}
\\
\textcolor{#ff0000}{F=ma}
\\
\color{blue} one\ line
\\
nothing
$$

F=ma A A \colorbox{#00ff00}{F=ma} \\ \colorbox{aqua}{A} \\ \fcolorbox{red}{aqua}{A} F=maAA
代码:

$$
\colorbox{#00ff00}{F=ma}
\\
\colorbox{aqua}{A}
\\
\fcolorbox{red}{aqua}{A}
$$

A B A B A B A B A B A B A B A B A B A B AB \Huge AB \huge AB \\ AB \LARGE AB \Large AB \large AB \\ AB \small AB \tiny AB ABABABABABABABABABAB
代码:

$$
AB
\Huge AB
\huge AB
\\
AB
\LARGE AB
\Large AB
\large AB
\\
AB
\small AB
\tiny AB
$$

十五、画图(高级用法)

1、UML时序图

在画时序图的时候
我们的思路应该是这样的:
从左到右(创建好节点),然后,从上到下(编写节点间的交互逻辑),写代码画图。

案例1:(volatile修饰的变量在多线程间的工作流程)

t1 线程 num = 0 volatile ready = false t2 线程 num=2 ready=true 写屏障 读屏障 读取ready=true 读取num=2 t1 线程 num = 0 volatile ready = false t2 线程

代码:

```mermaid
sequenceDiagram
participant t1 as t1 线程
participant num as num = 0
participant ready as volatile ready = false
participant t2 as t2 线程
t1 -->> t1:num=2
t1 ->> ready:ready=true
Note over t1,ready:写屏障
Note over num,t2:读屏障
t2 ->> ready:读取ready=true
t2->> num:读取num=2

案例2:(JVM字节码在多线程中发生的指令重排)

t1 INSTANCE t2 17:new 20:dup 24:putstatic(给 INSTANCE 赋值) 0:getstatic(获取 INSTANCE 引用) 3:ifnonnull 37(判断不为空,跳转到 37 行) 37:getstatic(获取 INSTANCE 引用) 40:areturn(返回) 使用对象 21:invokespecial(调用构造方法) t1 INSTANCE t2

代码:

```mermaid
sequenceDiagram
participant t1 as t1
participant INSTANCE AS INSTANCE
participant t2 as t2
t1 ->> t1:17:new
t1 ->> t1:20:dup
t1->> INSTANCE:24:putstatic(给 INSTANCE 赋值)
INSTANCE ->> t2:0:getstatic(获取 INSTANCE 引用)
t2->>t2:3:ifnonnull 37(判断不为空,跳转到 37 行)
t2 ->> INSTANCE:37:getstatic(获取 INSTANCE 引用)
t2->>t2:40:areturn(返回)
t2 ->> t2 :使用对象
t1 ->> t1:21:invokespecial(调用构造方法)

2、流程图(纵向和横向)

在流程图的时候
LR 指左边到右边,所以是横向流程图
TD 指上边到下边,所以是纵向流程图
我们的思路应该是这样的:
先定义好所有的流程节点,再确定好各个流程节点的指向关系,最后补充流程线上的条件

案例1:(多线程处理垃圾袋)

倒空
检查
已满
还空
保洁阿姨
主人
垃圾袋
新垃圾袋

代码:

```mermaid
graph TD
s(保洁阿姨)
m(主人)
g1(垃圾袋)
g2(新垃圾袋)

s-. 倒空 .-> g1
m -- 检查 --> g1
g1 -- 已满 --> g2
g1 -- 还空 --> g1

案例2:(LongAdder类中的add方法原理图)

为空
不为空
成功
失败
已创建
没创建
成功
失败
当前线程
Cells
cas base 累加
当前线程 cell 是否创建
return
longAccumulate
cas cell 累加

代码:
实现方式1:

```mermaid
graph LR
A(当前线程) --> B(Cells)
B --> |为空| C(cas base 累加)
B --> |不为空| D(当前线程 cell 是否创建)
C --> |成功| E(return)
C --> |失败| F(longAccumulate)
D --> |已创建| G(cas cell 累加)
D --> |没创建| F(longAccumulate)
G --> |成功| E(return)
G --> |失败| F(longAccumulate)

实现方式2:(推荐,可读性更好

```mermaid
graph LR
A(当前线程) 
B(Cells)
C(cas base 累加)
D(当前线程 cell 是否创建)
E(return)
F(longAccumulate)
G(cas cell 累加)
A --> B
B -- 为空 --> C
B -- 不为空 --> D
C -- 成功 --> E
C -- 失败 --> F
D -- 已创建 --> G
D -- 没创建 --> F
G -- 成功 --> E
G -- 失败 --> F

参考:typora常用的数学公式编辑语法

  • 30
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值