-
LaTeX 在学术领域中更是一枝独秀。本篇指南的立意是:指引大家在对 TeX/LaTeX 软件完全不熟悉的情况下正确地安装 LaTeX 软件,直到能够通过 LaTeX 软件编译出第一篇文档为止。
选择合适的 LaTeX 软件
首先要明白,世界上没有一个名字叫 LaTeX 的软件安装包或者软件公司。LaTeX 软件属于 TeX 软件大家族的一部分,所以要安装的其实是 TeX 软件。
由于 TeX 是开源软件,并没有唯一的软件公司来发布指定的 TeX 软件;一般大家所用的是名叫 TeX 发行版的软件合集,目前常见的发行版包括:
-
TeX Live:一个官方的、主流的 TeX 发行版,在 Windows、Mac OS、Linux 下都能使用(其中在 Mac OS 上安装的版本一般叫 MacTeX)。它的特点是:每年发行一个版本,其安装文件中包含了当年打包时的所有模块的最新版本,所以理论上安装完之后不会出现缺少模块的问题。
-
MikTeX:另一个常见的 TeX 发行版,也是跨平台的。它的特点是:安装包中只包括了最基本的一些模块(如 LaTeX 软件本身、基本文档类等),在使用过程中如果有缺少模块就会自动下载。
-
CTeX 套装:一个曾经在国内比较流行的 TeX 发行版,由中科院吴凌云制作,目前最新版本是 2.9.2.164(2012 年 3 月 22 日发布,距这篇文章发布已有 9 年了)。它的内容已经非常陈旧,是早期 TeX / LaTeX 软件对中文支持不佳时的产物;现在在 LaTeX 中已经能通过
ctex
宏包(不要和 CTeX 套装搞混)很方便的载入中文,而其他各个模块也已经较 9 年前有了很大变化,所以没有任何使用它的必要了!!!现在网络上还有流传多年、几次抄袭转写的文章推荐大家去用,请一概忽略,千万不要再用 CTeX 套装了!!!
通常来说,推荐大家用 TeX Live 而不是 MikTeX,原因是 MikTeX 的自动下载功能比较费时间,且有时候不能正确识别缺失的模块(导致不知道下什么,只好去手工下载)。现在大家的电脑硬盘空间都很充足,不至于为了 TeX Live 所需的几个 G 硬盘空间而发愁。下面就以 TeX Live 为例来介绍,关于 MikTeX 或其他渠道的安装方法在指南最后提及。
第一步)安装 TeX Live
-
点击链接: http://mirrors.ctan.org/systems/texlive/Images/texlive.iso
-
按照下图所示,挂载ISO文件
- 打开挂载盘,可以看到目录里有一个叫
install-tl-windows.bat
的批处理文件,这个就是我们要运行的安装程序。
- 双击运行,首先会弹出来一个小黑窗——因为在执行脚本。同时弹出来一个窗口告诉我们:正在加载安装文件。这个过程几秒之内应该就结束了。
接下来会弹一个简洁的安装界面,提示选择你软件安装的配置。让我们看一下这个界面:
- 安装目录,可以保持默认。如果你有强迫症,或者你的 C 盘空间不足,你可以更改目录;但最好保证路径具有
X:/.../texlive/2021
的形式。这样,你之后可以在这个texlive
目录下安装多个年份版本的 TeX Live,如果你需要的话。 - 给所有用户安装的选项:如果你是以管理员身份运行安装程序,这个选项就是可选的。对大多数 Windows 用户来说,电脑上通常只有自己一个账户,所以这个不重要;如果你的电脑有多个账户,请用管理员身份运行
install-tl-windows
,然后在此处勾选给所有用户安装。 - 安装 TeXWorks 前端:TeXWorks 是一个比较简洁的 TeX/LaTeX IDE,对于新手来说最好安装,因为其他的 IDE 配置起来都比较麻烦(见附录)。
- 高级(Advanced)选项:你可以点开看看。对于新手来说,保持默认选项就可以了,没有必要修改这些选项!
- 确认配置无误后,点「安装」按钮,开始安装。
安装时长和电脑的性能有关,从十几分钟到几个小时不等。请耐心等待。安装过程中:
- 请不要把挂载盘弹出来;
- 或者把安装界面、刚开始弹出来的小黑窗关掉。
如果安装过程中断了,就需要先将没有安装完成的安装目录(像上图中一样,默认是
C:/texlive/2021
)删干净,然后再从头开始。安装结束时,日志窗口中会给出如下信息:
欢迎进入 TeX Live 的世界! See C:/texlive/2021/index.html for links to documentation. The TeX Live web site (https://tug.org/texlive/) contains any updates and corrections. TeX Live is a joint project of the TeX user groups around the world; please consider supporting it by joining the group best for you. The list of groups is available on the web at https://tug.org/usergroups.html. Logfile: C:/texlive/2021/install-tl.log Installed on platform win32 at C:/texlive/2021
然后点击窗口右下方的「关闭」按钮,即可完成安装过程。
不要认为安装已经到此为止了——还要测试你的 LaTeX 确实能运行,才算合格!
第二步)配置Tex Live
首先,检查一下 TeX Live 的程序目录有没有被加入到系统变量里。对着桌面左下角的 Windows 徽标点右键,在打开的菜单中选择「系统」一项;然后,打开「高级系统属性」一项,并在弹出的窗口中打开环境变量,查看一下
Path
或者PATH
(都一样)的值。过程比较复杂,如下图所示。可以看到,
C:\texlive\2021\bin\win32
已经出现在其中,这就表明可以通过命令行或其他应用直接执行 LaTeX 软件程序了。如果你的电脑中没有找到,请自己将这个路径加入其中。写给不熟悉命令行操作和环境变量的朋友:如果环境变量里没有把 TeX Live 的安装目录加进去,会怎么样呢?在命令提示符(
cmd
)中想运行latex
,会这样:加进环境变量又怎么样呢?这个时候
latex
就可以用了。当然,前面用
latex
失败,并不是因为你的电脑上没有latex
,而是系统不能在PATH
所列的这些地方找到名叫latex
的程序。所以环境变量的作用就是:当你从命令行执行名为xxx
的程序时,系统仅会在PATH
中所列的目录里寻找这个叫xxx
的程序,如果没有找到则认为这个程序不存在。不过,如果我们把latex
这个程序的路径写完整,那么总是可以运行的:既然如此,为什么一定把 TeX Live 的程序目录加到
PATH
里去呢?有两个原因:- 客观的原因:因为其他的软件——比如你自己配置的编辑器——并不知道你电脑上是否安装了 LaTeX,以及它们的位置。如果在
PATH
里有 TeX Live 目录,那么这些软件就可以尝试直接执行latex
一类的命令,而不需要知道你究竟把 LaTeX 安在了哪里。 - 主观的原因:越是用得多,越免不了用命令行直接操作;这个时候,当然不想去记像 LaTeX 这样的软件究竟装在哪里了。
接下来到开始菜单里看一看刚刚安装的东西:
比较重要的是 TeXworks editor,打开来看一看!下图展示了 TeXworks 的基本用法。这属于 LaTeX 使用的范畴了,仅做演示。
点击编译按钮,生成了 PDF 文档。这就表明,我们已经成功的安装了 LaTeX 软件了! 安装过程到此结束。
-
-
Ubuntu 下的安装
手头没有 Ubuntu 的机子,所以这里在虚拟机中演示;考虑到用 Ubuntu 的用户中很多在终端环境(命令行)下工作,这里就尽可能在终端中完成各个步骤。
需要管理员权限的地方会明确的用
sudo
指出来。挂载安装文件
打开终端。首先,创建挂载的位置:
sudo mkdir -p /tmp/texlive
切换到下载文件所在的位置,比如你将
texlive.iso
下载到了~/Downloads
下,那么就首先切换到这里:cd ~/Downloads
然后将安装包挂载到前面所创建的位置上去:
sudo mount -o loop texlive.iso /tmp/texlive
然后切换到
/tmp/texlive
目录下,就可以看到安装包里的所有内容了:cd /tmp/texlive ls # 可以看到安装目录下的内容,其中 install-tl 是安装脚本
如果你不想只用终端,则在图形界面(Ubuntu 下的 GNOME 桌面)中,打开文件管理器,对着安装包点右键,也会有挂载的选项;此时一般会把盘挂载到
/media/xxx/TeXLive2021
位置(xxx
是你的用户名),在文件管理器的左侧栏中可以看到,进入即可。运行安装脚本
接下来就可以运行安装脚本
install-tl
了。这是一个 Perl 脚本,需要有 Perl 解释器才能运行,不过 Ubuntu 上默认装了有,不担心。假如你的 Ubuntu 上没有 Perl 环境,请先安装一下:sudo apt install perl
然后就可以执行脚本了。需要考虑一下你的需求:
- 如果你想给当前用户安装,安装在你的家目录(
~
,或者说/home/xxx
)下,那么不需要sudo
; - 如果你想给所有用户安装,安装在系统目录(比如
/usr/local
、/opt/
等等)下,那么就需要sudo
。
对新手来说,不用考虑太多,越安全越好。所以就不要
sudo
吧!直接安装在你的家目录里:./install-tl
如果发现找不到
install-tl
,请检查一下所在位置是否正确!配置安装选项
和 Windows 不同,Linux 下执行安装脚本时的配置界面限制在终端内,没有图形界面,如下图所示。
注意一下上面用蓝字标出来的,由于前面启动安装脚本的时候没有
sudo
,所以无法安装在它的默认安装位置/usr/local/texlive/2021
下。因此,首先要做的事情是输入 <kbd>D</kbd> ,回车,修改安装目录,切换到下面这个界面:根据提示,按 1 再回车修改
TEXDIR
变量的值,这里我们把/usr/local
整体替换为家目录~
就好了:输入完成之后,回车,可以看到配置中的各项路径都跟着修改了:
再输入 R,回车,返回最开始的界面;此时所有配置都没问题了,所以直接输入 I,回车,开始安装!
跟 WIndows 上的情况差不多。可以注意到这里的模块数是 4164,比 Windows 上的还多几个。和 Windows 一样,耐心等待安装结束,过程中不要关掉终端(或在终端中杀掉当前进程)。等到出现「欢迎进入 TeX Live 的世界!」(或者其英语形式)的时候,说明安装成功,此时该进程应当就自动终止了。
如果安装过程因意外中断,请首先清理安装目录:
rm -rf ~/texlive
然后再重新安装。
配置环境
安装结束时,会出现欢迎语;与 Windows 系统不同,请注意最后一段:
这一段是说,请手工配置以下三个环境变量:
- 将
~/texlive/2021/texmf-dist/doc/man
加入到MANPATH
中; - 将
~/texlive/2021/texmf-dist/doc/info
加入到INFOPATH
中; - 将
~/texlive/2021/bin/x86_64-linux
加入到PATH
中(如果你安装在不是x86_64
架构的机子上,最后一部分可能不太一样)
前两个无所谓,大家现在都习惯于上网查资料;但若不配置最后一条,就无法从命令行正确启动 LaTeX 软件。所以,请通过以下命令将 TeX Live 的程序目录加入到环境变量中去:
echo "export PATH=$PATH:~/texlive/2021/bin/x86_64-linux" >> ~/.bashrc
如果你用的是
zsh
等其他的 shell,就加到它们自己的配置文件里去。关掉当前的终端,再重启;或者在当前的终端内source ~/.bashrc
。然后,检查一下PATH
的值:可以看到,TeX Live 的安装目录已经出现在了
PATH
中。尝试运行一下xelatex
程序:一切正常!现在就可以在命令行中使用各种 LaTeX 程序了。让我们用两句话生成一个 PDF 文档:
echo '\documentclass{article}\\begin{document}Hello, world!\end{document}' > test.tex # 生成一个最简单的 LaTeX 文档 pdflatex test.tex # 编译这个文档
看看结果:
这样就表明,我们的 TeX Live 已经在 Ubuntu 上正确安装了!安装过程到此结束。
需要说明的是,TeX Live 在 Linux 上安装时不会附带安装 Windows 上有的 TeXWorks IDE。如果你想要配置一个用起来顺手的 LaTeX 编辑器,就需要自己再花些心思。这个属于安装以外的范畴了,不多讲。
附录 1:安装过程常见问题
欢迎各位读者补充!
-
安装路径中可以有中文吗?
答:最好不要有,在 Windows 系统下尤其如此。能避免就避免!安装过程中可能一切正常,但装好之后就可能出现各种问题,不得不通过重装解决。
-
以前安装的版本可以直接升级吗?
答:通常不行,一般的建议是:要么保留旧版本,安装新版本,然后把环境变量
PATH
指向最新的版本;要么先把旧版本删干净,然后再重新安装。如开头所言,TeX 软件历史悠久,所以很多方面的发展没有跟上时代潮流;有人喜欢这样,也有人不喜欢——尤其是新手们。 -
怎么配置编辑器 / IDE?推荐用哪些?
答:这个可以参考 install-latex-guide-zh-cn 中的第 5 节:使用编辑器,那里的介绍非常全面。
附录 2:其他安装方式简介
除了以上所介绍的通过安装包安装 TeX Live 的方式之外,还有以下一些方式:
-
安装 MikTeX:直接到 MikTeX 官网 https://miktex.org/ 下载安装包,然后走一遍安装流程即可,这个过程要比 TeX Live 的安装容易很多、快很多;但是,正如前面所说的,MikTeX 的特点是:刚开始只安装很少的一些模块(总共几百 MB 左右),在以后的使用过程中自动安装其所发现的缺失模块——这个过程通常很麻烦,比如你的某一文档中有几十个模块没有安装,则 MikTeX 可能要反复运行好几次才能把所有的模块装齐,有时候可能还找不到相应的模块(比如你调用了某个字体模块,用的并不是
\usepackage
命令,MikTeX 就识别不了)。所以,除非你经验丰富,并且希望用运行时安装模块的时间来换一次性装齐所有模块的硬盘空间,否则不要选择这种方式。 -
安装 ProTeXt:ProTeXt 是一套整合起来的工具,包括 MikTeX(提供 LaTeX 程序)、TeXStudio(IDE)、Sumatra PDF(阅读器)。只能在 Windows 上使用。安装过程基本上是图形界面,操作起来比较容易;但是使用的人似乎不多。下载地址:http://mirrors.ctan.org/systems/win32/protext/protext.zip
-
通过 Linux 系统的包管理器:包括 Ubuntu、Fedora 在内的主流 Linux 发行版中都有 TeXLive 的软件包,比如 Ubuntu 上可以直接通过这个命令安装 TeX Live 完整版:
sudo apt install texlive-full
Fedora 上则是:
sudo dnf install texlive
这种方法的问题在于:发行版提供的 TeX Live 软件包一般比较旧,比如 Ubuntu 现在提供给 20.04 LTS 的版本是 TeX Live 2019,即使是以新著称的 Fedora 也只提供到 TeX Live 2020。如果你使用 Linux 系统,嫌以上的安装过程繁琐,或者想统一管理软件,可以采用这种方式。
附录 3:怎么查看 TeX Live 自带的文档
在环境变量已经正确配置的情况下(见前面的安装说明),在 Windows 系统下打开命令提示符 / 在 Linux 系统下打开终端,执行如下命令:
texdoc xxx
其中
xxx
是你要查找的模块名称,可以是:- 一个程序的名字,比如
texdoc xelatex
就会打开xelatex
程序的说明书; - 一个文档类的名字,比如
texdoc thuthesis
就会打开清华大学学位论文 LaTeX 模板thuthesis
的文档; - 一个宏包的名字,比如
texdoc geometry
就会打开用来调页面边距的geometry
宏包的参考文档(这样你就不需要再在网上搜它的参数怎么设置了!); - 一个字体的名字,比如
texdoc fandol
就会打开 Fandol 中文开源字体的说明文档。
当然可能还不限于上面几类。最常用应该是第三种,因为大家用 LaTeX 时经常为各种宏包的选项犯难,这时候通过
texdoc
命令查文档就比去网上漫无目的地搜索「经验」要快得多、好得多。当然,绝大多数文档都是英文的,这对于工程技术人员来说应该不算一个大困难。如果你一定想读中文文档,可以到这个地方找现有的一些文档的中文翻译版本。
- 如果你想给当前用户安装,安装在你的家目录(
-
打酱油路过-
latex在线编辑试一下? https://www.overleaf.com/ -
Mac下配置LaTeX + Sublime Text +skim or mac自带预览
- 下载MacTex,完整安装包4GB左右
https://www.tug.org/mactex/
2. 下载文本编辑器Sublime Text
https://www.sublimetext.com/
2.1 在Sublime Text中安装package Control,网上很多教程
2.2 在Sublime Text里Command+Shift+P调出命令窗口,输入Install,之后选择LaTexTools, 我的因为已经安装过了,所以没有下面的选项,
3.下载skim, PDF阅读器,可以实时编译,有点类似overleaf在线一样的效果,设置同步,如下图。
https://skim-app.sourceforge.io/
至此,英文环境就没问题了。
在sublime中 工具- 编译系统-选择LaTeX
然后 command+B即可编译
效果如下
- 中文环境
***下面中文环境的配置仅仅简单测试过,平时不会使用中文LaTeX环境, 仅供参考
打开terminal 输入如下命令,tlmgr 是MacTex的包管理工具,顺手安装一下ctex的包
sudo tlmgr update --self sudo tlmgr install latexmk sudo tlmgr install ctex
然后在Sublime中,Preferences——Package Settings——LaTeXTools——Reconfigure LaTeXTools and migrate settings重建配置文件),在builder-settings下面新增两项配置:
"program" : "xelatex", "command" : ["latexmk", "-cd", "-e", "$pdflatex = 'xelatex -interaction=nonstopmode -synctex=1 %S %O'", "-f", "-pdf"],
简易的中文设置: 在tex文件前加上如下代码:
%!TEX program = xelatex %!TEX TS-program = xelatex %!TEX encoding = UTF-8 Unicode
使用ctex包
\usepackage[UTF8]{ctex}
- 测试
随便选了一个中文模板,中间会要求下载字体。
https://www.latexstudio.net/archives/51626.html
清华的LaTeX模版编译总会提示Error,错误Log如下
[Compiling /Users/xxxxxxxx/Downloads/thuthesis-master/thuthesis-example.tex] TraditionalBuilder: Your custom command does not allow the engine to be selected Invoking latexmk... done. Errors: /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Package fontspec Error: The font "Kaiti SC Regular" cannot be found. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Package fontspec Error: The font "Kaiti SC Regular" cannot be found. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXfeaturename with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXisexclusivefeature with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXselectorname with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXfeaturename with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXisexclusivefeature with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXselectorname with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Missing \endcsname inserted. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Missing \endcsname inserted. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: LaTeX Error: Missing \begin{document}. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Extra \endcsname. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Package fontspec Error: The font "Kaiti SC Bold" cannot be found. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Package fontspec Error: The font "Kaiti SC Bold" cannot be found. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXfeaturename with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXisexclusivefeature with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXselectorname with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXfeaturename with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXisexclusivefeature with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Cannot use \XeTeXselectorname with nullfont; not an AAT or Graphite font. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Missing \endcsname inserted. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Missing \endcsname inserted. [\thu@set@cjk@font] /usr/local/texlive/2021/texmf-dist/tex/latex/thuthesis/thuthesis.cls:1019: Extra \endcsname. [\thu@set@cjk@font] Warnings: /Users/xxxxxx/Downloads/thuthesis-master/data/appendix.tex: LaTeX Warning: `h' float specifier changed to `ht'. /Users/xxxxxxx/Downloads/thuthesis-master/thuthesis-example.log:1: Double-click here to open the full log. [Done!]
- 如果不想使用Skim的话,可以在LatexTools中做如下设置
在Settings中的第487行,将"viewer": "",改为"viewer": "preview",这个操作会让你在Sublime Text3中build完.tex后自动弹出预览(preview),以便检查PDF文件。
- 下载MacTex,完整安装包4GB左右
-
-
@chengan-wang 没有,这是用Adobe AI做的
-
@chengan-wang 理解起来怎么样
-
提醒读者: 因近期图床地址变动,以上贴子中的图片可能失效,这里附上我个人博客中的相应页面(可以正常浏览),以供后来者参考:写给工程技术人员的 LaTeX 安装指南