安装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}
egin{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}


ewcommand*{songti}{CJKfamily{zhsong}} % 宋体

ewcommand*{heiti}{CJKfamily{zhhei}}   % 黑体

ewcommand*{kaishu}{CJKfamily{zhkai}}  % 楷书

ewcommand*{fangsong}{CJKfamily{zhfs}} % 仿宋
% 
ewcommand*{lishu}{CJKfamily{zhli}}    % 隶书
% 
ewcommand*{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}{微软雅黑}   

ewcommand{yah}{CJKfamily{Microsoft YaHei}}
egin{document}
注意:UTF-8编码,用XeLaTeX编译,{yah 这里演示样例为微软雅黑}。\
效果还能够。
end{document}

效果是这样:


   大功告成。


原文地址:https://www.cnblogs.com/yfceshi/p/6763758.html