为我的大学使用自定义课程的正确方法/最佳实践?

为我的大学使用自定义课程的正确方法/最佳实践?

我为我所在部门的特定工作方式编写了一个非常好的、相当全面的课程。我还获得了 biblatex 引用和参考书目样式。一旦我将它们整理好(以便于维护),我打算将它们发送到我的部门,以便其他使用 LaTeX 的学生(我敢肯定,他们两个都是!)共享。

这里有最佳实践吗?我正在寻找以下方面的既定/常见实践或工具:

  • 编写(一些次要的)文档(理想情况下包括文档自动包含源代码的技巧)
  • 一旦它们被托管在其他地方,就无法使用类和样式——必须有比仅仅检查和重新下载其他人更新它更好的方法,但它似乎太小众了,不值得在像 CTAN 这样的东西上公开发布。
  • 以某种方式将类和样式打包在一起。这可能吗?如果可以的话,这似乎是合理的。

不太确定在哪里寻找这种东西,所以我在这里寻找...TIA!

答案1

编写包含文档实现的文档的传统方式是创建一个具有正确设置的.dtx(当然您也可以\lstinput在单独的文档中使用类似的内容,但是.dtx 文件允许在代码块之间整齐地排版解释,并且通过文档条删除生产版本中所有不必要的内容)。

有关 .dtx 的一些信息可以在Joseph 2009 年的博客中的一篇文章(那里有多篇关于它们的帖子)。您还可以查看其他软件包以及它们的工作原理。如果您愿意,可以从单个 .dtx 文件创建您的类和参考书目样式(尽管我当然不是最好的软件包编写者,例如,您可以查看我的源代码expkv,它从单个文件创建多个文件.dtxhttps://github.com/Skillmon/tex_expkv)。

我还建议使用l3build由 LaTeX 项目团队创建的系统。它允许为你的代码编写单元测试,并且可以轻松地在本地安装必要的文件(只需一次调用,l3build install即可将文件放在正确的位置,前提是你installfiles在配置中设置正确build.lua)。我的也在expkv使用l3build,所以你也可以在那里看看。

我建议把它放在某个 git 服务器上(可以是您所在机构托管的服务器,也可以是您自己托管的服务器,或者如果您觉得合适,也可以是 GitHub 或 GitLab 之类的服务器)。这并不能解决您提出的问题

一定有比检查并重新下载其他人的更新更好的方法

但至少你会得到一些可以轻松编写脚本来获取更新的东西(如果你把它放在 CTAN 上,只有当用户更新他们的 LaTeX 发行版时它才会更新,所以虽然这会将所有内容捆绑在一个地方,但它本身仍然不是自动解决方案)。例如,你可以编写一个小型 shell/批处理脚本,从 git 获取最新更改,运行l3build check(如果你设置了单元测试),如果成功,还会运行l3build install。简单的 bash 脚本:

cd "/path/to/local/repository"
git fetch
git pull
l3build check && l3build install

相关内容