天天看点

FreeBSD下tex的中文化

(原创文章,未经作者许可,不得擅自删除本声明或更改文章内容,转载请注明出处。)

1. 先安装好tetex,可以通过package安装,也可以通过ports安装我是通过ports安装的

# cd /usr/ports/print/tetex

# make install clean

如果是通过package安装可能这样做

# setenv PACKAGEROOT ftp://ftp.freebsdchina.org

# pkg_add -r tetex

通过package安装速度快,省掉了编译的时间

2. 检查一下目录树和配置文件texmf.cnf 。不知道目录树?不会吧,要用tex怎么会不知道?那就自己找找文章看看吧:)

texmf.cnf在$TEXMFMAIN/web2c/下面,主要是看看几个变量的设置,下面这些是我的设置,没改过安装完之后就是这样的,你的应该也一样

TEXMFMAIN = /usr/local/share/texmf

TEXMFLOCAL = /usr/local/share/texmf-local

HOMETEXMF = $HOME/texmf

TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}

SYSTEXMF = $TEXMF

VARTEXFONTS = /var/tmp/texfonts

TEXMFDBS = $TEXMF;$VARTEXFONTS

WEB2C = $TEXMF/web2c

3. 如果你是通过ports安装的,那一定安装好了CJK字体,就是经常用的arphic字体,如果没有安装CJK那就马上装一个,安装方法和上面一样的,大家肯定没有问题。现在可以试一下能不能用中文,只要你是通过ports安装的应该不会有问题,可以测试一下。要注意的是现在用的是GB字体,也就是要这样用

……

/begin{CJK*}{GB}{song}  % 使用宋体

/newcommand{/hei}{/bf/CJKfamily{song}} % 使用黑体

由于arphic字体只做了arb5kai、arb5sung、argbkai和argbsung,所以用黑体的时候要用/bf命令。好了,现在测试一篇中文文章吧,latex、pdflatex、dvipdfm等命令应该都没有问题,就是字体看起来不舒服,对吧,瘦长瘦长的,标点符号怎么都跑到中间去了,难看,还是在ctex下编译出来的好看些。这篇文章的目的就是用上ctex里的设置。 

4. 现在你已经装好了tetex并能通过CJK使用中文了,下面是如何安装新的字体,大家装完CJK之后可以看看它的文档,里面有详细的标准安装字体的方法,这里我要介绍的是一种取巧的方法,不用安装不用编译,只用拷贝加一点点设置就可以了,很方便,你一定会喜欢的。下面是我的方法:

# mount_msdosfs /dev/ad0s1 /mnt

(我有一个windows2000安装在C盘,里面装有CTEX,我现在就是利用里面的localtexmf,这里是设置好的东西,不用我们自己动手了,感谢CTEX的制作者们!不过我早已不用windows了,也就不能用ctex了)

# cd /mnt

# cd "Program Files/CTeX/"

# cp -R localtexmf /usr/local/share ; 拷贝

# mv localtexmf texmf-local ; 改名

# umount /mnt

(把localtexmf拷贝到$TEXMFMAINLOCAL里面,我的设置是/usr/local/share/texmf-local)

现在已经把设置好的ctex相关内容拷贝过来了,看看它的目录里有什么

|-cct/

|-doc/

|-dvipdfm/

|-dvips/

|-fonts/

|-pdftex/

|-tex/

|-ttf2tfm/

5. 对我来说cct和doc是多余的,rm掉,省些空间,呵呵,我的硬盘不大,你可以留着,我不用cct也许你用得着。然后 

# cp -R ttf2tfm ttf2pk

看看texmf.cnf里面有两个变量

TTF2PKINPUTS = $TEXMF/ttf2pk//

TTF2TFMINPUTS = $TEXMF/ttf2tfm//

现在知道上面的拷贝命令是什么意思了吧:)

6.已经做了不少功夫了,也许你已经急着编译你的文章了,好,那就试试吧,……,忘记说了,现在是不会成功的,呵呵,还缺点设置,别急,一分钟就好了

# cd /usr/local/share/texmf/fonts/truetype

# mkdir chinese

# cd chinese

# ln -s /usr/local/share/fonts/TrueType/simhei.ttf simhei.ttf

# ln -s /usr/local/share/fonts/TrueType/simsun.ttc simsun.ttc

# ln -s /usr/local/share/fonts/TrueType/simli.ttf simli.ttf

# ln -s /usr/local/share/fonts/TrueType/simfang.ttf simfang.ttf

# ln -s /usr/lcoal/share/fonts/TrueType/simkai.ttf simkai.ttf

# texconfig rehash

好了,现在再试一下你的文章吧,可以用下面这些熟悉的命令了

……

/begin{CJK*}{GBK}{song}

/newcommand{/hei}{/CJKfamily{hei}}

编译出来的文章应该很好看了吧:)

说说道理吧,ctex的localtexmf里面是设置好的中文化环境,里面针对windows下常用的字体设置好了tex系统,所以你把它拷到你的机子上就可以用了,唯一需要确认的就是你的字体有没有,一个是你的系统字体有没有这几种,另一个就是你的tex能不能找到它们。还记得一开始提到的texmf.cnf么?这里面全都是路径设置,花点时间看看吧,这样看想来可能方便些

$ grep '^[^%]' texmf.cnf > ~/texmf.cnf

然后把字体加到相应的路径下,texconfig rehash一下,就能让tex找到你设置的字体了,我是在texmf目录下修改的,因为我不想改texmf.cnf里面的内容,所以就按照上面写的路径去添加字体,注意我添加的是符号链接,没必要浪费你的空间。告诉大家一个线索,万一你迷失在这些繁杂的设置当中,不要灰心,记住arphic的字体你是能用的,为什么simsun等字体你不能用?找找看,arphic字体出现在哪些目录下面,到里面去照样做一下,再刷新,你一定能成功的。

所有常用的命令我都测试过了,latex、pdflatex、dvipdfm、texexec和xdvi都能用的,

你可以测试一下,有什么问题希望大家提出来,我们一起交流一下,共享tex的乐趣。