newway分享 http://blog.sciencenet.cn/u/newway Information rules

博文

How to make LaTex handle unicode and CJK in Linux and Windows 如何在Linux下和Windows下

已有 7707 次阅读 2007-11-27 10:18 |个人分类:Information Technology

http://www.dcs.shef.ac.uk/~wei/latex4chinese.htm

众所周知Latex是非常牛的typesetting文档排版系统,西方绝大多专业科学文章书籍都是用各种版本的latex编译出来的. 在linux操作系统上latex是标准配置,可是让latex支持中文却不是一件容易事,Google了很多文章,这样那样的教程,Linux的, windows的,下载这样那样package的,到最后还是无法生成一篇简单的中文pdf文件,最近在高手的指点下,终于成功在Linux (Ubuntu 7.04) 和 Windows下MiKteX2.6 下成功编译中文tex文档,生成了漂亮的pdf文件.为了造福后人,也给自己一个记录,下面将详细说明每一步的步骤.

声明一下大部分的下载和说明都是来自 How to make LaTeX (teTeX) handle unicode and CJK in MacOSX 的,十分感谢该作者.

在操作前,首先确认你的系统安装了适合的TeX系统,我是在Ubuntu 7.04的TexLive 2005, 以及Windows下的MiKTeX2.6 试验成功的.其他版本不保证哦


第一步: 下载 UCS package

在此下载UCS包:http://www.unruh.de/DniQ/latex/unicode/unicode.tgz
把解压后得到ucs目录放在你的TeX相应目录下,
我系统的texmf目录为:/usr/share/texmf/, 那么就放在/usr/share/texmf/tex/latex 下.
我的windows MiKTeX目录为 E:MiKTeX, 对应就放在E:MiKTeXtexlatex 下.
(注,在ubuntu下你可能需要用 sudo 命令来创建目录,比如 sudo mkdir /usr/share/texmf/tex/latex/ucs )


第二步: 下载 CJK package

下载CJK包: http://cjk.ffii.org/cjk-4.7.0.tar.gz
把解压后的整个目录放在相应目录下,比如 /usr/share/texmf/tex/latex/cjk/下, MiKTeX在 E:MiKTeXtexlatex 下.



第三步: 下载 Unicode TureType font (cyberbit).

1.下载cyberbit.zip
把解压后的cyberbit.ttf放在相应目录下,比如 /usr/share/texmf/fonts/truetype/下, MiKTeX在 E:MiKTeXfonts 下.
注意如果你下载的是Cyberbit.ttf,要把大写的Cyberbit.ttf改成全小写的cyberbit.ttf

2.下载 .tfm 文件和 .enc 文件
然后把所有的".tfm"文件放在相应目录下,比如 /usr/share/texmf/fonts/tfm/cyberbit/, MiKTex比如在E:MiKTeX 2.6fontstfmcyberbit下.
把所有的".enc"文件放在相应目录下,比如 /usr/share/texmf/fonts/enc/, MiKTex比如在 E:MiKTeX 2.6fontsenc下.

3.安装 "cyberbit.map"文件: http://delloye.free.fr/cyberbit.map
放置在相应目录下,比如 /var/lib/texmf/fonts/map/pdftex/updmap/, MiKTeX比如在 E:MiKTeX 2.6pdftexconfig下.

4.安装 "c70cyberbit.fd"文件: http://delloye.free.fr/c70cyberbit.fd
将该文件放在相应目录下,比如 /usr/share/texmf/misc/ , MiKTeX比如在 E:MiKTeX 2.6texmisc 下 (没有该目录请自行创建)

第四步: 给pdfTeX声名新字体

1.修改(别忘了用sudo) updmap.cfg 文件,(/var/lib/texmf/web2c/updmap.cfg, MiKTeX: E:MiKTeX 2.6miktexconfig)
在文件尾部追加下面一行

Map cyberbit.map

保存后,运行updmap

sudo updmap

最后,更新FNDB, 对于Windows下的MiKTeX,更新FNDB请点击settings工具下面的"Refresh FNDB"按钮.对于Ubuntu:

sudo mktexlsr



第五步: 定义latex的preamble

经过1-4,准备工作都好了,现在只需要为你的latex文档添加新的preamble,就可以使用中文啦!

usepackage[encapsulated]{CJK}
usepackage{ucs}
usepackage[utf8x]{inputenc}
newcommand{cntext}[1]{begin{CJK}{UTF8}{cyberbit}#1end{CJK}}

然后在你latex文档中需要用中文的地方用cntext{} 包围你的中文:
cntext{中文latex文档}

或者下载这个例子文档编译 test.tex

October 1, 2007
W.Liu

https://blog.sciencenet.cn/blog-5691-11665.html

上一篇:计算汉字二字词语拼音"冗余度"
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-10-19 22:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部