siunitx와 혼합 십진수 입력

siunitx와 혼합 십진수 입력

siunitx는 0,004319689898685966 및 0.004319689898685966과 같은 혼합 십진수 입력을 사용합니까? 그럴듯해 보이지만 이렇게 작동하도록 의도된 것일까요?

"."를 사용하여 계산에 Python을 사용하고 있습니다. 소수 기호를 입력하고 "," 소수 기호를 사용하여 수동으로 입력합니다.

영상: 여기에 이미지 설명을 입력하세요

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}

답변1

의 입력 데이터는 \SI다양한 소스에서 나올 수 있으므로 다양한 스타일을 사용할 수 있습니다. 특히 입력의 소수점 또는 소수점 쉼표는 로 설정된 마커를 사용하도록 변환됩니다 output-decimal-marker.

키는 decimalcomma여전히 허용되지만 경고가 발생합니다.

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

다양한 입력 스타일을 준수하는 다양한 옵션이 있지만 결국 출력은 소수점 표시, 그룹 분리 등과 관련하여 선택한 옵션에 따라 항상 정규화됩니다.

\sisetup옵션은 에 대한 선택적 인수를 사용하여 전역적으로 (그러나 TeX 그룹을 존중하여) 설정하거나 로컬로 설정할 수 있습니다 \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}

여기에 이미지 설명을 입력하세요

답변2

패키지 siunitx는 다음을 구별합니다.

  • input-decimal-markers, 기본값에서는 ,.쉼표와 마침표("마침표"라고도 함)가 모두 소수점 표시로 해석됩니다.

  • output-decimal-marker, 기본값은 .(마침표)입니다.

컴파일 가능한 예:

\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}

관련 정보