又一个 Tex 容量超出错误。
我正在生成一个 matlab 散点图,未经修改就生成了一个 64.5 MB 的打印 eps 文件。在 matlab2tikz 中直接使用该图会生成一个很大的 tikz 文件 (34.5 MB),这会导致 Tex 容量错误。
我已经研究并找到了许多可能的解决方案:
将 tikz 图形外部化。
- 描述于外部化-tikz这确保每个 tikz 图形都有自己的 tex 作业。我应用了这个,但它仍然给我容量错误
- Lualatex 代替 pdflatex,它不会因动态内存分配而产生 tex 容量错误。
- 增加 tex 的主内存增加 TeX 的主内存
我认为最后两种解决方案不是最好的,因为它们会产生很大的 pdf。要绘制的图表不应该需要那么多内存。此外,luatex 不适用于我大学提供的 tex 样式。
减少 matlab 中的 tikz 大小
在最后三种方法中,我使用了 clean_figure,通过调整其值 XI 可以大幅减少导出的 tikz 文件的大小。但是,即使 tikz 文件大小为 500kB,也会出现 tex 容量错误。如果我使用非常大的 minimumPointsDistance 并将图形缩小到 30kB,它不会出现错误,但我的图形也会有很大不同。
Reduceplot 也运行良好,将 tikz 文件缩小到 700 kB。但再次出现 tex 容量错误。
因此,我的问题是,如何避免此容量错误,同时仍确保良好的质量数据。 500kb 或 700kb 的 tikz 文件不应该在外部编译吗?或者这些大小仍然很大?
另外,我想知道内存大小=5000000 到底是什么意思。那是 5M 字节吗?这是否意味着我应该能够编译 5M 字节 = 4.76 Mb 的 tikz 文件?