前言:本文安装环境为 Ubuntu 14.04.1 64 位系统,软件版本为 TeXLive 2014,更详细的教程请看官方 TeXLive 指南。
$ sudo apt-get purge tex-common
install-tl 是一个 Perl 脚本,要在专家 GUI 模式下安装,需要加入 XFT 支持的 Perl::TK 模块,可用以下方法添加:
$ sudo apt-get install perl-tk
$ sudo mount -o loop path_to.iso /mnt
$ cd /mnt
在加入了 XFT 支持的 Perl::TK 模块后,可以用以下方法启动专家 GUI 模式进行安装:
$ sudo ./install-tl -gui
在图形界面中将 Create symlinks in system directories
选项更改为 Yes
,点击Install TeX Live
开始安装。
可根据安装结束时的文本提示进行相应的环境变量配置,我在安装时进行了如下配置。
在 ~/.bashrc 和 ~/.profile 文件结尾添加如下代码:
# 自己为texlive配置的环境变量
PATH=/usr/local/texlive/2014/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH; export INFOPATH
为了配置全局的环境变量,可在 /etc/manpath.config 文件的 # set up PATH to MANPATH mapping. 下添加:
MANPATH_MAP /usr/local/texlive/2014/bin/x86_64-linux /usr/local/texlive/2014/texmf-dist/doc/man
之后注销即可。
注:如果环境变量配置出错导致无法登录,可以参见我的另一篇博文进行解决:Linux 配置环境变量后无法登录的解决方案
首先确认你可以执行 tex 程序:
tex --version
TeX 3.14159265 (TeX Live ...)
Copyright ... D.E. Knuth.
...
如果你安装了 xetex 包,可以按如下步骤测试它能否访问系统字体(会生成文件,可在无用目录下执行):
xetex opentype-info.tex
This is XeTeX, Version 3.14...
...
Output written on opentype-info.pdf (1 page).
Transcript written on opentype-info.log.
如果你收到 “Invalid fontname ‘Latin Modern Roman/ICU’...” 这样的错误信息,就说明需要配置系统才能找到 TEX Live 自带的字体。
XeTEX 和 LuaTEX 的系统字体配置
XeTEX 和 LuaTEX 可以使用任何系统安装的字体,而不只是 TEX 目录树中的那些。它们使用类似但不完全一致的方式实现这一功能。
在 Windows 下 TEX Live 提供的字体会自动为 XeTEX 所用。但如果你在 Unix 兼容的系统中安装了 xetex 软件包,则需要把系统配置一番 XeTEX 才能找到随 TEX Live 安装的那些字体。
要在整个系统中使用 TEX Live 的字体 (假定你有足够的权限),请依照下面的步骤来做:
将 texlive-fontconfig.conf 文件复制到 /etc/fonts/conf.d/09-texlive.conf。
$ sudo cp /usr/local/texlive/2014/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
运行 fc-cache -fsv。
如果你没有足够的权限执行上述操作,或者只需要把 TEX Live 字体提供给你自己,可以这么做:
此时执行第2步,问题已经解决。
先写一个简单的测试 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 .
!...............................................
下面就要解决这个问题,错误里说了,"font-not-found"!
首先创建字体文件夹
$ sudo mkdir /usr/share/fonts/winfonts
然后把 Windows 下的六种中意字体复制到该文件夹,并更改字体权限
$ sudo chmod 644 /usr/share/fonts/winfonts/*
刷新字体库
$ sudo mkfontscale
$ sudo mkfontdir
$ sudo fc-cache -fsv
如果使用 xeLaTeX 的话,需要 xeCJK 宏包的支持,需要修改 /usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset 下的 ctex-xecjk-winfonts.def 文件。
下面,打开新的终端,执行如下命令:
$ fc-list :lang=zh-cn
输出大约如下
FangSong,仿宋:style=Regular,...
KaiTi,楷体:style=Regular,...
SimSun,宋体:style=Regular
SimHei,黑体:style=Regular...
下面需要做的就是将 ctex-xecjk-winfonts.def 中的字体名字改成上面四行的行首的内容,注意,要将原文件中的 [SIMKAI.TTF] 中括号同时删去。
重新编译以下,发现成功了。
另外,若想添加 Adobe 字体,设置方法与 Windows 字体大致相同,此处不再赘述。
在上边添加了 Windows 字体的基础之上可以为 pdfLaTeX 添加中文字体支持
在 /usr/local/texlive/2014/texmf.cnf 文件中设置 OSFONTDIR 变量,即添加如下信息:
% 自己为pdflatex设置的OSFONTDIR变量指向中文字体文件 OSFONTDIR=/usr/share/fonts/winfonts