2007年2月6日星期二

Ubuntu下安装latex + cjk 下的UTF8编码字体

为什么?
以前我写过安装GBK字体,这几天在Linux下都是用的UTF-8编码,所以就想把Latex也变为UTF8编码,这样方便些

怎么做?
本来是完全可以按前面的方法做的,不过用gbkfonts程序生成UTF8编码时会出错。我天生懒散,就在网上又找了一阵子,找到个更好用的,这才发现原来更好的一直就在身边呀。由 http://mail.ustc.edu.cn/~lixuebai/GNU/TeTeXInstall.html 的指导,在 http://debian.ustc.edu.cn/debian-uo/dists/sid/misc/pool/thuthesis/tex-cjkfonts_0.3-4_i386.deb 处下载tex-cjkfonts_0.3-4_i386.deb包,安装
$ sudo dpkg -i tex-cjkfonts_0.3-3_i386.deb
美中不足的是,这个东东生成 的文件中,描述文件c70*.fd有错误,需要手工修改一个文件。(不知道是否是我的系统问题,ubuntu 6.10 + tetex 3.0 + cjk 4.5.2 )
$ sudo vim /usr/share/tex-cjkfonts/scripts/Makefile
把其中的28-32行替换为
        @echo "\def\\\fileversion{4.5.1}" >> $(FDFILE)
        @echo "\def\\\filedate{`date +%Y/%m/%d`}" >> $(FDFILE)
        @echo "\ProvidesFile{$(FDFILE)}[\\\filedate\space\\\fileversion]" >> $(FDFILE)
        @echo "" >> $(FDFILE)
        @echo "\DeclareFontFamily{C$(EID)}{$(ENCNAME)}{\hyphenchar \\\font\m@ne}" >> $(FDFILE)
 你也可以从这里得到 http://www.haikuo.googlepages.com/Makefile
然后,就可以生成字体了
$ make-fpkg /usr/share/fonts/truetype/microsoft/simsun.ttc utf8 song Microsoft
会在当前目录下生成文件 latex-cjk-fonts-utf8song.tar.gz
 make-fpkg /usr/share/fonts/truetype/microsoft/simkai.ttf utf8 kai microsoft
 make-fpkg /usr/share/fonts/truetype/microsoft/simfang.ttf utf8 fs microsoft
 make-fpkg /usr/share/fonts/truetype/microsoft/simli.ttf utf8 li microsoft
 make-fpkg /usr/share/fonts/truetype/microsoft/simyou.ttf utf8 you microsoft
 make-fpkg /usr/share/fonts/truetype/microsoft/stxinwei.ttf utf8 xinwei huawen
 make-fpkg /usr/share/fonts/truetype/microsoft/stzhongs.ttf utf8 zhongsong huawen
 make-fpkg /usr/share/fonts/truetype/microsoft/stcaiyun.ttf utf8 caiyun huawen
 make-fpkg /usr/share/fonts/truetype/microsoft/stfangso.ttf utf8 fangsong huawen
 make-fpkg /usr/share/fonts/truetype/microsoft/stxihei.ttf utf8 xihei huawen
 make-fpkg /usr/share/fonts/truetype/microsoft/stxingka.ttf utf8 xingkai huawen

然后在$HOME目录下,解开生成的所有压缩文件就可以了。
$ tar zxvf latex-cjk-fonts-utf8song.tar.gz

最后一步,
$ mktexlsr ; update-updmap ; updmap
可以测试一下
\documentclass[11pt]{article}
\usepackage{CJK}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage[indentafter]{titlesec}
\usepackage[unicode,dvipdfm,CJKbookmarks]{hyperref}
\usepackage{xspace,colortbl}

\author{Zhang Rui}
\title{测试一下}
\date{2006-08-17}

\begin{document}
\begin{CJK*}{UTF8}{song}
\CJKindent

\maketitle
\section{hi \CJKfamily{caiyun} 蔡 }
{\CJKfamily{kai}大家好,这是楷体}\\
{\CJKfamily{kaiti}大家好,这是方正楷体}\\
{\CJKfamily{xihei}大家好,这是细黑体}\\
{\fontsize{42pt}{\baselineskip}\selectfont 初号字体}\\
{\fontsize{5.25pt}{\baselineskip}\selectfont 七号字体}

\section{fundermental-基本}
{\CJKfamily{you}哈哈,当然是幼圆了。}sexy one
\\

\clearpage
\end{CJK*}
\end{document}

不过书签还有些问题,过几天搞好了再说说吧


没有评论: