![¿Cómo declarar una variable como unidad con siunitx?](https://rvso.com/image/309844/%C2%BFC%C3%B3mo%20declarar%20una%20variable%20como%20unidad%20con%20siunitx%3F.png)
En astronomía, el valor de la constante de Hubble es todavía algo incierto. Por lo tanto, habitualmente se escribe como $H = h \SI{100}{\kilo\meter\per\second\per\mega\parsec}$
, donde $h$
ahora se considera parte de la unidad. La unidad de longitud es $h^{-1} \si{\mega\parsec}$
, que quiero componer como $\si{\per\h\mega\parsec}$
. ¿Cómo logro esto en látex para que 'h' esté escrita en cursiva como una variable? A continuación se muestra un ejemplo mínimo.
\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit \h {$h$}
\DeclareSIUnit \parsec {pc}
\begin{document}
\si{\per\h\mega\parsec}
\end{document}
Esto soluciona un error:
! Missing } inserted.
<inserted text>
}
l.11 \si{\per\h\mega\parsec}
?
Respuesta1
No sé acerca de la composición tipográfica de unidades en astronomía, por lo que no puedo decir cómo se debe componer la "h", pero una "h" en cursiva matemática es fácil:
\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit \h {\ensuremath{\mathit{h}}}
\DeclareSIUnit \parsec {pc}
\begin{document}
\si{\per\h\mega\parsec}
\end{document}
Respuesta2
Escape en modo texto y luego use el modo matemático.
\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}