latex(一)安装与配置

2017年不到20天就到2018年了,才开始把latex用在写论文上。
原来只是学了用latex写公式,嫌latex的配置太麻烦,总想拿mardown结合latex搞事情,结果啥也没做到。
只好亲自入用latex编译论文的坑了。

latex就是为写论文带来便利。一定不能在安装和配置上花太多时间,不然就舍本逐末了。

Linux 发行版下原版 TeX Live 2017 的安装

在安装前,TeX Live 2017 的手册可以在 TUG 的 TeX Live 目录下找到:https://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf。可以先阅读其中的安装部分。
在 Linux 上安装原版 TeX Live 2017,与在 Windows 等其他系统下安装并无区别。
可以从 CTAN 镜象下载 ISO 文件,然后挂载到一个目录下,运行里面的 install-tl 脚本进行安装;也可以在 CTAN 的网站上只下载 install-tl 脚本运行,在线安装。
install-tl 是一个 Perl 脚本,在绝大多数发行版下都可以直接运行。

安装

通过系统仓库

首先,对于 Arch 等滚动更新发行版的用户来说,推荐使用官方仓库来安装。

1
sudo pacman -S texlive-most texlive-lang

但是 Debian/Ubuntu 等的软件源往往会比较旧,为了体验最新的 TeX Live (虽然并没有什么卵差别),因此还是要用 ISO 映像安装。

通过iso文件

下载

镜像站目录里的 texlive.iso 就是最新的 texlive2017.iso

下载完成后可以选择进行校验避免出错,具体来说镜像站目录里会有 md5sha512 两个 hash 文件以及一个 GPG 签名文件。TeX Live 2016 以后调整了基础架构,安装时会校验包的完整性,如果有 GPG 还会校验⽹络更新的签名。

1
2
3
4
5
6
7
8
# GnuPG 校验签名,不懂请跳过,根据我的校验应当无误
gpg --verify texlive2017.iso.sha512.asc
# MD5 校验
md5sum texlive2017.iso
# SHA-512 校验
sha512sum texlive2017.iso
# 与官方提供的 Hash 对比
cat texlive2017.iso.md5 texlive2017.iso.sha512

准备

如果之前系统里已经装过 TeX Live,建议先删除。

对于 Linux 来说比较简单,只需要把安装目录(默认为 /usr/local/texlive 里的文件夹丢进 trash 即可),此外用户目录里修改过的一些配置也不要忘记。

如果想把有关依赖也卸载了,参考下一篇blog

如果是包管理安装的方式,例如 Ubuntu 用户,可以按照这样卸载:

1
sudo apt-get purge texlive*

因为 TeX Live 里的安装脚本是 Perl 写的,如果稍后要用图形界面安装,需要更新下依赖。

1
2
3
4
5
6
7
8
# Debian/Ubuntu
sudo apt-get install perl-tk
# CentOS/Fedora/RHEL
sudo yum install perl-Tk
# Fedora 22+
sudo dnf install perl-Tk
# OpenSUSE
sudo zypper install perl-tk

安装

如果能借助软件或文管等方式解决映像挂载问题就直接跳过,否则就在下载好的镜像目录执行以下命令安装:

1
2
3
4
5
6
sudo mount -o loop texlive2017.iso /mnt
cd /mnt
# 在 shell 里直接安装
sudo ./install-tl
# 以 GUI 方式安装
sudo ./install-tl -gui=perltk

图形界面大概长这样:






图形界面

默认是安装在 /usr/local/texlive 目录下,可以更改为 /home 等,否则无脑下一步即可。

根据硬件性能不同,安装过程一般不会短于 3 分钟。






安装过程

安装结束后可以卸载映像。

1
2
cd ~
sudo umount /mnt

通过命令行边下载边安装

去这里https://www.tug.org/texlive/找对应的安装包,我下载的是install-tl-unx.tar.gz

下载完后,随便找个临时目录解压。

默认是安装在 /usr/local/texlive/ 路径下,需要以超级用户权限安装,在解压下的目录运行

1
sudo ./install-tl

然后在文本界面下按提示进行交互式安装。当然,也可以安装在本地的用户路径下(如 ~/texlive/),这样就不再需要特殊权限。

如果是进行网络安装,默认会自动选择一个 CTAN 镜象。

这种方法在国内安装很慢,1h才下300多个文件。

国内往往需要用 -repository 选项手工指定镜象服务器地址,URL 地址需要指定到 texlive/tlnet/ 路径下。

推荐用清华的镜象:

1
sudo ./install-tl -repository http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/

这种方法安装快,1h轻松安装完毕。

更方便的方式则是在图形界面下进行安装,此时需要确保系统安装了 perl-tk 等相关 Perl 图形界面库。运行命令

1
sudo ./install-tl -gui

即可按界面中的提示安装。或者运行

1
sudo ./install-tl -gui=wizard

使用图形界面的安装向导,向导方式比前面的方式配置项少一些,但更容易使用。

不过没啥用。还是建议用清华镜像那个命令快一点,不需要这么花俏。

修改环境变量,使编辑器等能找到texlive

对于 bashBourne 兼容的 shell,在用户目录的 ~/.bashrc 文件中添加一些环境变量,具体路径由安装的位置确定。

1
2
3
4
5
# TeX Live 2017
export PATH=${PATH}:/usr/local/texlive/2017/bin/x86_64-linux
# 如果是32位最后改为'i386-linux'
export MANPATH=${MANPATH}:/usr/local/texlive/2017/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2017/texmf-dist/doc/info

如果是 cshtcsh,则在 ~/.cshrc 中添加内容。

