从 eps 编译为 pdf 时出现不需要的空白

从 eps 编译为 pdf 时出现不需要的空白

期刊要求提交 .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 文件的PageBoundingBoxBoundingBox设置如下:

%%Page: 1 1
%%PageBoundingBox: 0 0 641 29
...
%%Trailer
%%BoundingBox: 0 0 653 35
%%Pages: 1
%%EOF

在这种情况下,两者是不同的,从中复制值PageBoundingBoxBoundingBox删除不需要的边距。

相关内容