1 安装 texlive2013

1.1 下载 texlive2013

下载地址:http://ftp.ctex.org/mirrors/CTAN/systems/texlive/Images/texlive2013-20130530.iso

1.2 挂载 iso并安装texlive2013

将下载的 texlive2013-20130530.iso 挂载到/mnt 目录下并运行 install-tl进行安装

 sudo mount -t -iso9660 -o loop texlive2013-.iso /mnt
cd /mnt/
sudo ./install-tl

出现选项之后,输入 I 直接安装即可,几分钟即可安装完毕。安装完成之后,将 texlive2013-20130530.iso 卸载。

 cd /
sudo umount /mnt/

1.3 修改环境变量

texlive 默认的安装目录是/usr/local/texlive/2013/bin/i386-linux/,为了让 shell 能够自动找到 tex 的 bin 文件,我们需要修改环境变量 PATH。

如果我们希望系统也能够自动找到 texlive 的 man 或 info 文档,我们一并修改环境变量 MANPATH 和 INFOPATH。打开 /.bashrc,在其中添加下面的内容。

PATH=/usr/local/texlive/2013/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2013/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2013/texmf-dist/doc/info:$INFOPATH; export INFOPATH

1.4 测试安装是否成功

(1)首先确认我们安装的 tex 版本

lienhua34:text$ tex --version
TeX 3.1415926 (TeX Live 2013)
kpathsea version 6.1.1
Copyright 2013 D.E. Knuth.

(2)编写一个简单的 tex 文件,然后编译它

新建一个 test.tex 文件,然后输入下面内容

 \documentclass{article}
\begin{document}
Hello \LaTeX!
\end{document}

然后运行下面命令即可生成 test.pdf。

 lienhua34:text$ xelatex test.tex

双击打开 test.pdf,看到如下内容

ok,texlive正常工作。

(3)测试 ctex 套装

要 使 我 们 的 texlive 支 持 中 文, 我 们 使 用 ctex 套 装。 关 于 ctex的 介 绍 见 http://www.ctex.org/HomePage。texlive 安 装 包 默 认 携带 了 ctex 宏 包,ctex 宏 包 的 目 录 为/usr/local/texlive/2013/texmf-dist/tex/latex/ctex。我们新建一个 ctex.tex 文件,输入下面的内容

 \documentclass{ctexart}
\begin{document}
您好,\LaTeX!
\end{document}

保存,然后运行下面命令

 lienhua34:text$ xelatex ctex.tex

编译失败,xelatex 命令报如下错误

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "SimSun" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.5
{SimSun}
?

这 是 因 为 ctex 宏 包 默 认 使 用 的 是 windows 系 统 的 字 体, 而 我 的ubuntu 下 没 有 windows 系 统 的 字 体, 所 以 这 里 报 了 找 不 到 宋 体(SimSun)的错误。那么我们就需要进行字体配置,这是下一节要讲的事。

现在可以确认我们的 texlive 已经安装成功,只是还没有支持中文字符而已。

2 配置 ctex 中文套装

ctex 宏包提供了三个字体选项:nofonts、adobefonts 和 winfonts,默认使用的是 winfonts。如果在 tex 源文件中没有使用其他选项修改字体配置,则需要操作系统中安装有中文 Windows 操作系统自带的四种 TrueType 字体:宋体(simsun)、黑体(simhei)、仿宋体(simfang)、楷体(simkai)。

如果使用 adobefonts 选项,则需要操作系统中安装有 Adobe 公司的四款 OpenType 字体:Adobe 宋体、Adobe 黑体、Adobe 仿宋、Adobe 楷体。

此处我们打算使用 nofonts 选项,然后通过 CJK 中文方案将 ubuntu自带的中文字体设置成中文的默认字体。

2.1 使用 nofonts 选项设置字体

我们先通过命令 fc-list :lang-zh 查看 ubuntu 系统自带的中文字体

lienhua34:text$ fc-list :lang-zh | sort
AR PL UKai CN:style=Book
AR PL UKai HK:style=Book
AR PL UKai TW MBE:style=Book
AR PL UKai TW:style=Book
AR PL UMing CN:style=Light
AR PL UMing HK:style=Light
AR PL UMing TW MBE:style=Light
AR PL UMing TW:style=Light
...
文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Regular
文泉驿等宽正黑,文泉驛等寬正黑,WenQuanYi Zen Hei Mono:style=Regular
文泉驿点阵正黑,文泉驛點陣正黑,WenQuanYi Zen Hei Sharp:style=Regular
文泉驿微米黑,文泉驛微米黑,WenQuanYi Micro Hei:style=Regular
文泉驿正黑,文泉驛正黑,WenQuanYi Zen Hei:style=Regular

我们打开之前的 ctex.tex 文件,然后输入以下内容

 \documentclass[nofonts]{ctexart}
