双列布局中的子图宽度

双列布局中的子图宽度

我想要将两个图形并排放置在双列 LaTeX 文档的同一列中,但结果是两个图形一个在另一个之下。

\begin{figure}[H]
  \begin{subfigure}[b]{0.4\textwidth}
    \includegraphics[width=\textwidth]{cure.png}
    \caption{Picture 1}
    \label{fig:1}
  \end{subfigure}
  \hfill %%
  \begin{subfigure}[b]{0.4\textwidth}
    \includegraphics[width=\textwidth]{cluto.png}
    \caption{Picture 2}
    \label{fig:2}
  \end{subfigure}
\end{figure}

答案1

一般来说\textwidth是文本区域的总宽度,因此您不应该figure根据此宽度在双列布局中指定宽度(仅适用于figure*环境)。

如果希望图形仅跨越双列文档中的一列,请使用\columnwidth(请参阅egreg 的回答在这里原因)来代替。

简而言之:

\documentclass[twocolumn]{article}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{lipsum}

\begin{document}

\lipsum[1-3]

\begin{figure}
  \begin{subfigure}[b]{0.4\columnwidth}
    \includegraphics[width=\linewidth]{example-image-a}
    \caption{Picture 1}
    \label{fig:1}
  \end{subfigure}
  \hfill %%
  \begin{subfigure}[b]{0.4\columnwidth}
    \includegraphics[width=\linewidth]{example-image-b}
    \caption{Picture 2}
    \label{fig:2}
  \end{subfigure}
\end{figure}

\lipsum[4]

\end{document}

这将产生以下内容:

输出

相关内容