在第二页上,表格被绘制在页脚上,而不是移动到下一页。
但第一张桌子做移动到第二页,而不是直接绘制在后面\lipsum[1-2]
,因为那里没有足够的空间。
\documentclass[14pt]{extarticle}
\usepackage{lipsum}
\usepackage{ltablex}
\usepackage{placeins}
\newcommand{\maketable}[1]{
\FloatBarrier
\begin{table}[h]
\begin{tabularx}{\textwidth}{|X|}
\hline
#1\\
\hline
\end{tabularx}
\end{table}
\FloatBarrier
}
\begin{document}
\lipsum[1-2]
\maketable{
\lipsum[1]
}
\maketable{
\lipsum[1-2]
}
\end{document}
我尝试过的:
正在删除
\FloatBarrier
。 表格到处乱飞。有时表格会跳到应该放在其前面的文本上方。有时表格之间会莫名其妙地出现巨大的垂直间隙。正在删除
\begin{table} ... \end{table}
。表格被转移到下一页,但顶部hhline
仍保留。使用
tabularx
而不是ltablex
。第二个表格确实移动到了下一页,但第一个表格被放置在页面的中间,而不是顶部。使用\begin{table}[ht]
而不是\begin{table}[h]
并没有帮助(在日志中它说 [h] 无论如何都会自动更改为 [ht])。似乎longtable
在浮动中使用 不是一个好主意(我想这是可以预料到的)。但是,为什么使用常规 时第一个表格会放置在页面的中间tabularx
?- 尝试使用 TexLive 和 MikTex,它们都生成相同的 pdf。关联
显然,使用\begin{table}[H]
(需要\usepackage{float}
)可以以某种方式解决这个问题。
我不知道为什么,而且我担心使用 [H] 以后可能会产生很多其他问题,但到目前为止我还没有注意到任何问题。
使用 [H] 后的效果如下:关联