floatrow with subfloatrow and fcapside: adjust placement of captions

I want put two subcaptions using fcapside into one float. The captions should be placed near the respective figures and the two figures should be separated nicely. I tried the following code:

\documentclass{article}

\usepackage{caption,subcaption,floatrow}
\usepackage[demo]{graphicx}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

% \thisfloatsetup{capbesidesep=none}
\begin{figure}
\ffigbox[\textwidth]{
\begin{subfloatrow}[2]%\useFCwidth
\fcapside{\includegraphics[width=3cm,height=3cm]{test}}{\caption{}}
\fcapside{\includegraphics[width=1cm,height=3cm]{test}}{\caption{}}
\end{subfloatrow}
}{\caption{\blindtext}}
\end{figure}

\end{document}


This is the result:

The distance of (a) and (b) to the figures is too large but the figures could be spread more.

What can I do? I played around with almost all settings I could find in the manual. To be honest, having used LaTeX for several years, floatrow is still really hard to master...

-

You can use the \renewcommand\subfloatrowsep{\hskip 6\columnsep} to increase the figure separation.

\documentclass{article}

\usepackage{caption,subcaption,floatrow}
\usepackage[demo]{graphicx}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}
\thisfloatsetup{floatwidth=.35\hsize,%
capposition=beside,%
capbesideposition=left,%
capbesidesep=none}
\renewcommand\subfloatrowsep{\hskip 6\columnsep} % figure separation is done here

\begin{figure}
\ffigbox[\textwidth]{
\begin{subfloatrow}[2]\useFCwidth
\fcapside[\FBwidth]{\includegraphics[width=3cm,height=3cm]{test}}{\caption{}}%
\subfloatrowsep
\fcapside[\FBwidth]{\includegraphics[width=1cm,height=3cm]{test}}{\caption{}}%
\end{subfloatrow}}
{\caption{\blindtext}}
\end{figure}

\end{document}


In the above if you use some side caption text, you will blow up the layout. In such cases, the following can be used.

\documentclass{article}

\usepackage{caption,subcaption,floatrow}
\usepackage[demo]{graphicx}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}
\thisfloatsetup{floatwidth=.45\hsize,capbesidewidth=sidefil,
capposition=beside,capbesideposition=left,capbesidewidth=3.5cm,%subfloatrowsep={.2\FBwidth},%
capbesidesep=none,}
\renewcommand\subfloatrowsep{\hskip 1.5\columnsep} % figure separation is done here

\begin{figure}
\ffigbox[\textwidth]{
\begin{subfloatrow}[2]%\useFCwidth
\fcapside[\FBwidth]{\includegraphics[width=3cm,height=3cm]{test}}{\caption{This is caption for A}}%
\subfloatrowsep
\fcapside[\FBwidth]{\includegraphics[width=1cm,height=3cm]{test}}{\caption{This is caption for figure B that is long}}%
\end{subfloatrow}}
{\caption{\blindtext}}
\end{figure}

\end{document}


-
Thanks a lot! Is it maybe better to use \DeclareFloatSeparators{bigsep}{\hskip 10\columnsep} in the preamble and then set subfloatrowsep=bigsep within \thisfloatsetup instead of redefining \subfloatrowsep manually (and overwriting it for the rest of the document) and adding \subfloatrowsep between the \fcapside? – sebschub May 25 '12 at 7:58
@SebastianSchubert: Well if you have many floats that may a better idea. Everything depends on your needs. – Harish Kumar May 25 '12 at 8:49