写在前面
TeX Live 2009对中文的支持度较以往有了很大提升,在Linux Mint下配置这个TeX环境应该是像我这样Linux+TeX多重菜鸟的首选。TeX Live同样支持FreeBSD,以后playin BSD的时候也可以试着玩一下。这里仅简要记录我在Linux Mint下安装TeX Live 2009及配置中文环境的过程,技术含量不高,大部分都是根据网上已有资料的提示加上自己的实践得出,具体操作方法也一定不是最简洁的,敬请各位看官雅正。
(此文所述的安装配置方法大部分应亦适合Ubuntu 9.10)
1 配置安装环境
打开终端,输入:
sudo apt-get install perl-tk
(安装perl-tk,下文采用的的GUI安装方式需要此组件)
2 下载TeX Live网络安装向导
http://ftp.ctex.org/mirrors/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
1.6MB左右,下载后解压至任意文件夹。
3 选择下载镜像
进入解压生成的文件夹,在空白处点击右键,Open in Terminal,在弹出的终端中输入:
sudo perl install-tl --gui --location http://oss.ustc.edu.cn/CTAN/systems/texlive/tlnet/
此处指定使用中科大的CTAN镜像下载TeX Live 2009安装所需的全部文件。
除此此外,还有很多CTAN镜像,请根据您的具体网络情况寻找最快的镜像进行下载。
4 安装TeX Live 2009
信息读取完毕后,出现Tex Live 2009的图形界面安装向导:
在这个界面可以根据自己的需要进行所有的配置。
当然,如果你和我一样是新手,并且没有特殊需求,可以直接点击Install,进行默认安装。如果你的硬盘空间并不宽裕,在这里可以去掉一些不需要的语言支持,以节约空间。
图为终端开始根据之前的配置下载所需的文件。可以看到需要下载1981个文件。
经过漫长与痛苦的等待,下载安装完成。“欢迎来到TeX Live的世界!”
5 配置环境变量
此步骤非必须,但建议执行。
打开/etc/目录,在空白处右键,Open as root,在弹出的窗口中打开文件 bash.bashrc,在此文件的末尾添加:
PATH=/usr/local/texlive/2009/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2009/texmf/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2009/texmf/doc/info:$INFOPATH; export INFOPATH
在 /etc/manpath.config 文件的
# set up PATH to MANPATH mapping
这行下面的列表后增加一条:
MANPATH_MAP /usr/local/texlive/2009/bin/i386-linux /usr/local/texlive/2009/texmf/doc/man
在 /etc/environment 文件中添加:
/usr/local/texlive/2009/bin/i386-linux
修改后的文件大致应该如下所示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/texlive/2009/bin/i386-linux"
LANGUAGE="en_US:en"
LANG="en_US.UTF-8"
注:若您使用x86_64版本的系统,只需把此步骤中出现的字符串'i386-linux'替换为'x86_64-linux',关于两种系统的区别,可以参考 [6]、[7],关于配置系统环境变量的详细讨论,参见 [4]、[5]。
注销并重新登录,使设置生效。
6 配置中文支持环境
这里有几种方案可以选择。(如大贤罗素所云:多姿多彩乃幸福的本源。)
我参考了 [4] 中给出的解决方案和 [9] 中提供的实现细节,由于之前的积累的tex模板不多,所以选用了 [4] 中提供的XeTeX高层方案,在Mint中的详细配置过程如下:
打开 /usr/local/texlive/2009/bin/i386-linux 目录。
在空白处右键,Open as root.
在弹出的窗口中右键,Open in terminal,在弹出的终端输入:
tlmgr install xecjk ctex
程序会自动下载xetex和ctex宏包并进行安装,速度也很快。输出大致如下:
Mint8 i386-linux # tlmgr install xecjk ctex
tlmgr: package repository http://oss.ustc.edu.cn/CTAN/systems/texlive/tlnet
[1/2, ??:??/??:??] install: ctex [347k]
[2/2, 00:08/00:13] install: xecjk [258k]
tlmgr: package log updated at /usr/local/texlive/2009/texmf-var/web2c/tlmgr.log
running mktexlsr ...
done running mktexlsr.
至此中文支持环境配置完成。下一步配置中文字体。
注:这里可能会出现要求更新tlmgr的要求,因为我在首次安装了Tex Live 2009很长时间以后才去配置中文支持,tlmgr版本比较老了。我们按照图示要求,输入 tlmgr update --self 进行更新,然后再运行 tlmgr install xecjk ctex 即可。
7 安装中文字体
找到以下四款Adobe公司开发的字体:Adobe Song Std, Adobe Heiti Std, Adobe Kaiti Std, Adobe FangsongStd,在/usr/share/fonts/下新建一个目录(需root权限),将上述字体复制进去(请在使用之前确认您具有使用以上字体的合适授权,必要时可请通过合理的渠道购买许可)。不妨假设这个目录叫做 /texfonts.
进入终端,执行:
cd /usr/share/fonts/texfonts/
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv
上面的命令生成了一些字体相关信息,最后刷新了字体缓存。至此,中文字体安装完毕。
由于我们使用的是在pdf输出时墨色更为均匀的Adobe中文字体,所以要注意在使用ctexart类前要加上 [adobefonts] 选项,参见下文中的例子。不得不说一下,默认的 [winfonts] 我尝试了N+个小时都没有配置成功,xelatex 在编译生成字体信息时总是报错,也许是和我没怎么读文档有关吧,估计需要手动进行mod才可以,有兴趣的同学可以尝试一下。
(本节特别感谢:Ai.Freedom同学)
8 Hello, World!
到此为止,Mint下的TeX Live中文环境配置完成,做下测试。
documentclass[adobefonts]{ctexart} begin{document} 测试\ 劳歌一曲解行舟,\ 红叶青山水急流。\ 日暮酒醒人已远,\ 满天风雨下西楼。 end{document} |
使用 xelatex 编译,直接生成了pdf。速度也很快,效果如图。
9 编译出来的pdf不能显示中文?
一个可能的原因是,Mint自带的pdf阅读工具evince不能显示中文,解决方法,在终端输入:
sudo apt-get install poppler-data
10 关于编辑器
编辑器方面,仁者见仁,智者见智,可以在安装时选择下载安装XeTeX的作者Jonathan Kew开发的TeXWorks,还可以下载TexMaker一类的编辑器自行配置,我在这里就使用了TeXMaker.
编译安装TexWorks的方法:
sudo aptitude install build-essential subversion libpoppler-qt4-dev libhunspell-dev libdbus-1-dev
svn checkout http://texworks.googlecode.com/svn/trunk/ texworks-read-only
cd texworks-read-only
qmake-qt4
make
TeXMaker在Mint的Software Manager目录中有下载,有预览图和介绍。
下图是我自己TeXMaker的配置。
一些有用的链接:
[1] TeX Live - TeX Users Group
[2] Ubuntu9.10 Tex Live 2009 简单安装教程, dylan@USTC
[3] 在 Ubuntu 9.10 (9.04)下网络安装配置 Tex Live 2009 十步, jswxm@CTeXBBS
[4]TeX Live 2009 的 LaTeX 中文支持, Jjgod Jiang
[6] Ubuntu Set User Profile Under Bash Shell
[8] CPU Naming Schemes - x86 (386,486,586), AMD 64, IA64 & EM64T
[9] TeX Live 2008 安装 & 配置中文支持 (下), Ai.Freedom
写在后面
关于TeX Live,网上的各种版本的安装攻略和细节实在是太多了,多到横跨N个版本,多到几乎人人有写,当然我也不例外。TeX激发了大家的写作与探索热情,这是一件不可多得的幸事。但一个无法回避的事实是,大部分攻略都存在着语焉不详甚至众口不一的问题,文档也来源各异,不够统一,这可苦了我这样的小菜鸟,新手入门确实要confusing一阵子。尤其到了Unix平台下,这个问题就更加突出,毕竟win下还有CTEX、ChinaTeX这些TeX普及性质的项目。正如贝吉塔所言,人们Confuse的程度随着Information的增加先增后减。有如二次项系数小于0的二次函数图像。这该如何是好呢。
Jan 20, 2010
寒假临行前






