Entrée décimale mixte avec siunitx
Siunitx accepte-t-il des entrées décimales mixtes telles que 0,004319689898685966 et 0,004319689898685966? Ça y ressemble, mais est-ce que ça marche comme ça?
J'utilise Python pour mes calculs avec un "." symbole décimal et tapez manuellement avec un symbole décimal ",".
Image:
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}
Réponses
Puisque les données d'entrée pour \SIpeuvent provenir de diverses sources, on peut utiliser différents styles pour cela; en particulier, une période décimale ou une virgule décimale dans l'entrée est convertie pour utiliser un marqueur défini avec output-decimal-marker.
La clé decimalcommaest toujours autorisée, mais elle émet un avertissement
Package siunitx Warning: Version 1 option 'decimalsymbol' detected.
Il existe différentes options pour se conformer à différents styles d'entrée, mais à la fin, la sortie est toujours normalisée en fonction des options choisies concernant le marqueur décimal, les séparations de groupes, etc.
Les options peuvent être définies globalement (mais en respectant les groupes TeX) avec \sisetupou localement avec un argument optionnel to \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}
Le siunitxpackage distingue
input-decimal-markers, par défaut,., c'est-à-dire que la virgule et le point (alias "point final") sont interprétés comme un marqueur décimal, etoutput-decimal-marker, qui vaut par défaut.(point).
Un exemple compilable:
\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}