在我的论文(book
课程)中,我有一个跨越两页的长表。为了清晰起见,我希望表格跨越偶数页和奇数页(左页和右页)。
在这里给出的答案中(https://tex.stackexchange.com/a/11709),该\cleardoublepage
命令经过修改以提供相同的功能,但强制内容从偶数页开始。虽然这实现了表格的正确定位,但它强制在文本末尾和表格开头之间留出空白页。
我想强制表格从偶数页开始,同时不破坏其前面的文本流。我编写了一个 MWE,其输出如下:
表格从第 4 页开始(这是期望的),但第 3 页大部分是空白的。我希望表格后面的文本(第 5 页)能够从第 3 页继续。
梅威瑟:
\documentclass[12pt]{book}
\usepackage[bindingoffset=19mm]{geometry}
\usepackage{longtable}
\usepackage{lipsum} % dummy text only
% from https://tex.stackexchange.com/a/11709
\newcommand*\cleartoleftpage{%
\clearpage
\ifodd\value{page}\hbox{}\newpage\fi
}
\begin{document}
\chapter{A}
\lipsum
% a long table over multiple pages
\cleartoleftpage
\begin{longtable}{ll}
\caption{Caption}\\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
\end{longtable}
\lipsum
\end{document}
答案1
此解决方案使用\afterpage
(即使它很脆弱)。请注意,标题编号直到其出现的页面才被分配。
\documentclass[12pt]{book}
\usepackage[bindingoffset=19mm]{geometry}
\usepackage{longtable}
\usepackage{afterpage}
\usepackage{lipsum} % dummy text only
\newcommand{\waitforit}[1]{% #1 = contents
\ifodd\value{page}\afterpage{#1}%
\else #1
\fi
}
\begin{document}
\chapter{A}
\lipsum[1]
% a long table over multiple pages
\afterpage{\waitforit{\begin{longtable}{ll}
\caption{Caption}\\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
a & b \\
\end{longtable}}}
\lipsum[2-16]
\end{document}