您的位置:首页 > 其它

ubuntu 12.04 安装texlive2014 并安装CJK中文字体

2015-04-25 13:19 676 查看
依赖包:

sudo apt-get install libdigest-md5-file-perl perl-tk
下载ISO

下载地址:

           USTC镜像: http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/texlive2014.iso
            阿里云镜像: http://mirrors.aliyun.com/CTAN/systems/texlive/Images/texlive2014.iso
在ubuntu12.04下可以用wget, axel等下载工具

挂载ISO

$ su
# mount -o loop texlive2014 /mnt
# cd /mnt
# ./install-tl (文本界面) or ./install-tl --gui (图形界面)
添加环境变量

如果只需当前用户使用, 在~/.bashrc文件设置texlive2014所需环境变量, 否则让系统范围的用户都使用, 在//ect/bash.bashrc文件中设置

PATH=/usr/local/texlive/2014/bin/i386-linux/:$PATH;export PATH
MANPATH=/usr/local/texlive/2014/texmf/doc/man:$MANPATH;export MANPATH
INFOPATH=/usr/local/texlive/2014/texmf/doc/info:$INFOPATH;export INFOPATH
texlive2014 管理

可以使用如下命令调出tlmgr的中文图形界面

$ su
# tlmgr --gui --gui-lang zh_CN


安装CJK中文字体

texlive2014 已经把CJK的宏包完整安装, 不过像window下的黑体, 宋体等字体没有配置。

安装字体编辑器
sudo apt-get install fontforge 
准备必要文件

unicode编码的truetype字体,

          比如在/Windows/Fonts/下 simsun.ttf   simkai.ttf等win自带系统字体

Unicode.sfd 

         可以在texlive2014安装目录中找到,比如:/usr/local/texlive/2014/texmf-dist/fonts/sfd/ttf2pk/Unicode.sfd

subfonts.pe 脚本工具,

          可以在/usr/local/texlive/2014/texmf-dist/source/latex/cjk/utils/subfonts/中找到,要没有, locate subfonts.pe查看这个文件放在哪里!

生成字体过程(以simkai.ttf为例)
mkdir ~/Font/
cd Fonts/
mkdir kai; cd kai

fontforge -script subfonts.pe simkai.ttf kai Unicode.sfd
这指令会执行一段时间。kai是后来在CJK package使用的中文字体名称,自己可以决定使用何种名称。完成后,会产生几百个档案,主要是kai*.pfb, kai*.tfm, kai*.afm, kai*.enc四种。

 生成kai.map
for i in *.tfm
do
cat >> song.map << EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done
注意 ${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb 空格一定要有,它是一个tfm和pfb的对照表。tfm是Tex使用的字模,而pfb是真正的type1格式字模。但type1一个字模只能定义256个字。所以必需要工具将ttf转换成type1格式,TeX才能支援。
另外kai*.enc是给dvipdfm使用ttf的,如果要使用(我觉得根本就不需要),需要建立kai-enc.map: (不需要)

for i in *.tfm
do
cat >> kai-enc.map << EOF
${i%.tfm} < ${i%.tfm}.enc < arplmingu20lt.ttf
EOF
done

安装字体到指定的目录

texlive 字体一般是放在/usr/local/texlive/2014/texmf-dist/fonts/里面,也可以在里~/.texlive2014/texmf-var/fonts/里面

我觉得放在~/.texlive2014/texmf-var/fonts/目录里不需要root权限,比较方便。

cp kai*.tfm ~/.texlive2014/texmf-var/fonts/tfm/CJK/kai/
cp kai*.pfb ~/.texlive2014/texmf-var/fonts/type1/CJK/kai/
cp kai*.enc ~/.texlive2014/texmf-var/fonts/enc/CJK/kai/ (其实用不到,不需要做)
cp kai*.afm ~/.texlive2014/texmf-var/fonts/afm/CJK/kai/ (其实用不到,不需要做)
动手把kai.map的内容添加到 (pdftex, dvipdfm(x)都可以使用 kai的type1字体。)
vim ~/.texlive2014/texmf-var/fonts/map/pdftex/updmap/pdftex.map (pdftex, dvipdfm(x)都可以使用 kai type1字体。)
vim ~/.texlive2014/texmf-var/fonts/map/dvips/updmap/psfont.map (dvips, MetaPost可以使用kai type1字体。)
因为TeX/LaTeX不能读取kai 的subfonts,所以,CJK套件会让它们参考c70kai.fd的内容,才能正确的找到subfont,和其中的字。这个需要自行建立。c70指的是unicode。c70kai意指kai字体是unicode编码的字体。其内容为:
\ProvidesFile{c70kai.fd}[\filedate\space\fileversion]
\DeclareFontFamily{C70}{kai}{\hyphenchar \font\m@ne}
\DeclareFontShape{C70}{kai}{m}{n}{<-> CJK * kai}{\CJKnormal}
\DeclareFontShape{C70}{kai}{bx}{n}{<-> CJKb * kai}{\CJKbold}
\endinput
把c70kai.fd放到~/.texlive2014/texmf-var/tex/latex/CJK/GBK/下
把 "Map kaimap" 添加到下面文件内

sudo vim /usr/local/texlive/2014/texmf-dist/web2c/updmap.cfg
这些都做完了以后,执行
$ su
# mktexlsr
#updmap --neable Map kai.map
建立一个档案 test.tex,要是unicode的文字编码文档。
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{kai}
This is a test of chiness words.
中文测试
\end{CJK}
\end{document}
然后在这目录下执行

latex test.tex

应可以顺利编译完成,得到test.dvi

真要看效果,就用

dvipdfm test.dvi

得到 test.pdf,再用xpdf 看内容即可。

或者 pdflatex test.tex

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: