如何在页面上容纳宽表格

如何在页面上容纳宽表格

我正在用乳胶制作一张表格,但它太宽了,不适合页面。居中只会将其对齐在左侧,因此它会溢出到右侧。我已经尝试旋转它并设置文本宽度,但没有成功。非常感谢每一条提示!

这是我的代码:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\begin{document}
\begin{table}[htbp]
  \caption{Add caption}
       \begin{tabular}{lSSSSSSSS}
     \multicolumn{1}{l}{predicted Variable}&\multicolumn{2}{c}{step1\_coefs} & \multicolumn{2}{c}{step2\_coefs} & \multicolumn{2}{c}{step3\_coefs} & \multicolumn{2}{c}{step4\_coefs} \\
    \toprule
          & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} \\
    \midrule
    \textbf{w} & 0.145 & 0.082 & 0.205* & 0.082 & 0.225** & 0.081 & 0.161 & 0.085 \\
    \textbf{w} & -0.138*** & 0.041 & -0.103* & 0.041 & -0.116** & 0.041 & -0.134** & 0.044 \\
    \textbf{w} & -1.146*** & 0.042 & -1.135*** & 0.042 & -1.09*** & 0.042 & -1.055*** & 0.042 \\
    \textbf{w} & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262* & 0.103 \\
    \textbf{w} & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235* & 0.112 \\
    \textbf{w} & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
    \textbf{w} & -0.335*** & 0.041 & -0.336*** & 0.041 & -0.331*** & 0.04  & -0.323*** & 0.04 \\
    \textbf{w} &       &       & -0.108** & 0.038 & -0.093* & 0.038 & -0.025 & 0.041 \\
    \textbf{w} &       &       & -0.159 & 0.151 & 0.03  & 0.152 & 0.035 & 0.152 \\
     \textbf{w} &       &       & 0.555*** & 0.096 & 0.515*** & 0.096 & 0.549*** & 0.096 \\
    \textbf{w} &       &       & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
     \textbf{w} &       &       &       &       & 0.397* & 0.187 & 0.324 & 0.188 \\
    \textbf{w of w} &       &       &       &       & 1.357*** & 0.211 & 1.335*** & 0.212 \\
 \textbf{w w} &       &       &       &       & 0.576*** & 0.086 & 0.474*** & 0.089 \\
 \textbf{w w} &       &       &       &       & 0.477** & 0.175 & 0.46**  & 0.175 \\
 \textbf{w} &       &       &       &       & 0.7***   & 0.134 & 0.645*** & 0.135 \\
\textbf{w} &       &       &       &       &       &       & -0.382*** & 0.101 \\
 \textbf{w} &       &       &       &       &       &       & -0.385*** & 0.106 \\
\textbf{w} &       &       &       &       &       &       & 0.307 & 0.177 \\
\textbf{w} &       &       &       &       &       &       & -0.254 & 0.132 \\
\textbf{w} &       &       &       &       &       &       & 0.041 & 0.156 \\
\textbf{w} &       &       &       &       &       &       & -0.041 & 0.043 \\
\textbf{w} &       &       &       &       &       &       & -0.045 & 0.043 \\
\textbf{w} &       &       &       &       &       &       & -0.088* & 0.044 \\
\textbf{w} &       &       &       &       &       &       & -0.047 & 0.044 \\
\textbf{w} &       &       &       &       &       &       & -0.079 & 0.049 \\
\textbf{w} &       &       &       &       &       &       & 0.102 & 0.089 \\
    \midrule
    \textbf{$R^2$} & 0.186* &   & 0.196* &  & 0.214* &  & 0.222* &  &\\
     \textbf{$\Delta R^2$} &    &   & 0.01 &    & 0.018 &   & 0.008 &   &\\
\bottomrule
    \end{tabular}%
\end{table}%
\end{document}

答案1

在修复代码中一些明显的拼写错误和错误(例如,&最后两行中的多余符号)之后,\midrule用四个单独的\cmidrule语句替换第一个语句,并假设水平边距为 2.5 厘米,我建议您使用tabularx环境(修改X第一列的列类型,以允许根据需要换行)和dcolumn包以允许小数点对齐。(包siunitx及其S列类型也可以执行这种形式的对齐;但是,如果您需要实现的只是小数点对齐,那么加载包siunitx可能有点过头了。)

