更新时间: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. Java 从入门到进阶之路(六)

    之前的文章我们介绍了 Java 的数组,本章我们来看一下 Java 的对象和类. Java 是一种面向对象语言,那什么是对象呢,对象在编程语言中属于一个很宽泛的概念,我们可以认为万事万物都是对象,每个 ...

  2. jmeter基础使用

    1.ServerAgent是服务端的插件2.下载成功后,复制JmeterPlugins-Extras.jar和JmeterPlugins-Standard.jar两个文件,放到jmeter安装文件中的 ...

  3. LoadRunner11.安装破解

    Loadrunner安装及破解   一. 安装 1. 将ISO文件导入,打开光驱,运行“setup.exe” 2. 点击安装,部分机器会提示缺少“Microsoft Visual C++ 2005 S ...

  4. JAVA Atm测试实验心得

    通过一个假期的自学,完成了老师布置的样卷任务.使用Escipse编写一个学生成绩的管理系统. 一开始两眼摸黑,通过观看Java课程的视频,地址:https://www.bilibili.com/vid ...

  5. Java查找统计文中字母,单词

    package io; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; imp ...

  6. Linux系统学习之Ln(软连接和硬链接)

    可简单理解为,软连接:创建的软连接文件是源文件的快捷方式,删除创建的软连接文件,源文件不受影响,连接消失. 硬链接:两个连体的文件,修改其中一个文件,另外一个文件也会随之更改:删除其中一个文件,另外一 ...

  7. .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker

    之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都 ...

  8. 1 Processing入门简介

    1 Processing入门简介 1.1 Before you start Processing是一个为开发面向图形的应用(visually oriented application)而生的简单易用的 ...

  9. Python3 GUI开发(PyQt)安装和配置

    Python3 GUI开发(PyQt5)安装和配置: 下载安装好Miniconda3, 并且安装好jupyter 注意:最好关闭360杀毒软件或者把cmd加入信任,否则运行activate会有问题. ...

  10. CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算?

    CSS 选择符有哪些? 1.id选择器(#id) 2.类选择器(.class) 3.标签选择器(div,h1,p) 4.相邻选择器(h1 + p) 5.子选择器(ul > li) 6.后代选择器 ...