2016-05-17 21 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中。