更新时间:2019.10.02

1. 序言

  当我们首次在文档中输入公式的时候,我们首先想到的是word,毕竟这是我们极为常用的三件套之一。事实上,使用word的墨迹公式(磨叽???)写一个简单的数学公式也还是比较方便的。然而,当我们需要大量输入复杂的数学公式时,用word就十分崩溃了。这一天,我终于想起一度被word所支配的恐怖和手输了一晚上数学公式的屈辱???

  为了不让噩梦重现,下面来总结一下latex这个无敌排版工具的常用用法(分成几篇来讲)。当然,学习latex不但对日后的论文科研有极大的好处,而且jupyter notebook上也支持latex的输入。

2. 命令介绍

  在提及怎么进行公式输入之前,我们先了解一下latex的命令是长什么样子的

  • 无参数命令:主要是以\command的形式输入,例如\hline
  • 有n个参数命令:主要是以\command{parameter 1}{parameter 2}\(\cdots\){parameter n}的形式输入,例如\begin{equation}
  • 有备选参数的命令:主要是以\command[arg] {parameter 1}{parameter 2}\(\cdots\){parameter n}的形式输入,例如\sqrt[n]{x^2 + y^2}

3. 公式输入

  在latex中,有多种公式输入的方式,比如说行内公式与行间公式,又或者直接使用\begin{}\end{}的命令

3.1 无编号公式

  我通常使用的都是无编号公式,毕竟不是在写论文,基本都不需要对公式进行编号,而无编号公式主要分为两种输入方式。

3.1.1 行内公式

  直接使用一组$包着想要输入的内容,来具体看一个例子:

随机变量$X$的分布函数为$F(x)$,求出它的对应的密度函数$f(x)$

显示效果:

随机变量\(X\)的分布函数为\(F(x)\),求出它的对应的密度函数\(f(x)\)

3.1.2 行间公式

  与行内公式稍有不同,行间公式是使用一组$$包着想要输入的内容,来具体看一个例子:

我们熟知的勾股定理是:$$a^2 + b^2 = c^2$$

显示效果:

我们熟知的勾股定理是:$$a^2 + b^2 = c^2$$


3.2 有编号公式

  有时我们在写论文的时候,要对公式进行编号标注,这时可以使用以下几种方式:

3.2.1 手动编号

  比较简便的方法就是在公式里直接加上\tag{},其中{}里放编号。这种方式的好处是,我们能够对编号进行多样的设置

$$a^2 + b^2 = c^2 \tag{1.1}$$
$$a^2 + b^2 = c^2 \tag{no.1}$$

显示效果:

\[a^2 + b^2 = c^2 \tag{1.1}
\]

\[a^2 + b^2 = c^2 \tag{no.1}
\]

3.2.2自动编号

  我们可以使用\begin{equation}\end{equation}进行公式输入,其中要注意的是begin和end是一组命令,要同时使用,并且编号不能够修改。

\begin{equation}
a^2 + b^2 = c^2
\end{equation}

显示效果:

\begin{equation}

a^2 + b^2 = c^2

\end{equation}

  此外,在有的支持latex的编辑器中,也可以使用\label{}来添加公式标签,使用\ref{}来引用编号

\begin{equation}\label{eq2}
a^2 + b^2 = c^2
\end{equation}
这是第(\ref{eq2})个公式

显示效果:

\begin{equation}\label{eq2}

a^2 + b^2 = c^2

\end{equation}

这是第(\ref{eq2})的公式

3.2.3 等式对齐

  当我们需要输入多个有编号的公式,并且要让它们自动对齐时,可以使用参数align

<!--不加align参数-->
\begin{equation}
x + y = 1\\\\
2x + y \neq 1\\\\
3x +4y \leq 2\\\\
4x \geq y
\end{equation}

显示效果:

\begin{equation}

x + y = 1\\

2x + y \neq 1\\

3x +4y \leq 2\\

4x \geq y

\end{equation}

  • tip1:博客园中的\\是代表转义后的\,实际上,在有些编辑工具中,直接\\就能直接换行了(像jupyter notebook),并不需要使用\\\\
  • tip2:在latex中,不等于\(\neq\)使用$\neq$表示,小于等于\(\leq\)使用$\leq$表示,大于等于\(\geq\)使用$\geq$表示
  • ps:可以看到,输入的公式被看成了一个整体,并没有分别对这些公式进行编号。
<!--使用align参数-->
\begin{align}
x + y = 1\\\\
2x + y \neq 1\\\\
3x +4y \leq 2\\\\
4x \geq y
\end{align}

显示效果:

\begin{align}

x + y = 1 \\

2x + y \neq 1 \\

3x +4y \leq 2 \\

4x \geq y

\end{align}

  • ps:可以看到,输入的公式被分别进行编号。

3.2.4 分开输入

  当公式很长,无法在一行中显示;又或者在分步计算时,需要将公式拆分,这时可以使用split参数

\begin{equation}
\begin{split}
(x + y)(x + 4y) & = x^2 + 4xy + xy + 4y^2\\\\
& = x^2 +5xy + 4y^2
\end{split}
\end{equation}

\begin{equation}

\begin{split}

(x + y)(x + 4y) & = x^2 + 4xy + xy + 4y^2\\

& = x^2 +5xy + 4y^2

\end{split}

\end{equation}

3.2.5 分类输入

当一个公式是分段函数时,就需要使用cases参数

\begin{equation}
a_{i1}A_{j1} + a_{i2}A_{j2} + \cdots + a_{in}A_{jn} =
\begin{cases}
\begin{vmatrix}A\end{vmatrix},& i =j\\\\
0, & i \neq j
\end{cases}
\end{equation}

