百科问答小站 logo
百科问答小站 font logo



latex中equation环境相比align环境有何优势? 第1页

  

user avatar   bo-xue-duo-wen-63 网友的相关建议: 
      

首先,我们要明白这两个环境分别能干什么。下面两段文字摘抄自l-short:

单独成行的行间公式在LaTeX里由equation环境包裹。
更多情况的是,我们需要罗列一系列公式,并令其按照等号对齐。目前最常用的是align环境,它将公式用 & 分隔为两部分并对齐。

通俗地讲,equation环境是处理行间公式的一种通用的手段;而align更多侧重于处理通过等号或不等号对齐的多行公式。

下面,我列举几个最基本的例子:

       egin{equation} z = (a+b)^4= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4. end{equation}     

编译效果如下:

与equation环境相似的,可以用equation*环境生成不带编号的行间公式。与之相似的还有最常用的无编号行间公式环境 [...],以及现在基本被淘汰的 $$...$$ 环境。当然,还有完全等价的displaymath环境。下面是这三种环境的简单示例:

       $$z = (a+b)^4= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4.$$  egin{equation*}  z = (a+b)^4= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4. end{equation*}  egin{displaymath} z = (a+b)^4= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4. end{displaymath}     

编译效果如下:

可以看到,上图中的三个无编号行间公式是完全一样的。

下面详细介绍align环境。align环境将公式用 & 分隔为两部分并在 & 处对齐。通常情况下,分隔符 & 放在等号 = 的左边,但特殊情况我后文会介绍。首先看align环境的一个例子:

       egin{align}            z &= (a+b)^4 \      &= (a+b)^2(a+b)^2 \      &= (a^2+2ab+b^2)(a^2+2ab+b^2) \      &= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4  end{align}     

可以看到,align环境会给每一行公式都编上序号。如果我们不想在某行后面编号,可以使用 otag或 onumber命令取消这一行公式的编号:

        egin{align}       z &= (a+b)^4 
otag\   &= (a+b)^2(a+b)^2 
onumber\   &= (a^2+2ab+b^2)(a^2+2ab+b^2)\   &= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4   end{align}     

如果整个公式都不希望编号,可以用align*环境,这样编译的公式本身就不带编号:

       egin{align*}               z &= (a+b)^4 \   &= (a+b)^2(a+b)^2 \   &= (a^2+2ab+b^2)(a^2+2ab+b^2) \   &= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4  end{align*}     

相同的效果可以通过行间公式里嵌套split环境完成:

       egin{align*}           z &= (a+b)^4 \   &= (a+b)^2(a+b)^2 \   &= (a^2+2ab+b^2)(a^2+2ab+b^2) \   &= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4  end{align*}  [ egin{split}          z &= (a+b)^4 \  &= (a+b)^2(a+b)^2 \  &= (a^2+2ab+b^2)(a^2+2ab+b^2) \  &= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4 end{split} ]     

可以看到,上面两种方式编译效果完全一致。

如果希望在多行公式仅仅有一个编号,可以在equation环境中嵌套split环境:

       egin{equation}  egin{split}                z &= (a+b)^4 \   &= (a+b)^2(a+b)^2 \   &= (a^2+2ab+b^2)(a^2+2ab+b^2) \   &= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4  end{split} end{equation}     

这样生成的多行公式就仅有一个编号。

开始的时候说过一般情况下 & 放在 = 的左边,而在不一般的情况,也可以颠倒这个顺序:

       egin{align*} sum_{i=1}^{n}|x_{i}+y_{i}|^{p} leqslant{}& sum_{i=1}^{n}left(|x_{i}|cdot|x_{i}+y_{i}|^{p-1}+|y_{i}|cdot|x_{i}+y_{i}|^{p-1}
ight)\ ={}& sum_{i=1}^{n}|x_{i}|cdot|x_{i}+y_{i}|^{p-1}+sum_{i=1}^{n}|y_{i}|cdot|x_{i}+y_{i}|^{p-1}\ leqslant{}& left(sum_{i=1}^{n}|x_{i}|^{p}
ight)^{1/p}left(sum_{i=1}^{n}|x_{i}+y_{i}|^{p}
ight)^{(p-1)/p}\ &+left(sum_{i=1}^{n}|x_{i}|^{p}
ight)^{1/p}left(sum_{i=1}^{n}|x_{i}+y_{i}|^{p}
ight)^{(p-1)/p}\ ={}& left(left(sum_{i=1}^{n}|x_{i}|^{p}
ight)^{1/p}      +left(sum_{i=1}^{n}|y_{i}|^{p}
ight)^{1/p}
ight)left(sum_{i=1}^{n}|x_{i}+y_{i}|^{p}
ight)^{(p-1)/p}. end{align*}     

上面这个多行公式是我在整理范数的三角不等式时的一个步骤,可以看到,第三行的公式太长了,放在文中会显示overfullbox,于是我在加号的位置换行,但要保证在 & 处对齐,于是其他行我调整了对齐符号和等号的位置,并加上了 { } 调整空格位置,达到上式效果。

总的来说,在LaTeX中使用数学公式,在大体原则正确的前提下,还需要灵活变通,才能达到预期的效果。




  

相关话题

  未来有没有可能使用HTML完全替代Word,Latex等文档格式? 
  在LaTeX发明前,人们怎么打印复杂的数学公式? 
  Ctex里面这个公式怎么输入? 
  latex中equation环境相比align环境有何优势? 
  如何优雅地使用LaTeX写论文? 
  在将下载下来的Latex模板运行的时候出现了这样的错误,如图,应该怎么办呀? 
  用 LaTeX 的人是什么心态,为什么不用效率更高,使用更简便的 Office? 
  如何优雅地使用LaTeX写论文? 
  用 LaTeX 的人是什么心态,为什么不用效率更高,使用更简便的 Office? 
  如何评价知乎的LaTeX阉割了如此多的功能? 

前一个讨论
Linux下有哪些给你带来「快感」的软件?
下一个讨论
曾经的竞赛党,现在都过的怎么样了?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利