顺便说一句,这些指令\textbf{$R^2$}\textbf{$\Delta R^2$}没有鼓舞它们的参数。使用\mathbf(显然是在数学模式下),或者更好的是,不要将它们渲染为粗体。删除\textbf包装器是我在下面的代码中所做的。

在此处输入图片描述

\documentclass[a4paper]{article}      % 'a4paper' per the OP's comment
\usepackage[hmargin=2.5cm]{geometry} % choose the appropriate margins
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{dcolumn,tabularx,ragged2e} % <-- new
\newcolumntype{d}[1]{D..{#1}}
\newcolumntype{L}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}
\newcommand\sym[1]{^{#1}}

\begin{document}
\begin{table}[htbp]
\caption{Add caption} \label{add_label}
\begin{tabularx}{\textwidth}{@{} L *{4}{d{2.5}d{1.3}} @{}}
\toprule
Predicted Variable 
& \multicolumn{2}{c}{step1\_coefs} & \multicolumn{2}{c}{step2\_coefs} 
& \multicolumn{2}{c}{step3\_coefs} & \multicolumn{2}{c@{}}{step4\_coefs} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(l){8-9} 
& \multicolumn{1}{c}{est} & \multicolumn{1}{c}{se} 
& \multicolumn{1}{c}{est} & \multicolumn{1}{c}{se} 
& \multicolumn{1}{c}{est} & \multicolumn{1}{c}{se} 
& \multicolumn{1}{c}{est} & \multicolumn{1}{c@{}}{se} \\
\midrule
\textbf{w} & 0.145 & 0.082 & 0.205\sym{*}& 0.082 & 0.225\sym{**}& 0.081 & 0.161 & 0.085 \\
\textbf{w} & -0.138\sym{***}& 0.041 & -0.103\sym{*}& 0.041 & -0.116\sym{**}& 0.041 & -0.134\sym{**}& 0.044 \\
\textbf{w} & -1.146\sym{***}& 0.042 & -1.135\sym{***}& 0.042 & -1.09\sym{***}& 0.042 & -1.055\sym{***}& 0.042 \\
\textbf{w} & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262\sym{*}& 0.103 \\
\textbf{w} & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235\sym{*}& 0.112 \\
\textbf{w} & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
\textbf{w} & -0.335\sym{***}& 0.041 & -0.336\sym{***}& 0.041 & -0.331\sym{***}& 0.04  & -0.323\sym{***}& 0.04 \\ 
\addlinespace
\textbf{w} &       &       & -0.108\sym{**}& 0.038 & -0.093\sym{*}& 0.038 & -0.025 & 0.041 \\
\textbf{w} &       &       & -0.159 & 0.151 & 0.03  & 0.152 & 0.035 & 0.152 \\
\textbf{w} &       &       & 0.555\sym{***}& 0.096 & 0.515\sym{***}& 0.096 & 0.549\sym{***}& 0.096 \\
\textbf{w} &       &       & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
\addlinespace
\textbf{w} &       &       &       &       & 0.397\sym{*}& 0.187 & 0.324 & 0.188 \\
\textbf{w of w} &  &       &       &       & 1.357\sym{***}& 0.211 & 1.335\sym{***}& 0.212 \\
\textbf{w w} &     &       &       &       & 0.576\sym{***}& 0.086 & 0.474\sym{***}& 0.089 \\
\textbf{w w} &     &       &       &       & 0.477\sym{**}& 0.175 & 0.46\sym{**} & 0.175 \\
\textbf{w} &       &       &       &       & 0.7\sym{***}  & 0.134 & 0.645\sym{***}& 0.135 \\
\addlinespace
\textbf{w} &       &       &       &       &       &       & -0.382\sym{***}& 0.101 \\
\textbf{w} &       &       &       &       &       &       & -0.385\sym{***}& 0.106 \\
\textbf{w} &       &       &       &       &       &       &  0.307 & 0.177 \\
\textbf{w} &       &       &       &       &       &       & -0.254 & 0.132 \\ 
\textbf{w} &       &       &       &       &       &       &  0.041 & 0.156 \\
\textbf{w} &       &       &       &       &       &       & -0.041 & 0.043 \\
\textbf{w} &       &       &       &       &       &       & -0.045 & 0.043 \\
\textbf{w} &       &       &       &       &       &       & -0.088\sym{*}& 0.044 \\
\textbf{w} &       &       &       &       &       &       & -0.047 & 0.044 \\
\textbf{w} &       &       &       &       &       &       & -0.079 & 0.049 \\
\textbf{w} &       &       &       &       &       &       &  0.102 & 0.089 \\
\midrule
$R^2$        & 0.186\sym{*}& & 0.196\sym{*}& & 0.214\sym{*}& & 0.222\sym{*}  \\
$\Delta R^2$ &             & & 0.01        & & 0.018       & & 0.008    \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}

答案2

使用包siunitx,通过包定义页面布局geometry 并留下来tabular*定义列之间的空间:

编辑: 在 mwe 中被认为是米科关于如何改善列间距的建议。

在此处输入图片描述

(红线表示页面布局)

\documentclass[a4paper]{article}
\usepackage{geometry}    
\usepackage[utf8]{inputenc}
\usepackage{booktabs, multirow}
\usepackage{siunitx}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{table}[htbp]
\setlength\tabcolsep{0pt}
\caption{Add caption}
\label{tab:very impartand table}
    \begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}
                    >{\bfseries}l
                           *{4}{S[table-space-text-post=***,
                                  table-align-text-post=false,
                                  table-format=-1.3]           % <---
                                S[table-format=1.3]}           % <---
                                }
    \toprule
