作者:@houkai
本文为作者原创,转载请注明出处:https://www.cnblogs.com/houkai/p/3399646.html


0x00 概述

TEX 是Donald E. Knuth 编写的一个以排版文章及数学公式为目标的计算机程序。TEX的版本号不断趋近于π,现在为3.141592。由Pascal 语言写成,特点: 免费、输出质量高、擅长科技排版、有点像编程。

LATEX 目前使用最广泛的TEX 宏集。 每一个LATEX 命令实际上最后都会被转换解释成几个甚至上百个TEX命令。

CTEX 国内致力于TEX 推广的网站:http://www.ctex.org/。该网站提供了CTEX 中文套装,这个安装程序把MiKTEX(TEX 在Windows 操作系统上的实现版本)和一些相关工具(如WinEdt、GSview 等)打包在一起,同时对中文接口进行了配置,以实现对中文文本的编辑。

如果想学习LATEX安装CTEX套装就可以了。LATEX 的功能和宏包有很多,每个人用到的功能是有限的;边用边学,建立了基本的概念以后,在使用中根据需求去解决问题就可以了。本文主要简单介绍LATEX的数学排版。

0x01 基础知识

1.1 LATEX控制序列的概念(类似于函数)

控制序列可以是作为命令:以“\”开头,参数:必须参数{}和可选参数[]。

1.2 环境概念

以“bengin 环境名”开始,并以“end 环境名”结束。

1.3.LATEX可以排版公式与文字

故分为:数学模式和文本模式。如果你想要在公式中排版普通的文本(直立字体和普通字距),那么你必须要把这些文本放在\textrm{...} 命令中。

1.4 在数学模式中又分为两种,一种是公式排版在一个段落之中;另一种是公式独立形式排版。

前一种,公式直接放在文字之间,公式高度一般受文本高度限制;后一种,公式另起一行,高度可调整。处于段内的数学文本要放在\\( 与\\) 之间, 与与

之间,或者\\begin{math} 与\\end{math} 之间;处于段外的数学文本放在\\[ 与\\] 之间,

与与

之间,或者\\begin{displaymath} 与\\end{displaymath} 之间(为了网页显示,这里用双斜杠表示单斜杠)。如下:

a.

b.

$\sum_{i=0}^{n}i^$    %第一种
$$\sum_{i=0}^{n}i^$$ %第二种

0x02 数学公式基本语法

2.1 上标与下标

上标命令是 ^{角标},下标命令是 _{角标}。当角标是单个字符时可以不用花括号(在 LaTeX 中,花括号是用于分组,即花括号内部文本为一组)。

$$x_$$
$$x_^$$
$$x^_$$
$$x_{}^{(n)}$$
$${}^*\!x^*$$ %(“\!” 表示其前后字符之间无间隙)

  、

2.2 分式

输入较短的分式时,最简单的方法是使用斜线,譬如输入 (x+y)/2,可得到

要输入带有水平分数线的公式,可用命令:\frac{分子}{分母}。

$$\frac{x+y}{}$$
$$\frac{}{1+\frac{1}{}}$$

  、

2.3 根式

排版根式的命令是:开平方:\sqrt{表达式};开 n 次方:\sqrt[n]{表达式}

$$\sqrt{}<\sqrt[]{}$$
$$\sqrt{1+\sqrt[p]{1+a^2}}$$
$$\sqrt{1+\sqrt[^p\!]{1+a^2}}$$

注意:上面第三个示例与第二个示例的区别,有时候 LaTeX 公式需要经过这样的微调会更美观。

2.4 求和与积分

排版求和符号与积分符号的命令分别为 \sum 和 \int,它们通常都有上下限,在排版上就是上标和下标。

$$\sum_{k=1}^{n}\frac{}{k}$$
$\sum_{k=1}^n\frac{}{k}$
$$\int_a^b f(x)dx$$
$\int_a^b f(x)dx$
微分符直体:$$\int_a^b f(x)\mathrm{d}x$$

