latex2e
classs and packages
这一节介绍新的latex文档结构, 以及新的文件类型: classs and packages
类和包是什么?
lext 2.09和latex2e的主要差别就在与\begin{document}之前的命令.
在latex 2.09中, 文档有哦style, 比如article和book, 以及option, 比如, twoside和
epsfig. 这些都是通过\documentstyle命令来表征的.
但是存在着两种不同类型的文档style选项: 内建的, 如twoside, 以及包, 如
epsfig.sty. 任意style的latex文档都可以使用epsfig包, 但是只有声明了twoside选项
的文档style可以twoside..
为了避免这种情况, latex2e对内建选项和包作了区分. 通过新加入的\documentclass和
\usepackage命令来给出.
比如, 指定带有PostScript图表的一个twoside的article, 可以使用:
\documentclass[twoside]{article}
\usepackage{epsfig}
可以使用单个\usepackage命令一次加载多个包..
\usepackage{epsfig}
\usepackage{multicol}
等价于
\usepackage{epsfig,multicol}
latex2e仍然支持letex 2.09的\documentstyle命令. 这个命令会使latex2e进入latex
2.09兼容模式.
但是, 在新的文档中不应该使用\documentstyle, 因为这个模式非常慢, 并且很多
letex2e的特性不可用.
为了帮助区分class和package, 文档class现在使用.cls取代了原来的.sty. 包则依旧
使用.sty后缀. 多数latex 2.09的包在latex2e中都能正常使用.
类和包选项
在latex 2e中, 类和包都可以有选项. 如, 指定图形使用dvips驱动的two-sided的article:
\documentclass[twoside]{article}
\usepackage[dvips]{graphics}
包可以共同的选项. 比如, 通过如下指定再加载color包:
\documentclass[twoside]{article}
\usepackage[dvips]{graphics}
\usepackage[dvips]{color}
但是由于\usepackage允许列举多个包, 这个可以简化为:
\documentclass[twoside]{article}
\usepackage[dvips]{graphics,color}
了;另外, 包还会使用每一个给到\documentclass命令的选项(如果它们知道如何处理它的
话). 因此也可以这样写:
\documentclass[twoside,dvips]{article}
\usepackage{graphics,color}
标准类
以下类随latex一同发布:
- article
- book
- report
- letter
- slides
- proc
- ltxdoc
- ltxguide
- ltnews
- minimal: 这个类是在一个latex类文件中最基础的部分(3行). 只是设置文本宽度和高度,
以及定义\normalsize. 一般来说是用于在不需要加载一个full的类, 如article的时候
, 来调试和测试latex代码. 但是, 如果你是在为一个结构和article类提供的完全不同的文
档设计一个新类的话, 在这个的基础之上进行添加会比从article开始修修改改更好.
标准包
以下包同latex一同发布:
- altt: 提供alltt环境, 类似verbatim环境, 除了
\,{,}都保持原意(??) - doc: 排版latex程序文旦的基础包
- exscale: 提供scaled版本的数学表达式字体.
- fontenc: 指定latex使用何种字体编码
- graphmap: 定义
\graphpaper命令, 可以用于picture环境中 - ifthen: 提供form
if...then do...otherwise do...的要用的命令. - inputenc: 指定latex应该使用的输入编码
- latexsym: latex2e默认不再有symbol font. 需要使用这个包来访问
- makeidx: 提供生成索引的命令
- newlfont: 用于使用新的字体选择机制模拟latex 2.09的字体命令.
- oldlfont: 用于模拟latex 2.09的字体命令
- showidx: 致使每个
\index命令在其出现的位置打印 - syntonly: 用于处理一个文档而不排版它??
- tracefnt: 控制展示多少关于latex字体加载的信息.
相关软件
这些软件应该和latex2e一同发布...
- amslatex: 来自美国数学协会的高级数学排版...
- babel: 这个包和相关文件支持以多种语言排版
- cyrillic: 使用cyrillic字体排版需要的一切
- graphics: ..
- psnfss: for typesetting with a large range of Type 1 (PostScript) fonts
- tools: latex项目组写的各种各样的包..
tools
这个包集合最起码包括, 下面的这些:
- array
- calc
- dcolumn
- delarray
- hhline
- longtable
- tabularx
- afterpage
- bm
- enumerate
- fontsmpl: 生成font samples的包和测试文件..
- ftnright
- indentfirst
- layout
- multicol
- rawfont
- somedefs
- showkeys
- theorem
- varioref
- verbatim
- xr: 交叉引用外部文档(可以引用我的实验报告封面吗...)
- xspace
latex2e的更多相关文章
- LaTeX 算法代码排版 --latex2e范例总结
LaTeX 写作: 算法代码排版 --latex2e范例总结 latex2e 宏包的使用范例: \usepackage[ruled]{algorithm2e} ...
- CASthesis 模板编译的问题
使用CASthesis模板(https://github.com/xiaoyao9933/UCASthesis,介绍里说这个版本是在ThuThesis的基础上修改的),自带的说明如下. 使用须知 == ...
- 在CentOS 6.7中安装 latex2html, 实现 latex 自动转化为 word
由于latex文档生成的pdf不便于提供审阅和修改,亟需一个软件实现从latex向word文档的自动转换( 如何把Latex自动转为Word 介绍了由latex2html 可实现这个功能,这也是初衷) ...
- 关于分开编写多个LaTeX文件的一点微小的总结
[转载请注明出处]http://www.cnblogs.com/mashiqi 2016/11/05 在编写LaTeX文档的时候,由于文档的section较多,或者section的编写时间各不相同,我 ...
- Latex 数学符号
本文完全转自 <常用数学符号的 LaTeX 表示方法>,在此转载仅仅为了便于查阅,谨向原作者致以崇高的敬意. 常用数学符号的 LaTeX 表示方法 (以下内容主要摘自“一份不太简短的 LA ...
- linux下编译bib、tex生成pdf文件
实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...
- LaTeX常用数学符号表示方法
转自:http://www.mohu.org/info/symbols/symbols.htm 常用数学符号的 LaTeX 表示方法 (以下内容主要摘自“一份不太简短的 LATEX2e 介绍”) 1. ...
- LaTeX Software & Manuals
LaTeX Software & Manuals How to Typeset Equations in LaTeX LaTeX is a very powerful tool for typ ...
- LATEX论文排版学习资源汇总
一.国内出版的LaTeX书籍 不管是ctex还是chinatex论坛,很多TeX前辈和使用者都给大家提供了很多咨询帮助,同时,也分享了很多很多学习上的方法与技巧.一般都推荐入门的用户先阅读一本入门书, ...
随机推荐
- Git 删除大文件的方法
git 仓库中删除历史大文件 git 仓库中删除历史大文件 在git中增加了一个很大的文件,而且被保存在历史提交记录中,每次拉取代码都很大,速度很慢.而且用删除 提交历史记录的方式不是很实际. 以 ...
- JMeter Web测试计划
在本节中,将学习如何创建测试网页的基本测试计划. 出于演示测试目的,我们将测试URL - https://www.yiibai.com/ 的网页性能. 创建JMeter测试计划 进入到JMeter安装 ...
- 使用 Visual Studio Code 进行远程开发
使用 Visual Studio Code 进行远程开发 在完成了 AT 指令入门的学习之后,接下来就要使用 AT 指令进行 Socket 通信了.问题在于,之前 .NET 的 Socket 编程只需 ...
- 运行APP脚本的步骤
1.打开ride(可运行命令:ride.py) 2.启动Appium 3.启动android-sdk\tools\uiantomatorviewer.bat(目的是为了抓取设备元素ID)
- 浅谈月薪3万 iOS程序员 的职业规划与成长!(进阶篇)
前言: 干了这么多年的iOS,虽然接触了许多七七八八的东西.技术,但是感觉本身iOS却没有什么质的飞越,可能跟自己接触的项目深度有关,于是决定在学习其他技术的同时,加强自己在iOS方面的学习,提高自己 ...
- requests库结合selenium库共同完成web自动化和爬虫工作
我们日常工作中,单纯的HTTP请求,程序员都倾向于使用万能的python Requests库.但大多数场景下,我们的需求页面不是纯静态网页,网页加载过程中伴随有大量的JS文件参与页面的整个渲染过程,且 ...
- Hadoop集群分布式安装
一 整体介绍 1.1 硬件环境 本文使用三台服务器搭建hadoop集群,使用Centos7.5系统,服务器均有独立ip 1.2 部署的软件 部署服务:namenode(HA),resourcemana ...
- Java高级特性——注解(Annotation)
文件地址:https://github.com/xiaozhengyu/StudyNotes.git
- selenium自动化测试入门 定位frame和iframe中的元素对象
< frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到fr ...
- Linux Centos7 环境搭建Docker部署Zookeeper分布式集群服务实战
Zookeeper完全分布式集群服务 准备好3台服务器: [x]A-> centos-helios:192.168.19.1 [x]B-> centos-hestia:192.168.19 ...