LaTeX数学公式编辑(1)——行内公式&行间公式「建议收藏」

LaTeX数学公式编辑(1)——行内公式&行间公式「建议收藏」1.行内公式2.行间公式2.1单行编号2.2单行不编号2.3多行编号2.4多行不编号3.说明4.参考文献对数学公式的排版,可以说是LaTeX中最精彩的部分.首先说需要注意的问题.数学公式中有时候会出现文字(中文或英文),需要将文字用命令\text{…}包起来.如果将文字不加处理,直接写到公式里面会出现如下问题:如果…

大家好,又见面了,我是你们的朋友全栈君。

特别说明:近期发现,CSDN博客中的代码在没有登录的情况下无法复制,这种行为已经完全背离了分享的初衷,为分享增加了不必要的麻烦,所以本人决定将本文内容逐步转移到其他平台。
本文新地址:https://www.cnblogs.com/beta2187/p/15476061.html
https://www.yuque.com/beta2187/elwnkv/qnn9er

对数学公式的排版, 可以说是 LaTeX 中最精彩的部分.

首先说需要注意的问题. 数学公式中有时候会出现文字(中文或英文),
需要将文字用命令 \text{...} 包起来. 如果将文字不加处理, 直接写到公式里面会出现如下问题:

  • 如果是中文, 则不显示, 例如代码 $根号9=3$ 编译之后显示为 9 = 3 9=3 9=3, 而代码$\text{根号}9=3$ 编译之后显示为 根号 9 = 3 \text{根号}9=3 根号9=3.
  • 如果是英文, 虽然显示, 但显示为斜体 (行文中出现的英文一般为正体).

现在来看怎么排版数学公式. 数学公式多种多样, 但总的说起来, 可以分为行内公式和行间公式.

1. 行内公式

行内公式统一使用$...$来表达. $前后一般要有空格, 除非公式后面有标点符号.

2. 行间公式

对于行间公式, 要么编号, 要么不编号; 要么单行, 要么多行. 通过组合之后可知行间公式有四种: 单行编号、单行不编号、多行编号和多行不编号. 下面对每种公式的写法逐一介绍.

2.1 单行编号

单行编号的公式示例:

\begin{equation}\label{...}
\int_0^1f(t)dt = \iint_Dg(x,y)dxdy.
\end{equation}

运行结果为:
\begin{equation}
\int_0^1f(t)dt = \iint_Dg(x,y)dxdy.
\end{equation}
其中\label{...}的花括号中的内容可以使字母、数字、点号和减号的组合(例如\label{sec-2.3}), 用来对公式进行引用, 引用的命令为\eqref{...}.

2.2 单行不编号

不编号公式应避免使用 $$...$$, 因为它可能会产生不良间距. 可以用

\[
\int_0^1f(t)dt = \iint_Dg(x,y)dxdy.
\]

简单书写, 也可用

\begin{equation*}
\int_0^1f(t)dt = \iint_Dg(x,y)dxdy.
\end{equation*}

来书写, 效果相同, 运行结果为
\begin{equation*}
\int_0^1f(t)dt = \iint_Dg(x,y)dxdy.
\end{equation*}

2.3 多行编号

多行编号的公式示例1 (注意对齐符号&的位置):

\begin{equation}\label{...}
\begin{split}
\frac{1}{2} (\sin(x+y) + \sin(x-y)) =& \frac{1}{2}(\sin x \cos y + \cos x \sin y)\\
& + \frac{1}{2} (\sin x \cos y - \cos x \sin y)\\
=& \sin x \cos y.
\end{split}
\end{equation}

运行结果为:
\begin{equation}
\begin{split}
\frac{1}{2} (\sin(x+y) + \sin(x-y)) =& \frac{1}{2}(\sin x \cos y + \cos x \sin y)\
& + \frac{1}{2} (\sin x \cos y – \cos x \sin y)\
=& \sin x \cos y.
\end{split}
\end{equation}
多行编号的公式示例2:

\begin{equation}\label{...}
\begin{dcases}
\frac{dS}{dt} = \Lambda - \beta SI - \mu S -\mu_1 mZS + \delta_0R, \\
\frac{dI}{dt} = \beta SI - (\mu+\delta+\gamma)I.
\end{dcases}
\end{equation}

运行结果为:
\begin{equation}
\begin{cases}
\frac{dS}{dt} = \Lambda – \beta SI – \mu S -\mu_1 mZS + \delta_0R, \
\frac{dI}{dt} = \beta SI – (\mu+\delta+\gamma)I.
\end{cases}
\end{equation}
多行编号的公式示例3:

\begin{equation}\label{...}
D(x) =
\begin{cases}
1, & \text{if } x \in \mathbb{Q};\\
0, & \text{if } x \in \mathbb{R}\setminus\mathbb{Q}.
\end{cases}
\end{equation}

