表格不适合页面?

表格不适合页面?

我曾提到过之前发布的关于同一主题的一些问题,即用于将表格放入页面中。代码取自我在网上找到的指南。

\documentclass{article}

\usepackage{booktabs}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}

\begin{document}

\begin{table*}\centering
\ra{1.4}
    \begin{tabular}{@{}rrrrcrrrcrrr@{}}\toprule
& \multicolumn{3}{c}{$w = 8$} & \phantom{abc}& \multicolumn{3}{c}{$w = 16$} &
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}\\
\cmidrule{2-4} \cmidrule{6-8} \cmidrule{10-12}
& $t=0$ & $t=1$ & $t=2$ && $t=0$ & $t=1$ & $t=2$ && $t=0$ & $t=1$ & $t=2$\\ \midrule
$dir=1$\\
$c$ & 0.0790 & 0.1692 & 0.2945 && 0.3670 & 0.7187 & 3.1815 && -1.0032 & -1.7104 & -21.7969\\
$c$ & -0.8651& 50.0476& 5.9384&& -9.0714& 297.0923& 46.2143&& 4.3590& 34.5809& 76.9167\\
$c$ & 124.2756& -50.9612& -14.2721&& 128.2265& -630.5455& -381.0930&& -121.0518& -137.1210& -220.2500\\
$dir=0$\\
$c$ & 0.0357& 1.2473& 0.2119&& 0.3593& -0.2755& 2.1764&& -1.2998& -3.8202& -1.2784\\
$c$ & -17.9048& -37.1111& 8.8591&& -30.7381& -9.5952& -3.0000&& -11.1631& -5.7108& -15.6728\\
$c$ & 105.5518& 232.1160& -94.7351&& 100.2497& 141.2778& -259.7326&& 52.5745& 10.1098& -140.2130\\
\bottomrule
    \end{tabular}
\caption{Caption}
\end{table*}

\end{document}

在此处输入图片描述 (忽略红色圆圈)

我尝试将上述链接中提出的解决方案应用到当前示例中:

  • p{width}如同\begin{tabular}{@{}rrrrcrrrcrrr@{}p{0.8\textwidth}}
  • tabularx环境\begin{tabularx}{@{}rrrrcrrrcrrrX@{}}
  • tabular*环境\begin{tabular*}{0.8\textwidth}{@{}rrrrcrrrcrrrX@{}}

编辑我正在使用一个简单的article类,除了 之外没有其他包booktabs

但它们不起作用?有什么想法吗?

答案1

除非您愿意并且能够扩大文本块的宽度或选择非常小的字体大小,否则我认为最好的选择是在横向模式下在单独的页面上排版表格。

以下代码通过使用sidewaystable环境来实现这一点。我还想建议您 (a) 使用array环境而不是环境tabular(因为大多数材料都是数学)和 (b) 加载包siunitx并使用其S列类型将数字列中的数字对齐到小数点标记上。我还会省略全空白的列。

在此处输入图片描述

\documentclass{article}

\usepackage{booktabs} % \toprule, \midrule, \cmidrule, \bottomrule, \addlinespace 
\usepackage{rotating} % for 'sidewaystable' environment
\usepackage{siunitx}  % for 'S' column type
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}

\begin{document}

\begin{sidewaystable} 
\ra{1.1} % 1.4 seems excessive
\centering
$\begin{array}{@{} l *{9}{S[table-format=-3.4]} @{}}
\toprule
& \multicolumn{3}{c}{w=8} & \multicolumn{3}{c}{w=16} & \multicolumn{3}{c@{}}{w=32}\\
\cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(l){8-10}
& {t=0} & {t=1} & {t=2} & {t=0} & {t=1} & {t=2} & {t=0} & {t=1} & {t=2} \\ 
\midrule
\mbox{dir}=1\\
c & 0.0790 & 0.1692 & 0.2945 & 0.3670 & 0.7187 & 3.1815 & -1.0032 & -1.7104 & -21.7969\\
c & -0.8651& 50.0476& 5.9384& -9.0714& 297.0923& 46.2143& 4.3590& 34.5809& 76.9167\\
c & 124.2756& -50.9612& -14.2721& 128.2265& -630.5455& -381.0930& -121.0518& -137.1210& -220.2500\\
\addlinespace
\mbox{dir}=0\\
c & 0.0357& 1.2473& 0.2119& 0.3593& -0.2755& 2.1764& -1.2998& -3.8202& -1.2784\\
c & -17.9048& -37.1111& 8.8591& -30.7381& -9.5952& -3.0000& -11.1631& -5.7108& -15.6728\\
c & 105.5518& 232.1160& -94.7351& 100.2497& 141.2778& -259.7326& 52.5745& 10.1098& -140.2130\\
\bottomrule
\end{array}$
\caption{Caption}
\end{sidewaystable}

\end{document}

相关内容