LaTeX 表格环境中的小数点对齐,但在数学模式下

LaTeX 表格环境中的小数点对齐,但在数学模式下

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}

在此处输入图片描述

相关内容