该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
从用户指南的第三段开始列包裹:
应当指出的是
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}