对 \clearpage 的更简单解释

对 \clearpage 的更简单解释

我已阅读手册,因此并非在此胡闹。我真的不明白 的用法\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}

相关内容