我需要一个按这种方式排列的五个子图的图像。
我曾尝试使用 subfig 和 floatrow,但无法按照需要放置图形
答案1
minipage
您可以使用s 和subfigure
环境的组合(来自副标题包);一个小例子:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{minipage}{.33\textwidth}
\begin{subfigure}{\linewidth}
\centering
\includegraphics[width=.7\linewidth]{name1}
\caption{First subfigure}
\label{fig:sub1}
\end{subfigure}\\[1ex]
\begin{subfigure}{\linewidth}
\centering
\includegraphics[width=.7\linewidth]{name2}
\caption{Second subfigure}
\label{fig:sub2}
\end{subfigure}
\end{minipage}%
\begin{minipage}{.33\textwidth}
\begin{subfigure}{\linewidth}
\centering
\includegraphics[width=.7\linewidth]{name3}
\caption{Third subfigure}
\label{fig:sub3}
\end{subfigure}
\end{minipage}%
\begin{minipage}{.33\textwidth}
\begin{subfigure}{\linewidth}
\centering
\includegraphics[width=.7\linewidth]{name4}
\caption{Fourth subfigure}
\label{fig:sub4}
\end{subfigure}\\[1ex]
\begin{subfigure}{\linewidth}
\centering
\includegraphics[width=.7\linewidth]{name5}
\caption{Fifth subfigure}
\label{fig:sub5}
\end{subfigure}
\end{minipage}
\caption{Five subfigures}
\label{fig:test}
\end{figure}
\end{document}
我使用包demo
中的选项graphicx
将实际图形替换为黑色矩形,并使我的代码可供所有人编译;不是在实际代码中使用该选项。
答案2
你可以使用三个minipage
相邻的 s:
\documentclass{article}
\usepackage{caption,subcaption}
\begin{document}
\begin{figure}
\centering
\begin{minipage}{0.3\textwidth}
\subcaptionbox{A}{\rule{3cm}{3.5cm}}\\[1ex]
\subcaptionbox{B}{\rule{3cm}{3.5cm}}
\end{minipage}%
\begin{minipage}{0.3\textwidth}
\subcaptionbox{C}{\rule{3cm}{3.5cm}}
\end{minipage}%
\begin{minipage}{0.3\textwidth}
\subcaptionbox{D}{\rule{3cm}{3.5cm}}\\[1ex]
\subcaptionbox{E}{\rule{3cm}{3.5cm}}
\end{minipage}
\caption{Pictures!}
\end{figure}
\end{document}
答案3
使用subfig
包裹您可以使用tabular
s 来排列图像:
\documentclass{article}
\usepackage{subfig}% http://ctan.org/pkg/subfig
\begin{document}
\begin{figure}[ht]
\begin{tabular}{c}
\subfloat[subfigure 1]{\rule{100pt}{50pt}} \\
\subfloat[subfigure 2]{\rule{100pt}{50pt}}
\end{tabular} \hfill
\begin{tabular}[m]{c}
\subfloat[subfigure 3]{\rule{100pt}{50pt}}
\end{tabular} \hfill
\begin{tabular}{c}
\subfloat[subfigure 4]{\rule{100pt}{50pt}} \\
\subfloat[subfigure 5]{\rule{100pt}{50pt}}
\end{tabular}
\caption{bla bla bla bla bla bla}
\end{figure}
\end{document}
使用iddle的可选tabular
参数可获得子图的垂直对齐。按照建议使用 会将子图的列推到文本块的外边缘。如果您希望这些列间距均匀,请在第一列的左侧和最后一列的右侧使用 。或者,也可以使用固定间距,其中是任何可识别的 TeX 长度。[m]
m
\hfill
\null\hfill
\hfill\null
\hspace{<len>}
<len>
tabular
列规范必然会在列之间添加一点水平空间\tabcolsep
。如果您希望删除它(无论出于何种原因),您可以使用{@{}c@{}}
列规范代替{c}
。