Nhập thập phân hỗn hợp với siunitx
Siunitx có nhận các đầu vào thập phân hỗn hợp như 0,004319689898685966 và 0,004319689898685966 không? Nó trông giống như nó, nhưng nó có ý định hoạt động như thế này?
Tôi đang sử dụng Python cho các phép tính của mình với dấu "." ký hiệu thập phân và nhập thủ công với ký hiệu thập phân ",".
Hình ảnh:
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}
Trả lời
Vì dữ liệu đầu vào cho \SIcó thể đến từ nhiều nguồn khác nhau, người ta có thể sử dụng nhiều kiểu khác nhau cho nó; cụ thể là dấu chấm thập phân hoặc dấu phẩy thập phân trong đầu vào được chuyển đổi để sử dụng điểm đánh dấu được đặt bằng output-decimal-marker.
Khóa decimalcommavẫn được phép sử dụng nhưng nó đưa ra cảnh báo
Package siunitx Warning: Version 1 option 'decimalsymbol' detected.
Có nhiều tùy chọn khác nhau để tuân thủ các kiểu đầu vào khác nhau, nhưng cuối cùng, đầu ra luôn được chuẩn hóa theo các tùy chọn đã chọn liên quan đến dấu thập phân, phân tách nhóm, v.v.
Các tùy chọn có thể được đặt trên toàn cục (nhưng tôn trọng các nhóm TeX) với \sisetuphoặc cục bộ với đối số tùy chọn \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}
Các siunitxnày khác biệt giữa gói
input-decimal-markers, với mặc định,., tức là cả dấu phẩy và dấu chấm (còn gọi là "dấu chấm hết") được hiểu là dấu thập phân vàoutput-decimal-marker, mặc định là.(dấu chấm).
Một ví dụ có thể tổng hợp:
\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}