表格中的中心列标题:不尊重多列

表格中的中心列标题:不尊重多列

我想将下表中的列标题(仅限列标题)居中。为什么它对第一列有效,而对第二列无效(我认为这\multicolumn是解决此问题的正确方法)。

\documentclass{article}

\usepackage[american]{babel}
\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{rr}
  \toprule
  \multicolumn{1}{c}{$\alpha$} & \multicolumn{1}{c}{$\alpha=0.99999$} \\
  \midrule
  10     & 69.681   \\
         & 901.741  \\
  1000   & 893.630  \\
         & 82.806   \\
  \bottomrule
\end{tabular}
\end{document}

答案1

这只是一个小例子,说明如何对输入进行小幅修改以获得所需的输出:

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\begin{document}
\begin{tabular}{rc}
  \toprule
  \multicolumn{1}{c}{$\alpha$} & $\alpha=0.99999$ \\
  \midrule
  10     & \phantom{0}69.681   \\
         & 901.741  \\
  1000   & 893.630  \\
         & \phantom{0}82.806   \\
  \bottomrule
\end{tabular}
\end{document}

\phantom在小于 100 的数字前添加一个0,使得所有数字的宽度相同,因此c输入起来很容易。

答案2

它居中正确。问题在于该列中右对齐的数字的长度(宽度)。我的意思是说α = 0.99999比该列中的任何数字都长。为了证明这一点,让我们放一个稍大一点的数字。

\documentclass{article}

\usepackage[american]{babel}
\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{rr}
  \toprule
  \multicolumn{1}{c}{$\alpha$} & \multicolumn{1}{c}{$\alpha=0.99999$} \\
  \midrule
  10     & 69.681   \\
         & 901.741  \\
  1000   & 893.630  \\
         & 82.80600000000000000000   \\
  \bottomrule
\end{tabular}
\end{document}

在此处输入图片描述

答案3

使用dcolumn包中你可以自动获得所需的对齐:

\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}

\newcolumntype{M}{D{.}{.}{3.3}}

\begin{document}

\begin{tabular}{rM}
\toprule
\multicolumn{1}{c}{$\alpha$} & \multicolumn{1}{c}{$\alpha=0.99999$} \\
\midrule
10     & 69.681   \\
       & 901.741  \\
1000   & 893.630  \\
       & 82.806   \\
\bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

答案4

这是一个使用的解决方案siunitx列格式

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{tabular}{
  r
  S[
      table-format = 3.3,
      input-symbols=.,
  ]
  }
    \toprule
    \multicolumn{1}{c}{$\alpha$} & \multicolumn{1}{c}{$\alpha=0.99999$} \\
    \midrule
    10     & 69.681   \\
           & 901.741  \\
    1000   & 893.630  \\
           & 82.806   \\
    \bottomrule
\end{tabular}

\end{document}

相关内容