我有一个横跨多页的大型水平表格。LaTeX 在表格前放置了分页符,但我并不想使用分页符。我希望文本填满表格前的页面。我试过 \nopagebreak,但它不起作用。我怎样才能不允许在表格前放置分页符并用文本填满表格前的页面?这是一个小例子:
\documentclass{article}
\usepackage{longtable}
\usepackage{threeparttablex}
\usepackage{lscape}
\usepackage{tabu}
\begin{document}
I do not want a page break here
\nopagebreak
\begin{landscape}
\begin{ThreePartTable}
\begin{longtabu}{X[l] X[l] X[l]} \hline
Column1 & Column2 & Column3
\end{longtabu}
\end{ThreePartTable}
\end{landscape}
I want this text to go before the table
\end{document}
答案1
longtable
s 不会像table
这样浮动,通常它们会出现在放置的文本流中,并且表格之后的文本从未设置过。
但是,您可以使用\afterpage
将表延迟一定量,您可以将整个表包含在参数中,\afterpage
但如果表真的很长,最好将其放在外部文件中,如下所示:
\begin{filecontents}{lt1}
\begin{landscape}
\begin{ThreePartTable}
\begin{longtabu}{X[l] X[l] X[l]} \hline
Column1 & Column2 & Column3
\end{longtabu}
\end{ThreePartTable}
\end{landscape}
\end{filecontents}
\documentclass{article}
\usepackage{longtable}
\usepackage{threeparttablex}
\usepackage{lscape}
\usepackage{tabu}
\usepackage{afterpage}
\begin{document}
I do not want a page break here
\afterpage{\input{lt1}}
I want this text to go before the table
\end{document}