latex two column layout set figure to load on single column
use the environment center
instead of figure. Of course you have to use \captionof{figure}{<text>}
or with the package caption \captionsetup{type=figure}
.
multicols
uses saveboxes
to split the contents. In this case you can't use any floating material.
Example with center
, captionof
and captionsetup
:
FYI: captionof
requires the package caption or capt-of or a documentclass of the KOMA Bundle; captionsetup
requires the package caption.
\documentclass[english,demo]{scrreprt}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{caption}
\begin{document}
\blindtext
\begin{multicols}{2}
\blindtext
\begin{center}
\includegraphics[height=60mm]{CC.jpg}
\captionof{figure}{AA \cite{BB}}
\end{center}
\blindtext[2]
\end{multicols}
\blindtext
\clearpage
\blindtext
\begin{multicols}{2}
\blindtext
\begin{center}
\captionsetup{type=figure}
\includegraphics[height=60mm]{CC.jpg}
\caption{AA \cite{BB}}
\end{center}
\blindtext[2]
\end{multicols}
\blindtext
\begin{thebibliography}{99}
\bibitem{BB} Name, Title
\end{thebibliography}
\end{document}
the figure
environment don't work inside the multicol
environment. You have to choose the \twocolumn
command or alternatively the package caption
and then
\begin{multicols}{2}
\begin{center}
\includegraphics[height=60mm]{CC.jpg}
\captionof{figure}{AA \cite{BB}}
\end{center}
\end{multicols}
However, if you want the image span both columns, then you have to split the multicol
environment:
\begin{multicols}{2}
foo
\end{multicols}
\begin{figure}[!ht]
\centering
\includegraphics[height=60mm]{CC.jpg}
\caption{AA \cite{BB}}
\end{figure}
\begin{multicols}{2}
bar
\end{multicols}