1
2
3
4
# TeX Live 2017
setenv PATH /usr/local/texlive/2017/bin/x86_64-linux:$PATH
setenv MANPATH /usr/local/texlive/2017/texmf-dist/doc/man:$MANPATH
setenv INFOPATH /usr/local/texlive/2017/texmf-dist/doc/info:$INFOPATH

对于 Debian/Ubuntu 用户,可以安装下我根据 官方说明 制作的 texlive-local_2017-1_all.deb 来申明下包管理里的依赖关系,避免版本冲突。

1
2
3
sudo dpkg -i texlive-local_2017-1_all.deb
# 显示安装的 TeX Live 版本信息
dpkg -l | grep texlive-local

至于其他发行版的 texlive-dummy 可去 CTAN 搜索。

测试

安装完成后,如果一切都设置好,那么运行以下一些简单测试命令,在当前目录应该会得到正确的输出,如果有命令报错,请自行解决。

1
2
3
4
5
6
7
8
9
10
# 显示 TeX 版本应为 3.14159265
tex --version
# 处理一个基本文件,显示无法找到说明环境变量设置有误
latex sample2e.tex
# 预览上一步得到的 dvi 文件
xdvi sample2e.dvi
# pdfTeX 编译直接输出一份 PDF
pdftex sample2e.tex
# 测试 XeTeX 能否访问系统字体
xetex opentype-info.tex

安装之后就可以使用 texdoc 命令阅读安装在本地手册了,对 TeX Live 不甚熟悉的用户最好运行

1
texdoc texlive-zh

命令再次阅读 TeX Live 2017 的手册。

更新

TeX Live 的更新工具 tlmgr(TeX Live Manager)图形性能比较差,特别是在 Windows 上,故推荐终端里直接更新。

1
2
3
4
5
6
7
8
# tlmgr 只能在 root 权限下运行
su
# 更新 tlmgr 宏包管理器
tlmgr update -self
# 更新所有宏包
tlmgr update -all
# 官方的 CTAN 镜像源速度可能比较慢,校内用户推荐换成 XJTU,支持 http 或 https
tlmgr update -all -repository https://mirrors.xjtu.edu.cn/CTAN/systems/texlive/tlnet/

如果钟爱图形界面,带上 -gui 参数即可。校内用户记得把默认软件包仓库改为 XJTU 的镜像源地址。

1
2
3
su
# 指定图形界面语言为中文
tlmgr -gui -gui-lang zh_CN

其它

  • 关于 Linux 上的编辑器,理论上只要是文本编辑器均可。由于可选择的方案太多,取决于个人的使用习惯,这里只推荐两个适合入门的自由软件 TexmakerTeXstudio(fork 自前者)。
  • 关于 Linux 上的字体,因为版权问题,所以 Times New Roman宋体就成了很多 LaTeX 初学者的困扰。

推荐的办法是 ctex 宏集处理中文,使用 Fandol 开源字体,默认效果好于 Windows 的中易宋体,另外也可使用思源宋体;而西文和数学字符则用 mathptmxnewtx 宏包处理,使用开源的 Nimbus Roman No9 L 字体代替 Times New Roman,差别不大。

对字体有严格要求,可以复制 Windows 下的字体到 ~/.fonts 目录下,记得用 fc-cache -fsv 命令更新下字体缓存。

关于 LaTeX 教程或者说手册,推荐两本 包太雷的 lnotes2lshort 中文版

配置

按照 TeX Live 手册的说明,安装之后,还有一些工作需要做:

  • 如果在安装时没有选择在系统目录为可执行文件创建符号链接,就需要手工修改 ~/.profile 文件设置 PATH 环境变量。
    • export MANPATH=”/usr/local/texlive/2017/texmf-dist/doc/man”
    • export INFOPATH=”/usr/local/texlive/2017/texmf-dist/doc/info”
    • export PATH=”/usr/local/texlive/2017/bin/x86_64-linux:$PATH”
  • XeTeX 会使用 fontconfig 库来通过字体名搜索字体。TeX Live 的字体目录默认并不在 fongconfig 的搜索目录之列,因此需要按文档要求,将 TeX Live 安装目录下的 texmf-var/fonts/conf/texlive-fontconfig.conf 文件,复制到 /etc/fonts/conf.d/09-texlive.conf,然后运行 fc-cache,以确保 XeTeX 能搜索到字体。否则,TeX Live 自带的 OpenType 字体就只能以字体文件名的方式调用,非常不便。此外这样也能让系统的其他软件使用 TeX Live 安装的字体。
    • 建议先复制到临时文件夹,改名后,再sudo mv
  • 如果需要以字体文件名调用 Linux 系统安装的字体,例如使用 CJK 宏包调用来自 Windows 的字体,那么还需要修改 TeX Live 安装目录的 texmf.cnf 文件,在其中设置 OSFONTDIR 变量,例如:

    1
    OSFONTDIR = ~/.fonts//;/usr/share/fonts//;/usr/share/fonts-droid//

    可能需要用sudo gedit texmf.cnf才修改得了。当然,这一步骤对多数用户的用处并不大。

  • /usr/bin/目录下创建符号链接才能用pdflatex进行编译
    1
    sudo ln -s /usr/local/texlive/2017/bin/x86_64-linux/pdflatex pdflatex

安装LaTeX编辑器:TeXstudio

去官网下deb包然后安装:

1
sudo dpkg -i XXX.deb

打开TeXstudio,在倒数第二个选项(o)配置一下。首先配置语言为中文,然后编译器选pdflatex,其他的千万不要动。






配置语言为中文






编译器选pdflatex

其他宏包

XeLatex

XeLatextexlive-xetex 包的一部分,用来支持中文。
安装的话需要运行

1
sudo apt-get install texlive-xetex

加上依赖有1G大小。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器