我已经看到许多有关 2 个表格的问题,但是由于某种原因,当我有多个表格(可能扩展到新页面)时,没有一个解决方案对我有用。
下面的示例针对 2 个表格,但在我的实际文档中我有许多表格,并且它们之间有很大空间。我尝试了以下方法:
\begin{table}
使用...将它们全部合并到单个表中\end{table}
。这确实会删除空格。但问题是,当多个页面上有许多表格时,它不会在正确的位置拆分成新页面。它只会截断表格,其余表格会消失。
但是,当我将它们分开时,如下所示,中间就会出现很大的空白。
当然,我可以手动插入
\begin{table}
....\end{table}
作为表格的子集(可能是前2个或3个),然后让分页符发生,然后对剩余的表格进行分组\begin{table}
....\end{table}
,但这对我来说似乎不是一个可持续的解决方案,因为随着文档的变化,我必须更新它。
\documentclass[runningheads]{llncs}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{tabularx}
\begin{document}
\begin{table}[]
\caption{S }
\label{tab:mytable}
\begin{tabular}{@{}llll@{}}
\toprule
& a & b & q \\ \midrule
0 & 5 & 2 & 9.0 \\
0 & 5 & 5 & .39 \\
0 & 5 & 3 & .73 \\ \bottomrule
\end{tabular}
\end{table}
\setlength{\floatsep}{0.1pt}
\begin{table}[]
\caption{S }
\label{tab:mytable}
\begin{tabular}{@{}llll@{}}
\toprule
& a & b & q \\ \midrule
0 & 5 & 2 & 9.0 \\
0 & 5 & 5 & .39 \\
0 & 5 & 3 & .73 \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
如何减少多个表格之间的空间,但仍允许自然地进行分页?
答案1
您使用了\begin{table}[]
表示不允许在任何地方浮动。
LaTeX 假定你不是这个意思,并发出警告:
LaTeX Warning: No positions in optional float specifier.
Default added (so using `htbp') on input line 8.
碰巧它最终使用了h
所以有效参数不是\floatsep
但是\intextsep
\documentclass[runningheads]{llncs}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{tabularx}
\setlength{\intextsep}{-10.1pt}
\raggedbottom
\begin{document}
\begin{table}[]
\caption{S }
\label{tab:mytable}
\begin{tabular}{@{}llll@{}}
\toprule
& a & b & q \\ \midrule
0 & 5 & 2 & 9.0 \\
0 & 5 & 5 & .39 \\
0 & 5 & 3 & .73 \\ \bottomrule
\end{tabular}
\end{table}
\begin{table}[]
\caption{S }
\label{tab:mytable}
\begin{tabular}{@{}llll@{}}
\toprule
& a & b & q \\ \midrule
0 & 5 & 2 & 9.0 \\
0 & 5 & 5 & .39 \\
0 & 5 & 3 & .73 \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
注意,h
标准类不会默认此值,这是特定于llncs
(您在问题的原始版本中没有提到)