[LaTeX 发行版] 2018年,为什么不推荐使用 CTeX 套装了

本文已加入专栏文章目录,归入「发行版与编辑器」文章系列。


前面的话:

  • 围绕文章标题,本文的正文部分写了「为什么」的主体部分,尾注部分尝试列举一些支持正文的论据,其他资料部分是延伸阅读。
  • 本文的侧重点不是「不推荐 a,那么推荐什么,以及怎么用」,而是「为什么不推荐」,故而不包含有关「如何安装 TeX Live 发行版」的内容。从这个角度看,本文是不够实用的。
  • 本文没有明说而确实想表达的意思是,如果是新用户,就别安装 CTeX 套装了,哪怕有周围人的推荐,也别装了。如果是老用户,可以视情况而定,迁移成本并不高。

什么是 CTeX 套装?

见知乎专栏文章 我自己使用的中文 LaTeX 名词规约


在 2018 年看,CTeX 套装有以下问题:

  • 有 bug:
    在一定条件下,CTeX 套装在安装时会抹掉系统环境变量,造成一定损失。[注 1-2]
  • 涉嫌侵犯版权:
    编辑器 WinEdt 是商业付费软件,试用期 30 天。CTeX 套装将 WinEdt 打包进来、并让用户在未获得软件授权的情况下长期免费使用 WinEdt,涉嫌侵犯该软件的版权。[注 3]
  • 版本落后:
    CTeX 套装的「最新版本」发布于 2012 年 3 月 [注 4]。6 年多以来,套装中包含的各部分内容,都有了不同程度的升级。目前推荐的中文支持方式也是在 2012 年之后才稳定的 [注 5]。除了新增的功能用不上、已经修复的 bug 避免不了,还可能遇到
    • 提问不易收到回答(因为社区活跃用户中 CTeX 套装的比例极低,帮忙解答时复现问题的成本高),
    • 与 CTeX 套装有关的正确有效的网络资源少(英文资源几乎为零),等等弊端。

版本落后导致的一则具体问题,可以见本专栏文章《[LaTeX 发行版] 2019 年,不用 CTEX 套装的新理由》。

其他还有一些(可以克服的)小问题,比如

  • WinEdt 创建的 tex 文件,默认编码不是 UTF8,这增加了新用户的配置成本。
  • CTeX 套装包含编辑器 WinEdt ,用户可能误以为 LaTeX 等同于 WinEdt,而
    • 忽视了学习「在命令行使用 LaTeX」(这部分知识,在进行某些错误调试时是必要的),
    • 固化了界面和操作习惯,增加了接触和使用其他编辑器、其他 LaTeX 发行版的成本

同时,CTeX 套装仍然具有以下优势:

  • 易搜得,直接挂在 ctex.org 网站;
  • 易安装,安装过程不出现终端、一键装好发行版和编辑器;
  • 易使用,装完就有不错的编辑器 WinEdt 可用,编译时缺的宏包能自动安装(自动安装功能可能因为电脑管家和网络状况而失效);
  • 体积小,在完整版安装版之外还提供了基础版。

其他的特点还包括:

  • 出现早、维护时间长 [注 6],积累了较大规模的的用户 [注 7]。

那么,现在推荐安装什么发行版呢?

  • TeX Live
  • MiKTeX(CTeX 套装是 MiKTeX 的重新打包,宏包自动安装的功能也继承于它)

这两者都是跨 Windows、*nix 和 macOS 平台的。其他所有的发行版都是基于 TeX Live 或 MiKTeX 的,与原发行版的主要差异在于默认安装的组件数量、自带的编辑器等,在命令行下的使用和配置方式与原发行版保持一致。这些衍生的发行版有

  • MacTeX(TeX Live 在 macOS 的重新打包,相当于 TeX Live 的完整安装)
  • BasicTeX(TeX Live 在 macOS 的重新打包,与 TeX Live 的最小安装相似)
  • 基于 TeX Live 的 TinyTeX,保持跨平台特性,为编程语言 R 的用户特别定制
  • 基于 MiKTeX 的 proTeXt,相当于完整安装版的 MiKTeX,简化了安装,仅支持 Windows
  • 基于 MiKTeX 的 CTeX 套装,宏包自动安装功能就继承自 MikTeX

继续阅读


尾注

[1] 见 ctex.org 网站 下载页面 顶端的第二段红字提示:

有用户反映,安装程序在某些情况下可能覆盖 path 环境变量,原因不明。请在安装前注意备份 path 环境变量。

[2] 见托管在 GitHub 的 CTeX 套装项目中,关于环境变量被覆盖的 issue,issue 的回复中提及了「在被覆盖后而系统重启前,找回环境变量的方法」。

[3] 参考知乎文章《讲两个关于 CTeX 套装的消息》,

第二个。

Harry 问 Alex(WinEdt 的作者)要到了许可。这样一来,随 CTeX 套装发布 WinEdt 就变成合法行为了(而不是以前的盗版行为)。

关于将 30 天试用期「变成」长期免费使用是否侵权,可见知乎的相关讨论,如 CTeX 是盗版软件吗?- 知乎问题

另外,长期使用 CTeX 套装中自带的 WinEdt 时,也会(每隔一段时间)发现提示未授权的弹窗。

[4] 2016 年时,出现过一个仍在跳票中的 CTeX 套装更新计划,见 @孟晨 的知乎文章 讲两个关于 CTeX 套装的消息【CTeX 套装】暂拟常用宏包列表

至今,ctex.org下载页面 顶端,还保留着关于这个更新计划的(红字)介绍:

新版 CTeX 套装即将发布,敬请期待!新版 CTeX 套装将由 Harry Chen 和 Liam Huang 接手负责开发,预计发布时间在 4 月份之前。新版本配置更合理,对新手更友好。此外由于变动较大,新版 CTeX 套装无法从旧版本直接升级。因此不着急的用户,特别是新手用户,建议等候新版本。

[5] 2015 年 5 月,经过长期准备,为不同中文支持方式提供统一使用接口的宏包集 ctex 发布了一次不向前兼容的大更新。这次更新的具体内容,除了通过阅读 ctex 宏包集文档的「版本历史」一节详细了解,还可以从以下知乎页面了解大致情况:

[6] 根据 ctex.org 网站上 CTeX 套装更新记录页面的内容,最初的版本发布于 2000 年 10 月。作为比较,现在主流的发型版 TeX Live 形成于 1996 年,MiKTeX 形成于 2000-2001 年。

[7] 用户基数大,意味着 LaTeX 新手容易因身边人的推荐而安装它。这也是为什么在停止更新 6 年多的 2018 年 9 月,仍值得写一篇文章来劝阻安装和使用它。

另一方面,从用户社区的问答中可以观察到,一些 CTeX 套装的老用户,其 LaTeX 的使用水平尚有很大进步空间,少数用户一直在以不推荐、甚至绝对错误的方式编写 tex 文件。这里有必要给新用户提个醒:你身边的老用户,不一定比网线另一端的老用户,更熟练、更专业;看「独家祖传文档」,不如看更方便获取的、更正式的文档。


其他资料

[1] CTeX 套装如何排版中文? - 孟晨的回答

[2] 为什么 CTeX 好久没有更新? - 孟晨的回答
介绍了 CTeX 套装的历史和当时的价值,介绍了新的中文支持方式,梳理了两者(及其对应用户群)的关系。注意到,这个知乎回答是 2014 年 1 月添加的。4 年以来,新的中文支持方式已更为成熟。

编辑于 03-13