Latex:表格制作全攻略

Posted by 冰河 at 16:29 8 Responses » 75,012 Views
212010

给出一个制作复杂表格的例子,制作表格主要用到multicolumn,multirow和cline,其中,要使用multirow,必须usepackage{multirow}

如果要制作出如下图所示的表格:

Latex表格制作全攻略

则可以通过如下的代码:

\begin{table*}

\begin{tabular}{|c|c|c|c|c|}

hline hline

multirow{2}{*}{Multi-Row} & multicolumn{2}{|c|}{Multi-Column} & multicolumn{2}{|c|}{multirow{2}{*{Multi-Row and Col}} \

cline{2-3}

& column-1 & column-2 & multicolumn{2}{|c|}{} \

hline

label-1 & label-2 & label-3 & label-4 & label-5 \

hline

end{tabular}

end{table*}

其中,multirow{2}{*}{text}的第一个参数表示行的数目,*表示由系统自动调整文字,text表示要写入的文字

multicolumn与multicolumn类似,功能是跨多列, multicolumn{2}{|c|}{text}表示跨2行,文字采用中心对齐的方式,text是要写入的文字。

multicolumn和multirow可以组合使用,跨多行多列,只需要将multirow作为multicolumn的text即可。

最后,cline用于画横线 cline{i-j}表示从第i列画到第j列。

hline画一整条横线。

multicolumn使用比较简单,因为latex的表格本来就是按行组织的。下面附上multirow的使用文档:

http://www.ctex.org/documents/packages/table/multirow.htm

162010

我有两年多的LaTeX使用经验,用它排实验报告、毕业论文和书籍(半本);Word的使用时间长一些,但真正用好也不过是近一两年的事。这两个软件我都 用得很熟,我想我可以一边谈谈读《Word排版艺术》的感受,一边把Word和LaTeX这两个排版软件做一对比。(考虑到本文可能会以纯文本方式传播, 我只好把LaTeX写成这样了L,另外,文本所称的LaTeX是指LaTeX+CJK中文宏包)

Word 和 LaTeX 都是排版软件,但在我看来,却都不是专业排版软件——尽管用它们可以排出非常专业的效果。我的观点是,所谓专业排版,是指为专门为别人排版。(好比给别人 开车的叫司机,自己驾车代步的则不算)。例如杂志社的美工用 PageMaker 或者 QuarkXpress 排版杂志或海报,或者电路板厂的排线工人用 PowerPCB 或 Allegro 为客户排布印刷电路板,或者半导体厂的排线工人为客户排布集成电路的内部连线。这种专业工作往往只关心形式(排版效果),不关心内容(半导体厂的排线工作 常常不知道自己排布的芯片是做什么用的J)。而 Word 和 LaTeX 设计来都是给作者用的,作者(特别是技术作者)既要关心内容取舍,也要关心版面安排,以求最好地表达自己的想法,利于读者领会吸收。(注:尽管也有人使用 Word或LaTeX专为别人排版,但这毕竟不是这两款软件的设计初衷。)侯捷先生在不同的场合多次提到“作者应该自己排版”这一观点,我非常赞同。国外 很多著名的技术作家如Knuth、Tanenbaum、Stevens等人的书都是自己排版的。

鉴于Word和LaTeX都能排出专业印刷品(书刊、论文),我习惯把它们称为“半专业”排版软件。

LaTeX是基于TeX的一套宏包(macro packages),而TeX是Knuth教授开发的排版系统。在《The TeX Book》一书的前言中,Knuth用一句话概括了TeX的功能:”(TeX is) a new typesetting system intended for the creation of beautiful books — and especially for books that contain a lot of mathematics.” LaTeX在TeX的基础上大大改善了易用性,也就是说,LaTeX能排成什么样,只用TeX也能排成那样,不过LaTeX用起来方便得多。

或者举一个类比,TeX的排版指令(primitives,原语)有大约300条,这些指令好比汇编语言,直接用汇编语言写程序是很繁琐的。Knuth在设计的时候充分考虑了可扩展性,他自己就示范为TeX写了一套扩展宏包,称为plain TeX,随TeX发布。plain TeX宏包提供了大约600条命令,这些命令都是宏定义(macros)。plain TeX宏包的600条命令加上TeX的300条原语,共有900条左右的控制语句,这可比作“宏汇编”J。我们说Knuth的书用TeX排版,实际上指的是用plain TeX宏包排版。Plain TeX当然比裸的TeX要好用,但用起来还是很繁琐。而LaTeX为TeX指令提供了更高层的封装,易用性大为增强,可比作C++语言J。(实际上,LaTeX不是基于plain TeX宏包而是直接基于裸的TeX。)

在细部(字号、行距、断字、断行、公式)方面,TeX和LaTeX几本无区别,而从全局角度(章、节、交叉引用、索引、参考文献、目录)看,LaTeX的 自动化程度高得多。LaTeX提供有文档模板(article、book、report),以这些模板为基础,很容易做出符合自己排版风格的模板,继而排 出风格相近的一系列书籍。LaTeX的常用控制语句大约有一二十条,不难记,很好用。

Word是一款办公/文字处理软件,非常易用。但“好用”不意味着“用好”,有多少人被本不复杂的版面安排搞得焦头烂额?如果用Word排十来页的文章报 告,是不用看任何Word书籍的,任何问题都可以暴力解决J。不过,如果想充分发挥Word的作用,为文章(书籍)的写作过程带来便利,《Word排版艺 术》是很好(惟一?)的选择。

比较排版软件,一是要看它能做什么,二是看使用是否方便。

从基本的排版功能上看,Word和LaTeX相差不大:页面设置、纸张大小、版心尺寸、字型字号、行距段距、段首缩进、居中对齐、页眉页脚、页码编排、脚 注尾注、多级项目编号、章节自动编号、目录自动生成、交叉引用、生成索引等等这些功能二者都差不多。LaTeX在管理参考文献方面要强一些,另外 LaTeX可以很方便地做“边注(margin note)”。LaTeX和Word都能做图文混排,由于Word是所见即所得,在调整图形的位置及大小时要方便一些。以上这些功能对作者来说是够用了。

用LaTeX排版的感觉就好像用文本编辑器写HTML文件(或者只用文本编辑器写GUI程序),一方面你可以精确地控制每个细节和总体结构,另一方面在排 图形表格较多的文档时明显不如可视化工具方便。而用Word的感觉恰好相反,你不能直接看到数据的底层表示(用VBA可以,《Word排版艺术》一书介绍 了这方面内容),只能通过上层的鼠标键盘操作来控制文档。在Word中把一段文字设成蓝色,又把它设成红色,最后改回黑色,那么据我观察Word多半不会 聪明到去掉这些相互抵消的属性,而会留下类似HTML中<font color=blue><font color=red><font color=black>文字</font></font></font>这样的冗余标记。

LaTeX和Word都不适合处理过于复杂的版面,例如报纸、招贴画、复杂的分栏等等,毕竟那是专业排版软件的生存空间。个人感觉Word和LaTeX适合作者用来排版技术书籍和文章,而LaTeX排的版面总体上看更朴素一些,但细微之处处理得更好。

给Word添加字体不费吹灰之力,只要把字体文件拷贝到WindowsFonts就行了;为LaTeX安装新字体可是件麻烦事,不是几步就能搞定的。

Word在多人协作方面能力更强一些,例如可以追踪修订。另外Word排表格比LaTeX要方便一些。

从排版效果看,Word和LaTeX可谓各有所长。(La)TeX排数学公式的能力天下第一,Word自然是没法比。在处理英文(西文)文献 时,LaTeX知道在单词的音节之间断开分行,排出来的版面显得比Word匀称。在处理中文版面方面,Word比LaTeX体贴一些(特别是中文标点和拼 音的处理),毕竟CJK中文宏包是德国人写的。中科院张林波先生的CCT宏包对中文的支持似乎比CJK要好,不过我没有用过CCT,无法比较。

再好的排版软件也不能阻止人排出难看的版面,LaTeX不是傻瓜软件,不要指望用它就能排出好看的版面,我就见过某些数学系同学用LaTeX排的毕业论文,那叫一个烂:版面支离破碎、段落参差不齐、文字时浓时淡。

排版软件的选择是个见仁见智的问题。我不是LaTeX专家,也不是Word专家,犯不着跟自己较劲说非得用哪个软件不可,哪个顺手就用哪个,不方便就换另 一个呗。工具为人所用,人不要为工具所累。对于一般的技术文档(杂志稿件等)我一般用Word排,长文档(毕业论文)或者有数学公式的文档(某些实验报 告)用LaTeX排。请保持一个开放的心态,不做软件的拥趸。

市面上讲LaTeX的书不多,就我阅读的那几本书来说,都有点只见树木不见森林的感觉。这些书多是介绍LaTeX的功能、讲解LaTeX命令的使用,有的 会提及版面的微调,但少有能从大局着眼,介绍怎样能系统地排出好看的版面,达到“正式出版物”的水平。我自己倒是摸索出一些经验,后面会提到。

市面上大多数Word书籍也一样,举个例子来说,几乎每本Word书都会告诉你怎么设字体字号,行距段距(这是最基本的操作),但往往不会告诉你普通书籍 的正文应该用多大的字,行距应该是多少,段距应该是多少。(或许这些Word书不是作者自己排的,他们自己也不是很清楚?)

侯先生这本《Word排版艺术》告诉你,据他多年排版的经验,正文可用9.5磅字(比五号字略小),字体是华康简宋(简体版,繁体版用华康明细体),行距 16磅(或18磅),段前4磅,段后8磅。这样排出来的正文很均匀美观,没有常见的那种挤成一团的感觉,可直接付印。看这样的书,目的在于吸取专家经验, 迅速提到自己的排版功力。阅读《Word排版艺术》是成为Word高手的捷径。

p.s. 我所谓“正式出版物”,是指要拿给很多人看的那种东西,例如毕业论文、印刷发行的杂志文章、书籍等等。换一种说法是,从用打印机+复印机印十几二十份到用照排机+印刷机印几千上万份,都算“正式出版物”。自己留着看的不算,打印一份交给老师的也不算。

《Word排版艺术》一书着眼于“排版”,先介绍排版基础知识,然后介绍Word的“正规军作业模式”以及侯先生自己的“版面美学观”。这是前两章的内容(这部分内容是这本书独有的),可从www.jjhou.com免费下载阅读。这可看作这本书的第一部分。

第3~8章是这本书的第二部分,具体讲解Word排版大规模文档的的正规方法。第3、4章介绍版面设置(纸张、版心、页眉页脚、页码),一句话:排版也遵循“距离带来美感”原则,设置各种距离(页边距、页眉距、段距、行距、标题距)是排出美观版面的第一步。

第5章是重点,介绍版心之内的文字编排,其中最重要的是“样式/Style”的使用。我觉得看一个人用Word用得好不好,主要就看他会不会用“样式”。 全局样式+局部微调是排出好看版面的不二法门。这一章还介绍了Word的各种自动编号功能,例如脚注的自动编号、题注的自动编号、(多级)项目列表的自动 编号、章节的自动编号等等。有了这些功能,就能不重不漏地为各种条目编号,让手工编号成为历史。

第7章讲目录(普通目录、章目录、图标目录)的自动编排,这些都需以第5章讲的“样式”为基础。第8章讲索引的自动生成,这可是书籍排版的要件。第6章 呢?第6章讲图文混排,这可是Word这种“所见即所得”排版软件的强项。LaTeX的图文混排不如Word方便,调整起来更麻烦。

第9、10两章是本书的“提高”部分,介绍怎样实现Word没有直接提供的自动化功能。个人感觉这两章适合有一点编程经验的人阅读。第11没有讲排版,而 是介绍Word电子文档和多人协作修订的用法。第12章介绍利用Acrobat生成PDF文件。这四部分“起承转合”下来,相信读者对怎样用Word排版 大型文件会有全面的了解。

整本书印刷精美,制作考究,内容丰富,既能当教材学,又能当手册查,是难得的佳作。

由于排版的知识是相通的,我相信LaTeX用户也能从《Word排版艺术》中吸取养料(特别是前5章的知识可直接套用),排出美观的版面(我自己正式如此)。

如果将来有时间,我把自己用LaTeX排书的经验总结一下,让读者在阅读《Word排版艺术》的基础上,更容易地把知识应用到LaTeX排版中去。

作者:陈硕

资料提供:电子工业出版社博文视点公司

Latex:图片及子图排版

Posted by 冰河 at 16:33 No Responses » 32,154 Views
102010

在谈插入eps之前,首先要了解常用的latex图形宏包——graphics和psfrag。

graphics 图形宏包套件主要有两个宏包:早期标准的 graphics 宏包和在其基础上扩展增强的 graphicx 宏包。它们可用以引入外部图形,旋转或缩放文字、图表等等;对不同的DVI 驱动,它们提供了对 EPS、PS、PDF、TIFF 和 JPEG 等图形格式的支持。这两个宏包的功能很相近,提供的命令名称相同,只是参数格式有所不同。目前一般都使用功能较完善的 graphicx。实际上,在调用 graphicx 时,其基础文件 graphics 也自动被加载了。

graphicx 宏包具有多种驱动程序选项,常用的有 dvips、dvipdf 和 pdftex;还有多个功能控制选项,如 draft,为草稿模式,只显示图形的边框及其名称。

graphicx 提供了一组控制命令,其中最常用的是插图命令:

includegraphics[选项]{图形名},

下表为常用选项:

选项 说明
angle 图形旋转角度,正值表示逆时针旋转
height 图形高度
width 图形宽度
scale 图形缩放因数
psfrag,在 CJK 和 CCT 等中文环境中,可用该宏包将 EPS 图形中的外文字符替换为相应的中文字符。那些不支持中文输入的绘图软件如 Gauss 等,就可用它来再处理。
因此,在插入eps图片的时候,需要首先在cls文件中插入相应的命令:RequirePackage{graphicx};如果需要在图片中插入中文注释,可以插入命令:RequirePackage{graphicx,psfrag}。
插入eps分为两种情况,一种是只有一个图,一个标题;另一种是有多个图,每个图有个子标题,然后有个总的大标题。
对于第一种情况,举例如下:

egin{figure}[!htbp]

enewcommand{captionlabeldelim}{ }
centering
includegraphics[width=6cm,height=4cm,engle=90]{eps图的名字.eps}
caption{图片标题}
end{figure}

enewcommand{captionlabeldelim}{ }命令用来定义标题的标号后面是空格,而不是“:”。
对于第二种情况,除了需要graphicx宏包,还需要加入对子标题支持的宏包subfigure。可以在cls文件中插入命令usepackage{subfigure}。参考下面的例子:

begin{figure}[!htbp]

enewcommand{captionlabeldelim}{ }
centering
subfigure[子图1]{
label{fig:subfig:a} %% label for first subfigure
includegraphics[width=3.2cm,height=3.5cm]{bian.eps}}
hspace{0.5in}
subfigure[子图2]{
label{fig:subfig:b} %% label for second subfigure
includegraphics[width=3.2cm,height=3.5cm]{jing.eps}}
hspace{0.5in}
subfigure[子图3]{
label{fig:subfig:c} %% label for second subfigure
includegraphics[width=3.2cm,height=3.5cm]{jia.eps}}
caption{大标题}
label{fig:subfig} %% label for entire figure
end{figure}

LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件.

在LaTeX文档中插入图片都是通过使用一些latex图形处理宏命令来实现的, 有很多宏命令都支持在在LaTeX文档中插入eps格式的图形文件, 主要有:
1. 用includegraphics宏命令(graphicx包):

首先需在latex文档的文件说明部分加上:

usepackage{graphicx}

然后在需要插入图片的地方引用:

includegraphics[height=高度]{图片文件名}

或者: includegraphics[width=宽度]{图片文件名}

其中的”高度”和”宽度”是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件 的文件名, 图片必需是eps格式的.

用graphicx包的includegraphics宏命令插入图片时还可以使图片旋转, 方法是:
includegraphics[height=高度][angle=旋转角度]{图片文件名}
2. 用psfig宏命令:
首先需在latex文档的文件说明部分加上:

usepackage{psfig}
然后在需要插入图片的地方引用:
psfig{figure=图片文件名,height=高度}
或者: psfig{figure=图片文件名,width=宽度}
其中的”高度”和”宽度”是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件 的文件名, 图片必需是eps格式的.
3. 用epsfig宏命令:
epsfig宏命令的使用方法和psfig完全相同, 具体方法是: 首先需在latex文档的文件说明部分加上:

usepackage{epsfig}
然后在需要插入图片的地方引用:
epsfig{figure=图片文件名,height=高度}
或者: epsfig{figure=图片文件名,width=宽度}
其中的”高度”和”宽度”是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件 的文件名, 图片必需是eps格式的.
4. 用epsf宏命令:
用epsf宏命令的使用方法是: 首先需在latex文档的文件说明部分加上:

usepackage{epsf}
然后在需要插入图片的地方引用:
epsfxsize=宽度epsffile{图片文件名}
或者: epsfysize=高度epsffile{图片文件名}
其中的”高度”和”宽度”是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件 的文件名, 图片必需是eps格式的.

LaTex:图片排版

Posted by 冰河 at 15:54 2 Responses » 21,054 Views
102010

一般支持三种格式的图片排版

%% if you use PostScript figures in your article

%% use the graphics package for simple commands

%% usepackage{graphics}

%% or use the graphicx package for more complicated commands

%% usepackage{graphicx}

%% or use the epsfig package if you prefer to use the old commands

%% usepackage{epsfig}

eps格式图片的排版举例:

首先需要在导言部分引入相关包:usepackage{epsfig}

排版效果图:

排版代码:

%Latex排版之图片排版

begin{figure*}[!htbp]

centering

psfig{file=pic/Ex4-20ga.eps,width=1.5in,origin=br,angle=-90}

psfig{file=pic/Ex4-20gb.eps,width=1.5in,origin=br,angle=-90}

%psfig{file=pic/Ex4-20gc.eps,width=1.5in,origin=br,angle=-90}

caption {Experiment result for uneven data distribution.}

label{fig:ex4}

end{figure*}

需要注意的:在论文中排版eps图片后,编译tex文件的顺序为:先运行编译TeXify ,再运行dvi2pdf 得到pdf文件。

LaTex:算法排版

Posted by 冰河 at 21:19 5 Responses » 62,651 Views
092010

排版可能需要的包:

usepackage{algorithm} //format of the algorithm

usepackage{algorithmic} //format of the algorithm

usepackage{multirow} //multirow for format of table

usepackage{amsmath}

usepackage{xcolor}

DeclareMathOperator*{argmin}{argmin} //argmin或argmax公式的排版

enewcommand{algorithmicrequire}{ extbf{Input:}} //Use Input in the format of Algorithm

enewcommand{algorithmicensure}{ extbf{Output:}} //UseOutput in the format of Algorithm

排版图片可能需要的包:

usepackage{graphics}

usepackage{graphicx}

usepackage{epsfig}

算法的排版举例:

\begin{algorithm}[htb] %算法的开始

caption{ Framework of ensemble learning for our system.} %算法的标题

label{alg:Framwork} %给算法一个标签,这样方便在文中对算法的引用

\begin{algorithmic}[1] %这个1 表示每一行都显示数字

REQUIRE ~~\ %算法的输入参数:Input

The set of positive samples for current batch, $P_n$;\

The set of unlabelled samples for current batch, $U_n$;\

Ensemble of classifiers on former batches, $E_{n-1}$;

ENSURE ~~\ %算法的输出:Output

Ensemble of classifiers on the current batch, $E_n$;

STATE Extracting the set of reliable negative and/or positive samples $T_n$ from $U_n$ with help of $P_n$; label{code:fram:extract} %算法的一个陈述,对应算法的一个步骤或公式之类的; label{ code:fram:extract }对此行的标记,方便在文中引用算法的某个步骤

STATE Training ensemble of classifiers $E$ on $T_n cup P_n$, with help of data in former batches; label{code:fram:trainbase}

STATE $E_n=E_{n-1}cup E$; label{code:fram:add}

STATE Classifying samples in $U_n-T_n$ by $E_n$; label{code:fram:classify}

STATE Deleting some weak classifiers in $E_n$ so as to keep the capacity of $E_n$; label{code:fram:select}

RETURN $E_n$; %算法的返回值

end{algorithmic}

end{algorithm}

排版效果图:

在文中对算法和算法的某个步骤的引用:Therefore, in step
ef{code:fram:extract} of algorithm
ef{alg:Framwork}, we extract $T_n$, a set of reliable negative samples

1、 For和While循环语句的排版举例

(1) 排版效果图

(2)排版代码

\begin{algorithm}[h]

caption{An example for format For & While Loop in Algorithm}

\begin{algorithmic}[1]

FOR{each $iin [1,9]$}

STATE initialize a tree $T_{i}$ with only a leaf (the root);\

STATE $T=Tigcup T_{i};$\

ENDFOR

FORALL {$c$ such that $cin RecentMBatch(E_{n-1})$} label{code:TrainBase:getc}

STATE $T=T cup PosSample(c)$; label{code:TrainBase:pos}

ENDFOR;

FOR{$i=1$; $i<n$; $i++$ }

STATE $//$ Your source here;

ENDFOR

FOR{$i=1$ to $n$}

STATE $//$ Your source here;

ENDFOR

STATE $//$ Reusing recent base classifiers. label{code:recentStart}

WHILE {$(|E_n| leq L_1 )and( D
eq phi)$}

STATE Selecting the most recent classifier $c_i$ from $D$;

STATE $D=D-c_i$;

STATE $E_n=E_n+c_i$;

ENDWHILE label{code:recentEnd}

end{algorithmic}

end{algorithm}

问题:如果有两个等式排成一列,如下:
a+b=1
c+d=2   (1)
其右端的编号(1)如何显示在两个等式的中间?

如果用eqnarray环境,只能将编号显示在上面或下面等式的后面,如:
begin{eqnarray}

a+b &=& 1
onumber


c+d &=& 2

end{eqnarray}
则显示为:
a+b=1
c+d=2  (1)
编号显示在第二个等式的后面。

可以使用下面的语句,使得编号显示在两个等式的中间:
begin{equation}

begin{array}{l}

a+b=1 \

c+d=2

end{array}

end{equation}
有时上下列等式之间显得拥挤,可在每个等式前加上displaystyle来避免这种情况,如:
begin{equation}
begin{array}{l}
displaystyle a+b=1 \
displaystyle c+d=2
end{array}
end{equation}

此外,利用split环境也可以将编号写在中间,如:
begin{equation}

begin{split}

a+b=1\

c+d=2

end{split}

end{equation}

这个方法是网友xhpan于2009年8月1日提供的,在此表示感谢!

在交叉引用中,博主习惯上用符号”eq:n”,来标示文章中需要引用的第n个公式,如:
begin{equation}
begin{array}{l}
displaystyle a+b=1 \
displaystyle c+d=2
end{array}
label{eq:1}
end{equation}

按说Tex文件中出现
ef{eq:1}
的地方,在编译后就会自动出现公式的编号,然而实际上什么都没有显示。博主尝试用其它符号来标示此公式,如label{eq1},一切又恢复正常,看来array环境中用来标示引用的符号不可任意选择!使用split环境不存在这个问题。

LaTeX:公式及编号

Posted by 冰河 at 17:02 1 Response » 93,209 Views
092010

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}
该环境对多行公式每行都加自动编号,如果相对某行不加编号,可在换行之前添加命令
onumber

