
Пакет dcolumn
хорошо работает с простыми числами, но не в математическом режиме, например
\begin{tabular}{ld{1}l}
\hline
\textbf{Species} & \multicolumn{1}{c}{\textbf{Calculated}} & \textbf{Literature} \\ \hline
2(3\textit{H})-furanone & $-251.0$ & \\
2(5\textit{H})-furanone & $-260.6$ & \\
5-methyl-2(3\textit{H})-furanone & $-302.4$ & \\
5-methyl-2(5\textit{H})-furanone & $-301.5$ & \\
2-oxiran-2-ylethenone & $ -72.3$ & \\
\end{tabular}
Моя преамбула такова:
\documentclass[journal=jpcafh,manuscript=article]{achemso}
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{gensymb}% provides $\celsius$ etc
\usepackage[version=3]{mhchem}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{\cdot}{#1} }
решение1
Из третьего абзаца руководства пользователяdколонкаупаковка:
Необходимо отметить, что
dcolumn
всегда использует математический режимдля цифр, а также [десятичного] разделителя. [выделено мной]
Короче говоря, удалите $
маркеры инициатора и терминатора математического режима из второго столбца таблицы, и все будет в порядке.
Кстати, вы, кажется, указываете формат десятичного столбца как d{1}
. Я думаю, так и должно быть d{4.1}
: вам нужно оставить дополнительное место для -
символа (унарного минуса).
решение2
Могу ли я обратить внимание на siunitx
-package? Один из моих любимых. Это будет выглядеть следующим образом.
% arara: pdflatex
\documentclass[journal=jpcafh,manuscript=article]{achemso}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\title{Title}
\usepackage{siunitx} % provides \SI{}{\celsius} etc.
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\sisetup{output-decimal-marker = {\cdot}}
\begin{tabular}{lS[table-format=-3.1]l}\toprule
\textbf{Species} & {\textbf{Calculated}} & \textbf{Literature} \\\midrule
2(3\textit{H})-furanone & -251.0 & \\
2(5\textit{H})-furanone & -260.6 & \\
5-methyl-2(3\textit{H})-furanone & -302.4 & \\
5-methyl-2(5\textit{H})-furanone & -301.5 & \\
2-oxiran-2-ylethenone & -72.3 & \\\bottomrule
\end{tabular}
\end{table}
\end{document}