2015-04-22 12:19:27
来 源
中存储网
Ubuntu
费尽周折,终于搞定了在 Ubuntu LaTex 中添加UTF8中文支持,可以使用Win字体,现在可以用latex写作中文文档了。解决方法过程记录如下。 我使用的系统是Ubuntu 12.04,安装的是texlive2009,使用CJK中文支持。 首先,安装必须的中文支持宏包。 $ sudo apt-cac

费尽周折,终于搞定了在 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。

 安装字体转换程序 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 “%02xn”,n; n++}}’`修改为:

NUMLIST=`awk ‘BEGIN{ n=0; while(n<256){printf “%02xn”,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}

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。