这应该是一个简单的问题,但我没有在任何地方找到明确的答案。
我想使用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<}}
:
>name<
是新列的名称,限制为一个字符。>sep.tex<
是 TeX 代码中用于对齐的字符。>sep.dvi<
是字符,它将替换>sep.tex<
输出中的-字符(在大多数情况下与相同>sep.tex<
,因为我们只使用对齐)。>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}