如何在页面样式为空的页面上获取大表格?

如何在页面样式为空的页面上获取大表格?

在我的文档中,我有一个相当大的表格。我想将此表格放在没有标题和页码的页面上。如何将此表格放在 上\thispagestyle{empty}?在表格或表格环境中使用它会使定义浮动的页面变为空白,并将标题留在表格上。

如果有关系的话,我会使用fancyhdr

答案1

fancyhdr提供\iffloatpage可用于定制仅包含浮点数的页面的页眉和页脚的宏。

\documentclass{book}

\usepackage{fancyhdr}
\fancyhead{}
\fancyhead[LE,RO]{\iffloatpage{}{\slshape\rightmark}}
\fancyhead[LO,RE]{\iffloatpage{}{\slshape\leftmark}}
\fancyfoot{}
\fancyfoot[C]{\iffloatpage{}{\thepage}}
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
\pagestyle{fancy}

\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

\blinddocument

\begin{table}[p]
\centering
(Table contents)
\caption{A table on a separate page}
\end{table}

\end{document}

编辑:对于那些想要使用\iffloatpageKOMA-scriptscrpage2包中的宏而不是 with 的人fancyhdr,请将以下内容添加到您的序言中(感谢 Stefan Kottwitz 提供的提示):

\makeatletter
\newcommand*{\iffloatpage}[2]{\if@fcolmade #1\else #2\fi}
\makeatother

(这盲文包仅用于向示例添加一些虚拟文本。)

答案2

使用时回忆录文档类命令mergepagefloatstyle可用于区分常规页面和仅包含浮动元素的页面样式,类似于@lockstep 的解决方案。例如

\mergepagefloatstyle{floatcomp}{ruled}{empty}

定义一个新样式floatcomp,该样式将使用页面样式ruled来处理常规页面和empty仅浮动页面。

一位 MWE 表示:

\documentclass{memoir}
\usepackage{kantlipsum}

% Define new style floatcomp that usees 'ruled' style for regular
% pages, and 'empty' for float-only pages.
\mergepagefloatstyle{floatcomp}{ruled}{empty}
% Use previously defined floatcomp style
\pagestyle{floatcomp}

\begin{document}

\kant[1-5]

\begin{table}[p]
\centering
(Table contents)
\caption{A table on a separate page}
\end{table}
\clearpage

\kant[10-13]

\end{document}

答案3

您可以简单地将表格放在其自己的页面上,而无需将其放在table环境中。然后您可以在表格之前使用\thispagestyle{empty}。要正确添加标题,请使用包\captionof中的命令caption

答案4

因为这个问题目前还没有真正令人满意的答案,所以我想为艾伦的方法添加一种替代方法。

\clearpage
\thispagestyle{empty}
\begin{figure}
...
\end{figure}
\clearpage

这可以让你保持“浮动”,只是不再浮动了。这有点糟糕,但这至少让你有另一种毒药可供选择。

相关内容