
Это, должно быть, простой вопрос, но я нигде не нашел четкого ответа.
Я хочу использовать 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}