From 6fbd328f7beab99bf8c0512c00f29e13c6da9cab Mon Sep 17 00:00:00 2001 From: Jjgod Jiang Date: Mon, 23 Mar 2020 00:06:36 +0000 Subject: Simplified Chinese 2020 git-svn-id: svn://tug.org/texlive/trunk@54490 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf | Bin 1030953 -> 1060881 bytes .../doc/texlive/texlive-zh-cn/texlive-zh-cn.tex | 505 +++++++++++++-------- 2 files changed, 314 insertions(+), 191 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf index 78cdf195300..886adf580db 100644 Binary files a/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf and b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf differ diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex index dfcffba7c4d..562c0ba19a3 100644 --- a/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex +++ b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex @@ -13,14 +13,14 @@ \usepackage{tex-live-zh-cn, indentfirst} \title{% - {\huge \textit{\TeX\ Live 指南---2019}}% + {\huge \textit{\TeX\ Live 指南---2020}}% } \author{Karl Berry 编写 \\[3mm] \url{https://tug.org/texlive/} } -\date{2019 年 4 月} +\date{2020 年 3 月} \begin{document} \maketitle @@ -61,7 +61,7 @@ GNU/Linux 及其他类 Unix 系统、\MacOSX\ 和 Windows 至于 Windows,\TL{} 仅支持 Windows~7 或后续版本。 Windows Vista 可能可以继续工作,但 \TL{} 不能在 Windows XP -或者更早的版本上运行。我们没有包含 64 位的 Windows +或者更早的版本上运行。\TL{} 没有包含 64 位的 Windows 可执行文件,不过 32 位的可执行文件也能 64 位的系统上正常运行。 除了 \TL{} 以外,Windows 和 \MacOSX 用户还有其它的选择,请参考 @@ -71,7 +71,7 @@ Windows Vista 可能可以继续工作,但 \TL{} 不能在 Windows XP \label{sec:basic} 你可以使用 \DVD{} 方式或者网络方式来安装 \TL{} -(\url{http://tug.org/texlive/acquire.html})。 +(\url{https://tug.org/texlive/acquire.html})。 通过网络的安装程序本身非常小,它可以从网上下载所有的你所要求的软 件包。网络安装程序对仅使用 \TL{} 一小部分的用户来说非常适宜。 @@ -113,47 +113,52 @@ Windows Vista 可能可以继续工作,但 \TL{} 不能在 Windows XP 最后,\TeX\ (及其相关程序) 在处理文档时是可以写文件的,这个功能可以被各种 方式滥用。所以我们再一次强调最保险的是在新的子目录下处理未知的文档。 +安全的另一个方面是保证下载的内容与内容创建时一致。如果安装了 \prog{gpg} +(GNU Privacy Guard) 程序,\prog{tlmgr} 程序 (第~\ref{sec:tlmgr}~节) 会自动 +对现在内容进行加密验证。\prog{gpg} 不和 \TL{} 一起分发,但可以参见 +\url{https://texlive.info/tlgpg/} 了解更多信息。 + \subsection{获得帮助} \label{sec:help} \TeX{} 社群是活跃而友好的,几乎所有认真的提问都能得到回答。尽管如此,这种由志愿者 和业余用户组成的技术支持仍然显得不太正式,所以,在提问前最好做好功课。(如果你更喜欢 有保障的商业性技术支持,可以放弃 \TL{},改为购买商业 \TeX{} 系统,在 -\url{http://tug.org/interest.html#vendors} 上有一份销售商的列表。) +\url{https://tug.org/interest.html#vendors} 上有一份销售商的列表。) 按照推荐使用的顺序,我们列出了这样一份资源列表: \begin{description} -\item [起步] 如果你刚刚接触 \TeX,\url{http://tug.org/begin.html} +\item [起步] 如果你刚刚接触 \TeX,\url{https://tug.org/begin.html} 这个网页提供了这个系统的简短介绍。 \item [\TeX{} FAQ] 这套庞大的 \TeX{} FAQ 对各种各样的 问题——从最基础到最晦涩的——都给予了简明的回答,它在 \TL{} 的 \OnCD{texmf-dist/doc/generic/FAQ-en/},也可以在 -\url{http://www.tex.ac.uk/faq} 网站上找到。有问题时请先看看这里能否找 +\url{https://texfaq.org} 网站上找到。有问题时请先看看这里能否找 到解答。 \item [\TeX{} Catalogue] 如果你在寻找某个特定的宏包、字体、程序等等,\TeX{} Catalogue 就是你首先该找的地方。这里是所有 \TeX{} 相关内容的一个巨大集合。参见 -\url{http://ctan.org/pkg/catalogue/}。 +\url{https://ctan.org/pkg/catalogue}。 -\item [\TeX{} 网上资源] \url{http://tug.org/interest.html}~页面上有 +\item [\TeX{} 网上资源] \url{https://tug.org/interest.html}~页面上有 许多和 \TeX{} 相关的链接,包括讨论这个系统方方面面的许多书籍、手册和文章。 \item [支持信息的归档] 最重要的 \TeX\ 技术支持论坛是 \LaTeX{} 社区网站 \url{http://latex-community.org/}, 问答网站 -\url{http://tex.stackexchange.com}, Usenet 的新闻组 \url{news:comp.text.tex} +\url{https://tex.stackexchange.com}, Usenet 的新闻组 \url{news:comp.text.tex} 和邮件列表 \email{texhax@tug.org}。它们的内容归档中有多年以来的提问和回答供你 搜索。最后两种你可以用 \\ \url{http://groups.google.com/groups?group=comp.text.tex} 和 \\ -\url{http://tug.org/mail-archives/texhax} 进行查询。当然,一般性的搜索 -方式,比如用 \url{http://google.com} 找找,总没有坏处。 +\url{https://tug.org/mail-archives/texhax} 进行查询。当然,一般性的搜索 +方式也没有坏处。 -\item [提问] 如果你还是找不到答案,可以在 \url{http://latex-community.org/} 和 -\url{http://tex.stackexchange.com/} 网站上提问,通过 Google +\item [提问] 如果你还是找不到答案,可以在 \url{https://latex.org} 和 +\url{https://tex.stackexchange.com/} 网站上提问,通过 Google 或者你的新闻组阅读器在 \dirname{comp.text.tex} 上提问,或者发送邮件到 \email{texhax@tug.org}。不过,在提问之前请先阅读 FAQ 上的这一条: -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}, +\url{https://texfaq.org/FAQ-askquestion}, 它能提高你获得回答的可能性。 \item [\TL{} 技术支持] 如果你需要报告 bug,或者提出对 \TL{} 的发行、安装或 @@ -182,17 +187,17 @@ Catalogue 就是你首先该找的地方。这里是所有 \TeX{} 相关内容 \begin{description} \item [\TL] 是一个完整的 \TeX{} 系统,它可以安装在本 -地磁盘上。主页: \url{http://tug.org/texlive/}。 +地磁盘上。主页: \url{https://tug.org/texlive/}。 \item [Mac\TeX] 在 \TL{} 的基础上增加了原生的 \MacOSX\ (目前 Apple 把它称作 macOS,但在这份文档中我们还沿用它的旧名字) 的安装程序和一些其它的 -Mac 应用程序。它的主页在 \url{http://tug.org/mactex/}。 +Mac 应用程序。它的主页在 \url{https://tug.org/mactex/}。 \item [pro\TeX{}t] 是 Windows 下的 \MIKTEX\ 发行版的一个增强版本。\ProTeXt\ 在 \MIKTEX\ 基础上增加了一些工具,简化了安装。它完全独立于 \TL{},有其 -自己的安装步骤。主页: \url{http://tug.org/protext}。 +自己的安装步骤。主页: \url{https://tug.org/protext}。 -\item [CTAN] 一份 \CTAN{} 仓库的快照 (\url{http://www.ctan.org/})。 +\item [CTAN] 一份 \CTAN{} 仓库的快照 (\url{https://ctan.org/})。 \end{description} @@ -221,9 +226,6 @@ Mac 应用程序。它的主页在 \url{http://tug.org/mactex/}。 Windows 的特殊支持。 \end{ttdescription} -上述目录之外,安装脚本和 (多种语言的) \filename{README} 文件也存放在发行版的顶层 -目录下。 - 至于文档,顶层目录下的 \OnCD{doc.html} 文件中提供的完整的链接会有帮助。 几乎所有内容的文档 (宏包、格式文件、字体、程序手册,man page, Info 文件等) 在 \dirname{texmf-dist/doc} 目录下,因为这些程序本身是属于 \dirname{texmf} 目录的。 @@ -238,6 +240,7 @@ Windows 的特殊支持。 \item{英语:} \OnCD{texmf-dist/doc/texlive/texlive-en} \item{法语:} \OnCD{texmf-dist/doc/texlive/texlive-fr} \item{意大利语:} \OnCD{texmf-dist/doc/texlive/texlive-it} +\item{日语:} \OnCD{texmf-dist/doc/texlive/texlive-ja} \item{波兰语:} \OnCD{texmf-dist/doc/texlive/texlive-pl} \item{俄语:} \OnCD{texmf-dist/doc/texlive/texlive-ru} \item{塞尔维亚语:} \OnCD{texmf-dist/doc/texlive/texlive-sr} @@ -254,7 +257,7 @@ Windows 的特殊支持。 名称的对应关系。 所有这些目录树,包括个人的,都应该遵循 \TeX\ 目录结构 (\TDS, -\url{http://tug.org/tds}),包括其中所有细小的子目录,否则文件就 +\url{https://tug.org/tds}),包括其中所有细小的子目录,否则文件就 可能找不到。第 \ref{sec:local-personal-macros} 节 (第 \pageref{sec:local-personal-macros} 页) 有更详细的介绍。这里描述的顺序和搜索的 优先级相反,也就是说,列在更靠后的目录树会被更优先搜索。 @@ -272,9 +275,9 @@ Windows 的特殊支持。 的目录。 \item [TEXMFHOME] 给用户存放它们自己独立安装的的宏包、字体等等。 这个变量根据不同的用户选择不同的主目录。 -\item [TEXMFVAR] 这个目录是给 \verb+texconfig+、\verb+updmap+ 和 - \verb+fmtutil+ 存储 (缓存) 格式文件、生成 map 文件这类运行时个人数据的。 -\item [TEXMFCONFIG] 给 \verb+texconfig+、\verb+updmap+、和 \verb+fmtutil+ +\item [TEXMFVAR] 这个目录是给 \verb+texconfig+、\verb+updmap-user+ 和 + \verb+fmtutil-user+ 存储 (缓存) 格式文件、生成 map 文件这类运行时个人数据的。 +\item [TEXMFCONFIG] 给 \verb+texconfig+、\verb+updmap-sys+、和 \verb+fmtutil-sys+ 这些程序存储个人修改过的配置文件。 \item [TEXMFCACHE] \ConTeXt\ MkIV 和 Lua\LaTeX\ 用来保存 (缓存的) 运行时 数据的目录树;缺省为 \code{TEXMFSYSVAR},如果该目录不可写,则使用 @@ -287,8 +290,8 @@ Windows 的特殊支持。 \item[全系统根目录] 可以包含多个 \TL{} 版本: (在 Unix 下默认是 \texttt{/usr/local/texlive}) \begin{ttdescription} - \item[2018] 上一个版本。 - \item[2019] 当前版本。 + \item[2019] 上一个版本。 + \item[2020] 当前版本。 \begin{ttdescription} \item [bin] ~ \begin{ttdescription} @@ -307,8 +310,8 @@ Windows 的特殊支持。 \item[用户主 (home) 目录] (\texttt{\$HOME} 或 \texttt{\%USERPROFILE\%}) \begin{ttdescription} - \item[.texlive2018] 给上个版本的,个人生成和配置的数据。 - \item[.texlive2019] 给这个版本的,个人生成和配置的数据。 + \item[.texlive2019] 给上个版本的,个人生成和配置的数据。 + \item[.texlive2020] 给这个版本的,个人生成和配置的数据。 \begin{ttdescription} \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} \item [texmf-config] \envname{TEXMFCONFIG} @@ -339,18 +342,18 @@ PDF 输出的支持,以及许多其他的扩展。 这是针对 \prog{etex}, \prog{latex} 或 \prog{pdflatex} 这些格式使用的缺省程序。 它的主页在 \url{http://www.pdftex.org/},文档在 \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}。可以在 -\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} 找到展示部分功能的例 +\OnCD{texmf-dist/doc/pdftex/samplepdftex/samplepdf.tex} 找到展示部分功能的例 子。 \item [Lua\TeX] 是 pdf\TeX\ 指定的后继者,而且对 pdf\TeX\ 保持大部分 (但不是完全地) 向下兼容。它也希望包含 Aleph (见后) 的功能,尽管未必能完美兼容。 -它内置的 Lua 语言解释器 (\url{http://www.lua.org}) 为许多棘手的 \TeX{} +它内置的 Lua 语言解释器 (\url{https://lua.org}) 为许多棘手的 \TeX{} 问题提供了优雅的解决方案。当以 \filename{texlua} 命令执行时,它就像一个标准的 Lua 解释器一样工作,所以,Lua\TeX\ 在 \TL\ 中也被作为 Lua 程序的解释器。 见 \url{http://www.luatex.org} 和 \OnCD{texmf-dist/doc/luatex/luatex.pdf}。 \item [Xe\TeX] 通过第三方库,增加对 Unicode 输入文本和 OpenType 字体的支持, -能够直接使用系统字体。参见 \url{http://tug.org/xetex}。 +能够直接使用系统字体。参见 \url{https://tug.org/xetex}。 \item [\OMEGA\ (Omega)] 基于 Unicode (16 位字符集),因而同时支持处理世界上 几乎所有的语言。它同时还支持所谓的 `\OMEGA{} Translation Processes' (OTP), @@ -401,7 +404,7 @@ pdf\TeX\ 的一套替换方案。 \label{sec:inst-start} 首先请找来一张 \TK{} 的 \DVD{},或者下载 \TL{} 的网络安装程序。参见 -\url{http://tug.org/texlive/acquire.html} 以了解更多关于获得这个软件的信息和方法。 +\url{https://tug.org/texlive/acquire.html} 以了解更多关于获得这个软件的信息和方法。 \begin{description} \item [网络安装程序,.zip 或 .tar.gz 格式:] 在 \CTAN 的 \dirname{systems/texlive/tlnet} @@ -418,8 +421,8 @@ Windows 的 \filename{install-tl.zip} 或者小得多、但只支持 Unix 的 \item [\TeX{} Collection \DVD:] 打开 \DVD\ 的 \dirname{texlive} 这个子目录。 在 Windows 下安装程序通常在插入 \DVD 后就自动启动了。要获得 \DVD 的 话可以加入一个 \TeX\ 用户组织 (推荐这么做,参见 -\url{http://tug.org/usergroups.html}) 或是单独购买 (通过 -\url{http://tug.org/store}),又或者是自己从 \ISO\ 镜像刻录。 +\url{https://tug.org/usergroups.html}) 或是单独购买 (通过 +\url{https://tug.org/store}),又或者是自己从 \ISO\ 镜像刻录。 在多数系统里你都可以直接挂载这个 \ISO{}。在从 \DVD\ 或者 \ISO{} 安装后, 如果还希望从 Internet 获得持续的更新,请看第 \ref{sec:dvd-install-net-updates} 节。 @@ -437,7 +440,7 @@ Windows 的 \filename{install-tl.zip} 或者小得多、但只支持 Unix 的 如果你需要用代理服务器来下载,Wget 的代理服务器设置可以使用 \filename{~/.wgetrc} 文件或者环境变量来指定 -(\url{http://www.gnu.org/software/wget/manual/html_node/Proxies.html}), +(\url{https://www.gnu.org/software/wget/manual/html_node/Proxies.html}), 或者你使用的下载工具对应的配置文件。如果你是从 \DVD\ 或者 \ISO\ 镜像来安装就 没有关系了。 @@ -481,7 +484,7 @@ XFT 支持的 \dirname{Perl::TK} 模块,\GNU/Linux 下通常都是这样, \label{sec:macosx} 如第~\ref{sec:tl-coll-dists}~节提到的,我们给 \MacOSX 准备了一套独立的 -发行版,叫做 Mac\TeX\ (\url{http://tug.org/mactex})。我们推荐使用原生的 +发行版,叫做 Mac\TeX\ (\url{https://tug.org/mactex})。我们推荐使用原生的 Mac\TeX\ 安装程序,而不是 \TL\ 自带的那个,因为原生的安装程序做了一些 针对 Mac 的调整,尤其是使用 \TeX{}Dist 数据结构方便在 \MacOSX 下的多个 \TeX\ 发 行版 (Mac\TeX, Fink, MacPorts, \ldots) 之间切换。 @@ -520,7 +523,7 @@ Mac\TeX\ 是严格依赖 \TL 构建的,所以主 \TeX\ 树和二进制文件 \begin{figure}[tb] \begin{boxedverbatim} -Installing TeX Live 2019 from: ... +Installing TeX Live 2020 from: ... Platform: x86_64-linux => 'GNU/Linux on x86_64' Distribution: inst (compressed) Directory for temporary files: /tmp @@ -532,11 +535,11 @@ Directory for temporary files: /tmp Set installation scheme: scheme-full customizing installation collections - 40 collections out of 41, disk space required: 5829 MB + 40 collections out of 41, disk space required: 6536 MB directories: TEXDIR (the main TeX directory): - /usr/local/texlive/2019 + /usr/local/texlive/2020 ... options: @@ -623,12 +626,12 @@ Available platforms: =============================================================================== a [ ] Cygwin on Intel x86 (i386-cygwin) b [ ] Cygwin on x86_64 (x86_64-cygwin) - c [ ] MacOSX current (10.12-) on x86_64 (x86_64-darwin) + c [ ] MacOSX current (10.13-) on x86_64 (x86_64-darwin) d [ ] MacOSX legacy (10.6-) on x86_64 (x86_64-darwinlegacy) e [ ] FreeBSD on x86_64 (amd64-freebsd) f [ ] FreeBSD on Intel x86 (i386-freebsd) g [ ] GNU/Linux on ARM64 (aarch64-linux) - h [ ] GNU/Linux on ARMhf (armhf-linux) + h [ ] GNU/Linux on ARMv6/RPi (armhf-linux) i [ ] GNU/Linux on Intel x86 (i386-linux) j [X] GNU/Linux on x86_64 (x86_64-linux) k [ ] GNU/Linux on x86_64 with musl (x86_64-linuxmusl) @@ -699,8 +702,8 @@ Collection (安装集合) 是比 scheme (方案) 要更细的一层 \Dash 实际 缺省的目录布局在第~\ref{sec:texmftrees}~节有过叙述,见 第~\pageref{sec:texmftrees}~页。在 Unix 下默认的安装目录是 -\dirname{/usr/local/texlive/2019} 而 Windows 下是 -|%SystemDrive%\texlive\2019|。这样的安排允许你有多个并行存在的 \TL\ 安装,每年的 +\dirname{/usr/local/texlive/2020} 而 Windows 下是 +|%SystemDrive%\texlive\2020|。这样的安排允许你有多个并行存在的 \TL\ 安装,每年的 发行版本一个,你可以通过修改搜索路径来在它们中间切换。 这个安装路径可以通过设置安装程序中的 \dirname{TEXDIR} 来修改。这个选项和其他选项 @@ -710,11 +713,11 @@ Collection (安装集合) 是比 scheme (方案) 要更细的一层 \Dash 实际 你也可以通过在运行安装程序以前修改特定的环境变量来改变安装目录,最常见的是 \envname{TEXLIVE\_INSTALL\_PREFIX} 或者 \envname{TEXLIVE\_INSTALL\_TEXDIR},参见 -|install-tl --help| 的文档 (\url{http://tug.org/texlive/doc/install-tl.html} 有 +|install-tl --help| 的文档 (\url{https://tug.org/texlive/doc/install-tl.html} 有 在线版本) 以了解完整的列表和更多的信息。 一个合理的选择是你自己主目录下的一个子目录,尤其在只有你一个人 -使用的时候。使用 `|~|' 来表示主目录,比如 `|~/texlive/2019|'。 +使用的时候。使用 `|~|' 来表示主目录,比如 `|~/texlive/2020|'。 我们建议在目录名称中保留年份,这样可以让你保留多个不同版本的 \TL{}。(你可能希望还维护一个类似 \dirname{/usr/local/texlive-cur} @@ -771,7 +774,7 @@ Options customization: \filename{texmf.cnf} 中定义。参见 2010 版新闻 (第~\ref{sec:2010news} 节) 以了解更多信息。 -\item[create format files:] 虽然创建不必要的格式文件会浪费一 +\item[create all format files:] 虽然创建不必要的格式文件会浪费一 点时间,也会多占一些磁盘空间,但 我们还是建议现在保持这个选项的选定状态,因为如果这次不生成,下次 用到的时候格式文件就会在用户个人的 \dirname{TEXMFVAR} 目录树内生 @@ -791,7 +794,8 @@ Options customization: 现有的文件,比如给它指定系统目录。最保险和推荐的做法还是不要 选择这个选项。 -\item[after installation \ldots\ \CTAN:] 从 \DVD\ 安装时,这个选项 +\item[after install, set CTAN as source for package updates:] +从 \DVD\ 安装时,这个选项 被缺省启用,因为通常你会希望在此后通过 \CTAN\ 安装一年内更新的软件 包。禁用它唯一可能的原因是你只安装了 \DVD\ 内容的一部分,计划在以后 扩展安装。无论如何,安装程序时和安装后的更新的软件包仓库如果需要可 @@ -833,7 +837,7 @@ Windows 专有的选项,在高级 Perl/Tk 界面中显示有: \item[-gui] 尽可能用 \GUI{} 模式的安装程序。它需要 Tcl/Tk 版本 8.5 以上。在 \MacOSX\ 上和 \TL{} 的 Windows 分发中已经满足这个条件了。原有的 \texttt{-gui=perltk} 和 \texttt{-gui=wizard} 选项需要安装了编译进 XFT 支持的 - Perl/Tk 模块 (\url{http://tug.org/texlive/distro.html#perltk}); + Perl/Tk 模块 (\url{https://tug.org/texlive/distro.html#perltk}); 如果找不到 Perl/Tk,安装程序就会在文本模式下出现。 \item[-no-gui] 强制使用文本模式安装程序。 @@ -860,7 +864,7 @@ Windows 专有的选项,在高级 Perl/Tk 界面中显示有: \htmlanchor{opt-in-place} \item[-in-place] (补充说明:除非你清楚自己要做什么,否则不要使用这个选项。) 如果你已经有一份用 rsync, svn, 或者其他方式安装的 -\TL{} (参见 \url{http://tug.org/texlive/acquire-mirror.html}) 那 +\TL{} (参见 \url{https://tug.org/texlive/acquire-mirror.html}) 那 这个选项会使用现有的,只执行必要的安装后操作。注意 \filename{tlpkg/texlive.tlpdb} 文件会被覆盖,你需要自己备份它。另外,文件的删除必须手动完成。所以 只在你知道自己在干什么的情况下才用它。这个选项不能在安装程序界面中 @@ -882,7 +886,7 @@ Windows 专有的选项,在高级 Perl/Tk 界面中显示有: 比如你可以选择这样的一个 \CTAN\ 镜像: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, 当然你应该把 |ctan.example.org/tex-archive| 替换为具体镜像的 -域名和特定的顶层 \CTAN\ 路径 (\url{http://ctan.org/mirrors}) +域名和特定的顶层 \CTAN\ 路径 (\url{https://ctan.org/mirrors}) 维护了一个 \CTAN\ 的镜像列表)。 如果给定的地址在本地磁盘上 (或者是路径或者是 \texttt{file:/} @@ -914,18 +918,18 @@ GNU/Linux、默认的目录设置为例,需要修改的文件是 \filename{$HO 这样: \begin{sverbatim} -PATH=/usr/local/texlive/2019/bin/i386-linux:$PATH; export PATH -MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH; export MANPATH -INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH; export INFOPATH +PATH=/usr/local/texlive/2020/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH; export INFOPATH \end{sverbatim} 对于 csh 或者 tcsh,需要修改的文件通常是 \filename{$HOME/.cshrc},而 应该添加的内容类似: \begin{sverbatim} -setenv PATH /usr/local/texlive/2019/bin/i386-linux:$PATH -setenv MANPATH /usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH -setenv INFOPATH /usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH +setenv PATH /usr/local/texlive/2020/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH \end{sverbatim} 如果你已经在你的配置文件里写过了这样的路径设置,那就只需要 @@ -942,8 +946,8 @@ setenv INFOPATH /usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH 这个文件是否存在,如果有的话,添加下面这样的内容: \begin{sverbatim} -MANPATH_MAP /usr/local/texlive/2019/bin/i386-linux \ - /usr/local/texlive/2019/texmf-dist/doc/man +MANPATH_MAP /usr/local/texlive/2020/bin/i386-linux \ + /usr/local/texlive/2020/texmf-dist/doc/man \end{sverbatim} 然后 2)~检查 \filename{/etc/environment} 是否定义了默认的搜索路径 @@ -968,7 +972,7 @@ MANPATH_MAP /usr/local/texlive/2019/bin/i386-linux \ 从 \DVD{} 安装时会默认完成这一步,通过第~\ref{sec:options}~节介绍 的选项。 -如果自动镜像选择出现了问题,你可以从 \url{http://ctan.org/mirrors} +如果自动镜像选择出现了问题,你可以从 \url{https://ctan.org/mirrors} 列表中自己指定一个 \CTAN\ 镜像。使用与上述一致的 \dirname{tlnet} 子目录路径。 @@ -980,7 +984,7 @@ MANPATH_MAP /usr/local/texlive/2019/bin/i386-linux \ 在 Windows 下 \TL\ 提供的字体会自动为 \XeTeX\ 所用,只要通过字体名称就可以了。 在 \MacOSX\ 下如果需要按字体名称查找则需要额外的步骤,参见 Mac\TeX\ 网页 -(\url{http://tug.org/mactex})。如果你在其他 Unix 系统中安装了 \filename{xetex} +(\url{https://tug.org/mactex})。如果你在其他 Unix 系统中安装了 \filename{xetex} 软件包,需要把系统按如下配置一番 \XeTeX\ 才能找到随 \TL\ 安装的那些字体。 为了进行配置,\pkgname{xetex} 安装后 (不管是初始安装还是后来安装的) 都会在 @@ -1028,7 +1032,7 @@ context --generate 并写入第一个可写东风路径。在读取时,最后找到的匹配会被优先选择。 要了解更多信息,参见 -\url{http://wiki.contextgarden.net/Running_Mark_IV}。 +\url{https://wiki.contextgarden.net/Running_Mark_IV}。 \subsubsection{集成本地与个人宏文件} \label{sec:local-personal-macros} @@ -1044,7 +1048,7 @@ Windows 下的 \verb|%SystemDrive%\texlive\texmf-local|) 这个目录就是为 你又得再改。 对于这两个目录树而言,文件都应该放到合适的 \TeX\ 目录结构 (\TDS) -子目录中,参见 \url{http://tug.org/tds} 或者 +子目录中,参见 \url{https://tug.org/tds} 或者 \filename{texmf-dist/web2c/texmf.cnf} 文件。比如一个 \LaTeX{} 文档类或者宏包应该 放在 \dirname{TEXMFLOCAL/tex/latex} 或者 \dirname{TEXMFHOME/tex/latex} 目录下,要不然就是它们的一个子目录下。 @@ -1073,7 +1077,7 @@ Windows 下的 \verb|%SystemDrive%\texlive\texmf-local|) 这个目录就是为 \XeTeX\ 或 Lua\TeX\ 是可行的替代方案 (参见第~\ref{sec:tex-extensions}~节), 它们能让你使用操作系统的字体而不必将它安装到 \TeX 中。 -如果你非得这么做,参见 \url{http://tug.org/fonts/fontinstall.html}, +如果你非得这么做,参见 \url{https://tug.org/fonts/fontinstall.html}, 这是我们对整个过程最好的描述。 \subsection{测试安装是否成功} @@ -1083,10 +1087,10 @@ Windows 下的 \verb|%SystemDrive%\texlive\texmf-local|) 这个目录就是为 美的文档和字体。 你可能马上需要的是一个用来编辑文件的前端程序。\TL{} 在 Windows 下只安装了 -\TeX{}works (\url{http://tug.org/texworks}),而 Mac\TeX\ 则安装了 TeXShop -(\url{http://pages.uoregon.edu/koch/texshop}。在其他 Unix 系统下,由你自己选择编 +\TeX{}works (\url{https://tug.org/texworks}),而 Mac\TeX\ 则安装了 TeXShop +(\url{https://pages.uoregon.edu/koch/texshop}。在其他 Unix 系统下,由你自己选择编 辑器。当然,存在很多选择,有些在下一小节列出了;还可以参见 -\url{http://tug.org/interest.html#editors}。任何纯文本编辑器都可以,不需要专门为 +\url{https://tug.org/interest.html#editors}。任何纯文本编辑器都可以,不需要专门为 \TeX{} 设计的。 这个小节后面给出了一些测试系统是否正常工作的基本步骤。我们这里使用的是 Unix 命令, @@ -1149,8 +1153,8 @@ Transcript written on sample2e.log. > \Ucom{xpdf sample2e.pdf} \end{alltt} \cmdname{gv} 和 \cmdname{xpdf} 现在都不包含在 \TL{} 中,你 -必须单独安装它们。请分别参阅 \url{http://www.gnu.org/software/gv} 和 -\url{http://www.foolabs.com/xpdf}。(还有许多其他的 PDF 查看器。) +必须单独安装它们。请分别参阅 \url{https://www.gnu.org/software/gv} 和 +\url{https://www.xpdfreader.com}。(还有许多其他的 PDF 查看器。) Windows 下我们推荐 Sumatra PDF (\url{https://www.sumatrapdfreader.org/free-pdf-reader.html})。 @@ -1185,42 +1189,42 @@ Transcript written on opentype-info.log. \subsection{其他可下载软件的链接} 如果你还是个 \TeX{} 新手,或者在编辑 \TeX{} 或 \LaTeX{} 文档时需要帮助, -请访问 \url{http://tug.org/begin.html} 寻找引导性的资源。 +请访问 \url{https://tug.org/begin.html} 寻找引导性的资源。 这里是一些你可能会考虑安装的其他工具的链接。 \begin{description} \item[Ghostscript] \url{https://ghostscript.com/} -\item[Perl] \url{http://www.perl.org/} 与 CPAN 中的补充包, - \url{http://www.cpan.org/} -\item[ImageMagick] \url{http://www.imagemagick.com}, 用于图形处理和转换 -\item[NetPBM] \url{http://netpbm.sourceforge.net/}, 同样用于图形。 +\item[Perl] \url{https://perl.org/} 与 CPAN 中的补充包, + \url{https://cpan.org/} +\item[ImageMagick] \url{https://imagemagick.org}, 用于图形处理和转换 +\item[NetPBM] \url{http://netpbm.sourceforge.net}, 同样用于图形。 \item[面向 \TeX\ 的编辑器] 有很广泛的选择,一般依用户个人的口味而定。这 里按字典序列出了一些 (部分是 Windows 才有的)。 \begin{itemize*} \item \cmdname{GNU Emacs} 在 Windows 下也有原生版本,参见 - \url{http://www.gnu.org/software/emacs/emacs.html}。 + \url{https://www.gnu.org/software/emacs/emacs.html}。 \item \cmdname{Emacs 的 Auc\TeX\ 包} 的 Windows 版本在 \CTAN\ 提供。 - AuC\TeX\ 的主页在 \url{http://www.gnu.org/software/auctex}。 + AuC\TeX\ 的主页在 \url{https://www.gnu.org/software/auctex}。 \item \cmdname{SciTE} 在 - \url{http://www.scintilla.org/SciTE.html} 提供。 + \url{https://www.scintilla.org/SciTE.html} 提供。 \item \cmdname{Texmaker} 是自由软件,在 - \url{http://www.xm1math.net/texmaker} 提供。 + \url{https://www.xm1math.net/texmaker} 提供。 \item \cmdname{TeXstudio} 是 \cmdname{Texmaker} 的一个 - fork,引入了额外的功能;\url{http://texstudio.org}。 + fork,引入了额外的功能;\url{https://texstudio.org}。 \item \cmdname{TeXnicCenter} 是自由软件,在 - \url{http://www.texniccenter.org} 提供,也随 pro\TeX{}t + \url{https://www.texniccenter.org} 提供,也随 pro\TeX{}t 发行版附带。 - \item \cmdname{TeXworks} 是自由软件,在 \url{http://tug.org/texworks} 提供,也 + \item \cmdname{TeXworks} 是自由软件,在 \url{https://tug.org/texworks} 提供,也 作为 \TL{} 的一部分只在 Windows 被安装。 \item \cmdname{Vim} 是自由软件,在 - \url{http://www.vim.org} 提供。 + \url{https://www.vim.org} 提供。 \item \cmdname{WinEdt} 是共享软件,在 - \url{http://tug.org/winedt} 或 \url{http://www.winedt.com} 提供。 - \item \cmdname{WinShell} 在 \url{http://www.winshell.de} 提供。 + \url{https://tug.org/winedt} 或 \url{https://www.winedt.com} 提供。 + \item \cmdname{WinShell} 在 \url{https://www.winshell.de} 提供。 \end{itemize*} \end{description} -关于这类软件包和程序,\url{http://tug.org/interest.html} 有一份更长的列表。 +关于这类软件包和程序,\url{https://tug.org/interest.html} 有一份更长的列表。 \section{特殊安装} @@ -1313,18 +1317,19 @@ TEXMFLOCAL = $SELFAUTOGRANDPARENT/../texmf-local 惯了原有的界面,我们仍然发行和维护 \prog{texconfig},现在但我们建议使用 \prog{tlmgr}。 -\subsection{\cmdname{tlmgr} 当前的 \GUI{} 界面} +\subsection{\cmdname{tlmgr} 的 \GUI{} 界面} \TL{} 包含多个 \prog{tlmgr} 的 \GUI{}。图~\ref{fig:tlshell} 展示了 \cmdname{tlshell},它是用 Tcl/Tk 编写的,在 Windows 和 \MacOSX{} 下直接就能用。 图~\ref{fig:tlcockpit} 展示了 \prog{tlcockpit},它需要 Java 版本~8 或者更高以及 JavaFX。这两个都是单独的安装包。 -\prog{tlmgr} 本身也可以用如下方法按 \GUI{} 模式执行 (图~\ref{fig:tlmgr-gui}): +\prog{tlmgr} 还有一个原生的 \GUI{} 模式 (见图~\ref{fig:tlmgr-gui}): \begin{alltt} > \Ucom{tlmgr -gui} \end{alltt} -\GUI\ 扩展需要 Perl/Tk,而这个模块已经不再包含在 \TL\ 的 Windows Perl 分发中了。 +但是 \GUI\ 扩展需要 Perl/Tk,而这个模块已经不再包含在 \TL\ 的 Windows Perl 分发 +中了。 \subsection{\cmdname{tlmgr} 命令行使用示例} @@ -1358,12 +1363,12 @@ running post install action for xetex install: xetex-def ... running mktexlsr -mktexlsr: Updating /usr/local/texlive/2019/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2020/texmf-dist/ls-R... ... running fmtutil-sys --missing ... Transcript written on xelatex.log. -fmtutil: /usr/local/texlive/2019/texmf-var/web2c/xetex/xelatex.fmt installed. +fmtutil: /usr/local/texlive/2020/texmf-var/web2c/xetex/xelatex.fmt installed. \end{fverbatim} 如你所见,\prog{tlmgr} 会安装所有依赖的包,也会处理所有包括刷新文件名 @@ -1385,7 +1390,7 @@ revision: 46963 sizes: 657941k \end{fverbatim} -最后也是最重要的,查阅 \url{http://tug.org/texlive/tlmgr.html} +最后也是最重要的,查阅 \url{https://tug.org/texlive/tlmgr.html} 这里的完整文档,或者: \begin{alltt} > \Ucom{tlmgr -help} @@ -1400,11 +1405,9 @@ sizes: 657941k 在 Windows 下,安装程序额外地做了以下一些事情: \begin{description} \item[菜单与快捷方式。] 在开始菜单上加入了新的`\TL{}'程序菜单,主要是一些 -\GUI{} 程序 (如 \prog{tlmgr}、\prog{texdoctk}、PS\_View (\prog{psv}),它是 -PostScript 预览程序) 和一些文档的菜单。 -\item[文件关联。] 如果启用,\prog{TeXworks}、\prog{Dviout} -和 \prog{PS\_view} 会成为它们对应文件类型的默认程序,或者在 -这些文件类型的“用...打开”右键菜单中出现。 +\GUI{} 程序 (如 \prog{tlmgr}、\prog{texdoctk} 和一些文档的菜单。 +\item[文件关联。] 如果启用,\prog{TeXworks} 和 \prog{Dviout} 会成为它们对应文件 +类型的默认程序,或者在这些文件类型的“用...打开”右键菜单中出现。 \item[位图到 eps 转换器。] 许多位图格式会在它们的“用...打开”菜单中获得一个 \cmdname{bitmap2eps} 项目。Bitmap2eps 是一个使用 \cmdname{sam2p} 或 \cmdname{bmeps} 的简单脚本。 @@ -1430,14 +1433,6 @@ PostScript 预览程序) 和一些文档的菜单。 但它们不会通过环境变量和注册表设置来暴露所在的位置。它们不是完整的安装版, 也不会与任何 Perl 或 Ghostscript 系统安装程序冲突。 -\item[PS\_View。] 同时安装的还有 PS\_View,一款 \PS{} 和 PDF -浏览器;见图~\ref{fig:psview}。 - -\begin{figure}[tb] -\centering \tlpng{psview}{.6\linewidth} -\caption{PS\_View:可以获得很高的放大倍数!}\label{fig:psview} -\end{figure} - \item[dviout。] 另外安装的还包括一款 DVI 预览程序 \prog{dviout}。 当你第一次使用 \cmdname{dviout} 预览文件时,因为没有安装屏幕显示字体,它 将生成字体。一段时间后,你所使用的大部分字体都将生成,随后,你将很少再看 @@ -1516,7 +1511,7 @@ Windows 和 Cygwin (参见第~\ref{sec:cygwin}~节以了解 Cygwin 安装细节) 你尝试处理一个包含大量字体的文档时可能会内存不足。 对 Cygwin,你可以按照 Cygwin 用户指南 -(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}) 中的办法 +(\url{https://cygwin.com/cygwin-ug-net/setup-maxmem.html}) 中的办法 增加可用内存量。 对 Windows,你必须创建一个文件,例如命名为 \code{moremem.reg},包含 @@ -1536,7 +1531,7 @@ Windows Registry Editor Version 5.00 \Webc{} 是一整套 \TeX{} 相关程序的集合:\TeX{} 本身、\MF{}、\MP{}、\BibTeX{}, 等等。它是 \TL{} 的核心。\Webc{} 的主页及最新的手册等都在 -\url{http://tug.org/web2c}。 +\url{https://tug.org/web2c}。 我们简单的介绍一下它的历史:最早它是由 Tomas Rokicki 在 1987 年实现的,他开发了第一套 将 \TeX{} 系统的代码转换为 C 语言代码的系统,基于的是 Unix 下 change files @@ -1581,11 +1576,15 @@ Windows Registry Editor Version 5.00 所有的程序都接受这些 \GNU 标准的选项: \begin{ttdescription} \item[-{}-help] 显示基本使用说明。 -\item[-{}-verbose] 显示详细的执行过程。 \item[-{}-version] 显示版本信息,然后退出。 \end{ttdescription} -所有的 \Webc{} 程序均使用 \KPS{} (\url{http://tug.org/kpathsea}) 路径搜索库来查找文件, +而大部分都接受: +\begin{ttdescription} +\item[-{}-verbose] 显示详细的执行过程。 +\end{ttdescription} + +所有的 \Webc{} 程序均使用 \KPS{} (\url{https://tug.org/kpathsea}) 路径搜索库来查找文件, 这套库结合环境变量和配置文件的 使用来优化大量 \TeX{} 文件的搜索。\Webc{} 可以在多于一套的目录树下执行查找,这可以方 便维护类似 \TeX{} 标准发行版和本地版本的扩展这样两套目录树。为了优化搜索的速度,每个目 @@ -1651,31 +1650,40 @@ Windows Registry Editor Version 5.00 \subsubsection{配置文件} \KPS{} 读入\emph{运行时配置文件} \file{texmf.cnf} 来获得搜索路径和其他定义。 -而这个 \file{texmf.cnf} 存放的路径则是在 \envname{TEXMFCNF} 变量里定义的, -但我们不建议设置这个 (或者任何) 环境变量。 +我们用 \envname{TEXMFCNF} 搜索路径来查找这些文件,但我们不建议设置这个 (或者任 +何) 环境变量来替代系统路径。 -作为代替,标准的安装将产生文件 \file{.../2019/texmf.cnf}。如果你必须修改缺省 +作为代替,标准的安装将产生文件 \file{.../2020/texmf.cnf}。如果你必须修改缺省 值 (一般不需要),这是修改的地方。主配置文件是 -\file{.../2019/texmf-dist/web2c/texmf.cnf}。你不应该修改后者,因为在发行版本被更 +\file{.../2020/texmf-dist/web2c/texmf.cnf}。你不应该修改后者,因为在发行版本被更 新后会丢失修改。 +此外,如果只希望把一个个人目录加入特定的搜索路径,设置环境变量是合理的: +\begin{verbatim} + TEXINPUTS=.:/my/macro/dir: +\end{verbatim} +为保证这个设计可以一直被维护和兼容,在末尾加入一个 \samp{:} (Windows 下用 \samp{;}) +来加入系统路径,而不是完全替代系统路径 (参见第~\ref{sec:default-expansion}~节)。 +另一个选项是使用 \envname{TEXMFHOME} 树 (参见第~\ref{sec:directories}~节)。 + 搜索路径里\emph{所有的} \file{texmf.cnf} 文件都会被读入,而先读入的优先级更高。 比如搜索路径是 \verb|.:$TEXMF|,那么文件 \file{./texmf.cnf} 里面的值要比 \verb|$TEXMF/texmf.cnf| 里边的优先。 \begin{itemize*} \item - 以 \code{\%} 表示单行注释。 + 以 \code{\%},要么在行首,要么在空白后面,表示单行注释。 \item 忽略空行。 \item 行末的 \bs{} 作为连接符,即把下一行直接接上。但保留下一行行首的空白。 \item - 所有剩余的行格式如下: -\begin{alltt} - \var{variable}[.\var{progname}] [=] \var{value} -\end{alltt}% - \samp{=} 号和空白都是可选的。 + 所有剩余的行格式如下:\\ + \hspace*{2em}\texttt{\var{variable} \textrm{[}.\var{progname}\textrm{]} + \textrm{[}=\textrm{]} \var{value}}\\[1pt] + \samp{=} 号和空白都是可选的。 + (但如果 \var{value} 以 \samp{.} 起始,最好的办法是用 \samp{=} 来避免 \samp{.} + 被识别为程序名称。) \item \ttvar{variable} (变量) 允许包含任何字符,除空白、\samp{=}、\samp{.} 之外。不过只用 \samp{A-Za-z\_} 是最保险的。 @@ -1683,11 +1691,17 @@ Windows Registry Editor Version 5.00 如果 \samp{.\var{progname}} (程序名) 存在,则该定义只对正在运行的名叫 \texttt{\var{progname}} 或 \texttt{\var{progname}.exe} 的程序起作用。这可以让给不同种类的 \TeX{} 程序设置不同的搜索路径。 -\item \var{value} (值) 允许任何 \code{\%} 与 \samp{@} 之外的字符出现。 - 不支持在等号右侧使用 \code{\$\var{var}.\var{prog}} 这样的写法。 - 如果在 Unix 下,\var{value} 中的 \samp{;}\ 字符会被转换为 - \samp{:}。如果你希望让 Unix, MS-DOS 和 Windows 里都用同一个 - \file{texmf.cnf},这会很有用。 +\item 就像字符串一样,\var{value} 可以包含任何字符。但是,实际上大部分 + \file{texmf.cnf} 的值都和路径展开有关,而因为展开会用到多种特殊字符 + (参见第~\ref{sec:cnf-special-chars}~节),比如大括号和逗号,所以它们 + 不能用作路径名称。 + + 在 Unix 下 \var{value} 里的 \samp{;} 会被转换为 \samp{:},这样同一份 + \file{texmf.cnf} 可以同时支持 Unix 和 Windows + 系统。这个转换适用于任何值,不仅仅是搜索路径,不过实际上 \samp{;} + 也不会在其他值里用到。 + + \code{\$\var{var}.\var{prog}} 的功能在右侧无效,你必须多用一个变量才行。 \item 在读入所有定义后再开始展开,所以你可以引用后边才定义的变量。 \end{itemize*} @@ -1703,7 +1717,7 @@ Windows Registry Editor Version 5.00 \subsubsection{路径展开} \label{sec:path-expansion} -和 Unix shell 类似,\KPS{} 能够识别搜索路径中的特殊字符。比如一个复杂的路径 +和 Unix shell 类似,\KPS{} 能够识别搜索路径中的特殊字符。比如路径 \verb+~$USER/{foo,bar}//baz+,将展开为这样的子目录:在 \texttt{\$USER} 的主目录下的 \file{foo} 或 \file{bar} 目录中,且包含 \file{baz} 文件或目录。这种展开将在下面解释。 @@ -1740,7 +1754,7 @@ Windows Registry Editor Version 5.00 大括号展开是一项有用的特性,其作用是把 \verb+v{a,b}w+ 这样的转换为 \verb+vaw:vbw+,允许嵌套使用。通过把 \code{\$TEXMF} 赋值为一个括号列表, -可以构造出多套 \TeX{} 层级结构。例如在 \file{texmf.cnf} 里有下面的定义 +可以构造出多套 \TeX{} 层级结构。在分发的 \file{texmf.cnf} 里有下面的定义 (简化的例子): \begin{verbatim} TEXMF = {$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFDIST} @@ -1752,15 +1766,12 @@ Windows Registry Editor Version 5.00 %$ 的时候,检查完当前目录后,依次检查的路径是 \code{\$TEXMFVAR/tex}, \code{\$TEXMF/tex}, \code{\$TEXMFLOCAL/tex} -和 \code{\$TEXMF/tex} (后两个只在 \file{ls-R} 数据库中搜索)。这样维护 -两套并行的 \TeX{} 结构就很方便的,一套是``固定 (frozen)''的 (比如放在 \CD\ 上) -而另一套是在新版本出现时就更新的。因为所有的定义里都用到了 \code{\$TEXMF}, -所以你可以确信时常更新的那个版本肯定是先被找到的。 +和 \code{\$TEXMFDIST/tex} (后两个只在 \file{ls-R} 数据库中搜索)。 \subsubsection{子目录展开} \label{sec:subdirectory-expansion} -在路径元素里的目录名称 \var{d} 后面接连使用两个或更多连续的斜杠,表示 \var{d} 的 +在路径元素里的目录名称 \var{d} 后面接连使用两个或更多连续的斜杠,表示 \var{d\/} 的 所有子目录:首先是直接处于 \var{d} 下的那些,然后是这些子目录的子目录,依此类推。 每层的目录出现的顺序是\emph{不一定}的。 @@ -1771,35 +1782,42 @@ Windows Registry Editor Version 5.00 可以在单个路径元素里使用多个 \samp{//},但出现在路径开头的 \samp{//} 将被忽略。 -\subsubsection{特殊字符与其意义:简要说明} +\subsubsection{\file{texmf.cnf} 文件中的特殊字符简要说明} +\label{sec:cnf-special-chars} -下面的列表总结了 \KPS{} 配置文件中出现的特殊字符: +下面的列表总结了 \KPS{} 配置文件中出现的特殊字符和构成: % need a wider space for the item labels here. \newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} \begin{ttdescription} -\item[\CODE{:}] 路径分隔符,在路径的前边或者末尾时表示默认的展开方式。\par +\item[\CODE{:}] 路径分隔符,在路径的前边或者末尾,或者在中间重复出现时, +表示默认的展开方式。\par \item[\CODE{;}] 非 Unix 系统下的路径分隔符 (和 \code{:} 功能一样)。 \item[\CODE{\$}] 变量展开。 \item[\CODE{\string~}] 表示用户的个人主目录。 \item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{,}] 在路径展开时分隔项目。 \item[\CODE{//}] 子目录展开 (可以出现在除路径开头外的任意位置)。 \item[\CODE{\%}] 注释的起始。 -\item[\CODE{\bs}] 连接下一行的字符 (以支持跨行的设置项)。 +\item[\CODE{\bs}] 在行末连接下一行的字符,以支持跨行的设置项。 \item[\CODE{!!}] \emph{只}在数据库中搜索文件,\emph{不}搜寻磁盘。 \end{ttdescription} +具体哪一个字符会被视为特殊字符还是不会,取决于它使用的上下文。这些规则在配置文件 +的多层的解析过程中都会体现 (包括解析、展开、搜索,\ldots),所以不能简短地说明。 +也没有通用的转义方法,尤其 \samp{\bs} 不是 \file{texmf.cnf} 文件中的“转义字符”。 + +在选择安装使用的目录名时,避免使用这些字符里的任何一个最为保险。 \subsection{文件名数据库} \label{sec:filename-database} -\KPS{} 使用了一些方法来减少搜索时的磁盘访问次数。尽管如此,如果安装的文件足够多,在各 -个可能的目录下搜索某个文件仍然可能花上很长时间 (尤其是在必须遍历数百个字体目录的时候)。 -因此,\KPS{} 使用一个专门构建的纯文本``数据库''文件,这个文件叫做 \file{ls-R},它将 +\KPS{} 使用了一些方法来减少搜索时的磁盘访问次数。尽管如此,在 \TL{} 的标准安装, +或者安装的文件足够多,在各个可能的目录下搜索某个文件仍然可能花上很长时间。因此, +\KPS{} 使用一个专门构建的纯文本``数据库''文件,这个文件叫做 \file{ls-R},它将 文件和目录进行映射,避免对磁盘的大量搜索。 -第二个数据库 \file{aliases} 允许你给 \file{ls-R} 中的文件指定其他的名字。有助于 -帮助源文件符合 DOS 8.3 命名规范。 +第二个数据库 \file{aliases} 允许你给 \file{ls-R} 中的文件指定其他的名字。 \subsubsection{文件名数据库} \label{sec:ls-R} @@ -1850,7 +1868,7 @@ cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R 将查找的文件格式设置为 \ttvar{name}。默认情况下是通过文件名来猜测格式的。对于扩展名 有二义性的格式,比如 \MP{} 支持文件和 \cmdname{dvips} 配置文件,必须以 \KPS{} 已知 的名称指定格式,比如 \texttt{tex} 或 \texttt{enc files}。运行 - \texttt{kpsewhich -{}-help} 会显示格式的列表。 + \texttt{kpsewhich -{}-help-formats} 会显示格式的列表。 \item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ 设置模式为 \ttvar{string},只影响 \samp{gf} 和 \samp{pk} @@ -2123,9 +2141,41 @@ kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb \texttt{hash\_extra} 是 \texttt{50000}。 \end{ttdescription} -\noindent 当然,这项功能并非真正的动态内存和数组分配的替代,但考虑到动态分配在现在的 \TeX{} +\noindent 这项功能并非真正的动态内存和数组分配的替代,但考虑到动态分配在现在的 \TeX{} 太难实现,才通过这些选项提供了一些灵活性。 +\htmlanchor{texmfdotdir} +\subsection{\texttt{\$TEXMFDOTDIR}} +\label{sec:texmfdotdir} + +在上述许多地方,我们使用了多个以 \code{.} 起始的搜索路径,以优先搜索当前路径, +比如 +\begin{alltt}\small +TEXINPUTS=.;$TEXMF/tex// +\end{alltt} + +这是一种简化。我们在 \TL{} 分发的 \code{texmf.cnf} 文件使用的是 +\filename{$TEXMFDOTDIR} 而不是直接用 \samp{.},比如: +\begin{alltt}\small +TEXINPUTS=$TEXMFDOTDIR;$TEXMF/tex// +\end{alltt} + +(在分发的文件中,第二个路径元素也比 \filename{$TEXMF/tex//} 稍微复杂一点。但 +差别不大;而且我们这里讨论的是 \filename{$TEXMFDOTDIR} 功能。) + +在路径定义中使用 \filename{$TEXMFDOTDIR} 而不是直接用 \samp{.} 的原因是让它可以 +被重新定义。比如一份复杂的文档可能由来自多个子目录的源文件组成。要支持这种情况 +你可以把 \filename{TEXMFDOTDIR} 设置为 \filename{.//},这样这些子目录就都会被 +搜索到。(警告:不要默认使用 \filename{.//};这个做法一般不常用,而且搜索任意文档 +的所有子目录有可能不够安全。) + +另一个例子是你可能完全不希望搜索当前路径,比如你安排所有的文件都通过具体的路径 +找到。那样你可以把 \filename{$TEXMFDOTDIR} 设置为如 \filename{/nonesuch} 这样 +不存在的目录。 + +在我们的 \filename{texmf.cnf} 里设置的 \filename{$TEXMFDOTDIR} 的默认值就是 +\samp{.}。 + \section{致谢} \TL{} 是在几乎所有 \TeX{} 用户组织的协力下完成的。这个版本由 Karl Berry @@ -2136,10 +2186,11 @@ kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb \item 英国、德国、荷兰和波兰的 \TeX{} 用户组织 (分别为 TUG, DANTE e.V., NTG, 和 GUST),他们为所在 地区的 \TeX{} 社群提供了必备的技术和管理基础设施。请加入本地的 \TeX 用户组织! -(参见 \url{http://tug.org/usergroups.html}。) +(参见 \url{https://tug.org/usergroups.html}。) -\item CTAN 团队,值得一提的是 Robin Fairbairns 和 Rainer Sch\"opf。他们负 -责分发 \TL{} 光盘镜像,为软件包更新提供支撑,\TL{} 正是基于这些软件包构建的。 +\item CTAN 团队 (\url{https://ctan.org}),值得一提的是 Robin Fairbairns 和 +Rainer Sch\"opf。他们负责分发 \TL{} 光盘镜像,为软件包更新提供支撑,\TL{} 正是 +基于这些软件包构建的。 \item Nelson Beebe,他为 \TL\ 提供了许多平台,自己也进行了详尽的测试,并在参考 文献上有无与伦比的贡献。 @@ -2162,14 +2213,16 @@ Peter 在 2015 年 10 月去世,我们将持续工作以纪念他。 版本,年复一年。Eitan 于 2009 年 6 月过早地离开了我们,我们希望把这份文档 献给它,以志纪念。 -\item Hans Hagen,他对 \ConTeXt\ 宏包 (\url{http://pragma-ade.com}) 做了 -许多测试和修改,使之能够包含在 \TL{} 的框架下。 +\item Hans Hagen,他对 \ConTeXt\ 宏包 (\url{https://pragma-ade.com}) 做了 +许多测试和修改,使之能够包含在 \TL{} 的框架下,并持续推进 \TeX\ 的开发。 \item \Thanh, Martin Schr\"oder,和 pdf\TeX\ 团队,他们持续不断地改进 \TeX\ 的功能。 \item Hartmut Henkel,他对 pdf\TeX\, Lua\TeX 等程序的开发起到了重要的贡献。 +\item Shunshaku Hirata,起始开发和坚持维护 DVIPDFM$x$。 + \item Taco Hoekwater,他对 \MP{} 和 (Lua)\TeX\ (\url{http://luatex.org}) 重要的开发使之焕发新的活力。他还参与了将 \ConTeXt\ 融入 \TL{}、给 Kpathsea 添加多线程功能,等等许多工作。 @@ -2187,7 +2240,9 @@ Kpathsea 添加多线程功能,等等许多工作。 \item Jonathan Kew,他开发了非凡的 Xe\TeX{} 引擎并花了大量时间和精力集成到 \TL{} 中。以及 Mac\TeX 安装程序的早期版本,还有我们推荐的前端 \TeX{}works。 -\item Dick Koch 他维护了 Mac\TeX\ (\url{http://tug.org/mactex}) 这个和 +\item Hironori Kitagawa,对 p\TeX\ 和相关的支持进行了大量的工作。 + +\item Dick Koch,他维护了 Mac\TeX\ (\url{https://tug.org/mactex}) 这个和 \TL{} 联系非常紧密的发行版本。 \item Reinhard Kotucha,他对 \TL{} 2008 的基础架构和安装程序起到了重要贡献, @@ -2196,6 +2251,8 @@ Kpathsea 添加多线程功能,等等许多工作。 \item Siep Kroonenberg,也因为他对 \TL{} 2008 基础架构和安装程序的重要贡献, 尤其是在 Windows 上。他还花了大量的时间更新手册,介绍了这些特性。 +\item Clerk Ma,对引擎的 bug 修正和扩展。 + \item Mojca Miklavec, 为她在 \ConTeXt\ 上的工作、编译大量二进制文件和很多 其他的工作。 @@ -2203,6 +2260,9 @@ Kpathsea 添加多线程功能,等等许多工作。 巨大的 \pkgname{pst-geo} 数据文件使我们得以包含它们,最重要的还是因为他在 \pkgname{hyperref} 宏包上优秀的工作。 +\item Phelype Oleinik,对 2020 年在多个引擎上实现组分隔的 \cs{input} 命令,以及 +更多的工作。 + \item Petr Ol\v{s}ak,他非常认真地协调和检查所有的捷克语和斯洛伐克语资料。 \item Toshio Oshima,他提供了 Windows 下的 \cmdname{dviout} 预览工具。 @@ -2220,6 +2280,8 @@ Kpathsea 添加多线程功能,等等许多工作。 \item Luigi Scarso,他坚持开发 MetaPost, Lua\TeX 等等许多。 +\item Andreas Scherer,他开发了 \texttt{cwebbin},\TL{} 使用的 CWEB 实现。 + \item Tomasz Trzeciak,他为 Windows 开发提供了广泛的帮助。 \item Vladimir Volovich,他很大地帮助解决了许多移植和维护的问题,尤其是令我们能够 @@ -2235,6 +2297,10 @@ Kpathsea 添加多线程功能,等等许多工作。 \item Graham Williams,他是 \TeX\ Catalogue 的发起者。 +\item Joseph Wright,他为让多个引擎获得相同的 primitive 功能进行了大量的工作。 + +\item Hironobu Yamashita,对 p\TeX\ 和相关的支持进行了大量的工作。 + \end{itemize*} 二进制版本的编译者: @@ -2251,7 +2317,7 @@ Mojca Miklavec (\pkgname{i386-linux}, \pkgname{i386-solaris}, \pkgname{x86\_64-solaris}, \pkgname{sparc-solaris}), Norbert Preining (\pkgname{x86\_64-linux}). -关于 \TL{} 编译进程的信息,请查阅 \url{http://tug.org/texlive/build.html}。 +关于 \TL{} 编译进程的信息,请查阅 \url{https://tug.org/texlive/build.html}。 这份手册的翻译者: Denis Bitouzé \& Patrick Bideault (法语), @@ -2263,7 +2329,7 @@ Petr Sojka \& Jan Busa (捷克\slash 斯洛伐克语), Boris Veytsman (俄语), Zofia Walczak (波兰语), Uwe Ziegenhagen (德语)。\TL{} 文档的主页是 -\url{http://tug.org/texlive/doc.html}。 +\url{https://tug.org/texlive/doc.html}。 当然,最重要的感谢应该致予 Donald Knuth,感谢他发明了 \TeX,也感谢他将 \TeX\ 赠与全世界。 @@ -2276,7 +2342,7 @@ Uwe Ziegenhagen (德语)。\TL{} 文档的主页是 1993 年末荷兰 \TeX{} 用户组开始为 MS-DOS 用户开发 4All\TeX{} \CD{} 时, 我们就开始了相关的讨论,并希望在此时为所有的操作系统提供一个单一的、合理的 \CD{}。当时 那是一个过于宏伟的目标,但的确滋生了非常成功的 4All\TeX{} \CD{},同时 TUG -技术委员会工作组也开始设计 \emph{\TeX{} 目录结构} (\url{http://tug.org/tds}), +技术委员会工作组也开始设计 \emph{\TeX{} 目录结构} (\url{https://tug.org/tds}), 以指明如何创建一套一致而可控的集合,囊括所有 \TeX{} 相关的文件。\TDS{} 的完整草案在 1995 年 12 月的 \textsl{TUGboat} 上出版,并初步确定期望的产品将是在 \CD{} 上出现的范例 结构。你现在使用的这个发行版正是工作组审议的直接结果。4All\TeX{} \CD{} 的成功也说明 @@ -2295,8 +2361,9 @@ Uwe Ziegenhagen (德语)。\TL{} 文档的主页是 在第 5 版 (2000 年 3 月) 中检查并修正了 \CD{} 的许多部分,更新了数百个软件包。软件 包的详细说明现在存放在 XML 文件中。不过 \TeX\ Live 5 的首要变化还是移除了所有的非自由软 -件。\TL{} 的所有部分现在都在向 Debian Free Software Guidelines 兼容的方向改进, -我们尽最大努力检查了所有软件包的授权协议,欢迎为我们指出错误。 +件。\TL{} 的所有部分现在都在向 Debian Free Software Guidelines +(\url{https://debian.org/intro/free}) 兼容的方向改进,我们尽最大努力检查了所有软 +件包的授权协议,欢迎为我们指出错误。 第 6 版 (2001 年 7 月) 更新了许多内容。最重大的一项是新的安装形式,用户可以更精确 地选择所需的软件集合。与语言相关的集合也重新组织过了,这样一来,选定某个语言集合时会自 @@ -2350,7 +2417,7 @@ Uwe Ziegenhagen (德语)。\TL{} 文档的主页是 目录下搜索,根据 \envname{ENCFONTS} 变量中的路径设置。如果遇到有问题的文 件,\cmdname{updmap} 会提出警告。 -关于这种搜索方式的其他信息,请参见 \url{http://tug.org/texlive/mapenc.html}。 +关于这种搜索方式的其他信息,请参见 \url{https://tug.org/texlive/mapenc.html}。 \item 因为有人可能更愿意使用 \MIKTEX\ 而非 \Webc{} 系统,\TK\ 现在包含了一套基于 \MIKTEX\ 的可安装 \CD,参见第~\ref{sec:overview-tl}~节 @@ -2424,11 +2491,11 @@ plain \TeX\ (只将位置 32--126 的字符视为可见), \ConTeXt\ (0--255 都 \optname{-enc} 参数启用这一支持 \Dash \emph{前提是构建好了格式文件}。enc\TeX\ 提供了对输入输出通用的重新编码功能,实现对 Unicode (以 UTF-8 编码的形式) 的完整支持。参见 \OnCD{texmf-dist/doc/generic/enctex/} 和 -\url{http://www.olsak.net/enctex.html}。 +\url{http://olsak.net/enctex.html}。 \item 提供了 Aleph 这套新的 \TeX{} 引擎,它将 \eTeX\ 和 \OMEGA\ 合并到了一起。 关于 Aleph 的部分信息可以在 \OnCD{texmf-dist/doc/aleph/base} -和 \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} 找到。Aleph +和 \url{https://texfaq.org/FAQ-enginedev} 找到。Aleph 的 \LaTeX 格式文件称做 \textsf{lamed}。 \item 最新发布的 \LaTeX\ 包含了是新版的 LPPL 授权协议\Dash 这一协议已被 @@ -2436,12 +2503,12 @@ Debian 首肯。\LaTeX\ 其他的更新请见 \OnCD{texmf-dist/doc/latex/base} \filename{ltnews} 文件。 \item 包含了一个叫做 \cmdname{dvipng} 的新程序,用于将 DVI 转换为 -PNG 图像文件。参见 \url{http://www.ctan.org/pkg/dvipng}。 +PNG 图像文件。参见 \url{https://ctan.org/pkg/dvipng}。 \item 我们在作者 (Claudio Beccari) 的同意下,将 \pkgname{cbgreek} 包含的 字体数量减少到中等。去除了不可见、轮廓和透明版本的字体,这些字体几乎很少用到。而我们 的光盘镜像需要空间。完整版本当然还是在 CTAN 提供 -(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cbfonts})。 +(\url{https://ctan.org/pkg/cbgreek-complete})。 \item 去掉了 \cmdname{oxdvi},改为只使用 \cmdname{xdvi}。 @@ -2518,11 +2585,11 @@ latex --translate-file=empty.tcx yourfile.tex \subsubsection{2006--2007} 2006--2007 年,\TL{} 的一个重大变化是增加了 \XeTeX{},以 \texttt{xetex} 和 -\texttt{xelatex} 程序的形式提供。请参见 \url{http://scripts.sil.org/xetex}。 +\texttt{xelatex} 程序的形式提供。请参见 \url{https://scripts.sil.org/xetex}。 \MP{} 也有可观的更新,并计划在未来实现更多的改进 -(\url{http://tug.org/metapost/articles}),pdf\TeX{} 同样如此 -(\url{http://tug.org/applications/pdftex})。 +(\url{https://tug.org/metapost/articles}),pdf\TeX{} 同样如此 +(\url{https://tug.org/applications/pdftex})。 \TeX\ \filename{.fmt} (缓存格式) 文件和用于 MetaPost 和 \MF\ 的类似文件 现在存储在 \dirname{texmf/web2c} 的子目录中而不直接放在 \dirname{texmf/web2c} @@ -2536,14 +2603,14 @@ latex --translate-file=empty.tcx yourfile.tex 仍然读取 \texttt{\%\&} 开头的行。) 当然,和往常一样,这一年里你能看到成百上千的宏包与程序得到更新。也和往常一样, -进一步的更新请使用 CTAN (\url{http://mirror.ctan.org})。 +进一步的更新请使用 CTAN (\url{https://ctan.org})。 从内部角度上看,源代码树现在改为使用 Subversion 管理,并在我们的主页上提供了 到 Web 界面的链接,用于浏览代码树。我们希望它能成为未来几年中稳定的开发 平台。 末了,2006 年五月 Thomas Esser 宣布他将停止 te\TeX{} -(\url{http://tug.org/tetex}) 的更新。这样一来,大家对 \TL{} 的兴趣大增,尤其是在 +(\url{https://tug.org/tetex}) 的更新。这样一来,大家对 \TL{} 的兴趣大增,尤其是在 \GNU/Linux 发行版中。(\TL{} 提供了一套新的 \texttt{tetex} 安装方案, 几乎和原有的 te\TeX{} 毫无二致。) 我们希望这些变化将最终转换为对整个 \TeX\ 环境的改进,从而每个人都会受益。 @@ -2592,7 +2659,7 @@ bounding box 信息,这是 \cmdname{dvipdfm} 包含但未曾出现在 升级。 最终 Donald Knuth 在他的 `\TeX\ tuneup of 2008' 中的更新也被包含在这次 -发布中。参见 \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}。 +发布中。参见 \url{https://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}。 \subsubsection{2009} @@ -2607,18 +2674,18 @@ bounding box 信息,这是 \cmdname{dvipdfm} 包含但未曾出现在 包含了新版本的 AMS \TypeI\ 字体,包括 Computer Modern:其中部分字形 随 Knuth 多年以来修改的 MetaFont 源代码更新,hinting 信息也更新了。 Euler 字体也整个由 Hermann Zapf 重新绘制了一遍 (参见 -\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf})。 +\url{https://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf})。 不过上述变化并没有改变字体的 metrics 文件。AMS 字体的主页在 -\url{http://www.ams.org/tex/amsfonts.html}。 +\url{https://www.ams.org/tex/amsfonts.html}。 现在 Windows 和 Mac\TeX\ 都包含了新的 \GUI{} 前端 \TeX{}works。至于其他 -的平台和更多的信息,请参见 \TeX{}works 的主页,\url{http://tug.org/texworks}。 +的平台和更多的信息,请参见 \TeX{}works 的主页,\url{https://tug.org/texworks}。 设计这个跨平台前端的灵感来自于 \MacOSX\ 下的 TeXShop 编辑器,目标就是 易用。 在许多平台下包含了 Asymptote 图形程序,它实现了一套与 MetaPost 约略 相似的文本图形描述语言,但包含了先进的 3D 支持等其他特性。它的主页在 -\url{http://asymptote.sourceforge.net}。 +\url{https://asymptote.sourceforge.net}。 单独的 \code{dvipdfm} 程序已被 \code{dvipdfmx} 所替代,如果以 \code{dvipdfm} 这个名字调用的时候,后者会以一种特殊的兼容性模式运行。\code{dvipdfmx} @@ -2630,7 +2697,7 @@ Euler 字体也整个由 Hermann Zapf 重新绘制了一遍 (参见 另外这也是因为要编译出能在多种版本下都工作的二进制程序有些困难。 一些更不起眼的更新:我们现在使用 \pkgname{xz} 这套稳定的压缩方式来替代 -原有的 \pkgname{lzma} (\url{http://tukaani.org/xz/});在不和现有变量名 +原有的 \pkgname{lzma} (\url{https://tukaani.org/xz/});在不和现有变量名 冲突的情况下允许文件中使用 |$| 字符;Kpathsea 库现在支持多线程了 (其中 用到了 MetaPost);整个 \TL{} 的编译现在基于 Automake 了。 @@ -2650,7 +2717,7 @@ PDF,通过 \pkgname{epstopdf} 宏包。默认选项是为了避免覆盖任何 的 PDF 文件,但你也可以将 |\newcommand{\DoNotLoadEpstopdf}{}| (或 |\def...|) 放在 \cs{documentclass} 声明前以避免载入 \code{epstopdf}。 如果使用了 \pkgname{pst-pdf} 宏包,也不会载入它。要了解更多的细节,参 -见 \pkgname{epstopdf} 宏包的文档 (\url{http://ctan.org/pkg/epstopdf-pkg})。 +见 \pkgname{epstopdf} 宏包的文档 (\url{https://ctan.org/pkg/epstopdf-pkg})。 一个相关的变化是通过 \cs{write18} 特性从 \TeX\ 执行少量外部命令,现在 默认启用了。这些命令是 \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, @@ -2673,16 +2740,16 @@ PDF,通过 \pkgname{epstopdf} 宏包。默认选项是为了避免覆盖任何 包含了这些新的程序:用于排版日文的 p\TeX\ 引擎和相关实用工具;支持了 Unicode \BibTeX\ 的 \BibTeX{}U 程序;\prog{chktex} 实用工具 -(\url{http://baruch.ev-en.org/proj/chktex}) +(\url{https://baruch.ev-en.org/proj/chktex}) 用来检查 \AllTeX\ 文档;\prog{dvisvgm} -(\url{http://dvisvgm.sourceforge.net}) 是 DVI 到 SVG 格式转换器。 +(\url{https://dvisvgm.de}) 是 DVI 到 SVG 格式转换器。 现在包含了这些新平台的可执行文件:\code{amd64-freebsd}, \code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, \code{x86\_64-darwin}, \code{x86\_64-solaris}。 我们忘记注明的一个 \TL{} 2009 的修改是:许多 \TeX4ht 相关的可执行文件 -(\url{http://tug.org/tex4ht}) 被从二进制目录删除了。通用的 \code{mk4ht} +(\url{https://tug.org/tex4ht}) 被从二进制目录删除了。通用的 \code{mk4ht} 程序可以用来运行这些 \code{tex4ht} 组合的任意一种。 最后,\TK\ \DVD\ 上的 \TL{} 发行不能再直接执行了 (听起来很奇怪)。 @@ -2767,7 +2834,7 @@ Lua\TeX: 升级到 Lua 5.2,包含一个新的库 (\code{pdfscanner}) 来处理 \cmdname{tlmgr}: 新的 \code{pinning} 操作以方便配置多个仓库;参见 \verb|tlmgr --help| 的对应章节,或者在线的 -\url{http://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES}。 +\url{https://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES}。 平台: \pkgname{armhf-linux}, \pkgname{mips-irix}, \pkgname{i386-netbsd}, 和 \pkgname{amd64-netbsd} 被重新加入;\pkgname{powerpc-aix} 被去除。 @@ -2784,10 +2851,10 @@ pdf\TeX: 新的警告忽略参数 \cs{pdfsuppresswarningpagegroup};用来制 \cs{pdffakespace},它们可以帮助 PDF 文本重新排版 (reflowing), Lua\TeX: 对于字体载入和断字 (hyphenation) 有明显的变化和修正。最大的增加时一个新 -的引擎,\code{luajittex} (\url{http://foundry.supelec.fr/projects/luajittex}) 和 -它的相关变体 \code{texluajit} 和 \code{texluajitc}。它使用的是一个即时编译的 Lua -编译器 (在 \textsl{TUGboat} 文章 \url{http://tug.org/TUGboat/tb34-1/tb106scarso.pdf} 有详 -细介绍)。\code{luajittex} 还在开发中,所以并没有在所有平台提供,也比 \code{luatex} +的引擎,\code{luajittex} 和它的相关变体 \code{texluajit} 和 \code{texluajitc}。 +它使用的是一个即时编译的 Lua 编译器 (在 \textsl{TUGboat} 文章 +\url{https://tug.org/TUGboat/tb34-1/tb106scarso.pdf} 有详细介绍)。\code{luajittex} +还在开发中,所以并没有在所有平台提供,也比 \code{luatex} 要不稳定许多。我们及其作者都不建议使用它,除非为了试验 Lua 代码的即时编译 (JIT) 这样特殊的目的。 @@ -2854,14 +2921,14 @@ suitcase 格式 (通常没有扩展名);data-fork suitcase (\code{.dfont}) 仍 平台:\pkgname{*-kfreebsd} 被去除了,因为 \TeX\ Live 现在在这个平台下通过系统自 带的安装方式已经很容易获取了。 -部分额外平台提供了定制二进制包 (\url{http://tug.org/texlive/custom-bin.html})。 +部分额外平台提供了定制二进制包 (\url{https://tug.org/texlive/custom-bin.html})。 此外,为节省空间部分平台现在没有在 \DVD\ 中提供,但可以通过网络安装。 \subsubsection{2016} Lua\TeX: 原生命令有大量改变,包括重命名和去除,还有一些节点结构的重整。这些修改 在 Han Hagen 的“Lua\TeX\ 0.90 对于 PDF 的后端改变及更多” -(\url{http://tug.org/TUGboat/tb37-1/tb115hagen-pdf.pdf}) 一文中有详细的总结。如 +(\url{https://tug.org/TUGboat/tb37-1/tb115hagen-pdf.pdf}) 一文中有详细的总结。如 果要了解更多细节,参见 Lua\TeX\ 手册, \OnCD{texmf-dist/doc/luatex/base/luatex.pdf}。 @@ -2905,8 +2972,8 @@ Utility 里提供了;更新了捆绑的 GUI 应用;给需要在 Ghostscript 字体的用户提供了新的 \code{cjk-gs-integrate} 脚本。 基础架构:支持系统级别的 \code{tlmgr} 配置文件;校验包的完整性;如果有 GPG 还会 -校验网络更新的签名。安装程序和 \code{tlmgr} 都会作这些检查。 -(如果没有 GPG 则跳过这一步。) +校验网络更新的签名。安装程序和 \code{tlmgr} 都会作这些检查。如果没有 GPG 则跳过 +这一步。 平台:\code{alpha-linux} 和 \code{mipsel-linux} 被移除了。 @@ -2946,7 +3013,7 @@ El~Capitan, 和 Sierra (10.10 及以后的)。给更老版本的 \MacOSX\ (\code{updmap-sys}, \code{fmtutil-sys}, 或者 \code{-sys} 选项),还是用 户模式 (\code{updmap-user}, \code{fmtutil-user}, 或者 \code{-user} 选项) 的时候会给出警告。这是为了减少常见的不小心启用用户模式而导致系统更新无法 -生效。细节请参见 \url{http://tug.org/texlive/scripts-sys-user.html}。 +生效。细节请参见 \url{https://tug.org/texlive/scripts-sys-user.html}。 \code{install-tl}: Mac 下的个人路径,比如 \envname{TEXMFHOME},现在默认设置为和 Mac\TeX\ 一样的 (|~/Library/...|)。增加了新选项 \code{-init-from-profile} @@ -2968,13 +3035,13 @@ Sync\TeX: 临时文件的名字现在被改为了 \code{foo.synctex(busy)},而 Kpathsea: 对于非系统目录缺省进行大小写不敏感的文件名匹配;可以通过设置 \code{texmf.cnf} 或者将 \code{texmf\_casefold\_search} 环境变量设置为~\code{0} -来禁用。详细信息见 Kpathsea 手册 (\url{http://tug.org/kpathsea})。 +来禁用。详细信息见 Kpathsea 手册 (\url{https://tug.org/kpathsea})。 ep\TeX, eup\TeX: 新的原语 \cs{epTeXversion}。 Lua\TeX: 准备在 2019 年升级到 Lua 5.3: 大部分平台下都提供了一个 \code{luatex53} 程序,但必须被改名为 \code{luatex} 才能使用。或者使用 -\ConTeXt\ Garden (\url{http://wiki.contextgarden.net}) 的文件;那里有 +\ConTeXt\ Garden (\url{https://wiki.contextgarden.net}) 的文件;那里有 更多的信息。 MetaPost: 对错误的路径方向、TFM 和 PNG 输出的修正。 @@ -3009,9 +3076,7 @@ Mac\TeX: 参见下面关于 macOS 版本支持的变化。除此之外,Mac\TeX \item Windows: 不再支持 XP。 \end{itemize*} -\htmlanchor{news} -\subsection{当前版本:2019} -\label{sec:tlcurrent} +\subsection{2019} Kpathsea: 更一致的括号展开和路径拆分;用来替代 \code{.} 的 \code{TEXMFDOTDIR} 新变量,以方便子目录搜索 (见 \code{texmf.cnf} 中的注释)。 @@ -3066,17 +3131,75 @@ High Sierra, Mojave);\code{x86\_64-darwinlegacy} 仍然支持 10.6 或更新 平台支持:去除了 \code{sparc-solaris}。 +\htmlanchor{news} +\subsection{当前版本:2020} +\label{sec:tlcurrent} + +通用的更新: \begin{itemize} +\item 所有 \TeX\ 引擎,包括 \texttt{tex} 的 \cs{input} 原语,现在都支持以组分隔 +的文件名参数,作为跟系统有关的扩展。标准的用空格或者标识符分隔的文件名的使用完全 +不受影响。按组分隔的参数一开始是 Lua\TeX\ 先实现的;现在它被推广到所有的引擎中了。 +ASCII 双引号字符 (\texttt{"}) 一开始会被从文件名中去掉,但在输入后不变。这个改变 +目前不会影响 \LaTeX{} 的 \cs{input} 命令,因为那是对标准 \cs{input} 原语重新定义 +的宏。 + +\item \texttt{kpsewhich}、\texttt{tex}、\texttt{mf} 以及所有其他引擎的的 +新选项 \texttt{--cnf-line}, \texttt{tex},以支持通过命令行指定任意配置文件。 + +\item 今年和往年对多个引擎添加的许多原语是为了让所有引擎都拥有一系列共通的功能 +(见 \textsl{\LaTeX\ News \#31}, \url{https://latex-project.org/news})。 + +\end{itemize} + +ep\TeX, eup\TeX: 新的原语 \cs{Uchar}, \cs{Ucharcat}, +\cs{current(x)spacingmode}, \cs{ifincsname};更新 \cs{fontchar??} 和 +\cs{iffontchar}。只针对 eup\TeX{} 的:\cs{currentcjktoken}。 + +Lua\TeX: 与 HarfBuzz 库的集成,作为新引擎 \texttt{luahbtex} (被用于 +\texttt{lualatex}) 和 \texttt{luajithbtex} 提供。新的原语: +\cs{eTeXgluestretchorder}, \cs{eTeXglueshrinkorder}。 + +pdf\TeX: 新的原语 \cs{pdfmajorversion};这个命令只改变 PDF 输出的版本号;它对 +任何 PDF 内容没有影响。\cs{pdfximage} 等类似命令现在以和 \cs{openin} 相同的方式 +来搜索图像文件了。 + +p\TeX: 新的 \cs{ifjfont}, \cs{iftfont} 原语,它们也包含在 ep\TeX, +up\TeX, eup\TeX\ 里。 + +Xe\TeX: 对 \cs{Umathchardef}, \cs{XeTeXinterchartoks}, \cs{pdfsavepos} 的修正。 + +Dvips: 位图字体的输出编码,以更好的支持复制粘贴 +(\url{https://tug.org/TUGboat/tb40-2/tb125rokicki-type3search.pdf})。 + +Mac\TeX: Mac\TeX\ 和 \texttt{x86\_64-darwin} 现在需要 10.13 或者更新的系统 +(High~Sierra, Mojave, 和 Catalina); +\texttt{x86\_64-darwinlegacy} 支持 10.6 和更新的系统。Mac\TeX\ 已经被公证 +(notarized) 命令行程序使用强化的运行时环境,因为 Apple 现在要求安装包必须提 +供这些。BibDesk 和 \TeX\ Live Utility 不再是 Mac\TeX\ 的一部分,因为它们没有 +被公证,但提供的 \filename{README} 文件里列出了获取它们的链接。 + +\code{tlmgr} 和基础架构: \begin{itemize*} +\item 在软件包无法现在时,自动重试一次。 +\item 新选项 \texttt{tlmgr check texmfdbs}, 用来检查每个目录树 \texttt{ls-R} 文件和 +\texttt{!!} 配置的一致性。 +\item 软件包容器使用带版本号的文件名,比如 +\texttt{tlnet/archive/\textsl{pkgname}.rNNN.tar.xz};对用户应该没有影响,但对于 +分发来说会是一个明显的改变。 +\item \texttt{catalogue-date} 信息不在从 \TeX~Catalogue 获得了,因为它通常和软件 +包更新没有关系。 +\end{itemize*} + \subsection{未来} \TL{} 并不完美,也永远不会达到完美。我们希望继续发行新的版本,也希望提供 更多的帮助文档、更多的实用程序、更多的安装程序,当然还有更多更新的宏包与 字体,以及其他一切和 \TeX\ 有关的东西。这个工作是由志愿者在其空闲时间完成的, -所以总有更多值得做的地方。请参见 \url{http://tug.org/texlive/contribute.html}。 +所以总有更多值得做的地方。请参见 \url{https://tug.org/texlive/contribute.html}。 请把更正、建议或者提供帮助的意愿发送到: \begin{quote} \email{tex-live@tug.org} \\ -\url{http://tug.org/texlive} +\url{https://tug.org/texlive} \end{quote} \medskip @@ -3110,6 +3233,6 @@ Helin Gai 翻译。其中 Jinsong Zhao 负责 Windows 部分的翻译,Yue Wang 2009 年的简体中文版本由 Jiang Jiang 和 Jinsong Zhao 翻译。 -2010 到 2019 年的简体中文版本都由 Jiang Jiang 翻译。 +2010 到 2020 年的简体中文版本都由 Jiang Jiang 翻译。 \end{document} -- cgit v1.2.3