栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

论文基本功——LaTeX:公式及其编号

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

论文基本功——LaTeX:公式及其编号

写理工科论文的时候,难免要用到大量公式。每次写论文,哪怕是用过的公示格式,也需要找之前的模板或者现到网上查询,很麻烦。因此决定自己整理一版,随用随补充,以方便来日查用。同时也欢迎大家收藏和帮助我一起完善,谢谢各位~

论文基本功——LaTeX:公式及其编号
  • 0. 图示索引
  • 1. equation:整个公式只有一个编号
    • 1)基本格式
    • 2)多行
    • 3)不编号公式
  • 2. subequations:公式每行都有一个子编号
    • 1)基本格式
    • 2)只编号部分行
    • 3)公式存在分类情况(如分段函数)
    • 4)分段函数逐行编号(可以只编号部分行)
  • 3. 超长公式
    • 1) 在两栏论文中并栏展示超长公式(暂未实现)

0. 图示索引

为了方便直观查找,将本博客实现的所有无误的格式都列在下面,可以直接点击导航(由于CSDN中不支持该功能,个人颇花了些功夫实现,但目前点击时会打开新网页)。
equation基本格式

equation多行公式

equation不编号公式

subequations基本格式

subequations只编号部分行

subequations公式存在分类情况(如分段函数)

subequations分段函数逐行编号(可以只编号部分行)

1. equation:整个公式只有一个编号 1)基本格式
% 整个公式只有一个编号
begin{equation}label{eqn-1} 
  y = ax + b
end{equation}


加label是为了在正文中引用该公式。引用时,只需使用“eqref{label名称}”,如“eqref{eqn-1}”,显示的格式为“(公式编号)”,如“(1)”。使用“ref{label名称}”的格式也可以引用,但是显示格式不带括号,只有公式编号,如“1”。建议在引用图片、表格或算法时再采用后者。另外,注意label具有唯一性,论文中不能出现相同的label。一旦出现重复label,虽然编译时不会报错,但引用时会出现混乱。

2)多行

当需要使用多行公式时,可以采用下面的格式。

% 整个公式只有一个编号,
begin{equation}label{eqn-2}
  begin{aligned}
    y & = ax + b\
    z & = cx + d
  end{aligned}
end{equation}


其中的aligned是用于实现equation中的多行公式并且可以辅助公式内各行的对齐,对齐位置用“&”。“&”个数没有限制,甚至可以是0,但各行使用的“&”个数的必须相同,否则编译时会报错。

如果不嵌套aligned,各行无法对齐是其次,最重要的是无法实现换行。

% 错误演示:不嵌套aligned的equation
begin{equation}label{eqn-3}
    y = ax + b\
    z = cx + d
end{equation}

3)不编号公式

有时使用的公式并不需要编号,此时可以改用equation*。与前面的区别仅在于该格式在equation后面加了一个“*”。具体示例如下。

% 此时相应公式不编号,因没有编号,故无法引用
begin{equation*}
  begin{aligned}
    y & = ax + b\
    z & = cx + d
  end{aligned}
end{equation*}

2. subequations:公式每行都有一个子编号

使用equation可以一定程度上解决我们的需求,但在论文中引用公式时,有时只想引用公式中的某一个子行,也就是说公式的每行最好都能有自己的编号,此时使用subequations是最方便、直接的办法。

1)基本格式
%每个子行都有唯一编号
begin{subequations}label{eqn-4}
  begin{align}
    y & = a + b\
    z & = c + d
  end{align}
end{subequations}


其中align也是用于公式内各行的对齐。需要注意的是,这里的与equation中嵌套的不同,不是aligned。align的基本用法与aligned一致,也采用“\”来换行,使用“&”来辅助对齐。

注:如果将align改为align*,也可以实现公式不编号的功能。也就是在上图中去掉后面的两个编号。

这里嵌套align很必要,否则公式虽然会编号也能引用,但是并不会显示,这会导致公式编号的混乱;而且此时subequations中的内容显示规则与正文一致(包括字体、缩进、写公式需要加“$”等)。

%有编号也能引用但不显示,内容的显示规则与正文一致
begin{subequations}label{eqn-5}
    y = ax + b\
    indent z = cx + d
end{subequations}

2)只编号部分行

有时在论文中会出现公式推导过程,此时中间步骤没有必要编号。为了实现这一目的,只需要在不需要编号的行的末尾(换行符“\”前)添加**nonumber**即可,具体如下:

begin{subequations}label{eqn-6}
  begin{align}
    y & = ax + (bx+c) nonumber\
     & = (a + b)x + c\
    z & = mx + (nx+p) nonumber\
     & = (m + n)x + p
  end{align}
end{subequations}

3)公式存在分类情况(如分段函数)

在某些情况下,论文中需要使用分段函数,即在不同条件下有不同结果,这个时候就需要用到cases。

begin{subequations}label{eqn-7}
  begin{align}
    y & =
    begin{cases}
      a x^2 + b x + d, & mbox{if}~x > 0 \
      cx + d, & mbox{otherwise}
    end{cases}\
    z & =
    begin{cases}
      mx + p, & mbox{if}~x > 1 \
      nx + q, & mbox{otherwise}
    end{cases}
  end{align}
end{subequations}


注意,公式中展示文字需要使用“mbox{文字内容}”,且有必要使用“~”来添加文字与公式中变量之间的空隙。如果不使用“mbox”就会出现下图中第一个“otherwise”的显示效果;不使用"~"就会出现“if”和“ x x x”贴在一起的情况。

equation中同样可以嵌套使用cases,使用方法相同。

4)分段函数逐行编号(可以只编号部分行)

在某些情况下,论文中展示的多行公式是一个方程组,需要联立,也就是需要在公式最左侧添加一个大括号,这个时候可以使用cases。但如果要求大括号右侧每行都需要编号,那么就需要引入新的方法。这里建议使用numcases。

% 使用numcases需要现在文档开头引入宏包cases(注意包名不是numcases)
usepackage{cases}
...
begin{subequations}label{eqn-8}
  begin{numcases}{mbox{case}~1:}
      m = 3x + 2y + 5z label{eqn-8-1}\
      n = 2x + 5y + 3z notag\
      p = 3x + 4y + 2z label{eqn-8-3}
  end{numcases}
end{subequations}


注意,如果某行不需要编号,直接在该行末尾(换行符“\”前)添加“notag”即可,而是否添加“label{}”不影响实际编号。
如果只是联立方程,可以直接去掉大括号左侧的内容,示例如下

begin{subequations}label{eqn-8}
  begin{numcases}{} % 这里相对于前面的变化在于,去掉了{}中的内容
      m = 3x + 2y + 5z label{eqn-8-1}\
      n = 2x + 5y + 3z notag\
      p = 3x + 4y + 2z label{eqn-8-3}
  end{numcases}
end{subequations}

参考文献:百度文库-Latex-条目、编号、描述

该方法唯一不够优雅的就是不能对齐。如果在numcases中嵌套aligned(不是align),可以实现对齐,但是又无法实现逐行编号。如果各位有更优雅的写法,欢迎评论区分享一下~

3. 超长公式 1) 在两栏论文中并栏展示超长公式(暂未实现)

待补充(需要翻翻以前的论文草稿)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号