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