我正在尝试将 Latex 中的一张表置于书中的中心。
\begin{table}[b!]
\centering
\tabcolsep=3.0pt
\begin{tabular}{r|rrr|rrrr|rrrr}
& \multicolumn{3}{c}{temp123445} & \multicolumn{4}{c}{abcdefrw} & \multicolumn{4}{c}{bnopfsdtagfweau} \\
$\alpha$ & \# ter & \% gap & refw & \# ter & \% gap & rewf & \# path & \# ter & \% gap & esd & \# gred \\
\hline
1.60 & 56 & 2.93 & 1191.34 & 34 & 0.05 & 546.43 & 1300 & 31 & 0.38 & 401.20 & 1116 \\
2.43 & 3 & 8.45 & 1680.47 & 21 & 1.45 & 410.74 & 6428 & 16 & 2.65 & 816.47 & 5896 \\
2.75 & 9 & 3.97 & 903.57 & 19 & 1.71 & 480.65 & 169,286 & 56 & 2.15 & 539.52 & 11,209 \\
2.30 & 54 & 2.40 & 798.33 & 56 & 1.97 & 449.87 & 855,441 & 21 & 1.55 & 830.85 & 10,110 \\
2.50 & 22 & 0.91 & 654.06 & 9 & -- & 957.18 & -- & 26 & 0.80 & 475.83 & 7743 \\
3.75 & 23 & 0.70 & 554.46 & 5 & -- & 998.54 & -- & 27 & 0.68 & 577.48 & 7479 \\
6.00 & 43 & 0.61 & 470.26 & 3 & -- & 1627.80 & -- & 28 & 0.58 & 628.28 & 7048 \\
\hline
\end{tabular}
\caption{Results on bad data.}\label{tab:results-bad}
\end{table}
我认为这仅基于页边距进行居中。我可以忽略页边距并将其置于书页中央吗?
答案1
您可以使用\makebox[\textwidth]{...}
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{table}[b!]
\setlength{\tabcolsep}{3.0pt}
\centering
X\hrulefill X
\vspace{1ex}
\makebox[\textwidth]{
\begin{tabular}{r|rrr|rrrr|rrrr}
& \multicolumn{3}{c}{temp123445} & \multicolumn{4}{c}{abcdefrw} & \multicolumn{4}{c}{bnopfsdtagfweau} \\
$\alpha$ & \# ter & \% gap & refw & \# ter & \% gap & rewf & \# path & \# ter & \% gap & esd & \# gred \\
\hline
1.60 & 56 & 2.93 & 1191.34 & 34 & 0.05 & 546.43 & 1300 & 31 & 0.38 & 401.20 & 1116 \\
2.43 & 3 & 8.45 & 1680.47 & 21 & 1.45 & 410.74 & 6428 & 16 & 2.65 & 816.47 & 5896 \\
2.75 & 9 & 3.97 & 903.57 & 19 & 1.71 & 480.65 & 169,286 & 56 & 2.15 & 539.52 & 11,209 \\
2.30 & 54 & 2.40 & 798.33 & 56 & 1.97 & 449.87 & 855,441 & 21 & 1.55 & 830.85 & 10,110 \\
2.50 & 22 & 0.91 & 654.06 & 9 & -- & 957.18 & -- & 26 & 0.80 & 475.83 & 7743 \\
3.75 & 23 & 0.70 & 554.46 & 5 & -- & 998.54 & -- & 27 & 0.68 & 577.48 & 7479 \\
6.00 & 43 & 0.61 & 470.26 & 3 & -- & 1627.80 & -- & 28 & 0.58 & 628.28 & 7048 \\
\hline
\end{tabular}
}
\vspace{1ex}
X\hrulefill X
\caption{Results on bad data.}\label{tab:results-bad}
\end{table}
\end{document}
表格现在位于文本中心(而不是页面中心)的中心。
答案2
如果您不希望表格超出边距,也不使用tabularx
,则可以使用resizebox
类似 的 ,\resizebox{\textwidth}{!}{<your entire tabular>}
这样表格本身将调整大小以适合边距。当然,这会导致不同的字体大小。(这需要tikz
)。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{table}[b!]
\centering
\tabcolsep=3.0pt
\resizebox{\textwidth}{!}{
\begin{tabular}{r|rrr|rrrr|rrrr}
& \multicolumn{3}{c}{temp123445} & \multicolumn{4}{c}{abcdefrw} & \multicolumn{4}{c}{bnopfsdtagfweau} \\
$\alpha$ & \# ter & \% gap & refw & \# ter & \% gap & rewf & \# path & \# ter & \% gap & esd & \# gred \\
\hline
1.60 & 56 & 2.93 & 1191.34 & 34 & 0.05 & 546.43 & 1300 & 31 & 0.38 & 401.20 & 1116 \\
2.43 & 3 & 8.45 & 1680.47 & 21 & 1.45 & 410.74 & 6428 & 16 & 2.65 & 816.47 & 5896 \\
2.75 & 9 & 3.97 & 903.57 & 19 & 1.71 & 480.65 & 169,286 & 56 & 2.15 & 539.52 & 11,209 \\
2.30 & 54 & 2.40 & 798.33 & 56 & 1.97 & 449.87 & 855,441 & 21 & 1.55 & 830.85 & 10,110 \\
2.50 & 22 & 0.91 & 654.06 & 9 & -- & 957.18 & -- & 26 & 0.80 & 475.83 & 7743 \\
3.75 & 23 & 0.70 & 554.46 & 5 & -- & 998.54 & -- & 27 & 0.68 & 577.48 & 7479 \\
6.00 & 43 & 0.61 & 470.26 & 3 & -- & 1627.80 & -- & 28 & 0.58 & 628.28 & 7048 \\
\hline
\end{tabular}}
\caption{Results on bad data.}\label{tab:results-bad}
\end{table}
\end{document}