使用 longtable 的最后一列的间距问题

使用 longtable 的最后一列的间距问题

我正在 LaTeX 环境中开发一些表格,但在间距方面遇到了一些问题。最初,我能够使用标准 生成表格\begin{table},但后来我尝试添加一些功能,因为如果表格太长(使用longtable),就会出现拆分表格的功能。我还想按小数点和中心对齐数字,这就是我使用siunitx包的原因。问题出在最后一列,它的宽度几乎是其他列的两倍。如果我指定列宽,问题就会“消失”,但我真的很想知道自动生成表格宽度的可能性。

代码如下:

\documentclass[paper=a4, fontsize=11pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage{longtable}
\usepackage{booktabs}

\begin{document}
\begin{longtable}{l*{4}{S}}
% no problem specifying the column width\begin{longtable}{l*{4}{S[table-column-width=1.25cm]}}
\caption{Univariate Item Descriptives}\\
\toprule
\multicolumn{1}{l}{\textbf{Item}} & \multicolumn{1}{c}{\textbf{Mean}} &    \multicolumn{1}{c}{\textbf{Variance}} & \multicolumn{1}{c}{\textbf{Skewness}} & \multicolumn{1}{c}{\textbf{Kurtosis}} \\
\midrule
\endfirsthead
\multicolumn{5}{c}%
{\tablename\ \thetable\ -- \textit{Univariate Item Descriptives (Continued from previous page)}} \\
\toprule
\textbf{Item} & \textbf{Mean} & \textbf{Variance} & \textbf{Skewness} & \textbf{Kurtosis} \\
\midrule
\endhead
\hline \multicolumn{5}{r}{\textit{Continued on next page}} \\
\endfoot
\bottomrule
\endlastfoot
2. EX +         & 2.788   &    1.060 &        -0.120   &   -0.368\\
3. DS +         & 4.080   &    0.853 &        -1.141   &    1.379\\
4. AM +         & 3.684   &    0.705 &        -0.541   &    0.744\\
5. EX +         & 3.653   &    1.043 &        -0.709   &    0.149\\
6. DS -         & 2.240   &    1.665 &         0.725   &   -0.603\\
7. AM +         & 4.292   &    0.876 &        -1.627   &    2.705\\
8. EX -         & 2.419   &    1.588 &         0.449   &   -0.897\\
9. AM +         & 3.255   &    0.923 &        -0.234   &   -0.037\\
10. DS -        & 3.449   &    1.408 &        -0.453   &   -0.599\\
11. EX +        & 3.678   &    1.232 &        -0.669   &   -0.219\\
12. AM -        & 2.830   &    1.162 &         0.029   &   -0.565\\
13. EX -        & 3.452   &    1.205 &        -0.410   &   -0.336\\
14. DS -        & 2.442   &    1.374 &         0.310   &   -0.893\\
15. AM -        & 2.114   &    1.168 &         0.729   &   -0.176\\
16. EX -        & 3.070   &    1.085 &        -0.176   &   -0.347\\
17. AM +        & 3.893   &    1.116 &        -0.954   &    0.544\\
18. EX +        & 3.311   &    0.964 &        -0.238   &   -0.066\\
19. AM -        & 2.674   &    1.404 &         0.245   &   -0.780\\
\end{longtable}
\end{document}

输出

答案1

问题在于连续标题太宽;超出的部分总是转移到最后一列。

在此处输入图片描述

\documentclass[paper=a4, fontsize=11pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage{longtable}
\usepackage{booktabs}

\textheight=8\baselineskip % just for the example

\begin{document}

\begin{longtable}{
  l
  *{2}{S[table-format=1.3]}
  *{2}{S[table-format=-1.3]}
}
\caption{Univariate Item Descriptives}\\
% first head
  \toprule
  \multicolumn{1}{l}{\textbf{Item}} &
  \multicolumn{1}{c}{\textbf{Mean}} &
  \multicolumn{1}{c}{\textbf{Variance}} &
  \multicolumn{1}{c}{\textbf{Skewness}} &
  \multicolumn{1}{c}{\textbf{Kurtosis}} \\
  \midrule
\endfirsthead
% head
  \multicolumn{5}{c}{\tablename\ \thetable\ -- \textit{Univariate Item Descriptives}} \\
  \multicolumn{5}{r}{\textit{Continued from previous page}} \\
  \toprule
  \textbf{Item} & \textbf{Mean} & \textbf{Variance} & \textbf{Skewness} & \textbf{Kurtosis} \\
  \midrule
\endhead
% foot
  \hline \multicolumn{5}{r}{\textit{Continued on next page}} \\
\endfoot
% end foot
\bottomrule
\endlastfoot
% the table
2. EX +         & 2.788   &    1.060 &        -0.120   &   -0.368\\
3. DS +         & 4.080   &    0.853 &        -1.141   &    1.379\\
4. AM +         & 3.684   &    0.705 &        -0.541   &    0.744\\
5. EX +         & 3.653   &    1.043 &        -0.709   &    0.149\\
6. DS -         & 2.240   &    1.665 &         0.725   &   -0.603\\
7. AM +         & 4.292   &    0.876 &        -1.627   &    2.705\\
8. EX -         & 2.419   &    1.588 &         0.449   &   -0.897\\
9. AM +         & 3.255   &    0.923 &        -0.234   &   -0.037\\
10. DS -        & 3.449   &    1.408 &        -0.453   &   -0.599\\
11. EX +        & 3.678   &    1.232 &        -0.669   &   -0.219\\
12. AM -        & 2.830   &    1.162 &         0.029   &   -0.565\\
13. EX -        & 3.452   &    1.205 &        -0.410   &   -0.336\\
14. DS -        & 2.442   &    1.374 &         0.310   &   -0.893\\
15. AM -        & 2.114   &    1.168 &         0.729   &   -0.176\\
16. EX -        & 3.070   &    1.085 &        -0.176   &   -0.347\\
17. AM +        & 3.893   &    1.116 &        -0.954   &    0.544\\
18. EX +        & 3.311   &    0.964 &        -0.238   &   -0.066\\
19. AM -        & 2.674   &    1.404 &         0.245   &   -0.780\\
\end{longtable}
\end{document}

在此处输入图片描述

答案2

如果你添加

\addtolength\textheight{-30\baselineskip}

你在第 2 页看到了空格的原因

在此处输入图片描述

您需要缩短标题或将其扩展到两行,这样就不会导致最后一列太宽。

也许

\multicolumn{5}{c}%
{\tablename\ \thetable\ -- \textit{Univariate Item Descriptives}} \\
\multicolumn{5}{r}%
{(\textit{Continued from previous page})} \\
\toprule
\textbf{Item} & \textbf{Mean} & \textbf{Variance} & \textbf{Skewness} & \textbf{Kurtosis} \\
\midrule
\endhead

相关内容