Entrada decimal mista com siunitx
O siunitx aceita entradas decimais mistas como 0,004319689898685966 e 0,004319689898685966? Parece que sim, mas pretende funcionar assim?
Estou usando Python para meus cálculos com um "." símbolo decimal e digite manualmente com um símbolo decimal ",".
Imagem:
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}
Respostas
Uma vez que os dados de entrada para \SIpodem vir de várias fontes, pode-se usar vários estilos para eles; em particular, um ponto decimal ou uma vírgula decimal na entrada é convertido para usar um marcador definido com output-decimal-marker.
A chave decimalcommaainda é permitida para isso, mas emite um aviso
Package siunitx Warning: Version 1 option 'decimalsymbol' detected.
Existem várias opções para se adequar aos diferentes estilos de entrada, mas no final a saída é sempre normalizada de acordo com as opções escolhidas quanto ao marcador decimal, as separações dos grupos e assim por diante.
As opções podem ser definidas globalmente (mas respeitando os grupos TeX) com \sisetupou localmente com um argumento opcional para \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}
O siunitxpacote distingue entre
input-decimal-markers, com o padrão,., ou seja, vírgula e ponto (também conhecido como "ponto final") são interpretados como marcador decimal, eoutput-decimal-marker, cujo padrão é.(ponto).
Um exemplo compilável:
\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}