2017-01-13 52 views
0

我在Matlab中創建了一個uiTable。現在我需要編寫列標題和一些包含希臘字母和下標的單元格數據。在文本對象或繪圖中,我只是啓用TeX解釋器 - 或甚至是默認設置。這在uiTable中不起作用。我在這裏怎麼做?也許預先格式化字符串?Matlab中的TeX解釋器uiTable

如果有解決方案,下一個問題是:我只需要在某些單元格(和列標題)中使用此解釋器。在給出字符串時需要打印其他一些內容。所以基本上,我甚至需要爲每個單元設置一個單獨的TeX解釋器。但我知道這將是正確的字符串轉義可解...

小例子:

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

This looks like this.但它應該是相當與索引「1」和字母字符。

回答

0

你可以使用html和unicode char在列標題中做你想要的。

你可以使用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> 

這將產生:

enter image description here

您可以使用同樣的理論以顯示在單個單元中:

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) 

enter image description here

+0

這是一個完美的解決方案!謝謝!只是一個小缺點:char()方法不起作用 - 它在Matlab命令窗口中輸出正確的字符串,但不在表格中輸出。在這裏我只看到希臘字母應該是的空格。但我當然也可以用HTML設置希臘字母。不知道HTML解釋的這個整齊的功能。 – monoceros84