在使用latex编辑文章时,经常会需要引用公式、图表等等。
如果我们人为地对这些公式、图表进行编号1-2-3-4,然后在文章中使用Eq(1)-Eq(2)-Eq(3)-Eq(4)去引用这些公式,固然是可以的;但如果我们原来的公式或图表的顺序被打乱了,那么引用的编号也需要作相应的调整,这样改起来就会非常麻烦!
不只是在latex中,在MS word中也会遇到类似的问题,不过在word中可以通过交叉引用解决。latex解决方法更为简单,如下例所示。
定义方程
\begin{equation} \label{test} x^2 + y^2 = z^2 \end{equation}
在定义方程的时候,使用\label{方程的名字},给该方程起一个个性化的名字,用来标识该方程。
引用方程
As Eq. ( \ref{test} ) shows, blablabla....
引用方程的时候,使用\ref{要引用方程的名字},就可以实现引用。
在编译以后,latex就会自动将方程编号,并用相应的编号去替换引用该方程的地方。
对图表的引用也是类似的。
需要缩小公式:
\begin{equation}\label{1}
\resizebox{.8\hsize}{!}{${{f}_{1}}(x,y)=[0.01B(x,y)+11.5][0.01G(x,y)-1]-12$}
\end{equation}
1.自动编号的单行公式环境是
\begin{equation}
…
\end{equation}
不参与自动编号的单行公式环境:
\[
…
\]
人工编号的单行公式可以使用Tex原有的行间公式标记
$$公式 \eqno 编号 $$ 将编号放在右边
$$公式 \leqno 编号 $$ 将编号放在左边
引用时候可以直接用$编号$即可。
例如,$$a^2+b^2=c^2 \eqno (**)$$
由公式($**$)即可得到结论。
一般情况下,行间公式 $$…$$也可以用\[…\]表示
但对于这种人工编号的公式,不能用\[..\]代替$$…$$.
2.单个公式很长,需要换行,但仅允许生成一个编号时,可以用split命令
\begin{equation}
\begin{split}
a &= b \\
c &= d
\end{split}
\end{equation}
注意:每行只允许出现一个“&”,使用split命令后,编号上下居中显示。
3.多行公式:
\begin{eqnarray}
左 & 中 & 右\\
左 & 中 & 右\\
…
\end{eqnarray}
该环境对多行公式每行都加自动编号,如果相对某行不加编号,可在换行之前添加命令\nonumber
如果要改变公式的自动编号,可以重设计数器初始值:
\setcounter{equation}{数}
下一个编号自动加1。
4.方程组的排版:
多个公式,每个公式自动编号。
1) gather环境
是下面align环境的一种特殊情形。
\begin{gather}
a &= b \\
c &= d \\
…
\end{gather}
>>1.如果其中某几行使用同一个编号,则需要内嵌一个split环境。
>>2.命令\notag可使当前行不编号。
2) align环境
可使几组公式并排在一起,即在同一行显示多个公式,方法是跟以前一样,使用”&”对齐。
可替代gather环境。
3) 以上几种方程组环境,无论每个公式多小,都会占满一行。使用相应的\gathered,\aligned环境,则只占据公式的实际宽度,整体作为一个特大的符号与其他符号一同处理。
这个结构还可以添加位置参数,以决定与其他符号的竖直对齐方式(b,t)。而且这种环境不再具有自动编号功能。
例如:
\begin{equation}
\left.
\begin{aligned}[b]
a &= b+c \\
d &= b+c
\end{aligned}
\right\}
\Longrightarrow
\qquad a=d
\end{equation}
这里更正参考文献中P149页的一个小错误。就是\right}应该改为\right\}.