我已阅读手册,因此并非在此胡闹。我真的不明白 的用法\clearpage
。尤其是它与 的区别\newpage
。一种常见的解释是它会“刷新”堆栈中所有待处理的浮点数。
这到底是什么意思?有人能用更简单的术语解释一下吗?
答案1
1)\newpage
可能意味着“开始新的一页”或“开始第二列”(当然,仅限于两列文档),而\clearpage
总是开始新的一页。
2)\newpage
仅在该点处中断页面(或列);但是\clearpage
,正如您所说,还会从堆栈中清除(即打印)所有待处理的浮点数前新页面的开始。这意味着“不要再等待打印我在此之前编码的该死的图表和表格”。这主要是在开始新的部分之前有意义,以防止将一个部分的某些图像或表格跳转到下一个部分的文本(但在中没有意义\chapter
,因为\clearpage
已经自动添加了)。
因此,在一列的简单长文本中,您可以看到两个命令的相同效果(仅仅是一个新页面),但在具有两列和/或浮动的文档中,您可能会看到明显的变化。
在下一个示例中,如果您切换到两列的文档,则第一个\newpage
将生成包含两列、两个段落和三个图像的第一页,但是,如果将其更改为\clearpage
,则将只有一列,其中包含一个段落并且没有图像。
撤消所有更改。您将看到最后一行文本后也有四幅图像,但更改第二行后,\newpage
所有\clearpage
图像都将打印在该行之前。现在区别更明显了吗?
\documentclass{article}
%\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{graphicx}
\begin{document}
\def\myfloat{\begin{figure}[htp]\includegraphics[scale=.1]{example-image}\end{figure}}
\lipsum[1]
\newpage % same as \clearpage? compare it in twocolumn mode !!
%\clearpage
\lipsum[2]
\myfloat\myfloat\myfloat\myfloat\myfloat\myfloat\myfloat\myfloat\myfloat
\newpage % last line in 2nd page, four floats go AFTER the last line.
%\clearpage % last line in 3th page , all floats printed before.
This is the last line.
\end{document}