我尝试在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内的文字不在乳胶中。
答案 0 :(得分: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中。
答案 1 :(得分:0)
问题是由Matlab使用的TeX
和LaTeX
解释程序引起的。 LaTeX
解释器禁止普通TeX
命令并请求LaTeX
命令。并且TeX
iterpreter在普通TeX之上工作,例如,允许更广泛地使用字体等。这就是为什么TeX和LaTeX无法消化\mum
序列,但TeX
解释器可以。它将其更改为$\mu$m
序列并将其传递给实际的TeX。
如果您依赖LaTeX
解释器,请使用LaTeX命令,而不是TeX命令。
正确的文字是
'\(\mu m\)'
获取斜体mu和常规m; '\(\mu m\)'
获取斜体mu和italic m。请注意,math
模式\(\)
会切换为斜体。
如果您不依赖LaTeX
,可以使用Matlab(默认)对TeX进行解释。
'\mum'
获得常规mu和常规m; '{\it\mum}'
获取斜体mu和italic m; '{\it\mu}m'
获得斜体mu和常规m; '\mu\itm'
获得常规的mu和italic m及其背后的一切; '\mu{\itm}'
获得常规mu和italic m。请注意TeX
解释器忽略数学模式形状更改,并在整形命令后将TeX形状命令扩展为文本和数学模式。
我还建议使用:
5\cdot10^6
代替5*10^6
; 5 \circC
代替5 °C
; LaTeX
翻译用于使用计算机现代字体在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
答案 2 :(得分:-1)
不需要美元符号。只需使用' \ mum'。此外,使用char(176)作为度数符号。