Markdown自用手册

本文主要介绍 MathJax 数学公式。MathJax.js 是一个网页端 latex 公式渲染引擎。

希腊字母

首字母大小写对应大小写的希腊字母(Greek letters):
\alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta \theta \iota \kappa \lambda \mu \nu \xi \pi \varpi \rho \varrho \sigma \varsigma \tau \upsilon \phi \varphi \chi \psi \omega \Omega \ell
αβγδϵεζηθικλμνξπϖρϱσςτυϕφχψωΩ

其中部分字母开头是 \var- 表示变量专用的形式。

自定义函数/操作符

在公式中如果直接写英文字母会渲染成斜体,如sin,但我们可能想让其不倾斜.

MathJax中内置了\sin,\lim等函数写法,可以直接用,非内置的函数的写法是:\operatorname{operator}(x),渲染成operator(x)

也可使用{\rm operator}(x),渲染成operator(x),或者\text{operator}:operator(x)

如果一个自定义操作符频繁被用到,可以在文件中加上这句:$\DeclareMathOperator{\arsinh}{arsinh}$ ,之后便可直接使用$\arsinh x$了.

operatorx+2(x)limx0x2

文字颜色

\color{颜色}{文字}
颜色可以是green、blue等文字表示,也可以是rgb三个十六进行数字表示

符号

列举一些常用的符号表示,也可以在一些在线网页工具中查找所需的符号。

在线查询网站Easy Copy Mathjax

参考:stackexchange

不同字体的英文字母

\mathcal L \mathbb L \mathbf L: LLL

空白符

\ thin space ; \; wider space;

\quad 四个空格,\qquad 更多空格

a\ b\; c\quad d\qquad e显示为: a bcde

下划线与上下标

\underline{content}_{subscript},\underbrace \overbrace

contentsubscript,xx,x12

正下方下标表示\underset{sub}{text},比如 minimizeΦ

绝对值和范式

\lvert x \rvert:|x|

将v大写,变为二范式:x

数学符号

数学运算: \times \div \pm \mp ×÷±

余数模:a\equiv b\pmod n ==> ab(modn)

求和积分:\sum \prod \int \iint \bigcup \bigcap

比较符:\lt \gt \le \ge \neq <>≤≥≠<>≤≥≠.

可以在每个符号前加\not 给符号添加一个 slash: \not\lt ≮

箭头:\to \rightarrow \leftarrow \Rightarrow \Leftarrow \mapsto →→←⇒⇐↦

星号※ \star \ast

近似:\approx \sim \simeq \cong \equiv \prec \lhd ≈∼≃≅≡≺,⊲

梯度、偏导、无穷:\infty \aleph_0 \nabla \Delta \delta \partial \Im \Re : ,0,,Δ,δ,,,

多点:\dots或\ldots ... \cdots⋯ \ddots⋱ \vdots⋮

圆点: \circ \bullet \bigcirc \oplus \ominus \otimes \odot:

逻辑操作符logical: \land \lor \lnot \forall \exists \top \bot \vdash \vDash ¬

集合: \cup \cap \setminus \subset \subseteq \subsetneq \supset \in \notin \emptyset \varnothing ⊂⊆⊊⊃∈∉

极限:\lim_{变量 \to 表达式} 表达式 limn+1n

箭头图示:

输入 图示 输入 图示
\uparrow ↑↑ \Uparrow ⇑⇑
\downarrow ↓↓ \Downarrow ⇓⇓
\leftarrow ←← \Leftarrow ⇐⇐
\to \rightarrow →→ \Rightarrow ⇒⇒
\leftrightarrow ↔↔ \Leftrightarrow ⇔⇔
\longleftarrow ⟵⟵ \impliedby \Longleftarrow ⟸⟸
\longrightarrow ⟶⟶ \implies \Longrightarrow ⟹⟹
\longleftrightarrow ⟷⟷ \iff \Longleftrightarrow ⟺⟺
\mapsto ↦↦ ... ...

大的括号

由于{}在公式中如\frac分子式中用来隔离分子和分母,所以如果想在公式中表达较大的括号,需要用\left和\right

\left 与 \right 可以适用于多种类型的括号,使得括号的大小能够适应它所包裹的公式的大小。

(round), [square] , {curly} , | \vert, \Vert, \langle , \rangle, \lceil , \rceil, \lfloor , \rfloor

(),[],{},||,,,,,,,

示例:

$$
f\left(
\left[
\frac{ 1+\left\{x,y\right\} }{ \left( \frac{x}{y}+\frac{y}{x} \right) \left(u+1\right)}
+a
\right]^{3/2}
\right)
$$

