当在一个段落内连续放置两个浮动环境时(如下例所示),TeX 似乎会在最后一个浮动环境后插入一个额外的空格。
\documentclass{article}
\begin{document}
There is an additional space before this
\begin{figure}
\caption{A}
\end{figure}
\begin{figure}
\caption{B}
\end{figure}% <--- gets rid of extra space
word.
\end{document}
在最后一个数字后添加%
,去掉多余的空格。
这是什么原因呢?
答案1
造成“this”和“word”之间有额外字间空格的原因有两个。
%
第一个原因是输入行末尾缺少,即注释字符There is an additional space before this
。%
第二个原因是两行末尾都没有\end{figure}
。
在第一个或第三个可能位置的末尾提供一个%
字符就足以生成正常的单词间空格。%
在所有 3 行的末尾插入一个字符可以完全消除单词间空格。
附录总结一下评论中的一些想法:
在某种程度上,是你的编码选择不必要地导致了复杂性(例如额外的空格),然后你发现有必要修复它。在我看来,输入浮点数作为
There is an additional space before this \begin{figure} \caption{A} \end{figure} \begin{figure} \caption{B} \end{figure} word.
相反,正如@egreg 已经建议的那样,只需输入材料即可
There is an additional space before this word. \begin{figure}[ht!] \caption{A} \end{figure} \begin{figure}[ht!] \caption{B} \end{figure}
如果目的是让浮动元素靠近其前面的文本。
正如@DavidCarlisle 在下面的评论中所解释的那样,额外的单词间空白并不是 LaTeX 肆意将其放在那里的结果;事实上,它是你的奇怪的编码选择导致了额外的空白问题。虽然 TeX 和 LaTeX 可以成功丢弃连续的类型的多余空格
word word
,它们并未设置为找出并消除类型中不必要的空格word {} () word
,其中{}
形成一个空组。结果是:要么养成
%
在每个实例后添加的习惯\end{figure}
,要么开始更合理地编码,以便本文中讨论的空格问题永远不会出现。