运行结果为:
\begin{equation}
D(x) =
\begin{cases}
1, & \text{if } x \in \mathbb{Q};\
0, & \text{if } x \in \mathbb{R}\setminus\mathbb{Q}.
\end{cases}
\end{equation}

2.4 多行不编号

可以在第2.3节命令的基础上将各个命令外层的\begin{equation}...\end{equation} 改为\begin{equation*}...\end{equation*} 使得公式不编号. 也可以用

\begin{align*}
\frac{1}{2} (\sin(x+y) + \sin(x-y)) =& \frac{1}{2}(\sin x \cos y + \cos x \sin y)\\
& + \frac{1}{2} (\sin x \cos y - \cos x \sin y)\\
=& \sin x \cos y.
\end{align*}

来排版此类公式. 运行结果为:
\begin{align*}
\frac{1}{2} (\sin(x+y) + \sin(x-y)) =& \frac{1}{2}(\sin x \cos y + \cos x \sin y)\
& + \frac{1}{2} (\sin x \cos y – \cos x \sin y)\
=& \sin x \cos y.
\end{align*}

3. 说明

本文中只介绍了数学公式的基本写作框架, 具体细节请参看文献[1,2]. 文中应该显示为编号的公式, 在博客中没有显示编号, 属于网页显示问题, 在LaTeX编译器中编译相应代码会显示编号.
文中如有不妥之处,肯请指教.

4. 参考文献

[1] 刘海洋. LaTeX 入门 [M]. 北京: 电子工业出版社, 2013.
[2] 胡伟. LaTeX 2e完全学习手册(第二版). 北京: 清华大学出版社, 2013.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150067.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中的守护线程守护的是什么_java守护线程的作用

    java中的守护线程守护的是什么_java守护线程的作用守护线程在Java中有两类线程:UserThread(用户线程)DaemonThread(守护线程)守护线程的功能非常简单,在其本身是一个线程的同时,主要是为了给其他的线程提供服务,比如说计时器,清空高速缓存等等操作,守护线程具有和被守护线程一样的生命周期(这里并不是说守护线程和被守护线程常常是1-1的关系),当被守护线程死亡,守护线程往往也会死亡,当虚拟机中只剩下守护线程时,虚拟机就会退出,因为此时也没有运行程序的必要了一个比较通俗的解释:任何一个守护线程都是整个JVM中所有非守护线程

    2022年10月9日
    1
  • 盘点python工具包并优化pip下载加速

    盘点python工具包并优化pip下载加速1、优化pip下载加速2、vscode使用安装环境python3、python相关工具包与方法3.1、Bilibili.com(B站)数据下载工具包开源地址:https://github.com/wolfbolin/BiliUtil安装命令:pipinstallBi

    2022年7月14日
    27
  • vsftpd 添加用户_vsftpd本地用户无法登录

    vsftpd 添加用户_vsftpd本地用户无法登录VSFTPD的安装网上有很多教程这里就不多说了,这里主要是针对做主机空间服务的朋友在安装好vsftpd后如何为用户增加ftp账号先来看一看我们一般在*inux系统下面如何增加用户的#adduser用户名#passwd用户名回车后系统会给出以下提示:ChangingpasswordforuserXX用户名.Newpassword:BADPASSWORD:itdoesnotco…

    2022年9月25日
    5
  • Java 取余 (remain),取模 (mod) 的 区别和运算

    Java 取余 (remain),取模 (mod) 的 区别和运算Java取余(remain),取模(mod)的区别和运算范围区别:取模主要是用于计算机术语中。取余则更多是数学概念。主要的区别在于对负整数进行除法运算时操作不同那么具体是怎样的不同?首先需要知道Java中如何取模:Java中用符号%对数字进行取模,可以得到以下:System.out.println(5%3);System.out.println(-5%3);Sys…

    2022年6月3日
    116
  • python进阶(18)@wraps装饰器[通俗易懂]

    python进阶(18)@wraps装饰器[通俗易懂]前言我们都知道装饰器的作用是在不改变原有的代码基础上,添加新的功能,但是这样会有一个弊端,被装饰的函数某些属性会变改变,接下来我们来看下案例importtimedefrun_time(fu

    2022年8月7日
    3
  • Apk 签名验证

    Apk 签名验证当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,今天分享如何解决因签名验证而出现的闪退现象。v:13140310004q:32519015161阅读签名验证源码1.打开文件2.分析Java层,在调用init这个方法里面,是进行按钮以及其他控件的初始化3.接下来是一个注册函数,判断用户名和密码是否相等,从而弹出不同的提示4.LoginActivity类继承了BaseActivity,先分析BaseActivity这个类5.分析onC

    2022年6月7日
    85

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号