我正在开发一款应用程序,用户可以通过与聊天机器人互动来学习主题。完成课程后,用户可以使用与聊天机器人的互动来生成个性化笔记本。该笔记本是通过使用jinja2
模板tex
文件编译用户笔记/问题,然后tex
在服务器上编译文件来生成的。
我发布的第一门课程是关于 Python 的。问题是:这本教材大约有 465 页,其中包含 png 图片、使用glossaries
包的约 90 个词汇表术语、使用 的约 400 个练习xsim
,甚至还有更多的minted
语法高亮。
仅编译这本书(不包括用户注释)就需要 45 分钟。我正在使用latexmk
withxelatex
来编译这本书并使用tufte-book
课程。
这些是我发现的一些可以减少时间的方法。
- 使用练习
frozencache
minted
- 在选项中使用
z 0
压缩outputdriver
还有其他方法可以缩短时间吗?理想情况下,我希望编译时间少于 5 分钟。但现在这似乎不可能了。
任何帮助都将受到感激。
编辑1
- 还发现了在 ramdisk 上编译的想法,如图所示回答很有趣。我会尝试看看。
编辑2
我最终成功将编译时间从 40 多分钟缩短到 2 分钟。
- 更换
xsim
套餐exercise
( 减少20分钟 ) - 将 png 与 pdf 转换(减少 10 分钟)
- 替换
minted
为listing
语法高亮。虽然我更喜欢 minted。使用该minted
软件包的编译时间约为 12 分钟。 - Ramdisk 是一种非常有趣的快速解决方案,但基于它创建微服务似乎很复杂