在写文章时,我们会遇到各种各样的对公式编号的要求,例如对某些公式标号而对另外一些公式不编号、对某些公式整体编号、对一个拆为几行的较长的公式的最后一行编号等。这篇文章总结了对上面三种情况的处理方法,后面遇到其他情况再回来补充。
对某个公式编号/不编号
latex中给我们提供了很多编辑公式的方法,具体可在终端(命令提示符窗口)输入如下命令查看官方文档,这里我们做简单总结。
texdoc lshort %英文版 texdoc lshort-zh %中文版
虽然latex提供了如下的方法用于输入单个公式,但是并不推荐使用这种方法。
$x^2+y^2=r^2$ %行内公式 $$x^2+y^2=r^2$$ %行间公式
单独成行的行间公式通常由equation环境包裹,equation环境自动为公式生成一个编号,这个编号可以通过 “\label” 和 “\ref” 生成交叉引用,还可以通过amsmath的 “\eqref” 命令为引用自动加上圆括号(若要使用 “\eqref” 命令,则须在导言区加上amsmath宏包),若引入了amsmath宏包,还可以使用 “\tag” 命令手动修改公式编号,或使用 “\notag” 命令取消为公式编号(若不想为公式编号,可直接使用equation*环境)。以下面的例子说明:
代码:
\documentclass{article} \usepackage{amsmath} \begin{document} The Pythagorean theorem is: \begin{equation} a^2 + b^2 = c^2 \label{pythagorean} \end{equation} Equation \eqref{pythagorean} is called ‘Gougu theorem’ in Chinese. It’s wrong to say \begin{equation} 1+1=3 \tag{dumb} \end{equation} or \begin{equation} 1+1=4 \notag \end{equation} \end{document}
- 数学模式中输入的空格将被忽略,需要人为引入间距时,使用 “\quad”、 “\uad”等命令。
- 不允许有空行(分段)。行间公式也无法使用 ‘’\” 命令换行,排版多行公式的办法下面小节中给出。
- 所有的字母被当做数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格。如果想在数学公式中输入正体的文本,可用amsmath提供的 “\text” 命令,举例如下:
\documentclass{article} \usepackage{amsmath} \begin{document} $x^{2} \geq 0 \uad \text{for all}\quad x\in R$ \end{document}
对某些公式整体编号
方法一代码:
\begin{equation} \begin{split} \frac{\partial F}{x}&=-\frac{2}{9}x \\ \frac{\partial F}{y}&=-\frac{1}{2}y \\ \frac{\partial F}{z}&=1 \end{split} \end{equation}
方法二代码(此方法依赖amsmath宏包):
\begin{equation} \begin{aligned} \frac{\partial F}{x}&=-\frac{2}{9}x \\ \frac{\partial F}{y}&=-\frac{1}{2}y \\ \frac{\partial F}{z}&=1 \end{aligned} \end{equation}
如果我们不需要等号对齐,而是居中对齐即可,那么用上述代码默认是又对其,下面的代码可使多行公式居中对齐。
\begin{
gather} \frac{
\partial F}{
x}=-\frac{
2}{
9}x \\ \frac{
\partial F}{
y}=-\frac{
1}{
2}y \\ \frac{
\partial F}{
z}=1 \end{
gather}
较长公式拆行与编号
当我们遇到较长的公式,无法排版在一行时,就要求我们在适当的位置对公式进行拆分,并依照某种方式对齐,这里最常用的是align环境,它将公式用 “&” 隔为两部分并对齐,分隔符通常放在等号左边。align环境会给每行公式都编号,可使用 “\notag” 命令去掉某行编号,下面我们给出几个例子。

代码:
\begin{align} a&=b+c \\ &=d+e \end{align}
\begin{align} a&=b+c \notag \\ &=d+e \end{align}
\begin{align} a ={} & b + c \\ ={} & d + e + f + g + h + i + j + k + l \notag \\ & + m + n + o \\ ={} & p + q + r + s \end{align}
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201191.html原文链接:https://javaforall.net
