Angstrom 无法工作

Angstrom 无法工作

对我来说,使用\AAangstrom 不起作用。当我输入 1 时,\AA我得到的只是 2 (r)A输出。我尝试过在它周围加上花括号{\AA},但仍然没有成功。我不知道为什么。我甚至尝试过更改我正在使用的字体。任何帮助都将不胜感激。

答案1

\AA是一个文本命令,本质上变成了\r{A}\r是产生“铃声重音”的命令,在数学模式下无效。这里有一种方法:

\newcommand{\angstrom}{\mbox{\normalfont\AA}}

如果单位也必须在下标或上标中使用,

\usepackage{amsmath} % or simply amstext
\newcommand{\angstrom}{\text{\normalfont\AA}}

根据 daleif 的建议,更紧凑的版本将是

\usepackage{amsmath} % or simply amstext
\newcommand{\angstrom}{\textup{\AA}}

数学是必要的,否则\textup不会改变下标的大小)。

然而,处理单位时的最佳做法是使用希尼奇\si正如 quinmars 所建议的。它提供的宏\SI提供了正确的间距。

答案2

我建议使用希尼奇包装。如果您想要数量,请使用:

The lattice constant $a = \SI{2.0}{\angstrom}$ is ...

如果你只需要单位,请使用:

Atomic distances are measured in \si{\angstrom}.

答案3

@egreg 的回答是正确的,但在社区中很难说服其他(不情愿的 TeX)合作者使用\mbox{\normalfont\AA}\text{\normalfont\AA}书写 Angstrom 单位。最多只能希望他们使用\mathrm{\AA}(这样 Angstrom 就不会在数学公式中以斜体显示)。他们太习惯书写了\AA

我的建议是这样的:

\usepackage{amsmath}
\let\oldAA\AA
\renewcommand{\AA}{\text{\normalfont\oldAA}}

答案4

导致这个问题的原因是我重新定义了命令\r。也就是说,我有一个

\renewcommand{\r}

在我的序言中。如果是这种情况,请将您调用的命令的名称更改\r为其他名称。

相关内容