表格不适合页面

表格不适合页面

我有一张又长又宽的表格(9 列,67 行)。目前,我尝试使用 lscape 包将其水平显示。问题是它仍然太长太宽,以至于许多行和最后一列无法放入页面中。

我熟悉 longtable 包并尝试使用它,但它仍然不适合(无论是水平还是垂直)。

有人知道为什么会发生这种情况吗?我唯一能做的就是调整字体大小吗?

我发现了一些有用的帖子,但我仍然想知道什么对我来说是最好的。

我报告了一小部分代码,以备不时之需。

\documentclass{article}

\usepackage[utf8]{inputenc}

\usepackage{dcolumn}

\usepackage{siunitx}

\usepackage{lscape} 

\usepackage{longtable}

\begin{table}[H]

  \sisetup{

    input-digits = ()-01234567890,

    input-open-uncertainty = ,

    input-close-uncertainty = ,

    table-align-text-post = false,

detect-all
  }
  \centering

  \begin{longtable}{lccccccccc}

\label{tab:panel_main} \\ \hline
    \toprule
          & \multicolumn{1}{l}{Model 1} & \multicolumn{1}{l}{Model 2} & \multicolumn{1}{l}{Model 3} & \multicolumn{1}{l}{Model 4} & \multicolumn{1}{l}{Model 5} & \multicolumn{1}{l}{Model 6} & \multicolumn{1}{l}{Model 7} & \multicolumn{1}{l}{Model 8} & \multicolumn{1}{l}{Model 9} \\
    \midrule

    year 1958 & 1.314* & -     & \multicolumn{1}{l}{1.363*} & -     & \multicolumn{1}{l}{1.558**} & \multicolumn{1}{r}{1.345} & -     & -     & - \\
   
 year 1959 & 0.209 & -     & \multicolumn{1}{r}{0.0816} & -     & \multicolumn{1}{r}{-0.625} & \multicolumn{1}{r}{0.148} & -     & -     & - \\
         \bottomrule
\multicolumn{2}{c}{ Robust standard errors in parentheses} \\
\multicolumn{2}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
  \end{longtable}
\end{table}
\end{document}

提前致谢!

答案1

将放置longtabletable环境中是错误的,因为table不能跨页面分解。

我的印象是,您有一张标准桌子。以下是一些建议,可帮助您获得一张更好、更小的桌子。

永远不要重复信息:您可以简单地对模型列进行分组并为它们分配编号。同样,可以使用标题避免重复“年份”。

有了siunitx,对齐图形就变得容易多了。

\documentclass{article}

\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{table}
\centering

\sisetup{table-align-text-after = false}

\begin{tabular}{
 @{}
 l
 S[table-format=1.3{*}]
 S[table-format=1.3]
 S[table-format=1.4{*}]
 S[table-format=1.3]
 S[table-format=-1.3{**}]
 S[table-format=1.3]
 S[table-format=1.3]
 S[table-format=1.3]
 S[table-format=1.3]
 @{}
}

\toprule
Year & \multicolumn{9}{c}{Model} \\
\cmidrule(l){2-10}
& {1} & {2} & {3} & {4} & {5} & {6} & {7} & {8} & {9} \\
\midrule

1958 & 1.314* & {--} & 1.363* & {--} & 1.558** & 1.345 & {--} & {--} & {--} \\

1959 & 0.209 & {--}  & 0.0816 & {--} & -0.625 & 0.148 & {--}  & {--} & {--} \\
\bottomrule
\multicolumn{10}{@{}l@{}}{Robust standard errors in parentheses} \\
\multicolumn{10}{@{}l@{}}{*** $p<0.01$, ** $p<0.05$, * $p<0.1$} \\
  \end{tabular}

\end{table}

\end{document}

根据您拥有的实际值调整列的设置。

在此处输入图片描述

答案2

lscape这是与和 一起使用的代码siunitx。请注意, alongtable不是浮点数,因此它不必嵌套在table环境中,并且它会自动居中,因此\centering 毫无用处。我添加了各种代码改进和简化。

\documentclass{report}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{lscape}
\usepackage{longtable}

\begin{document}

\begin{landscape}
  \sisetup{%
    input-digits = ()-01234567890,
    input-signs = -,
    input-open-uncertainty = ,
    input-close-uncertainty = ,
    table-align-text-post = false,
    detect-all,
    table-format =-1.4***}
\setlength{\extrarowheight}{3pt}
  \begin{longtable}{@{}l*{9}{S}}

\label{tab:panel_main} \\ \hline
    \toprule
    & {Model 1} & {Model 2} & {Model 3} & {Model 4} & {Model 5} & {Model 6} & {Model 7} & {Model 8} & {Model 9} \\
    \midrule
    year 1958 & 1.314* & {$ - $} & 1.363* & {$ - $} & 1.558** & 1.345 & {$ - $} & {$ - $} & {$ - $} \\
 year 1959 & 0.209 & {$ - $} & 0.0816 & {$ - $} & -0.625 & 0.148 & {$ - $}& {$ - $} & {$ - $} \\
         \midrule[\heavyrulewidth]
\multicolumn{10}{l}{ Robust standard errors in parentheses} \\
\multicolumn{10}{l}{ *** $p<0.01$, \enspace ** $p<0.05$,\enspace * $p<0.1$}
  \end{longtable}
\end{landscape}

\end{document} 

在此处输入图片描述

相关内容