\chapter{安装 \protect\TeX{} 发行版}\label{app:install} \begin{intro} 高德纳的 \TeX{} 程序开发于 20 世纪 80 年代,那时候电子计算机的运算能力有限,\TeX{} 还是大型服务器上的玩物。 而如今个人计算机完全能够胜任排版的工作,并催生了用于个人计算机的工具集合—— \TeX{} 发行版的发展。 本章会简单介绍如何安装 \TeX{} 发行版,以及保持发行版的内容紧跟最新。后者非常重要, 因为 \LaTeX{} 宏包是不断更新换代的。 \end{intro} \section{\protect\TeX{} 发行版简介}\label{sec:dists} 一个\textbf{\TeX{} 发行版}是 \TeX{} 排版引擎、支持排版的文件(基本格式、\LaTeX{} 宏包、字体等)以及一些辅助工具的集合。 各式各样的 \TeX{} 发行版经过十多年的发展,大浪淘沙,现今的两个主流发行版为: \begin{itemize} \item \textbf{\hologo{TeXLive}}\par \hologo{TeXLive} 由类 UNIX 系统上的 \hologo{teTeX} 发展并取而代之,最终成为跨平台的 \TeX{} 发行版。 \hologo{TeXLive} 自 2011 年起以年份作为发行版的版本号,保持了一年一更的频率。 \hologo{MacTeX} 是 macOS(OS X)系统下的一个定制化的 \hologo{TeXLive} 版本,与 \hologo{TeXLive} 同步更新。 \item \textbf{\hologo{MiKTeX}}\par \hologo{MiKTeX} 是主要用于 Windows 平台的一个稳定发展的 \TeX{} 发行版。 在中国大陆曾经发行过“\hologo{CTeX} 套装”,它是一个经过本地化配置的 \hologo{MiKTeX},不过其配置较为过时,也不再有更新支持,使用起来可能有诸多问题,现已不推荐使用。 \end{itemize} \hologo{TeXLive} 和 \hologo{MiKTeX} 都集成了一个简单的 \LaTeX{} 源代码编辑器 TeXworks(\hologo{MacTeX} 则集成了类似的 TeXShop)。 用户在安装完毕后,可直接使用 TeXworks 编写和编译 \LaTeX{} 源代码。 \subsection{安装发行版}\label{subsec:install-dists} \subsubsection{\hologo{TeXLive}} \hologo{TeXLive} 的光盘镜像发布于 \url{https://www.tug.org/texlive/}% \footnote{Linux 发行版的软件源也提供 \hologo{TeXLive} 的安装,不过不够完整,更新也不是很及时。建议直接从镜像安装。}。 下载镜像到本地,挂载到虚拟光驱,或者用压缩工具解压后,在其根目录有几个用于安装的脚本: \begin{itemize} \item 用于 Windows 的批处理文件: \begin{itemize} \item \texttt{install-tl-windows.bat} 双击启动图形界面安装程序,可以在图形安装界面的 Advanced 选项中定制安装; \item 在命令提示符中输入 \texttt{install-tl-windows.bat -no-gui} 启动文本界面安装程序。 \end{itemize} \item 用于 Linux 的 Perl 脚本 \texttt{install-tl} : \begin{itemize} \item \texttt{install-tl} 启动文本界面安装程序; \item \texttt{install-tl -gui=wizard} 启动图形界面安装程序(简单安装); \item \texttt{install-tl -gui=peritk} 启动图形界面安装程序(定制安装)。 \end{itemize} \end{itemize} 另外也可以下载在线安装程序 \texttt{install-tl.zip},包含以上所有安装脚本。安装过程中会从 CTAN 软件源下载所有组件。 Linux 下 \hologo{TeXLive} 安装完毕后,一般还需要在 root 权限下进行以下操作,使得 \hologo{XeLaTeX} 能正确通过 \pkg{fontspec} 等宏包使用字体\footnote{\url{https://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf}, 可用 \texttt{texdoc texlive-zh-cn} 在本地打开。}: \begin{enumerate} \item 将 \texttt{texlive-fontconfig.conf} 文件复制到 \texttt{/etc/fonts/conf.d/09-texlive.conf}。 \item 运行 \texttt{fc-cache -fsv}。 \end{enumerate} \subsubsection{\hologo{MiKTeX}} 从 \hologo{MiKTeX} 官网 \url{https://www.miktex.org/} 下载名为 \texttt{basic-miktex-***.exe} 的 Windows 安装程序包。 下载后直接双击打开,按照程序的提示进行安装即可。 \section{安装和更新宏包}\label{sec:pkg-manager} \hologo{TeXLive} 和 \hologo{MiKTeX} 分别提供了图形界面的宏包管理器 \hologo{TeXLive} Manager 和 \hologo{MiKTeX} Package Manager,用于安装、管理和更新宏包。一般情况下,直接在图形界面的工具下按提示操作即可 (\hologo{MiKTeX} Package Manager 有普通权限和管理员权限的版本,建议总是使用管理员权限的版本)。 两者也可以通过各自的命令行工具安装和更新宏包: \begin{verbatim} % TeX Live 命令行工具 tlmgr 的使用示例 % 安装/卸载宏包 tlmgr install tlmgr remove % 更新所有宏包(包括 tlmgr 本身) tlmgr update --all --self % 列出所有可更新的宏包 tlmgr update --list % 指定更新源地址 % 形如 https://mirrors.tuna.tsinghua.edu.cn/CTAN tlmgr repository set /systems/texlive/tlnet % 查看宏包信息,加 --list 参数可列出宏包的所有文件 tlmgr info \end{verbatim} \begin{verbatim} % MiKTeX 命令行工具 mpm 的使用示例 % 建议始终加 --admin 参数使用 % 安装/卸载宏包 mpm --admin --install mpm --admin --uninstall % 更新所有宏包 mpm --admin --update % 列出所有可更新的宏包 mpm --admin --find-updates % 指定更新源地址 mpm --admin --set-repository=/systems/win32/miktex/tm/packages % 查看宏包信息 mpm --admin --print-package-info \end{verbatim} \hologo{TeXLive} 默认安装所有宏包,而 \hologo{MiKTeX} 的安装程序只包含了 \LaTeX{} 的一些基本宏包。从 \hologo{TeXLive} 的光盘镜像和 \hologo{MiKTeX} 的安装包体积可见一斑。 默认情况下,编译过程中如果遇到宏包未安装而报错的情况下,\hologo{MiKTeX} 会弹出一个对话框,让用户可以选择临时安装宏包,安装成功后继续编译。 \subsection{手动安装宏包}\label{subsec:pkg-manual-install} \textbf{\textcolor{red}{如非万不得已,尽量不要手动安装宏包}}。绝大多数宏包都已打包到 \hologo{TeXLive} 和 \hologo{MiKTeX} 两大发行版的安装源, 可用宏包管理器安装。如果用户知道某个宏包的名称,但不确定是否在发行版中已打包,可在 CTAN 中搜索。 如果确实有手动安装宏包的需要,本小节的内容将有所帮助。在手动安装之前,有必要了解一下 \TeX{} 目录结构(\TeX{} Directory Structure, TDS)。 它是 \TeX{} 发行版中宏包、字体、帮助文档等文件的组织结构。TDS 有时也称为 TEXMF 树,取 \TeX$+$\hologo{METAFONT} 之意。 以 \hologo{TeXLive} 为例,假设系统的 TEXMF 树根目录为 \nolinkurl{C:\\texlive\\2020\\texmf-dist},其下有很多子目录,仅举几例: \begin{description} \item[\texttt{tex/latex}] \LaTeX{} 宏包。 \item[\texttt{doc/latex}] \LaTeX{} 宏包的帮助文档。 \item[\texttt{source/latex}] \LaTeX{} 宏包的源代码。 \item[\texttt{bibtex}] \hologo{BibTeX} 工具相关文件,许多宏包配套的 \hologo{BibTeX} 格式文件位于子目录 \texttt{bst} 中。 \item[\texttt{fonts/tfm}] \TeX{} 使用的字体文件,TFM 格式。 \item[\texttt{fonts/type1}] PostScript 字体文件(Type1),PFB 格式。 \item[\texttt{fonts/opentype}] OpenType 格式的字体文件。 \end{description} 需要手动安装的宏包,一般已经按照上述目录结构打包完成。手动安装时,尽量不要拷贝到系统的 TEXMF 树,而是拷贝到发行版提供的用户 TEXMF 树,如 \hologo{TeXLive} 的 \nolinkurl{C:\\texlive\\texmf-local}。安装完成后,还需\textbf{刷新 \TeX{} 发行版的文件名数据库},令新安装的宏包文件能够被系统找到。 \hologo{TeXLive} 用户须在 Windows 命令行或者 Linux 终端执行命令: \begin{verbatim} mktexlsr \end{verbatim} \hologo{MiKTeX} 用户的命令为: \begin{verbatim} initexmf --update-fndb \end{verbatim} \endinput