我正在尝试通过MetaPost绘制一个简单的图形,它与TexLive2013.iso一起提供。下面列出的代码应该创建一个带有一些标签的椭圆。
beginfig(1);
a=.7in; b=.5in;
z0=(0,0);
z1=-z3=(a,0);
z2=-z4=(0,b);
draw z1..z2..z3..z4..cycle;
draw z1--z0--z2;
label.top("a", .5[z0,z1]);
label.lft("b", .5[z0,z2]);
dotlabel.bot("(0,0)", z0);
endfig;
end;
但是,当我用okular打开输出文件5.1时,它是空白的。我用kate再次打开了输出文件,下面列出的是代码:
%!PS
%%BoundingBox: -51 -37 51 37
%%HiResBoundingBox: -50.64978 -36.25 50.64978 36.25
%%Creator: MetaPost 1.802
%%CreationDate: 2013.09.08:1009
%%Pages: 1
%*Font: cmr10 9.96265 9.96265 61:8
%%BeginProlog
%%EndProlog
%%Page: 1 1
0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
[] 0 setdash 1 setlinejoin 10 setmiterlimit
newpath 50.39978 0 moveto
50.39978 23.04858 25.56044 36 0 36 curveto
-25.56044 36 -50.39978 23.04858 -50.39978 0 curveto
-50.39978 -23.04858 -25.56044 -36 0 -36 curveto
25.56044 -36 50.39978 -23.04858 50.39978 0 curveto closepath stroke
1 setlinecap
newpath 50.39978 0 moveto
0 0 lineto
0 36 lineto stroke
22.70921 3 moveto
(a) cmr10 9.96265 fshow
showpage
%%EOF
如果我评论
label.top("a", .5[z0,z1]);
label.lft("b", .5[z0,z2]);
dotlabel.bot("(0,0)", z0);
然后可以看到一个没有标签的椭圆。对于上面的所有代码, MetaPost都没有给出任何警告或错误信息。所以问题是:
- 为什么我的MetaPost在使用label时输出了一个空图形?
- 如何解决?