如何在不清除当前页面的情况下将表格放置在横向的新页面上?

如何在不清除当前页面的情况下将表格放置在横向的新页面上?

我想将表格以横向方式放置在新页面上。为此,我使用

\usepackage{pdflscape}
...
\pagestyle{empty}
\begin{landscape}
\begin{table}[htbp]
\begin{center}
\begin{tabular}{llll}
...
\end{tabular}
\end{center}
\end{table} 
\end{landscape}
\pagestyle{plain}

但是,这会清除当前页面,将表格以横向放置在下一页,然后在纵向的新页面中重新开始排版。

问题我想将表格放在新页面上(就像现在这样),但又不想清除当前页面。这样可以吗?

谢谢!

答案1

与我的回答类似如何让文字环绕横向页面我将使用\afterpage来自afterpage包的表格放置在声明它的下一页。这里table使用非浮动替换,例如\captionof{table}{...}使用(capt-ofcaption)包。

一个问题是潜在的 other table,应该事先将其清除。否则非浮动table替换可能会更早出现。

\documentclass{article}

\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{capt-of}% or use the larger `caption` package

\usepackage{lipsum}% dummy text
\begin{document}
\lipsum % Text before
\afterpage{%
    \clearpage% Flush earlier floats (otherwise order might not be correct)
    \thispagestyle{empty}% empty page style (?)
    \begin{landscape}% Landscape page
        \centering % Center table
        \begin{tabular}{llll}
            A & B & C & D \\
        \end{tabular}
        \captionof{table}{Table caption}% Add 'table' caption
    \end{landscape}
    \clearpage% Flush page
}
\lipsum % Text after
\end{document}

答案2

您可以使用来自旋转包;一个小例子:

\documentclass{article}
\usepackage{rotating}

\begin{document}
text text text text
\begin{sidewaystable}
  \centering
  \rule{3cm}{4cm}% to simulate a table
  \caption{A rotated table}
  \label{tab:test}
\end{sidewaystable}
text text text
\end{document}

答案3

\documentclass{article}

\usepackage{lscape}

\begin{document}

% An extra wide table 
\begin{landscape}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}\hline

Object & Apple & Banana & Stone & Cake & Tree & Flower & House & Door & Car & Plane & Chair \\ \hline 

Quantity in Thousands & 35  &  25  & 23 & 33 & 43  & 52 & 64 & 75 & 86  & 94  & 122  \\ \hline 

\end{tabular}
\end{landscape}
\end{document}

%To this end, everything will be displayed in portrait format.\\

相关内容