f([1+{x,y}(xy+yx)(u+1)+a]3/2)

在整行公式中匹配的括号通常要求成对出现,否则可能出现显示问题。Mathjax提供了一个不可见的括号,用.表示,这使得我们可以单独使用单个括号,如:\left.\frac12\right\rbrace

12}

音标(Accent)与矢量符号

\hat{ a } \grave{ a } \acute{ a } \dot{ a } \ddot{ a } \bar{ a } \vec{ a } \check{ a } \tilde{ a } \breve{ a } \widehat{ AAA } \widetilde{ AAA }
效果: a^a`a´a˙a¨a¯aaˇa~a˘AAA^AAA~

使用 \vec{矢量}来自动产生一个矢量。也可以使用 \overrightarrow等命令自定义字母上方的符号。同时,如果使用\underrightarrow可以在字符下方产生一个箭头。值得注意的是,\vec产生的箭头有一定的大小限制,超过之后就不会变大,而\overrightarrow产生的箭头则会随着内容改变大小。

分数

\frac{1}{3} = {1 \over 3} = \dfrac{1}{3} = \tfrac{1}{3}13=13=13=13

dfrac(display fractions)与tfrac(text) 区别在于显示的方式、大小上。

排列组合数

\mathbf C_5^2={5 \choose 2}=\binom{5}{2} : C52=(52)=(52)

删除线

公式内使用 \require{cancel} 来容许片段删除线的使用。 使用 \cancel{字符}、\bcancel{字符}、\xcancel{字符} 和 \cancelto{字符} 实现不同的效果。

保留字符

Mathjax广泛采用了反斜杠作为标记符,还使用了$、{}、_等字符来描述公式。如果要在Markdown中展示这些字符,需要转义:\$ \{ \}, \_。对于反斜杠自身的转义需要用\backslash,因为两个反斜杠表示公式换行。

公式格式化

\begin{equation}
可以嵌套cases,align等公式形式.
换行用两个反斜杠\\,如果用mathjax渲染没有换行的话,多用几个反斜杠\\\
\end{equation}

$ 表示行内公式:

质能守恒方程可以用一个很简洁的方程式 E=mc2 来表达。

$$ 表示整行公式,但需要写在多行中,否则效果和行内公式一样:

$$
\sum^{j-1}_{k=0} \widehat{\gamma}_k z_k = 0
$$

k=0j1γ^kzk=0

公式对齐

bbox加边框,背景色等,控制范围为大括号内的内容

在公式或矩阵的编辑中符号&表示要对齐的字符位置,用&&连接的两段内容在显示时会将多行的内容的第二段左对齐.

\bbox[10px,border:2px solid red]{
\begin{align}
v + w & = 0 &&\text{Given} \tag 1\\
-w & = -w + 0 && \text{additive identity} \tag 2\\
-w + 0 & = -w + (v + w) && \text{add equations $(1)$ and $(2)$} \tag 3
\end{align}
}

(1)v+w=0Given(2)w=w+0additive identity(3)w+0=w+(v+w)add equations (1) and (2)

条件表达式:包含左大括号,但是等号未对齐
\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}

等号对齐,但需显式写上大括号,注意\right后面加上句点表示大括号范围的结束
\left\{
\begin{aligned}
a_1x+b_1y+c_1z &=d_1+e_1 \\
a_2x+b_2y&=d_2 \\
a_3x+b_3y+c_3z &=d_3
\end{aligned}
\right.

用&分割需要对齐的部分
f(n) =
\begin{cases}
\frac{n}{2}, & \text{if $n$ is even} \\[2ex]
3n+1, & \text{if $n$ is odd}
\end{cases}

{a1x+b1y+c1z=d1+e1a2x+b2y=d2a3x+b3y+c3z=d3

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

还有eqnarray类似align,但是需要两个&符号表示对齐位。不推荐使用。align is from amsmath, while eqnarray is from base LaTeX。

\begin{eqnarray}
\vec\nabla \times (\vec\nabla f) & = & 0  \cdots\cdots梯度场必是无旋场\\
\vec\nabla \cdot(\vec\nabla \times \vec F) & = & 0\cdots\cdots旋度场必是无散场\\
\vec\nabla \cdot (\vec\nabla f) & = & {\vec\nabla}^2f\\
\vec\nabla \times(\vec\nabla \times \vec F) & = & \vec\nabla(\vec\nabla \cdot \vec F) - {\vec\nabla}^2 \vec F\\
\end{eqnarray}

(1)×(f)=0(2)(×F)=0(3)(f)=2f(4)×(×F)=(F)2F

访问 MathJax 参考更多使用方法。

矩阵

1xx21yy21zz2

$$
\begin{matrix}
1 & x & x^2 \\
1 & y & y^2 \\
1 & z & z^2 \\
\end{matrix}
$$
加括号方式:\left...\right或将matrix替换成pmatrix/bmatrix/Bmatrix/vmatrix/Vmatrix,对应()/[]/{}/||/||||

带分割符号的矩阵

cc|c 代表在一个三列矩阵中的第二和第三列之间插入分割线。

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

[123456]

行内矩阵

\bigl(\begin{smallmatrix} ... \end{smallmatrix}\bigr)

这是一个行内矩阵: (abcd)

包含纯文本

在公式中显示的英文字符通常为斜体,可以使用\text{…}包裹一段文字,让其展示为普通文字说明并用正体显示。text中可以嵌套公式。

公式颜色

\color{red}{part1} \color{black} part2 ... 其中part的花括号可加可不加。

注:在某些Markdown应用软件中一行需要使用至少两个color,否则生效范围会到行尾。

数组与表格

数组与表格均可用array定义,c l r 分別代表居中、左对齐及右对齐,\hline表示横线。

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

n10.24112521189832020001+10i

画图

时序图

```sequence
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!
​```
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!

流程图

```flow
st=>start: Start
e=>end
op=>operation: My Operation
cond=>condition: Yes or No?

