如何在小页面中使用图形?

如何在小页面中使用图形?

我正在尝试添加一个图像,并使其居中,防止从下一页换行。以下代码可以实现这一点:

\begin{minipage}{\textwidth}
    \begin{center}
        Caption for image

        \includegraphics[scale=0.5]{myimage.png} 
    \end{center}
\end{minipage}

我希望这张图片能放在图中,并带有标题。以下内容无法编译:

\begin{minipage}{\textwidth}
    \begin{figure}
        \includegraphics[scale=0.5]{myimage.png}
        \caption{Caption for image}
        \label{fig:sample_figure}
    \end{figure}
\end{minipage}

我收到错误:

! LaTeX Error: Not in outer par mode.
! Undefined control sequence.

我怎样才能解决这个问题?

答案1

Figure是一个浮动的环境minipage,不幸的是,不是。因此,如果你将浮动对象放入非浮动对象中minipage,则会出现错误。但反过来也是可行的——你可以将对象放入环境minipagefigure

\begin{figure}
\centering
\begin{minipage}[c]{\textwidth}
\centering
    \includegraphics[width=3.0in]{example-image-a}
    \caption{Caption for image}
    \label{fig:sample_figure}
\end{minipage}
\end{figure}

另一种方法是完全避免使用figure。这可以借助caption包来完成​​(使用其captionof功能,以便您可以为图形添加标题):

.....in preamble
\usepackage{caption}

......in document body

\begin{minipage}[c]{\textwidth}
\centering
\includegraphics[width=3.0in]{example-image-a}
\captionof{figure}{Caption for image}
\label{fig:sample_figure}
\end{minipage}

总 mwe 为:

\documentclass{article}
\usepackage{mwe} % new package from Martin scharrer
\usepackage{caption}
\begin{document}

 \begin{figure}
 \centering
 \begin{minipage}[c]{\textwidth}
 \centering
        \includegraphics[width=3.0in]{example-image-a}
        \caption{Caption for image}
        \label{fig:sample_figure}
 \end{minipage}
 \end{figure}

 \noindent
\begin{minipage}[c]{\textwidth}
\centering
        \includegraphics[width=3.0in]{example-image-a}
        \captionof{figure}{Caption for image}
        \label{fig:sample_figure}
 \end{minipage}

\end{document}

其结果将是:

enter image description here

答案2

如果您使用“float”包,则可以将图形放在小页面中。下面将并排放置两个图形。如果您为它们添加标题,则标题将并排放置。

\usepackage{float}

 ...

  \begin{minipage}{\linewidth}
      \centering
      \begin{minipage}{0.45\linewidth}
          \begin{figure}[H]
              \includegraphics[width=\linewidth]{figures/dummy}
              \caption{This is the first figure}
          \end{figure}
      \end{minipage}
      \hspace{0.05\linewidth}
      \begin{minipage}{0.45\linewidth}
          \begin{figure}[H]
              \includegraphics[width=\linewidth]{figures/dummy}
              \caption{This is the second figure}
          \end{figure}
      \end{minipage}
  \end{minipage}

Two figures side by side using minipages

答案3

您可以尝试对两个并排的数字进行以下操作:

\begin{figure}[htb]
    \begin{minipage}[t]{.45\textwidth}
        \centering
        \includegraphics[width=\textwidth]{example-image-a}
        \subcaption{Image 1.}\label{fig:1}
    \end{minipage}
    \hfill
    \begin{minipage}[t]{.45\textwidth}
        \centering
        \includegraphics[width=\textwidth]{example-image-b}
        \subcaption{Image 2.}\label{fig:2}
    \end{minipage}  
    \label{fig:1-2}
    \caption{Title.}
\end{figure}

example 1

或者这样,并排显示 3 个数字:

\begin{figure}[htb]
    \begin{minipage}[t]{.3\textwidth}
        \centering
        \includegraphics[width=\textwidth]{images/1.png}
        \subcaption{Image 1.}\label{fig:1}
    \end{minipage}
    \hfill
    \begin{minipage}[t]{.3\textwidth}
        \centering
        \includegraphics[width=\textwidth]{images/2.png}
        \subcaption{Image 2.}\label{fig:2}
    \end{minipage}
    \hfill
    \begin{minipage}[t]{.3\textwidth}
        \centering
        \includegraphics[width=\textwidth]{images/rtk3.png}
        \subcaption{Image 3.}\label{fig:3}
    \end{minipage}  
    \label{fig:1-2-3}
    \caption{Title.}
\end{figure}

example 2

一旦子标题弄乱底部对齐,所有小页面都会按图形顶部对齐。

相关内容