Inserimento decimale misto con siunitx
Siunitx accetta input decimali misti come 0,004319689898685966 e 0,004319689898685966? Sembra, ma è destinato a funzionare in questo modo?
Sto usando Python per i miei calcoli con un "." simbolo decimale e digita manualmente con un simbolo decimale ",".
Immagine:
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}
Risposte
Poiché i dati di input per \SIpotrebbero provenire da varie fonti, è possibile utilizzare vari stili per esso; in particolare un punto decimale o una virgola decimale nell'input viene convertito per utilizzare un marcatore impostato con output-decimal-marker.
La chiave decimalcommaè ancora consentita, ma emette un avviso
Package siunitx Warning: Version 1 option 'decimalsymbol' detected.
Esistono varie opzioni per conformarsi a diversi stili di input, ma alla fine l'output è sempre normalizzato in base alle opzioni scelte per quanto riguarda il marcatore decimale, le separazioni di gruppo e così via.
Le opzioni possono essere impostate globalmente (ma rispettando i gruppi TeX) con \sisetupo localmente con un argomento opzionale a \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}
Il siunitxpacchetto distingue tra
input-decimal-markers, con l'impostazione predefinita,., ovvero, sia la virgola che il punto (ovvero "punto") vengono interpretati come marcatori decimali eoutput-decimal-marker, il cui valore predefinito è.(punto).
Un esempio compilabile:
\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}