如何改变浮动体前后与正文的间距

2019-08-26 11:26发布

[图]由于老师和队友看不顺眼LaTeX中浮动体前后的间距,想改变图表浮动体与前后文字的间距MWE如下:\documentclass{ctexart}\begin{document}啊啊啊啊啊啊啊啊啊啊啊啊啊...

由于老师和队友看不顺眼LaTeX中浮动体前后的间距,想改变图表浮动体与前后文字的间距

MWE如下:

\documentclass{ctexart}

\begin{document}

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

\begin{figure}[htbp]

\centering

我是图片

\caption{啊}

\end{figure}


啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

\begin{table}[htbp]

\centering

\caption{啊}

我是表格

\end{table}


啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

\end{document}

效果如下:

YK[AFXPT704J97XKBORYU`N.png

想实现图中4位置的间距不变,1、2、3处的间距归零。

4条回答
论坛 github.com/C
2020-03-16 11:14
提问中圈出的四个纵向间距, * 第 1 个 = `\intextsep` * 第 2 个 = `\intextsep + \belowcaptionskip + <正常行距>` * 第 3 个 = `\intextsep + \abovecaptionskip` * 第 4 个 = `\intextsep + <正常行距>` > 想实现图中4位置的间距不变,1、2、3处的间距归零。 - 在实践上,我觉得这个需求是离奇的。 - 在实现上,见下面的例子 ```tex \documentclass{ctexart} \makeatletter \newlength{\intextsep@default} \setlength{\intextsep@default}{\intextsep} \setlength{\intextsep}{0pt} \setlength{\abovecaptionskip}{0pt} \newlength{\textlinesep} \newcommand\removeTextLineSep{% \setlength{\textlinesep}{\dimexpr\baselineskip-\f@size pt\relax}% \vskip-\textlinesep } \newcommand{\restoreInTextSep}{% \vskip\intextsep@default } \makeatother \begin{document} 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 \begin{figure}[htbp] \centering 我是图片 \caption{啊} \removeTextLineSep \end{figure} 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 \begin{table}[htbp] \centering \caption{啊} 我是表格 \restoreInTextSep \end{table} 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 \end{document} ``` ![](https://pics.latexstudio.net/data/images/202003/15aac301c45f035.png) 如果使用了 `caption` 宏包,要注意使用宏包选项 `strut=off`,参见 - [CTeX-org/forum/issues/86 如何控制浮动体与前后文的间距? ](https://github.com/CTeX-org/forum/issues/86#issuecomment-570803581)

一周热门 更多>

相关问答