【问题标题】:How to use psfrag with eps figures created using Python Matplotlib如何将 psfrag 与使用 Python Matplotlib 创建的 eps 图形一起使用
【发布时间】:2015-09-25 12:01:24
【问题描述】:

我想使用 psfrag 来修改我的 .eps 人物的内容。

但是matplotlib生成的标签是逐字保存的,psfrag似乎无法识别。

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

干杯, 伊曼纽尔

【问题讨论】:

  • Emmanuel,您是否尝试过 matplotlib 中的单字符标签(以避免碎片化的字符串处理),或者您是否尝试过重新考虑架构,进入基于 PostScript 语法的后处理?两者似乎都是可行的。
  • 我尝试使用单字符标签,但这似乎也不起作用。有没有人设法在 Latex 中放置来自 Matplotlib 的 .eps 图(我使用 XeLatex -> pdf)
  • 我在邮件列表/问题跟踪器上对这件事有一个模糊的记忆。这是应该起作用的那种东西。请尝试发布候选版本 (1.5.0rc1),如果这不起作用,请通过电子邮件发送邮件列表。如果您提供了一个您尝试过的最小工作代码示例,也会有很大帮助。

标签: python matplotlib latex eps psfrag


【解决方案1】:

完成工作的可靠方法

万一所有 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 的简单性通常会因有时机器生成的排版内容字典(字体系列,无论是否使用,字体度量的排版功能详细信息)而有点模糊,这很重要,但很无聊在我们为后期模组重新处理 PS/EPS 代码后阅读。

不过,请继续搜索句法部分分隔符 %%BeginDocument / %%EndDocument 并在它们之间找到 showpage

自下而上从每个 stroke ( 命令每个 PostScript 几何/印刷结构实际上是由 PS “打印布局” -解释器处理器(顺便说一句。RISC 的第一个大规模市场部署))将带您接近您的 matplotlib 对象的实际位置,并找到您想要更改和更改的文本/标签。


很难?不,不是。 无聊?可能会,但可以通过算法来满足您的需求。

享受未来的进步吧,这绝对是可行的,而且比等待来自软件包维护者的新的强大更新更快。

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2011-01-02
    相关资源
    最近更新 更多