ps2pdf 在 MetaPost 生成的 .eps 图形上崩溃

ps2pdf 在 MetaPost 生成的 .eps 图形上崩溃

我使用 MetaPost 生成了上面“LaTeX Graphics Companion”第 2 版第 174 页中的示例。生成了 eps。标题:

%!PS %%BoundingBox: -123 -92 64 43 
%%HiResBoundingBox: -122.84787 -91.07129 63.67152 42.51074 
%%Creator: MetaPost 1.504 
%%CreationDate: 2015.11.25:1112 
%%Pages: 1 
%*Font: cmr10 9.96265 9.96265 20:8400f080008c080065df394 
%%BeginProlog 
%%EndProlog 
%%Page: 1 1

但是,当我想用​​ Inkscape 查看它时,出现了一些错误:

ps2pdf 失败:

Error: /undefined in cmr10 
Operand stack: (Lions) 
Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1910 1 3 %oparray_pop 1909 1 3 %oparray_pop 1893 1 3 %oparray_pop 1787 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 
Dictionary stack: --dict:1165/1684(ro)(G)-- --dict:0/20(G)-- --dict:77/200(L)-- 
Current allocation mode is local 
Current file position is 2508 
GPL Ghostscript 9.05: Unrecoverable error, exit code 1

这是为什么?除了“mpost example.mp”之外,是否还需要其他步骤?

问候,

弗兰基

答案1

您应该在 MetaPost 文件的开头插入以下几行:

prologues := 3;
outputtemplate := "%j-%c.eps";

第二行将名称更改example.1example-1.eps,使 EPS 文件更易于外部程序处理。第一行允许在生成的 EPS 文件中完全包含字体,这在大多数情况下效果更好。

如果你只想将文件包含在 LaTeX 文档中,则只需插入一行

outputtemplate := "%j-%c.mps";

反而。

另一个解决方案是使用mptopdf实用程序,它应该是 TeX 安装的一部分。命令行

 mptopdf example.1

将会将您的 EPS 文件转换为 PDF 文件example-1.pdf

查看MetaPost 文档了解更多信息。

相关内容