Por que a tabela é desenhada no rodapé em vez de ser movida para a próxima página?

Por que a tabela é desenhada no rodapé em vez de ser movida para a próxima página?

Na segunda página a tabela é desenhada sobre o rodapé em vez de ser movida para a próxima página.

Mas a primeira mesafazsão movidos para a segunda página em vez de serem desenhados logo após \lipsum[1-2], onde não há espaço suficiente.

\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}

O que eu tentei:

  • Removendo \FloatBarrier. As mesas voam por todo lado. Às vezes, as tabelas saltam acima do texto que deveria vir antes delas. Às vezes, recebo lacunas verticais gigantescas entre as tabelas sem motivo aparente.

  • Removendo \begin{table} ... \end{table}.As tabelas são transferidas para a próxima página, mas a parte superior hhlinefica para trás.

  • Usando tabularxem vez de ltablex.A segunda tabela é movida para a próxima página, mas a primeira tabela é colocada no meio da página, em vez de no topo. Usar \begin{table}[ht]em vez de \begin{table}[h]não ajuda (no log diz que [h] foi alterado para [ht] automaticamente de qualquer maneira). Parece que usar longtabledentro de um float é uma má ideia (o que é de se esperar, eu acho). Ainda assim, por que a primeira tabela é colocada no meio da página ao usar regular tabularx?

  • Tentei usar TexLive e MikTex, ambos produziram PDF idênticos.Link

Aparentemente, usar \begin{table}[H](requires \usepackage{float}) corrige o problema de alguma forma.

Não tenho ideia do porquê e estou preocupado que o uso de [H] possa criar muitos outros problemas mais tarde, mas até agora não notei nenhum.

Aqui está como fica com [H]:Link

informação relacionada