其中两个&号之间的是公式间对齐的位置,用\隔开各行公式。将eqnarray改为eqnarray*输出的公式是没有编号。

如果要改变公式的自动编号,可以重设计数器初始值:
setcounter{equation}{数}
下一个编号自动加1。

4.方程组的排版:
多个公式,每个公式自动编号。

1) gather环境
是下面align环境的一种特殊情形。
\begin{gather}
a &= b \
c &= d \

end{gather}
>>1.如果其中某几行使用同一个编号,则需要内嵌一个split环境。
>>2.命令
otag可使当前行不编号。
2) align环境
可使几组公式并排在一起,即在同一行显示多个公式,方法是跟以前一样,使用”&”对齐。
可替代gather环境。
3) 以上几种方程组环境,无论每个公式多小,都会占满一行。使用相应的gathered,aligned环境,则只占据公式的实际宽度,整体作为一个特大的符号与其他符号一同处理。
这个结构还可以添加位置参数,以决定与其他符号的竖直对齐方式(b,t)。而且这种环境不再具有自动编号功能。

例如:
\begin{equation}
left.
\begin{aligned}[b]
a &= b+c \
d &= b+c
end{aligned}

ight}
Longrightarrow
qquad a=d
end{equation}

© 2009 - 2018 冰河的博客