如何将两个带有副标题的图形并排放置?

如何将两个带有副标题的图形并排放置?

我试图使用子图显示两个并排的图形,并附带标题,但它总是将一个图形放在另一个图形之下。

这是我的代码:

\documentclass{article}

\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{hyperref}
\usepackage{xcolor}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\centering

\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[width=0.7\linewidth]{apparatus.jpg}
\caption{A photograph of the apparatus used}
\label{fig:capparatus}
\end{subfigure}

\begin{subfigure}{0.5\textwidth}
\centering
\def\svgwidth{0.7\linewidth}
\input{diagram.pdf_tex}
%\includegraphics[width=0.7\linewidth]{diagram.pdf}
\caption{A diagram of the apparatus sited inside the evacuated chamber}
\label{fig:cdiagram}
\end{subfigure}

\caption{A graphical depiction of the setup}
\label{fig:csetup}
\end{figure}

\end{document}

我努力了:

  • 从 pdf_tex 更改为仅包含 pdf 文件(由 inkscape 生成)
  • 将 [h] 和 [b] 添加到子图中
  • 在第一和第二个子图后添加 %
  • 更改子图和图像的大小

但似乎没有什么能让它们显示在同一行。有人知道怎么做吗?

这是我使用 pdf_tex 的输出:

使用 pdf_tex

仅使用 pdf:

没有 pdf_tex

答案1

要并排显示图像,最好使用 subfig 包而不是 subcaption 包。两次调用 subfloat 之间不能有空格

\documentclass{article}

\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{hyperref}
\usepackage{xcolor}
\usepackage{subfig}

\begin{document}

\begin{figure}

\centering
\subfloat[A photograph of the apparatus used]{\label{fig:capparatus}
\centering
\includegraphics[width=0.45\linewidth]{apparatus.jpg}
}
%no space
\hfill
\subfloat[A diagram of the apparatus sited inside the evacuated chamber]{\label{fig:cdiagram}
\centering

\includegraphics[width=0.45\linewidth]{diagram.pdf}
}

\caption{A graphical depiction of the setup}
\label{fig:csetup}
\end{figure}

\end{document}

在此处输入图片描述

答案2

对于锻炼:

  • 正如前面提到的,问题的原因是两个subfigures 之间的尾随空格代码。您只需按照@Sigur 评论中的建议将其删除即可:****
  • 无关:
    • hyperref必须像极少数例外情况一样(就像cleveref包一样)必须在序言中加载(因为它必须纠正其他包的设置才能正常工作)。
    • 由于两个图像的宽度相同,您可以使用键Gin来定义它
    • subfigure如果规定更窄的宽度和相等的图像宽度,则可以获得更短的代码:
\documentclass{article}
\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{xcolor}
\usepackage{subcaption}
\usepackage{hyperref}   % had to loaded last

\begin{document}
    \begin{figure}[htb]
    \centering
    \setkeys{Gin}{width=\linewidth}
\begin{subfigure}{0.4\textwidth}
\includegraphics{example-image-duck}%{apparatus.jpg}
\caption{A photograph of the apparatus used}
\label{fig:capparatus}
\end{subfigure}% trailing space between `subfigure` environments  had to be removed
\hfil
\begin{subfigure}{0.4\textwidth}
\includegraphics{example-image-duck}%{diagram.pdf}
\caption{A diagram of the apparatus sited inside the evacuated chamber}
\label{fig:cdiagram}
\end{subfigure}
\caption{A graphical depiction of the setup}
\label{fig:csetup}
    \end{figure}
\end{document}

在此处输入图片描述

相关内容