Octave:用希腊字母和下标保存数字

时间:2015-01-31 11:59:37

标签: save special-characters octave figure

我目前正试图使用​​Octave保存压力与应变曲线。在这个图上,我想要包含显示工程应力和工程应变计算公式的文本。这两个都需要希腊字母(分别是\ sigma和\ epsilon)以及公式的下标。

目前,使用带有-deps,-dpng或任何其他设备的打印,它会创建一个文件,但是希腊字母显示为单词“sigma”和“epsilon”,并且无论我在哪里有下标,例如0 ,它只是显示为“_0”。这看起来非常不专业。

由于我生成了大约25个图表,因此我不想为每个图表进行截屏。 octave是否支持保存显示的生成数字?我打算稍后在LaTeX文档中使用生成的文件(最好是png,所以我也可以单独发送电子邮件)。

我也尝试更改fltk和gnuplot之间的“graphics_toolkit”选项,但它似乎没有帮助。

此帖子附有所需结果和实际结果的屏幕截图。

我目前“不允许”发布图片,因此我会链接它们: http://i.imgur.com/Tjt5Ecn.png(屏幕截图,所需结果)和http://i.imgur.com/SP3hekd.png(直接保存,实际结果)

有没有人知道从Octave打印一个包含希腊字符和标题下标的数字的好方法?

1 个答案:

答案 0 :(得分:2)

由于您计划在Latex文档中使用图表,因此使用-depslatex生成图表并将其转换为pdf是个不错的主意。 (结果看起来比直接-dpdflatex略好)。 使用-depslatex,您可以在图中包含将写入单独的tex文件的Latex代码。 请注意,您需要使用双反斜杠\\来导出单个反斜杠。

graphics_toolkit("gnuplot");
...
legend("$\\varepsilon$");
print(sprintf("graph%s_%d.eps", name, type), '-depslatex', '-S200,270', '-F:9');
system(sprintf("epstopdf graph%s_%d.eps", name, type));

在Latex方面,然后\input由Octave生成的tex文件。从好的方面来说,由于你需要25个图表,你可以在Octave和Latex的两边自动化这个过程。

\newcommand{\mygraph}[1]{%
\graphicspath{{./figures/}}
\resizebox{0.495\linewidth}{!}{\relscale{1.0}\small%
\input{./figures/#1.tex} 
}%
}
\mygraph{graph1_1}

此处,Latex命令\mygraph被定义为可缩放并包含位于子文件夹中的图形。

(我在Ubuntu 12上使用Octave 4.0.0和gnuplot 4.4)