st->op->cond
cond(yes)->e
cond(no)->op
​```
st=>start: Start
e=>end
op=>operation: My Operation
cond=>condition: Yes or No?

st->op->cond
cond(yes)->e
cond(no)->op

交换图标

采用 \require{AMScd} 引入,@>>>代表右箭头、@<<<代表左箭头、@VVV代表下箭头、@AAA代表上箭头、@=代表水平双实线、@|代表垂直双实线、@.代表沒有箭头。 在@>>>>>> 之间任意插入文字即代表该箭头的注释文字。

$$
\require{AMScd}
\begin{CD}
A @>a>> B \\
@V b V V\# @VV c V \\
C @>> \text{very long label} > D
\end{CD}
$$

AaBb#cClabelD

提示: 更多关于时序图与流程图的语法请参考:

其它

表格竖线

markdown中写表格时如果表格内容包含英文竖线则会引起冲突,有如下处理方式:

  • HTML转义

  • 改成中文竖线字符

  • 用公式中的转义表示:\mid

竖线的html转义符为:

&verbar;
&vert;
&VerticalLine;
&#x0007C;
&#124;

table表格中实现手动换行,使用<br>

反引号对中使用反引号

在 Markdown 中,经常会使用一种反引号对语句来标识一段 特殊文字,如 特殊文字。不过,有时候 特殊文字 中也会含反引号。显然,如果在 特殊文字 内直接使用反引号, Markdown 渲染器会优先匹配最近的一对反引号,这会导致渲染器的误解析。那么,如何在反引号对语句中使用反引号呢?
方法是,将原来的 反引号对 改成 二反引号对 + 空格。比如,如果原来的语句是 【特殊文字】,现在,特殊文字 中将含有反引号,此时的语句应改成 【含有`反引号`的特殊文字】。

参考 blog

注音 ruby HTML

注音 (ruby、振假名)的HTML写法:<ruby> 文本 <rt>注音</rt> </ruby>
可能因为不常用,多数Markdown软件未做支持,但是大多都支持混杂HTML片段。

比如 <ruby>动态链接库<rt>dynamic link library</rt></ruby> 的预览效果:

动态链接库dynamic link library

问答-隐藏详情 HTML

<details>
  <summary>WHY DOES ...?</summary>
  Answer: xx.
</details>

效果:

WHY DOES ...? Answer: xx.

参考

Maxkit: 如何在 Markdown 輸入數學公式及符號

脚注

方法一:HTML

标准:<sup>上标引用内容</sup>,可以用<a>,<p>,<img>等标签来描述引用内容。

方法二:markdown语法

视markdown渲染器的支持程度,非标准。

(1)分离使用[^n][^n]: 引用内容

即引用和定义的位置分离,可以在多处重复引用。

(2)^[引用内容] 引用的位置直接定义,在不需要重复引用的情况下会比较方便。

注:各编辑器对这两个语法支持情况不同,比如Typora编辑器支持(1),VNote、CSDN支持两者(仅测试了Markdown-it渲染器),为知笔记旧版支持(1)而新版的实时渲染引擎却不支持。

示例:

生成一个脚注[^footnote123].
[^footnote123]: 这里是 **脚注** 的 *内容*.

生成一个脚注.


  1. http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference ↩︎

  2. 这里是 脚注内容. ↩︎

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