siunitx 明确符号不适用于列中的所有数字

siunitx 明确符号不适用于列中的所有数字

siunitx 包中有一个按小数点对齐的表,所有数字前的符号都是波浪符号(\sim)。

如何仅删除数字 7 的波浪号,而不破坏对齐?

(我尝试在除 7 之外的所有数字前添加 ${\sim}$,但对齐被破坏了)

电流输出:

  numbers
   ~22.45
~54567
    ~7
    ~3

目标输出(7 之前不带波浪号):

  numbers
   ~22.45
~54567
     7
    ~3

当前代码:

\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel} 
\usepackage{siunitx}
\usepackage{amsmath} 
\usepackage{array}
\usepackage{booktabs}
\usepackage{multirow}
\begin{document}

\begin{table}[!h]
  \begin{tabular}{|S[table-format=7.2, explicit-sign={\sim}]|}
    {numbers}\\ \hline
    22.45 \\
    54567 \\
    7 \\
    3 \\
  \end{tabular}
\end{table}

\end{document}

答案1

\sim命令是一个比较器,而不是符号,我真的不会把它作为附加组件。我会使用

\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel} 
\usepackage{siunitx}
\begin{document}

\begin{table}[!h]
  \begin{tabular}{|S[table-align-comparator = false,table-format=\sim5.2]|}
    {numbers}\\ \hline
    \sim 22.45 \\
    \sim 54567 \\
    7 \\
    \sim 3 \\
  \end{tabular}
\end{table}

\end{document}

答案2

${\sim}$用代替\sim似乎是个好主意。

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel} 
\usepackage{siunitx}
\begin{document}

\begin{table}[!h]
  \begin{tabular}{|S[table-format=7.2, explicit-sign={\sim}]|}
    {numbers}\\ \hline
    \sim 22.45 \\
    \sim 54567 \\
    7 \\
    \sim 3 \\
  \end{tabular}
\end{table}

\end{document}

相关内容