使用 \subfloat 并排显示子图

使用 \subfloat 并排显示子图

\subfloat我在表格 ( ) 中使用来tabular表示两列文档的两列中的 6 幅图像,如下所示。我没有收到错误消息,但是此图和其后的所有其他图像都不会出现在 pdf 文件中。

\begin{figure*}[h]
\centering
\begin{tabular}{ccc}
\subfloat[a]{\includegraphics[width=0.3\textwidth]{images/A.pdf}} & 
\subfloat[b]{\includegraphics[width=0.3\textwidth]{images/Bt.pdf}} &
\subfloat[c]{\includegraphics[width=0.3\textwidth]{images/C.pdf}} \\
\subfloat[d]{\includegraphics[width=0.3\textwidth]{images/D.pdf}} &
\subfloat[e]{\includegraphics[width=0.3\textwidth]{images/E.pdf}} &
\subfloat[f]{\includegraphics[width=0.3\textwidth]{images/F.pdf}}\\
\subfloat[g]{\includegraphics[width=0.3\textwidth]{images/G.pdf}} &
\subfloat[h]{\includegraphics[width=0.3\textwidth]{images/H.pdf}} &
\subfloat[i]{\includegraphics[width=0.3\textwidth]{images/I.pdf}} 
\end{tabular}
\caption[]{Description}
\label{fig:ABC}
\end{figure*}

我已经验证过,如果我只留下 3 幅图像,生成 PDF 时它就会出现。因此,这可能是与图形宽度相对于页面宽度有关的问题。

我试过用,subfigure但也没用。我试过更改.tex文档中的最大数字,但没有帮助。

我希望有某种解决方案,可以让我将 6 幅图像放在一个两列文档中的同一张图中,每幅图像下方都有一个捕获图像。

编辑 1:遵循一个重现我的问题的最小示例:

\RequirePackage{fix-cm}

\documentclass[twocolumn]{svjour3}% twocolumn

\journalname{Journal}

\usepackage[pdftex]{graphicx}
\graphicspath{{./images/}}
\DeclareGraphicsExtensions{.pdf}

\usepackage[cmex10]{amsmath}
\usepackage{algorithmic}
\usepackage[font=footnotesize, caption=false]{subfig}
\usepackage{url}
\usepackage{fixltx2e}
\usepackage{stfloats}
\usepackage{array}
\usepackage{multirow} 
\usepackage{color}
\usepackage{acronym}

\begin{document}

\title{X}

\author{ author }

\maketitle

\begin{figure*}[h]
\centering
  \begin{tabular}{ccc}
  \subfloat[a]{\includegraphics[width=0.35\textwidth]{images/a1.pdf}} &
  \subfloat[a]{\includegraphics[width=0.35\textwidth]{images/b1.pdf}} &
  \subfloat[a]{\includegraphics[width=0.35\textwidth]{images/c1.pdf}} \\
  \subfloat[a]{\includegraphics[width=0.35\textwidth]{images/d1.pdf}} &
  \subfloat[a]{\includegraphics[width=0.35\textwidth]{images/e1.pdf}} & 
  \subfloat[a]{\includegraphics[width=0.35\textwidth]{images/f1.pdf}} 
  \end{tabular}
\caption[]{Caption}
\label{fig:per}
\end{figure*}

\begin{figure*}[h]
\centering
\begin{tabular}{ccc}
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/a.pdf}} & 
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/b.pdf}} &
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/c.pdf}} \\
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/d.pdf}} &
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/e.pdf}} &
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/f.pdf}}\\
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/g.pdf}} &
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/h.pdf}} &
\subfloat[a]{\includegraphics[width=0.35\textwidth]{images/i.pdf}} 
\end{tabular}
\begin{tabular}{c}
\subfloat{\includegraphics[trim=0cm 0cm 0cm 11cm, clip=true, width=0.35\textwidth]{images/legend.pdf}} 
\end{tabular}
\caption[]{Caption}
\label{fig:rep}
\end{figure*}

\end{document}

编译结果为一页,其中有期刊名称、标题 x 和下方的作者。没有显示任何图像。

答案1

\subfloat行中的(第一个)可选参数缺少一个右方括号 square

\subfloat[f{\includegraphics[width=0.3\textwidth]{images/F.pdf}}\\

它应该是

\subfloat[f]{\includegraphics[width=0.3\textwidth]{images/F.pdf}}\\

但是,缺少的括号会触发错误消息,而您在问题中说没有产生错误?

完整示例:

\documentclass[twocolumn]{article}
\usepackage{subfig}
\usepackage[demo]{graphicx}

\begin{document}

\begin{figure*}[h]
\centering
\begin{tabular}{@{}ccc@{}}
\subfloat[a]{\includegraphics[width=0.3\textwidth]{images/A.pdf}} & 
\subfloat[b]{\includegraphics[width=0.3\textwidth]{images/Bt.pdf}} &
\subfloat[c]{\includegraphics[width=0.3\textwidth]{images/C.pdf}} \\
\subfloat[d]{\includegraphics[width=0.3\textwidth]{images/D.pdf}} &
\subfloat[e]{\includegraphics[width=0.3\textwidth]{images/E.pdf}} &
\subfloat[f]{\includegraphics[width=0.3\textwidth]{images/F.pdf}}\\
\subfloat[g]{\includegraphics[width=0.3\textwidth]{images/G.pdf}} &
\subfloat[h]{\includegraphics[width=0.3\textwidth]{images/H.pdf}} &
\subfloat[i]{\includegraphics[width=0.3\textwidth]{images/I.pdf}} 
\end{tabular}
\caption[]{Description}
\label{fig:ABC}
\end{figure*}

\end{document}

选项demo只是graphicx用黑色矩形替换实际图形;不是在实际文档中使用该选项。

输出:

在此处输入图片描述

答案2

在发布代码的最小版本后,我开始删除软件包,看看是否会发生什么。结果发现问题出在 \usepackage{stfloats} 上。注释掉这行后,所有图像都按应有的方式显示。

相关内容