|
4#
楼主 |
发表于 12.1.2003 19:24:06
|
只看该作者
中文TeX系统安装说明<br>下面我们就介绍一下为了使用中文,你需要进行那些设置。 <br><br>生成中文字体和配置文件<br>很多程序需要 Type1 字体,你可以用energy大哥写的,后来由我改写,移植的gbkfonts程序来把 TrueType 的中文字体转化成 Type1 的。TrueType 的字体也是矢量字体,Windows 下有几个这样的字体,推荐使用那个宋体,你还可以另外下载免费的中文字体,或者购买商业版本的字体。 <br><br>gbkfonts 还帮助生成很多我们以后配置需要的配置文件。这样你可以省去自己写配置的麻烦。 <br><br>gbkfonts 的使用方法,在 Linux 下很简单,运行: <br><br>gbkfonts /mnt/windows/c/Fonts/simsun.ttf song<br><br>在 Windows 下的 gbkfonts 用起来稍为麻烦一点点,你需要把你的字体的各种参数先写到一个叫 gbkfonts.ini 的配置文件里。具体怎么改看一下那个文件就知道了。然后运行: <br><br>gbkfonts c:\windows\fonts\simsun.ttf song<br><br>大约2分种之后,当前目录下就可以得到很多目录: dvips, pdftex, fonts, ... 你如果像继续造其它字体就再次运行 gbkfonts, 你也可以把调用 gbkfonts 的命令都写到一个脚本里运行,这样你就可以抽空去喝杯茶了。 <br><br>最后你把这些目录都拷贝到 /usr/local/texlive/texmf-local/. 如果你没有这个目录就创建一个。以后这个目录被叫做 $TEXMFLOCAL. <br><br>需要注意的是,你每次增加了文件在 TeX 的目录树里都需要运行 mktexlsr 来刷新文件名数据库,这样 TeX 的程序才能顺利找到各种文件。 <br><br>让 dvips 使用 Type1 中文字体<br>TeX 首先生成 dvi 文件,然后 dvi 可以被 dvips 这样的程序转成 PostScript (*.ps) 或者被 dvipdfm 转换成 PDF. <br><br>我们先说说 dvips 怎样使用汉字, 如果你不用 dvips 就可以跳过这一节。有一个需要注意的是:LaTeX 在生成的 dvi 文件里记录的汉字名称叫做 gbksong01, gbksong02, ... 而不是你在 \begin{CJK}{song} 里指定的那个 "song",这是很容易混淆的。"song" 根据你使用的汉字不同,被CJK的fd文件映射为了 gbksong01, gbksong02... <br><br>使 dvips 能够使用汉字,只需要让 dvips 知道 Type1 字体在哪里。我们只需要修改 config.ps, cjk.map, 两步完成!注意以后的 pdfTeX 和 dvipdfm-CJK 的配置有惊人的相似之处。 <br><br>让 dvips 使用 cjk.map 来找到字体 <br>我们造出了字体,可是 dvips 并不知道你把字体放在哪里了。如果你照上一步那样做了,现在那些字体应该在 $TEXMFLOCAL/fonts/type1/chinese/gbk* 的目录下,是一些 *.pfb 文件。 <br><br>dvips 是依靠 $TEXMFMAIN/dvips/config/config.ps 来知道字体信息的。我们可以创建一个 $TEXMFLOCAL/dvips/config/config.ps 文件, 这样 TeX 会首先找到 $TEXMFLOCAL 目录里的 config.ps 文件使用它,而不使用 $TEXMFMAIN里的 config.ps. 这样我们避免了修改系统的文件,如果重新安装 TeX,就不用重新修改文件了。 <br><br>你可以把 $TEXMFMAIN/dvips/config/config.ps 拷贝到 $TEXMFLOCAL/dvips/config/config.ps, 然后加入一行: <br><br>p +cjk.map<br><br>让它从 cjk.map 这个文件得到字体映射信息。 <br>把字体信息附加到 cjk.map <br>cjk.map 记录了 TeX 字体名字和字体文件名字之间的对应关系。它里面有这样一些行: <br><br>gbksong01 SimSun01 <gbksong01.pfb<br>gbksongsl01 SimSun01 " .167 SlantFont " < gbksong01.pfb<br>gbksong02 SimSun02 <gbksong02.pfb<br>gbksongsl02 SimSun02 " .167 SlantFont " < gbksong02.pfb<br><br>...................<br><br>这说明,如果 dvi 文件要求用 "gbkfong01" 这个字体,就去找 gbksong01.pfb 这个文件。你应该把 gbkfonts 生成的 cjk.map 拷贝到 $TEXMFLOCAL/dvips/ 下,如果你以前已经有了这个文件,就把 gbkfonts 生成的文件里新的内容附加在这个文件末尾。 <br><br>至此,dvips 已经可以使用汉字了。 <br><br>让 pdfTeX 直接使用 TrueType 中文字体<br>需要注意的是 pdfTeX 需要由 gbkfonts 产生的 .enc 文件, 他们在生成的 pdftex 目录里。 <br><br>设置TTF字体路径 <br>你需要告诉 TeX 系统你的 TTF 字体都放在哪里了。这个信息记录在 $TEXMFMAIN/web2c/texmf.cnf 文件里: <br><br>在下面两行中加入你的TTF字体路径就行了。目录后的两根//表示寻找的时候搜索这个目录及其子目录。 <br><br>TTFONTS = .;$TEXMF/fonts/{truetype,ttf}//;/usr3/fonts//;/usr2/texlive/texmf-local/fonts/TTF//<br>TTF2TFMINPUTS = .;$TEXMF/ttf2pk//;/usr3/fonts//;/usr2/texlive/texmf-local/fonts/TTF//<br><br>让 pdfTeX 找到字体 <br>pdfTeX还需要一些映射文件来决定字体文件的名字。这些映射文件都已经由 gbkfonts 生成了: gbksong.map, gbkkai.map,... 它们应该已经被你拷贝到了 $TEXMFLOCAL/pdftex/config.它们里面的内容类似这样: <br><br>gbksong01 <gbksong01.enc <simsun.ttf<br>gbksongsl01 <gbksong01.enc <simsun.ttf<br>gbksong02 <gbksong02.enc <simsun.ttf<br>gbksongsl02 <gbksong02.enc <simsun.ttf<br>......<br><br>你还需要告诉 pdfTeX 使用那些 map 文件。这个信息记录在 $TEXMFLOCAL/pdftex/config/pdftex.cfg. 如果没有这个文件,就把 $TEXMFMAIN下对应的文件拷贝过来,注意保持目录结构一样,然后把 gbkfonts 生成的 pdftex.cfg 的内容附加在末尾。 config 里的这些行 <br><br>map gbksong.map<br>map +gbkhei.map<br>map +gbkkai.map<br><br>就是表示使用那些映射文件的。 <br>让 dvipdfm-CJK 使用 TrueType 中文字体<br>dvipdfm-CJK 是支持中日韩字体的 dvipdfm. dvipdfm-CJK 其实也是依靠 $TEXMFMAIN/web2c/texmf.cnf 来找到TTF字体。所以你需要像 pdfTeX 那样做一次。 <br><br>另外,dvipdfm 需要通过映射文件来找到名字对应的字体文件,需要哪些映射文件是在 $TEXMFLOCAL/dvipdfm/config/config 指定的。这和dvips, pdfTeX 相似。如果你没有,就把 $TEXMFMAIN下对应的文件拷贝过来,注意保持目录结构一样。 <br><br>在 config 文件里应该有这样一行: <br><br>f cid-x.map<br><br>它告诉 dvipdfm 去找 cid-x.map. 这个文件一般在 $TEXMFMAIN/dvipdfm/config/, 如果没有的话你就创建一个。它里面有类似以下内容: <br>gbksong@UGBK@ UniGB-UCS2-H :0:simsun.ttf<br>gbksongsl@UGBK@ UniGB-UCS2-H :0:simsun.ttf,Italic<br><br>................<br><br>你可以把 gbkfonts 生成的 cid-x.map 附加到这个文件的末尾。 <br><br>常用的程序就是这些了。其它程序请参考另外的说明。 <br> |
|