子图中无图形

子图中无图形

因此,我一直试图在一行中添加三张图片。当我仅使用“figure”函数时,如下所示

    \begin{figure}[t]
    \includegraphics[width=0.3\linewidth]{./Figures/img1}
    \includegraphics[width=0.3\linewidth]{./Figures/img2}
    \includegraphics[width=0.3\linewidth]{./Figures/img3}
    \end{figure}

我得到了我想要的结果。但是一旦我尝试使用这样的“子图”函数

\begin{figure}[t]
\begin{subfigure}
\includegraphics[width=0.3\linewidth]{./Figures/img1}
\end{subfigure}
\begin{subfigure}
\includegraphics[width=0.3\linewidth]{./Figures/img2}
\end{subfigure}
\begin{subfigure}
\includegraphics[width=0.3\linewidth]{./Figures/img3}
\end{subfigure}
\end{figure}

我只得到三个连续的空框,里面写着“relax.png”。此外,我还得到了一大堆错误,而当我只使用数字时,这些错误是不会出现的。

答案1

不要同时使用这两个包。

\documentclass{article}
\usepackage{subcaption}
\usepackage{subfigure}
\begin{document}
abc
\end{document}

会抛出错误

! LaTeX Error: Command \c@subfigure already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.113 \newcounter{subfigure}
                            [figure]

尽管

\documentclass{article}
\usepackage{subfigure}
\usepackage{subcaption}
\begin{document}
abc
\end{document}

抛出

! Package subcaption Error: This package can't be used in cooperation
(subcaption)                with the subfigure package.

See the subcaption package documentation for explanation.

subfigure软件包已被弃用,因此我建议subcaption使用。但它们的用法不同:

  • \usepackage{subfigure}:定义一个\subfigure宏,用作\subfigure[<subcaption>]{<figure>}
  • \usepackage{subcaption}:定义一个环境,用作

    \begin{subfigure}{<width>}
    <figure>
    \caption{<caption>}
    \end{subfigure}
    

    请注意,您必须为环境指定宽度,类似于minipage。因此,您的代码片段的工作版本将是

    \documentclass{article}
    \usepackage[demo]{graphicx}
    \usepackage{subcaption}
    \begin{document}
    \begin{figure}[t]
    \begin{subfigure}{0.3\linewidth}
    \includegraphics[width=\linewidth]{./Figures/img1}
    \end{subfigure}\hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics[width=\linewidth]{./Figures/img2}
    \end{subfigure}\hfill
    \begin{subfigure}{0.3\linewidth}
    \includegraphics[width=\linewidth]{./Figures/img3}
    \end{subfigure}
    \end{figure}
    \end{document}
    

答案2

使用subfigure包的官方用途是

\subfigure{\includegraphics[width=0.3\linewidth]{image}}

不是一个环境。

{}你可以使用以下环境\includegraphics

\begin{subfigure}
{\includegraphics[width=0.3\linewidth]{image}}
\end{subfigure}

相关内容