Ubuntu LaTex添加UTF8中文支持解决方法
费尽周折,终于搞定了在 Ubuntu LaTex 中添加UTF8中文支持,可以使用Win字体,现在可以用latex写作中文文档了。解决方法过程记录如下。
我使用的系统是Ubuntu 12.04,安装的是texlive2009,使用CJK中文支持。
- 首先,安装必须的中文支持宏包。
$ sudo apt-cache search latex-cjk-
cjk-latex – installs all LaTeX CJK packages
latex-cjk-all – installs all LaTeX CJK packages
latex-cjk-chinese – Chinese module of LaTeX CJK
latex-cjk-chinese-arphic-bkai00mp – traditional Chinese KaiTi fonts for CJK
latex-cjk-chinese-arphic-bsmi00lp – traditional Chinese KaiTi fonts for CJK
latex-cjk-chinese-arphic-gbsn00lp – traditional Chinese KaiTi fonts for CJK
latex-cjk-chinese-arphic-gkai00mp – traditional Chinese KaiTi fonts for CJK
latex-cjk-common – LaTeX macro package for CJK (Chinese/Japanese/Korean)
latex-cjk-japanese – Japanese module of LaTeX CJK
latex-cjk-japanese-wadalab – type1 and tfm DNP Japanese fonts for latex-cjk
latex-cjk-korean – Korean module of LaTeX CJK
latex-cjk-thai – Thai module of LaTeX CJK
然后只添加安装和中文有关的包:
$ sudo apt-get install latex-cjk-chinese*
- 准备中文字体。
可以从win下直接拷贝,在/windows/Fonts/目录下,simhei.ttf,simkai.ttf,simfang.ttf 分别是黑体、楷体、仿宋的字体文件。宋体的文件是simsun.ttc,在这里不能使用,需要单独下载simsun.ttf。
单独的simsun.ttf 与 四个字体文件 集 字体安装脚本mkfont.tar.gz 下载
下载在安科网的1号FTP服务器里,下载地址:
密码:www.muu.cc
下载方法见 http://www.linuxidc.net/thread-1187-1-1.html
- 安装字体转换程序 ttf2pt1。
为了能够使安装顺利,安装ttf2pt1。在我的Ubuntu 12.04源里找不到,然后到这里下载:http://mirror.dcc.fc.up.pt/Ubuntu/pool/main/t/ttf2pt1/
解压之后进入目录执行
$ make all
$ sudo make install
可能会出现错误,无法安装。这时只需要将目录下的 ttf2pt1和t1asm拷贝到 /usr/bin/下就可以了:
$ sudo cp ttf2pt1 t1asm /usr/bin/
- 下载字体安装脚本mkfont。
下载字体安装脚本mkfont.tar.gz。
- 转换安装字体。
首先要生成 Tex 用户个人配置,使用 tex 的 updmap 命令。
终端执行: $ updmap
$ update-updmap [会在用户目录生成map的配置目录等信息] 重要的一步!!!
$ updmap [再次执行,查看给出的配置信息]
我的Latex 默认的用户配置文件位于 Home下的 的 .texmf-var [~/.texmf-var] 和 .texmf-config 目录中,请检查命令给出的信息,确定目录,后面会使用。为了使得后面的脚本能将文件写入这个目录中,对这个目录增加写权限。方便起见,直接终端执行:
$ sudo chmod -R 777 .texmf-var .texmf-config
首先将下载的mkfon.tar.gz 解压到文件夹 mkfont。
$ tar xvzf mkfont.tar.gz
$ cd mkfont
修改mkfont.sh脚本。
因为刚才确认了latex的用户配置的位置,所以将 mkfont.sh 作了相应的修改。将第4行修改为:
TEXMF=~/.texmf-var 【根据具体情况修改为你的目录】
原脚本在我的机器上有点错误,会导致 字体00 找不到,作如下两处修改:
将第20行:
NUMLIST=`awk ‘BEGIN{ n=1; while(n<256){printf “%02x\n”,n; n++}}’`修改为:
NUMLIST=`awk ‘BEGIN{ n=0; while(n<256){printf “%02x\n”,n; n++}}’`
关键是将 n 的初始值修改为 0 。
为了正常使用 pdflatex ,把倒数第二行改为:
updmap –enable Map=ttf-${FHEAD}.map > /dev/null 2>&1
原来只有 t1-${FHEAD}.map 的映射,现在改为 ttf-${FHEAD}.map 映射。
然后把字体文件拷贝到 mkfont 目录中,假设首先安装simhei黑体。
将simhei.ttf 拷贝到mkfont中,和mkfont.sh置于同一目录中,执行:
$ ./mkfont.sh simhei.ttf simhei hei #转换黑体,不使用sudo。
然后依次转换安装其他字体:
$ ./mkfont.sh simkai.ttf simkai kai
$ ./mkfont.sh simsun.ttf simsun song
$ ./mkfont.sh simfang.ttf simfang fang
******注意!!!******
此时,可以进行测试[见测试],如果不成功,就继续执行以下步骤:
进入目录 ~/.texmf-config/updmap.d/ [如果没有则创建], 新建文件 00updmap.cfg ;
添加如下内容:
Map ttf-simkai.map
Map ttf-simhei.map
Map ttf-simfang.map
Map ttf-simsun.map
然后终端执行命令:
$ update-updmap
$ updmap
- 测试:
\usepackage{CJK}
\usepackage{default}
\begin{document}
\begin{CJK*}{UTF8}{kai}
我是中文,测试成功。
\end{CJK*}
\end{document}