带标题的图片表

带标题的图片表

我有一张带有四张图片的表格。

\begin{table}[ht]
\caption{table caption...}
\centering
\begin{tabular}{cc}
\includegraphics[width=45mm]{w.png} &\includegraphics[width=45mm]{x.png}\\
\newline
\includegraphics[width=45mm]{y.png}&\includegraphics[width=45mm]{z.png}\\
\end{tabular}
\end{table}

我想给每张图片添加标题。通常我会使用 将其放在includegraphics一个\begin{figure}块内来实现\caption{...}。但是当我这样做时,图片就消失了。

正确的方法是什么,以便我可以为每个图像添加标题。

答案1

或者您可以使用该subfig包:

\documentclass{article}

\usepackage{subfig}
\usepackage{graphicx}

\begin{document}

\begin{figure}
    \centering
    \subfloat[Caption 1]{
        \label{ref_label1}
        \includegraphics[width=0.5\textwidth]{example-image-a}
    }
    \subfloat[Caption 2]{
        \label{ref_label2}
        \includegraphics[width=0.5\textwidth]{example-image-b}
    }
    \caption{Overall caption}
    \label{ref_label_overall}
\end{figure}

\end{document}

答案2

您可以使用subcaption包,但我认为您不需要表格。您可以将所有内容嵌入到通用图形环境中并根据需要放置它们。请参阅手册。这是带表格的版本。

\documentclass{article}
\usepackage{mwe} % For dummy images
\usepackage{subcaption}
\begin{document}
{\centering
\begin{table}[ht]
\begin{tabular}{cc}
\begin{subfigure}{0.4\textwidth}\centering\includegraphics[width=0.3\columnwidth]{example-image-a}\caption{Figure A}\label{fig:taba}\end{subfigure}&
\begin{subfigure}{0.4\textwidth}\centering\includegraphics[width=0.3\columnwidth]{example-image-b}\caption{Figure B}\label{fig:tabb}\end{subfigure}\\
\newline
\begin{subfigure}{0.4\textwidth}\centering\includegraphics[width=0.3\columnwidth]{example-image-c}\caption{Figure C}\label{fig:tabc}\end{subfigure}&
\begin{subfigure}{0.4\textwidth}\centering\includegraphics[width=0.3\columnwidth]{example-image-a}\caption{Figure A again}\label{fig:taba2}\end{subfigure}\\
\end{tabular}
\caption{A table with figures}
\label{tab:mytable}
\end{table}
}

We can see that Figure \ref{fig:taba} and Figure \ref{fig:taba2} is the same. Also the table counter value is used for the reference.
\end{document}

在此处输入图片描述

答案3

你可以简单地使用capt-of提供独立captionof命令

\documentclass{book}
\usepackage[demo]{graphicx}
\usepackage{capt-of}
\usepackage{tabu}

\begin{document}

\begin{table}[ht]
\caption{Simple but not clever}
\centering
\begin{tabu}to \textwidth {X[c]X[c]}
  \includegraphics[width=45mm]{w.png}\captionof{figure}{fd} &\includegraphics[width=45mm]{x.png}\captionof{figure}{fd} \\
  \includegraphics[width=45mm]{y.png}\captionof{figure}{fd} &\includegraphics[width=45mm]{z.png}\captionof{figure}{fd} \\
\end{tabu}
\end{table}

\end{document}

在此处输入图片描述

这有两个缺点:首先它不够优雅,而且表格标题与第一张图片太接近了。在我看来,subfigsubcaption 解决方案之一要好得多。使用KOMA类时无需加载capt-of

答案4

根据上一个答案,如果您想使用具有多行的 subfig 包:

\usepackage{subfig}

...

\begin{figure}
  \centering
  \subfloat[Caption 1]{\label{ref_label1}\includegraphics[width=0.5\textwidth]{path/to/figure1}}
  \subfloat[Caption 2]{\label{ref_label2}\includegraphics[width=0.5\textwidth]{path/to/figure1}}
  % leave a blank space for a new row

  \subfloat[Caption 3]{\label{ref_label3}\includegraphics[width=0.5\textwidth]{path/to/figure3}}
  \subfloat[Caption 4]{\label{ref_label4}\includegraphics[width=0.5\textwidth]{path/to/figure4}}
  \caption{\label{ref_label_overall}Overall caption}
\end{figure}

相关内容