为表格内的图像添加字幕

为表格内的图像添加字幕

我想将三幅图像及其整体标题组合在一起,跨越两行,但不对称 - 本质上就像一个表格,其中顶行有两幅图像,第二行有一幅图像和标题,它们都对齐:

在此处输入图片描述

我可以使用蛮力来做到这一点并手动添加标题,但理想情况下,我想包含一个适当的标题命令,因为这包含在包含大量图片的文档中。有没有办法在表格环境中的单元格内放置标题?或者应该以其他方式完成?我注意到小页面或者子图方法可能有用,但这些线程中的布局并不是我想要的。

谢谢你!

答案1

这里有两种方法。第一种方法,我在图形环境中放置了 4 个小页面。第二种方法,我将图像及其标题放在图形环境中,tabularx并使用包中的命令在cellspace图像周围添加均匀的空白。

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx}

%%%% Only used for the second example %%%%
\usepackage{tabularx}
\usepackage{cellspace}
\addparagraphcolumntypes{X}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\addparagraphcolumntypes{Y}
\setlength\cellspacetoplimit{\tabcolsep}
\setlength\cellspacebottomlimit{\cellspacetoplimit}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\begin{figure}
\begin{minipage}{0.475\textwidth}
    \includegraphics[width=\linewidth]{example-image}
\end{minipage}\hfill
\begin{minipage}{0.475\textwidth}
    \includegraphics[width=\linewidth]{example-image}
\end{minipage}
\bigskip

\begin{minipage}{0.475\textwidth}
    \includegraphics[width=\linewidth]{example-image}
\end{minipage}\hfill
\begin{minipage}{0.475\textwidth}
    \caption{my caption text goes here my caption text goes here}
    \label{label}
\end{minipage}
\end{figure}


\begin{figure}
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{tabularx}{\textwidth}{@{}S{Y}S{Y}@{}}
\includegraphics[width=\linewidth]{example-image} 
& \includegraphics[width=\linewidth]{example-image} \\ 
\includegraphics[width=\linewidth]{example-image} 
& \caption{my caption text goes here my caption text goes here}\label{label} \\
\end{tabularx}
\end{figure}
\end{document}

答案2

这是一个使用\RawCaption以下命令的简单解决方案floatrow

\documentclass[11pt]{article}
\usepackage{mwe}
\usepackage[export]{adjustbox}
\usepackage{caption}
\captionsetup{labelfont=bf}
\usepackage{floatrow}
\usepackage{eqparbox} 

\begin{document}

\begin{figure}\raggedright
\includegraphics[scale=0.5,valign = c]{example-image-a} \qquad
\includegraphics[scale=0.5,valign = c]{example-image-b}\vspace{4ex}\par

\includegraphics[scale=0.5,valign = c]{example-image-c}\qquad
\parbox{6cm}%
{\hfill\RawCaption{\caption{Three images and the caption aligned like a table}\label{3images}}}
\end{figure}

\end{document} 

在此处输入图片描述

相关内容