在数学模式中,TEX 根据上下文选择字体大小。例如,上标会排版成较小的字体。如果你想要把等式的一部分排版成罗马字体,不要用\textrm 命令,只因\textrm 会暂时切换到文本模式, 而此时字体大小切换机制将不起作用。使用\mathrm 来保持字体大小切换机制的正常

2.5.公式中的空格

LaTeX 能够自动处理公式中的大多数字符之间的空格,但是有时候需要自己手动进行控制。

紧贴 $a\!b$
没有空格 $ab$
小空格 a\,b
中等空格 a\;b
大空格 a\ b
quad空格 $a\quad b$
两个quad空格 $a\qquad b$

注意:不同的TEX解析器给出的结果稍有不同,这里使用Google API生成的公式空格的间隔大小就和CTEX中不同。貌似在这里空格的差别不大...,看来Google API功能削减了一些。

在公式中灵活的运用空格命令可以起到美化公式的作用。

$$\int_a^b f(x)\mathrm{d}x$$
插入小空格:$$\int_a^b f(x)\,\mathrm{d}x$$

2.6 公式中的定界符

这里所谓的定界符是指包围或分割公式的一些符号

$($    %(
$)$ %)
$[$ %[
$]$ %]
$\{$ %{
$\}$ %}
$|$ %|
$\|$ %||

在上述这些定界符之前冠以 \left(修饰左定界符)或 \right(修饰右定界符),可以得到自适应缩放的定界符,它们会根据定界符所包围的公式大小自适应缩放。

$$\left(\sum_{k=\frac{1}{}}^{N^2}\frac{}{k}\right)$$

2.7 矩阵

对于少于 10 列的矩阵,可使用 matrix,pmatrix,bmatrix,Bmatrix,vmatrix 和 Vmatrix 等环境。

$$\begin{matrix} & \\ &\end{matrix}$$
$$\begin{pmatrix} & \\ &\end{pmatrix}$$
$$\begin{bmatrix} & \\ &\end{bmatrix}$$
$$\begin{Bmatrix} & \\ &\end{Bmatrix}$$
$$\begin{vmatrix} & \\ &\end{vmatrix}$$
$$\begin{Vmatrix} & \\ &\end{Vmatrix}$$

2.8 排版数组

当矩阵规模超过 10 列,或者上述矩阵类型不敷需求,可使用 array 环境。该环境可把一些元素排列成横竖都对齐的矩形阵列。

