[Tex/LaTex] Can’t get this caption right (wrapfig + floatrow)

captionsfloatrowwrapfigure

I'm trying to get a caption to span the figure width on a wrapfig environment. But for some reasons it just won't go. Here is my code and a graphical representation:

problem

\begin{wrapfigure}{R}{0.3\textwidth}    
  \vspace{-30pt}
  \label{fig:UbiContentClass}
  \ffigbox[\textwidth]
  {
    \caption{A classe que define Conteúdo Ubíquo}
  }
  {
    \includegraphics[width=\textwidth]{figs/UbiContentClass.png}
  }
  \vspace{-20pt}
\end{wrapfigure}

Best Answer

Use \ffigbox[\FBwidth] instead of \ffigbox[\textwidth]. This will equal the caption width to that of object. Here is a screen shot from floatrow documentation for more details.

enter image description here

The MWE for your case:

\documentclass{article}
\usepackage[demo]{graphicx} % Remove demo in your file
\usepackage{wrapfig,floatrow}
\usepackage{lipsum} % provides dummy text
%------------------------------------------
\begin{document}
\lipsum[1-2]
\begin{wrapfigure}{R}{0.3\textwidth}
%\vspace{-30pt} % why this space?
  \label{fig:UbiContentClass}
  \ffigbox[\FBwidth]
  {
    \caption{A classe que define Conteúdo Ubíquo}
  }
  {
    \includegraphics[width=\textwidth]{figs/UbiContentClass.png}
  }
%\vspace{-20pt} % why this space?
\end{wrapfigure}
\lipsum[2-3]    
%------------------------------------------
\end{document}

enter image description here

Related Question