赞
踩
本文收录于专栏:IEEE论文LaTeX模板解析,本专栏将会围绕IEEE论文LaTeX模板解析持续更新。欢迎点赞收藏+关注!
使用传统的方程式环境创建方程式:
\begin{equation}
\label{eqn_example}
x = \sum\limits_{i=0}^{z} 2^{i}Q
\end{equation}
如果不需要方程式编号,请使用 displaymath 环境。在提及方程式时,IEEE 出版物中的文章通常不使用 "方程式 "一词,而只用括号将方程式编号括起来,例如:
... as can be seen in (\ref{eqn_example}).
IEEE 的双栏格式对方程式宽度有很大限制。因此,在格式化方程式时,通常需要花费相当大的精力来正确分割方程式 。作者有责任确保所有方程式都能适应给定的列宽。在极少数情况下,有可能有几个方程式同时跨两列,但绝大多数过长的方程式都必须跨多行。
LaTeX2ε 的 eqnarray 环境可能是生成多行方程式最方便、最常用的方法。然而,eqnarray 有几个严重的缺点:
2×\arraycolsep
作为列分隔空间无法提供自然的数学间距;在多行数学格式化方面,有许多非常出色的软件包。其中最受欢迎的可能是 amsmath 软件包 。Amsmath 是一款综合性软件,除了增强的多行对齐环境外,还包含许多有用的工具。需要注意的一点是,amsmath 在加载时会将 LaTeX 配置为不允许在多行公式中(甚至在非amsmath 定义的环境中)分页。这里的理念是,作者应在需要的地方手动插入分页符,以确保分页符仅出现在可接受的位置。要恢复 IEEEtran 在多行等式中自动分页的功能,请像下面这样加载 amsmath:
\usepackage{amsmath}
\interdisplaylinepenalty=2500
马克-伍丁(Mark Wooding)的 MDW 工具中的 mathenv.sty 提供了另一套极其强大的对齐工具,其中之一是完全重写的 eqnarray 环境。
最后,IEEEtran 提供了完全集成的自定义 IEEEeqnarray 系列命令,这些命令几乎普遍适用于许多不同类型的配准情况。
尽管如此,为了解释 LaTeX中数学间距的一些细微之处,使用标准 eqnarray 显示一个简单的示例还是很有启发性的。如下表所示,TeX 在排版数学时通常使用四种不同的间距。
为了产生精确(和正确)的数学对齐方式,了解如何控制这些间距至关重要。考虑一个多行方程式:
可以被下面的代码生成:
\setlength{\arraycolsep}{0.0em}
\begin{eqnarray}
Z&{}={}&x_1 + x_2 + x_3 + x_4 + x_5 + x_6\nonumber\\
&&+a + b\\
&&+{}a + b\\
&&{}+a + b\\
&&{+}\:a + b
\end{eqnarray}
\setlength{\arraycolsep}{5pt}
第(1)-(4)行显示了 + a + b 行的几种可能实现方式。在 TeX 的数学模式中,运算符的间距可以通过将运算符括在大括号中(例如 {=}
)来限制,也可以通过用 “空符号”(例如 {}={}
)来强制限制。需要注意的是,空标点本身没有宽度。但是,它们的存在会使 TeX 在运算符周围留出空间,就好像它们 "挨着什么 "一样。考虑到这一点,示例中的第一步就是将 \arraycolsep
设置为零,以防止 eqnarray 人为地加入不需要的列间距。然后,在等号周围放置空字符,这样就能获得正确的自然间距。另外,也可以将 \arraycolsep
设为 0.14 em,并消除等号周围的空行 。重要的是要记住在 eqnarray 完成后将\arraycolsep
恢复到默认值 5 pt,因为其他环境(如数组)都依赖于它。(或者,也可以将结构括在一组大括号中,以保持局部更改–这样做的另一个好处是不需要用户记住正确的默认值)。
第(1)行是错误的,因为 a 表示的是一个正量,而不是必须加到前一行的东西(即 + 被当作一元运算符,而不是二元运算符)。(在第(2)行中,在加号的右侧添加一个空命令,除了证明空命令的宽度为零外,没有任何作用。在加号的左侧添加一个空命令**(第(3)行**),确实可以实现二进制间距,但会导致行的不需要的 1 次右移。最后,仅在**第(4)**行加号的右侧手动添加一个中等大小的空格,就能达到目的。在这种情况下,不需要抑制加号 ({+}) 周围的自动间距,但在其他默认 "扩展 "此类运算符的对齐环境中可能需要。
解决间距问题的另一种方法是只使用两列对齐方式(amsmath.sty 的 \align
就是这样做的)。例如,在前面的例子中,**“Z =”**将包含在第一列中。
顺便提一下,如果需要使用分支结构(Cases Structures),其中每个分支都可以用不同的方程(或子方程)编号来引用,则应使用 Donald Arseneau 的 cases.sty 包中的 numcases(或 subnumcases)环境:
因为从数组或 amsmath 案例环境中构建的等式将有一个包含两个分支的单一等式号。
请注意,如果要将 amsmath(如果用户没有加载,则会在 comsoc 模式下自动加载)与 cases.sty 一起使用,则应在前者之后加载后者,否则可能会出现 "命令 \subequations
已定义 "的错误。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。