在我的论文中,我需要将浮动元素放置在文本前后各三行的空间内。除了手动在前后插入段落分隔符外,还有其他方法可以做到这一点吗?
答案1
以下是浮动元素垂直间距的长度(来自layouts
包裹, 部分6.2 浮动布局详细):
您应该能够将长度\textfloatsep
和\intextsep
(也可能\floatsep
)设置为3\baselineskip
- 相当于三行文本:
\documentclass{article}
\usepackage[margin=0.5in]{geometry}% Just for this example
\usepackage{lipsum}
% For reference, here are the defaults, from the LaTeX kernel:
% https://www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/base/latex.ltx?view=co
% \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
% \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
% \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
% Adjust vertical separation between floats and...
\setlength{\floatsep}{3\baselineskip}% ...other floats
\setlength{\textfloatsep}{3\baselineskip}% ...text above or below
\setlength{\intextsep}{3\baselineskip}% ...text above and below
\begin{document}
\begin{figure}[!thb]
\caption{A top figure}
\end{figure}
\lipsum[1-3]
\begin{figure}[!htb]
\caption{An in-text figure}
\end{figure}
\lipsum[4-5]
\begin{figure}[!b]
\caption{A bottom figure}
\end{figure}
\lipsum[6-9]
\end{document}
请注意,这些默认长度会有所收缩/拉伸,以适应垂直页面结构,从而具有一定的灵活性。您可以考虑将它们添加回来,尽管这可能会在某些页面上稍微减少三行空间。