[Tex/LaTex] Table and Figure side-by-side with Table caption above, Figure caption below

floatrowpositioningsubcaptionsubfloats

A continuation of this question.

I'm fighting a page-limit in a single-column layout and I need to put a Figure and a Table side-by-side and provide them with independent captions. However, the style guide for the publishers (LNCS) wants Figure captions below and Table captions above (probably something to do with this).

=======================================================

If I adapt @lockstep's floatrow example from this question accordingly to have a Table caption above …

\documentclass{article}

\usepackage{floatrow}
% Table float box with bottom caption, box width adjusted to content

%% **********************************
%% just adding \captop to original example
%% **********************************
\newfloatcommand{capbtabbox}{table}[\captop][\FBwidth]

\usepackage{blindtext}


\begin{document}

\blindtext

\begin{figure}
\begin{floatrow}
\ffigbox{%
  \rule{3cm}{3cm}%
}{%
  \caption{A figure}%
}
\capbtabbox{%
  \begin{tabular}{cc} \hline
  Author & Title \\ \hline
  Knuth & The \TeX book \\
  Lamport & \LaTeX \\ \hline
  Knuth & The \TeX book \\
  Lamport & \LaTeX \\ \hline
  Knuth & The \TeX book \\
  Lamport & \LaTeX \\ \hline
  \end{tabular}
}{%
  \caption{A table}%
}
\end{floatrow}
\end{figure}

\end{document}

=======================================================

The problem becomes clear …

enter image description here

=======================================================

The floatrow doesn't correctly line up the Table and Caption. I reluctantly tried to use vspace to solve the problem, but it didn't work out.

Any suggestions on how to get these two to align? I'm happy to accept any alignment that ensures that the Table and Figure fit within the same "box".

(A similar-ish question was asked here, but specific for subfig and with a very localised problem it seems.)

Best Answer

If you want them vertically centered, you can use \CenterFloatBoxes, as in the following example:

\documentclass{article}
\usepackage{floatrow}
\usepackage[demo]{graphicx}

\begin{document}

\begin{figure}
\CenterFloatBoxes
\begin{floatrow}
\ffigbox
  {\includegraphics{image}}
  {\caption{A caption for a figure in a figure and a table side by side}\label{fig:test}}
\killfloatstyle
\ttabbox
  {\begin{tabular}{ll}
    \hline
    column1a & column2a \\
    column1b & column2b \\
    column1c & column2c \\
    \hline
  \end{tabular}
  }
  {\caption{A caption for a table in a figure and a table side by side}\label{tab:test}}
\end{floatrow}
\end{figure}

\end{document}

enter image description here

There's also \TopFloatBoxes for alignment at the top and \BottomFloatBoxes, for alignment at the bottom.

The demo option for graphicx simply replaces actual figures with black rectangles; do not use that option in your actual document.