如何使用psfrag与使用Python Matplotlib创建的eps数字

时间:2015-09-25 12:01:25

标签: python matplotlib latex eps psfrag

我想使用 psfrag 来修改 .eps 数字的内容。

但是,matplotlib生成的代码会逐字保存,而psfrag似乎无法识别。

做了很多谷歌搜索,但无法找到任何东西。请帮忙!

干杯, 伊曼纽尔

1 个答案:

答案 0 :(得分:0)

完成工作的可靠方法

如果所有psfrag选项都失败,仍有办法成功。 EPS并不像人们第一眼看到的那样具有神奇的页面描述格式。

因此,PS语法可以帮助我们以防止封装辅助EPS文件:

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 70 70 146 146
%%Title: C:\box1.ps
%%Creator: GSview from C:\box1.ps
%%CreationDate: Sat Sep 25 19:58:06 2015
%%Pages: 1
%%EndComments
%%Page: 1 1
%%BeginDocument: C:\box1.ps
%!
%% Draws a one square inch box and inch in from the bottom left

/inch {72 mul} def                   % Convert inches->points (1/72 inch)
newpath                              % Start a new path
1 inch 1 inch moveto                 %       an inch in from the lower left
2 inch 1 inch lineto                 %       bottom side
2 inch 2 inch lineto                 %       right side
1 inch 2 inch lineto                 %       top side
closepath                            % Automatically add left side to close path
stroke                               % Draw the box on the paper
showpage                             % We're done... eject the page

%%EndDocument
%%Trailer

PostScript中可爱的反转波兰表示法(RPN),不是吗? (强大的PostScript隐藏世界)。

真正的PS / EPS的简单性通常会因机器生成的排版字体(字体系列,无论是否使用,排版功能的font-metrics'详细信息)有点模糊,这很重要,但很无聊一旦我们重新处理后期mod的PS / EPS代码就读。

尽管如此,请继续搜索语法分段 %%BeginDocument / %%EndDocument 并找到 showpage 在这些之间。

从每个 stroke

阅读自下而上(命令每个PostScript几何/印刷构造实际上是“正在打印的布局” PS解释器处理器(顺便说一下,R​​ISC的第一个大规模市场部署))将使您接近 matplotlib 对象的实际位置,并找到您希望更改的文本/标签并改变它。

难?不,不是真的。 无聊?但可能会根据您的需要进行算法化。

享受未来的进步,它肯定比等待来自软件包维护者的新强大更新更快,更快。