我正在使用 xelatex 生成一个相当大的 PDF 文件(大约 1.6 GB):
latexmk -xelatex MyBigTexFile
一切似乎进展顺利,但问题是,当执行 xdvipdfmx 时我出现内存不足错误:
xdvipdfmx -o "MyBigTexFile.pdf" "MyBigTexFile.xdv"
xdvipdfmx:fatal: Out of memory - asked for 2896286 bytes
No output PDF file written.
我尝试手动执行 xdvipdfmx,通过选择不同的页面范围将输出文件一分为二:
xdvipdfmx -s 1-7000 -o "MyBigTexFilePart1.pdf" "MyBigTexFile.xdv"
xdvipdfmx -s 7000-10000 -o "MyBigTexFilePart2.pdf" "MyBigTexFile.xdv"
这不会引发内存不足错误,PDF 文件也正确,但我的书签丢失了。它们出现在第一个文件 (MyBigTexFilePart1.pdf) 中,但没有出现在第二个文件 (MyBigTexFilePart2.pdf) 中。
为了保留书签,我确实需要通过一次执行 xdvipdfmx 来生成单个 PDF 文件。
使用提示时,之前的内存不足错误在装有 Windows 10 的计算机中抛出。我现在在 Linux 系统(和另一台计算机)中再次尝试,没有抛出内存错误。所以它可能与系统配置有关。
有什么方法可以增加 xdvipdfmx 的可用内存吗?我认为我的电脑内存应该足够了。
我提供了一些有关使用 Windows 计算机进行测试的详细信息:
使用 -z 0 输出:xdvipdfmx:fatal: 内存不足 - 要求 9427841 字节
直接调用 xelatex MyBigTeXFile 输出:xdvipdfmx:fatal: 内存不足 - 要求 3349460 字节 没有写入输出 PDF 文件。[7437xelatex.exe: fwrite: 参数无效
xdvipdfmx -s 1-7443 -o MyBigTeXFile.pdf MyBigTeXFile.xdv throws the out of memory error
xdvipdfmx -s 1-7440 -o MyBigTeXFile.pdf MyBigTeXFile.xdv does not throw the out of memory error
因此问题似乎出现在 7440 页之外。
我迷茫了。欢迎提出任何想法。
非常感谢