I need to put 6 figures in two rows and 3 columns using \multicol, etc. But the numbering should be done for each column as in the following figure.
[Tex/LaTex] How to insert 6 figures in 3 columns each containing 2 figures
floatsmulticol
Related Solutions
There are several possibilities here.
Case A: ten subfigures
Three options: the first one, using the subfig
package; the second one, using the subcaption
package; the third one, using the floatrow
package.
Using subfig:
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}
\captionsetup[subfigure]{justification=raggedright}
\begin{document}
\begin{figure}
\centering
\subfloat[first subfigure]{\label{sfig:a}\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subfloat[second subfigure]{\label{sfig:b}\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subfloat[third subfigure]{\label{sfig:c}\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subfloat[fourth subfigure]{\label{sfig:d}\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subfloat[fifth subfigure]{\label{sfig:e}\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\\
\subfloat[sixth subfigure]{\label{sfig:f}\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subfloat[seventh subfigure]{\label{sfig:g}\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subfloat[eighth subfigure]{\label{sfig:h}\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subfloat[ninth subfigure]{\label{sfig:i}\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subfloat[tenth subfigure]{\label{sfig:j}\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\\
\caption{A figure with ten subfigures}
\label{fig:test}
\end{figure}
\end{document}
Using subcaption:
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\captionsetup[subfigure]{justification=raggedright}
\begin{document}
\begin{figure}
\centering
\subcaptionbox{first subfigure\label{sfig:a}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subcaptionbox{second subfigure\label{sfig:b}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subcaptionbox{third subfigure\label{sfig:c}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subcaptionbox{fourth subfigure\label{sfig:d}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\hfill
\subcaptionbox{fifth subfigure\label{sfig:e}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}\\
\subcaptionbox{sixth subfigure\label{sfig:f}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subcaptionbox{seventh subfigure\label{sfig:g}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subcaptionbox{eighth subfigure\label{sfig:h}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subcaptionbox{ninth subfigure\label{sfig:i}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\hfill
\subcaptionbox{tenth subfigure\label{sfig:j}}{\includegraphics[width=.18\textwidth,height=2cm]{example-image-b}}\\
\caption{A figure with ten subfigures}
\label{fig:test}
\end{figure}
\end{document}
Using floatrow:
\documentclass{article}
\usepackage{subcaption}
\usepackage{floatrow}
\usepackage{graphicx}
\renewcommand\subfloatrowsep{\hskip7pt}
\begin{document}
\begin{figure}
\captionsetup{justification=raggedright}
\ffigbox[\textwidth]{%
\begin{subfloatrow}[5]
\ffigbox[\FBwidth]{\caption{first subfigure}\label{sfig:a}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{second subfigure}\label{sfig:b}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{third subfigure}\label{sfig:c}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{fourth subfigure}\label{sfig:d}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{fifth subfigure}\label{sfig:e}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\end{subfloatrow}
\begin{subfloatrow}[5]
\ffigbox[\FBwidth]{\caption{sixth subfigure}\label{sfig:f}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{seventh subfigure}\label{sfig:g}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{eighth subfigure}\label{sfig:h}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{ninth subfigure}\label{sfig:i}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\ffigbox[\FBwidth]{\caption{tenth subfigure}\label{sfig:j}}
{\includegraphics[width=.18\textwidth,height=2cm]{example-image-a}}
\end{subfloatrow}
}{\caption{A figure with ten subfigures}\label{fig:test}}
\end{figure}
\end{document}
Case B: ten independent figures
If we are talking about an array of ten independent figures, ten minipage
s can be used.
If the whole construct should be allowed to float, the minipage
s can go inside a figure environment:
\documentclass{article}
\usepackage{caption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\captionsetup{justification=raggedright}
\centering
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{first figure}
\label{fig:a}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{second figure}
\label{fig:b}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{third figure}
\label{fig:c}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{fourth figure}
\label{fig:d}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{fifth figure}
\label{fig:e}
\end{minipage}\\
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{sixth figure}
\label{fig:f}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{seventh figure}
\label{fig:g}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{eighth figure}
\label{fig:h}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{ninth figure}
\label{fig:i}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\caption{tenth figure}
\label{fig:j}
\end{minipage}
\end{figure}
\end{document}
If the whole construct shouldn't be allowed to float, the ten minipage
s can go inside a minipage
environment (or a center
environment); in this situation, captions can be provided using \captionof
(from the caption
or capt-of
packages):
\documentclass{article}
\usepackage{caption}
\usepackage{graphicx}
\begin{document}
\noindent\begin{minipage}{\textwidth}
\captionsetup{justification=raggedright}
\centering
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{first figure}
\label{fig:a}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{second figure}
\label{fig:b}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{third figure}
\label{fig:c}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{fourth figure}
\label{fig:d}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{fifth figure}
\label{fig:e}
\end{minipage}\\
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{sixth figure}
\label{fig:f}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{seventh figure}
\label{fig:g}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{eighth figure}
\label{fig:h}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{ninth figure}
\label{fig:i}
\end{minipage}\hfill
\begin{minipage}[t]{.18\textwidth}
\includegraphics[width=\linewidth,height=2cm]{example-image-a}
\captionof{figure}{tenth figure}
\label{fig:j}
\end{minipage}
\end{minipage}
\end{document}
The OP requests an example, so here is one. I set each figure to .32\textwidth
, so that 3 of them not quite fill up a line. I place \hfill
between them to give even separation. I use \\
between lines.
All of this is within a minipage
of .5\textwidth
, though that doesn't necessarily make sense by itself inside a figure
environment, unless you were going to add a second minipage
to the same figure, so I added one as an example.
\documentclass[a4paper]{article}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\begin{minipage}{0.5\textwidth}
\includegraphics[width=.32\textwidth,height=1cm]{30}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{40}\\
\includegraphics[width=.32\textwidth,height=1cm]{20}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{40}\\
\includegraphics[width=.32\textwidth,height=1cm]{20}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{40}\\
\includegraphics[width=.32\textwidth,height=1cm]{20}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=1cm]{40}
\end{minipage}%
\fboxsep=-\fboxrule%
\fbox{\begin{minipage}{0.5\textwidth}
Here is a 2nd minipage in the same figure.
\end{minipage}}
\end{figure}
\end{document}
As Torbjorn suggests, if you want a full-width figure array, get rid of the minipage
.
\documentclass[a4paper]{article}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=.32\textwidth,height=2cm]{30}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{40}\\
\includegraphics[width=.32\textwidth,height=2cm]{20}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{40}\\
\includegraphics[width=.32\textwidth,height=2cm]{20}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{40}\\
\includegraphics[width=.32\textwidth,height=2cm]{20}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{37}\hfill%
\includegraphics[width=.32\textwidth,height=2cm]{40}
\end{figure}
\end{document}
Best Answer
You can use a combination of
minipage
andsubfigure
environment from thesubcaption
package: