主要是数学和计科的😎
下面来正式开始👇
首先要了解一些基本语法☝️
MarkDown
https://markdown.com.cn/basic-syntax/
网页文件格式HTML叫超文本标记语言,MarkDown则是一种轻量级标记语言,排版语法简洁,使用易读易写的纯文本格式编写文档,与HTML一样有编辑模式和渲染模式,是敲代码和数学公式的必备良品!各大网站写作平台及文本编辑器均支持MarkDown,以及Typora——MD最强软件。
『01』、空格与换行
在HTML和MarkDown中,多个空格(Space键)会被渲染成一个空格,要显示多个空格需使用特殊字符
,多个换行(Enter键)会被渲染成一个换行,要显示多个换行需使用标签<br>
,一般不使用制表符(Tab键),以4个
代替。
必要处使用▭来代替不能显示的空格。
在显示上1个字母约等于1个空格宽度,1个汉字约等于2个字母宽度。
『02』、转义字符与标签
上述一些由于字符被MarkDown语法占用,如果发现某些字符没有按想象中的渲染出来,需使用反斜杠\(backslash)转义,
如:\*,\_,\#,但成对的`(backquote)$(dollar)在本站中不能正常显示,加\也没用,必要处使用全角‘’¥¥代替。
另有一种是特殊字符,以&开头和;结束,也用于显示不能按想象中渲染出来的字符,
如&<>
,对应&<>
三个符号。
MarkDown可以直接使用HTML的标签,如<!----><span><div><u><mark>
但是只支持一行内使用,不支持标签跨行闭合,而且行内一定要闭合。
设置元素的颜色、字体等请使用标签添加style属性,如
<div style="text-align: right; font-size: 30px; font-family: arial; color: blue;">< ijklmno ></div>显示如下,
『03』、段落
两个段落之间用一个空行分隔,段落开头不要有空格或制表符去缩进,相当于<p>
。
若行与行之间没有空行,则视为同一段落,否则视为不同的段落。
如果想在段内换行,则需要在上一行的结尾插入两个以上的空格然后按回车键。
『04』、标题
行的最前面添加一个井号和一个空格#▭
,行内无效,#的数量代表了标题的级别,#
~######
对应<h1>
~<h6>
,1至6级标题。
『05』、强调
斜体,在词语两边用一个星号*
(one asterisks)*
包裹,相当于<em>
。
粗体,在词语两边用两个星号**
(two asterisks)**
包裹,相当于<strong>
。
斜体和倾斜是不一样的,倾斜是直立字体稍微倾斜而成,而不像斜体那样改变字母的形状。
用下划线_
(underscore)_
包裹,也是一样的效果。
『06』、引用
要创建块引用,请在段落前添加一个小于号和一个空格>
,小于号前不能有多余的缩进。
连续显示多行引用需要在每一行前面都添加>▭。
“引用引用”
『07』、列表
创建有序列表,请在每个列表项前用数字紧跟一个英文句点再接一空格1.
,行内使用无效。
创建无序列表,请在每个列表项前面用减号再接一空格-
,缩进可创建嵌套列表。
『08』、分隔线
三个减号---
单独占一行,且上下均为空行(Enter键)。
『09』、超链接
中括号内放显示文本,后紧跟小括号放链接地址。[必应一下](https://bing.com)
,必应一下。
相当于<a href="https://bing.com">必应一下</a>
。
『10』、图片
感叹号,紧跟中括号放替代文本,紧跟小括号放图片资源链接。
图片只是显示在这里,文件还是在他链接所在的位置存着。![加载中](LoadingImg.gif)
。
相当于<img src="" alt="" title="">
。
『11』、删除线
在词语两边用两个波浪号~~
(two tildes)~~
包裹,相当于<del>
,同时注意是英文输入状态下的半角波浪号。
『12』、表格
要创建一个表格,请像下面这样,
第一行是表头,第二行是对齐方式,从第三行开始填充内容。
下面的语法本站MD渲染引擎不支持,Typora支持,
『01』、空格与换行
Typora支持显示连续敲下的多个Space键,且能使用Tab键,Enter键换段落,Shift+Enter只换行。
『02』、上标与下标
上标以一对尖号^
(one caret)^
包裹,下标以一对浪号~
(one tilde)~
包裹。
『03』、背景高亮
在词语两边用两个等号‘==’包裹。
『04』、表情
一对冒号(one colon)加表情对应单词,如:smile:
,
全部表情简短代码可以在这查
『05』、任务列表
在每行的开头,未勾选 - [ ]
,已勾选 - [x]
。
Code Syntax
比起其它语法,MarkDown好就好在对代码区域的高亮,而且Typora中不同的语法还有对应的语法突出显示。
使用单反引号前后包裹的是行内代码,如‘int m = n;’ => int m = n;
。
双反引号可以在包裹中显示出反引号,如let str = `javascript string`;
。
三反引号(three backquotes)上下包裹起来的内容将渲染成代码块,如:
if __name__ == "__main__":
print("hello, python!")
代码块中Space键、Tab键、Enter键与平常一致。
LaTeX
http://www.uinio.com/Math/LaTex/
MarkDown另一个强大的功能就是可以配合LaTeX渲染出数学公式,跟手写一样,所有语法由\和{}控制,
常见的渲染引擎有MathJax和KaTeX,本站用MathJax3,Typora也是。
行内公式用单美元号前后包裹,公式块用两美元号(two dollars)上下包裹,
『01』、空格与换行
名称 | 预览 | 关键字符 |
---|---|---|
空格 | $a\ b$ | \▭ |
四空格 八空格 | $a\quad b$ | \quad and \qquad |
指定长度的水平空格 | $a\hspace{16px}b$ | \hspace{16px} |
换行 | $\displaylines{a=0\\b=0}$ | \\\ or \newline |
注释 | $不显示% won't display$ | % comment |
反斜杠 | $\backslash$ | \backslash |
公式块中没法显示Space、Tab、Enter,得用以上命令。
一般把空格用在命令后作必需的分隔,如a\quadb是不对的,a\quad▭b才会被正确解析。
MathJax不支持\vspace{}、\hfill、\vfill。
在公式中显示百分号请加反斜杠\%。
用\verb||可以一字不差的显示原文本,如$\verb|io10汉字% \\\/{}|||$。
在公式显示上1个字母约等于2个空格宽度,1个汉字约等于2个字母宽度。
『02』、字体样式
名称 | 预览 | 关键字符 |
---|---|---|
段落颜色 | $\color{red}x^2-{\color{blue}2x}+\color{green}{1}=?$ | \color{red}x^2-{\color{blue}2x}+\color{green}{1}=? |
背景颜色 | $\colorbox{yellow}{lnx, x>0.}$ | \colorbox{yellow}{lnx, x>0.} |
普通文本 | $\text{text description detail}$ | \text{text description detail} |
文本颜色 | $\textcolor{red}{x^2}-\textcolor{blue}{2x}+\textcolor{green}{1}=?$ | \textcolor{red}{x^2}-\textcolor{blue}{2x}+\textcolor{green}{1}=? |
文本粗体 | $\textbf{bold@olOL01}$ | \textbf{bold@olOL01} |
文本斜体 | $\textit{italic@olOL01}$ | \textit{italic@olOL01} |
文本衬线体 | $\textrm{roman_serif@olOL01}$ | \textrm{roman serif@olOL01} |
文本无衬线体 | $\textsf{sans_serif@olOL01}$ | \textsf{sans_serif@olOL01} |
文本打字机体 | $\texttt{typewriter@olOL01}$ | \texttt{typewriter@olOL01} |
文本和公式默认字体 | $olOL01汉字$ | olOL01汉字 |
公式罗马体 | $\mathrm{roman@olOL01}$ | \mathrm{roman@olOL01} |
公式无衬线体 | $\mathsf{sans\_serif@olOL01}$ | \mathsf{sans\_serif@olOL01} |
公式打字机体 | $\mathtt{typewriter@olOL01}$ | \mathtt{typewriter@olOL01} |
公式黑体/粗体 | $\mathbf{boldface@olOL01}$ | \mathbf{boldface@olOL01} |
公式意大利体/斜体 | $\mathit{italic@olOL01}$ | \mathbf{boldface@olOL01} |
公式德文尖体/哥特体 | $\mathfrak{fraktur@olOL01}$ | \mathfrak{fraktur@olOL01} |
公式书法体 | $\mathcal{calligraphy@olOL01}$ | \mathcal{calligraphy@olOL01} |
公式手写体 | $\mathscr{script@olOL01}$ | \mathscr{script@olOL01} |
公式黑板报体 | $\mathbb{blackboard@olOL01}$ | \mathbb{blackboard@olOL01} |
极小字号 | ${\tiny 极小}$ | {\tiny 极小} |
超小字号 | ${\scriptsize 超小}$ | {\scriptsize 超小} |
小字号 | ${\small 小}$ | {\small 小} |
正常字号 | ${\normalsize 正常}$ | {\normalsize 正常} |
大字号 | ${\large 大}$ | {\large 大} |
超大字号 | ${\Large 超大}$ | {\Large 超大} |
特大字号 | ${\LARGE 特大}$ | {\LARGE 大} |
巨大字号 | ${\huge 巨大}$ | {\huge 巨大} |
巨无霸字号 | ${\Huge 巨无霸}$ | {\Huge 巨无霸} |
注意看一下\color{}和\textcolor{}在-+号处的颜色区别。
\colorbox{yellow}{¥\displaystyle\frac{a}{b}¥}可以为转换为公式后的背景着色,仅在公式块中可以使用。
\text{}其实就是\textrm{},\texttt{}是一种等宽字体族,较好看推荐使用。
MathJax3似乎不支持\textmd{medium}、\textsl{slanted}、\textsc{smallcaps}、\textup{upright}。
MathJax3对不在任何\text{}\math{}内的东西使用的是mathjax-tex字体族。
\text{}内无需对空格转义,\math{}内需要。
在出现分式的地方最好用\large{}包裹一下,不然显示在一行太小了。
『03』、常见数学符号
名称 | 预览 | 关键字符 |
---|---|---|
小学乘除号 | ${a}\times{b}\div{c}$ | {}\times{} {}\div{} |
分数线 | $\frac{300000}{400000}$ | \frac{}{} |
推理 等价 | ${p}\Rightarrow{q}\ {q}\nLeftarrow{p}\ {o}\Leftrightarrow{p}$ | {}\Rightarrow{} {}\nLeftarrow{} {}\Leftrightarrow{} |
属于 不属于 | ${a}\in\mathbf{A}\ {b}\notin\mathbf{B}$ | {}\in{} {}\notin{} |
存在 任意 | $\exists{a}>0\ \forall{b}<0$ | \exists{} \forall{} |
空集 包含于 | $\emptyset\subsetℝ$ | \emptyset\subset |
向量 | $\vec{i}\vec{j}\vec{k}$ | \vec{} |
上横线 | $\overline{x}$ | \overline{} |
下横线 | $\underline{y}$ | \underline{} |
估计值 | $\widehat{z}$ | \widehat{} |
下标 | $\log_{10}(10)=1$ | _{} |
上标 乘方 | $\exp{\{-1\}}=e^{-1}$ | ^{} |
开平方 开立方 | $2=\sqrt{4}=\sqrt[3]{8}$ | \sqrt{} \sqrt[]{} |
括号的放大 | $\big{(}\Big{(}\bigg{)}\Bigg{)}$ | \big{(} \Bigg{)} |
不等于号 | ${a}\leq{b}\ {c}\geq{d}\ {e}\neq{f}$ | \leq{} \geq{} \neq{} |
底部大括号 | $\underbrace{a+b+\cdots+z}_{26}$ | \underbrace{} |
极限 | $\lim_{n\to\infty}a_n$ | \lim_{ \to\infty} |
累加 | $\sum_{i=1}^{n}i=n(n+1)/2$ | \sum_{}^{} |
连乘 | $\prod_{j=1}^{\infty}2^{-j}=1$ | \prod_{}^{} |
导函数的另一种写法 | $\dot{y}\ \ddddot{y}$ | \dot{} \ddddot{} |
不定积分 | $\int{2x}\mathbb{d}x=x^2+Const$ | \int{} \mathbb{d}x |
定积分 | $\int_{a}^{b}x\mathbb{d}x$ | \int_{}^{} \mathbb{d}x |
偏微分 | $\frac{\partial}{\partial{y}}[z]$ | \partial{} |
二重积分 | ${DISTRICT:}\iint{}f(x,y)\mathbb{d}x\mathbb{d}y$ | \iint{}f(x,y)𝕕x𝕕y |
环曲线积分 | ${CIRCLE:}\oint{}x\mathbb{d}x+y\mathbb{d}y$ | \oint{}x𝕕x+y𝕕y |
『04』、多行等式对齐
没对齐是这样的,
$$ \displaylines{f(x)=xe^x\\f'(x)=(x+1)e^x\\f''(x)=(x+2)e^x} $$
MathJax3对\\\的换行仅能用于夹在{\begin{}}{\end{}}中,否则需要\displaylines{}中才起作用。
也不建议使用上述打法,建议公式块用\begin\end夹击打法。
&符可以用来锚定对齐点,
I&=\int_{0}^{\pi/2}cosx\mathbb{d}x \\\
&=sinx \bigg|_{0}^{\pi/2} \\\
&=1-0=0 \\\
$$ ==>\quad \begin{align} I&=\int_{0}^{\pi/2}cosx\mathbb{d}x \\ &=sinx \bigg|_{0}^{\pi/2} \\ &=1-0=0 \\ \end{align} $$
{align*}能取消公式编号,不过在本站中似乎align也不对公式编号?
可以有多个对齐点,右左交替对齐,每出现一个&改变一次对齐方式,
R&=L& rrr&=lll &&111 \\\
RR&=LL& rr&=ll &&22 \\\
RRR&=LLL& r&=l &&3 \\\
$$ ==>\quad \begin{align} R&=L &rrr &=lll &&=111 \\ RR&=LL &rr &=ll &&=22 \\ RRR&=LLL &r &=l &&=3 \\ 》&\ |《 &》&\ |《 &》&\ |《 \\ \end{align} $$
这样可方便每列等式都以等号为对齐点。
『05』、矩阵和方程组
1 & 0 & \cdots & 0 \\\
0 & 1 & \cdots & 0 \\\
\vdots & \vdots & \ddots & \vdots \\\
0 & 0 & \cdots & 1 \\\
$$ ==>\quad \begin{bmatrix} 1 & 1 & \cdots & 0 \\ 1 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \\ \end{bmatrix} $$
x + y + z = 1 \\\
2x + 2y + 2z = 2 \\\
3x + 3y + 3z = 3 \\\
$$ ==>\quad \begin{cases} x + y + z = 1 \\ 2x + 2y + 2z = 2 \\ 3x + 3y + 3z = 3 \\ \end{cases} $$
公式在网页中不能复制,因为渲染出来已经不是文本了。在公式上右键有MathJax提供的选项。
若遇到没能按想象中渲染出来的,请多加一对大括号包裹,使用反斜杠显示出大括号,注意小括号不要打成中文全角的。