Sunday, October 11, 2009

[TeX]TDS: TeX文件目录结构

本篇尚未完成

理论篇

什么是TDS

TeX系统目录结构(TeX Directory Structure)简称 TDS,是 TUG(TeX Users Group)主持制定的标准,目的在于方便TeX的开发者和用户.目前流行的 MiKTeX 套装和 TexLive 套装都支持 TDS.

TEXMF树

TEXMF = TeX + MetaFont
texmf树,由于其不必要的庞大和复杂,而被诟病.但是它也带来了一些好处.比如你可以在不同的树下,分开安装维护不同版本的TeX.
一般我们同时拥有好几棵texmf树,它们有大致相同的组织结构,被委以不同的职责
  1. TEXMFMAIN:主要的树
  2. TEXMFLOCAL: 通常是对TEXMFMAIN的补充,
  3. HOMETEXMF:通常可以用来存放一些非public的(不是所有用户都可以使用的).比如只有你个人拥有许可的包, 或者你正在开发的包.

每棵树的组织结构大致如下:
.sty, .cls or .fd: $TEXMF/tex/<format>/<package>/
.mf:   $TEXMF/fonts/source/<supplier>/<font>/
.tfm:  $TEXMF/fonts/tfm/<supplier>/<font>/
.vf:   $TEXMF/fonts/vf/<supplier>/<font>/
.afm:  $TEXMF/fonts/afm/<supplier>/<font>/
.pfb:  $TEXMF/fonts/type1/<supplier>/<font>/
.ttf:  $TEXMF/fonts/truetype/<supplier>/<font>/
.otf:  $TEXMF/fonts/opentype/<supplier>/<font>/
.pool, .fmt, .base or .mem: $TEXMF/web2c


实战篇

找到你自己的${TEXMFMAIN}
kpsewhich -expand-var='$TEXMFMAIN'
在我的MacTex(基于TeX Live)上结果为/usr/local/texlive/2010/texmf

找到自己的texmf.cnf
kpsewhich texmf.cnf

metapost中使用label, 用gsview 来preview的时候报错: "undefined cmr10"
这是因为mpost 对*.mp 处理后得到的图形是 PS 格式,但是是没有嵌入字体,所以gsview无法显示

参考


[1]LaTeX之TeX系统目录结构
[2]A Directory Structure for TeX Files
[3]一个很不错的TeX笔记blog
[4]TDS in TeX Live

No comments: