第一个解决方案:每个值 2 列

第一个解决方案:每个值 2 列

我有一张包含五列的表格,其中包含十进制数和 10 的幂,我正在尝试使用 siunitx 包进行格式化。我最终想要的是

  1. 中心价值观
  2. 按小数点后第二位对齐的值
  3. 以上两个适用于所有五列。

以下是当前形式的表格的代码:

\documentclass[12pt]{article}
\usepackage{siunitx}
\usepackage{booktabs}

\begin{table}[h!]
\begin{center}
\begin{tabular}{S|c|c|c|c}
A & B & C & D & E\\
\hline \hline
1.75 & $4.5 (0.2) \times 10^2$ & $1.4 (0.1) \times 10^2$ & $3.4 (0.2) \times 10^2$ & $1.4 (0.1) \times 10^2$ \\ 
1.65 & $4.8 (0.2) \times 10^2$ & $1.4 (0.1) \times 10^2$ & $3.0 (0.2) \times 10^2$ & $1.6 (0.1) \times 10^2$ \\
1.5 & $5.9 (0.2) \times 10^2$ & $1.8 (0.1) \times 10^2$ & $3.6 (0.2) \times 10^2$ & $2.0 (0.1) \times 10^2$ \\
1.4 & $6.5 (0.3) \times 10^2$ & $1.8 (0.1) \times 10^2$ & $4.4 (0.2) \times 10^2$ & $1.7 (0.1) \times 10^2$ \\
1.25 & $8.0 (0.3) \times 10^2$ & $2.7 (0.2) \times 10^2$ & $5.1 (0.2) \times 10^2$ & $2.0 (0.1) \times 10^2$ \\
1.1 & $10.4 (0.3) \times 10^2$ & $2.9 (0.2) \times 10^2$ & $6.2 (0.3) \times 10^2$ & $2.6 (0.1) \times 10^2$ \\
0.95 & $14.0 (0.4) \times 10^2$ & $3.5 (0.2) \times 10^2$ & $9.4 (0.3) \times 10^2$ & $3.3 (0.2) \times 10^2$ \\
0.8 & $18.2 (0.4) \times 10^2$ & $4.3 (0.2) \times 10^2$ & $12.2 (0.4) \times 10^2$ & $4.1 (0.2) \times 10^2$ \\
0.65 & $27.3 (0.5) \times 10^2$ & $7.4 (0.3) \times 10^2$ & $19.7 (0.4) \times 10^2$ & $5.6 (0.2) \times 10^2$ \\
0.5 & $44.5 (0.7) \times 10^2$ & $11.5 (0.3) \times 10^2$ & $30.9 (0.6) \times 10^2$ & $8.1 (0.3) \times 10^2$\\
\end{tabular}
\captionsetup{width = 0.7\linewidth}
\caption{Observed count rates for each radioactive source measured at various distances. Contained in parentheses are the corresponding Poisson distribution errors.}
\label{tab:ObsCount}
\end{center}
\end{table}

桌子

答案1

如果你想有效地利用这个siunitx包的机制,我建议你将不确定性金额表示为个位数实体;比如说,as(2)而不是 as (0.2)。这样你就可以自由地指定选项separate-uncertainty;请参阅下面的第二个表格。

一个单独的建议:我建议你将环境tabular\caption指令都放在一个环境中threeparttable;这样,LaTeX 会自动将标题字符串的宽度限制为相关tabular环境的宽度。我还会删除所有垂直规则。

在此处输入图片描述

\documentclass[12pt]{article} 
\usepackage[a4paper,margin=2.5cm]{geometry} % set page parameters as needed
\usepackage{siunitx}  % for 'S' column type
\usepackage{booktabs} % for well-spaced horizontal rules
\usepackage{threeparttable} % for 'threeparttable' environment

\begin{document}

\begin{table}
\centering

\begin{threeparttable}
\begin{tabular}{@{} S[table-format=1.2]
   *{4}{S[table-format=2.1(1)e1]} 
   @{}}
{A} & {B} & {C} & {D} & {E} \\
\midrule
1.75 &  4.5(2)e2 &  1.4(1)e2 &  3.4(2)e2 & 1.4(1)e2 \\ 
1.65 &  4.8(2)e2 &  1.4(1)e2 &  3.0(2)e2 & 1.6(1)e2 \\
1.5  &  5.9(2)e2 &  1.8(1)e2 &  3.6(2)e2 & 2.0(1)e2 \\
1.4  &  6.5(3)e2 &  1.8(1)e2 &  4.4(2)e2 & 1.7(1)e2 \\
1.25 &  8.0(3)e2 &  2.7(2)e2 &  5.1(2)e2 & 2.0(1)e2 \\
\end{tabular}

\caption{Observed count rates for each radioactive source measured at various distances. Contained in parentheses are the corresponding Poisson distribution errors.}
\label{tab:ObsCountX}
\end{threeparttable}