\normalfont\multirow{2}{11ex}[-1ex]{predicted\\ Variable}
    &   \multicolumn{2}{c}{step1\_coefs}
        &   \multicolumn{2}{c}{step2\_coefs}
            &   \multicolumn{2}{c}{step3\_coefs}
                &   \multicolumn{2}{c}{step4\_coefs} \\
    \cmidrule(lr){2-3}
    \cmidrule(lr){4-5}
    \cmidrule(lr){6-7}
    \cmidrule(l){8-9}
    & {\textbf{est}} & {\textbf{se}} & {\textbf{est}} & {\textbf{se}}
    & {\textbf{est}} & {\textbf{se}} & {\textbf{est}} & {\textbf{se}} \\
    \midrule
w       &  0.145    & 0.082 &  0.205*   & 0.082 &  0.225**  & 0.081 & 0.161     & 0.085 \\
w       & -0.138*** & 0.041 & -0.103*   & 0.041 & -0.116**  & 0.041 & -0.134**  & 0.044 \\
w       & -1.146*** & 0.042 & -1.135*** & 0.042 & -1.09***  & 0.042 & -1.055*** & 0.042 \\
w       &  0.159    & 0.103 &  0.154    & 0.103 &  0.181    & 0.101 & 0.262*    & 0.103 \\
w       &  0.023    & 0.107 &  0.019    & 0.107 &  0.086    & 0.106 & 0.235*    & 0.112 \\
w       & -0.007    & 0.005 & -0.005    & 0.005 & -0.008    & 0.005 & -0.009    & 0.005 \\
w       & -0.335*** & 0.041 & -0.336*** & 0.041 & -0.331*** & 0.04  & -0.323*** & 0.04  \\
w       &           &       & -0.108**  & 0.038 & -0.093*   & 0.038 & -0.025    & 0.041 \\
w       &           &       & -0.159    & 0.151 &  0.03     & 0.152 & 0.035     & 0.152 \\
w       &           &       &  0.555*** & 0.096 &  0.515*** & 0.096 & 0.549***  & 0.096 \\
w       &           &       &  0.081    & 0.095 &  0.064    & 0.094 & 0.039     & 0.094 \\
w       &           &       &           &       &  0.397*   & 0.187 & 0.324     & 0.188 \\
w of w  &           &       &           &       &  1.357*** & 0.211 & 1.335***  & 0.212 \\
w w     &           &       &           &       &  0.576*** & 0.086 & 0.474***  & 0.089 \\
w w     &           &       &           &       &  0.477**  & 0.175 & 0.46**    & 0.175 \\
w       &           &       &           &       &  0.7***   & 0.134 & 0.645***  & 0.135 \\
w       &           &       &           &       &           &       & -0.382*** & 0.101 \\
w       &           &       &           &       &           &       & -0.385*** & 0.106 \\
w       &           &       &           &       &           &       & 0.307     & 0.177 \\
w       &           &       &           &       &           &       & -0.254    & 0.132 \\
w       &           &       &           &       &           &       & 0.041     & 0.156 \\
w       &           &       &           &       &           &       & -0.041    & 0.043 \\
w       &           &       &           &       &           &       & -0.045    & 0.043 \\
w       &           &       &           &       &           &       & -0.088*   & 0.044 \\
w       &           &       &           &       &           &       & -0.047    & 0.044 \\
w       &           &       &           &       &           &       & -0.079    & 0.049 \\
w       &           &       &           &       &           &       & 0.102     & 0.089 \\
    \midrule
