前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu 下安装 Texlive 并设置 CTeX 中文套装

Ubuntu 下安装 Texlive 并设置 CTeX 中文套装

作者头像
用户8704835
修改2021-06-07 14:25:38
3.6K0
修改2021-06-07 14:25:38
举报
文章被收录于专栏:linux百科小宇宙

Ubuntu 下安装 Texlive 并设置 CTeX 中文套装

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进行安装

1 sudo mount -t -iso9660 -o loop texlive2013-20130530.iso /mnt

2 cd /mnt/

3 sudo ./install-tl

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

1 cd /

2 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 文件,然后输入下面内容

1 \documentclass{article}

2 \begin{document}

3 Hello \LaTeX!

4 \end{document}

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

1 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 文件,输入下面的内容

1 \documentclass{ctexart}

2 \begin{document}

3 您好,\LaTeX!

4 \end{document}

保存,然后运行下面命令

1 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 .

!...............................................

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=Regula

文泉驿等宽正黑,文泉驛等寬正黑,WenQuanYi Zen Hei Mono:style=Regula

文泉驿点阵正黑,文泉驛點陣正黑,WenQuanYi Zen Hei Sharp:style=Regula

文泉驿微米黑,文泉驛微米黑,WenQuanYi Micro Hei:style=Regula

文泉驿正黑,文泉驛正黑,WenQuanYi Zen Hei:style=Regula

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

1 \documentclass[nofonts]{ctexart}

2 \setCJKmainfont[ItalicFont={AR PL UKai CN}]{AR PL UMing CN} %设置中文默认字体

3 \setCJKsansfont{WenQuanYi Zen Hei} %设置文泉驿正黑字体作为中文无衬线字体

4 \setCJKmonofont{WenQuanYi Zen Hei Mono} %设置文泉驿等宽正黑字体作为中文打字机字体

5 \begin{document}

6 您好,\LaTeX!

7 \end{document}

保存,然后运行命令

1 lienhua34:text$ xelatex ctex.tex

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

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

2.2 自定义 mylinuxfonts.sty 宏包

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

1 % mylinuxfonts.sty

2 \ProvidesPackage{mylinuxfonts}

3 \setCJKmainfont[ItalicFont={AR PL UKai CN}]{AR PL UMing CN} %设置中文默认字体

4 \setCJKsansfont{WenQuanYi Zen Hei} %设置中文无衬线字体为文泉驿正黑

5 \setCJKmonofont{WenQuanYi Zen Hei Mono} %设置中文打字机(等宽)字体为文泉驿正黑

6 \endinput

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

1 \documentclass[nofonts]{ctexart}

2 \usepackage{mylinuxfonts}

3 \begin{document}

4 您好,\LaTeX!

5 \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 文件放到这个目录下。

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

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

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

lienhua34:latex$ sudo mktexls

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 宏包的默认选项。

1 lienhua34:text$ cd /usr/local/texlive/2013/texmf-dist/tex/latex/ctex/cfg

2 lienhua34:cfg$ sudo cp ctexopts.cfg.template ctexopts.cfg

3 lienhua34:cfg$ sudo vi ctexopts.cfg

然后输入一下内容

1 % ctexopts.cfg: set default options

2 \ExecuteOptions{nofonts}

3 \endinput

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

Ubuntu 12.04安装使用Texlive2012  http://www.linuxidc.com/Linux/2013-05/84540.htm

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档