在多列环境中并排获取带有子编号的子图

在多列环境中并排获取带有子编号的子图

这是我第一次在这里发帖,所以如果我的帖子有什么错误,请告诉我。

我试图在双列环境中并排显示三幅图(跨越两列),并且已经成功做到这一点,但这些图被编译为单独的(即编号为图 1、图 2、图 3,而不是 1.1、1.2、1.3)。我希望有子编号而不是不同的数字。该模板来自 Springer 期刊,因此我很难修改模板。诸如此类的事情似乎\usepackage{subcaption}与模板不兼容。

\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{times,mathptmx}
\usepackage{multicol}
\usepackage[version=3]{mhchem}
\begin{document}

\begin{figure*}[t]
\begin{multicols}{3}
    \includegraphics[width=\linewidth]{a}\par\caption{caption}
    \includegraphics[width=\linewidth]{b}\par\caption{caption}
    \includegraphics[width=\linewidth]{c}\par\caption{caption}
\end{multicols}
\end{figure*}

当我这样做时,我得到了三个并排的图,看起来不错,但我希望它们是子图,也就是说,总的来说,这三个图将是一个带有一个标题的图,然后会有三个子标签/标题。有人能帮我解决这个问题吗?这似乎是一个快速修复,但我被迫使用的模板是一场噩梦,我在网上找到的所有简单修复都导致程序崩溃。

谢谢你!

答案1

看看以下解决方案是否能满足您的需求:

\documentclass[twocolumn]{article}
\usepackage[demo]{graphicx} % in real document delete option "demo"
\usepackage{subcaption}% <--- new

\begin{document}
\begin{figure*}
\begin{subfigure}{.3\linewidth}
    \includegraphics[width=\linewidth]{a}
\caption{sub caption 1}
\label{fig:figure-a}
\end{subfigure}
\hfill
\begin{subfigure}{.3\linewidth}
    \includegraphics[width=\linewidth]{b}
\caption{sub caption 2}
\label{fig:figure-b}
\end{subfigure}
\hfill
\begin{subfigure}{.3\linewidth}
    \includegraphics[width=\linewidth]{c}
    \caption{sub caption 3}
\label{fig:figure-c}
\end{subfigure}
\caption{Figure caption}
\label{fig:figure}
    \end{figure*}
\end{document}

在此处输入图片描述

相关内容