如果可能的话,我希望浮动元素出现在定义它们的同一页面的顶部(或底部),否则出现在上一页的底部(或如果它不适合上一页,则出现在尽可能靠近的任何位置)。
问题是 LaTeX 通常将图形发送到下一页的顶部,而不是将其放在当前页面的顶部或底部,在下一个示例中,我更希望 LaTeX 将图形放在第一页,即使定义它的位置被发送到第二页。
\documentclass{article}
\usepackage[a6paper]{geometry}
\usepackage{lipsum}
\begin{document}
First: \lipsum[1]
\begin{figure}[tb]
\begin{tabular}{l|l}
\hline
a & b \\ c & d \\ e & f \\ g & h \\
\hline
\end{tabular}
\caption{some figure}
\end{figure}
Second: \lipsum[2]
\end{document}
我正在寻找与该包相反的东西flafter
:使图形出现在当前页面或之前。有没有办法强制执行此行为?
答案1
浮点数不能向后移动,一旦输出一页,它就从 TeX 的内存中消失了,下一页上的浮点数不能影响它,为了将浮点数移动到上一页,您需要确保在输出页面之前 TeX 在源文件中可以看到环境。TeX 不会将整个文档保存在内存中,甚至不会读取整个输入文件,它会逐行读取文件并尽快输出页面。