Wie deklariert man mit siunitx eine Variable als Einheit?

Wie deklariert man mit siunitx eine Variable als Einheit?

In der Astronomie ist der Wert der Hubble-Konstante noch immer etwas unsicher. Daher wird er üblicherweise als geschrieben $H = h \SI{100}{\kilo\meter\per\second\per\mega\parsec}$, wobei $h$jetzt als Teil der Einheit gilt. Die Einheit für die Länge ist $h^{-1} \si{\mega\parsec}$, die ich als setzen möchte $\si{\per\h\mega\parsec}$. Wie erreiche ich dies in Latex, sodass „h“ wie eine Variable kursiv gesetzt wird? Unten finden Sie ein Minimalbeispiel.

\documentclass{article}

\usepackage{siunitx}

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


\begin{document}

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

\end{document}

Dies wird mit einem Fehler abgebrochen:

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

?

Antwort1

Ich kenne mich mit dem Einheitensatz in der Astronomie nicht aus und kann daher nicht sagen, wie das "h" gesetzt werden soll, aber ein "h" in mathematischer Kursivschrift ist einfach:

\documentclass{article}

\usepackage{siunitx}

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

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

Ergebnis

Antwort2

Beenden Sie den Textmodus und verwenden Sie dann den Mathematikmodus.

\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}

Bildbeschreibung hier eingeben

verwandte Informationen