\setCJKmainfont[ItalicFont={AR PL UKai CN}]{AR PL UMing CN} %设置中文默认字体
\setCJKsansfont{WenQuanYi Zen Hei} %设置文泉驿正黑字体作为中文无衬线字体
\setCJKmonofont{WenQuanYi Zen Hei Mono} %设置文泉驿等宽正黑字体作为中文打字机字体
\begin{document}
您好,\LaTeX!
\end{document}

保存,然后运行命令

 lienhua34:text$ xelatex ctex.tex

编译成功,输出了 ctex.pdf 文件,我们双击打开 ctex.pdf 文件,看到如下内容


ok。我们的 texlive 已经能够处理中文字符。但是。。。

2.2 自定义 mylinuxfonts.sty 宏包

通过 setCJKmainfont 等命令我们可以使用 texlive 处理中文字符了,但是要在每个中文文档都写这么一段命令,确实是个烦人的事情。我们可以通过将这段命令写入到自定义的宏包文件 mylinuxfonts.sty 中,然后在文档中以命令 \usepackage{mylinuxfonts} 使用这个自定义宏包即可。

 % mylinuxfonts.sty
\ProvidesPackage{mylinuxfonts}
\setCJKmainfont[ItalicFont={AR PL UKai CN}]{AR PL UMing CN} %设置中文默认字体
\setCJKsansfont{WenQuanYi Zen Hei} %设置中文无衬线字体为文泉驿正黑
\setCJKmonofont{WenQuanYi Zen Hei Mono} %设置中文打字机(等宽)字体为文泉驿正黑
\endinput

然后修改 ctex.tex 的内容如下即可。

 \documentclass[nofonts]{ctexart}
\usepackage{mylinuxfonts}
\begin{document}
您好,\LaTeX!
\end{document}

那么我们要将 mylinuxfonts.sty 放在什么地方,texlive 才能够自动找得到呢?texlive 提供一个变量 TEXMFHOME(默认为~/texmf),给用 户 存 放 自 己 独 立 安 装 的 宏 包、 字 体 等。 宏 包 文 件 需 要 放 置 到 目 录TEXMFHOME/tex/latex 或 者 它 的 子 目 录 下。 我 们 将 mylinuxfonts.sty放到目录~/texmf/tex/latex 下,然后编译 ctex.tex 文件。ok,成功!

当然,如果将 mylinuxfonts.sty 放到目录~/texmf/tex/latex 下,只有当前用户才能够使用。如果我们希望这个宏包对于能够登录当前机器的所有用户都可用,那怎么办?texlive 另外提供了一个变量 TEXMFLOCAL(默认为 /usr/local/texlive/texmf-local),给系统管理员用来安装供整个系统使用的额外的宏包或者字体。宏包文件需要放到目录 TEXMFLOCAL/tex/latex 或者它的子目录下。我们将 mylinuxfonts.sty 文件放到这个目录下。

 lienhua34:latex$ sudo cp mylinuxfonts.sty /usr/local/texlive/texmf-local/tex/latex/local

然后编译 ctex.tex 文件,但提示找不到 “mylinuxfonts.sty” 文件,

这是因为 TEXMFLOCAL 目录需要一个保持更新的文件名数据库,否则新增的文件就无法找到。我们通过命令 mktexlsr 来更新它。

lienhua34:latex$ sudo mktexlsr
mktexlsr: Updating /usr/local/texlive/2013/texmf-config/ls-R...
mktexlsr: Updating /usr/local/texlive/2013/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/texlive/2013/../texmf-local/ls-R...
mktexlsr: Updating /usr/local/texlive/2013/texmf-var/ls-R...
mktexlsr: Done.

此时再编译 ctex.tex。ok,没有问题了。

2.3 优化配置

现在我们的 texlive 已经支持中文了,但我们还可以再优化一下我们的ctex 配置。

在我的 ubuntu 下没有安装 windows 系统的字体。而 ctex 默认是使用的字体配置选项是 winfonts,那么我们每个要使用 ctex 宏包的 tex 文档中都要设置 nofonts 选项。

ctex 宏包提供了一个配置文件 ctexopts.cfg,该文件中的代码会在 ctex宏包的开头(选项定义后面)执行。我们可以使用此文件设置 ctex 宏包的默认选项。

 lienhua34:text$ cd /usr/local/texlive//texmf-dist/tex/latex/ctex/cfg
lienhua34:cfg$ sudo cp ctexopts.cfg.template ctexopts.cfg
lienhua34:cfg$ sudo vi ctexopts.cfg

然后输入一下内容

 % ctexopts.cfg: set default options
\ExecuteOptions{nofonts}
\endinput

保存,然后运行 mktexlsr 命令。ok,此时 ctex 宏包默认的字体选项便改为nofonts 了。

3 参考列表

http://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf
http://code.google.com/p/ctex-kit/wiki/CTeXPackage
http://code.google.com/p/ctex-kit/wiki/UnixFonts
http://seisman.info/texlive-2013-under-linux.html

