如何将两个表格放在一个横向页面中

如何将两个表格放在一个横向页面中

我有两个连续的表格,由于它们很宽,我想将它们放在横向页面中。但它不会在一个页面上显示它们。这是我使用的代码:

\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}

相关内容