2016-05-17 37 views
0

我嘗試在MATLAB中使用乳膠樣式的註記文本框。我使用這段代碼來處理文本框中的文本。MATLAB如何使用帶乳膠的註記文本框?

textp={'Einstellungen:',...      
['w = ',num2str(w),' m/s'],...     %Display w 
['u = ',num2str(u),' m/s'],...     %Display u 
['r_p = ',num2str(r_p*10^6),' µm'],...   %Display Radius 
['beta = ',num2str(beta),'°']};     %Display beta 

然後我把註釋與此代碼:

annotation(Flugbahn,'textbox',dim,...  
'String',textp,...        
'Interpreter','latex',... 

的問題是總有警告

String must have valid interpreter syntax: 

即使我用$\mu$m是否有警告,裏面的文字該texbox不是在乳膠sytle。

回答

-1

不需要美元符號。只需使用'\ mum'即可。此外,使用char(176)作爲度數標誌。

+0

當解釋器是TeX時,用於寫入微米的''\ mum''字符串 - 默認的Matlab解釋器。當解釋器切換到LaTeX時,它會嘗試評估不存在的命令'\ mum'。 – Crowley

0

該問題是由Matlab使用的TeXLaTeX解釋器造成的。 LaTeX解釋器禁止命令和要求LaTeX命令的明文TeX。而iterpreter工作在普通的TeX之上,例如,更廣泛地使用字體等。這就是爲什麼TeX和LaTeX無法消化\mum序列,但是TeX解釋器可以。它將其更改爲$\mu$m序列並將其傳遞給實際的TeX。

如果您依賴於LaTeX解釋器使用LaTeX命令,而不是TeX命令。

的適當的文本是

  • '\(\mu m\)'獲得斜體畝和定期米;
  • '\(\mu m\)'以獲得斜體mu和斜體m。

請注意,math模式\(\)切換爲斜體。

如果你不依賴於LaTeX你可以使用Matlab的(默認)TeX的解釋。

  • '\mum'獲得正常的畝和正常m;
  • '{\it\mum}'獲得斜體mu和斜體m;
  • '{\it\mu}m'以斜體畝和正常m;
  • '\mu\itm'可以獲得普通的mu和斜體以及它後面的所有東西;
  • '\mu{\itm}'獲得正常的mu和斜體m。

請注意,TeX解釋器會忽略數學模式的形狀變化,並在整形命令之後將TeX形狀命令擴展爲文本和數學模式。

我還建議使用:

  • 5\cdot10^6,而不是5*10^6;
  • 5 \circC而不是5 °C;
  • LaTeX解釋器將用於具有Computer Modern字體的LaTeX外觀文檔中的圖像;
  • TeX其他文件的解釋器(不需要Computer Modern字體)。

通過R.Ugolini的回答啓發:

textp={'Einstellungen:',...      
['\(w\) = ',num2str(w),' m/s'],...     %Display w 
['\(u\) = ',num2str(u),' m/s'],...     %Display u 
['\(r_\mathrm p\) = ',num2str(r_p*10^6),' \(\mu\)m'],...   %Display Radius 
['\(\beta\) = ',num2str(beta),'\(^\circ\)']};     %Display beta 
+0

感謝您的幫助。我需要LaTeX,因爲我在LaTeX中寫了我的學士論文。其他一切都適用於LaTeX。我甚至可以在x或y標籤中使用'$ \ mu $ m'命令並且它可以工作。 ''\(\ mu \ \)''的解決方案不起作用。這很奇怪,也許這是因爲我使用'{}',但我需要那列 –

+0

嘗試使用原始命令'文本(x,y,textp,'parent',ax,'interpreter','latex')' x'和'y'是您想要放置的軸'ax'中的座標。到目前爲止,我對'annotation'沒有任何經驗...... – Crowley

1

長期搜索後,我找到了解決辦法:

textp={'Einstellungen:',... 
['w= ' num2str(w) ' m/s'],... 
['u= ' num2str(u) ' m/s'],... 
['r= ' num2str(r_p*10^6) ' $\mu$m' ],... 
['$\alpha$= ' num2str(alpha) '$^\circ$'],... 
['$\beta$= ' num2str(beta) '$^\circ$']}; 

問題是r_p。這就是註釋總是變回Tex的原因,現在一切都在LaTeX中。