![跨平台软件包管理器,用于 CTAN 上不存在的软件包](https://linux22.com/image/265913/%E8%B7%A8%E5%B9%B3%E5%8F%B0%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%EF%BC%8C%E7%94%A8%E4%BA%8E%20CTAN%20%E4%B8%8A%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%20.png)
我不想重新发明轮子,所以也许您可以帮我找到适合我需要的工具。
背景
据我所知,在 CTAN 上发布 LaTeX 包需要一些时间。有些人(包括我)在 Github 等上开发包。因此,如果有一个工具(就像apt-get
或tmgr
)可以在 CTAN 之外管理 LaTeX 包,那就太好了。
要求
- 跨平台该工具应在所有主流操作系统上运行,并应与 TeXLive 和 MiKTeX 兼容。
- Github 支持从 Github / Sourceforge / Google Code 等服务下载并更新 LaTeX 包。
- 命令行界面应该有选择更新所有已安装的软件包或安装来自给定 URL 的包
答案1
要培养这样的经理最大的问题是:如何从任意布局(由作者创建)自动转换为 TDS(TeX 目录标准)布局。
我们从 CTAN 拉取到 TeX Live 时使用了一个部分解决方案,这是一个名为 的脚本,ctan2tds
它了解很多不同的包以及如何将它们转换为 TDS 布局。如果没有指定任何特殊内容,它甚至还有一个自动模式。这种自动模式对于简单的包来说非常有效,但对于稍微复杂的包则不行。
现在对于超级 tlmgr:有几个问题需要克服:
- 包含/扩展 ctan2tds:这可能是最简单的部分
- 教导超级 tlmgr 如何访问各种来源(git、svn、zip、tar.gz、平面文件……)
- 使其独立于平台(祝你好运!我知道在 Windows 上这有多难)
话虽如此,这并非不可能。我设想一个 tlmgr 扩展,它包含 ctan2tds 代码库,此外还有用户模式补丁,以便可以安装到任意树中。超级 tlmgr 将从任何来源下载包,尝试在其中运行 ctan2tds 代码,并将其放入临时 TDS 文件夹中,并向用户显示结果,提供安装或删除。
当然,在这种情况下,版本检查、升级等可能会有问题。
最后一件事:我不认为我永远没有时间去做这件事。还有一件事,即 ctan2tds 代码需要重新设计和精简...