在Gnuplot导入字体:奇怪的结果

时间:2014-06-27 12:04:38

标签: gnuplot

我使用fontfile选项导入gnuplot中的字体。我选择的字体类似于计算机现代字体,但我获得了一个非常不同的字体。 这是我的代码

reset 
set term postscript enhanced eps fontfile "/usr/share/texmf/fonts/type1/public/lm/lmr8.pfb" "lmr8"
set output "comparison_inside_fields.eps"
set key spacing 1.5
normTemp=2*pi*750*1E+12

set xlabel "{/lmr8=20 t} ({/lmr8=18 s})"
set ylabel "Re({/lmr8=18 E}_{/lmr8=12 1}) ({/lmr8=18 V/m})" font "lmr8,17"

set logscale y
set yrange [50:1000]
set size 0.65
set tics front
set autoscale xfixmax


plot "Analytic_EField_linear_PW1000.dat" u ($1/normTemp):($2) w l lw 3.0 lc rgb "red" title "E_{1} equa-diff", "EField_linear_PW1000.txt" u ($1):($2) w l lw 3.0 lc rgb "blue" title "E_{1} CST", "exponential_linear.dat" u ($1/normTemp):($2) w l lt 2 lw 1.0 lc rgb "black" notitle`

这是图像:

enter image description here

1 个答案:

答案 0 :(得分:2)

字体名称为LMRoman8,而非lmr8。使用例如kfontviewhead -1 .../lmr8.pfb查看字体名称。

因此,从您的脚本中获取的一个相当简单的示例是:

reset 
set term postscript enhanced eps fontfile "/usr/share/texmf/fonts/type1/public/lm/lmr8.pfb" "LMRoman8"
set output "comparison_inside_fields.eps"

set xlabel "{/LMRoman8=20 t} ({/LMRoman8=18 s})"
set ylabel "Re({/LMRoman8=18 E}_{/LMRoman8=12 1}) ({/LMRoman8=18 V/m})" font "LMRoman8,17"
plot x title "E_{1} equa-diff"

4.6.5的结果是:

enter image description here

结果还可以,但我建议你使用epslatex终端,它可以提供更好的排版。这是一个类似于你的示例文档:

basename = 'epslatex-test'
set terminal epslatex standalone header '\usepackage{lmodern}'
set output basename.'.tex'

set xlabel '$t$ (s)'
set ylabel 'Re$(E_1)$ (V/m)' offset 1
plot x

set output
system(sprintf('latex %s.tex && dvips %s.dvi && ps2pdf %s.ps && pdfcrop --margins 1 %s.pdf %s.pdf',\
       basename, basename, basename, basename, basename))

enter image description here

您还可以将所有图像的所有包和设置写入文件header,而不是使用gnuplot.cfg选项,如果可用,将自动包含该文件。