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

來自使用者指南的第三段d列包裹:

應當指出的是dcolumn 始終使用數學模式對於數字以及[小數]分隔符號。 [強調]

簡而言之,$從表格的第二列中刪除數學模式啟動器和終止器標記,您就可以開始工作了。

順便說一句,您似乎將小數列格式指定為d{1}。我認為應該是:您需要為(一元減號)符號d{4.1}留出額外的數字空間。-

答案2

我可以提請注意 -packagesiunitx嗎?我最喜歡的之一。這看起來如下圖所示。

% 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}

在此輸入影像描述

相關內容