[Tex/LaTex] Table captions are always placed below

captionsfloatrowfloatspositioning

I have a problem with table captions in LaTeX. They appear always below the tables instead of above as required by my editor. I've read lots of documentation and everybody says that if you place the \caption command before the begin-tabular like this:

\begin{figure}[h!]
  \caption{This caption is supposed to be above the table}
  \centering
    \begin{tabular}
     ...
    \end{tabular}
\end{figure}

you get it above the table. And, if you place it after the tabular, like this:

\begin{figure}[h!]
  \centering
    \begin{tabular}
     ...
    \end{tabular}
  \caption{This caption is supposed to be below the table}
\end{figure}

you get it below. Well. This is not working for me: my captions are ALWAYS placed below the table regardless of the position of my \caption command.

I assume this is something wrongly defined in the document template (I'm using book document template) but I can not find the right key to fix it. Can anyone help with this?

This is the preamble of my LaTeX document just in case it helps:

\documentclass[b5paper,11pt]{book}
\usepackage[total={14cm,21cm},top=1.5cm, left=1.5cm, includehead]{geometry}

\usepackage{epsfig}
\usepackage[ansinew]{inputenc}
\usepackage{harvard}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{floatrow}
\usepackage{estilo}

\citationstyle{dcu}

\pagestyle{myheadings}
\markboth{Prefacio}{Mi manual}

\newfloat{definicion}{h!}{loa}[chapter]
\floatname{definicion}{Definici\'on}
    \floatsetup[definicion]{framestyle=fbox,framearound=object,frameset={\fboxrule1pt \fboxsep10pt},framefit=yes}  

\begin{document}

...
etc.

Best Answer

This is caused by the floatrow package. If you don't use that package, the caption would be placed above.

With floatrow, I would use a table environment instead of figure and specify the table style:

\floatsetup[table]{capposition=top}