![Wie deklariert man mit siunitx eine Variable als Einheit?](https://rvso.com/image/309844/Wie%20deklariert%20man%20mit%20siunitx%20eine%20Variable%20als%20Einheit%3F.png)
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}
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}