How to get caption above listing with minted?

The floatrow package will do the trick, but it must be loaded before minted to prevent it from loading the float package.

\documentclass[a4paper]{scrartcl}    
\usepackage{floatrow}
\usepackage{minted}    
\floatsetup[listing]{style=Plaintop}    
\begin{document}    
    \begin{listing}[H]    
        \caption{This is above the code.}    
        \inputminted{matlab}{myfile.m}    
        \label{lst:the-code}    
    \end{listing}    
\end{document}

enter image description here


The in January released 2.0 version of minted allows you to use the newfloat-package instead of the (rather old) float-package. If you want to use newfloat, the method for positioning the caption above the source is not the same as Jonas's but rather the following.

\documentclass[a4paper]{scrartcl}

\usepackage{caption}
\usepackage[newfloat]{minted}
\captionsetup[listing]{position=top}

\begin{document}

\begin{listing}[H]
    \caption{This is above the code.}
    \inputminted{matlab}{myfile.m}
    \label{lst:the-code}
\end{listing}

\end{document}

Minted-listing using newfloat


Important: you have to place the \caption-command above your source-code within the listing-float. The \captionsetup only applies correct spacing but you have to place the command at the right position yourself.