我有两个连续的表格,由于它们很宽,我想将它们放在横向页面中。但它不会在一个页面上显示它们。这是我使用的代码:
\begin{landscape}
\begin{table}[htb]
\caption{}\label{sup1}
\begin{tabular}
...
\end{tabular}
\end{table}
\begin{table}[htb]
\caption{}\label{sup2}
\begin{center}
\begin{tabular}
...
\end{tabular}
\end{center}
\end{table}
\end{landscape}
答案1
如果两个表格确实适合放在一页上,则只需将它们包含在一个浮点数中。
\medskip
如果你在第一行\end{tabular}
和第二行之间放置一个空白行和一些垂直空间,比如说,\begin{tabular}
它们应该一个在另一个之上,而不是并排设置。
你需要强制他们从新页面开始。这可以通过以下方式完成
\usepackage{afterpage,lscape}
...
\afterpage{\clearpage % begin landscape tables
\begin{landscape}
... [tables]
\end{landscape}
} % end landscape tables
在此范围内,如果您有多页表格,则可以使用\newpage
。事实上,您甚至可以使用longtable
(只要您\usepackage{longtable}
)。
答案2
如果你关心的是保留横向页面上的两个表格不惜一切代价,那么使用浮动元素可能不是最佳选择。原因是 LaTeX 只允许在一页上放置一定数量的浮动元素,并且浮动元素只能占据页面的一定部分。控制浮动元素在一页上的位置的数量和参数在如何影响 LaTeX 中图形和表格等浮动环境的位置?
如果这确实是问题(表格浮动到其他页面,因为它们不符合参数要求),我建议不是通过使用caption
包裹(或精简版capt-of
包裹) 通过\captionof
。这样您就可以拥有浮点数的字幕功能,而无需使用浮点数:
\begin{landscape}
\centering
\captionof{table}{This is a table.}\label{sup1}\par
\begin{tabular}
...
\end{tabular}
\bigskip
\captionof{table}{This is another table.}\label{sup2}\par
\begin{tabular}
...
\end{tabular}
\end{landscape}
另一方面,如果您只需要在页面上增加一点垂直空间来容纳第二个表格,则可以使用\enlargethispage{\baselineskip}
一行额外的空间(或使用任意长度来根据需要放大页面)。
答案3
实现此目的的一种方法是将两个“表格”写在一个“表格”内。这就是我的意思:
\usepackage{lscape}
...
\begin{landscape}
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{|l|c|}
...
\end{tabular}
\label{tab:addlabel1}%
\vspace{1cm} %space between tables
\caption{Add caption}
\begin{tabular}{|l|c|}
...
\end{tabular}%
\label{tab:addlabel2}%
\end{table}%
\end{landscape}