我准备将我的第一个包上传到 CTAN。但在阅读了 CTAN 和 TeXLive 的所有上传指南后,我仍然对目录结构感到畏惧。我的包相当复杂,目前包含 160 多个文件,当包成熟时,文件数量会更多(例如,包使用了许多小型 pdf 文件,以及重新创建它们的源代码)。
所以我远不能在一个目录中生成包含四五个文件的包。
如此大量的文件和不断变化的软件包内容是否会给 CTAN(以及后续发行版)带来特殊问题?上传和维护如此大型软件包的最佳实践是否已记录在案?
详细信息:该包状况良好,一些测试人员从 Github 获取了它并使其运行顺利。
如果你想看一看:该包位于https://github.com/openlilylib/lilyglyphs
编辑
现在我正在尝试了解 TDS 以及如何准备 lilyglyphs.tds.zip 文件。
我是否正确:
a) 提供我自己会使用的目录,并且当有人从 CTAN 下载时,她会将完整的目录放在texmf/tex/latex/lilyglyphs
b)下tds.zip
,以便发行版将我的文件放在其发行版中的正确位置(即,文件存储在不同的位置)
?
如果这是真的,我仍然对我的一些文件应该放在哪里有一些疑问,但在尝试解决 tds 文档之后,我会回过头来解决这个问题。
答案1
好的,现在我的包裹已经到账加拿大运输安全局并在 TeXLive 中,所以我可以自己回答这个问题(它与评论中提到的问题不同)。
- 如果包的运行需要大量文件,那么包中包含大量文件并不是什么问题。
- 无需提供 TDS.zip。
相反,如果您不知道,强烈建议不要提供确切地你在做什么。 - CTAN 和发行版维护人员有实用的工具来处理您的软件包,只要他们知道如何处理什么。
- 为此,您至少应该提供一个 README(或专用的附加 README 文件),以向维护人员清楚地展示所有内容的作用。
- 使用有意义的子目录名称
这是总体思路。另外,我将给出一些关于我在软件包中遇到的具体文件类型的提示:
- 如果您必须提供字体(并且拥有重新分发它们的许可),请将它们放在专用目录中,并附上适当的许可信息。
- 我被建议把所有需要被 LaTeX 看到的东西放到一个专门的
tex
目录中。在我的例子中,这个目录包含了.sty
文件、输入文件和大量的.pdf
文件。用过的通过软件包的命令。如果您有 pdf 文件,则特别重要的是要告诉潜在的发行版维护者必须将它们放入 LaTeX 搜索路径中。否则,您可能会冒着它们被解释为文档文件的风险。 - 需要注意的一点是,这些 pdf 文件的文件名具有全局范围,因此它们在 LaTeX 可能想要搜索的所有内容中应该是唯一的。
- 我的软件包提供了一些源代码,以方便使用:用于生成 pdf 文件的源代码和用于生成字体的源代码。这些源代码对于使用该软件包不是必需的,但应该包含在专用
sources
目录中。 - 我的软件包提供了许多 Python 脚本,这些脚本对于使用软件包,但要扩展它。它们必须放在一个
script
目录中,然后由发行版维护者放置在系统搜索路径中。(当然,您必须告诉用户安装 Python)。