Entrada decimal mixta con siunitx

Entrada decimal mixta con siunitx

¿Siunitx acepta entradas decimales mixtas como 0,004319689898685966 y 0,004319689898685966? Lo parece, pero ¿está previsto que funcione así?

Estoy usando Python para mis cálculos con un "." símbolo decimal y escriba manualmente con un símbolo decimal ",".

Imagen: ingrese la descripción de la imagen aquí

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}

Respuesta1

Dado que los datos de entrada \SIpueden provenir de varias fuentes, se pueden usar varios estilos; en particular, un punto decimal o una coma decimal en la entrada se convierte para usar un marcador configurado con output-decimal-marker.

La clave decimalcommatodavía está permitida, pero emite una advertencia.

Package siunitx Warning: Version 1 option 'decimalsymbol' detected.

Hay varias opciones para cumplir con diferentes estilos de entrada, pero al final la salida siempre se normaliza según las opciones elegidas en cuanto al marcador decimal, las separaciones de grupos, etc.

Las opciones se pueden configurar globalmente (pero respetando los grupos TeX) con \sisetupo localmente con un 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}

ingrese la descripción de la imagen aquí

Respuesta2

El siunitxpaquete distingue entre

  • input-decimal-markers, con valor predeterminado ,., es decir, tanto la coma como el punto (también conocido como "punto final") se interpretan como marcador decimal, y

  • output-decimal-marker, cuyo valor predeterminado es .(punto).

Un ejemplo 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}

información relacionada