《LaTEX学习笔记》由会员分享,可在线阅读,更多相关《LaTEX学习笔记(20页珍藏版)》请在金锄头文库上搜索。
1、LaTEX 学习笔记关于 LaTeX 排版系统TeX 系统:TeX 是由 Donald E. Knuth 书写的一个计算机程序,目的是对文本和数学公式进行排版。最基本的 TeX 程序是由一些很基本的命令组成,以完成简单的排版和程序设计功能。TeX 也允许使用这些基本的命令定义一些更复杂的高级命令,由此利用低级的结构快形成一个用户界面相当友好的环境。Knuth 还设计了一个名叫 Plain Tex的基本格式,以便与低层次的 TeX 呼应。Plain TeX 格式依然是TeX 字处理相当基本的部分,实际上我们很分清 TeX 与 Plain TeX.LaTeX 系统:Plain TeX 的重点只是停
2、留在如何排版的层次上,对 TeX 的深层功能的进一步发掘需要相当高级的编程技巧。美国计算机学家Leslie Lamport 开发了 LaTeX 格式,这种格式提供了一组生成复杂文档所需要的更高级的命令,它在生成复杂表格和数学公式方面功能尤为突出。它可以自动给出标题、章节、表格目录、交叉引用、公式编号、文献引用、浮动图表、浮动图形等等。LaTeX 经过多年的更新其版本号固定为 2.09.LaTeX2e 系统:由于 LaTeX 的普及及其许多领域的扩展,使得相当广泛的一类排版格式都冠以 LaTeX 的标签。为了再次统一自 LaTeX2.09 版本以后所进行的各种修补工作并建立一个真正的、能满足较长
3、时间内排版需要的 LaTeX 改进标准,在 Frank Mittelbach 的领导下,Leslie Lamport, Chris Rowley 和 Rainer Schopf 创立了 LaTeX 项目组,旨在得到 LaTeX 的一个新版本 3,在该版本中建立一个最优的、有效的命令集合。1994 年他们发行了一个新的版本,并命名为 LaTeX2e。LaTeX 排版的主要特点LaTeX 排版的主要特点:国际权威学术机构及会议指定排版格式符号公式随心所欲文档易于网上传输支持多种 操作系统易于转换成 ps 文档、pdf 文档或 HTML 文档便于扩充并形成个性化的排版环境(用 LaTeX 的宏包实现
4、)LaTeX 源文件的组织结构基本结构每一个源文件基本结构如下:documentclass字体大小,纸张大小,杂类参数文档类别 导言区(preamble) begindocument 文档正文区 enddocument LaTeX 的文档类别(documentclass)合法的 LaTeX 文档类别包括下面的 5 种:article(文章)(注:CCT 中可使用 cctart)book(书籍)report(报告)letter(信函)slides(幻灯片)除幻灯片类别,标准的文档类别接受下面的可选参数确定字体大小(1pt=1/72.27 英尺)10pt(缺省)11pt12pt所有的文档类别都接受
5、下面形式的可选参数确定纸张大小(缺省为letter)a4paper (29.721cm)a5paper (2114.8cm)b5paper (2517.6cm)letterpaper (118.5 in)legalpaper (148.5 in)executivepaper (10.57.25 in)还有一些杂类可选参数landscape:选择横向排版方式,缺省为纵向排版(portrait)leqno:公式的编号放在公式的左边,缺省时放在右边fleqn:公式显示左边对齐,缺省时中间对齐draft,final:标注/不标注带标尺的边框,缺省值为 finaloneside,twoside:选择单面
6、还是双面打印。书籍类缺省为双面,其余缺省为单面onecolumn,twocolumn:通栏排还是分栏排,缺省为通栏导言区的组成装入必要的类和包文件为了便于用户定制或扩充排版系统,LaTeX 将许多功能并存放在不同的类或包文件中。使用某个类或包文件的功能,需要在导言区中声明(激活):usepackageoptionpackage 其中 package 为要激活的包的名称,option 是一组关键字列表,用以说明包中特定的功能或特性. 例如在从例子测试_CJK.tex 中使用的usepackagedvips,usenamescolor % 支持颜色 usepackageCJK % 用 CJK 支持
7、汉字 usepackagefancyhdr % 支持自定义的页眉、页脚 usepackagefancyvrb % 支持抄录 usepackagefancybox % 支持文本加框 进行文档全局性设置有时你会对标准的设置不满意,这时可将一些设置命令放在导言区以影响整修文档。例如:setlengthtextwidth16cm setlengthtextheight22cm setlengthoddsidemargin0pt setlengthparindent0em setlengthparskip3mm renewcommandbaselinestretch1.3 colorblack 文档正文
8、区的组成定义文章的一些信息:title书名 author作者名 date日期 % today maketitle LATEX 在处理输入文件时总是牌下面三种模式中的一种:Paragraph(段落模式)Math(数学模式)Left-to-right(从左到右模型,简称 LR 模式)正文的输入需要按选定的文档类型及加载的宏包文件进行,由此得到相应的标题、章节、页码、页眉、页脚、脚注、边注、表格、图形以及各种类型复杂的数学公式。当处理很大的文档时,经常将文件分成若干个部分分别进行编译,这时我们可以使用 LATEX 所提供的命令inputincludeincludeonlyinputtexfile文件
9、名只需指定基本名,不需加扩展名.tex,它等价于直接将文件“文件名.tex”中的内容输入到命令input 所处的位置.此命令可以放在文档的任何地方(导言区或正文区),而且可以相互嵌套。您可以将经常使用的导言放在单独的一个文件中,使用时置于源文件之首。在begindocument.enddocument之间加入多个input 命令.导言区加入listfiles 可以得到读入文件的清单.includetexfile使用input 命令的缺点是,通过input 命令合并起来的文章(不管那部分) 每经过一次修改,所有的文件都要被重新读入和处理。若用input 命令仅加载那个特定的文件,那么所有的页码、
10、章节、插图和公式等的自动编号都从 1 开始,这会使交叉引用产生混乱。更好的办法是采用include 命令。它只能放在文档的正文区,不能嵌套,且与命令includeonly文件清单结合使用。文件清单列出当前正在处理的文件(其中的文件名不需要加后缀.tex,各文件名用逗号隔开)。若input 命令后的文件名在文件清单中,则此命令等价于clearpageinput文件名clearpage, 否则相当于换页。因此文档应该在新页开始(如章与章之间)分割。include 命令可以帮助我们省去很多宝贵的编译时间。它的主要好处是页面、章节和公式编号的附加信息可以由includeonly 命令提供,因此交叉引这
11、类命令,如ref 和 pageref 命令等能生成正确的结果。此命令可多次使用,所需的导言区仅有一个。样例:编辑一本由 8 章组成的书籍documentclassbook 导言区 includeonly. begindocument frontmatter includetoc mainmatter includechapt1 . includechapt8 backmatter printindex enddocument 其中 toc.tex 文件由如下的文本组成setcounterpage7 tableofcontents listofcontents listoffigures 通过在
12、includeonly 命令中添加适当的项,如includeonlytoc,chapt8 就可以选择性地处理各章(这里为第 8 章)。includeonly有些命令支持后面带有一对方括号 括起来的可选参数.导言区bookmarkspdf 格式的文档有一个特性 bookmarks,让用户可以打开一个树状的索引浏览文章的各个章节,这在阅读较大的文档时非常方便。TEX 中可以使用 hyperref 宏包实现这一功能。usepackagedvipdfm,CJKbookmarks,bookmarks=true,bookmarksnumbered=truehyperref 中文 bookmarkspdf
13、的 bookmarks 对文字的编码要求比较特殊,它可以使用两种编码:ISO Latin 1 或 Unicode UTF16 Big Endian。TEX 处理像中文这种多字节语言,即使文档采用 UTF8 编码保存,仍然无法得到正确的 bookmarks,这需要在文档中使用特殊的命令。对于 GB2312 编码的文件,我们可以在其后加上一行特殊指令(加在begindocument之后):AtBeginDvispecialpdf:tounicode GBpc-EUC-UCS2 而 UTF8 编码的文件,则使用:AtBeginDvispecialpdf:tounicode UTF8-UCS2 加在b
14、egindocument之后其中 UTF8-UCS2 的 CMap,需要到http:/project.ktug.or.kr/dvipdfmx/sample/omega/lambda-example2.zip下载一个文件包,然后将 UTF8-UCS2 文件复制到TEXMFHOME/dvipdfm/CMap 目录下 2。对 bookmarks 做一些定义:hypersetupcolorlinks, linkcolor=blue, citecolor=blue, urlcolor=blue,%定义链接的样式 bookmarksopen=true,%打开PDF 文件的同时打开书签 pdfhighlig
15、ht=/P, %/I(inverse) /N(no effect) /O(outline) /P(inset) pdfauthor=MichaelBibby ,%该 PDF 文件的制作者 pdfcreator=tex,%制作该 PDF 文档的工具 pdftitle=teTeX Chinese,%该 PDF 文档的标题。不是指 PDF 文件的文件名,任意取。pdfsubject=teTeX,% pdfkeywords=项目方案,%该文档的关键字 pdfstartview=FitH, %FitBH, FitB pdfpagemode=UseOutlines,%UseOutlines, %None, FullScreen, UseThumbs gbk2uni这个工具很有用。有时候 bookmark 出不来,可能就需要它来帮忙。 ctex 套件已经带有这个工具,UNIX 平台的需要额外下载。usepackageindentifirstindentfirst # 每个中文段落都在第一行空两个中文字符的宽度。 由于 indentfirst 不能准确地使用两个汉字的位置,所以需要