使用 siunitx 混合十進位輸入

使用 siunitx 混合十進位輸入

siunitx 是否採用混合十進位輸入,例如 0,004319689898685966 和 0.004319689898685966?看起來是這樣,但是它的目的是這樣的嗎?

我使用 Python 進行帶有“.”的計算。小數點符號並手動輸入“,”小數點符號。

影像: 在此輸入影像描述

微量元素:

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

有多種選項可以滿足不同的輸入樣式,但最終輸出始終根據所選的小數標記、群組分隔等選項進行標準化。

選項可以透過全域設定(但尊重 TeX 群組)\sisetup或透過可選參數進行本地設定\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}

相關內容