当我在 XeLaTeX 中使用 Metapost 制作的 EPS 图像时,图像不在正确的位置。
这是我的代码:
\documentclass[a4paper,12pt]{article}
\usepackage{graphicx}
\usepackage{epsfig}
\begin{document}
\begin{tabular}{|c|}\hline
\psfig{figure=pix-1.eps} \\ \hline
\end{tabular}
\end{document}
输出为:
如果我使用不是 Metapost 制作的其他 EPS 图像,则不会出现问题。我该如何解决这个问题?
xelatex 和 metapost 编译器是 MikTex 2.9.6210 64 位。
编辑:图像的源代码:
prologues:=3;
filenametemplate "%j-%c.eps";
verbatimtex
%&latex
\documentclass{article}
\usepackage{amsmath,amssymb}
\begin{document}
etex
input TEX
TEXPRE("%&latex" & char(10) & "\documentclass{article}\begin{document}");
TEXPOST("\end{document}");
beginfig(1)
u := 1cm;
lx := 1u;
sx := -1.2;
ex := 1.2;
rx := (ex - sx)/40;
drawarrow (-1.5u,0) -- (1.2u,0);
drawarrow (0,-3u) -- (0,3u);
drawoptions(withpen pensquare scaled 1.2);
for i = .5 step 0.5 until 2:
draw (sx,i*sx*sx)*lx for j = 1 upto 40:
.. (sx + j*rx,i*((sx + j*rx)**2))*lx
endfor;
label.rt("a=" & decimal(i),(ex,i*ex*ex)*lx);
endfor;
drawoptions();
endfig;
答案1
XeLaTeX(实际上xdvipdfmx
)在 EPS 包含方面存在一些问题。
解决方法很简单:改变
filenametemplate "%j-%c.eps";
进入
filenametemplate "%j-%c.mps";
并且您的文档可以
\documentclass[a4paper,12pt]{article}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|c|}\hline
\includegraphics{figure-pix-1.mps} \\ \hline
\end{tabular}
\end{document}
通过.mps
扩展,图形文件可以通过不同的驱动程序读取,直接将 Metapost 生成的 Postscript 代码转换为 PDF 代码。
答案2
这在 xetex.def 注释中有部分记录,但默认行为似乎是错误的,然而目前的情况是您需要将文件重命名为.mps
扩展名或使用--vorigin
选项xdvipdfmx
。
\documentclass[a4paper,12pt]{article}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|c|}\hline
\includegraphics{pix-1.eps} \\ \hline
\end{tabular}
\end{document}
使用命令行
xelatex -output-driver='xdvipdfmx --mvorigin ' file
生产