前言
在做论文插图时除简单地横向竖向排列以外,有时需要更加复杂的方式,比如下图。实现的方法多种多样,其中 minipage, subfigure, subfloat, tabular 相对简单实用。
1. minipage
适用于对所有子图分别命名时。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}
\begin{document}
\begin{figure*}[!h]
\centering
\begin{minipage}[b]{0.45\linewidth}
\subfloat[Husky]{\label{fig:1(a)}
\includegraphics[width=2in]{dog_1.png}}
\end{minipage}
\begin{minipage}[b]{0.27\linewidth}
\subfloat[Tibetan Mastiff]{\label{fig:1(b)}
\includegraphics[width=1.15in]{dog_2.png}} \\ % 换行
\subfloat[Alaska]{\label{fig:1(c)}
\includegraphics[width=1.15in]{dog_3.png}} \\ % 换行
\subfloat[Labrador]{\label{fig:1(d)}
\includegraphics[width=1.15in]{dog_4.png}}
\end{minipage} % 中间不空行代表不换行
\begin{minipage}[b]{0.2\linewidth}
\subfloat[Pastoral]{\label{fig:1(e)}
\includegraphics[width=2in]{dog_5.png}}
\end{minipage}
\end{figure*}
\end{document}
2. subfloat
适用于一列子图只命名一次时。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{subfloat}
\begin{document}
\begin{figure*}[!h]
\centering
\subfloat[The first dog.]{
\begin{minipage}[b]{0.45\linewidth}
\includegraphics[width=2.02in]{dog_1.png}
\end{minipage}
} % 不空行表示不换行
\subfloat[The other dogs.]{
\begin{minipage}[b]{0.4\linewidth}
\includegraphics[width=1.47in]{dog_2.png}\vspace{0.75mm}
\includegraphics[width=1.47in]{dog_3.png}\vspace{0.75mm}
\includegraphics[width=1.47in]{dog_4.png}
\end{minipage}
}
\subfloat[The last dog.]{
\begin{minipage}[b]{0.5\linewidth}
\includegraphics[width=2.02in]{dog_5.png}
\end{minipage}
}
\end{figure*}
\end{document}
3. subfigure
与 subfloat 同理。注意:subfig 和 subfigure 包不能同时存在。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfigure}
\begin{document}
\begin{figure}[!h]
\centering
\subfigure[The first dog.]{
\begin{minipage}[b]{0.3\linewidth}
\includegraphics[width=1.38in]{dog_1.png}
\end{minipage}
} % 不空行表示不换行
\subfigure[The other dogs.]{
\begin{minipage}[b]{0.2\linewidth}
\includegraphics[width=1in]{dog_2.png}\vspace{0.75mm}
\includegraphics[width=1in]{dog_3.png}\vspace{0.75mm}
\includegraphics[width=1in]{dog_4.png}
\end{minipage}
}
\subfigure[The last dog.]{
\begin{minipage}[b]{0.3\linewidth}
\includegraphics[width=1.381in]{dog_5.png}
\end{minipage}
}
\end{figure}
\end{document}
4. tabular
适用于每个子图命名或整图命名时,但这种方法存在不对齐问题,尚未解决。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{figure*}[!h]
\centering
\begin{tabular}{ccc}
\multirow{3}{*}{\includegraphics[width=0.9in]{dog_1.png}} & \includegraphics[width=1in]{dog_2.png} & \multirow{3}{*}{\includegraphics[width=0.9in]{dog_5.png}} \\
~ & \includegraphics[width=1in]{dog_3.png} & ~ \\
~ & \includegraphics[width=1in]{dog_4.png} & ~ \\
\end{tabular}
\caption{Five dogs.}
\end{figure*}
\end{document}