如何控制浮动元素实现紧凑输出?

如何控制浮动元素实现紧凑输出?

你可能会说第二个问题重复了,关于如何控制浮动的位置,网上有很多讨论,但是都不符合我的需求,我想减少浮动元素的空白区域,同时浮动元素应该被文字包围,也就是说它不能放在顶部或底部,我想把它放在 body 的中央,但我不在乎它浮动在文字之前还是之后。

答案1

因此,只是为了确保我正确理解了您的请求:您想将浮动元素放在页面中间,而不是放在顶部、底部或单独的页面上?

在这种情况下,你可能运气不好(但也许有人会证明我错了)。我相信 TeX 只支持“页面顶部”、“页面底部”和“仅包含浮动元素的单独页面”。当然还有“此处”,其中“此处”指的是你输入浮动元素的代码行(但通常不是页面的中心)。

我想说,最接近你要求的答案是使用

\usepackage{float}
...
\begin{figure}[H]

这会将图形精确地放置在您在源代码中输入的位置。它也可以在没有float包和\begin{figure}[h]修饰符的情况下工作(但这可能有其自己的正确和错误观念)。

此外,您可能还想调整文本和图形之间的空间。

我引用自http://www.eng.cam.ac.uk/help/tpl/textprocessing/float_hint.html

以下变量控制图形的垂直间距

\floatsep 带有文本的页面上浮动元素之间的分隔 \intextsep 浮动元素与文本之间的分隔

加上浮动页面的隐藏参数:

\@fptop 浮动页面顶部的空间 \@fpbot 浮动页面底部的 \@fpsep 空间 浮动页面上浮动元素之间的空间

图形与其下方标题之间的垂直空间为\abovecaptionskip(默认为 10pt),标题下方的垂直空间为\belowcaptionskip(0pt)。

[引用结束]。

该页面还包含有关如何配置页面顶部/底部浮动数量或单独浮动页面上应显示多少文本的更多详细信息。

您可能还想考虑http://people.cs.uu.nl/piet/floats/node1.html了解详情。

答案2

为了减少浮动元素上下的垂直间距,中间页面的顶部和底部都有文本,你可以将\intextsep宏的值更改为,例如,

\setlength\intextsep{1.25\baselineskip plus 2pt minus 4pt}

\intextsep在 TeX 术语中被称为“橡胶长度”,即它具有一定的可拉伸性和可压缩性。(确保此长度不是刚性的,对于 LaTeX 在构建整个页面时非常有帮助。)

另一个问题是:在文本浮动中,您是否可以使用\begin{center}...\end{center}来使内容居中?如果是这样,请尝试用单个\centering命令(\begin{center}命令之前所在的位置)替换这些指令,您会惊讶地发现您可以恢复多少垂直空间。

相关内容