\begin{equation}

a_{i1}A_{j1} + a_{i2}A_{j2} + \cdots + a_{in}A_{jn} =

\begin{cases}

\begin{vmatrix}A\end{vmatrix},& i =j\\

0, & i \neq j

\end{cases}

\end{equation}

  • ps:如果每个情况的公式都要有编号,可以使用numcases参数,但是要在专门的latex套件中调用cases宏包

LaTeX常用篇(一)---公式输入的更多相关文章

  1. LaTeX常用篇(二)---上下标/分式/根式/求和/连乘/极限/积分/希腊字母

    目录 1. 序言 2. 上下标 3. 分式 4. 根式 5. 求和和连乘 6. 极限 7. 积分 8. 常用的希腊字母 9. 补充项 更新时间:2019.10.27 增加补充项中的内容 1. 序言   ...

  2. LaTeX常用篇(三)---矩阵与表格

    目录 1. 序言 2. 矩阵 2.1 复杂写法 2.2 简化写法 2.3 复杂矩阵 3. 表格 4. 对齐 更新时间:2019.10.02 1. 序言   矩阵是一个强大的工具,许多东西都能够用矩阵来 ...

  3. latex 常用小结

    在写论文,甚至有些课程的报告的时候,latex是常用的工具.这篇博文简单的记录了latex常用的一些内容. 1 基本模块 没用过latex的读者,最想问的问题莫过于latex的 “hello worl ...

  4. Latex常用数学符号(转)

    http://blog.sina.com.cn/s/blog_642075770100u0np.html Latex常用数学符号(转) 1.指数和下标可以用^和_后加相应字符来实现.比如: 2.平方根 ...

  5. Shader 学习工具篇 可视化公式工具ZGrapher

    大家好,我是怒风,本篇介绍公式可视化公式工具ZGrapher,尝试通过可视化的方式分析一下Shader中应用的公式,以求帮助初学者快速理解Shader编程中的一些常用公式 本篇的目的两个, 第一,介绍 ...

  6. CTEX - 在线文档 - TeX/LaTeX 常用宏包

    CTEX - 在线文档 - TeX/LaTeX 常用宏包       页面与章节标题式样   浮动对象及标题设计   生成与插入图形   表格与列表   目录与索引   参考文献   数学与化学公式 ...

  7. 【Unity3d游戏开发】Unity3D中常用的物理学公式

    马三最近在一直负责Unity中的物理引擎这一块,众所周知,Unity内置了NVIDIA公司PhysX物理引擎.然而,马三一直觉得只会使用引擎而不去了解原理的程序猿不是一位老司机.所以对一些常用的物理学 ...

  8. C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

    本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...

  9. C# WPF MVVM QQ密码管家项目(8,完结篇:自动输入QQ号、密码)

    原文:C# WPF MVVM QQ密码管家项目(8,完结篇:自动输入QQ号.密码) 目录: 1,界面设计 2,数据模型的建立与数据绑定 3,添加QQ数据 4,修改QQ数据 5,删除QQ数据 6,密码选 ...

随机推荐

  1. Scrapy项目 - 数据简析 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

    一.数据分析截图(weka数据分析截图 ) 本例实验,使用Weka 3.7对豆瓣电影网页上所罗列的上映电影信息,如:标题.主要信息(年份.国家.类型)和评分等的信息进行数据分析,Weka 3.7数据分 ...

  2. Redis 集群(三)

    为什么为有集群 在 Redis3 版本之前,每台 Redis 机器需要存储所有 Redis key ,这要求每台 Redis 机器有足够大的内存 而且只能是主节点写,从节点读,对于高并发情况下会有性能 ...

  3. linux&shell学习系列

    1.VMware安装Centos7虚拟机 2.Linux之vim详解 3.linux后台运行的几种方式 4.linux权限管理 5.linux之用户和用户组管理详解 6.grep文本搜索工具详解 7. ...

  4. JVM 调优 - JPS

    Java命令学习系列(一)——Jps 2015-04-16 分类:Java 阅读(23993) 评论(7) 阿里大牛珍藏架构资料,点击链接免费获取 jps位于jdk的bin目录下,其作用是显示当前系统 ...

  5. mysql 版本引起的 utf8mb4 问题(linux centos6.9下升级mysql)

    文字输入时候存在火星文或者表情,insert到低版本的mysql中一般会报错,所以我们需要将mysql版本升级到5.5.3及以上,高版本的mysql为我们提供了utf8mb4的编码,解决了这些复杂数据 ...

  6. java8 运算语法集

    1.分组并进行求和组合运算 示例主要代码: List<String> items = Arrays.asList("apple", "apple", ...

  7. java通过代理创建Conncection对象与自定义JDBC连接池

    最近学习了一下代理发现,代理其实一个蛮有用的,主要是用在动态的实现接口中的某一个方法而不去继承这个接口所用的一种技巧,首先是自定义的一个连接池 代码如下 import java.lang.reflec ...

  8. scalikejdbc 学习笔记(5)

    常用增删改查操作: import scalikejdbc._ import scalikejdbc.config._ object CommonOperation { def main(args: A ...

  9. texlive支持中文的简单方法

    1.确保tex文件的编码方式是UTF-8, 2.在文档开始处添加一行命令即可,即 \usepackage[UTF8]{ctex} , 如下所示: \documentclass{article} \us ...

  10. else块的用途

    除了在if...else...中使用,else块还可以在for循环.while循环以及try...except中使用. 在for循环中使用: my_list = ['a','b','c','d'] f ...