在我的 winXP 机器上,MikTEX 安装文件夹几乎有 500M。我自己用的时候没问题。我想在我的软件中捆绑安装包或预装的 latex 发行版(我特别需要 xeLaTeX)。但是用我的 setup.exe 拉取 500M 的东西比我预期的要多一点。
有没有办法排除不需要的包和/或 miktex 的部分以减小其大小,同时保留我使用的类?或者也许安装一个干净的 latex/xelatex 并尝试编译我的文件并让包管理器从 CTAN 获取所需的包?
答案1
首先请注意这一点:重新分发 MiKTeX。
话虽如此,请执行第二步:
在沙箱或虚拟驱动器中安装便携式 MiKTeX 或基本安装(因为否则它将无法与现有安装一起工作)。
在第二个安装中打开设置/选项和...
首先进入“格式”选项卡,排除所有你确定不需要的格式。这是我为较旧的问题:
在“语言”选项卡中,我不会删除任何语言,而是添加一些缺失的语言。
在“Packages”选项卡中,查看所有已安装的软件包,并删除所有您确定不需要的软件包的钩子。在基本安装中,您需要做的事情比便携版少。
在这之后制作综合的测试,现在是否没有排除任何重要的东西。当您希望没有更改默认的“即时安装”时,将在编译时添加缺失的包,但必须手动重新启用缺失的格式。
答案2
不久前我也面临同样的挑战。就我而言,我只需要编译固定格式的文档,因此只需要 TeX 发行版的一小部分。为了提取这个子集,我编写了一个脚本,它
- 在 TeX 发行版上设置一个“监视”(我使用文件系统审计规则)。
- 使用受监控的 TeX 分布编译所有相关文件模板。
- 将编译期间访问的所有文件复制到外部目标。
使用这种方法,我能够将工作“核心”压缩到约 50-60 MB(压缩后约 10 MB)。对我来说,这是一个完美的解决方案,但如果用户需要编辑文档,我建议不要使用此解决方案,因为如果访问排除的功能,XeLaTeX(我使用的)可能会严重崩溃。