也用过一段时间 TeX Live 2009,不过除了它庞大的身躯几乎没啥印象了。
比较习惯 CTeX 环境下 直接用 ctex foo.tex 这种方式编译,好处是中文和英文混排时,中间的空格不会被吞掉(不然只能加 ~)。
不知道 TeX Live 是不是有类似的解决方案
中英混排是个问题 ..
要是CTEX也做个Unix版本就好了 ..
没有用过ctex,不过linux下,emacs23(这个新版本中文支持好)+auctex+preview-latex-style+textlive+bibliography非常的强大快捷和方便,缺点就是emacs需要熟悉一段时间他的特殊键位绑定(其实这种绑定是科学的,因为不需要方向键,和离主键盘区域远的键位),但是熟悉之后你可以快速的写任何的程序,尤其如果你经常写大的R的程序的话,eamcs+ess可以极大的提高工作效率。
嗯嗯 Emacs特殊的键位早有耳闻 能不能用好一款编辑器是一个潜在的瓶颈呀
我一直在用emacs。写英文和一般中文文档,很方便。
但是,我现在遇到一个问题,比较难办:中文预览。
如果是用ctexart作为文档类型,无法是用emacs+auctex中的preview功能。
只能切换成article类型,外加cjk宏包。
你好!我按照你的说明,xelatex编译得到的pdf文件中文是乱码。安装poppler-data也无效。但是evince看其他的pdf都正常。。
搞定了,发现忘了执行install xecjk ctex
非常感谢你的文章~~
编译成功了还只是第一步, 重写已有模板是很麻烦的事情 .. 总之我觉得配置中文支持麻烦透了 .. 如果不做中文相关的配置应该会好多了. 而且这种模式很适合懒人, 配置好了不想升级的话估计扔在那几年不动都可以.
在输入“sudo tlmgr install xecjk ctex”的时候,提示“sudo: tlmgr: command not found”,该怎么解决,已经切换到了/usr/local/texlive/2009/bin/i386-linux,Path也设置好了。
Good question. 我原来是直接用了图形界面中的Open as root先取得权限-> Open In Teminal, 再执行 tlmgr install xecjk ctex, 避免了在终端中使用sudo命令.
至于sudo不能的深层次原因,我猜可能是这个?
http://blog.pcware.cn/it/linux/debian-sudo-command-not-found.html
而文献texlive-zh-cn.pdf中还说到:
如果返回的结果是 'command not found' 而非版本和版权信息,或者显示了旧版本的信息,很有可能是因为你没有把正确的bin子目录添加到PATH 中。
不过在这里应该不是这个原因。
问一下主人的TeXMaker的配置,您的图片中Latex项不全。我也用TeXMaker但是无法编译xetex,配置不对。
哈哈,实在是对不住,这些天忙着些别的乱七八糟的事情,那天把评论审核通过了以后竟然就完全忘记回了 .. 结果今天又想起来 ..
LaTeX:
"/usr/local/texlive/2009/bin/i386-linux/xelatex" -interaction=nonstopmode %.tex
其实,我只是把前半部分,也就是XeLaTeX的路径选了一下 后面的参数部分是TeXMaker自己加上的 ..
我在TeXMaker界面上直接run一下这个"LaTeX", 就能够直接生成PDF. 如果不成功,也可能是由于其他因素,比方说之前的配置有误或者TeX文档本身有错,可以适当关注一下输出的日志。
安装好了试着编制了一个文件,可是在生成时提示ctexart.cls not found?这是怎么回事?