使用带有列前缀和后缀的 dcolumn 的对齐问题

使用带有列前缀和后缀的 dcolumn 的对齐问题

我正在尝试使用dcolumn一些调查结果的“百分比”列,并且我正在使用>和<前缀到列规范来添加开始和结束括号以及百分号,因为实际数据只有数字:

\documentclass{article}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\pagestyle{empty}
\begin{document}
\begin{tabular}{clr>{(}d{1}<{\%)}}\\\hline\vrule height1.2em width0pt
  I&  First& 1&49\\
  II& Second&2&18.5\\
  III&Third& 3&7\\
  IV& Fourth&4&25.5\\\hline
\end{tabular} 
\end{document}

问题在于词缀似乎会破坏间距: 无小数点的错误示例

如果我在值 49 和 7 上添加一个小数点(但没有小数部分),它会修复小数点的对齐,但会将列稍微推到表格的右侧边距上: 给出小数点的错误示例

有办法解决这个问题吗?文档涵盖了大多数内容,但我看不出如何解决这个问题。

答案1

也许最简单的版本是

在此处输入图片描述

\documentclass{article}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\pagestyle{empty}
\begin{document}
\begin{tabular}{@{}clr>{(}d{3.1}@{\%)}}\\\hline\vrule height1.2em width0pt
  I&  First& 1&49\\
  II& Second&2&18.5\\
  III&Third& 3&7\\
  IV& Fourth&4&25.5\\\hline
\end{tabular} 
\end{document}

相关内容