![为什么某个软件包在 CTAN 上列出但在 Tex Live 上不可用?](https://linux22.com/image/292799/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9F%90%E4%B8%AA%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%9C%A8%20CTAN%20%E4%B8%8A%E5%88%97%E5%87%BA%E4%BD%86%E5%9C%A8%20Tex%20Live%20%E4%B8%8A%E4%B8%8D%E5%8F%AF%E7%94%A8%EF%BC%9F.png)
这里有一个艾伦·芒恩 (Alan Munn) 的评论在所有 CTAN 镜像多久更新一次 TeX Live Utility 以检测更改?
除了 [冻结期] 期间以外,(即大多数时间)TeXLive 对软件包(非二进制文件)的更新在上传到 CTAN 后一天左右即可获得。
我在今年早些时候向 CTAN 提交了我的第一个包,并且提交成功:http://www.ctan.org/tex-archive/macros/latex/contrib/matlab-prettifier。我最后一次更新该软件包是在 2014 年 4 月底。
然而,直到今天,我从未看到我的软件包被列为 Tex Live 2013 的一部分:TeX Live Utility(我在 Mac OS X 上)从未将其列在“软件包”选项卡下。我现在已经安装并切换到 Tex Live 2014,但我的软件包也没有列在其中。
在我打扰 CTAN 或 TeX Live 人员之前,我想听听你们对此的看法。我的软件包在 Tex Live 2014 中缺失是否与年度冻结期有关?我做错了什么?在什么情况下软件包会在 CTAN 网站上列出但在 Tex Live 中不可用?
更新:matlab-prettifier
现在可在 TeX Live 2014 中使用。
答案1
TeX Live 软件包的条件可在此页面找到: TeX Live 软件包贡献
我将引用部分页面来讨论这些情况。
免责声明:我是不是TeX Live 团队的一部分。这只是我了解许可条件的方式,我的解释可能不正确。
有问题可以在 TeX Live 邮件列表 ( texlive
at tug
dot org
) 中询问,请参阅TeX Live 邮件列表。
1.a)首先,软件包必须是自由软件,例如,根据 LaTeX 项目公共许可证或 GNU 通用公共许可证提供。请在软件包的源代码、README 和/或其他文档中明确说明许可证。这些许可证(和其他许可证)包含如何将它们应用于您的代码的说明。
matlab-prettifier
根据 LPPL 1.3 或任何更高版本获得许可。
2.a)软件包本身必须有用,或者与自由软件结合使用时有用。换句话说,我们不会安装仅用于支持非自由软件的软件包,即使它本身是自由的(例如,LPPL 宏支持专有字体)。这对自由软件世界没有帮助,而且无论如何都会被自由发行版拒绝。
有问题,因为据我所知 MATLAB 是一种商业软件,其唯一目的
matlab-prettifier
是 MATLAB 语言。
TeX Live 有一个条件,即软件包必须在完全由自由软件组成并使用自由软件的系统上有用。这个条件使 TeX Live 与 MiKTeX 有所不同。这是 TeX Live 维护者做出的简洁决定,他们不想将业余时间花在商业软件上。
但是,据我所知,如果软件包对免费软件也有用,那么 TeX Live 是可以接受的。有一些免费的备择方案到 MATLAB:GNU Octave、FreeLab、...如果它们中至少有一些也支持 MATLAB 语言(或多或少),或者该软件包还可以支持免费替代品,那么红叉可能会变成绿色复选标记。
2.b)我们强烈建议使用现有许可证;自行设计许可证肯定会延迟 TeX Live 的收录。我们还强烈建议在任何许可证中使用“或任何后续版本”条款。TeX Live 的许可条件更详细地说明了什么是可以接受的,什么是不可以接受的。
LPPL 1.3 或任何更高版本。
3.任何生成的文档文件(例如 pdf)的源代码也必须可用,以便生成的文档可以包含在 TeX Live 中。我们不会拒绝安装软件包本身,但我们必须避免在没有源代码的情况下安装生成的文档。自由文档与自由软件一样重要。
该文件提供了包和文档的来源
.dtx
。
4.如果您尚未将软件包上传到 CTAN,请上传。几乎所有 TL 软件包都来自 CTAN,这是迄今为止我们更新软件包最方便的地方。总的来说,CTAN 尽可能全面是一件好事。
CTAN 位置:CTAN:宏/latex/contrib/matlab-prettifier/
5.任何文件名中都不能使用 @ 字符。我们的工具无法处理这个问题,而且由于避免这个问题很容易,我们宁愿不花时间处理这个问题。
matlab-prettifier
不包含@
。使用-
就可以了。
6.软件包不应产生任何新的运行时文件名冲突(这种可能性);换句话说,所有名称都应合理地保持唯一;使用软件包名称作为前缀通常效果很好。除了 TeX 树中的冲突之外,新的可执行文件的名称也应合理地具有独特性,而不仅仅是在 TeX 世界中——大多数可执行文件最终将作为操作系统分发的一部分安装在系统范围的目录中。
唯一的运行时文件
matlab-prettifier.sty
不会与 TeX Live 中的任何其他文件冲突。
概括:
- 大多数情况都会毫无疑问地过去。
- 如果是 2.a),我会在 TeX Live 邮件列表中询问。如果该软件包可以显示其对免费软件的实用性,那将会有所帮助。
- 该包可能被忽视了,这也是在 TeX Live 邮件列表中询问的一个原因。