您的位置:首页 > 其它

Ubuntu 下安装并配置 TeXLive

2015-04-25 20:54 597 查看
参考: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 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


运行

$ 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}


<
4000
p>重新编译一下,发现成功了。

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

pdfLaTeX 中文字体配置

在上边添加了 Windows 字体的基础之上可以为 pdfLaTeX 添加中文字体支持

在* /usr/local/texlive/2014/texmf.cnf *文件中设置 OSFONTDIR 变量,即添加如下信息:

% 自己为pdflatex设置的OSFONTDIR变量指向中文字体文件
OSFONTDIR=/usr/share/fonts/winfonts
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu TexLive