Akzeptiert siunitx gemischte Dezimalzahlen wie 0,004319689898685966 und 0,004319689898685966? Es sieht so aus, aber ist es beabsichtigt, dass es so funktioniert?
Ich verwende Python für meine Berechnungen mit einem „.“ Dezimalsymbol und tippe manuell mit einem „“, Dezimalsymbol.
MWE:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\sisetup{range-phrase=-,
detect-all,
decimalsymbol=comma,
round-mode=places,
round-precision=4,
range-units=single,
per-mode=fraction,}
\begin{document}
\begin{itemize}
\item \SI{0,004319689898685966}{\meter \squared}
\item \SI{0.004319689898685966}{\meter \squared}
\end{itemize}
\end{document}
Antwort1
Da die Eingabedaten für \SI
aus verschiedenen Quellen stammen können, können dafür verschiedene Stile verwendet werden, insbesondere wird ein Dezimalpunkt oder ein Dezimalkomma in der Eingabe so umgewandelt, dass ein mit gesetzter Marker verwendet wird output-decimal-marker
.
Der Schlüssel decimalcomma
ist noch dafür zugelassen, aber es wird eine Warnung ausgegeben
Package siunitx Warning: Version 1 option 'decimalsymbol' detected.
Es gibt verschiedene Optionen, um verschiedenen Eingabestilen gerecht zu werden, am Ende wird die Ausgabe jedoch immer entsprechend den gewählten Optionen bezüglich der Dezimaltrennzeichen, der Gruppentrennungen usw. normalisiert.
Optionen können global (aber unter Berücksichtigung von TeX-Gruppen) mit \sisetup
oder lokal mit einem optionalen Argument an gesetzt werden \SI
.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\sisetup{
range-phrase=-,
detect-all,
output-decimal-marker={,},
round-mode=places,
round-precision=4,
range-units=single,
per-mode=fraction,
}
\begin{document}
\begin{itemize}
\item \SI{0,004319689898685966}{\meter \squared}
\item \SI{0.004319689898685966}{\meter \squared}
\item \SI[output-decimal-marker=.]{0.004319689898685966}{\meter \squared}
\sisetup{output-decimal-marker=\ensuremath{{\cdot}}}
\item \SI{0.004319689898685966}{\meter \squared}
\end{itemize}
\end{document}
Antwort2
Das siunitx
Paket unterscheidet zwischen
input-decimal-markers
, mit Standard,.
, d. h. sowohl Komma als auch Punkt (auch bekannt als "Punkt") werden als Dezimalzeichen interpretiert, undoutput-decimal-marker
, der standardmäßig auf.
(Punkt) eingestellt ist.
Ein kompilierbares Beispiel:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\num{0.333} and \num{0,333}
\sisetup{output-decimal-marker={,}} % change the default
\num{0.333} and \num{0,333}
\end{document}