Octave 有没有办法使用TeX(希腊字母、下标、上标等)使八度音解释uicontrol静态文本中的字符串?
我正在用GNUOctave(5.1.0)编写GUI。它应该读取一些输入值,进行一些计算,绘制一些图表并写出结果。除了uicontrol显示未解释的给定字符串(希腊字母、下标、上标等)这一不必要的事实之外,一切都很好。有没有办法改变这一点 我已尝试在uicontrol内指定解释器:Octave 有没有办法使用TeX(希腊字母、下标、上标等)使八度音解释uicontrol静态文本中的字符串?,octave,tex,subscript,uicontrol,Octave,Tex,Subscript,Uicontrol,我正在用GNUOctave(5.1.0)编写GUI。它应该读取一些输入值,进行一些计算,绘制一些图表并写出结果。除了uicontrol显示未解释的给定字符串(希腊字母、下标、上标等)这一不必要的事实之外,一切都很好。有没有办法改变这一点 我已尝试在uicontrol内指定解释器: uicontrol ("parent", p, "style",'text', "string", ["\beta Q_v [m^3/s]"],'interpreter','tex']); 但文档中没有列出此类属性,
uicontrol ("parent", p, "style",'text', "string", ["\beta Q_v [m^3/s]"],'interpreter','tex']);
但文档中没有列出此类属性,因此难怪我会出现以下错误:
错误:设置:未知的uicontrol属性解释器
同时,我已使用UTF-8 ASCII码(在本例中为字母beta)将希腊字母插入显示的文本中:
那很好。但是,变量及其单位的显示方式与它们在代码中的写入方式相同(没有下标,也没有上标),这看起来有点傻,最重要的是它会占用空间
自从我开始编写这个GUI(2017年左右)以来,我一直在互联网上搜索,但运气不好。似乎从来没有人遇到过这种麻烦,这对我来说很奇怪。我错过什么了吗?任何帮助都将不胜感激 在倍频程和Matlab中都没有这样的选项。但是,Pantxo建议了一种变通方法,可以找到。诀窍是“使用适当的文本对象伪造文本样式uicontrol” 简言之,必须更换:
uicontrol ("parent", p, "style",'text', "string", ...
[char([206 178]) " Q_v[m^3/s]"], "position", [x0 y0 dx dy]);
与
我们必须稍微调整一下字体大小等,但结果非常令人满意。无论是在倍频程还是在Matlab中都没有这样的选项。但是,Pantxo建议了一种变通方法,可以找到。诀窍是“使用适当的文本对象伪造文本样式uicontrol” 简言之,必须更换:
uicontrol ("parent", p, "style",'text', "string", ...
[char([206 178]) " Q_v[m^3/s]"], "position", [x0 y0 dx dy]);
与
人们不得不在字体大小等方面做一些调整,但结果非常令人满意
hax = axes ("parent", p,"visible", "off", "position", [0 0 1 1]);
text ("parent", hax, "units", "pixels", "position", [x0 y0 0], ...
"interpreter", "tex", "string", "\\beta Q_v[m^3/s]", ...
"backgroundcolor", "none");