如何创建非浮动子图环境?

如何创建非浮动子图环境?

我正在编写一个具有最大页数限制的文档类report。我倾向于远离表格和图形的浮动环境,因为我喜欢将它们放在我编码的位置(我尝试过[h],有时有效,有时无效)。例如,对于图形,我通常这样做:

\begin{center}
  \includegraphics[scale=0.6]{figure.png}
  \captionof{figure}{caption}
  \label{fig:figure}
\end{center}

但我必须为我的报告中的某些图片制作子图。以下是子图的代码:

\begin{figure}[h]
  \centering
  \begin{subfigure}{0.5\textwidth}
    \centering
    \includegraphics[width=\linewidth]{figure1.png}
    \caption{caption}
    \label{fig:figure1}
  \end{subfigure}
  \begin{subfigure}{0.5\textwidth}
    \centering
    \includegraphics[width=\linewidth]{figure2.png}
    \caption{figure2 caption}
    \label{fig:figure2}
  \end{subfigure}
  \caption{figures}
  \label{fig:figures}
\end{figure}

有没有办法将其转换为非浮动环境或某些包以确保它始终位于我编码的位置?

答案1

一个选项是使用minipages 并\captionofcaption包中通过包加载subcaption

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}

\captionsetup[subfigure]{labelformat=parens,labelsep=space}

\begin{document}

\noindent\begin{minipage}{\textwidth} 
\begin{minipage}{0.5\textwidth}
  \centering
  \includegraphics[width=.9\linewidth]{figure1.png}
  \captionof{subfigure}{caption}
  \label{fig:figure1}
\end{minipage}%
\begin{minipage}{0.5\textwidth}
  \centering 
  \includegraphics[width=.9\linewidth]{figure2.png} 
  \captionof{subfigure}{caption} 
  \label{fig:figure2} 
\end{minipage} 
\captionof{figure}{figures} 
\label{fig:figures} 
\end{minipage}

\end{document}

在此处输入图片描述

在评论中,要求使用 2x2 网格:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}

\captionsetup[subfigure]{labelformat=parens,labelsep=space}

\begin{document}

\noindent\begin{minipage}{\textwidth} 
\begin{minipage}{0.5\textwidth}
  \centering
  \includegraphics[width=.9\linewidth]{figure1.png}
  \captionof{subfigure}{caption}
  \label{fig:figure1}
\end{minipage}%
\begin{minipage}{0.5\textwidth}
  \centering 
  \includegraphics[width=.9\linewidth]{figure2.png} 
  \captionof{subfigure}{caption} 
  \label{fig:figure2} 
\end{minipage}\par
\begin{minipage}{0.5\textwidth}
  \centering
  \includegraphics[width=.9\linewidth]{figure1.png}
  \captionof{subfigure}{caption}
  \label{fig:figure3}
\end{minipage}%
\begin{minipage}{0.5\textwidth}
  \centering 
  \includegraphics[width=.9\linewidth]{figure2.png} 
  \captionof{subfigure}{caption} 
  \label{fig:figure4} 
\end{minipage} 
\captionof{figure}{figures} 
\label{fig:figures} 
\end{minipage}

\end{document}

在此处输入图片描述

选项demo只是graphicx用黑色矩形替换实际图形;不是在实际文档中使用该选项。

相关内容