如何使用 siunitx 将变量声明为一个单元?

如何使用 siunitx 将变量声明为一个单元?

在天文学中,哈勃常数的值仍然有些不确定。因此,通常将其写为$H = h \SI{100}{\kilo\meter\per\second\per\mega\parsec}$,其中$h$现在被视为单位的一部分。长度的单位是$h^{-1} \si{\mega\parsec}$,我想将其排版为$\si{\per\h\mega\parsec}$。如何在乳胶中实现这一点,以便“h”像变量一样以斜体排版?下面是一个最小示例。

\documentclass{article}

\usepackage{siunitx}

\DeclareSIUnit \h {$h$}
\DeclareSIUnit \parsec {pc}


\begin{document}

\si{\per\h\mega\parsec}

\end{document}

这将导致一个错误:

! Missing } inserted.
<inserted text> 
            }
l.11 \si{\per\h\mega\parsec}

?

答案1

我不懂天文学单位的排版,因此我无法说“h”应该如何排版,但数学斜体中的“h”很容易:

\documentclass{article}

\usepackage{siunitx}

\DeclareSIUnit \h {\ensuremath{\mathit{h}}}
\DeclareSIUnit \parsec {pc}

\begin{document}
  \si{\per\h\mega\parsec} 
\end{document}

结果

答案2

退出文本模式然后使用数学模式。

\documentclass{article}
\usepackage{amsmath}
\usepackage{siunitx}

\DeclareSIUnit \h {\text{$h$}}
\DeclareSIUnit \parsec {pc}

\begin{document}

\unit{\per\h\mega\parsec} \unit[per-mode=fraction]{\per\h\mega\parsec}

\end{document}

在此处输入图片描述

相关内容