Matlab uiTable 中的 TeX 解释器

TeX Interpreter in Matlab uiTable

我在 Matlab 中创建了一个 uiTable。现在我需要写列 headers 和一些包含希腊字母和下标的单元格数据。在文本 objects 或绘图中,我将只启用 TeX 解释器 - 或者它甚至是默认设置。这在 uiTable 中不起作用。我怎么会在这里做这个?也许 pre-formatting 字符串不知何故?

如果有解决方案,下一个问题将是:我只在某些单元格(和 headers 列)中需要此解释器。给定字符串时需要打印其他一些。所以基本上,我什至需要为每个单元格设置一个单独的 TeX 解释器。但我知道这可以通过正确的字符串转义来解决...

最小示例:

h = figure();
t=uitable(h);
set(t,'ColumnName',{'test_1';'\alpha'})

This looks like this. 但它应该带有索引“1”和字母字符。

您可以使用 html 和 unicode 字符在 headers 列中执行您想要的操作。

您可以使用 the str2html FEX submission 创建 html 并且您需要知道希腊字母的 unicode 字符:

h = figure();
t=uitable(h);

str = str2html ( 'test', 'subscript', '1' );
set(t,'ColumnName',{str; char(945)})


Note: the html in this example is: <HTML>test<sub>1</sub></HTML>

这会产生:

您可以使用相同的理论在单个单元格中显示:

h = figure();
t=uitable(h);

str = str2html ( 'test', 'subscript', '1' );
Data{2,2} = str;
Data{3,3} = str2html ( 'test', 'superscript', '2' );
Data{4,1} = str2html ( '90', 'superscript', char(176) );
set(t,'ColumnName',{str; char(945); char(946)},'Data', Data)

感谢 str2html 技巧! 对于简单的 unicode 符号,我找到了这个解决方案:

strUnicodeChar = char(hex2dec( '21C4' )); 

这将给出⇄符号。

Unicode 可以在这里找到 https://unicode-table.com/de/#21C4