在 texlive 的软件包更新中,为什么有些软件包被删除并重新安装,而其他软件包却被更新了?

在 texlive 的软件包更新中,为什么有些软件包被删除并重新安装,而其他软件包却被更新了?

今天我使用命令tlmgr update --self && tlmgr update --all更新texlive2021中的包,然后发现以下输出。

[  1/355] auto-remove: gatech-thesis ... done
[  2/355] auto-remove: IEEEtran ... done
[  3/355] auto-remove: Tabbing ... done
[  4/355] auto-remove: HA-prosper ... done
[  5/355] auto-remove: Type1fonts ... done
[  6/355] auto-remove: Asana-Math ... done
[  7/355] auto-remove: SIstyle ... done
[  8/355] auto-remove: SIunits ... done
[  9/355] auto-remove: MemoirChapStyles ... done
[ 10/355] auto-remove: GS1 ... done
[ 11/355] auto-remove: IEEEconf ... done
[ 12/355] auto-remove: ESIEEcv ... done
[ 13/355] auto-remove: kdpbook ... done
[ 14/355, ??:??/??:??] update: aalok [211k] (59300 -> 59602) ... done
[ 15/355, 00:03/02:29:35] update: acmart [3576k] (59294 -> 60372) ... done
...
[171/355, 11:45/23:20] update: orcidlink [176k] (58432 -> 59560) ... done
...
[290/355, 19:21/20:00] auto-install: ieeeconf (59665) [188k] ... done
[291/355, 19:22/20:01] auto-install: ieeetran (59672) [564k] ... done
...

看到第二行的时候我很惊讶为什么IEEEtran被删除了,更新之后发现IEEEtran又被安装了,发现有些包比如IEEEtran被删除了然后又安装了,有些包比如orcidlink被直接更新了。

  1. 我想知道为什么有些包可以直接更新,而有些包可以在安装之前删除。
  2. 我只测试了 IEEEtran.cls 文件,发现更新前后哈希值没有变化,说明文件没有变化。那么为什么要删除并重新安装 IEEEtran 包呢?

答案1

6 月份,TeX live 维护人员将一些 TeX live 包名称从混合大小写改为全部小写(至少有时是为了更紧密地匹配 CTAN 名称)。

假设 TeX live 基础结构区分大小写,因此 的IEEEconf名称与 不同 ieeeconf。这意味着首先删除名称中带有大写字母的旧软件包,然后安装名称中只有小写字母的新软件包。您尚未发布完整日志,但IEEEconf/ieeeconfIEEEtran/肯定是这种情况ieeetran。我预计这也适用于大多数其他已删除的软件包:该列表中除两个之外的所有软件包的名称中至少有一个大写字母。

我找不到关于改名活动的官方公告,但有提到https://tug.org/pipermail/tex-live/2021-June/047139.html你可以在https://tug.org/pipermail/tex-live-commits/2021-June/date.html(搜索->)。

在大多数情况下,重命名不会与 CTAN 上传的更新版本同时发生,因此这纯粹是包装上的变化,包装的内容将保持不变。


值得注意的是,TeX live 包名称(日志中显示的名称tlmgr)不必与 LaTeX 包名称( 中的\usepackage或 中文档类的名称\documentclass)一致。 例如,即使 TeX live 包从 重命名为,更新后IEEEtran.cls仍会调用IEEEtran.cls并使用。 TeX live 更改仅影响 TeX live 包名称,而不影响文件名称或其内容(因此也不影响 LaTeX 方面的包名称)。\documentclass{IEEEtran}IEEEtranieeetran


通常大多数软件包都是通过正常update途径更新的。所以我想这种效果你不会经常看到。

相关内容