In a simple setup that is
\documentclass{report}
\usepackage{amsmath,caption,wrapfig}
\usepackage{lipsum,blindtext}
\usepackage[demo]{graphicx}
\begin{document}
\lipsum[2]
\section{A Small Section}
\label{smallsec}
\lipsum[1]
\begin{wrapfigure}{r}{7.7cm}
\centering
\includegraphics[width=3in]{images/example.png}
\vspace*{-10 pt}
\captionsetup{font=scriptsize}
\caption{\blindtext[1]}
\label{wrapfig:label}
\end{wrapfigure}
\lipsum[3]
the output is the desired one and it is what it should. Here it is
1
BUT in my case, there is a gap above and below the figure and I can't find any answer.
To solve this, I can restrict the line numbers that I know, but I don't want to and remain flexible about the figure-caption.
Here's the relevant part of the code:
\section{A Simple Section}
\label{sec:label1}
\begin{wrapfigure}{r}{7.7cm}
\centering
\includegraphics[width=3in]{images/example.png}
\captionsetup{font=scriptsize}
\caption{Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi
auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et,
tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna,
vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse
ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et}
\label{wrapfig:label1}
\end{wrapfigure}
\qquad\lipsum[2]
\subsection*{An unnumbered Section}
% \label{nolabelreq}
\quad Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi
auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et,
tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna,
vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse
ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et.\vspace*{5mm}
\null\quad Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi
auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et,
tellus.
I've manually pasted some blindtext just to simulate my actual text length. The result is
2
My Preamble Contains these pkgs: adjustbox,amsmath,amssymb,biblatex,caption,csquotes,esint,fancyhdr,float,geometry,graphicx,hyperref,lipsum,multicol,parskip,placeins,subcaption,svg,titlesec,todonotes,wrapfig
And any scaling is done through the following
\usepackage[a4paper, margin=2.5 cm, top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
\setlength {\marginparwidth }{2cm}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\setlength{\headheight}{14.5pt}
Why is this happening and how to prevent this ?


\baselineskipapart. When you change font sizes or add blank space, it doesn't compensate. If you don't want to count lines you can use\wrapspacerto overlap it with blank lines (https://tex.stackexchange.com/questions/495675/make-wrapfigure-span-over-two-exsheets-questions/495707?r=SearchResults&s=2%7C0.0000#495707). – John Kormylo Jul 14 '23 at 15:19