安装TeX及中文支持
2014.7.19更新:
以下的笔记适用于在基于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* rm -rf /usr/local/texlive/2009 and rm -rf ~/.texlive2009 rm -rf /usr/local/share/texmf rm -rf /var/lib/texmf rm -rf /etc/texmf sudo apt-get remove tex-common --purge rm -rf ~/.texlive
2、安装texlive 2013
这个安装比較简单,我用的是ubuntu12.04.4。 详细步骤是,mount一下你下载的iso文件。
sudo mkdir /media/texlive sudo mount texlive2013-20130530.iso /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 export INFOPATH=/usr/local/texlive/2013/texmf-dist/doc/info:$INFOPATH
到这里,我通常会重新启动一下。
測试一下上面的配置是否正确:
which latex
假设找到了latex。那就能够继续了,找不到的话,你须要又一次看一下自己是不是没有配置好环境PATH
3、搞定中文字体
(1)測试中文字体
先写一个简单的測试tex文件。
起名为test.tex
\documentclass[UTF8]{ctexart} \begin{document} 我爱中国! \end{document}
然后运行例如以下命令编译:
xelatex test.tex
等一会,你会遇到一个错误,大致例如以下:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! fontspec error: "font-not-found" ! ! The font "SimSun" cannot be found. ! ! See the fontspec documentation for further information. ! ! For immediate help type H <return>. !...............................................
以下就要解决问题。
(2)解决中文字体问题
错误里说了。"font-not-found"!所以要先安装SimSun字体。
先运行例如以下命令:
cd /etc/fonts/conf.d sudo ln -s /usr/local/texlive/2013/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts 09-texlive.conf
上面的命令是为了让系统能够使用texlive的字体。
再做例如以下操作能够使用自己定义的字体。
mkdir ~/.fonts #假设文件夹不存在须要自己建。cp *.ttf ~/.fonts #将字体复制到.fonts
然后运行例如以下命令,改动字体权限并更新字体缓存:
sudo chmod 644 *.ttf sudo mkfontscale sudo mkfontdir sudo fc-cache -fsv
运行成功后,再做例如以下操作:
cd /usr/local/texlive/2013/texmf-dist/tex/latex/ctex/fontset/ sudo vim ctex-xecjk-winfonts.def文件定义了xeCJK字体设置,内容大致例如以下:
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置。默觉得六种中易字体 % vim:ft=tex \setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}] {SimSun} \setCJKsansfont{SimHei} \setCJKmonofont{[SIMFANG.TTF]} \setCJKfamilyfont{zhsong}{SimSun} \setCJKfamilyfont{zhhei}{SimHei} \setCJKfamilyfont{zhkai}{[SIMKAI.TTF]} \setCJKfamilyfont{zhfs}{[SIMFANG.TTF]} % \setCJKfamilyfont{zhli}{LiSu} % \setCJKfamilyfont{zhyou}{YouYuan} \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体 \newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体 \newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书 \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋 % \newcommand*{\lishu}{\CJKfamily{zhli}} % 隶书 % \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆 \endinput
错误产生的原因在于上面定义的字体不存在或者找不到,所以依据已有字体名对字体名进行改动。
以下,打开新的终端。运行例如以下命令:
fc-list :lang=zh-cn
输出大约例如以下:
AR PL UMing TW:style=Light AR PL UMing HK:style=Light 文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Regular 仿宋,FangSong:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta 標楷體,DFKai\-SB:style=Regular AR PL UMing CN:style=Light 新宋体,NSimSun:style=常规,Regular 楷体,KaiTi:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta 微软雅黑,Microsoft YaHei:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta Adobe 楷体 Std,Adobe Kaiti Std,Adobe Kaiti Std R,Adobe 楷体 Std R:style=R,Regular Microsoft YaHei UI,Microsoft YaHei UI Light:style=Light,Regular
以下须要做的就是将ctex-xecjk-winfonts.def中的字体SIMFANG.TTF改为FangSong。SIMKAI.TTF改为KaiTi。
假设你用vim,能够在vim里运行例如以下命令:
:%s/\[SIMFANG.TTF\]/FangSong/g :%s/\[SIMKAI.TTF\]/KaiTi/g
(3)測试问题解决
又一次运行一下。那个编译命令吧:xelatex test.tex如今应该没有问题了。
(4)调用系统字体
尽管上述方法攻克了一些问题,但却还是不能使用微软雅黑之类的字体。以下是解决方式測试文档是:
\documentclass{ctexart} \setCJKfamilyfont{Microsoft YaHei}{微软雅黑} \newcommand{\yah}{\CJKfamily{Microsoft YaHei}} \begin{document} 注意:UTF-8编码,用XeLaTeX编译,{\yah 这里演示样例为微软雅黑}。\\ 效果还能够。 \end{document}
效果是这样:
大功告成。