Ubuntu 下安装并配置 TeXLive

来源:互联网 发布:编程方向 编辑:程序博客网 时间:2024/05/01 00:08

参考:Ubuntu 下安装并配置 TeXLive

注:本文的大部分内容来自于Ubuntu 下安装并配置 TeXLive,因为其中涉及到一点个人见解,特标记为原创,如果涉及到版权问题,本人愿意更正,谢谢。特此注明。

前言:本文安装环境为 Ubuntu 14.04 LTS 64 位系统,软件版本为 TeXLive 2014,更详细的教程请看官方 TeXLive 指南,Latex简单教程一份不太简短的latex2e介绍

安装前准备

下载 TeXLive 2014 镜像文件
下载地址:TeXLive 2014
删除旧版

$ sudo apt-get purge tex-common# 如果装有TeXLive2013,请选择使用$ sudo tlmgr -gui     # 删除TeXLive2013

安装 Perl::TK 模块
install-tl 是一个 Perl 脚本,要在专家 GUI 模式下安装,需要加入 XFT 支持的 Perl::TK 模块,可用以下方法添加:

$ sudo apt-get install perl-tk

安装主程序
挂载 iso 镜像文件

$ sudo mount -o loop path_to_TeXLive2014.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 PATHMANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:\$MANPATH; export MANPATHINFOPATH=/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

运行

$ sudo fc-cache -fsv

如果你没有足够的权限执行上述操作,或者只需要把 TEX Live 字体提供给你自己,可以这么做:
将 texlive-fontconfig.conf 文件复制到 ~/.fonts.conf,其中 ~ 是你的主目录。
运行

$ fc-cache -fv

此时执行第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 下的六种中易字体(其中的四种字体simsun.ttf,simkai.ttf,simfang.ttf,simhei.ttf,另外simsun.ttc本人也复制到其中,因为在使用pdflatex命令时用到了该字体)复制到该文件夹,并更改字体权限

$ sudo chmod 644 /usr/share/fonts/winfonts/*

刷新字体库

$ sudo mkfontscale$ sudo mkfontdir$ sudo fc-cache -fsv

xeLaTeX 中文字体配置

如果使用 xeLaTeX 的话,需要 xeCJK 宏包的支持,需要修改 /usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset 下的 ctex-xecjk-winfonts.def 文件。
文件内容,如下

% 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

输出大约如下

/usr/share/fonts/winfonts/simkai.ttf: KaiTi,楷体:style=Regular.../usr/share/fonts/winfonts/simfang.ttf: FangSong,仿宋:style=Regular.../usr/share/fonts/winfonts/simsun.ttf: SimSun,宋体:style=Regular.../usr/share/fonts/winfonts/simhei.ttf: SimHei,黑体:style=Regular...

ctex-xecjk-winfonts.def的字体名字分别改成了上面四行路径后的第一个名字,即KaiTi,FangSong,SimSun,SimHei,并且将[SIMKAI.TTF] 类的字体中的中括号删去。例如:

\setCJKfamilyfont{zhkai}{[SIMKAI.TTF]}  \setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}  

改为

\setCJKfamilyfont{zhkai}{KaiTi}  \setCJKfamilyfont{zhfs}{FangSong}  

重新编译一下,发现成功了。

另外,若想添加 Adobe 字体,设置方法与 Windows 字体大致相同,此处不再赘述。

pdfLaTeX 中文字体配置

在上边添加了 Windows 字体的基础之上可以为 pdfLaTeX 添加中文字体支持
* /usr/local/texlive/2014/texmf.cnf *文件中设置 OSFONTDIR 变量,即添加如下信息:

% 自己为pdflatex设置的OSFONTDIR变量指向中文字体文件 OSFONTDIR=/usr/share/fonts/winfonts
0 0