编译以下代码
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1] aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa
aaaa
\lipsum[1]
\end{document}
正如预期的那样返回两个段落。
但如果在第一段之后放置图表,
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1] aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa
aaaa
\begin{figure}
\caption{A}
\end{figure}
\lipsum[1]
\end{document}
LaTeX 在两个段落之间插入垂直空格。
如果%
在第一段末尾添加一个 - 字符或在图片前添加一个空行,则垂直空间会消失,输出与第一个匹配。这似乎只发生在第一段以整行结尾时。
为什么会发生这种情况?因此每个浮点数前面都应该有一个空行吗?
答案1
figure
这和你从这里看到的并没有什么关系
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1] aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa
aaaa \mbox{}
\lipsum[1]
\end{document}
它实际上不是垂直空间,而是第一段的一条额外的全白线(如果发生分页符,您可以最轻松地看到差异,因为这是一个段落行,它不会像垂直空间那样放在页面顶部。
原始的段落结束过程会\unskip
删除段落末尾的空格,该空格通常来自行尾,但是您有 space-emptybox-space,因此最终在末尾得到了 space-emptybox,然后您很不幸在空格处得到了一个换行符,因此留下了这个框。
实际上figure
你得到的是一个 vadjust 节点而不是一个盒子,但它具有相同的效果。