我正在编写一个大型latex文档,其中包含由R的tikzDevice包生成的大量绘图。目前,我遇到LaTeX错误"TeX capacity exceeded“。
我已经设法通过遵循Leo Liu的答案here中的补救措施暂时解决了这个问题(我也尝试了来自相同来源的公认答案),但正如我所说的,这个解决方案是暂时的,因为最终,我将在我的文档中添加更多的图,每个图至少有1兆。有些人说LuaTex是动态分配内存的,所以LuaTex (相同的源代码)永远不会有问题;然而,我有一个很大的文档,可用的时间有限,所以不能选择转换为LuaTex (除非有自动转换软件)。
在我的搜索过程中,我偶然发现this post正在讨论同样的问题,但使用的是matlab的matlab2tikz包。解决方案是减少绘图中的样本数量,从而减少结果文件的大小。我在R的tikzDevice文档(here和here)中查找了类似的选项,但不幸的是找不到。
所以问题是:我如何控制tikzDevice生成的图( the图片)的大小?
发布于 2017-10-04 00:34:41
一种解决方法是使用选项standAlone = TRUE导出由tikzDevice生成的文件。使用lualatex编译生成的文件,以避免出现“超出TeX capacity”的错误消息。这可以从R直接完成,使用例如。
tikz(figure.tex, standAlone = TRUE)
...
dev.off()
system("lualatex figure.tex; rm *.aux; rm *.log")然后,使用\includegraphics将该文件作为图形包含在LaTeX中。
若要减小生成的pdf的大小,您可能希望将图像转换为有损压缩格式,如JPEG。转换为postscript并返回也可以创建较小的文件,但代价是分辨率降低。
https://stackoverflow.com/questions/43565940
复制相似问题