这是对该问题的后续回答:文本前后三个空格处显示数字
根据我的博士论文要求,浮动元素(在本例中为图形)下方的间距需要在文本上方和下方各三行。现在,我遇到的问题是图形下方的间距大于三行。换句话说,下方有更多的空白空间。如果我使用宏
\setlength{\floatsep}{}
\setlength{\textfloatsep}{}
\setlength{\intextsep}{}
尝试修复此问题,将影响上方和下方的空间。我也尝试过 \belowcaptionskip,但它会弄乱一些浮动,标题会侵入脚注空间。
那么,我该如何使浮动元素下方的间距等于浮动元素上方的间距呢?
从我读到的内容来看,我认为图形环境会在后面插入一个 parskip (?),从而在图形下方添加一个额外的空格。有没有办法消除这种影响?
答案1
也许您需要提供一个最小工作示例来演示您的案例中的问题。否则,使用标准文档类,一切似乎都按预期工作。
我可以将你在问题中提到的三个长度设置为 3\baselineskip
秒,图形之间的间距固定为该长度。下面是一个示例,其中为图形添加了三个基线跳跃的大小规则作为参考。
此外,还caption
可以通过更改选项来改变标题后的底部belowskip
空间
\usepackage{caption}
\captionsetup[figure]{position=bottom,belowskip=-3pt}
代码
\documentclass{article}
\usepackage{graphicx}
\usepackage{kantlipsum}
\newsavebox\myimg
\newcommand\VRule[1][0pt]{\smash{\rule[#1]{1pt}{3\baselineskip}}}
\AtBeginDocument{%
\setlength\floatsep{3\baselineskip}%
\setlength\textfloatsep{3\baselineskip}%
\setlength\intextsep{3\baselineskip}
\setlength\parskip{0pt plus 12pt}}
\begin{document}
\sbox\myimg{\raisebox{-\totalheight}{%
\clap{\includegraphics[width=0.5\textwidth]{example-image}}}}%
\kant[5][1-2]
\begin{figure}[!h]
\centering
\VRule%
\usebox\myimg
\caption{\VRule[-3\baselineskip]In-text placement}%
\end{figure}
\kant[7][1]
\begin{figure}[!t]
\centering
\usebox\myimg
\caption{Top placement 1}
\end{figure}
\kant[9][1-2]\kant[10][1-2]
\begin{figure}[!t]
\centering
\VRule% <--- Vertical rule
\usebox\myimg
\caption{\VRule[-3\baselineskip]Top placement 2}
\end{figure}
\kant[11][1-5]\kant[12][1-2]
\end{document}