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)
上一篇 2022年6月18日 下午9:36
下一篇 2022年6月18日 下午9:46


相关推荐

  • 考核题2「建议收藏」

    6.springmvc的工作流程是什么?SpringMVC流程1、用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)3、DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controll

    2022年4月11日
    171
  • centos7.5下gmssl安装使用教程

    centos7.5下gmssl安装使用教程安装步骤 gitclonehttp gitee com mirrors GmSSL gitcdGmSSL configmakesu 安装之后可以执行 gmssl 命令行工具检查是否成功 gmsslversion 0 OpenSSL1 1 0d 常见命令 SM4 加密文件 gmsslsms4 e in out sms4entersms cbcencryptio Veri

    2026年3月26日
    2
  • Redis设计与实现笔记 |目录

    Redis设计与实现笔记 |目录第一部分 数据结构与对象 Redis 设计与实现笔记 一 字符串 Redis 设计与实现笔记 二 链表结构 Redis 设计与实现笔记 三 字典第二部分 单机数据库的实现 Redis 设计与实现笔记 九 持久化 nbsp 第三部分 多机数据库的实现 Redis 设计与实现笔记 十五 复制 nbsp 第四部分 独立功能的实现 nbsp 本系列博文是本人学习 Redis 设计

    2026年3月16日
    2
  • 小米平板5采用120Hz高刷LCD屏:纯平中框+侧面指纹[通俗易懂]

    小米平板5采用120Hz高刷LCD屏:纯平中框+侧面指纹[通俗易懂]根据此前官方透露的消息,久未更新的小米平板产品线将在近期得到更新,将推出全新一代小米平板5系列产品,并且号称将配备前所未有的旗舰配置。随着发布时间的日益临近,关于该机的爆料也越来越密集。现…

    2022年6月20日
    30
  • 分布式事务TCC框架-hmily(spring cloud feign)

    分布式事务TCC框架-hmily(spring cloud feign)官网案例:文档(springcloud):https://dromara.org/zh/projects/hmily/user-springcloud/官网示例:https://github.com/dromara/hmily/tree/master/hmily-demo/hmily-demo-springcloud本示例:https://codechina.csdn.net/wwwzhouzy/zhouzy-hmily一、说明hmily是一个高性能异步分布式事务TCC框架,具有以下..

    2022年5月21日
    119
  • Javadoc 使用详解

    Javadoc 使用详解一:简介Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html二:写在类上面的Javadoc写在类上的文档标注一般分为三段:第一段:概要描述,通常用一句或者一段话简要描述该类的作用,以英文句号作为结束第…

    2025年12月8日
    5

发表回复

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

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