$R^2$   & 0.186*    &       &  0.196*   &       &  0.214*   &       & 0.222*    &       \\
$\Delta R^2$    &   &       &  0.01     &       &  0.018    &       & 0.008     &       \\
\bottomrule
    \end{tabular*}
\end{table}
\end{document}

答案3

另一种变体,使用稍微简单一点的代码和简单的 tabular,借助makecellcaption可以在上面的标题和表格之间实现更好的垂直间距:

\documentclass{article}
\usepackage[showframe]{geometry} 

\usepackage[utf8]{inputenc}
\usepackage{booktabs, makecell, caption}
\usepackage{siunitx} 

\begin{document}

\begin{table}[htbp]
\sisetup{table-format=1.3, table-number-alignment = center}
\renewcommand{\theadfont}{\normalsize\bfseries}
\renewcommand{\theadalign}{lc}
\setlength{\extrarowheight}{2pt}
\centering
  \caption{Add caption}
       \begin{tabular}{>{\bfseries\boldmath}l*{4}{S[table-space-text-post=***, table-space-text-pre = $-$]S}} %
     \makecell[l]{predicted\\ Variable}&\multicolumn{2}{c}{step1\_coefs} & \multicolumn{2}{c}{step2\_coefs} & \multicolumn{2}{c}{step3\_coefs} & \multicolumn{2}{c}{step4\_coefs} \\
    \toprule
          &{\thead{est}} & {\thead{se}} & {\thead{est}} & {\thead{se}} & {\thead{est}} & {\thead{se}} & {\thead{est}} & {\thead{se}} \\
    \midrule
    w & 0.145 & 0.082 & 0.205* & 0.082 & 0.225** & 0.081 & 0.161 & 0.085 \\
    w & -0.138*** & 0.041 & -0.103* & 0.041 & -0.116** & 0.041 & -0.134** & 0.044 \\
    w & -1.146*** & 0.042 & -1.135*** & 0.042 & -1.09*** & 0.042 & -1.055*** & 0.042 \\
    w & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262* & 0.103 \\
    w & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235* & 0.112 \\
    w & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
    w & -0.335*** & 0.041 & -0.336*** & 0.041 & -0.331*** & 0.04 & -0.323*** & 0.04 \\
    w & & & -0.108** & 0.038 & -0.093* & 0.038 & -0.025 & 0.041 \\
    w & & & -0.159 & 0.151 & 0.03 & 0.152 & 0.035 & 0.152 \\
    w & & & 0.555*** & 0.096 & 0.515*** & 0.096 & 0.549*** & 0.096 \\
    w & & & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
    w & & & & & 0.397* & 0.187 & 0.324 & 0.188 \\
    w of w & & & & & 1.357*** & 0.211 & 1.335*** & 0.212 \\
    w w & & & & & 0.576*** & 0.086 & 0.474*** & 0.089 \\
    w w & & & & & 0.477** & 0.175 & 0.46** & 0.175 \\
    w & & & & & 0.7*** & 0.134 & 0.645*** & 0.135 \\
    w & & & & & & & -0.382*** & 0.101 \\
    w & & & & & & & -0.385*** & 0.106 \\
    w & & & & & & & 0.307 & 0.177 \\
    w & & & & & & & -0.254 & 0.132 \\
    w & & & & & & & 0.041 & 0.156 \\
    w & & & & & & & -0.041 & 0.043 \\
    w & & & & & & & -0.045 & 0.043 \\
    w & & & & & & & -0.088* & 0.044 \\
    w & & & & & & & -0.047 & 0.044 \\
    w & & & & & & & -0.079 & 0.049 \\
    w & & & & & & & 0.102 & 0.089 \\
        \midrule
     $R^2$ & 0.186* & & 0.196* & & 0.214* & & 0.222* & \\
      $\Delta R^2$ & & & 0.01 & & 0.018 & & 0.008 & \\
    \bottomrule
    \end{tabular}%
\end{table}%

\end{document} 

在此处输入图片描述

相关内容