ubuntu 下安装 texlive 并设置 ctex 中文套装的更多相关文章

  1. CentOS6.5 下安装 texlive2015 并设置 ctex 中文套装

    0 卸载旧版本的 texlive 0.1 卸载 texlive2007 如果系统没有安装过texlive,则跳过第0步. 可以在终端中使用如下命令查询本机已经安装的tex和latex版本: [She@ ...

  2. ubuntu下安装TexLive和Texmaker

    也可以参考ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx) 设置中文字体的时候参考ubuntu 下安装 texlive 并设置 ctex 中文套装 1.首先 ...

  3. Ubuntu下安装pycharm并设置快捷方式

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7070327.html Ubuntu下安装pycharm并设置快捷方式 下载P ...

  4. ubuntu下安装myeclipse 并设置快捷键

    官网下载:http://www.myeclipseide.com/ 安装myeclipse ctrl+alt+t打开终端,切换到myeclipse所在路径: -$ cd 下载/ 设置myeclipse ...

  5. ubuntu下安装Sublime Text并支持中文输入

    Sublime Text还是文本编辑器中比较不错的,就是他的文件对比有些差劲吧,还有中文输入需要打补丁,不知道开发者是怎么想的... 当然,这个软件是收费的,但是不买也能一直的使用,在我天朝就这点好处 ...

  6. Ubuntu 下安装 redis 并且设置远程登陆和密码

    安装redis sudo apt-get install -y redis-server 更改配置 sudo vim /etc/redis/redis.conf 如果不知道怎么找 直接在命令行模式下输 ...

  7. Ubuntu下安装Texmaker的问题与解决方案

    在Ubuntu下安装好了texlive后,为了开发方便,希望再继续安装一个编辑器,用于方便的编辑latex文档. 而texmaker就是一个很好的工具. 问题1, 被安装了早期版本的latex 不管你 ...

  8. ubuntu下安装Firefox中国版解决Ubuntu与Windows下Firefox账号同步问题(已解决)

    1. 下载最新版本火狐Linux版 下载地址:http://firefox.com.cn/download/ 选择火狐Linux64-bit版,下载后文件为:Firefox-latest-x86_64 ...

  9. ubuntu下安装 Sublime Text 3 及 PlantUML 绘图插件

    ubuntu下只想做C++的程序代码编写,最开始选择了codeblock,主要目的是安装简单,集成度高,还可以调试,但是用的时候老是无故退出,改了半天的代码就这样丢失,挺苦恼的,可能跟自己装的系统比较 ...

随机推荐

  1. 实现iOS图片等资源文件的热更新化(三):动态的资源文件夹

    简介 此文,将尝试动态从某个不确定的文件夹中加载资源文件.文章,会继续完善自定义的 imageNamed 函数,并为下一篇文章铺垫. 这么做的意义 正如我们经常所说的那样,大多数情景知道做事的意义往往 ...

  2. sed命令使用详解归纳

    用法 sed [option] 'Address Command' yourfile e.g. sed -n '2,13p' lineuser #打印文件lineuser中第2~13行的内容,-n为o ...

  3. SQL Server 2005 数据库 可疑状态

    KJDY数据库名称 ALTER DATABASE KJDY SET EMERGENCY ---修改数据库为 紧急模式 ALTER DATABASE KJDY SET SINGLE_USER ---单用 ...

  4. C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。

    C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// ...

  5. 基于Netbeans的PHPUnit单元测试环境搭建

    一.配置 PHPUnit截至2015-10-16,稳定版已更新至5.0.6,要求使用PHP v5.6及以上的环境才能使用. PHPUnit的4.8系列要求在PHP v5.3.3以上环境使用. Netb ...

  6. PHP 小数点保留两位

    最近在做统计这一块内容,接触关于数字的数据比较多, 用到了三个函数来是 数字保留小数后 N 位: 接下来简单的介绍一下三个函数: 1.number_format echo number_format( ...

  7. MyBatis的getMapper()接口、resultMap标签、Alias别名、 尽量提取sql列、动态操作

    一.getMapper()接口 解析:getMapper()接口 IDept.class定义一个接口, 挂载一个没有实现的方法,特殊之处,借楼任何方法,必须和小配置中id属性是一致的 通过代理:生成接 ...

  8. [翻译]Java HashMap工作原理

    大部分Java开发者都在使用Map,特别是HashMap.HashMap是一种简单但强大的方式去存储和获取数据.但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.Ha ...

  9. 二次、三次贝塞尔曲线demo(演示+获取坐标点)

    二次贝塞尔曲线demo: See the Pen quadraticCurveDemo by hanyanjun (@hanyanjun) on CodePen. 我的demo地址(二次) 推荐点击以 ...

  10. 转发:Chrome 控制台console的用法

    大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方.可能大家对co ...