安装TeX及中文支持
2015.2.12更新:
下面的笔记适用于在基于debian的发行版(比如Ubuntu、LinuxMint)安装Texlive2013、2014;
第一步根据本机状况,可能不需要;
Texlive2014已经可以下载安装了,下面的所有“2013”更改为“2014”,安装Texlive2014正常。
1.Ubuntu卸载旧的Texlive2009
Try the following commands, one after another. If you progress, respective folders may already be deleted:
sudo apt-get purge texlive* |
2.安装texlive 2013
这个安装比较简单,我用的是ubuntu12.04.4。 具体步骤是,mount一下你下载的iso文件。
sudo mkdir /media/texlive |
然后进入到 /media/texlive目录下,执行:
./install-tl |
提示输入的时候,输入I (大写的i,会看到提示的)
安装完成后,可以向/etc/profile文件的最后一行添加如下代码,注意,我的系统是64位的,你要看看你自己的系统是不是在这个目录下有latex命令。
export PATH=/usr/local/texlive/2013/bin/x86_64-linux:$PATH |
如果你想使用帮助的话,还可以向~/.bashrc中添加下面两行:
export MANPATH=/usr/local/texlive/2013/texmf-dist/doc/man:$MANPATH |
到这里,我一般会重启一下。
测试一下上面的配置是否正确:
which latex |
如果找到了latex,那就可以继续了,找不到的话,你需要重新看一下自己是不是没有配置好环境PATH
3.搞定中文字体
(1)测试中文字体
先写一个简单的测试tex文件。起名为test.tex
\documentclass[UTF8]{ctexart} |
然后执行如下命令编译:
xelatex test.tex |
等一会,你会遇到一个错误,大致如下:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
下面就要解决这个问题。
(2)解决中文字体问题
错误里说了,”font-not-found”!所以问题在于Texlive找不到所示的SimSun
字体。
配置Texlive,使其可以使用系统字体
参照官方文档的说法:
XeTEX和LuaTEX可以使用任何系统安装的字体,而不只是TEX目录树中的那些。它们使用类似但不完全一致的方式实现这一功能。
在Windows下TEXLive提供的字体会自动为XeTEX所用。但如果你在Unix兼容的系统中安装了xetex软件包,则需要把系统配置一番XeTEX才能找到随TEXLive安装的那些字体。
为了进行配置,xetex 安装后(不管是初始安装还是后来安装的)都会在TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf 创建一个必需的配置文件。
要在整个系统中使用TEXLive的字体(假定你有足够的权限),请依照下面的步骤来做:
- 将texlive-fontconfig.conf 文件复制到 /etc/fonts/conf.d/09-texlive.conf。
- 运行fc-cache -fsv。
如果你没有足够的权限执行上述操作,或者只需要把TEXLive字体提供给你自己,可以这么做: - 将texlive-fontconfig.conf文件复制到
/.fonts.conf,其中是你的主目录。 - 运行
fc-cache -fv
。
你可以运行fc-list
来查看系统字体的名称。
由此可知,执行如下命令即可:
sudo cp /usr/local/texlive/2014/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf |
现在texlive可以使用系统字体,但是SimSun
字体在类UNIX中不存在,所以需要从Windows拷贝。
拷贝SimSun字体到系统中
mkdir ~/.fonts |
也可以使用默认的系统文件夹,比如可以用
mkdir /usr/share/fonts/windowsfonts |
然后执行如下命令,修改字体权限并再次更新字体缓存:
sudo chmod +x * |
执行成功后,再做如下操作:
cd /usr/local/texlive/2013/texmf-dist/tex/latex/ctex/fontset/ |
文件定义了xeCJK字体设置,内容大致如下:
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体 |
错误产生的原因在于上面定义的字体不存在或者找不到,所以根据已有字体名对字体名进行修改。
下面,打开新的终端,执行如下命令:
fc-list :lang=zh-cn |
输出大约如下:
AR PL UMing TW:style=Light |
注意:输出中有SimSun
字样才表示上述两步成功,否则可能复制相关字体不完全。
下面需要做的就是将ctex-xecjk-winfonts.def中的字体SIMFANG.TTF改为FangSong,SIMKAI.TTF改为KaiTi。
如果你用vim,可以在vim里执行如下命令:
:%s/\[SIMFANG.TTF\]/FangSong/g |
(3)测试问题解决
重新执行一下,那个编译命令吧:
xelatex test.tex |
现在应该没有问题了。
(4)调用其他字体
虽然上述方法解决了一些问题,但却还是不能使用微软雅黑之类的字体,下面是解决方案
测试文档是:
\documentclass{ctexart} |
效果是这样:
大功告成。