首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab中的Angstrom符号

Matlab中的Angstrom符号
EN

Stack Overflow用户
提问于 2015-02-28 16:38:54
回答 3查看 9K关注 0票数 2

我想用代码在文本框中编写q=0.1 Å。我用的是Matlab。我写了以下几封信:

代码语言:javascript
复制
str={'q=0.1$\AA$'};
annotation('textbox',...
[0.45 0.8 0.2 0.1],...
'interpreter','latex','string',str,...
'fontsize',20,...
'fontname','times new roman',...
'edgecolor','none',...
'fitboxtotext','on');

产生的结果:

问题是它正在生产的angstrom符号有点奇怪。A顶部的圆圈离得很远。我为'fontname'尝试了其他选项,但结果是一样的。有没有办法在Matlab中得到一个合适的角符号?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-28 17:29:04

这更像是一个LaTeX问题,而不是一个MATLAB问题。如果在$\AA$文档中打印LaTeX,其外观将相同。

解决方法是删除$...$,因为您不需要\AA的数学环境

代码语言:javascript
复制
str={'q=0.1\AA'};
annotation('textbox',...
[0.45 0.8 0.2 0.1],...
'interpreter','latex','string',str,...
'fontsize',20,...
'fontname','times new roman',...
'edgecolor','none',...
'fitboxtotext','on');

在我看来,结果看起来要好得多:

票数 3
EN

Stack Overflow用户

发布于 2015-02-28 17:31:11

我认为主要的问题是,在LaTeX数学模式下( '$'字符之间),大多数文本默认为斜体。您可以通过将第一行更改为使用\textrm来补救这一问题:

代码语言:javascript
复制
str={'q=0.1$\textrm{\AA}$'};

输出注释字符串现在看起来如下所示:

rm也能工作,但可能是已弃用。在这种情况下,mathrm似乎也有效,但显然可以执行更复杂的字体。实际上,为了使'q'斜体化,并在'='符号周围得到适当的间距,我会对整个字符串进行计算:

代码语言:javascript
复制
str={'$q=0.1\textrm{\AA}$'};

见不同之处:

不过,正如@hbaderts所指出的,str={'$q=0.1$\AA'};也可以工作,但可能会产生稍微不同的kerning。

票数 1
EN

Stack Overflow用户

发布于 2015-02-28 17:44:24

您应该删除围绕着$\AA

代码语言:javascript
复制
str = 'q=0.1\AA';
annotation('textbox', [0.45 0.8 0.2 0.1], 'interpreter','latex','string',str);

产生一个直角符号,而'$\AA$'产生你所拥有的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28784132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档