将图形和算法放在同一页面上

将图形和算法放在同一页面上

如果我有以下 LaTeX 代码,是否可以将图形和算法结合起来,以便它们固定到一个公共页面上?

\begin{figure} [H]
\centering{\includegraphics[scale=1]{Figure.png}}
\caption{Figure.}
\label{fig:Figure}
\end{figure}

\begin{algorithm}[H]
 \algsetup{indent=2em}
    \begin{adjustwidth}{1em}{} 
        \begin{algorithmic}[1]
            \STATE $Line$ $of$ $code$
        \end{algorithmic}
        \caption{Algorithm.}
        \label{alg:Algorithm}
    \end{adjustwidth}
\end{algorithm}

给出类似这样的东西:

在此处输入图片描述

答案1

我会将其algorithm作为非浮点数放置 - 使用[H]浮点说明符 -里面浮点数figure

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum,graphicx}
\usepackage{algorithm,algorithmic}

\begin{document}

\lipsum[1-4]

\begin{figure}[tbp]
  \centering
  \includegraphics[width=.7\linewidth]{example-image}
  \caption{This is a figure}
  \label{fig:Figure}

  \bigskip% Insert a gap between the figure/algorithm

  \begin{algorithm}[H]
    \begin{algorithmic}[1]
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
      \STATE Line of code
    \end{algorithmic}
    \caption{This is an algorithm}
    \label{alg:Algorithm}
  \end{algorithm}
\end{figure}

\lipsum[5-20]

\end{document}

浮点[H]说明符将浮点数作为不可移动的块处理,从而可以将其嵌入另一个浮点数中(figure在上述情况下)。由于两个对象都包含在同一个浮点数中,因此它们将总是待在一起。

答案2

您可以使用subfig包将图形和算法放在同一个浮点中。您可以向每个图形添加标签和标题subfloat

\usepackage{subfig}
\begin{figure}
    \centering
    \subfloat[][a]{\includegraphics{<figure1>}}
    \subfloat[][b]{\begin{algorithmic}[1]\end{algorithmic}}
\end{figure}

或者使用subcaption

\usepackage{subcaption}
\begin{figure}
    \centering
    \begin{subfigure}[⟨pos⟩]{⟨width⟩} ... \end{subfigure}
    \begin{subfigure}[⟨pos⟩]{⟨width⟩} ... \end{subfigure}
\end{figure}

或者minipage,仍然可以添加子标题:

\begin{figure}
  \begin{minipage}[b]{.5\linewidth}
     \includegraphics{<figure1>}
  \end{minipage}
  \begin{minipage}[b]{.5\linewidth}
      \begin{algorithmic}[1]\end{algorithmic}
  \end{minipage}%
\end{figure}

或者以许多其他方式将您的algorithmic环境作为子图。

相关内容