$$
\mathbf{X} =
\left( \begin{array}{ccc}
x_{} & x_{} & \ldots \\
x_{} & x_{} & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
$$

\mathbf大写控制符,\\表示换行,{ccc}表示列样式。array 环境也可以用来排版这样的表达式,表达式中使用一个“.” 作为其隐藏的\right 定界符。

$$
y = \left\{ \begin{array}{ll}
a & \textrm{if $d>c$}\\
b+x & \textrm{in the morning}\\
l & \textrm{all day long}
\end{array} \right.
$$

你也可以在array 环境中画线,如分隔矩阵中元素。

$$
\left(\begin{array}{c|c}
& \\
\hline
&
\end{array}\right)
$$

LATEX还有很多的数学符号,整理了下表格,可下载参考。

ML学习笔记之LATEX数学公式基本语法的更多相关文章

  1. Markdown中Latex 数学公式基本语法

    原文地址:http://blog.csdn.net/u014630987/article/details/70156489 Markdown中Latex 数学公式基本语法 公式排版 分为两种排版: - ...

  2. [ML学习笔记] XGBoost算法

    [ML学习笔记] XGBoost算法 回归树 决策树可用于分类和回归,分类的结果是离散值(类别),回归的结果是连续值(数值),但本质都是特征(feature)到结果/标签(label)之间的映射. 这 ...

  3. [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)

    [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...

  4. [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)

    [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...

  5. [ML学习笔记] 回归分析(Regression Analysis)

    [ML学习笔记] 回归分析(Regression Analysis) 回归分析:在一系列已知自变量与因变量之间相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,实现对新自变量得出因变量 ...

  6. LATEX数学公式基本语法

    TEX 是Donald E. Knuth 编写的一个以排版文章及数学公式为目标的计算机程序.TEX的版本号不断趋近于π,现在为3.141592.由Pascal 语言写成,特点: 免费.输出质量高.擅长 ...

  7. LATEX 数学公式基本语法

    作者:@houkai本文为作者原创,转载请注明出处:https://www.cnblogs.com/houkai/p/3399646.html TEX 是Donald E. Knuth 编写的一个以排 ...

  8. 16LaTeX学习系列之---LaTeX数学公式的补充

    目录 目录 前言 (一)知识点说明 1.基础细节 2.gather环境 3.align环境 4.split环境 5.cases环境 (二)实例 1.源代码 2.输出效果 目录 本系列是有关LaTeX的 ...

  9. Typora 使用 Markdown 嵌入 LaTeX 数学公式符号语法

    博客园不支持渲染 LaTeX 数学公式,需要用到什么公式,请复制到您所用的支持 LaTeX 的编辑器中查看实现效果.Typora 可以渲染 LaTeX 数学公式. 目录 行内与独行 行内公式 独行公式 ...

随机推荐

  1. ARM64编译工具链下载

    下面是自制的用于编译ARMv8指令的交叉编译工具链: 1.运行在PC上,支持SVE指令,不支持SVE ACLE,版本GCC9.2 https://pan.baidu.com/s/1_NnwajWCel ...

  2. Python在Linux环境中安装Thrift

    1.文件下载:thrift-0.11.0.tar.gz 个人网盘下载:链接:https://pan.baidu.com/s/1MXgx8LuN4wk7ssVUD9Wzaw  提取码:xw85  2. ...

  3. springBoot配置druid监控报错Failed to bind properties under 'spring.datasource.druid' to javax.sql.DataSource

    报错信息: Description: Failed to bind properties under 'spring.datasource.druid' to javax.sql.DataSource ...

  4. D. Maxim and Array

    https://www.cnblogs.com/qscqesze/p/5925893.html  原博客 http://codeforces.com/group/1EzrFFyOc0/contest/ ...

  5. python基础语法16 面向对象3 组合,封装,访问限制机制,内置装饰器property

    组合: 夺命三问: 1.什么是组合? 组合指的是一个对象中,包含另一个或多个对象. 2.为什么要用组合? 减少代码的冗余. 3.如何使用组合? 耦合度: 耦: 莲藕 ---> 藕断丝连 - 耦合 ...

  6. JMeter【第五篇】关联:5种方法

    前几天在Q群里看到群友发的最近10年性能测试工具使用率的统计,最近的2018年,jmeter+loadrunner占了93%的使用率,说明这两个是主流,其中,jmeter的使用率逐年提升,现在已经超过 ...

  7. python nose测试框架全面介绍十三 ---怎么写nose插件

    之前有一篇文章介绍了自己写的插件 nose进度插件,但最近有朋友问我,看着nose的官方文档写的插件没用,下面再详细介绍一下 一.准备 1.新建一个文件夹,随便文件夹的名字,假设文件夹放在f://aa ...

  8. element-ui级联选择器(Cascader)获取级联对象 (主要是想获取:label值)

    最近使用element-ui 的Casecader 级联对象时,后台要求将对象的label值也传过去,然而,element-ui 官方并没有提供这样方(keng)便 ( die ) 的方法. 一时间直 ...

  9. Python错误“ImportError: No module named MySQLdb”解决方法

    这个错误可能是因为没有安装MySQL模块,这种情况下执行如下语句安装: pip install MySQLdb 如果安装时遇到错误“_mysql.c:29:20: 致命错误:Python.h:没有那个 ...

  10. C语言实现FTP服务器

    公共部分代码 /* common.h */ #ifndef COMMON_H #define COMMON_H #include <arpa/inet.h> #include <ct ...