`psfrag` 边界框未对齐

`psfrag` 边界框未对齐

我的问题

虽然我在和参数中都使用了“l”(左),但是用 编写的替换文本的左侧psfrag相对于我在 PostScript 文件中插入的标签的左侧水平偏移。这是什么原因造成的,如何解决这个问题?我对通用解决方案感兴趣,而不是针对以下示例的解决方案。posnpsposn

细节

下文提供的文件“MWE_tagged.eps”和“MWE_substit.tex”说明了这个问题。

使用showPostScript 命令,我在文件“MWE_tagged.eps”(下面的第一个文件)中的相同坐标处插入了两个标签“.TAG1”和“_TAG2”。由于我使用等宽字体,并将show这些标签的基线和边界框的左侧设置在相同位置,因此两个“TAG”字符串无法区分。

“MWE_tagged.eps”(转换为 png 格式)

文件“MWE_tagged.eps”(转换为png格式)。

然后,使用该psfrag包,我在 LaTeX 文件“MWE_substit.tex”(下面的第二个文件)中将标签“.TAG1”替换为“01”,将“_TAG2”替换为“02”。我使用的命令如下:

\psfrag{.TAG1}[Bl][Bl][1][0]{01}

\psfrag{_TAG2}[Bl][Bl][1][0]{02}

psposn给定和参数的值posn,我期望“01”和“02”的左侧重合。但是,出于某种原因,“01”相对于“02”向右移动。

“MWE_substit.ps”(转换为 png 格式)

文件“MWE_substit.ps”(转换为png格式)。

这是什么原因造成的?这是因为 PostScript 在边界框左侧(和右侧)插入了侧边距吗?如何纠正这个问题?我的目标是让“01”和“02”边界框的左侧沿红色垂直线对齐。


文件“MWE_tagged.eps”

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 290 373 322 419
%%HiResBoundingBox: 290.000000 373.000000 322.000000 418.500000
%%For: fioc
%%Title: PGPLOT PostScript plot
%%Creator: PGPLOT [PSDRIV 6.6]
%%CreationDate:  6-Oct-2022 11:01
%%LanguageLevel: 1
%%EndComments
% EPSF created by ps2eps 1.68
%%BeginProlog
save
countdictstack
mark
newpath
/showpage {} def
/setpagedevice {pop} def
%%EndProlog
%%Page 1 1
%%BeginProlog
/L {moveto rlineto currentpoint stroke moveto} bind def
/C {rlineto currentpoint stroke moveto} bind def
/D {moveto 0 0 rlineto currentpoint stroke moveto} bind def
/LW {5 mul setlinewidth} bind def
/BP {newpath moveto} bind def
/LP /rlineto load def
/EP {rlineto closepath eofill} bind def
/MB {gsave translate MFAC dup scale 1 setlinewidth 2 setlinecap 0 setlinejoin newpath} bind def
/ME /grestore load def
/CC {0 360 arc stroke} bind def
/FC {0 360 arc fill} bind def
/G {1024 div setgray} bind def
/K {3 -1 roll 1024 div 3 -1 roll 1024 div 3 -1 roll 1024 div setrgbcolor} bind def
% Uncomment next line to convert color to grey shades
%/K {3 -1 roll 3413 div 3 -1 roll 1739 div 3 -1 roll 9309 div add add setgray} bind def
%%EndProlog
%%BeginSetup
/#copies 1 def
%%EndSetup
 
%%Page: 1 1
%%BeginPageSetup
/PGPLOT save def
0.072 0.072 scale
8149 250 translate 90 rotate
1 setlinejoin 1 setlinecap 1 LW 1
%%EndPageSetup
%%PageBoundingBox: (atend)
1024 0 0 K 1 LW 625 0 4937 3900 L
0 437 5250 3681 L
0 0 0 K
/Courier findfont
100 scalefont
setfont
5250 3900 moveto
(.TAG1) show
5250 3900 moveto
(_TAG2) show
PGPLOT restore showpage
%%PageTrailer
%%PageBoundingBox: 289 373 323 419
 
%%Trailer
%%DocumentFonts: 
%%Pages: 1
%%Trailer
cleartomark
countdictstack
exch sub { end } repeat
restore
%%EOF

文件“MWE_substit.tex”

使用latex MWE_substit和进行编译dvips MWE_substit.dvi -o MWE_substit.ps

\documentclass[12pt]{article}
\pagestyle{empty}
\usepackage{graphicx}
\usepackage{psfrag}
\usepackage{courier}
\begin{document}
\ttfamily
\psfrag{.TAG1}[Bl][Bl][1][0]{01}%
\psfrag{_TAG2}[Bl][Bl][1][0]{02}%
\begin{center}
  \includegraphics[angle=-90,width=\linewidth]{MWE_tagged.eps}
\end{center}
\end{document}

相关内容