天体物理符号:排版 HI

天体物理符号:排版 HI

排版 HI 以指定分子气体的最佳方式是什么这篇文章的标题,字母大写H,数字略小I?我正在使用scrbook类。

我试图定义

\newcommand{\HI}{H {\uppercase{\romannumeral 1}} }

但结果是H i,用小写的i

我也试过

\newcommand*{\HI}{\textsc{Hi}}

但是当我在 中使用它时,它表现不正确\section{},导致“H i”而不是“H I”。

我还没有在中找到类似的东西chemmacros,它更适合化学家。


这是天体物理学中编写分子的标准方式,因此我很惊讶没有一个软件包可以轻松做到这一点。

答案1

使用与当前字体大小链接的下标大小。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\DeclareRobustCommand{\HI}{%
  \mbox{H\check@mathfonts\fontsize\sf@size\z@\selectfont I}%
}
\makeatother

\textheight=3cm % just to shorten the image

\begin{document}

\section{About \HI}

Here we talk about \HI.\footnote{Yes, about \HI.}

\end{document}

在此处输入图片描述

内核命令\check@mathfonts计算\sf@size\ssf@size从当前字体大小开始,使用存储的参数或\DeclareMathSizes启发式方法。

答案2

进行调整1.2ex以适应。

\documentclass{article}
\usepackage{scalerel}
\newcommand\HI{H\protect\scaleto{$I$}{1.2ex}}
\begin{document}
\tableofcontents

\section{This is \HI}

And in text: \HI{} and \LARGE \HI
\end{document}

在此处输入图片描述

因为scalerel默认情况下在数学模式下运行,所以$I$实际上是一种转义在......之外数学模式。如果这太令人困惑,您可以始终在数学模式下进行操作,如下所示:\newcommand\HI{H\protect\scaleto{\textrm{I}}{1.2ex}}


如果您想要一个没有软件包的版本,您可以这样做,但它需要一个单独的宏来实现粗体样式:

\documentclass{article}
\newcommand\HI{$\textrm{H}\scriptstyle\mathrm{I}$}
\newcommand\HIbold{$\textbf{H}\scriptstyle\mathbf{I}$}
\begin{document}
\tableofcontents

\section{This is \HIbold}

And in text: \HI{} and \LARGE \HI
\end{document}

在此处输入图片描述

答案3

另一种方法是通过天文学和天体物理学课

将此声明添加到标题:

\DeclareRobustCommand{\ion}[2]{%
\relax\ifmmode
\ifx\testbx\f@series
{\mathbf{#1\,\mathsc{#2}}}\else
{\mathrm{#1\,\mathsc{#2}}}\fi
\else\textup{#1\,{\mdseries\textsc{#2}}}%
\fi}

然后在文档正文中使用

\ion{H}{I}

相关内容