Markdown基本语法格式

标题:

#标题1 (大)
##标题2
###标题3
####标题4 (小)
以此类推 最高标题6

代码块:

​```代码块名称(可以输入各种语言java、c++、html等)

加粗:

//加粗
**加粗**
//代码高亮显示
==高亮==
//删除线
~~删除线~~
//斜体
  *斜体内容*

引用:

//引用语法
>作者:泽
>>作者:泽
>>>作者:泽

分割线:

//分割线
---
***

图片插入:

//在线图片与本地图片
![照片名子](/image/me.png)

超链接:

//超链接语法
[超链接名字](https://gihub.com/yerenping)

列表:

//无需列表
- 目录1  -后加空格
- 目录2
- 目录3
//有序列表
  1+. +名称

表格:

右键》插入》表格
用代码过于复杂不推荐使用

用 Markdown 写数学公式

Markdown 是很优秀的标记语言,目前很多平台都带 $\TeX$ 公式引擎(XTeX, Mathjax 等)的 Markdown 编辑器。文章介绍使用 Typora 客户端做公式笔记,主要为多行公式的 $\TeX$ 语法和公式识别两个问题。

Markdown 的用法本文不再赘述了,直接讲一下公式的问题:

行内公式和简单单行公式

行内公式:

系统状态方程 $\dot{x}=Ax$ 的解为 $x=e^Ax(0)$

渲染效果:

系统状态方程 $\dot{x}=Ax$ 的解为 $x=e^Ax(0)$

简单行间公式:

系统状态方程 $\dot{x}=Ax$ 的解为
$$
x=e^Ax(0)
$$

渲染效果:

系统状态方程 $\dot{x}=Ax$ 的解为
$$
x=e^Ax(0)
$$
Remark:

  • 在 Typora 中,公式功能需要自行开启
  • 在 Typora 中,默认是无编号,需要自行开启

多行公式

简单多行公式

用法:用两个$$ 嵌套,或者使用 \begin{equation}\end{equation}

示例:

$$
f_1(x)\\ % 使用 \\ 换行
f_2(x)\label{Multi1}
% 设置 label 是为了方便引用
$$

$$
\begin{equation}
f_1(x)\\
f_2(x)\notag
% \notag 取消编号
\end{equation}
$$

渲染效果
$$
f_1(x)\
f_2(x)\label{Multi1}
$$

$$
\begin{equation}
f_1(x)\
f_2(x)\notag
\end{equation}
$$

Remark:

  • 设置 label 可以很方便的引用公式,使用 \eqref{} 引用
  • \notag 可以取消编号,相应的,\tag{} 可以设置任意的标注内容

array 环境

array 环境用于简单的多行公式,比式 $\eqref{Multi1}$ 多了一个对对齐选项

用法:\begin{array}{l}\end{array}l 为对齐方式。left, right, center

示例:

$$
\begin{equation}
\dot{\boldsymbol{x}}=f(\boldsymbol{x})
=\left\{
	\begin{array}{ll}
	 % 对齐选项有l/c/r(对应左中右),需要几列就写几个
		f_{1}(\boldsymbol{x}) & \boldsymbol{x} \in S_{1} \\
		f_{2}(\boldsymbol{x}) & \boldsymbol{x} \in S_{2}
	 % & 分列,\\ 分行
	\end{array}\right.
\end{equation}
$$

渲染效果:
$$
\begin{equation}
\dot{\boldsymbol{x}}=f(\boldsymbol{x})
=\left{
\begin{array}{ll}
f_{1}(\boldsymbol{x}) & \boldsymbol{x} \in S_{1} \
f_{2}(\boldsymbol{x}) & \boldsymbol{x} \in S_{2}
\end{array}\right.
\end{equation}
$$
Remark:

  • \left\{\right. 用于自适应括号大小,只需要单边括号时,另一侧括号用 . 代替
  • 大括号在 $\LaTeX$ 中用作参数括号,需要加转义字符 \ 使用
  • array 环境中需要几列就设置几列的对齐方式,使用 & 分列,\\ 分行
  • \boldsymbol{} 用于粗体数学符号
  • array 也用于矩阵输入,但矩阵现多使用 matrix 环境

aligned 环境

aligned 环境用于需要设置对齐点的多行公式

用法:\begin{aligned}\end{ailgned}

示例:

$$
\begin{equation}
\begin{aligned}
&\dot{\boldsymbol{x}}=A \boldsymbol{x}+B \boldsymbol{u}, \quad \boldsymbol{x}(0)=\boldsymbol{x}_{0}\\
% 使用 & 设置对齐点,使用 \\ 分行
&y=C x+D u
\end{aligned}
\end{equation}
$$

渲染效果:
$$
\begin{equation}\begin{aligned}
&\dot{\boldsymbol{x}}=A \boldsymbol{x}+B \boldsymbol{u}, \quad \boldsymbol{x}(0)=\boldsymbol{x}_{0}\
&y=C x+D u
\end{aligned}\end{equation}
$$
Remark:

  • aligned 需要 amsmath 宏包支持,现在大部分的引擎都会带有该宏包

  • \quad 用于生成空白间距,类似的命令有:\qquad \, \: \; (正间距)\! (负间距)

  • 嵌套的 equation 环境是为了生成编号

  • 在 $\LaTeX$ 中aligned 是无法单独使用的,必须嵌套在 equation 环境中,在很多其他基于 $TeX$ 的引擎中,都默认省去了 equation 环境,任何行间公式都是当做 equaiton 环境处理,所以会出现 aligned 能够单独使用的情况,但是在需要编号的时候,aligned 是无法自动生成编号的,这是可以嵌套一个 equation 环境来生成编号

简单宏定义

宏定义能够实现自定义算符、简化过于冗长的命令

自定义命令用法:\newcommand\定义命令[参数个数]{内容}(内容中用 #1, #2, #3 … 来设置形参)

自定义算符用法:\DeclareMathOperator{\定义命令}{算符}

示例:

$$
\newcommand{\bx}{\boldsymbol{x}} \notag
\DeclareMathOperator{\sign}{sign}
$$

渲染效果:$\sign{x},\bx$ (\sign{x},\bx)

Remark:

  • 声明需在文章最开头设置
  • 在 Typora 中,如果公式渲染异常,可以再编辑中找到刷新公式

公式识别问题

[Mathpix][] 提供 $\LaTeX$ 公式识别,准确度很高,每月 50 次免费,推荐注册可以获得 50-200 次额外次数,API 可以获得没有 1000 次,日常使用是足够了。

Mathpix识别效果

参考文档

文章简单介绍了几个多行公式的实现,这里再贴出几个文档,以飨读者:

MathJax参考文档:http://docs.mathjax.org/en/latest/

LaTeX参考文档:http://www.ctan.org/pkg/lshort-zh-cn