你可能会说第二个问题重复了,关于如何控制浮动的位置,网上有很多讨论,但是都不符合我的需求,我想减少浮动元素的空白区域,同时浮动元素应该被文字包围,也就是说它不能放在顶部或底部,我想把它放在 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}
命令之前所在的位置)替换这些指令,您会惊讶地发现您可以恢复多少垂直空间。