Принимает ли 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}