floatflt-删除顶部多余的空白

floatflt-删除顶部多余的空白

当我在文本中添加一个图形时floatfigure,我无法让它贴在文本主体的顶部边缘。总是会留下一些空白。我甚至试图查看包代码,但没有找到任何线索来了解它来自哪里。我该如何把它剪掉?

梅威瑟:

\documentclass[fontsize=11pt,russian,open=any]{scrbook}
\usepackage{cmap}
\usepackage[T2A]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{fancyhdr} 
\usepackage[paperwidth=14.8cm, paperheight=21.0cm, top=1.1cm, bottom=1.8cm, twoside, inner=0.9cm, outer=1.8cm, bindingoffset=0.5cm, footskip=1cm, headsep=0cm, headheight=0cm, voffset=0cm, hoffset=0cm, marginparsep=0cm, marginparwidth=0cm]{geometry}
\usepackage[demo]{graphicx} 
\usepackage{color}
\usepackage{microtype} 
\usepackage{adjustbox}
\usepackage[leadingfraction=1.0]{savetrees}
\usepackage{showframe}
\usepackage{floatflt}

\renewcommand{\baselinestretch}{0.95} 

\setlength{\intextsep}{0pt} 
\setlength{\textfloatsep}{0pt}

\setlength{\parindent}{1.25em} 

\raggedbottom

\begin{document}

\begin{floatingfigure}[l]{0.45\linewidth}
\includegraphics[height=15\baselineskip, width=0.4\linewidth]{dummy}
\vspace{\baselineskip}
\end{floatingfigure}

--- Нет-нет! Одну! И левретку! Или болонку. Или мопса... Или вообще...

--- Мопса!!!~--- Серафима умудрилась вложить в название этой породы всю силу своего негодования и презрения.~--- Мопса!!!.. Черепашку ещё предложи!!! На верёвочке!!!

Царевич поёжился, ибо именно черепашка и не успела сорваться с его языка. 

--- А п-почему~--- <<на верёвочке>>?

--- Чтоб не убежала!!!.. Послушай, Иванушка. Почему мы не можем съездить в гости к Ярославне? Или в Вондерланд? Или просто на недельку поохотиться в лес?

--- Но десять дней назад мы же выезжали на охоту!~--- ухватился Иван за безопасную тему.

--- Выезжали!~--- снова упёрла руки в бока и стала похожа на маленькую, разгневанную букву <<Ф>> Серафима.~--- Если не принимать во внимание, что охотились \emph{вы}, а мне с \emph{боярышнями\/} пришлось всё это время просидеть в шатре на платочках, чтобы не обгореть на палящем сентябрьском солнце и не запачкать платье об траву, то конечно, выезжали!

\end{document}

在此处输入图片描述

因为我总是需要在图表周围包裹多个段落,所以这个包提供了唯一可行的解​​决方案。如果有其他方法 - 我会很乐意测试它们。

答案1

找到这个间距有两个问题。floatflt包将图形放在当前行上,但提高了0.3\baselineskip。因此,最初您需要做的就是\vspace{-0.7\baselineskip}在浮动的开头添加一个,使其提高一个完整的基线跳跃。但是,在顶部这太多了,因为第一行的底部基本上是\topskip从文本区域的顶部开始的,所以我们需要将框向下推0.3\baselineskip和向上推\topskip

示例输出

\documentclass[fontsize=11pt,open=any]{scrbook}

\usepackage[demo]{graphicx} 
\usepackage{showframe}
\usepackage{floatflt}

\setlength{\figgutter}{0pt}

\raggedbottom

\usepackage{lipsum} %For dummy text

\begin{document}

\begin{floatingfigure}[l]{0.4\linewidth}%
  \vspace{\dimexpr0.3\baselineskip-\topskip}%
  \noindent
  \includegraphics[height=15\baselineskip,width=0.4\linewidth]{dummy}%
\end{floatingfigure}

\lipsum[1-5]
\end{document}

我已经从您的代码中删除了不相关的包。此外,\intextsep\textfloatsep在中不起作用floatflt。另一方面,\floatgutter指定浮动和文本之间的水平空间。在您的例子中,在您计算之前有一个段落缩进,我用取消了它\noindent

相关内容