将大桌子置于中央

将大桌子置于中央

我对这个表格有两个问题:它没有显示在文本中央(可能太大了,但我无法让它变小),而且它在底部显示两条线。 \begin{table}[h] \centering .. \end{table} 不起作用

\documentclass{book}
\usepackage{array}

\begin{document}    
\begin{center}
\begin{tabular}{ |>{\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | @{}m{0pt}@{}}

\cline{2-5}

 \multicolumn{1}{c|}{}& \multicolumn{2}{c|} {Probe} & \multicolumn{2}{c|} {Probe} \\[0.5cm]

\cline{2-5}

\multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Pump} & \multicolumn{1}{c|} {Pump} & \multicolumn{1}{c|} {Pump} & \multicolumn{1}{c|} {Pump} \\[0.5cm]

\hline
a   & 5,0441    &1,9797 &4,6986 &2,9247   &\\[0.4cm]

\hline
b       &1,0364 &1,0047 &-1,2025    &-0,9834 &\\[0.4cm]

\hline
c   & 0,5283    &0,0717 &0,1125 &0,3644 &\\[0.4cm]

\hline
d   & 0,2361    &0,1967 &-0,1241    &-0,3231 &\\[0.4cm]

\hline
e   & 0,0241    &-0,0014    &0,0028 &0,0286 &\\[0.4cm]

\hline
f       & 0,0924    &-0,0234    &-0,1167    &-0,1930 &\\[0.4cm]

\hline
\label{tab:1}
\end{tabular}
\end{center}
\end{document}

答案1

我删除了在末尾生成额外行的虚假内容\label,并隐藏了表格的宽度,因此它居中,不清楚为什么它必须这么宽,也许它只是一个小例子,但显示的数据会更具可读性,没有所有额外的空间,也没有垂直线。(见包装booktabs

但:

\documentclass{book}
\usepackage{array}

\begin{document}    
\begin{center}
\setlength\extrarowheight{5pt}
\makebox[0pt]{%
\begin{tabular}{ |>{\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | >{\centering\arraybackslash}m{1in} | @{}m{0pt}@{}}

\cline{2-5}

 \multicolumn{1}{c|}{}& \multicolumn{2}{c|} {Probe} & \multicolumn{2}{c|} {Probe} \\[0.4cm]

\cline{2-5}

\multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Pump} & \multicolumn{1}{c|} {Pump} & \multicolumn{1}{c|} {Pump} & \multicolumn{1}{c|} {Pump} \\[0.4cm]

\hline
a   & 5,0441    &1,9797 &4,6986 &2,9247   &\\[0.4cm]

\hline
b       &1,0364 &1,0047 &-1,2025    &-0,9834 &\\[0.4cm]

\hline
c   & 0,5283    &0,0717 &0,1125 &0,3644 &\\[0.4cm]

\hline
d   & 0,2361    &0,1967 &-0,1241    &-0,3231 &\\[0.4cm]

\hline
e   & 0,0241    &-0,0014    &0,0028 &0,0286 &\\[0.4cm]

\hline
f       & 0,0924    &-0,0234    &-0,1167    &-0,1930 &\\[0.4cm]

\hline
\end{tabular}}
\end{center}

\hrule

\end{document}

答案2

您有五个一英寸宽的列,加上列间距和规则,总共是 72.27pt 乘以 5 加上 6pt 乘以 10 加上 0.4 乘以 6,也就是 423.75pt;标准文本宽度为 345pt。

事实上,编译示例文件会显示警告

Overfull \hbox (78.74991pt too wide)

这个微小的差异是由于四舍五入到比例点造成的,但 0.00009pt 是 6 个比例点(远小于可见光的波长)。

将表格条目排版得像在工作表中一样并不是好的排版,使用太宽的列会使阅读困难。

booktabs通过使用和,你可以得到更精细的表格siunitx

\documentclass{book}
\usepackage{booktabs,siunitx}

\sisetup{output-decimal-marker={,}}

\begin{document}    
\begin{center}
\begin{tabular}{
  l *{4}{S[table-format=-1.4]}
}
\toprule
 & \multicolumn{2}{c}{\bfseries Probe} & \multicolumn{2}{c}{\bfseries Probe} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
 & {Pump} & {Pump} & {Pump} & {Pump} \\
\midrule
a   & 5,0441 &  1,9797 &  4,6986 &  2,9247 \\
b   & 1,0364 &  1,0047 & -1,2025 & -0,9834 \\
c   & 0,5283 &  0,0717 &  0,1125 &  0,3644 \\
d   & 0,2361 &  0,1967 & -0,1241 & -0,3231 \\
e   & 0,0241 & -0,0014 &  0,0028 &  0,0286 \\
f   & 0,0924 & -0,0234 & -0,1167 & -0,1930 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}

在此处输入图片描述

与您的原文进行比较,显而易见:

在此处输入图片描述

垂直规则会影响可读性,而空白也不会缓解这种情况。

无论如何,表格应该有其应有的宽度。;-) 只是为了使表格变大而加宽列间距肯定会使表格变得更糟。

关于列的一个注释S:包含支撑内容的单元格被视为标题(或非数字数据)并位于可用空间的中心,因此标题只需输入为{Pump}。 将\midrule顶部与数据分开。

\sisetup请注意,减号是真正的符号,而不是连字符。只需删除前导码中的行,即可将输出更改为小数点而不是逗号。

最后,\label与表格标题有关;如果您想将它们放在一起table,环境确实可以有多个tabular,并且每个都有一个标题。必须\label放在其参数中\caption或之后。

相关内容