对我来说,使用\AA
angstrom 不起作用。当我输入 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
为其他名称。