小数点上的紧凑表格对齐

小数点上的紧凑表格对齐

我想将表格中的一些小数列按小数点对齐。我尝试使用 dcolumn 包来实现这一点,但当我按照下面所列的方式使用它时,我的列宽变得过大,以至于无法容纳在页面上(A4)。

\usepackage{dcolumn}
\usepackage{hhline, multirow, array, cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\newcolumntype{.}{D{.}{.}{-2}}
...
{\setlength{\doublerulesep}{1em}
\centering
\begin{tabular}{*{3}{ | Sc | Sc | S. |}}
\hhline{---||---||---}
        \multicolumn{1}{|Sc|}{\multirow{2}{*}{\textbf{Symbol}} } &
    \multicolumn{2}{Sc||}{\textbf{Probability}} &
    \multicolumn{1}{Sc|}{\multirow{2}{*}{\textbf{Symbol}} } &
    \multicolumn{2}{Sc||}{\textbf{Probability}} &
    \multicolumn{1}{Sc|}{\multirow{2}{*}{\textbf{Symbol}} } &
    \multicolumn{2}{Sc|}{\textbf{Probability}} \\ 
\hhline{|~|--||~|--||~|--}
    & \textbf{abs.} & \textbf{rel. [\%]} &
    & \textbf{abs.} & \textbf{rel. [\%]} &
    & \textbf{abs.} & \textbf{rel. [\%]} \\
\hhline{---||---||---}
    A & 22 & 81.16 & J & 3 & 0.16 & S & 34 & 6.32 \\
    B & 104 & 1.49 & K & 58 & 0.77 & T & 33 & 9.05 \\
\hhline{---||---||---}
\end{tabular}}

没有 dcolumn 对齐:

\begin{tabular}{*{3}{ | Sc | Sc | Sc |}}

在此处输入图片描述

使用 dcolumn 对齐:

\begin{tabular}{*{3}{ | Sc | Sc | S. |}}

在此处输入图片描述

有人可以帮我以紧凑的方式对齐十进制值吗?

答案1

两个建议:

  • 将单元格标题 -- \textbf{rel. [\%]}--放在\multicolumn{1}{c||}{...}包装器中

  • 定义一个新的列类型——例如d——它接受一个参数,但除此之外对小数点进行对齐。使用\newcolumntype{.}{D{.}{.}{-2}}simply 提供的设置无法实现真正​​紧凑的数字列。

  • 我还会对“abs.”列中的(隐含的)小数标记进行对齐。

在下面的代码中,请注意第一对小数对齐列的规范与其他两对小数对齐列的规范不同。

在此处输入图片描述

\documentclass{article}
%% simplified code to bare minimum
\usepackage{dcolumn, hhline, geometry}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\renewcommand\arraystretch{1.5}
\begin{document}
\setlength{\doublerulesep}{1em}
\centering
\begin{tabular}{ |c|d{3.0}|d{2.2}| *{2}{ |c|d{2.0}|d{1.2}|} }
\hhline{---||---||---}
Symbol & \multicolumn{2}{c||}{Probability} &
Symbol & \multicolumn{2}{c||}{Probability} &
Symbol & \multicolumn{2}{c|}{Probability} \\
\hhline{|~|--||~|--||~|--}
  & \multicolumn{1}{c|}{abs.} & \multicolumn{1}{c||}{rel.\ [\%]}
& & \multicolumn{1}{c|}{abs.} & \multicolumn{1}{c||}{rel.\ [\%]}
& & \multicolumn{1}{c|}{abs.} & \multicolumn{1}{c|}{rel.\ [\%]} \\
\hhline{---||---||---}
    A & 22 & 81.16 & J &  3 & 0.16 & S & 34 & 6.32 \\
    B & 104 & 1.49 & K & 58 & 0.77 & T & 33 & 9.05 \\
\hhline{---||---||---}
\end{tabular}
\end{document}

相关内容