在我更新所有 MiKTeX 软件包到最新版本之前,一切都正常。但更新之后,我发现.eps
Matlab 生成的所有文件都无法正确显示。
例如。我使用 Matlab 绘制 sin(n)
n = 1:0.1:50;
plot(n, sin(n));
我得到了这样的图。
我使用 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
显示的位置不对。“center”似乎没用。我做过其他测试,证明.eps
其他软件(Word、Adobe Acrobat)生成的文件可以正确显示。因此,我认为问题可能出在 Matlab 上。也许.eps
Matlab 生成的文件与某些 tex 包不兼容。
这个微妙的问题浪费了我很多时间。有人知道为什么以及如何解决这个问题吗?谢谢!
答案1
我只是想快速地给你一个提示。如果我没记错的话,\begin{center}
将坐标系的中心,也就是图片的左下角(想象图片在第一象限)放在页面的中心。这正是我在你的图上看到的。你有没有把东西向左向下移动等等?我现在没有检查,但如果 MATLAB 没有产生正确的结果,我会非常非常惊讶eps
文件(它没有计算正确的边界框),我会非常非常惊讶。你总是可以将图导出为 PostScript,然后使用一些东西ps2eps为这些eps
文件生成正确的边界框并过滤一些可能产生错误结果的特殊 postscript 命令序列。