EPS 图形中的希腊字母 Latex

EPS 图形中的希腊字母 Latex

我想绘制一个y-label带有希腊字母的图形beta。但在乳胶中,我得到了图中的结果。乳胶如何解释希腊字母?

在此处输入图片描述

我的 eps 图形代码如下

%!PS-Adobe-3.0 EPSF-3.0
%%DocumentNeededResources: font Helvetica
%%+ font Helvetica-Bold
%%+ font Helvetica-Oblique
%%+ font Helvetica-BoldOblique
%%+ font Symbol
%%Title: R Graphics Output
%%Creator: R Software
%%Pages: (atend)
%%BoundingBox: 0 0 415 414
%%EndComments
%%BeginProlog
/bp  { gs gs } def
% begin .ps.prolog
/gs  { gsave } bind def
/gr  { grestore } bind def
/ep  { showpage gr gr } bind def
/m   { moveto } bind def
/l  { rlineto } bind def
/np  { newpath } bind def
/cp  { closepath } bind def
/f   { fill } bind def
/o   { stroke } bind def
/c   { newpath 0 360 arc } bind def
/r   { 4 2 roll moveto 1 copy 3 -1 roll exch 0 exch rlineto 0 rlineto -1 mul 0 exch rlineto closepath } bind def
/p1  { stroke } bind def
/p2  { gsave bg fill grestore newpath } bind def
/p3  { gsave bg fill grestore stroke } bind def
/p6  { gsave bg eofill grestore newpath } bind def
/p7  { gsave bg eofill grestore stroke } bind def
/t   { 5 -2 roll moveto gsave rotate
       1 index stringwidth pop
       mul neg 0 rmoveto show grestore } bind def
/ta  { 4 -2 roll moveto gsave rotate show } bind def
/tb  { 2 -1 roll 0 rmoveto show } bind def
/cl  { grestore gsave newpath 3 index 3 index moveto 1 index
       4 -1 roll lineto  exch 1 index lineto lineto
       closepath clip newpath } bind def
/rgb { setrgbcolor } bind def
/s   { scalefont setfont } bind def
% end   .ps.prolog
%%IncludeResource: font Helvetica
/Helvetica findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding ISOLatin1Encoding def
  currentdict
  end
/Font1 exch definefont pop
%%IncludeResource: font Helvetica-Bold
/Helvetica-Bold findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding ISOLatin1Encoding def
  currentdict
  end
/Font2 exch definefont pop
%%IncludeResource: font Helvetica-Oblique
/Helvetica-Oblique findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding ISOLatin1Encoding def
  currentdict
  end
/Font3 exch definefont pop
%%IncludeResource: font Helvetica-BoldOblique
/Helvetica-BoldOblique findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding ISOLatin1Encoding def
  currentdict
  end
/Font4 exch definefont pop
%%IncludeResource: font Symbol
/Symbol findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  currentdict
  end
/Font5 exch definefont pop
%%EndProlog
%%Page: 1 1
bp
59.04 73.44 384.51 354.96 cl
0 setgray
0.75 setlinewidth
[] 0 setdash
1 setlinecap
1 setlinejoin
10.00 setmiterlimit
372.46 344.53 2.70 c p1
71.09 83.87 2.70 c p1
0.00 0.00 414.75 414.00 cl
0 setgray
0.75 setlinewidth
[] 0 setdash
1 setlinecap
1 setlinejoin
10.00 setmiterlimit
np
105.48 73.44 m
193.24 0 l
o
np
105.48 73.44 m
0 -7.20 l
o
np
202.10 73.44 m
0 -7.20 l
o
np
298.72 73.44 m
0 -7.20 l
o
/Font1 findfont 12 s
105.48 47.52 (0.80) .5 0 t
202.10 47.52 (0.85) .5 0 t
298.72 47.52 (0.90) .5 0 t
np
59.04 84.65 m
0 255.13 l
o
np
59.04 84.65 m
-7.20 0 l
o
np
59.04 127.17 m
-7.20 0 l
o
np
59.04 169.69 m
-7.20 0 l
o
np
59.04 212.21 m
-7.20 0 l
o
np
59.04 254.73 m
-7.20 0 l
o
np
59.04 297.25 m
-7.20 0 l
o
np
59.04 339.78 m
-7.20 0 l
o
41.76 84.65 (0.3) .5 90 t
41.76 127.17 (0.4) .5 90 t
41.76 169.69 (0.5) .5 90 t
41.76 212.21 (0.6) .5 90 t
41.76 254.73 (0.7) .5 90 t
41.76 297.25 (0.8) .5 90 t
41.76 339.78 (0.9) .5 90 t
np
59.04 73.44 m
325.47 0 l
0 281.52 l
-325.47 0 l
0 -281.52 l
o
0.00 0.00 414.75 414.00 cl
/Font1 findfont 12 s
0 setgray
207.10 18.72 (y) 0 ta
-0.240 (ears) tb gr
12.96 214.20 (dollar \($\beta$\)) .5 90 t
ep
%%Trailer
%%Pages: 1
%%EOF

答案1

可以使用包直接解释 EPS 文件中的 LaTeX 代码psfrag。此包定义了一个命令\tex,可用于里面EPS 文件,反斜杠已转义。但是,使用起来不是很方便。该命令只能用于完整的 PostScript 命令(因此不能像示例中那样仅用于字符串的一部分)。此外,获取正确的定位和字体大小也很困难。第三,您需要一种更复杂的编译 LaTeX 文档的方法,要么使用 ,要么latex-dvips-ps2pdf使用auto-pst-pdfshell-escape

对 postscript 文件的修改示例(接近结尾):

207.10 18.72 (\\tex[bl][bl]{\\normalsize \\textsf{years}}) 0 ta
12.96 214.20 (\\tex[bl][bl]{\\hskip 2cm\\normalsize\\textsf{dollar} \($\\beta$\)}) .5 90 t

LaTeX 文档(用 编译pdflatex --shell-escape myfile.tex):

\documentclass{article}
\usepackage[scanall]{psfrag}  % the scanall option enables \tex inside EPS files
\usepackage{auto-pst-pdf}
\usepackage{graphicx}

\begin{document}
\includegraphics[scale=0.5]{rgraph2.eps}
\end{document}

结果:

在此处输入图片描述

但是,鉴于该图是在 R 中制作的,还有其他方法可以在输出中获取 LaTeX 和/或希腊字母。一种方法是使用库tikzDevice,它输出 TikZ 代码。在 R 中:

library(tikzDevice)
tikz('mygraph.tex',width=3,height=3)
plot(x=c(0.79,0.93),y=c(0.3,0.9),xlim=c(0.78,0.94),ylim=c(0.3,0.92),xlab='years',ylab='dollar ($\\beta$)')
dev.off()

乳胶:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\resizebox{0.7\textwidth}{!}{\input{mygraph}}
\end{document}

结果: 在此处输入图片描述

Cairo或者,当使用库进行 PDF 输出时,您可以在 R 中直接使用希腊字母:

library(Cairo)
cairo_pdf("crgraph.pdf")
plot(x=c(0.79,0.93),y=c(0.3,0.9),ylab='dollar (β)',xlab='years',xlim=c(0.78,0.94),ylim=c(0.3,0.92))
dev.off()

结果:

在此处输入图片描述

相关内容