\bigskip\bigskip
\begin{threeparttable}
\begin{tabular}{@{} S[table-format=1.2]
   *{4}{S[table-format=2.1(1)e1,separate-uncertainty]} 
   @{}}
{A} & {B} & {C} & {D} & {E} \\
\midrule
1.1  & 10.4(3)e2 &  2.9(2)e2 &  6.2(3)e2 & 2.6(1)e2 \\
0.95 & 14.0(4)e2 &  3.5(2)e2 &  9.4(3)e2 & 3.3(2)e2 \\
0.8  & 18.2(4)e2 &  4.3(2)e2 & 12.2(4)e2 & 4.1(2)e2 \\
0.65 & 27.3(5)e2 &  7.4(3)e2 & 19.7(4)e2 & 5.6(2)e2 \\
0.5  & 44.5(7)e2 & 11.5(3)e2 & 30.9(6)e2 & 8.1(3)e2 \\
\end{tabular}

\caption{Observed count rates for each radioactive source measured at various distances. Contained in parentheses are the corresponding Poisson distribution errors.}
\label{tab:ObsCountX}
\end{threeparttable}
\end{table}
\end{document}

答案2

第一个解决方案:每个值 2 列

您可以@在表格定义中使用:它设置列分隔符。$r @{$\times$} l$您可以为每个值使用两列;第一列用于数字,第二列用于十的幂。

编辑:每个值 3 列

>{...}您可以使用和来做得更好<{...},它们在列之前和之后添加内容。例如,>{$} c <{$}是数学模式下的居中列。

然后,每个值使用 3 列:

  1. 第一个用于数字,在数学模式下右对齐:>{$} r <{$}
  2. 第二个代表不确定性,在数学模式下用括号括起来:>{$(} c <{)$}
  3. 第三个为十的幂,左对齐:>{$\times 10\expandafter^\bgroup} l <{\egroup$}。这里\bgroup和的\egroup 意思是{}\expandafter需要一点技巧把列的内容放在上标中。

$有了这些定义,表格中就不需要了。用@{}列之间的分隔符来删除。

请注意,如果需要,可以定义新的列类型:

\newcolumntype{R}{>{$} r <{$}}
\newcolumntype{U}{>{$(} c <{)$}}
\newcolumntype{P}{>{$\times 10\expandafter^\bgroup} l <{\egroup$}}

完整代码:

\documentclass[12pt]{article}
\usepackage{siunitx}
\usepackage{booktabs}

\begin{document}

\begin{table}
  \centering
  \begin{tabular}
    {
      S *{4}{
        >{$} r <{$} @{}                                   % number
        >{$(} c <{)$} @{}                                 % uncertainty
        >{$\times 10\expandafter^\bgroup} l <{\egroup$}   % power of ten
      }
    }
    \toprule
    A                     &
    \multicolumn{3}{c}{B} &
    \multicolumn{3}{c}{C} &
    \multicolumn{3}{c}{D} &
    \multicolumn{3}{c}{E} \\
    \midrule
    1.75 & 4.5  & 0.2 & 2 & 1.4  & 0.1 & 2 & 3.4  & 0.2 & 2 & 1.4 & 0.1 & 2 \\
    1.65 & 4.8  & 0.2 & 2 & 1.4  & 0.1 & 2 & 3.0  & 0.2 & 2 & 1.6 & 0.1 & 2 \\
    1.5  & 5.9  & 0.2 & 2 & 1.8  & 0.1 & 2 & 3.6  & 0.2 & 2 & 2.0 & 0.1 & 2 \\
    1.4  & 6.5  & 0.3 & 2 & 1.8  & 0.1 & 2 & 4.4  & 0.2 & 2 & 1.7 & 0.1 & 2 \\
    1.25 & 8.0  & 0.3 & 2 & 2.7  & 0.2 & 2 & 5.1  & 0.2 & 2 & 2.0 & 0.1 & 2 \\
    1.1  & 10.4 & 0.3 & 2 & 2.9  & 0.2 & 2 & 6.2  & 0.3 & 2 & 2.6 & 0.1 & 2 \\
    0.95 & 14.0 & 0.4 & 2 & 3.5  & 0.2 & 2 & 9.4  & 0.3 & 2 & 3.3 & 0.2 & 2 \\
    0.8  & 18.2 & 0.4 & 2 & 4.3  & 0.2 & 2 & 12.2 & 0.4 & 2 & 4.1 & 0.2 & 2 \\
    0.65 & 27.3 & 0.5 & 2 & 7.4  & 0.3 & 2 & 19.7 & 0.4 & 2 & 5.6 & 0.2 & 2 \\
    0.5  & 44.5 & 0.7 & 2 & 11.5 & 0.3 & 2 & 30.9 & 0.6 & 2 & 8.1 & 0.3 & 2 \\
    \bottomrule
  \end{tabular}
  \caption{Observed count rates for each radioactive source measured at various
    distances. Contained in parentheses are the corresponding Poisson
    distribution errors.}
  \label{tab:ObsCount}
\end{table}

\end{document}

带对齐的表格

相关内容