期刊要求提交 .eps 格式的图形,因此我需要能够使用 eps 图像“即时”进行编译。以下是使用 eps 图形文件的 MWE:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[t]
\centering
\caption{too much white space!}
\includegraphics[scale=0.4]{fdr80}
\end{figure}
\end{document}
这eps 图像具有最小的边距(通过固定其 BoundingBox),但是转换后的 pdf 图像顶部有太多空白(我认为 latex 会自动进行转换,我没有调用 epstopdf,但我可以看到它在日志中被使用)。我该如何摆脱空白?我已经尝试过答案在 epstopdf 中使用 pdfcrop?但它不起作用:我收到一个错误,说它找不到 pdf 文件。(因此 pdflatex 调用的 epstopdf 可能在那里失败了)。
编辑:需要更多信息。我使用 R 制作了 eps 图。更重要的是,我使用 R 包“extrafont”将 Computer Modern 字体嵌入到 eps 中。我相信这种嵌入导致了问题。我只是尝试使用一个简单的 eps(没有嵌入字体),tex 将其转换为具有正确边框的 pdf,顶部没有额外的空白。
答案1
检查 eps 文件(在文本编辑器中)后,我发现有两行以 开头%%HiResBoundingBox
。删除错误的行即可解决问题。
答案2
我从 Matlab 导出的 .eps 文件也遇到了类似的问题,在转换为 .pdf 时,图像的顶部和右侧出现了不必要的边距。我想在这里添加一个答案,因为我是通过网络搜索找到这个问题的。
就我而言,.eps 文件的PageBoundingBox
行BoundingBox
设置如下:
%%Page: 1 1
%%PageBoundingBox: 0 0 641 29
...
%%Trailer
%%BoundingBox: 0 0 653 35
%%Pages: 1
%%EOF
在这种情况下,两者是不同的,从中复制值PageBoundingBox
会BoundingBox
删除不需要的边距。