我正在使用 LuaLaTeX 编译一个估计有 4,000 页的文件。很明显,虽然 Lua 引擎本身在文件中没有任何复杂之处,但我的系统在第 944 页时内存不足。我如何创建这样的文件?
我希望有一种方法可以让我以不同的方式编译文件并融合结果。单纯的拆分会弄乱页码。我想避免在单独的文件中创建多个卷。
问题显然在于复杂的字体设置,用于luatex-ja
与原始字体并行的 CJK 字体,并且字体本身使用类似于此的复杂后备进行重新定义:
\setmainjfont{SourceHanSans}[
Extension = .ttc,
UprightFeatures = {
FontIndex=19,
AltFont = {
{ Range="2C9CA,
Font="fallbackfont.otf"
},
{ Range="2C710,
Font="fallbackfont.otf"
},
... (20 more definitions)
日志文件
编译时,该过程就停止了:
...[941] [942]
[943] [944]
! TeX capacity exceeded, sorry [node memory size=1821640]
! Sorry, I ran out of memory.
减少字体不会改变任何东西,但立即删除所有后备替换可以让文件进行编译。
答案1
自我回答:在删除所有重型字体后(手动编辑了后备以删除所有但需要的符号,从 10 Mb 压缩到 66 kb(!))但没有任何变化,甚至页面也一样,罪魁祸首被确定为lualatex.exe
它自己,它荒谬地吃掉了 2 Gb 的 RAM 并卡住了。
因此,解决方案来自TeXLive 2014 是 64 位的吗?有效。(注意:现在链接是https://ctan.org/tex-archive/systems/win32/w32tex/TLW64/。