如何在两列中排列奇数个数字

如何在两列中排列奇数个数字

我想在两列中排列 9 个子图(.png 文件)-第一列中有 5 个子图(a,b,c,d,e),第二列中有 4 个子图(f,g,h,i)-两列中的子图都填充相同量的垂直空间。

我目前尝试过的方法与(两个 Minipages,两次 itemize - 如何纠正对齐)。我没有使用 cmd,而是\begin{itemize}尝试将子图堆叠在一起,如下所示:

\documentclass[journal]{IEEEtran}
\usepackage{multicol}
% *** GRAPHICS RELATED PACKAGES ***
%
\ifCLASSINFOpdf
  \usepackage[pdftex]{graphicx}
% declare the path(s) where your graphic files are
  \graphicspath{{images/}}
% and their extensions so you won't have to specify these with
% every instance of \includegraphics
  \DeclareGraphicsExtensions{.pdf,.jpeg,.png}

% *** SUBFIGURE PACKAGES ***
\ifCLASSOPTIONcompsoc
  \usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf{subfig}
\else
  \usepackage[caption=false,font=footnotesize]{subfig}
\fi

% *** FLOAT PACKAGES ***
%
\usepackage{fixltx2e}

\begin{document}

\begin{figure*}
\begin{multicols}{2}
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(a).png}
    \label{fig:a}
    }
    \\
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(b).png}
    \label{fig:b}
    }
    \\
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(c).png}
    \label{fig:c}
    }
    \\
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(d).png}
    \label{fig:d}
    }
    \\
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(e).png}
    \label{fig:e}
    }

    \columnbreak

    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(f).png}
    \label{fig:f}
    }
    \\
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(g).png}
    \label{fig:g}
    }
    \\
    \subfloat{
    \includegraphics[width=0.45\textwidth]{IEEEtran/images/figure(h).png}
    \label{fig:h}
    }
\end{multicols}
\caption{dummy caption}
\end{figure*}

\end{document}

这似乎对单个列有效,尽管只对两个子图有效,之后第三、第四等子图会被“推”到下一列,而无需我指定。

在此处输入图片描述

当我像上面的代码一样添加所有 9 个子图时,编译后的文档根本不显示任何图像:

在此处输入图片描述

编辑:我正在使用 IEEE 为其交易期刊提供的模板。

答案1

不幸的是,您的问题没有提供一些重要信息(请参阅问题下方的评论)。您的图片似乎太大了,无法放在一页上。您需要相应地缩小它。

根据猜测,你可能正在寻找类似这样的内容:

在此处输入图片描述

我建议使用tabularx而不是multicolumn。使用它你可以更好地安排图像的位置。另外,不添加标题就给图像贴标签是没有意义的,所以我删除了它们:

\documentclass[demo]{IEEEtran}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage{subfig}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{figure*}
\setkeys{Gin}{width=\linewidth, 
              height=0.45\linewidth,
              keepaspectratio}
    \begin{tabularx}{\linewidth}{@{} XX @{}}
\subfloat{\includegraphics{IEEEtran/images/figure(a).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(b).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(c).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(d).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(e).png}}
    &
\subfloat{\includegraphics{IEEEtran/images/figure(f).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(g).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(h).png}}

\subfloat{\includegraphics{IEEEtran/images/figure(i).png}}
\end{tabularx}
\caption{dummy caption}
\end{figure*}
\end{document}

附录: 另一种可能性是将图像垂直居中定位在列中。在此示例中,为图像添加了子标题并为其添加了标签:

\documentclass[demo]{IEEEtran}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage{subfig}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{figure*}
\renewcommand\tabularxcolumn[1]{m{#1}}
\setkeys{Gin}{width=\linewidth, 
              height=0.44\linewidth,
              keepaspectratio}
    \begin{tabularx}{\linewidth}{@{} XX @{}}
\subfloat[\label{fig:a}]{\includegraphics{IEEEtran/images/figure(a).png}}

\subfloat[\label{fig:b}]{\includegraphics{IEEEtran/images/figure(b).png}}

\subfloat[\label{fig:c}]{\includegraphics{IEEEtran/images/figure(c).png}}

\subfloat[\label{fig:d}]{\includegraphics{IEEEtran/images/figure(d).png}}

\subfloat[\label{fig:e}]{\includegraphics{IEEEtran/images/figure(e).png}}
    &
\subfloat[\label{fig:f}]{\includegraphics{IEEEtran/images/figure(f).png}}

\subfloat[\label{fig:g}]{\includegraphics{IEEEtran/images/figure(g).png}}

\subfloat[\label{fig:h}]{\includegraphics{IEEEtran/images/figure(h).png}}

\subfloat[\label{fig:i}]{\includegraphics{IEEEtran/images/figure(i).png}}
\end{tabularx}
\caption{dummy caption}
\end{figure*}
\end{document}

在此处输入图片描述

相关内容