评论

评论

这应该是一个简单的问题,但我没有在任何地方找到明确的答案。

我想使用dcolumn逗号作为分隔符。但是,我找到了不同的解决方案,手册对我来说也不清楚。它在中说,我必须选择“,”而不是“。”才能实现与逗号的对齐。但是我不明白和D{>sep.tex<}{>sep.dvi<}{>decimal places<}之间的区别。{>sep.tex<}{>sep.dvi<}

此外,我还找到了一个解决方案,有人只使用{>sep.dvi<}逗号,而手册建议在和中都使用{>sep.tex<}逗号{>sep.dvi<}

有人可以解释一下其中的区别并告诉我如何正确地指定它吗?

MWE 就这么简单: \newcolumntype{G}{D..{2.1}}-G当前与小数点对齐,而不是逗号,以防分隔符前有 2 位小数,分隔符后有 1 位小数。

谢谢。

答案1

评论

让我们看一下定义\newcolumntype{>name<}{D{>sep.tex<}{>sep.dvi<}{>decimal places<}}

  1. >name<是新列的名称,限制为一个字符。
  2. >sep.tex<是 TeX 代码中用于对齐的字符。
  3. >sep.dvi<是字符,它将替换>sep.tex<输出中的-字符(在大多数情况下与相同>sep.tex<,因为我们只使用对齐)。
  4. >decimal places<-1用于自动检测或pre comma places.post comma places

例子

\documentclass{article}
\pagestyle{empty}% for cropping
\usepackage{tikzsymbols}% for \Smiley
\usepackage{dcolumn}
\newcolumntype{G}{D{,}{\Smiley}{2.1}}
\begin{document}
\begin{tabular}{|G|G|}
    10,2 & 5,3 \\
    8,1 & 10,2 \\
    4,4 & 8,1 \\
    8.1 & 10.22 \\ % <-- broken by purpose
    3,4 & 8,5 \\
\end{tabular}
\end{document}

输出

在此处输入图片描述

相关内容