
Estou achando um pouco difícil manter as mesas onde eu queria. Também não consigo fazer um MWE. Mas o documento foi carregadoaqui.
Basicamente, diga o
o texto (~\ref{}) está na página 70 e a tabela real está na 84;
o texto (~\ref{}) está na página 71 e a tabela real está na 85;
o texto (~\ref{}) está na página 72 e a tabela real está na 86;
onde
\begin{table}[!hp]
foi usado no início de todas as tabelas.
Em todos os casos, o texto está em \subsection{}
s. As tabelas parecem ter sido esvaziadas até o final de toda a seção.
O que espero conseguir é que as tabelas estejam próximas do texto, senão talvez na next
página. Mas um simples !hp
não está funcionando de jeito nenhum.
Responder1
Há conselhos gerais (principalmente na resposta de Will) emuma pergunta anterior
No entanto, você tem um requisito específico (por algum motivo) para evitar flutuações de páginas de texto e permitir apenas h e p.
Isso dificulta o posicionamento. Se um ponto flutuante não puder ir "aqui" (e esse geralmente é o caso, pois esse ponto está muito baixo na página para caber em um ponto flutuante), então o LaTeX irá retê-lo para criar uma página flutuante. Para evitar páginas muito vazias ele espera até ter pelo menos \floatpagefraction
uma página (essa fração não é ignorada se você usar !
). Por padrão, article
é 0,5, portanto, pelo menos metade da página deve ser preenchida.
Isso significa que se você tiver duas figuras com a primeira com menos de meia página de altura, em cerca de metade dos casos elas não caberão "aqui", pois esse ponto estará na metade inferior da página. O primeiro float não pode formar uma página float porque a página ficará muito curta, mas as duas figuras não caberão em uma página float se a segunda for maior, ou mesmo se for menor mas não houver espaço para duas figuras e o \floatsep
espaço entre. Isso significa que uma configuração [hp]
torna muito fácil obter carros alegóricos que não podem ser colocados e, como todas as figuras são mantidas em ordem, uma vez que uma não pode ser colocada, todas elas são impossíveis de colocar. Eles serão então retidos até serem alinhados com um \clearpage
no final do documento ou seção.
Portanto, com a opção de [hp]
você deve definir um \floatpagefraction
valor baixo o suficiente para que qualquer sequência de carros alegóricos possa ser colocada.
O mais simples é configurá-lo bem baixo, digamos, 0,01. Então nenhum float deve flutuar em mais de uma página; sempre será enviado imediatamente. No entanto, como os floats não são retidos, as páginas float terão apenas um float por página, pois o latex não esperará para ver se o próximo cabe.
Responder2
Existem várias maneiras de manter os objetos flutuantes mais próximos de sua posição.
Veja esta ótima resposta sobre como funcionam os objetos flutuantes:
https://tex.stackexchange.com/a/39020/59716
Com a instrução de colocação opcional [!hp]
você não ganhará muito. Você tira algumas opções do LaTeX para colocar os objetos flutuantes, ou seja , b
and t
e add !
and h
.
O posicionamento padrão, se você não der nenhuma opção btp
, é , você pode alterar esse padrão com o pacote float:
\usepackage{float} \floatplacement{table}{htbp}
para adicionar h
como padrão.
Outro pacote que ajuda é o placeins
, que oferece o comando \FloatBarrier
, que força todos os carros alegóricos atuais a serem colocados antes dele.
Se você carregar assim:
\usepackage[section, below]{placeins}
um float nunca será executado em uma página que não pertença à sua seção.