matlab 生成的 .eps 文件未正确居中

matlab 生成的 .eps 文件未正确居中

在我更新所有 MiKTeX 软件包到最新版本之前,一切都正常。但更新之后,我发现.epsMatlab 生成的所有文件都无法正确显示。

例如。我使用 Matlab 绘制 sin(n)

n = 1:0.1:50;
plot(n, sin(n));

我得到了这样的图。

matlab图

我使用 Matlab 2013a(也在 2011b 中测试过)。

我通过 保存了这个图。但是当我使用 LaTeX用这段代码File-> Save As...-> test.eps生成文件时.pdf

\documentclass[a4paper]{article}
\usepackage{graphicx}
\begin{document}
test1
\begin{figure}
 \begin{center}
  \includegraphics[height=140mm]{test.eps}
 \end{center}
\end{figure}
test2
\end{document}

我使用 xelatex 编译我的.tex文件,并得到如下的 pdf

.eps 显示在错误位置

文件.eps显示的位置不对。“center”似乎没用。我做过其他测试,证明.eps其他软件(Word、Adobe Acrobat)生成的文件可以正确显示。因此,我认为问题可能出在 Matlab 上。也许.epsMatlab 生成的文件与某些 tex 包不兼容。

这个微妙的问题浪费了我很多时间。有人知道为什么以及如何解决这个问题吗?谢谢!

答案1

我只是想快速地给你一个提示。如果我没记错的话,\begin{center}将坐标系的中心,也就是图片的左下角(想象图片在第一象限)放在页面的中心。这正是我在你的图上看到的。你有没有把东西向左向下移动等等?我现在没有检查,但如果 MATLAB 没有产生正确的结果,我会非常非常惊讶eps文件(它没有计算正确的边界框),我会非常非常惊讶。你总是可以将图导出为 PostScript,然后使用一些东西ps2eps为这些eps文件生成正确的边界框并过滤一些可能产生错误结果的特殊 postscript 命令序列。

相关内容