Booktabs 帮助对齐

Booktabs 帮助对齐

由于某种奇怪的原因,右列与其他列相比是左对齐的。我没有看到我做错了什么。这是 3 小时后到期的,但直到现在我才注意到。如果可以的话,请帮忙。非常感谢!

\documentclass[letterpaper]{article}
\special{papersize=8.5in,11in}
\usepackage{mathtools}
\usepackage[version=4]{mhchem}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{array}
\usepackage[margin=1in]{geometry}
\setlength{\parskip}{1em}

\begin{document}
\begin{table}[h!]

\renewcommand\arraystretch{2}
\begin{center}
\caption{Processed data (rate of reaction)}
\vspace{.5 em}
    \begin{tabular}{@{}lccl@{}}
        \toprule

                             & \renewcommand\arraystretch{1.5} \begin{tabular}[c]{@{}c@{}} moles of $\ce{Mg_{(s)}}  \hspace{1mm} \left(  \si{mol} \right)$ \\ $\left( \pm \hspace{1mm} 20 \% \right)$ \end{tabular}   &  \renewcommand\arraystretch{1.5} \begin{tabular}[c]{@{}c@{}}time $\left( \si{s} \right)$ \\ $\left( \pm 0.01 \hspace{1mm} \si{s} \right)$ \end{tabular} & \renewcommand\arraystretch{1.5} \begin{tabular}[c]{@{}c@{}} reaction rate $ \left( \si{mol.s^{-1}} \right)$ \\ $\left( \pm \hspace{1mm} 20 \% \right)$ \end{tabular} \\ 

        \midrule \renewcommand\arraystretch{2}

one piece of $\ce{Mg}$ ribbon & $2 \times 10^{-3}$                                                                                                           & 17.04                                                                                                                &   $1 \times 10^{-4}$                  \\

small cut up pieces of $\ce{Mg}$ & $2 \times 10^{-3}$                                                                                                                 & 16.03                                                                                                                &  $1 \times 10^{-4}$                  \\

        \bottomrule

    \end{tabular}
\end{center}
\end{table}
\end{document}

我已经把序言和整个表格放上了。

编辑:代码

这是一张图片。

booktabs 帮助

答案1

最后一列是左对齐的,因为通过使用l对齐说明符,你可以告诉它是这样。如果你想让它居中,请使用c

我建议进行一些更改以简化您的代码:

  • 您正在加载siunitx包,但不要使用它。例如,不要$1 \times 10^{-4}$简单地写\num{1e-4}。或者\SI{0.01}{s}自动获取数字和单位之间的正确间距,而无需对长度进行硬编码,因为这样会随着字体缩放而变得很差。

  • 使用嵌套表格来表示多行标题似乎非常复杂。该makecell软件包对此有很好的解决方案

  • 使用\centering而不是center环境来防止额外的空间

  • 无需手动调整标题和表格之间的间距,该caption包将自动提供一个美观的空间

  • 将所有\left(和替换\right)(),它们在您使用它们的上下文中不是必需的(大多数情况下都是如此)

  • 使用[h!]基本上可以保证您的表格放置不理想。让 latex 做它最擅长的事情并使用[htbp]


\documentclass[letterpaper]{article}
\special{papersize=8.5in,11in}
\usepackage{mathtools}
\usepackage[version=4]{mhchem}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{array}
\usepackage[margin=1in]{geometry}
\usepackage{makecell}
\renewcommand\theadset{\def\arraystretch{1.5}\normalsize}%
\usepackage{caption}

\setlength{\parskip}{1em}

\begin{document}

\begin{table}[h!]
    \renewcommand\arraystretch{2}
    \caption{Processed data (rate of reaction)}
    \centering
    \begin{tabular}{@{}lccc@{}}
        \toprule
        &
        \thead{moles of $\ce{Mg_{(s)}}$ (\si{mol})\\$(\pm \SI{20}{\percent})$} &
        \thead{time (\si{s})\\$(\pm \SI{0.01}{s})$} &
        \thead{reaction rate (\si{mol.s^{-1}})\\$(\pm \SI{20}{\percent})$}\\
        \midrule
        one piece of $\ce{Mg}$ ribbon & \num{2e-3} & \num{17.04} & \num{1e-4}\\
        small cut up pieces of $\ce{Mg}$ & \num{2e-3} & 16.03 & \num{1e-4}\\
        \bottomrule
    \end{tabular}
\end{table}

\end{document}

在此处输入图片描述

相关内容