我在 Ubuntu 上使用 pdfLaTeX、Vim 和 LaTeX 套件以及软件包graphics
。我已将图像从 Matlab 导出为 EPS 格式,但自动转换(我不确定是什么将其转换为 pdf)会裁剪部分图像。
EPS文件可用这里
使用 Matlab 的导出或 LaTeX 的\includegraphics
参数进行调整没有帮助。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h!]
\includegraphics[width=3.5in]{im1.eps}
\end{figure}
\end{document}
短暂性失眠!
答案1
很可能 EPS 文件中的边界框数据是错误的。可以使用 Ghostscript 来计算边界框,例如(替换tiger.eps
为您的文件):
gs -q -sDEVICE=bbox -dBATCH -dNOPAUSE tiger.eps
结果如下:
%%BoundingBox: 0 0 150977 150977
%%HiResBoundingBox: 0.000000 0.000000 150976.921393 150976.939393
这些行可用于替换%%BoundingBox:
EPS 文件开始部分以 开头的行。
LaTeX 中的“自动转换”使用epstopdf
(调用同名 Perl 脚本的 LaTeX 包)进行转换,并使用边界框数据作为生成的 PDF 文件的介质大小。
此方法适用于im1.eps
更新的EPS 文件问题,ghostscript 报告的边界框:
%%BoundingBox: 23 20 381 293
%%HiResBoundingBox: 23.201999 20.519999 380.603660 292.103640
编辑后im1.eps
,EPS文件的起始注释部分如下所示:
%!PS-Adobe-3.0 EPSF-3.0
%%CreationDate: 2017-01-16T20:11:08
%%Pages: (atend)
%%BoundingBox: 23 20 381 293
%%HiResBoundingBox: 23.201999 20.519999 380.603660 292.103640
%%LanguageLevel: 3
%%EndComments
顺便说一句,原始边界框是0 0 500 500
。由于实际边界框较小,如果 EPS 文件未修复,则转换后的 PDF 文件会有额外的白色边距。
还有另一种方法可以修复图像:
epstopdf im1.eps
pdfcrop im1.pdf
结果是im1-crop.pdf
,包含在 LaTeX 文档中:
\includegraphics{im1-crop}
im1.eps
是问题中的文件,im2.eps
是具有固定边界框的 EPS 文件。然后是以下文档pdflatex
\documentclass{article}
\usepackage{graphicx}
\setlength{\fboxsep}{0pt}
\begin{document}
\centering
\fbox{\includegraphics[width=.5\linewidth]{im1}}
\par
\bigskip
\fbox{\includegraphics[width=.5\linewidth]{im2}}
\end{document}
生成
通过可视化边界框生成的帧\fbox
。结果显示,原始图像具有较大的白色边缘,而校正后的图像具有紧密的边界框。