排版 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}