我正在使用 IEEEtrans.cls 创建两列 IEEE 文章。我想将图像放在第一列的一个大图中,将其他四个较小的子图放在第二列中与第一个图对齐。使用 subfig 包,我编写了以下代码。
\documentclass[twocolumn,compsoc,journal]{IEEEtran}
\usepackage{graphicx}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\begin{document}
\begin{figure*}[tbhp]
\centering
\subfloat[]{\includegraphics[scale=0.7,width=.49\textwidth]{motivation01.pdf}
}\hfill
\subfloat[]{\includegraphics[width=.2\textwidth]{Freescale1.pdf}
}\hfill \subfloat[]{\includegraphics[scale=0.366,width=.2\textwidth]{Transport.pdf}
}\\
\subfloat[]{\includegraphics[scale=0.366]{nd24k.pdf}
}\hfill \subfloat[]{\includegraphics[scale=0.4]{tube1.pdf}
}
\caption{Sparsity Structure of some sparse matrices}
\label{freq} \end{figure*}
\end{document}
但我得到以下输出:
我们可以观察到子图没有对齐,我希望子图 (b) 和 (c) 与顶部的 (a) 对齐,子图 (d) 和 (e) 应与底部的 (a) 对齐。实现此目标的最佳方法是什么?
答案1
您需要minipage
为第一个子浮点数和其余子浮点数使用单独的环境。将每个的宽度设置为minipage
。\columnwidth
在右侧minipage
,选择适合您的设计需求的图形宽度;我选择了0.475\linewidth
;您应该将此选择视为一个起点。
\documentclass[twocolumn,compsoc,journal,demo]{IEEEtran} % remove 'demo' option in real doc.
\usepackage{graphicx}
\usepackage[caption=false,font=normalsize,
labelfont=sf,textfont=sf]{subfig}
\begin{document}
\begin{figure*}
\begin{minipage}[b]{\columnwidth}
\subfloat[]{\includegraphics[width=\columnwidth,height=\columnwidth]{motivation01.pdf}}
\end{minipage}
\hfill
\begin{minipage}[b]{\columnwidth}
\subfloat[]{\includegraphics[width=.475\linewidth]{Freescale1.pdf}}
\hfill
\subfloat[]{\includegraphics[width=.475\linewidth]{Transport.pdf}}
\subfloat[]{\includegraphics[width=.475\linewidth]{nd24k.pdf}}
\hfill
\subfloat[]{\includegraphics[width=.475\linewidth]{tube1.pdf}}
\end{minipage}
\caption{Sparsity Structure of some sparse matrices}
\label{freq}
\end{figure*}
\end{document}