2017-02-21 35 views
4

我想知道如何MATLABs乳膠解釋器的情節文字處理unicode字符?這是奇怪的不一致。其中,你知道,使整個unicode的整個點無效。matlab的latex解釋器如何處理unicode?

TOY CODE

%*** Setup some text for a plot title 
Title_Txt{1} = [char(8734) ,' SNR~~~' , char(10) , '(-)']; 
Title_Txt{2} = ['50 SNR~~~' , char(10) , '(-)']; 


%*** Plots! 
x= 1:1:10 
y= rand(size(x)) 

figure(1) 
subplot(211) 
plot(x,y) 
title(Title_Txt{1} , 'interpreter' , 'latex') 

subplot(212) 
plot(x,y) 
title(Title_Txt{2} , 'interpreter' , 'latex') 

Toy plot

玩具代碼演示了膠乳解釋器處理的炭(10)---一個新行。但它從char(8734) - 無窮大符號中突破。

很顯然,我可以解決此通過在MATLAB知道(無奈的另一個來源,但是這是一個不同的討論)乳膠符號餵食,但我很好奇

  • 什麼MATLAB是引擎蓋下做這裏?
  • 是否有將unicode加入膠乳的修復方法?
+0

此外,matlab沒有列出他們在文檔中使用的Unicode格式。我猜「有效代碼範圍從0到65535」意味着「char()解釋基於unicode UTF-16」? –

回答

2

我懷疑這裏的(不令人滿意的)答案是Matlab的Latex解釋器部分可以做任何包含Latex的版本,Latex一般不支持Unicode。 (對於Latex解決方案,請參閱:https://tex.stackexchange.com/questions/34604/entering-unicode-characters-in-latex。當然,這對Matlab用戶無幫助。)

至於爲什麼Latex不支持Unicode。我會注意到我的Latex用戶指南中的第一個版權日期是1985年,而最新版本是1994年的第2版。Unicode直到90年代才真正成爲主流。

(這是一個很差的答案,但太長了評論。)

+0

有趣的信息!儘管我每天都使用LaTeX,但我並沒有真正考慮過LaTeX可能基本上不符合unicode標準。 –

+0

這很可能是最好的答案,因爲MATLAB可能只是簡單地調用pdfTex,它不像Unicode那樣友好,就像LuaTex或XeTeX引擎一樣,沒有與Unicode一起玩的好選擇。這是我使用'matlab2tikz'發佈原始LaTeX並選擇我想要的引擎的原因之一。 @Mark_Anderson – TroyHaskin