Matlab->plot2svg->Inkscape->pdf+latex->includesvg = 渲染 pdf 速度慢 + 文件很大。如何解决?

Matlab->plot2svg->Inkscape->pdf+latex->includesvg = 渲染 pdf 速度慢 + 文件很大。如何解决?

我有以下工作流程。我使用 matlab 生成具有透明度的 3D 图,并且我想使用在 latex 中设置图形内文本的工作流程。我正在使用 Texniccenter 和 MikTex,最新版本的驱动程序是 pdflatex。

我使用 matlab 中央函数 plot2svg 将我的图导出到 svg。然后我使用 Inkscape 生成 pdf 和相应的 tex 文件。这个生成的 pdf 已经有 3.5 MB 大了。我有两个表面用透明度绘制。也许这就是文件这么大的原因。我的 latex 项目产生的整个 pdf 大约是相同的大小。

当然,如果我在图片环境中使用 includegraphics 函数,并且最终的 pdf 大于 6 MB。所以如果我有 10 张图片,我已经得到一个超过 30 MB 的文件。到目前为止一切顺利。但如果我打开文件并导航到相应的图形,我可以看到图片是如何渲染的。这需要几秒钟。

在将其包含到我的文档之前,有什么方法可以减小文件大小吗?

感谢您的建议

答案1

plot2svg 导出绘图中的整个数据,即使您放大绘图,plot2svg 仍会导出绘图的整个数据,而不仅仅是可见的图形或图像。以 的图像矩阵为例4000 x 4000 px。如果您通过仅绘制数据的必要部分(感兴趣的部分)(即 )来限制显示的数据imshow(IMAGE(100:300, 100:300)),那么 plot2svg 只会导出这些数据,并且 svg 文件中包含的图片的最终文件大小将更小。希望您觉得这有用!

相关内容